const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/javascript-D_O3wrrF.js","assets/typescript-BFYmaC_k.js","assets/javascript-D978hYeW.js","assets/typescript-DPeMzbpM.js"])))=>i.map(i=>d[i]); var Qh=Object.defineProperty;var nu=n=>{throw TypeError(n)};var Jh=(n,e,t)=>e in n?Qh(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Ni=(n,e,t)=>Jh(n,typeof e!="symbol"?e+"":e,t),ou=(n,e,t)=>e.has(n)||nu("Cannot "+t);var Kn=(n,e,t)=>(ou(n,e,"read from private field"),t?t.call(n):e.get(n)),$o=(n,e,t)=>e.has(n)?nu("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(n):e.set(n,t),Mo=(n,e,t,i)=>(ou(n,e,"write to private field"),i?i.call(n,t):e.set(n,t),t);function __vite_legacy_guard(){import.meta.url,import("_").catch(()=>1),async function*(){}().next()}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const g of r)if(g.type==="childList")for(const y of g.addedNodes)y.tagName==="LINK"&&y.rel==="modulepreload"&&i(y)}).observe(document,{childList:!0,subtree:!0});function t(r){const g={};return r.integrity&&(g.integrity=r.integrity),r.referrerPolicy&&(g.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?g.credentials="include":r.crossOrigin==="anonymous"?g.credentials="omit":g.credentials="same-origin",g}function i(r){if(r.ep)return;r.ep=!0;const g=t(r);fetch(r.href,g)}})();/** * @vue/shared v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **//*! #__NO_SIDE_EFFECTS__ */function makeMap(n){const e=Object.create(null);for(const t of n.split(","))e[t]=1;return t=>t in e}const EMPTY_OBJ={},EMPTY_ARR=[],NOOP$1=()=>{},NO=()=>!1,isOn=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&(n.charCodeAt(2)>122||n.charCodeAt(2)<97),isModelListener=n=>n.startsWith("onUpdate:"),extend$1=Object.assign,remove=(n,e)=>{const t=n.indexOf(e);t>-1&&n.splice(t,1)},hasOwnProperty$m=Object.prototype.hasOwnProperty,hasOwn$1=(n,e)=>hasOwnProperty$m.call(n,e),isArray$4=Array.isArray,isMap$1=n=>toTypeString$1(n)==="[object Map]",isSet$1=n=>toTypeString$1(n)==="[object Set]",isDate$2=n=>toTypeString$1(n)==="[object Date]",isFunction$7=n=>typeof n=="function",isString$8=n=>typeof n=="string",isSymbol$1=n=>typeof n=="symbol",isObject$8=n=>n!==null&&typeof n=="object",isPromise$1=n=>(isObject$8(n)||isFunction$7(n))&&isFunction$7(n.then)&&isFunction$7(n.catch),objectToString$2=Object.prototype.toString,toTypeString$1=n=>objectToString$2.call(n),toRawType=n=>toTypeString$1(n).slice(8,-1),isPlainObject$2=n=>toTypeString$1(n)==="[object Object]",isIntegerKey=n=>isString$8(n)&&n!=="NaN"&&n[0]!=="-"&&""+parseInt(n,10)===n,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),cacheStringFunction$1=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},camelizeRE$1=/-(\w)/g,camelize$2=cacheStringFunction$1(n=>n.replace(camelizeRE$1,(e,t)=>t?t.toUpperCase():"")),hyphenateRE$1=/\B([A-Z])/g,hyphenate$1=cacheStringFunction$1(n=>n.replace(hyphenateRE$1,"-$1").toLowerCase()),capitalize$3=cacheStringFunction$1(n=>n.charAt(0).toUpperCase()+n.slice(1)),toHandlerKey=cacheStringFunction$1(n=>n?"on".concat(capitalize$3(n)):""),hasChanged=(n,e)=>!Object.is(n,e),invokeArrayFns=(n,...e)=>{for(let t=0;t{Object.defineProperty(n,e,{configurable:!0,enumerable:!1,writable:i,value:t})},looseToNumber=n=>{const e=parseFloat(n);return isNaN(e)?n:e},toNumber$1=n=>{const e=isString$8(n)?Number(n):NaN;return isNaN(e)?n:e};let _globalThis;const getGlobalThis=()=>_globalThis||(_globalThis=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function normalizeStyle(n){if(isArray$4(n)){const e={};for(let t=0;t{if(t){const i=t.split(propertyDelimiterRE);i.length>1&&(e[i[0].trim()]=i[1].trim())}}),e}function normalizeClass(n){let e="";if(isString$8(n))e=n;else if(isArray$4(n))for(let t=0;tlooseEqual(t,e))}const isRef$1=n=>!!(n&&n.__v_isRef===!0),toDisplayString=n=>isString$8(n)?n:n==null?"":isArray$4(n)||isObject$8(n)&&(n.toString===objectToString$2||!isFunction$7(n.toString))?isRef$1(n)?toDisplayString(n.value):JSON.stringify(n,replacer$2,2):String(n),replacer$2=(n,e)=>isRef$1(e)?replacer$2(n,e.value):isMap$1(e)?{["Map(".concat(e.size,")")]:[...e.entries()].reduce((t,[i,r],g)=>(t[stringifySymbol(i,g)+" =>"]=r,t),{})}:isSet$1(e)?{["Set(".concat(e.size,")")]:[...e.values()].map(t=>stringifySymbol(t))}:isSymbol$1(e)?stringifySymbol(e):isObject$8(e)&&!isArray$4(e)&&!isPlainObject$2(e)?String(e):e,stringifySymbol=(n,e="")=>{var t;return isSymbol$1(n)?"Symbol(".concat((t=n.description)!=null?t:e,")"):n};/** * @vue/reactivity v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let activeEffectScope;class EffectScope{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=activeEffectScope,!e&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes)for(e=0,t=this.scopes.length;e0&&--this._on===0&&(activeEffectScope=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){this._active=!1;let t,i;for(t=0,i=this.effects.length;t0)return;if(batchedComputed){let e=batchedComputed;for(batchedComputed=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let n;for(;batchedSub;){let e=batchedSub;for(batchedSub=void 0;e;){const t=e.next;if(e.next=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(i){n||(n=i)}e=t}}if(n)throw n}function prepareDeps(n){for(let e=n.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function cleanupDeps(n){let e,t=n.depsTail,i=t;for(;i;){const r=i.prevDep;i.version===-1?(i===t&&(t=r),removeSub(i),removeDep(i)):e=i,i.dep.activeLink=i.prevActiveLink,i.prevActiveLink=void 0,i=r}n.deps=e,n.depsTail=t}function isDirty(n){for(let e=n.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(refreshComputed(e.dep.computed)||e.dep.version!==e.version))return!0;return!!n._dirty}function refreshComputed(n){if(n.flags&4&&!(n.flags&16)||(n.flags&=-17,n.globalVersion===globalVersion)||(n.globalVersion=globalVersion,!n.isSSR&&n.flags&128&&(!n.deps&&!n._dirty||!isDirty(n))))return;n.flags|=2;const e=n.dep,t=activeSub,i=shouldTrack;activeSub=n,shouldTrack=!0;try{prepareDeps(n);const r=n.fn(n._value);(e.version===0||hasChanged(r,n._value))&&(n.flags|=128,n._value=r,e.version++)}catch(r){throw e.version++,r}finally{activeSub=t,shouldTrack=i,cleanupDeps(n),n.flags&=-3}}function removeSub(n,e=!1){const{dep:t,prevSub:i,nextSub:r}=n;if(i&&(i.nextSub=r,n.prevSub=void 0),r&&(r.prevSub=i,n.nextSub=void 0),t.subs===n&&(t.subs=i,!i&&t.computed)){t.computed.flags&=-5;for(let g=t.computed.deps;g;g=g.nextDep)removeSub(g,!0)}!e&&!--t.sc&&t.map&&t.map.delete(t.key)}function removeDep(n){const{prevDep:e,nextDep:t}=n;e&&(e.nextDep=t,n.prevDep=void 0),t&&(t.prevDep=e,n.nextDep=void 0)}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const n=trackStack.pop();shouldTrack=n===void 0?!0:n}function cleanupEffect(n){const{cleanup:e}=n;if(n.cleanup=void 0,e){const t=activeSub;activeSub=void 0;try{e()}finally{activeSub=t}}}let globalVersion=0,Link$5=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Dep$1=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!activeSub||!shouldTrack||activeSub===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==activeSub)t=this.activeLink=new Link$5(activeSub,this),activeSub.deps?(t.prevDep=activeSub.depsTail,activeSub.depsTail.nextDep=t,activeSub.depsTail=t):activeSub.deps=activeSub.depsTail=t,addSub(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){const i=t.nextDep;i.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=i),t.prevDep=activeSub.depsTail,t.nextDep=void 0,activeSub.depsTail.nextDep=t,activeSub.depsTail=t,activeSub.deps===t&&(activeSub.deps=i)}return t}trigger(e){this.version++,globalVersion++,this.notify(e)}notify(e){startBatch();try{for(let t=this.subs;t;t=t.prevSub)t.sub.notify()&&t.sub.dep.notify()}finally{endBatch()}}};function addSub(n){if(n.dep.sc++,n.sub.flags&4){const e=n.dep.computed;if(e&&!n.dep.subs){e.flags|=20;for(let i=e.deps;i;i=i.nextDep)addSub(i)}const t=n.dep.subs;t!==n&&(n.prevSub=t,t&&(t.nextSub=n)),n.dep.subs=n}}const targetMap=new WeakMap,ITERATE_KEY=Symbol(""),MAP_KEY_ITERATE_KEY=Symbol(""),ARRAY_ITERATE_KEY=Symbol("");function track(n,e,t){if(shouldTrack&&activeSub){let i=targetMap.get(n);i||targetMap.set(n,i=new Map);let r=i.get(t);r||(i.set(t,r=new Dep$1),r.map=i,r.key=t),r.track()}}function trigger(n,e,t,i,r,g){const y=targetMap.get(n);if(!y){globalVersion++;return}const k=L=>{L&&L.trigger()};if(startBatch(),e==="clear")y.forEach(k);else{const L=isArray$4(n),V=L&&isIntegerKey(t);if(L&&t==="length"){const z=Number(i);y.forEach((j,ie)=>{(ie==="length"||ie===ARRAY_ITERATE_KEY||!isSymbol$1(ie)&&ie>=z)&&k(j)})}else switch((t!==void 0||y.has(void 0))&&k(y.get(t)),V&&k(y.get(ARRAY_ITERATE_KEY)),e){case"add":L?V&&k(y.get("length")):(k(y.get(ITERATE_KEY)),isMap$1(n)&&k(y.get(MAP_KEY_ITERATE_KEY)));break;case"delete":L||(k(y.get(ITERATE_KEY)),isMap$1(n)&&k(y.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap$1(n)&&k(y.get(ITERATE_KEY));break}}endBatch()}function getDepFromReactive(n,e){const t=targetMap.get(n);return t&&t.get(e)}function reactiveReadArray(n){const e=toRaw(n);return e===n?e:(track(e,"iterate",ARRAY_ITERATE_KEY),isShallow(n)?e:e.map(toReactive))}function shallowReadArray(n){return track(n=toRaw(n),"iterate",ARRAY_ITERATE_KEY),n}const arrayInstrumentations={__proto__:null,[Symbol.iterator](){return iterator(this,Symbol.iterator,toReactive)},concat(...n){return reactiveReadArray(this).concat(...n.map(e=>isArray$4(e)?reactiveReadArray(e):e))},entries(){return iterator(this,"entries",n=>(n[1]=toReactive(n[1]),n))},every(n,e){return apply$3(this,"every",n,e,void 0,arguments)},filter(n,e){return apply$3(this,"filter",n,e,t=>t.map(toReactive),arguments)},find(n,e){return apply$3(this,"find",n,e,toReactive,arguments)},findIndex(n,e){return apply$3(this,"findIndex",n,e,void 0,arguments)},findLast(n,e){return apply$3(this,"findLast",n,e,toReactive,arguments)},findLastIndex(n,e){return apply$3(this,"findLastIndex",n,e,void 0,arguments)},forEach(n,e){return apply$3(this,"forEach",n,e,void 0,arguments)},includes(...n){return searchProxy(this,"includes",n)},indexOf(...n){return searchProxy(this,"indexOf",n)},join(n){return reactiveReadArray(this).join(n)},lastIndexOf(...n){return searchProxy(this,"lastIndexOf",n)},map(n,e){return apply$3(this,"map",n,e,void 0,arguments)},pop(){return noTracking(this,"pop")},push(...n){return noTracking(this,"push",n)},reduce(n,...e){return reduce(this,"reduce",n,e)},reduceRight(n,...e){return reduce(this,"reduceRight",n,e)},shift(){return noTracking(this,"shift")},some(n,e){return apply$3(this,"some",n,e,void 0,arguments)},splice(...n){return noTracking(this,"splice",n)},toReversed(){return reactiveReadArray(this).toReversed()},toSorted(n){return reactiveReadArray(this).toSorted(n)},toSpliced(...n){return reactiveReadArray(this).toSpliced(...n)},unshift(...n){return noTracking(this,"unshift",n)},values(){return iterator(this,"values",toReactive)}};function iterator(n,e,t){const i=shallowReadArray(n),r=i[e]();return i!==n&&!isShallow(n)&&(r._next=r.next,r.next=()=>{const g=r._next();return g.value&&(g.value=t(g.value)),g}),r}const arrayProto$1=Array.prototype;function apply$3(n,e,t,i,r,g){const y=shallowReadArray(n),k=y!==n&&!isShallow(n),L=y[e];if(L!==arrayProto$1[e]){const j=L.apply(n,g);return k?toReactive(j):j}let V=t;y!==n&&(k?V=function(j,ie){return t.call(this,toReactive(j),ie,n)}:t.length>2&&(V=function(j,ie){return t.call(this,j,ie,n)}));const z=L.call(y,V,i);return k&&r?r(z):z}function reduce(n,e,t,i){const r=shallowReadArray(n);let g=t;return r!==n&&(isShallow(n)?t.length>3&&(g=function(y,k,L){return t.call(this,y,k,L,n)}):g=function(y,k,L){return t.call(this,y,toReactive(k),L,n)}),r[e](g,...i)}function searchProxy(n,e,t){const i=toRaw(n);track(i,"iterate",ARRAY_ITERATE_KEY);const r=i[e](...t);return(r===-1||r===!1)&&isProxy(t[0])?(t[0]=toRaw(t[0]),i[e](...t)):r}function noTracking(n,e,t=[]){pauseTracking(),startBatch();const i=toRaw(n)[e].apply(n,t);return endBatch(),resetTracking(),i}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter(n=>n!=="arguments"&&n!=="caller").map(n=>Symbol[n]).filter(isSymbol$1));function hasOwnProperty$l(n){isSymbol$1(n)||(n=String(n));const e=toRaw(this);return track(e,"has",n),e.hasOwnProperty(n)}class BaseReactiveHandler{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,i){if(t==="__v_skip")return e.__v_skip;const r=this._isReadonly,g=this._isShallow;if(t==="__v_isReactive")return!r;if(t==="__v_isReadonly")return r;if(t==="__v_isShallow")return g;if(t==="__v_raw")return i===(r?g?shallowReadonlyMap:readonlyMap:g?shallowReactiveMap:reactiveMap).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(i)?e:void 0;const y=isArray$4(e);if(!r){let L;if(y&&(L=arrayInstrumentations[t]))return L;if(t==="hasOwnProperty")return hasOwnProperty$l}const k=Reflect.get(e,t,isRef(e)?e:i);return(isSymbol$1(t)?builtInSymbols.has(t):isNonTrackableKeys(t))||(r||track(e,"get",t),g)?k:isRef(k)?y&&isIntegerKey(t)?k:k.value:isObject$8(k)?r?readonly(k):reactive$1(k):k}}class MutableReactiveHandler extends BaseReactiveHandler{constructor(e=!1){super(!1,e)}set(e,t,i,r){let g=e[t];if(!this._isShallow){const L=isReadonly(g);if(!isShallow(i)&&!isReadonly(i)&&(g=toRaw(g),i=toRaw(i)),!isArray$4(e)&&isRef(g)&&!isRef(i))return L?!1:(g.value=i,!0)}const y=isArray$4(e)&&isIntegerKey(t)?Number(t)n,getProto=n=>Reflect.getPrototypeOf(n);function createIterableMethod(n,e,t){return function(...i){const r=this.__v_raw,g=toRaw(r),y=isMap$1(g),k=n==="entries"||n===Symbol.iterator&&y,L=n==="keys"&&y,V=r[n](...i),z=t?toShallow:e?toReadonly:toReactive;return!e&&track(g,"iterate",L?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:j,done:ie}=V.next();return ie?{value:j,done:ie}:{value:k?[z(j[0]),z(j[1])]:z(j),done:ie}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(n){return function(...e){return n==="delete"?!1:n==="clear"?void 0:this}}function createInstrumentations(n,e){const t={get(r){const g=this.__v_raw,y=toRaw(g),k=toRaw(r);n||(hasChanged(r,k)&&track(y,"get",r),track(y,"get",k));const{has:L}=getProto(y),V=e?toShallow:n?toReadonly:toReactive;if(L.call(y,r))return V(g.get(r));if(L.call(y,k))return V(g.get(k));g!==y&&g.get(r)},get size(){const r=this.__v_raw;return!n&&track(toRaw(r),"iterate",ITERATE_KEY),Reflect.get(r,"size",r)},has(r){const g=this.__v_raw,y=toRaw(g),k=toRaw(r);return n||(hasChanged(r,k)&&track(y,"has",r),track(y,"has",k)),r===k?g.has(r):g.has(r)||g.has(k)},forEach(r,g){const y=this,k=y.__v_raw,L=toRaw(k),V=e?toShallow:n?toReadonly:toReactive;return!n&&track(L,"iterate",ITERATE_KEY),k.forEach((z,j)=>r.call(g,V(z),V(j),y))}};return extend$1(t,n?{add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear")}:{add(r){!e&&!isShallow(r)&&!isReadonly(r)&&(r=toRaw(r));const g=toRaw(this);return getProto(g).has.call(g,r)||(g.add(r),trigger(g,"add",r,r)),this},set(r,g){!e&&!isShallow(g)&&!isReadonly(g)&&(g=toRaw(g));const y=toRaw(this),{has:k,get:L}=getProto(y);let V=k.call(y,r);V||(r=toRaw(r),V=k.call(y,r));const z=L.call(y,r);return y.set(r,g),V?hasChanged(g,z)&&trigger(y,"set",r,g):trigger(y,"add",r,g),this},delete(r){const g=toRaw(this),{has:y,get:k}=getProto(g);let L=y.call(g,r);L||(r=toRaw(r),L=y.call(g,r)),k&&k.call(g,r);const V=g.delete(r);return L&&trigger(g,"delete",r,void 0),V},clear(){const r=toRaw(this),g=r.size!==0,y=r.clear();return g&&trigger(r,"clear",void 0,void 0),y}}),["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=createIterableMethod(r,n,e)}),t}function createInstrumentationGetter(n,e){const t=createInstrumentations(n,e);return(i,r,g)=>r==="__v_isReactive"?!n:r==="__v_isReadonly"?n:r==="__v_raw"?i:Reflect.get(hasOwn$1(t,r)&&r in i?t:i,r,g)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},shallowReadonlyCollectionHandlers={get:createInstrumentationGetter(!0,!0)},reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(n){switch(n){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(n){return n.__v_skip||!Object.isExtensible(n)?0:targetTypeMap(toRawType(n))}function reactive$1(n){return isReadonly(n)?n:createReactiveObject(n,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(n){return createReactiveObject(n,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(n){return createReactiveObject(n,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function shallowReadonly(n){return createReactiveObject(n,!0,shallowReadonlyHandlers,shallowReadonlyCollectionHandlers,shallowReadonlyMap)}function createReactiveObject(n,e,t,i,r){if(!isObject$8(n)||n.__v_raw&&!(e&&n.__v_isReactive))return n;const g=getTargetType(n);if(g===0)return n;const y=r.get(n);if(y)return y;const k=new Proxy(n,g===2?i:t);return r.set(n,k),k}function isReactive(n){return isReadonly(n)?isReactive(n.__v_raw):!!(n&&n.__v_isReactive)}function isReadonly(n){return!!(n&&n.__v_isReadonly)}function isShallow(n){return!!(n&&n.__v_isShallow)}function isProxy(n){return n?!!n.__v_raw:!1}function toRaw(n){const e=n&&n.__v_raw;return e?toRaw(e):n}function markRaw(n){return!hasOwn$1(n,"__v_skip")&&Object.isExtensible(n)&&def(n,"__v_skip",!0),n}const toReactive=n=>isObject$8(n)?reactive$1(n):n,toReadonly=n=>isObject$8(n)?readonly(n):n;function isRef(n){return n?n.__v_isRef===!0:!1}function ref$1(n){return createRef$1(n,!1)}function shallowRef(n){return createRef$1(n,!0)}function createRef$1(n,e){return isRef(n)?n:new RefImpl(n,e)}class RefImpl{constructor(e,t){this.dep=new Dep$1,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:toRaw(e),this._value=t?e:toReactive(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,i=this.__v_isShallow||isShallow(e)||isReadonly(e);e=i?e:toRaw(e),hasChanged(e,t)&&(this._rawValue=e,this._value=i?e:toReactive(e),this.dep.trigger())}}function unref(n){return isRef(n)?n.value:n}const shallowUnwrapHandlers={get:(n,e,t)=>e==="__v_raw"?n:unref(Reflect.get(n,e,t)),set:(n,e,t,i)=>{const r=n[e];return isRef(r)&&!isRef(t)?(r.value=t,!0):Reflect.set(n,e,t,i)}};function proxyRefs(n){return isReactive(n)?n:new Proxy(n,shallowUnwrapHandlers)}class CustomRefImpl{constructor(e){this.__v_isRef=!0,this._value=void 0;const t=this.dep=new Dep$1,{get:i,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=i,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}}function customRef(n){return new CustomRefImpl(n)}function toRefs(n){const e=isArray$4(n)?new Array(n.length):{};for(const t in n)e[t]=propertyToRef(n,t);return e}class ObjectRefImpl{constructor(e,t,i){this._object=e,this._key=t,this._defaultValue=i,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}class GetterRefImpl{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function toRef(n,e,t){return isRef(n)?n:isFunction$7(n)?new GetterRefImpl(n):isObject$8(n)&&arguments.length>1?propertyToRef(n,e,t):ref$1(n)}function propertyToRef(n,e,t){const i=n[e];return isRef(i)?i:new ObjectRefImpl(n,e,t)}class ComputedRefImpl{constructor(e,t,i){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Dep$1(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=globalVersion-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=i}notify(){if(this.flags|=16,!(this.flags&8)&&activeSub!==this)return batch(this,!0),!0}get value(){const e=this.dep.track();return refreshComputed(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function computed$2(n,e,t=!1){let i,r;return isFunction$7(n)?i=n:(i=n.get,r=n.set),new ComputedRefImpl(i,r,t)}const INITIAL_WATCHER_VALUE={},cleanupMap=new WeakMap;let activeWatcher;function onWatcherCleanup(n,e=!1,t=activeWatcher){if(t){let i=cleanupMap.get(t);i||cleanupMap.set(t,i=[]),i.push(n)}}function watch$1(n,e,t=EMPTY_OBJ){const{immediate:i,deep:r,once:g,scheduler:y,augmentJob:k,call:L}=t,V=pe=>r?pe:isShallow(pe)||r===!1||r===0?traverse(pe,1):traverse(pe);let z,j,ie,oe,re=!1,ae=!1;if(isRef(n)?(j=()=>n.value,re=isShallow(n)):isReactive(n)?(j=()=>V(n),re=!0):isArray$4(n)?(ae=!0,re=n.some(pe=>isReactive(pe)||isShallow(pe)),j=()=>n.map(pe=>{if(isRef(pe))return pe.value;if(isReactive(pe))return V(pe);if(isFunction$7(pe))return L?L(pe,2):pe()})):isFunction$7(n)?e?j=L?()=>L(n,2):n:j=()=>{if(ie){pauseTracking();try{ie()}finally{resetTracking()}}const pe=activeWatcher;activeWatcher=z;try{return L?L(n,3,[oe]):n(oe)}finally{activeWatcher=pe}}:j=NOOP$1,e&&r){const pe=j,Ce=r===!0?1/0:r;j=()=>traverse(pe(),Ce)}const le=getCurrentScope(),de=()=>{z.stop(),le&&le.active&&remove(le.effects,z)};if(g&&e){const pe=e;e=(...Ce)=>{pe(...Ce),de()}}let ue=ae?new Array(n.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const he=pe=>{if(!(!(z.flags&1)||!z.dirty&&!pe))if(e){const Ce=z.run();if(r||re||(ae?Ce.some(($e,xe)=>hasChanged($e,ue[xe])):hasChanged(Ce,ue))){ie&&ie();const $e=activeWatcher;activeWatcher=z;try{const xe=[Ce,ue===INITIAL_WATCHER_VALUE?void 0:ae&&ue[0]===INITIAL_WATCHER_VALUE?[]:ue,oe];ue=Ce,L?L(e,3,xe):e(...xe)}finally{activeWatcher=$e}}}else z.run()};return k&&k(he),z=new ReactiveEffect(j),z.scheduler=y?()=>y(he,!1):he,oe=pe=>onWatcherCleanup(pe,!1,z),ie=z.onStop=()=>{const pe=cleanupMap.get(z);if(pe){if(L)L(pe,4);else for(const Ce of pe)Ce();cleanupMap.delete(z)}},e?i?he(!0):ue=z.run():y?y(he.bind(null,!0),!0):z.run(),de.pause=z.pause.bind(z),de.resume=z.resume.bind(z),de.stop=de,de}function traverse(n,e=1/0,t){if(e<=0||!isObject$8(n)||n.__v_skip||(t=t||new Set,t.has(n)))return n;if(t.add(n),e--,isRef(n))traverse(n.value,e,t);else if(isArray$4(n))for(let i=0;i{traverse(i,e,t)});else if(isPlainObject$2(n)){for(const i in n)traverse(n[i],e,t);for(const i of Object.getOwnPropertySymbols(n))Object.prototype.propertyIsEnumerable.call(n,i)&&traverse(n[i],e,t)}return n}/** * @vue/runtime-core v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const stack=[];let isWarning=!1;function warn$1(n,...e){if(isWarning)return;isWarning=!0,pauseTracking();const t=stack.length?stack[stack.length-1].component:null,i=t&&t.appContext.config.warnHandler,r=getComponentTrace();if(i)callWithErrorHandling(i,t,11,[n+e.map(g=>{var y,k;return(k=(y=g.toString)==null?void 0:y.call(g))!=null?k:JSON.stringify(g)}).join(""),t&&t.proxy,r.map(({vnode:g})=>"at <".concat(formatComponentName(t,g.type),">")).join("\n"),r]);else{const g=["[Vue warn]: ".concat(n),...e];r.length&&g.push("\n",...formatTrace(r)),console.warn(...g)}resetTracking(),isWarning=!1}function getComponentTrace(){let n=stack[stack.length-1];if(!n)return[];const e=[];for(;n;){const t=e[0];t&&t.vnode===n?t.recurseCount++:e.push({vnode:n,recurseCount:0});const i=n.component&&n.component.parent;n=i&&i.vnode}return e}function formatTrace(n){const e=[];return n.forEach((t,i)=>{e.push(...i===0?[]:["\n"],...formatTraceEntry(t))}),e}function formatTraceEntry({vnode:n,recurseCount:e}){const t=e>0?"... (".concat(e," recursive calls)"):"",i=n.component?n.component.parent==null:!1,r=" at <".concat(formatComponentName(n.component,n.type,i)),g=">"+t;return n.props?[r,...formatProps(n.props),g]:[r+g]}function formatProps(n){const e=[],t=Object.keys(n);return t.slice(0,3).forEach(i=>{e.push(...formatProp(i,n[i]))}),t.length>3&&e.push(" ..."),e}function formatProp(n,e,t){return isString$8(e)?(e=JSON.stringify(e),t?e:["".concat(n,"=").concat(e)]):typeof e=="number"||typeof e=="boolean"||e==null?t?e:["".concat(n,"=").concat(e)]:isRef(e)?(e=formatProp(n,toRaw(e.value),!0),t?e:["".concat(n,"=Ref<"),e,">"]):isFunction$7(e)?["".concat(n,"=fn").concat(e.name?"<".concat(e.name,">"):"")]:(e=toRaw(e),t?e:["".concat(n,"="),e])}function callWithErrorHandling(n,e,t,i){try{return i?n(...i):n()}catch(r){handleError(r,e,t)}}function callWithAsyncErrorHandling(n,e,t,i){if(isFunction$7(n)){const r=callWithErrorHandling(n,e,t,i);return r&&isPromise$1(r)&&r.catch(g=>{handleError(g,e,t)}),r}if(isArray$4(n)){const r=[];for(let g=0;g>>1,r=queue[i],g=getId(r);g=getId(t)?queue.push(n):queue.splice(findInsertionIndex$1(e),0,n),n.flags|=1,queueFlush()}}function queueFlush(){currentFlushPromise||(currentFlushPromise=resolvedPromise.then(flushJobs))}function queuePostFlushCb(n){isArray$4(n)?pendingPostFlushCbs.push(...n):activePostFlushCbs&&n.id===-1?activePostFlushCbs.splice(postFlushIndex+1,0,n):n.flags&1||(pendingPostFlushCbs.push(n),n.flags|=1),queueFlush()}function flushPreFlushCbs(n,e,t=flushIndex+1){for(;tgetId(t)-getId(i));if(pendingPostFlushCbs.length=0,activePostFlushCbs){activePostFlushCbs.push(...e);return}for(activePostFlushCbs=e,postFlushIndex=0;postFlushIndexn.id==null?n.flags&2?-1:1/0:n.id;function flushJobs(n){try{for(flushIndex=0;flushIndex{i._d&&setBlockTracking(-1);const g=setCurrentRenderingInstance(e);let y;try{y=n(...r)}finally{setCurrentRenderingInstance(g),i._d&&setBlockTracking(1)}return y};return i._n=!0,i._c=!0,i._d=!0,i}function withDirectives(n,e){if(currentRenderingInstance===null)return n;const t=getComponentPublicInstance(currentRenderingInstance),i=n.dirs||(n.dirs=[]);for(let r=0;rn.__isTeleport,isTeleportDisabled=n=>n&&(n.disabled||n.disabled===""),isTeleportDeferred=n=>n&&(n.defer||n.defer===""),isTargetSVG=n=>typeof SVGElement<"u"&&n instanceof SVGElement,isTargetMathML=n=>typeof MathMLElement=="function"&&n instanceof MathMLElement,resolveTarget=(n,e)=>{const t=n&&n.to;return isString$8(t)?e?e(t):null:t},TeleportImpl={name:"Teleport",__isTeleport:!0,process(n,e,t,i,r,g,y,k,L,V){const{mc:z,pc:j,pbc:ie,o:{insert:oe,querySelector:re,createText:ae,createComment:le}}=V,de=isTeleportDisabled(e.props);let{shapeFlag:ue,children:he,dynamicChildren:pe}=e;if(n==null){const Ce=e.el=ae(""),$e=e.anchor=ae("");oe(Ce,t,i),oe($e,t,i);const xe=(Ne,Fe)=>{ue&16&&(r&&r.isCE&&(r.ce._teleportTarget=Ne),z(he,Ne,Fe,r,g,y,k,L))},Ie=()=>{const Ne=e.target=resolveTarget(e.props,re),Fe=prepareAnchor(Ne,e,ae,oe);Ne&&(y!=="svg"&&isTargetSVG(Ne)?y="svg":y!=="mathml"&&isTargetMathML(Ne)&&(y="mathml"),de||(xe(Ne,Fe),updateCssVars(e,!1)))};de&&(xe(t,$e),updateCssVars(e,!0)),isTeleportDeferred(e.props)?(e.el.__isMounted=!1,queuePostRenderEffect(()=>{Ie(),delete e.el.__isMounted},g)):Ie()}else{if(isTeleportDeferred(e.props)&&n.el.__isMounted===!1){queuePostRenderEffect(()=>{TeleportImpl.process(n,e,t,i,r,g,y,k,L,V)},g);return}e.el=n.el,e.targetStart=n.targetStart;const Ce=e.anchor=n.anchor,$e=e.target=n.target,xe=e.targetAnchor=n.targetAnchor,Ie=isTeleportDisabled(n.props),Ne=Ie?t:$e,Fe=Ie?Ce:xe;if(y==="svg"||isTargetSVG($e)?y="svg":(y==="mathml"||isTargetMathML($e))&&(y="mathml"),pe?(ie(n.dynamicChildren,pe,Ne,r,g,y,k),traverseStaticChildren(n,e,!0)):L||j(n,e,Ne,Fe,r,g,y,k,!1),de)Ie?e.props&&n.props&&e.props.to!==n.props.to&&(e.props.to=n.props.to):moveTeleport(e,t,Ce,V,1);else if((e.props&&e.props.to)!==(n.props&&n.props.to)){const Ve=e.target=resolveTarget(e.props,re);Ve&&moveTeleport(e,Ve,null,V,0)}else Ie&&moveTeleport(e,$e,xe,V,1);updateCssVars(e,de)}},remove(n,e,t,{um:i,o:{remove:r}},g){const{shapeFlag:y,children:k,anchor:L,targetStart:V,targetAnchor:z,target:j,props:ie}=n;if(j&&(r(V),r(z)),g&&r(L),y&16){const oe=g||!isTeleportDisabled(ie);for(let re=0;re{n.isMounted=!0}),onBeforeUnmount(()=>{n.isUnmounting=!0}),n}const TransitionHookValidator=[Function,Array],BaseTransitionPropsValidators={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},recursiveGetSubtree=n=>{const e=n.subTree;return e.component?recursiveGetSubtree(e.component):e},BaseTransitionImpl={name:"BaseTransition",props:BaseTransitionPropsValidators,setup(n,{slots:e}){const t=getCurrentInstance$1(),i=useTransitionState();return()=>{const r=e.default&&getTransitionRawChildren(e.default(),!0);if(!r||!r.length)return;const g=findNonCommentChild(r),y=toRaw(n),{mode:k}=y;if(i.isLeaving)return emptyPlaceholder(g);const L=getInnerChild$1(g);if(!L)return emptyPlaceholder(g);let V=resolveTransitionHooks(L,y,i,t,j=>V=j);L.type!==Comment&&setTransitionHooks(L,V);let z=t.subTree&&getInnerChild$1(t.subTree);if(z&&z.type!==Comment&&!isSameVNodeType(L,z)&&recursiveGetSubtree(t).type!==Comment){let j=resolveTransitionHooks(z,y,i,t);if(setTransitionHooks(z,j),k==="out-in"&&L.type!==Comment)return i.isLeaving=!0,j.afterLeave=()=>{i.isLeaving=!1,t.job.flags&8||t.update(),delete j.afterLeave,z=void 0},emptyPlaceholder(g);k==="in-out"&&L.type!==Comment?j.delayLeave=(ie,oe,re)=>{const ae=getLeavingNodesForType(i,z);ae[String(z.key)]=z,ie[leaveCbKey]=()=>{oe(),ie[leaveCbKey]=void 0,delete V.delayedLeave,z=void 0},V.delayedLeave=()=>{re(),delete V.delayedLeave,z=void 0}}:z=void 0}else z&&(z=void 0);return g}}};function findNonCommentChild(n){let e=n[0];if(n.length>1){for(const t of n)if(t.type!==Comment){e=t;break}}return e}const BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(n,e){const{leavingVNodes:t}=n;let i=t.get(e.type);return i||(i=Object.create(null),t.set(e.type,i)),i}function resolveTransitionHooks(n,e,t,i,r){const{appear:g,mode:y,persisted:k=!1,onBeforeEnter:L,onEnter:V,onAfterEnter:z,onEnterCancelled:j,onBeforeLeave:ie,onLeave:oe,onAfterLeave:re,onLeaveCancelled:ae,onBeforeAppear:le,onAppear:de,onAfterAppear:ue,onAppearCancelled:he}=e,pe=String(n.key),Ce=getLeavingNodesForType(t,n),$e=(Ne,Fe)=>{Ne&&callWithAsyncErrorHandling(Ne,i,9,Fe)},xe=(Ne,Fe)=>{const Ve=Fe[1];$e(Ne,Fe),isArray$4(Ne)?Ne.every(Oe=>Oe.length<=1)&&Ve():Ne.length<=1&&Ve()},Ie={mode:y,persisted:k,beforeEnter(Ne){let Fe=L;if(!t.isMounted)if(g)Fe=le||L;else return;Ne[leaveCbKey]&&Ne[leaveCbKey](!0);const Ve=Ce[pe];Ve&&isSameVNodeType(n,Ve)&&Ve.el[leaveCbKey]&&Ve.el[leaveCbKey](),$e(Fe,[Ne])},enter(Ne){let Fe=V,Ve=z,Oe=j;if(!t.isMounted)if(g)Fe=de||V,Ve=ue||z,Oe=he||j;else return;let ze=!1;const qe=Ne[enterCbKey$1]=Ue=>{ze||(ze=!0,Ue?$e(Oe,[Ne]):$e(Ve,[Ne]),Ie.delayedLeave&&Ie.delayedLeave(),Ne[enterCbKey$1]=void 0)};Fe?xe(Fe,[Ne,qe]):qe()},leave(Ne,Fe){const Ve=String(n.key);if(Ne[enterCbKey$1]&&Ne[enterCbKey$1](!0),t.isUnmounting)return Fe();$e(ie,[Ne]);let Oe=!1;const ze=Ne[leaveCbKey]=qe=>{Oe||(Oe=!0,Fe(),qe?$e(ae,[Ne]):$e(re,[Ne]),Ne[leaveCbKey]=void 0,Ce[Ve]===n&&delete Ce[Ve])};Ce[Ve]=n,oe?xe(oe,[Ne,ze]):ze()},clone(Ne){const Fe=resolveTransitionHooks(Ne,e,t,i,r);return r&&r(Fe),Fe}};return Ie}function emptyPlaceholder(n){if(isKeepAlive(n))return n=cloneVNode(n),n.children=null,n}function getInnerChild$1(n){if(!isKeepAlive(n))return isTeleport(n.type)&&n.children?findNonCommentChild(n.children):n;if(n.component)return n.component.subTree;const{shapeFlag:e,children:t}=n;if(t){if(e&16)return t[0];if(e&32&&isFunction$7(t.default))return t.default()}}function setTransitionHooks(n,e){n.shapeFlag&6&&n.component?(n.transition=e,setTransitionHooks(n.component.subTree,e)):n.shapeFlag&128?(n.ssContent.transition=e.clone(n.ssContent),n.ssFallback.transition=e.clone(n.ssFallback)):n.transition=e}function getTransitionRawChildren(n,e=!1,t){let i=[],r=0;for(let g=0;g1)for(let g=0;gt.value,set:g=>t.value=g})}return t}function setRef(n,e,t,i,r=!1){if(isArray$4(n)){n.forEach((re,ae)=>setRef(re,e&&(isArray$4(e)?e[ae]:e),t,i,r));return}if(isAsyncWrapper(i)&&!r){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&setRef(n,e,t,i.component.subTree);return}const g=i.shapeFlag&4?getComponentPublicInstance(i.component):i.el,y=r?null:g,{i:k,r:L}=n,V=e&&e.r,z=k.refs===EMPTY_OBJ?k.refs={}:k.refs,j=k.setupState,ie=toRaw(j),oe=j===EMPTY_OBJ?()=>!1:re=>hasOwn$1(ie,re);if(V!=null&&V!==L&&(isString$8(V)?(z[V]=null,oe(V)&&(j[V]=null)):isRef(V)&&(V.value=null)),isFunction$7(L))callWithErrorHandling(L,k,12,[y,z]);else{const re=isString$8(L),ae=isRef(L);if(re||ae){const le=()=>{if(n.f){const de=re?oe(L)?j[L]:z[L]:L.value;r?isArray$4(de)&&remove(de,g):isArray$4(de)?de.includes(g)||de.push(g):re?(z[L]=[g],oe(L)&&(j[L]=z[L])):(L.value=[g],n.k&&(z[n.k]=L.value))}else re?(z[L]=y,oe(L)&&(j[L]=y)):ae&&(L.value=y,n.k&&(z[n.k]=y))};y?(le.id=-1,queuePostRenderEffect(le,t)):le()}}}getGlobalThis().requestIdleCallback;getGlobalThis().cancelIdleCallback;const isAsyncWrapper=n=>!!n.type.__asyncLoader,isKeepAlive=n=>n.type.__isKeepAlive;function onActivated(n,e){registerKeepAliveHook(n,"a",e)}function onDeactivated(n,e){registerKeepAliveHook(n,"da",e)}function registerKeepAliveHook(n,e,t=currentInstance){const i=n.__wdc||(n.__wdc=()=>{let r=t;for(;r;){if(r.isDeactivated)return;r=r.parent}return n()});if(injectHook(e,i,t),t){let r=t.parent;for(;r&&r.parent;)isKeepAlive(r.parent.vnode)&&injectToKeepAliveRoot(i,e,t,r),r=r.parent}}function injectToKeepAliveRoot(n,e,t,i){const r=injectHook(e,n,i,!0);onUnmounted(()=>{remove(i[e],r)},t)}function injectHook(n,e,t=currentInstance,i=!1){if(t){const r=t[n]||(t[n]=[]),g=e.__weh||(e.__weh=(...y)=>{pauseTracking();const k=setCurrentInstance$1(t),L=callWithAsyncErrorHandling(e,t,n,y);return k(),resetTracking(),L});return i?r.unshift(g):r.push(g),g}}const createHook=n=>(e,t=currentInstance)=>{(!isInSSRComponentSetup||n==="sp")&&injectHook(n,(...i)=>e(...i),t)},onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(n,e=currentInstance){injectHook("ec",n,e)}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(n,e){return resolveAsset(COMPONENTS,n,!0,e)||n}const NULL_DYNAMIC_COMPONENT=Symbol.for("v-ndc");function resolveDynamicComponent(n){return isString$8(n)?resolveAsset(COMPONENTS,n,!1)||n:n||NULL_DYNAMIC_COMPONENT}function resolveDirective(n){return resolveAsset(DIRECTIVES,n)}function resolveAsset(n,e,t=!0,i=!1){const r=currentRenderingInstance||currentInstance;if(r){const g=r.type;if(n===COMPONENTS){const k=getComponentName(g,!1);if(k&&(k===e||k===camelize$2(e)||k===capitalize$3(camelize$2(e))))return g}const y=resolve$2(r[n]||g[n],e)||resolve$2(r.appContext[n],e);return!y&&i?g:y}}function resolve$2(n,e){return n&&(n[e]||n[camelize$2(e)]||n[capitalize$3(camelize$2(e))])}function renderList(n,e,t,i){let r;const g=t,y=isArray$4(n);if(y||isString$8(n)){const k=y&&isReactive(n);let L=!1,V=!1;k&&(L=!isShallow(n),V=isReadonly(n),n=shallowReadArray(n)),r=new Array(n.length);for(let z=0,j=n.length;ze(k,L,void 0,g));else{const k=Object.keys(n);r=new Array(k.length);for(let L=0,V=k.length;L{const g=i.fn(...r);return g&&(g.key=i.key),g}:i.fn)}return n}function renderSlot(n,e,t={},i,r){if(currentRenderingInstance.ce||currentRenderingInstance.parent&&isAsyncWrapper(currentRenderingInstance.parent)&¤tRenderingInstance.parent.ce)return e!=="default"&&(t.name=e),openBlock(),createBlock(Fragment,null,[createVNode("slot",t,i&&i())],64);let g=n[e];g&&g._c&&(g._d=!1),openBlock();const y=g&&ensureValidVNode(g(t)),k=t.key||y&&y.key,L=createBlock(Fragment,{key:(k&&!isSymbol$1(k)?k:"_".concat(e))+(!y&&i?"_fb":"")},y||(i?i():[]),y&&n._===1?64:-2);return L.scopeId&&(L.slotScopeIds=[L.scopeId+"-s"]),g&&g._c&&(g._d=!0),L}function ensureValidVNode(n){return n.some(e=>isVNode(e)?!(e.type===Comment||e.type===Fragment&&!ensureValidVNode(e.children)):!0)?n:null}function toHandlers(n,e){const t={};for(const i in n)t[toHandlerKey(i)]=n[i];return t}const getPublicInstance=n=>n?isStatefulComponent(n)?getComponentPublicInstance(n):getPublicInstance(n.parent):null,publicPropertiesMap=extend$1(Object.create(null),{$:n=>n,$el:n=>n.vnode.el,$data:n=>n.data,$props:n=>n.props,$attrs:n=>n.attrs,$slots:n=>n.slots,$refs:n=>n.refs,$parent:n=>getPublicInstance(n.parent),$root:n=>getPublicInstance(n.root),$host:n=>n.ce,$emit:n=>n.emit,$options:n=>resolveMergedOptions(n),$forceUpdate:n=>n.f||(n.f=()=>{queueJob(n.update)}),$nextTick:n=>n.n||(n.n=nextTick.bind(n.proxy)),$watch:n=>instanceWatch.bind(n)}),hasSetupBinding=(n,e)=>n!==EMPTY_OBJ&&!n.__isScriptSetup&&hasOwn$1(n,e),PublicInstanceProxyHandlers={get({_:n},e){if(e==="__v_skip")return!0;const{ctx:t,setupState:i,data:r,props:g,accessCache:y,type:k,appContext:L}=n;let V;if(e[0]!=="$"){const oe=y[e];if(oe!==void 0)switch(oe){case 1:return i[e];case 2:return r[e];case 4:return t[e];case 3:return g[e]}else{if(hasSetupBinding(i,e))return y[e]=1,i[e];if(r!==EMPTY_OBJ&&hasOwn$1(r,e))return y[e]=2,r[e];if((V=n.propsOptions[0])&&hasOwn$1(V,e))return y[e]=3,g[e];if(t!==EMPTY_OBJ&&hasOwn$1(t,e))return y[e]=4,t[e];shouldCacheAccess&&(y[e]=0)}}const z=publicPropertiesMap[e];let j,ie;if(z)return e==="$attrs"&&track(n.attrs,"get",""),z(n);if((j=k.__cssModules)&&(j=j[e]))return j;if(t!==EMPTY_OBJ&&hasOwn$1(t,e))return y[e]=4,t[e];if(ie=L.config.globalProperties,hasOwn$1(ie,e))return ie[e]},set({_:n},e,t){const{data:i,setupState:r,ctx:g}=n;return hasSetupBinding(r,e)?(r[e]=t,!0):i!==EMPTY_OBJ&&hasOwn$1(i,e)?(i[e]=t,!0):hasOwn$1(n.props,e)||e[0]==="$"&&e.slice(1)in n?!1:(g[e]=t,!0)},has({_:{data:n,setupState:e,accessCache:t,ctx:i,appContext:r,propsOptions:g}},y){let k;return!!t[y]||n!==EMPTY_OBJ&&hasOwn$1(n,y)||hasSetupBinding(e,y)||(k=g[0])&&hasOwn$1(k,y)||hasOwn$1(i,y)||hasOwn$1(publicPropertiesMap,y)||hasOwn$1(r.config.globalProperties,y)},defineProperty(n,e,t){return t.get!=null?n._.accessCache[e]=0:hasOwn$1(t,"value")&&this.set(n,e,t.value,null),Reflect.defineProperty(n,e,t)}};function useSlots(){return getContext().slots}function useAttrs$1(){return getContext().attrs}function getContext(){const n=getCurrentInstance$1();return n.setupContext||(n.setupContext=createSetupContext(n))}function normalizePropsOrEmits(n){return isArray$4(n)?n.reduce((e,t)=>(e[t]=null,e),{}):n}function mergeDefaults(n,e){const t=normalizePropsOrEmits(n);for(const i in e){if(i.startsWith("__skip"))continue;let r=t[i];r?isArray$4(r)||isFunction$7(r)?r=t[i]={type:r,default:e[i]}:r.default=e[i]:r===null&&(r=t[i]={default:e[i]}),r&&e["__skip_".concat(i)]&&(r.skipFactory=!0)}return t}function mergeModels(n,e){return!n||!e?n||e:isArray$4(n)&&isArray$4(e)?n.concat(e):extend$1({},normalizePropsOrEmits(n),normalizePropsOrEmits(e))}let shouldCacheAccess=!0;function applyOptions(n){const e=resolveMergedOptions(n),t=n.proxy,i=n.ctx;shouldCacheAccess=!1,e.beforeCreate&&callHook$1(e.beforeCreate,n,"bc");const{data:r,computed:g,methods:y,watch:k,provide:L,inject:V,created:z,beforeMount:j,mounted:ie,beforeUpdate:oe,updated:re,activated:ae,deactivated:le,beforeDestroy:de,beforeUnmount:ue,destroyed:he,unmounted:pe,render:Ce,renderTracked:$e,renderTriggered:xe,errorCaptured:Ie,serverPrefetch:Ne,expose:Fe,inheritAttrs:Ve,components:Oe,directives:ze,filters:qe}=e;if(V&&resolveInjections(V,i,null),y)for(const At in y){const Lt=y[At];isFunction$7(Lt)&&(i[At]=Lt.bind(t))}if(r){const At=r.call(t,t);isObject$8(At)&&(n.data=reactive$1(At))}if(shouldCacheAccess=!0,g)for(const At in g){const Lt=g[At],kt=isFunction$7(Lt)?Lt.bind(t,t):isFunction$7(Lt.get)?Lt.get.bind(t,t):NOOP$1,ei=!isFunction$7(Lt)&&isFunction$7(Lt.set)?Lt.set.bind(t):NOOP$1,jt=computed$1({get:kt,set:ei});Object.defineProperty(i,At,{enumerable:!0,configurable:!0,get:()=>jt.value,set:ri=>jt.value=ri})}if(k)for(const At in k)createWatcher(k[At],i,t,At);if(L){const At=isFunction$7(L)?L.call(t):L;Reflect.ownKeys(At).forEach(Lt=>{provide(Lt,At[Lt])})}z&&callHook$1(z,n,"c");function Et(At,Lt){isArray$4(Lt)?Lt.forEach(kt=>At(kt.bind(t))):Lt&&At(Lt.bind(t))}if(Et(onBeforeMount,j),Et(onMounted,ie),Et(onBeforeUpdate,oe),Et(onUpdated,re),Et(onActivated,ae),Et(onDeactivated,le),Et(onErrorCaptured,Ie),Et(onRenderTracked,$e),Et(onRenderTriggered,xe),Et(onBeforeUnmount,ue),Et(onUnmounted,pe),Et(onServerPrefetch,Ne),isArray$4(Fe))if(Fe.length){const At=n.exposed||(n.exposed={});Fe.forEach(Lt=>{Object.defineProperty(At,Lt,{get:()=>t[Lt],set:kt=>t[Lt]=kt})})}else n.exposed||(n.exposed={});Ce&&n.render===NOOP$1&&(n.render=Ce),Ve!=null&&(n.inheritAttrs=Ve),Oe&&(n.components=Oe),ze&&(n.directives=ze),Ne&&markAsyncBoundary(n)}function resolveInjections(n,e,t=NOOP$1){isArray$4(n)&&(n=normalizeInject(n));for(const i in n){const r=n[i];let g;isObject$8(r)?"default"in r?g=inject(r.from||i,r.default,!0):g=inject(r.from||i):g=inject(r),isRef(g)?Object.defineProperty(e,i,{enumerable:!0,configurable:!0,get:()=>g.value,set:y=>g.value=y}):e[i]=g}}function callHook$1(n,e,t){callWithAsyncErrorHandling(isArray$4(n)?n.map(i=>i.bind(e.proxy)):n.bind(e.proxy),e,t)}function createWatcher(n,e,t,i){let r=i.includes(".")?createPathGetter(t,i):()=>t[i];if(isString$8(n)){const g=e[n];isFunction$7(g)&&watch(r,g)}else if(isFunction$7(n))watch(r,n.bind(t));else if(isObject$8(n))if(isArray$4(n))n.forEach(g=>createWatcher(g,e,t,i));else{const g=isFunction$7(n.handler)?n.handler.bind(t):e[n.handler];isFunction$7(g)&&watch(r,g,n)}}function resolveMergedOptions(n){const e=n.type,{mixins:t,extends:i}=e,{mixins:r,optionsCache:g,config:{optionMergeStrategies:y}}=n.appContext,k=g.get(e);let L;return k?L=k:!r.length&&!t&&!i?L=e:(L={},r.length&&r.forEach(V=>mergeOptions$2(L,V,y,!0)),mergeOptions$2(L,e,y)),isObject$8(e)&&g.set(e,L),L}function mergeOptions$2(n,e,t,i=!1){const{mixins:r,extends:g}=e;g&&mergeOptions$2(n,g,t,!0),r&&r.forEach(y=>mergeOptions$2(n,y,t,!0));for(const y in e)if(!(i&&y==="expose")){const k=internalOptionMergeStrats[y]||t&&t[y];n[y]=k?k(n[y],e[y]):e[y]}return n}const internalOptionMergeStrats={data:mergeDataFn,props:mergeEmitsOrPropsOptions,emits:mergeEmitsOrPropsOptions,methods:mergeObjectOptions,computed:mergeObjectOptions,beforeCreate:mergeAsArray,created:mergeAsArray,beforeMount:mergeAsArray,mounted:mergeAsArray,beforeUpdate:mergeAsArray,updated:mergeAsArray,beforeDestroy:mergeAsArray,beforeUnmount:mergeAsArray,destroyed:mergeAsArray,unmounted:mergeAsArray,activated:mergeAsArray,deactivated:mergeAsArray,errorCaptured:mergeAsArray,serverPrefetch:mergeAsArray,components:mergeObjectOptions,directives:mergeObjectOptions,watch:mergeWatchOptions,provide:mergeDataFn,inject:mergeInject};function mergeDataFn(n,e){return e?n?function(){return extend$1(isFunction$7(n)?n.call(this,this):n,isFunction$7(e)?e.call(this,this):e)}:e:n}function mergeInject(n,e){return mergeObjectOptions(normalizeInject(n),normalizeInject(e))}function normalizeInject(n){if(isArray$4(n)){const e={};for(let t=0;t1)return t&&isFunction$7(e)?e.call(i&&i.proxy):e}}const internalObjectProto={},createInternalObject=()=>Object.create(internalObjectProto),isInternalObject=n=>Object.getPrototypeOf(n)===internalObjectProto;function initProps(n,e,t,i=!1){const r={},g=createInternalObject();n.propsDefaults=Object.create(null),setFullProps(n,e,r,g);for(const y in n.propsOptions[0])y in r||(r[y]=void 0);t?n.props=i?r:shallowReactive(r):n.type.props?n.props=r:n.props=g,n.attrs=g}function updateProps(n,e,t,i){const{props:r,attrs:g,vnode:{patchFlag:y}}=n,k=toRaw(r),[L]=n.propsOptions;let V=!1;if((i||y>0)&&!(y&16)){if(y&8){const z=n.vnode.dynamicProps;for(let j=0;j{L=!0;const[ie,oe]=normalizePropsOptions(j,e,!0);extend$1(y,ie),oe&&k.push(...oe)};!t&&e.mixins.length&&e.mixins.forEach(z),n.extends&&z(n.extends),n.mixins&&n.mixins.forEach(z)}if(!g&&!L)return isObject$8(n)&&i.set(n,EMPTY_ARR),EMPTY_ARR;if(isArray$4(g))for(let z=0;zn[0]==="_"||n==="$stable",normalizeSlotValue=n=>isArray$4(n)?n.map(normalizeVNode):[normalizeVNode(n)],normalizeSlot$1=(n,e,t)=>{if(e._n)return e;const i=withCtx((...r)=>normalizeSlotValue(e(...r)),t);return i._c=!1,i},normalizeObjectSlots=(n,e,t)=>{const i=n._ctx;for(const r in n){if(isInternalKey(r))continue;const g=n[r];if(isFunction$7(g))e[r]=normalizeSlot$1(r,g,i);else if(g!=null){const y=normalizeSlotValue(g);e[r]=()=>y}}},normalizeVNodeSlots=(n,e)=>{const t=normalizeSlotValue(e);n.slots.default=()=>t},assignSlots=(n,e,t)=>{for(const i in e)(t||!isInternalKey(i))&&(n[i]=e[i])},initSlots=(n,e,t)=>{const i=n.slots=createInternalObject();if(n.vnode.shapeFlag&32){const r=e._;r?(assignSlots(i,e,t),t&&def(i,"_",r,!0)):normalizeObjectSlots(e,i)}else e&&normalizeVNodeSlots(n,e)},updateSlots=(n,e,t)=>{const{vnode:i,slots:r}=n;let g=!0,y=EMPTY_OBJ;if(i.shapeFlag&32){const k=e._;k?t&&k===1?g=!1:assignSlots(r,e,t):(g=!e.$stable,normalizeObjectSlots(e,r)),y=e}else e&&(normalizeVNodeSlots(n,e),y={default:1});if(g)for(const k in r)!isInternalKey(k)&&y[k]==null&&delete r[k]},queuePostRenderEffect=queueEffectWithSuspense;function createRenderer$1(n){return baseCreateRenderer(n)}function baseCreateRenderer(n,e){const t=getGlobalThis();t.__VUE__=!0;const{insert:i,remove:r,patchProp:g,createElement:y,createText:k,createComment:L,setText:V,setElementText:z,parentNode:j,nextSibling:ie,setScopeId:oe=NOOP$1,insertStaticContent:re}=n,ae=(si,fi,li,Di=null,ki=null,Ai=null,Ki=void 0,zi=null,bi=!!fi.dynamicChildren)=>{if(si===fi)return;si&&!isSameVNodeType(si,fi)&&(Di=ai(si),ri(si,ki,Ai,!0),si=null),fi.patchFlag===-2&&(bi=!1,fi.dynamicChildren=null);const{type:vi,ref:Li,shapeFlag:oi}=fi;switch(vi){case Text$2:le(si,fi,li,Di);break;case Comment:de(si,fi,li,Di);break;case Static:si==null&&ue(fi,li,Di,Ki);break;case Fragment:Oe(si,fi,li,Di,ki,Ai,Ki,zi,bi);break;default:oi&1?Ce(si,fi,li,Di,ki,Ai,Ki,zi,bi):oi&6?ze(si,fi,li,Di,ki,Ai,Ki,zi,bi):(oi&64||oi&128)&&vi.process(si,fi,li,Di,ki,Ai,Ki,zi,bi,Oi)}Li!=null&&ki&&setRef(Li,si&&si.ref,Ai,fi||si,!fi)},le=(si,fi,li,Di)=>{if(si==null)i(fi.el=k(fi.children),li,Di);else{const ki=fi.el=si.el;fi.children!==si.children&&V(ki,fi.children)}},de=(si,fi,li,Di)=>{si==null?i(fi.el=L(fi.children||""),li,Di):fi.el=si.el},ue=(si,fi,li,Di)=>{[si.el,si.anchor]=re(si.children,fi,li,Di,si.el,si.anchor)},he=({el:si,anchor:fi},li,Di)=>{let ki;for(;si&&si!==fi;)ki=ie(si),i(si,li,Di),si=ki;i(fi,li,Di)},pe=({el:si,anchor:fi})=>{let li;for(;si&&si!==fi;)li=ie(si),r(si),si=li;r(fi)},Ce=(si,fi,li,Di,ki,Ai,Ki,zi,bi)=>{fi.type==="svg"?Ki="svg":fi.type==="math"&&(Ki="mathml"),si==null?$e(fi,li,Di,ki,Ai,Ki,zi,bi):Ne(si,fi,ki,Ai,Ki,zi,bi)},$e=(si,fi,li,Di,ki,Ai,Ki,zi)=>{let bi,vi;const{props:Li,shapeFlag:oi,transition:ii,dirs:mi}=si;if(bi=si.el=y(si.type,Ai,Li&&Li.is,Li),oi&8?z(bi,si.children):oi&16&&Ie(si.children,bi,null,Di,ki,resolveChildrenNamespace(si,Ai),Ki,zi),mi&&invokeDirectiveHook(si,null,Di,"created"),xe(bi,si,si.scopeId,Ki,Di),Li){for(const ti in Li)ti!=="value"&&!isReservedProp(ti)&&g(bi,ti,null,Li[ti],Ai,Di);"value"in Li&&g(bi,"value",null,Li.value,Ai),(vi=Li.onVnodeBeforeMount)&&invokeVNodeHook(vi,Di,si)}mi&&invokeDirectiveHook(si,null,Di,"beforeMount");const yi=needTransition(ki,ii);yi&&ii.beforeEnter(bi),i(bi,fi,li),((vi=Li&&Li.onVnodeMounted)||yi||mi)&&queuePostRenderEffect(()=>{vi&&invokeVNodeHook(vi,Di,si),yi&&ii.enter(bi),mi&&invokeDirectiveHook(si,null,Di,"mounted")},ki)},xe=(si,fi,li,Di,ki)=>{if(li&&oe(si,li),Di)for(let Ai=0;Ai{for(let vi=bi;vi{const zi=fi.el=si.el;let{patchFlag:bi,dynamicChildren:vi,dirs:Li}=fi;bi|=si.patchFlag&16;const oi=si.props||EMPTY_OBJ,ii=fi.props||EMPTY_OBJ;let mi;if(li&&toggleRecurse(li,!1),(mi=ii.onVnodeBeforeUpdate)&&invokeVNodeHook(mi,li,fi,si),Li&&invokeDirectiveHook(fi,si,li,"beforeUpdate"),li&&toggleRecurse(li,!0),(oi.innerHTML&&ii.innerHTML==null||oi.textContent&&ii.textContent==null)&&z(zi,""),vi?Fe(si.dynamicChildren,vi,zi,li,Di,resolveChildrenNamespace(fi,ki),Ai):Ki||Lt(si,fi,zi,null,li,Di,resolveChildrenNamespace(fi,ki),Ai,!1),bi>0){if(bi&16)Ve(zi,oi,ii,li,ki);else if(bi&2&&oi.class!==ii.class&&g(zi,"class",null,ii.class,ki),bi&4&&g(zi,"style",oi.style,ii.style,ki),bi&8){const yi=fi.dynamicProps;for(let ti=0;ti{mi&&invokeVNodeHook(mi,li,fi,si),Li&&invokeDirectiveHook(fi,si,li,"updated")},Di)},Fe=(si,fi,li,Di,ki,Ai,Ki)=>{for(let zi=0;zi{if(fi!==li){if(fi!==EMPTY_OBJ)for(const Ai in fi)!isReservedProp(Ai)&&!(Ai in li)&&g(si,Ai,fi[Ai],null,ki,Di);for(const Ai in li){if(isReservedProp(Ai))continue;const Ki=li[Ai],zi=fi[Ai];Ki!==zi&&Ai!=="value"&&g(si,Ai,zi,Ki,ki,Di)}"value"in li&&g(si,"value",fi.value,li.value,ki)}},Oe=(si,fi,li,Di,ki,Ai,Ki,zi,bi)=>{const vi=fi.el=si?si.el:k(""),Li=fi.anchor=si?si.anchor:k("");let{patchFlag:oi,dynamicChildren:ii,slotScopeIds:mi}=fi;mi&&(zi=zi?zi.concat(mi):mi),si==null?(i(vi,li,Di),i(Li,li,Di),Ie(fi.children||[],li,Li,ki,Ai,Ki,zi,bi)):oi>0&&oi&64&&ii&&si.dynamicChildren?(Fe(si.dynamicChildren,ii,li,ki,Ai,Ki,zi),(fi.key!=null||ki&&fi===ki.subTree)&&traverseStaticChildren(si,fi,!0)):Lt(si,fi,li,Li,ki,Ai,Ki,zi,bi)},ze=(si,fi,li,Di,ki,Ai,Ki,zi,bi)=>{fi.slotScopeIds=zi,si==null?fi.shapeFlag&512?ki.ctx.activate(fi,li,Di,Ki,bi):qe(fi,li,Di,ki,Ai,Ki,bi):Ue(si,fi,bi)},qe=(si,fi,li,Di,ki,Ai,Ki)=>{const zi=si.component=createComponentInstance(si,Di,ki);if(isKeepAlive(si)&&(zi.ctx.renderer=Oi),setupComponent(zi,!1,Ki),zi.asyncDep){if(ki&&ki.registerDep(zi,Et,Ki),!si.el){const bi=zi.subTree=createVNode(Comment);de(null,bi,fi,li)}}else Et(zi,si,fi,li,ki,Ai,Ki)},Ue=(si,fi,li)=>{const Di=fi.component=si.component;if(shouldUpdateComponent(si,fi,li))if(Di.asyncDep&&!Di.asyncResolved){At(Di,fi,li);return}else Di.next=fi,Di.update();else fi.el=si.el,Di.vnode=fi},Et=(si,fi,li,Di,ki,Ai,Ki)=>{const zi=()=>{if(si.isMounted){let{next:oi,bu:ii,u:mi,parent:yi,vnode:ti}=si;{const Mi=locateNonHydratedAsyncRoot(si);if(Mi){oi&&(oi.el=ti.el,At(si,oi,Ki)),Mi.asyncDep.then(()=>{si.isUnmounted||zi()});return}}let Dt=oi,Pt;toggleRecurse(si,!1),oi?(oi.el=ti.el,At(si,oi,Ki)):oi=ti,ii&&invokeArrayFns(ii),(Pt=oi.props&&oi.props.onVnodeBeforeUpdate)&&invokeVNodeHook(Pt,yi,oi,ti),toggleRecurse(si,!0);const ci=renderComponentRoot(si),Ti=si.subTree;si.subTree=ci,ae(Ti,ci,j(Ti.el),ai(Ti),si,ki,Ai),oi.el=ci.el,Dt===null&&updateHOCHostEl(si,ci.el),mi&&queuePostRenderEffect(mi,ki),(Pt=oi.props&&oi.props.onVnodeUpdated)&&queuePostRenderEffect(()=>invokeVNodeHook(Pt,yi,oi,ti),ki)}else{let oi;const{el:ii,props:mi}=fi,{bm:yi,m:ti,parent:Dt,root:Pt,type:ci}=si,Ti=isAsyncWrapper(fi);toggleRecurse(si,!1),yi&&invokeArrayFns(yi),!Ti&&(oi=mi&&mi.onVnodeBeforeMount)&&invokeVNodeHook(oi,Dt,fi),toggleRecurse(si,!0);{Pt.ce&&Pt.ce._injectChildStyle(ci);const Mi=si.subTree=renderComponentRoot(si);ae(null,Mi,li,Di,si,ki,Ai),fi.el=Mi.el}if(ti&&queuePostRenderEffect(ti,ki),!Ti&&(oi=mi&&mi.onVnodeMounted)){const Mi=fi;queuePostRenderEffect(()=>invokeVNodeHook(oi,Dt,Mi),ki)}(fi.shapeFlag&256||Dt&&isAsyncWrapper(Dt.vnode)&&Dt.vnode.shapeFlag&256)&&si.a&&queuePostRenderEffect(si.a,ki),si.isMounted=!0,fi=li=Di=null}};si.scope.on();const bi=si.effect=new ReactiveEffect(zi);si.scope.off();const vi=si.update=bi.run.bind(bi),Li=si.job=bi.runIfDirty.bind(bi);Li.i=si,Li.id=si.uid,bi.scheduler=()=>queueJob(Li),toggleRecurse(si,!0),vi()},At=(si,fi,li)=>{fi.component=si;const Di=si.vnode.props;si.vnode=fi,si.next=null,updateProps(si,fi.props,Di,li),updateSlots(si,fi.children,li),pauseTracking(),flushPreFlushCbs(si),resetTracking()},Lt=(si,fi,li,Di,ki,Ai,Ki,zi,bi=!1)=>{const vi=si&&si.children,Li=si?si.shapeFlag:0,oi=fi.children,{patchFlag:ii,shapeFlag:mi}=fi;if(ii>0){if(ii&128){ei(vi,oi,li,Di,ki,Ai,Ki,zi,bi);return}else if(ii&256){kt(vi,oi,li,Di,ki,Ai,Ki,zi,bi);return}}mi&8?(Li&16&&Ri(vi,ki,Ai),oi!==vi&&z(li,oi)):Li&16?mi&16?ei(vi,oi,li,Di,ki,Ai,Ki,zi,bi):Ri(vi,ki,Ai,!0):(Li&8&&z(li,""),mi&16&&Ie(oi,li,Di,ki,Ai,Ki,zi,bi))},kt=(si,fi,li,Di,ki,Ai,Ki,zi,bi)=>{si=si||EMPTY_ARR,fi=fi||EMPTY_ARR;const vi=si.length,Li=fi.length,oi=Math.min(vi,Li);let ii;for(ii=0;iiLi?Ri(si,ki,Ai,!0,!1,oi):Ie(fi,li,Di,ki,Ai,Ki,zi,bi,oi)},ei=(si,fi,li,Di,ki,Ai,Ki,zi,bi)=>{let vi=0;const Li=fi.length;let oi=si.length-1,ii=Li-1;for(;vi<=oi&&vi<=ii;){const mi=si[vi],yi=fi[vi]=bi?cloneIfMounted(fi[vi]):normalizeVNode(fi[vi]);if(isSameVNodeType(mi,yi))ae(mi,yi,li,null,ki,Ai,Ki,zi,bi);else break;vi++}for(;vi<=oi&&vi<=ii;){const mi=si[oi],yi=fi[ii]=bi?cloneIfMounted(fi[ii]):normalizeVNode(fi[ii]);if(isSameVNodeType(mi,yi))ae(mi,yi,li,null,ki,Ai,Ki,zi,bi);else break;oi--,ii--}if(vi>oi){if(vi<=ii){const mi=ii+1,yi=miii)for(;vi<=oi;)ri(si[vi],ki,Ai,!0),vi++;else{const mi=vi,yi=vi,ti=new Map;for(vi=yi;vi<=ii;vi++){const $i=fi[vi]=bi?cloneIfMounted(fi[vi]):normalizeVNode(fi[vi]);$i.key!=null&&ti.set($i.key,vi)}let Dt,Pt=0;const ci=ii-yi+1;let Ti=!1,Mi=0;const pi=new Array(ci);for(vi=0;vi=ci){ri($i,ki,Ai,!0);continue}let di;if($i.key!=null)di=ti.get($i.key);else for(Dt=yi;Dt<=ii;Dt++)if(pi[Dt-yi]===0&&isSameVNodeType($i,fi[Dt])){di=Dt;break}di===void 0?ri($i,ki,Ai,!0):(pi[di-yi]=vi+1,di>=Mi?Mi=di:Ti=!0,ae($i,fi[di],li,null,ki,Ai,Ki,zi,bi),Pt++)}const ui=Ti?getSequence(pi):EMPTY_ARR;for(Dt=ui.length-1,vi=ci-1;vi>=0;vi--){const $i=yi+vi,di=fi[$i],Wi=$i+1{const{el:Ai,type:Ki,transition:zi,children:bi,shapeFlag:vi}=si;if(vi&6){jt(si.component.subTree,fi,li,Di);return}if(vi&128){si.suspense.move(fi,li,Di);return}if(vi&64){Ki.move(si,fi,li,Oi);return}if(Ki===Fragment){i(Ai,fi,li);for(let oi=0;oizi.enter(Ai),ki);else{const{leave:oi,delayLeave:ii,afterLeave:mi}=zi,yi=()=>{si.ctx.isUnmounted?r(Ai):i(Ai,fi,li)},ti=()=>{oi(Ai,()=>{yi(),mi&&mi()})};ii?ii(Ai,yi,ti):ti()}else i(Ai,fi,li)},ri=(si,fi,li,Di=!1,ki=!1)=>{const{type:Ai,props:Ki,ref:zi,children:bi,dynamicChildren:vi,shapeFlag:Li,patchFlag:oi,dirs:ii,cacheIndex:mi}=si;if(oi===-2&&(ki=!1),zi!=null&&(pauseTracking(),setRef(zi,null,li,si,!0),resetTracking()),mi!=null&&(fi.renderCache[mi]=void 0),Li&256){fi.ctx.deactivate(si);return}const yi=Li&1&&ii,ti=!isAsyncWrapper(si);let Dt;if(ti&&(Dt=Ki&&Ki.onVnodeBeforeUnmount)&&invokeVNodeHook(Dt,fi,si),Li&6)wi(si.component,li,Di);else{if(Li&128){si.suspense.unmount(li,Di);return}yi&&invokeDirectiveHook(si,null,fi,"beforeUnmount"),Li&64?si.type.remove(si,fi,li,Oi,Di):vi&&!vi.hasOnce&&(Ai!==Fragment||oi>0&&oi&64)?Ri(vi,fi,li,!1,!0):(Ai===Fragment&&oi&384||!ki&&Li&16)&&Ri(bi,fi,li),Di&&ni(si)}(ti&&(Dt=Ki&&Ki.onVnodeUnmounted)||yi)&&queuePostRenderEffect(()=>{Dt&&invokeVNodeHook(Dt,fi,si),yi&&invokeDirectiveHook(si,null,fi,"unmounted")},li)},ni=si=>{const{type:fi,el:li,anchor:Di,transition:ki}=si;if(fi===Fragment){Ci(li,Di);return}if(fi===Static){pe(si);return}const Ai=()=>{r(li),ki&&!ki.persisted&&ki.afterLeave&&ki.afterLeave()};if(si.shapeFlag&1&&ki&&!ki.persisted){const{leave:Ki,delayLeave:zi}=ki,bi=()=>Ki(li,Ai);zi?zi(si.el,Ai,bi):bi()}else Ai()},Ci=(si,fi)=>{let li;for(;si!==fi;)li=ie(si),r(si),si=li;r(fi)},wi=(si,fi,li)=>{const{bum:Di,scope:ki,job:Ai,subTree:Ki,um:zi,m:bi,a:vi,parent:Li,slots:{__:oi}}=si;invalidateMount(bi),invalidateMount(vi),Di&&invokeArrayFns(Di),Li&&isArray$4(oi)&&oi.forEach(ii=>{Li.renderCache[ii]=void 0}),ki.stop(),Ai&&(Ai.flags|=8,ri(Ki,si,fi,li)),zi&&queuePostRenderEffect(zi,fi),queuePostRenderEffect(()=>{si.isUnmounted=!0},fi),fi&&fi.pendingBranch&&!fi.isUnmounted&&si.asyncDep&&!si.asyncResolved&&si.suspenseId===fi.pendingId&&(fi.deps--,fi.deps===0&&fi.resolve())},Ri=(si,fi,li,Di=!1,ki=!1,Ai=0)=>{for(let Ki=Ai;Ki{if(si.shapeFlag&6)return ai(si.component.subTree);if(si.shapeFlag&128)return si.suspense.next();const fi=ie(si.anchor||si.el),li=fi&&fi[TeleportEndKey];return li?ie(li):fi};let hi=!1;const xi=(si,fi,li)=>{si==null?fi._vnode&&ri(fi._vnode,null,null,!0):ae(fi._vnode||null,si,fi,null,null,null,li),fi._vnode=si,hi||(hi=!0,flushPreFlushCbs(),flushPostFlushCbs(),hi=!1)},Oi={p:ae,um:ri,m:jt,r:ni,mt:qe,mc:Ie,pc:Lt,pbc:Fe,n:ai,o:n};return{render:xi,hydrate:void 0,createApp:createAppAPI(xi)}}function resolveChildrenNamespace({type:n,props:e},t){return t==="svg"&&n==="foreignObject"||t==="mathml"&&n==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:t}function toggleRecurse({effect:n,job:e},t){t?(n.flags|=32,e.flags|=4):(n.flags&=-33,e.flags&=-5)}function needTransition(n,e){return(!n||n&&!n.pendingBranch)&&e&&!e.persisted}function traverseStaticChildren(n,e,t=!1){const i=n.children,r=e.children;if(isArray$4(i)&&isArray$4(r))for(let g=0;g>1,n[t[k]]0&&(e[i]=t[g-1]),t[g]=i)}}for(g=t.length,y=t[g-1];g-- >0;)t[g]=y,y=e[y];return t}function locateNonHydratedAsyncRoot(n){const e=n.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:locateNonHydratedAsyncRoot(e)}function invalidateMount(n){if(n)for(let e=0;einject(ssrContextKey);function watchEffect(n,e){return doWatch(n,null,e)}function watchSyncEffect(n,e){return doWatch(n,null,{flush:"sync"})}function watch(n,e,t){return doWatch(n,e,t)}function doWatch(n,e,t=EMPTY_OBJ){const{immediate:i,deep:r,flush:g,once:y}=t,k=extend$1({},t),L=e&&i||!e&&g!=="post";let V;if(isInSSRComponentSetup){if(g==="sync"){const oe=useSSRContext();V=oe.__watcherHandles||(oe.__watcherHandles=[])}else if(!L){const oe=()=>{};return oe.stop=NOOP$1,oe.resume=NOOP$1,oe.pause=NOOP$1,oe}}const z=currentInstance;k.call=(oe,re,ae)=>callWithAsyncErrorHandling(oe,z,re,ae);let j=!1;g==="post"?k.scheduler=oe=>{queuePostRenderEffect(oe,z&&z.suspense)}:g!=="sync"&&(j=!0,k.scheduler=(oe,re)=>{re?oe():queueJob(oe)}),k.augmentJob=oe=>{e&&(oe.flags|=4),j&&(oe.flags|=2,z&&(oe.id=z.uid,oe.i=z))};const ie=watch$1(n,e,k);return isInSSRComponentSetup&&(V?V.push(ie):L&&ie()),ie}function instanceWatch(n,e,t){const i=this.proxy,r=isString$8(n)?n.includes(".")?createPathGetter(i,n):()=>i[n]:n.bind(i,i);let g;isFunction$7(e)?g=e:(g=e.handler,t=e);const y=setCurrentInstance$1(this),k=doWatch(r,g.bind(i),t);return y(),k}function createPathGetter(n,e){const t=e.split(".");return()=>{let i=n;for(let r=0;r{let z,j=EMPTY_OBJ,ie;return watchSyncEffect(()=>{const oe=n[r];hasChanged(z,oe)&&(z=oe,V())}),{get(){return L(),t.get?t.get(z):z},set(oe){const re=t.set?t.set(oe):oe;if(!hasChanged(re,z)&&!(j!==EMPTY_OBJ&&hasChanged(oe,j)))return;const ae=i.vnode.props;ae&&(e in ae||r in ae||g in ae)&&("onUpdate:".concat(e)in ae||"onUpdate:".concat(r)in ae||"onUpdate:".concat(g)in ae)||(z=oe,V()),i.emit("update:".concat(e),re),hasChanged(oe,re)&&hasChanged(oe,j)&&!hasChanged(re,ie)&&V(),j=oe,ie=re}}});return k[Symbol.iterator]=()=>{let L=0;return{next(){return L<2?{value:L++?y||EMPTY_OBJ:k,done:!1}:{done:!0}}}},k}const getModelModifiers=(n,e)=>e==="modelValue"||e==="model-value"?n.modelModifiers:n["".concat(e,"Modifiers")]||n["".concat(camelize$2(e),"Modifiers")]||n["".concat(hyphenate$1(e),"Modifiers")];function emit(n,e,...t){if(n.isUnmounted)return;const i=n.vnode.props||EMPTY_OBJ;let r=t;const g=e.startsWith("update:"),y=g&&getModelModifiers(i,e.slice(7));y&&(y.trim&&(r=t.map(z=>isString$8(z)?z.trim():z)),y.number&&(r=t.map(looseToNumber)));let k,L=i[k=toHandlerKey(e)]||i[k=toHandlerKey(camelize$2(e))];!L&&g&&(L=i[k=toHandlerKey(hyphenate$1(e))]),L&&callWithAsyncErrorHandling(L,n,6,r);const V=i[k+"Once"];if(V){if(!n.emitted)n.emitted={};else if(n.emitted[k])return;n.emitted[k]=!0,callWithAsyncErrorHandling(V,n,6,r)}}function normalizeEmitsOptions(n,e,t=!1){const i=e.emitsCache,r=i.get(n);if(r!==void 0)return r;const g=n.emits;let y={},k=!1;if(!isFunction$7(n)){const L=V=>{const z=normalizeEmitsOptions(V,e,!0);z&&(k=!0,extend$1(y,z))};!t&&e.mixins.length&&e.mixins.forEach(L),n.extends&&L(n.extends),n.mixins&&n.mixins.forEach(L)}return!g&&!k?(isObject$8(n)&&i.set(n,null),null):(isArray$4(g)?g.forEach(L=>y[L]=null):extend$1(y,g),isObject$8(n)&&i.set(n,y),y)}function isEmitListener(n,e){return!n||!isOn(e)?!1:(e=e.slice(2).replace(/Once$/,""),hasOwn$1(n,e[0].toLowerCase()+e.slice(1))||hasOwn$1(n,hyphenate$1(e))||hasOwn$1(n,e))}function markAttrsAccessed(){}function renderComponentRoot(n){const{type:e,vnode:t,proxy:i,withProxy:r,propsOptions:[g],slots:y,attrs:k,emit:L,render:V,renderCache:z,props:j,data:ie,setupState:oe,ctx:re,inheritAttrs:ae}=n,le=setCurrentRenderingInstance(n);let de,ue;try{if(t.shapeFlag&4){const pe=r||i,Ce=pe;de=normalizeVNode(V.call(Ce,pe,z,j,oe,ie,re)),ue=k}else{const pe=e;de=normalizeVNode(pe.length>1?pe(j,{attrs:k,slots:y,emit:L}):pe(j,null)),ue=e.props?k:getFunctionalFallthrough(k)}}catch(pe){blockStack.length=0,handleError(pe,n,1),de=createVNode(Comment)}let he=de;if(ue&&ae!==!1){const pe=Object.keys(ue),{shapeFlag:Ce}=he;pe.length&&Ce&7&&(g&&pe.some(isModelListener)&&(ue=filterModelListeners(ue,g)),he=cloneVNode(he,ue,!1,!0))}return t.dirs&&(he=cloneVNode(he,null,!1,!0),he.dirs=he.dirs?he.dirs.concat(t.dirs):t.dirs),t.transition&&setTransitionHooks(he,t.transition),de=he,setCurrentRenderingInstance(le),de}const getFunctionalFallthrough=n=>{let e;for(const t in n)(t==="class"||t==="style"||isOn(t))&&((e||(e={}))[t]=n[t]);return e},filterModelListeners=(n,e)=>{const t={};for(const i in n)(!isModelListener(i)||!(i.slice(9)in e))&&(t[i]=n[i]);return t};function shouldUpdateComponent(n,e,t){const{props:i,children:r,component:g}=n,{props:y,children:k,patchFlag:L}=e,V=g.emitsOptions;if(e.dirs||e.transition)return!0;if(t&&L>=0){if(L&1024)return!0;if(L&16)return i?hasPropsChanged(i,y,V):!!y;if(L&8){const z=e.dynamicProps;for(let j=0;jn.__isSuspense;function queueEffectWithSuspense(n,e){e&&e.pendingBranch?isArray$4(n)?e.effects.push(...n):e.effects.push(n):queuePostFlushCb(n)}const Fragment=Symbol.for("v-fgt"),Text$2=Symbol.for("v-txt"),Comment=Symbol.for("v-cmt"),Static=Symbol.for("v-stc"),blockStack=[];let currentBlock=null;function openBlock(n=!1){blockStack.push(currentBlock=n?null:[])}function closeBlock(){blockStack.pop(),currentBlock=blockStack[blockStack.length-1]||null}let isBlockTreeEnabled=1;function setBlockTracking(n,e=!1){isBlockTreeEnabled+=n,n<0&¤tBlock&&e&&(currentBlock.hasOnce=!0)}function setupBlock(n){return n.dynamicChildren=isBlockTreeEnabled>0?currentBlock||EMPTY_ARR:null,closeBlock(),isBlockTreeEnabled>0&¤tBlock&¤tBlock.push(n),n}function createElementBlock(n,e,t,i,r,g){return setupBlock(createBaseVNode(n,e,t,i,r,g,!0))}function createBlock(n,e,t,i,r){return setupBlock(createVNode(n,e,t,i,r,!0))}function isVNode(n){return n?n.__v_isVNode===!0:!1}function isSameVNodeType(n,e){return n.type===e.type&&n.key===e.key}const normalizeKey=({key:n})=>n!=null?n:null,normalizeRef=({ref:n,ref_key:e,ref_for:t})=>(typeof n=="number"&&(n=""+n),n!=null?isString$8(n)||isRef(n)||isFunction$7(n)?{i:currentRenderingInstance,r:n,k:e,f:!!t}:n:null);function createBaseVNode(n,e=null,t=null,i=0,r=null,g=n===Fragment?0:1,y=!1,k=!1){const L={__v_isVNode:!0,__v_skip:!0,type:n,props:e,key:e&&normalizeKey(e),ref:e&&normalizeRef(e),scopeId:currentScopeId,slotScopeIds:null,children:t,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:g,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:currentRenderingInstance};return k?(normalizeChildren(L,t),g&128&&n.normalize(L)):t&&(L.shapeFlag|=isString$8(t)?8:16),isBlockTreeEnabled>0&&!y&¤tBlock&&(L.patchFlag>0||g&6)&&L.patchFlag!==32&¤tBlock.push(L),L}const createVNode=_createVNode;function _createVNode(n,e=null,t=null,i=0,r=null,g=!1){if((!n||n===NULL_DYNAMIC_COMPONENT)&&(n=Comment),isVNode(n)){const k=cloneVNode(n,e,!0);return t&&normalizeChildren(k,t),isBlockTreeEnabled>0&&!g&¤tBlock&&(k.shapeFlag&6?currentBlock[currentBlock.indexOf(n)]=k:currentBlock.push(k)),k.patchFlag=-2,k}if(isClassComponent(n)&&(n=n.__vccOpts),e){e=guardReactiveProps(e);let{class:k,style:L}=e;k&&!isString$8(k)&&(e.class=normalizeClass(k)),isObject$8(L)&&(isProxy(L)&&!isArray$4(L)&&(L=extend$1({},L)),e.style=normalizeStyle(L))}const y=isString$8(n)?1:isSuspense(n)?128:isTeleport(n)?64:isObject$8(n)?4:isFunction$7(n)?2:0;return createBaseVNode(n,e,t,i,r,y,g,!0)}function guardReactiveProps(n){return n?isProxy(n)||isInternalObject(n)?extend$1({},n):n:null}function cloneVNode(n,e,t=!1,i=!1){const{props:r,ref:g,patchFlag:y,children:k,transition:L}=n,V=e?mergeProps(r||{},e):r,z={__v_isVNode:!0,__v_skip:!0,type:n.type,props:V,key:V&&normalizeKey(V),ref:e&&e.ref?t&&g?isArray$4(g)?g.concat(normalizeRef(e)):[g,normalizeRef(e)]:normalizeRef(e):g,scopeId:n.scopeId,slotScopeIds:n.slotScopeIds,children:k,target:n.target,targetStart:n.targetStart,targetAnchor:n.targetAnchor,staticCount:n.staticCount,shapeFlag:n.shapeFlag,patchFlag:e&&n.type!==Fragment?y===-1?16:y|16:y,dynamicProps:n.dynamicProps,dynamicChildren:n.dynamicChildren,appContext:n.appContext,dirs:n.dirs,transition:L,component:n.component,suspense:n.suspense,ssContent:n.ssContent&&cloneVNode(n.ssContent),ssFallback:n.ssFallback&&cloneVNode(n.ssFallback),el:n.el,anchor:n.anchor,ctx:n.ctx,ce:n.ce};return L&&i&&setTransitionHooks(z,L.clone(z)),z}function createTextVNode(n=" ",e=0){return createVNode(Text$2,null,n,e)}function createStaticVNode(n,e){const t=createVNode(Static,null,n);return t.staticCount=e,t}function createCommentVNode(n="",e=!1){return e?(openBlock(),createBlock(Comment,null,n)):createVNode(Comment,null,n)}function normalizeVNode(n){return n==null||typeof n=="boolean"?createVNode(Comment):isArray$4(n)?createVNode(Fragment,null,n.slice()):isVNode(n)?cloneIfMounted(n):createVNode(Text$2,null,String(n))}function cloneIfMounted(n){return n.el===null&&n.patchFlag!==-1||n.memo?n:cloneVNode(n)}function normalizeChildren(n,e){let t=0;const{shapeFlag:i}=n;if(e==null)e=null;else if(isArray$4(e))t=16;else if(typeof e=="object")if(i&65){const r=e.default;r&&(r._c&&(r._d=!1),normalizeChildren(n,r()),r._c&&(r._d=!0));return}else{t=32;const r=e._;!r&&!isInternalObject(e)?e._ctx=currentRenderingInstance:r===3&¤tRenderingInstance&&(currentRenderingInstance.slots._===1?e._=1:(e._=2,n.patchFlag|=1024))}else isFunction$7(e)?(e={default:e,_ctx:currentRenderingInstance},t=32):(e=String(e),i&64?(t=16,e=[createTextVNode(e)]):t=8);n.children=e,n.shapeFlag|=t}function mergeProps(...n){const e={};for(let t=0;tcurrentInstance||currentRenderingInstance;let internalSetCurrentInstance,setInSSRSetupState;{const n=getGlobalThis(),e=(t,i)=>{let r;return(r=n[t])||(r=n[t]=[]),r.push(i),g=>{r.length>1?r.forEach(y=>y(g)):r[0](g)}};internalSetCurrentInstance=e("__VUE_INSTANCE_SETTERS__",t=>currentInstance=t),setInSSRSetupState=e("__VUE_SSR_SETTERS__",t=>isInSSRComponentSetup=t)}const setCurrentInstance$1=n=>{const e=currentInstance;return internalSetCurrentInstance(n),n.scope.on(),()=>{n.scope.off(),internalSetCurrentInstance(e)}},unsetCurrentInstance=()=>{currentInstance&¤tInstance.scope.off(),internalSetCurrentInstance(null)};function isStatefulComponent(n){return n.vnode.shapeFlag&4}let isInSSRComponentSetup=!1;function setupComponent(n,e=!1,t=!1){e&&setInSSRSetupState(e);const{props:i,children:r}=n.vnode,g=isStatefulComponent(n);initProps(n,i,g,e),initSlots(n,r,t||e);const y=g?setupStatefulComponent(n,e):void 0;return e&&setInSSRSetupState(!1),y}function setupStatefulComponent(n,e){const t=n.type;n.accessCache=Object.create(null),n.proxy=new Proxy(n.ctx,PublicInstanceProxyHandlers);const{setup:i}=t;if(i){pauseTracking();const r=n.setupContext=i.length>1?createSetupContext(n):null,g=setCurrentInstance$1(n),y=callWithErrorHandling(i,n,0,[n.props,r]),k=isPromise$1(y);if(resetTracking(),g(),(k||n.sp)&&!isAsyncWrapper(n)&&markAsyncBoundary(n),k){if(y.then(unsetCurrentInstance,unsetCurrentInstance),e)return y.then(L=>{handleSetupResult(n,L)}).catch(L=>{handleError(L,n,0)});n.asyncDep=y}else handleSetupResult(n,y)}else finishComponentSetup(n)}function handleSetupResult(n,e,t){isFunction$7(e)?n.type.__ssrInlineRender?n.ssrRender=e:n.render=e:isObject$8(e)&&(n.setupState=proxyRefs(e)),finishComponentSetup(n)}function finishComponentSetup(n,e,t){const i=n.type;n.render||(n.render=i.render||NOOP$1);{const r=setCurrentInstance$1(n);pauseTracking();try{applyOptions(n)}finally{resetTracking(),r()}}}const attrsProxyHandlers={get(n,e){return track(n,"get",""),n[e]}};function createSetupContext(n){const e=t=>{n.exposed=t||{}};return{attrs:new Proxy(n.attrs,attrsProxyHandlers),slots:n.slots,emit:n.emit,expose:e}}function getComponentPublicInstance(n){return n.exposed?n.exposeProxy||(n.exposeProxy=new Proxy(proxyRefs(markRaw(n.exposed)),{get(e,t){if(t in e)return e[t];if(t in publicPropertiesMap)return publicPropertiesMap[t](n)},has(e,t){return t in e||t in publicPropertiesMap}})):n.proxy}const classifyRE=/(?:^|[-_])(\w)/g,classify=n=>n.replace(classifyRE,e=>e.toUpperCase()).replace(/[-_]/g,"");function getComponentName(n,e=!0){return isFunction$7(n)?n.displayName||n.name:n.name||e&&n.__name}function formatComponentName(n,e,t=!1){let i=getComponentName(e);if(!i&&e.__file){const r=e.__file.match(/([^/\\]+)\.\w+$/);r&&(i=r[1])}if(!i&&n&&n.parent){const r=g=>{for(const y in g)if(g[y]===e)return y};i=r(n.components||n.parent.type.components)||r(n.appContext.components)}return i?classify(i):t?"App":"Anonymous"}function isClassComponent(n){return isFunction$7(n)&&"__vccOpts"in n}const computed$1=(n,e)=>computed$2(n,e,isInSSRComponentSetup);function h$3(n,e,t){const i=arguments.length;return i===2?isObject$8(e)&&!isArray$4(e)?isVNode(e)?createVNode(n,null,[e]):createVNode(n,e):createVNode(n,null,e):(i>3?t=Array.prototype.slice.call(arguments,2):i===3&&isVNode(t)&&(t=[t]),createVNode(n,e,t))}const version$1="3.5.16",warn=NOOP$1;/** * @vue/runtime-dom v3.5.16 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let policy;const tt$1=typeof window<"u"&&window.trustedTypes;if(tt$1)try{policy=tt$1.createPolicy("vue",{createHTML:n=>n})}catch(n){}const unsafeToTrustedHTML=policy?n=>policy.createHTML(n):n=>n,svgNS="http://www.w3.org/2000/svg",mathmlNS="http://www.w3.org/1998/Math/MathML",doc$1=typeof document<"u"?document:null,templateContainer=doc$1&&doc$1.createElement("template"),nodeOps={insert:(n,e,t)=>{e.insertBefore(n,t||null)},remove:n=>{const e=n.parentNode;e&&e.removeChild(n)},createElement:(n,e,t,i)=>{const r=e==="svg"?doc$1.createElementNS(svgNS,n):e==="mathml"?doc$1.createElementNS(mathmlNS,n):t?doc$1.createElement(n,{is:t}):doc$1.createElement(n);return n==="select"&&i&&i.multiple!=null&&r.setAttribute("multiple",i.multiple),r},createText:n=>doc$1.createTextNode(n),createComment:n=>doc$1.createComment(n),setText:(n,e)=>{n.nodeValue=e},setElementText:(n,e)=>{n.textContent=e},parentNode:n=>n.parentNode,nextSibling:n=>n.nextSibling,querySelector:n=>doc$1.querySelector(n),setScopeId(n,e){n.setAttribute(e,"")},insertStaticContent(n,e,t,i,r,g){const y=t?t.previousSibling:e.lastChild;if(r&&(r===g||r.nextSibling))for(;e.insertBefore(r.cloneNode(!0),t),!(r===g||!(r=r.nextSibling)););else{templateContainer.innerHTML=unsafeToTrustedHTML(i==="svg"?"".concat(n,""):i==="mathml"?"".concat(n,""):n);const k=templateContainer.content;if(i==="svg"||i==="mathml"){const L=k.firstChild;for(;L.firstChild;)k.appendChild(L.firstChild);k.removeChild(L)}e.insertBefore(k,t)}return[y?y.nextSibling:e.firstChild,t?t.previousSibling:e.lastChild]}},TRANSITION="transition",ANIMATION$1="animation",vtcKey=Symbol("_vtc"),DOMTransitionPropsValidators={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},TransitionPropsValidators=extend$1({},BaseTransitionPropsValidators,DOMTransitionPropsValidators),decorate$1=n=>(n.displayName="Transition",n.props=TransitionPropsValidators,n),Transition=decorate$1((n,{slots:e})=>h$3(BaseTransition,resolveTransitionProps(n),e)),callHook=(n,e=[])=>{isArray$4(n)?n.forEach(t=>t(...e)):n&&n(...e)},hasExplicitCallback=n=>n?isArray$4(n)?n.some(e=>e.length>1):n.length>1:!1;function resolveTransitionProps(n){const e={};for(const Oe in n)Oe in DOMTransitionPropsValidators||(e[Oe]=n[Oe]);if(n.css===!1)return e;const{name:t="v",type:i,duration:r,enterFromClass:g="".concat(t,"-enter-from"),enterActiveClass:y="".concat(t,"-enter-active"),enterToClass:k="".concat(t,"-enter-to"),appearFromClass:L=g,appearActiveClass:V=y,appearToClass:z=k,leaveFromClass:j="".concat(t,"-leave-from"),leaveActiveClass:ie="".concat(t,"-leave-active"),leaveToClass:oe="".concat(t,"-leave-to")}=n,re=normalizeDuration(r),ae=re&&re[0],le=re&&re[1],{onBeforeEnter:de,onEnter:ue,onEnterCancelled:he,onLeave:pe,onLeaveCancelled:Ce,onBeforeAppear:$e=de,onAppear:xe=ue,onAppearCancelled:Ie=he}=e,Ne=(Oe,ze,qe,Ue)=>{Oe._enterCancelled=Ue,removeTransitionClass(Oe,ze?z:k),removeTransitionClass(Oe,ze?V:y),qe&&qe()},Fe=(Oe,ze)=>{Oe._isLeaving=!1,removeTransitionClass(Oe,j),removeTransitionClass(Oe,oe),removeTransitionClass(Oe,ie),ze&&ze()},Ve=Oe=>(ze,qe)=>{const Ue=Oe?xe:ue,Et=()=>Ne(ze,Oe,qe);callHook(Ue,[ze,Et]),nextFrame(()=>{removeTransitionClass(ze,Oe?L:g),addTransitionClass(ze,Oe?z:k),hasExplicitCallback(Ue)||whenTransitionEnds(ze,i,ae,Et)})};return extend$1(e,{onBeforeEnter(Oe){callHook(de,[Oe]),addTransitionClass(Oe,g),addTransitionClass(Oe,y)},onBeforeAppear(Oe){callHook($e,[Oe]),addTransitionClass(Oe,L),addTransitionClass(Oe,V)},onEnter:Ve(!1),onAppear:Ve(!0),onLeave(Oe,ze){Oe._isLeaving=!0;const qe=()=>Fe(Oe,ze);addTransitionClass(Oe,j),Oe._enterCancelled?(addTransitionClass(Oe,ie),forceReflow()):(forceReflow(),addTransitionClass(Oe,ie)),nextFrame(()=>{Oe._isLeaving&&(removeTransitionClass(Oe,j),addTransitionClass(Oe,oe),hasExplicitCallback(pe)||whenTransitionEnds(Oe,i,le,qe))}),callHook(pe,[Oe,qe])},onEnterCancelled(Oe){Ne(Oe,!1,void 0,!0),callHook(he,[Oe])},onAppearCancelled(Oe){Ne(Oe,!0,void 0,!0),callHook(Ie,[Oe])},onLeaveCancelled(Oe){Fe(Oe),callHook(Ce,[Oe])}})}function normalizeDuration(n){if(n==null)return null;if(isObject$8(n))return[NumberOf(n.enter),NumberOf(n.leave)];{const e=NumberOf(n);return[e,e]}}function NumberOf(n){return toNumber$1(n)}function addTransitionClass(n,e){e.split(/\s+/).forEach(t=>t&&n.classList.add(t)),(n[vtcKey]||(n[vtcKey]=new Set)).add(e)}function removeTransitionClass(n,e){e.split(/\s+/).forEach(i=>i&&n.classList.remove(i));const t=n[vtcKey];t&&(t.delete(e),t.size||(n[vtcKey]=void 0))}function nextFrame(n){requestAnimationFrame(()=>{requestAnimationFrame(n)})}let endId=0;function whenTransitionEnds(n,e,t,i){const r=n._endId=++endId,g=()=>{r===n._endId&&i()};if(t!=null)return setTimeout(g,t);const{type:y,timeout:k,propCount:L}=getTransitionInfo(n,e);if(!y)return i();const V=y+"end";let z=0;const j=()=>{n.removeEventListener(V,ie),g()},ie=oe=>{oe.target===n&&++z>=L&&j()};setTimeout(()=>{z(t[re]||"").split(", "),r=i("".concat(TRANSITION,"Delay")),g=i("".concat(TRANSITION,"Duration")),y=getTimeout(r,g),k=i("".concat(ANIMATION$1,"Delay")),L=i("".concat(ANIMATION$1,"Duration")),V=getTimeout(k,L);let z=null,j=0,ie=0;e===TRANSITION?y>0&&(z=TRANSITION,j=y,ie=g.length):e===ANIMATION$1?V>0&&(z=ANIMATION$1,j=V,ie=L.length):(j=Math.max(y,V),z=j>0?y>V?TRANSITION:ANIMATION$1:null,ie=z?z===TRANSITION?g.length:L.length:0);const oe=z===TRANSITION&&/\b(transform|all)(,|$)/.test(i("".concat(TRANSITION,"Property")).toString());return{type:z,timeout:j,propCount:ie,hasTransform:oe}}function getTimeout(n,e){for(;n.lengthtoMs(t)+toMs(n[i])))}function toMs(n){return n==="auto"?0:Number(n.slice(0,-1).replace(",","."))*1e3}function forceReflow(){return document.body.offsetHeight}function patchClass(n,e,t){const i=n[vtcKey];i&&(e=(e?[e,...i]:[...i]).join(" ")),e==null?n.removeAttribute("class"):t?n.setAttribute("class",e):n.className=e}const vShowOriginalDisplay=Symbol("_vod"),vShowHidden=Symbol("_vsh"),vShow={beforeMount(n,{value:e},{transition:t}){n[vShowOriginalDisplay]=n.style.display==="none"?"":n.style.display,t&&e?t.beforeEnter(n):setDisplay(n,e)},mounted(n,{value:e},{transition:t}){t&&e&&t.enter(n)},updated(n,{value:e,oldValue:t},{transition:i}){!e!=!t&&(i?e?(i.beforeEnter(n),setDisplay(n,!0),i.enter(n)):i.leave(n,()=>{setDisplay(n,!1)}):setDisplay(n,e))},beforeUnmount(n,{value:e}){setDisplay(n,e)}};function setDisplay(n,e){n.style.display=e?n[vShowOriginalDisplay]:"none",n[vShowHidden]=!e}const CSS_VAR_TEXT=Symbol(""),displayRE=/(^|;)\s*display\s*:/;function patchStyle(n,e,t){const i=n.style,r=isString$8(t);let g=!1;if(t&&!r){if(e)if(isString$8(e))for(const y of e.split(";")){const k=y.slice(0,y.indexOf(":")).trim();t[k]==null&&setStyle(i,k,"")}else for(const y in e)t[y]==null&&setStyle(i,y,"");for(const y in t)y==="display"&&(g=!0),setStyle(i,y,t[y])}else if(r){if(e!==t){const y=i[CSS_VAR_TEXT];y&&(t+=";"+y),i.cssText=t,g=displayRE.test(t)}}else e&&n.removeAttribute("style");vShowOriginalDisplay in n&&(n[vShowOriginalDisplay]=g?i.display:"",n[vShowHidden]&&(i.display="none"))}const importantRE=/\s*!important$/;function setStyle(n,e,t){if(isArray$4(t))t.forEach(i=>setStyle(n,e,i));else if(t==null&&(t=""),e.startsWith("--"))n.setProperty(e,t);else{const i=autoPrefix(n,e);importantRE.test(t)?n.setProperty(hyphenate$1(i),t.replace(importantRE,""),"important"):n[i]=t}}const prefixes$1=["Webkit","Moz","ms"],prefixCache={};function autoPrefix(n,e){const t=prefixCache[e];if(t)return t;let i=camelize$2(e);if(i!=="filter"&&i in n)return prefixCache[e]=i;i=capitalize$3(i);for(let r=0;rcachedNow||(p$1.then(()=>cachedNow=0),cachedNow=Date.now());function createInvoker(n,e){const t=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=t.attached)return;callWithAsyncErrorHandling(patchStopImmediatePropagation(i,t.value),e,5,[i])};return t.value=n,t.attached=getNow(),t}function patchStopImmediatePropagation(n,e){if(isArray$4(e)){const t=n.stopImmediatePropagation;return n.stopImmediatePropagation=()=>{t.call(n),n._stopped=!0},e.map(i=>r=>!r._stopped&&i&&i(r))}else return e}const isNativeOn=n=>n.charCodeAt(0)===111&&n.charCodeAt(1)===110&&n.charCodeAt(2)>96&&n.charCodeAt(2)<123,patchProp=(n,e,t,i,r,g)=>{const y=r==="svg";e==="class"?patchClass(n,i,y):e==="style"?patchStyle(n,t,i):isOn(e)?isModelListener(e)||patchEvent(n,e,t,i,g):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):shouldSetAsProp(n,e,i,y))?(patchDOMProp(n,e,i),!n.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&patchAttr(n,e,i,y,g,e!=="value")):n._isVueCE&&(/[A-Z]/.test(e)||!isString$8(i))?patchDOMProp(n,camelize$2(e),i,g,e):(e==="true-value"?n._trueValue=i:e==="false-value"&&(n._falseValue=i),patchAttr(n,e,i,y))};function shouldSetAsProp(n,e,t,i){if(i)return!!(e==="innerHTML"||e==="textContent"||e in n&&isNativeOn(e)&&isFunction$7(t));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="autocorrect"||e==="form"||e==="list"&&n.tagName==="INPUT"||e==="type"&&n.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const r=n.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return isNativeOn(e)&&isString$8(t)?!1:e in n}const positionMap=new WeakMap,newPositionMap=new WeakMap,moveCbKey=Symbol("_moveCb"),enterCbKey=Symbol("_enterCb"),decorate=n=>(delete n.props.mode,n),TransitionGroupImpl=decorate({name:"TransitionGroup",props:extend$1({},TransitionPropsValidators,{tag:String,moveClass:String}),setup(n,{slots:e}){const t=getCurrentInstance$1(),i=useTransitionState();let r,g;return onUpdated(()=>{if(!r.length)return;const y=n.moveClass||"".concat(n.name||"v","-move");if(!hasCSSTransform(r[0].el,t.vnode.el,y)){r=[];return}r.forEach(callPendingCbs),r.forEach(recordPosition);const k=r.filter(applyTranslation);forceReflow(),k.forEach(L=>{const V=L.el,z=V.style;addTransitionClass(V,y),z.transform=z.webkitTransform=z.transitionDuration="";const j=V[moveCbKey]=ie=>{ie&&ie.target!==V||(!ie||/transform$/.test(ie.propertyName))&&(V.removeEventListener("transitionend",j),V[moveCbKey]=null,removeTransitionClass(V,y))};V.addEventListener("transitionend",j)}),r=[]}),()=>{const y=toRaw(n),k=resolveTransitionProps(y);let L=y.tag||Fragment;if(r=[],g)for(let V=0;V{k.split(/\s+/).forEach(L=>L&&i.classList.remove(L))}),t.split(/\s+/).forEach(k=>k&&i.classList.add(k)),i.style.display="none";const g=e.nodeType===1?e:e.parentNode;g.appendChild(i);const{hasTransform:y}=getTransitionInfo(i);return g.removeChild(i),y}const getModelAssigner=n=>{const e=n.props["onUpdate:modelValue"]||!1;return isArray$4(e)?t=>invokeArrayFns(e,t):e};function onCompositionStart(n){n.target.composing=!0}function onCompositionEnd(n){const e=n.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const assignKey=Symbol("_assign"),vModelText={created(n,{modifiers:{lazy:e,trim:t,number:i}},r){n[assignKey]=getModelAssigner(r);const g=i||r.props&&r.props.type==="number";addEventListener(n,e?"change":"input",y=>{if(y.target.composing)return;let k=n.value;t&&(k=k.trim()),g&&(k=looseToNumber(k)),n[assignKey](k)}),t&&addEventListener(n,"change",()=>{n.value=n.value.trim()}),e||(addEventListener(n,"compositionstart",onCompositionStart),addEventListener(n,"compositionend",onCompositionEnd),addEventListener(n,"change",onCompositionEnd))},mounted(n,{value:e}){n.value=e==null?"":e},beforeUpdate(n,{value:e,oldValue:t,modifiers:{lazy:i,trim:r,number:g}},y){if(n[assignKey]=getModelAssigner(y),n.composing)return;const k=(g||n.type==="number")&&!/^0\d/.test(n.value)?looseToNumber(n.value):n.value,L=e==null?"":e;k!==L&&(document.activeElement===n&&n.type!=="range"&&(i&&e===t||r&&n.value.trim()===L)||(n.value=L))}},vModelCheckbox={deep:!0,created(n,e,t){n[assignKey]=getModelAssigner(t),addEventListener(n,"change",()=>{const i=n._modelValue,r=getValue$3(n),g=n.checked,y=n[assignKey];if(isArray$4(i)){const k=looseIndexOf(i,r),L=k!==-1;if(g&&!L)y(i.concat(r));else if(!g&&L){const V=[...i];V.splice(k,1),y(V)}}else if(isSet$1(i)){const k=new Set(i);g?k.add(r):k.delete(r),y(k)}else y(getCheckboxValue(n,g))})},mounted:setChecked,beforeUpdate(n,e,t){n[assignKey]=getModelAssigner(t),setChecked(n,e,t)}};function setChecked(n,{value:e,oldValue:t},i){n._modelValue=e;let r;if(isArray$4(e))r=looseIndexOf(e,i.props.value)>-1;else if(isSet$1(e))r=e.has(i.props.value);else{if(e===t)return;r=looseEqual(e,getCheckboxValue(n,!0))}n.checked!==r&&(n.checked=r)}const vModelRadio={created(n,{value:e},t){n.checked=looseEqual(e,t.props.value),n[assignKey]=getModelAssigner(t),addEventListener(n,"change",()=>{n[assignKey](getValue$3(n))})},beforeUpdate(n,{value:e,oldValue:t},i){n[assignKey]=getModelAssigner(i),e!==t&&(n.checked=looseEqual(e,i.props.value))}};function getValue$3(n){return"_value"in n?n._value:n.value}function getCheckboxValue(n,e){const t=e?"_trueValue":"_falseValue";return t in n?n[t]:e}const systemModifiers=["ctrl","shift","alt","meta"],modifierGuards={stop:n=>n.stopPropagation(),prevent:n=>n.preventDefault(),self:n=>n.target!==n.currentTarget,ctrl:n=>!n.ctrlKey,shift:n=>!n.shiftKey,alt:n=>!n.altKey,meta:n=>!n.metaKey,left:n=>"button"in n&&n.button!==0,middle:n=>"button"in n&&n.button!==1,right:n=>"button"in n&&n.button!==2,exact:(n,e)=>systemModifiers.some(t=>n["".concat(t,"Key")]&&!e.includes(t))},withModifiers=(n,e)=>{const t=n._withMods||(n._withMods={}),i=e.join(".");return t[i]||(t[i]=(r,...g)=>{for(let y=0;y{const t=n._withKeys||(n._withKeys={}),i=e.join(".");return t[i]||(t[i]=r=>{if(!("key"in r))return;const g=hyphenate$1(r.key);if(e.some(y=>y===g||keyNames[y]===g))return n(r)})},rendererOptions=extend$1({patchProp},nodeOps);let renderer;function ensureRenderer(){return renderer||(renderer=createRenderer$1(rendererOptions))}const render=(...n)=>{ensureRenderer().render(...n)},createApp=(...n)=>{const e=ensureRenderer().createApp(...n),{mount:t}=e;return e.mount=i=>{const r=normalizeContainer(i);if(!r)return;const g=e._component;!isFunction$7(g)&&!g.render&&!g.template&&(g.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const y=t(r,!1,resolveRootNamespace(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),y},e};function resolveRootNamespace(n){if(n instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&n instanceof MathMLElement)return"mathml"}function normalizeContainer(n){return isString$8(n)?document.querySelector(n):n}function tail$1(n,e=0){return n[n.length-(1+e)]}function tail2$1(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function equals$5(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,r=n.length;it(n[i],e))}function binarySearch2$1(n,e){let t=0,i=n-1;for(;t<=i;){const r=(t+i)/2|0,g=e(r);if(g<0)t=r+1;else if(g>0)i=r-1;else return r}return-(t+1)}function quickSelect$1(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],r=[],g=[],y=[];for(const k of e){const L=t(k,i);L<0?r.push(k):L>0?g.push(k):y.push(k)}return n!!e)}function coalesceInPlace$1(n){let e=0;for(let t=0;t0}function distinct$1(n,e=t=>t){const t=new Set;return n.filter(i=>{const r=e(i);return t.has(r)?!1:(t.add(r),!0)})}function firstOrDefault$1(n,e){return n.length>0?n[0]:e}function range$3(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let r=t;re;r--)i.push(r);return i}function arrayInsert$1(n,e,t){const i=n.slice(0,e),r=n.slice(e);return i.concat(t,r)}function pushToStart$1(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function pushToEnd$1(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function pushMany$1(n,e){for(const t of e)n.push(t)}function asArray$1(n){return Array.isArray(n)?n:[n]}function insertInto$1(n,e,t){const i=getActualStartIndex$1(n,e),r=n.length,g=t.length;n.length=r+g;for(let y=r-1;y>=i;y--)n[y+g]=n[y];for(let y=0;y0}n.isGreaterThan=i;function r(g){return g===0}n.isNeitherLessOrGreaterThan=r,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(CompareResult$1||(CompareResult$1={}));function compareBy$1(n,e){return(t,i)=>e(n(t),n(i))}function tieBreakComparators$1(...n){return(e,t)=>{for(const i of n){const r=i(e,t);if(!CompareResult$1.isNeitherLessOrGreaterThan(r))return r}return CompareResult$1.neitherLessOrGreaterThan}}const numberComparator$1=(n,e)=>n-e,booleanComparator$1=(n,e)=>numberComparator$1(n?1:0,e?1:0);function reverseOrder$1(n){return(e,t)=>-n(e,t)}let ArrayQueue$1=class{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}};var er;let CallbackIterable$1=(er=class{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new er(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new er(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(r=>((i||CompareResult$1.isGreaterThan(e(r,t)))&&(i=!1,t=r),!0)),t}},er.empty=new er(e=>{}),er),Permutation$1=class ld{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((r,g)=>t(e[r],e[g]));return new ld(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t"u"}function isDefined$1(n){return!isUndefinedOrNull$1(n)}function isUndefinedOrNull$1(n){return isUndefined$5(n)||n===null}function assertType$1(n,e){if(!n)throw new Error(e?"Unexpected type, expected '".concat(e,"'"):"Unexpected type")}function assertIsDefined$1(n){if(isUndefinedOrNull$1(n))throw new Error("Assertion Failed: argument is undefined or null");return n}function isFunction$6(n){return typeof n=="function"}function validateConstraints$1(n,e){const t=Math.min(n.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?deepClone$1(i):i}),e}function deepFreeze$1(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(_hasOwnProperty$1.call(t,i)){const r=t[i];typeof r=="object"&&!Object.isFrozen(r)&&!isTypedArray$2(r)&&e.push(r)}}return n}const _hasOwnProperty$1=Object.prototype.hasOwnProperty;function cloneAndChange$1(n,e){return _cloneAndChange$1(n,e,new Set)}function _cloneAndChange$1(n,e,t){if(isUndefinedOrNull$1(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const r=[];for(const g of n)r.push(_cloneAndChange$1(g,e,t));return r}if(isObject$7(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const r={};for(const g in n)_hasOwnProperty$1.call(n,g)&&(r[g]=_cloneAndChange$1(n[g],e,t));return t.delete(n),r}return n}function mixin$1(n,e,t=!0){return isObject$7(n)?(isObject$7(e)&&Object.keys(e).forEach(i=>{i in n?t&&(isObject$7(n[i])&&isObject$7(e[i])?mixin$1(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function equals$4(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;tfunction(){const g=Array.prototype.slice.call(arguments,0);return e(r,g)},i={};for(const r of n)i[r]=t(r);return i}function getNLSMessages(){return globalThis._VSCODE_NLS_MESSAGES}function getNLSLanguage(){return globalThis._VSCODE_NLS_LANGUAGE}const isPseudo$1=getNLSLanguage()==="pseudo"||typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function _format$3(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,r)=>{const g=r[0],y=e[g];let k=i;return typeof y=="string"?k=y:(typeof y=="number"||typeof y=="boolean"||y===void 0||y===null)&&(k=String(y)),k}),isPseudo$1&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function localize$1(n,e,...t){return _format$3(typeof n=="number"?lookupMessage(n,e):e,t)}function lookupMessage(n,e){var i;const t=(i=getNLSMessages())==null?void 0:i[n];if(typeof t!="string"){if(typeof e=="string")return e;throw new Error("!!! NLS MISSING: ".concat(n," !!!"))}return t}function localize2$1(n,e,...t){let i;typeof n=="number"?i=lookupMessage(n,e):i=e;const r=_format$3(i,t);return{value:r,original:e===i?r:_format$3(e,t)}}const LANGUAGE_DEFAULT$1="en";let _isWindows$1=!1,_isMacintosh$1=!1,_isLinux$1=!1,_isNative$1=!1,_isWeb$1=!1,_isIOS$1=!1,_isMobile$1=!1,_locale$1,_language$1=LANGUAGE_DEFAULT$1,_platformLocale$1=LANGUAGE_DEFAULT$1,_translationsConfigFile$1,_userAgent$1;const $globalThis$1=globalThis;let nodeProcess$1;var su;typeof $globalThis$1.vscode<"u"&&typeof $globalThis$1.vscode.process<"u"?nodeProcess$1=$globalThis$1.vscode.process:typeof process<"u"&&typeof((su=process==null?void 0:process.versions)==null?void 0:su.node)=="string"&&(nodeProcess$1=process);var au;const isElectronProcess$1=typeof((au=nodeProcess$1==null?void 0:nodeProcess$1.versions)==null?void 0:au.electron)=="string",isElectronRenderer$1=isElectronProcess$1&&(nodeProcess$1==null?void 0:nodeProcess$1.type)==="renderer";var lu;if(typeof nodeProcess$1=="object"){_isWindows$1=nodeProcess$1.platform==="win32",_isMacintosh$1=nodeProcess$1.platform==="darwin",_isLinux$1=nodeProcess$1.platform==="linux",_isLinux$1&&nodeProcess$1.env.SNAP&&nodeProcess$1.env.SNAP_REVISION,nodeProcess$1.env.CI||nodeProcess$1.env.BUILD_ARTIFACTSTAGINGDIRECTORY,_locale$1=LANGUAGE_DEFAULT$1,_language$1=LANGUAGE_DEFAULT$1;const n=nodeProcess$1.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n);_locale$1=e.userLocale,_platformLocale$1=e.osLocale,_language$1=e.resolvedLanguage||LANGUAGE_DEFAULT$1,_translationsConfigFile$1=(lu=e.languagePack)==null?void 0:lu.translationsConfigFile}catch(e){}_isNative$1=!0}else typeof navigator=="object"&&!isElectronRenderer$1?(_userAgent$1=navigator.userAgent,_isWindows$1=_userAgent$1.indexOf("Windows")>=0,_isMacintosh$1=_userAgent$1.indexOf("Macintosh")>=0,_isIOS$1=(_userAgent$1.indexOf("Macintosh")>=0||_userAgent$1.indexOf("iPad")>=0||_userAgent$1.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,_isLinux$1=_userAgent$1.indexOf("Linux")>=0,_isMobile$1=(_userAgent$1==null?void 0:_userAgent$1.indexOf("Mobi"))>=0,_isWeb$1=!0,_language$1=getNLSLanguage()||LANGUAGE_DEFAULT$1,_locale$1=navigator.language.toLowerCase(),_platformLocale$1=_locale$1):console.error("Unable to resolve platform.");const isWindows$1=_isWindows$1,isMacintosh$1=_isMacintosh$1,isLinux$1=_isLinux$1,isNative$1=_isNative$1,isWeb$1=_isWeb$1,isWebWorker$1=_isWeb$1&&typeof $globalThis$1.importScripts=="function",webWorkerOrigin$1=isWebWorker$1?$globalThis$1.origin:void 0,isIOS$3=_isIOS$1,isMobile$1=_isMobile$1,userAgent$4=_userAgent$1,language$1=_language$1,setTimeout0IsFaster$1=typeof $globalThis$1.postMessage=="function"&&!$globalThis$1.importScripts,setTimeout0$1=(()=>{if(setTimeout0IsFaster$1){const n=[];$globalThis$1.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++e;n.push({id:i,callback:t}),$globalThis$1.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),OS$1=_isMacintosh$1||_isIOS$1?2:_isWindows$1?1:3;let _isLittleEndian$1=!0,_isLittleEndianComputed$1=!1;function isLittleEndian$1(){if(!_isLittleEndianComputed$1){_isLittleEndianComputed$1=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,_isLittleEndian$1=new Uint16Array(n.buffer)[0]===513}return _isLittleEndian$1}const isChrome$3=!!(userAgent$4&&userAgent$4.indexOf("Chrome")>=0),isFirefox$4=!!(userAgent$4&&userAgent$4.indexOf("Firefox")>=0),isSafari$3=!!(!isChrome$3&&userAgent$4&&userAgent$4.indexOf("Safari")>=0),isEdge$1=!!(userAgent$4&&userAgent$4.indexOf("Edg/")>=0),isAndroid$3=!!(userAgent$4&&userAgent$4.indexOf("Android")>=0),EDITOR_MODEL_DEFAULTS$1={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Iterable$1;(function(n){function e(pe){return pe&&typeof pe=="object"&&typeof pe[Symbol.iterator]=="function"}n.is=e;const t=Object.freeze([]);function i(){return t}n.empty=i;function*r(pe){yield pe}n.single=r;function g(pe){return e(pe)?pe:r(pe)}n.wrap=g;function y(pe){return pe||t}n.from=y;function*k(pe){for(let Ce=pe.length-1;Ce>=0;Ce--)yield pe[Ce]}n.reverse=k;function L(pe){return!pe||pe[Symbol.iterator]().next().done===!0}n.isEmpty=L;function V(pe){return pe[Symbol.iterator]().next().value}n.first=V;function z(pe,Ce){let $e=0;for(const xe of pe)if(Ce(xe,$e++))return!0;return!1}n.some=z;function j(pe,Ce){for(const $e of pe)if(Ce($e))return $e}n.find=j;function*ie(pe,Ce){for(const $e of pe)Ce($e)&&(yield $e)}n.filter=ie;function*oe(pe,Ce){let $e=0;for(const xe of pe)yield Ce(xe,$e++)}n.map=oe;function*re(pe,Ce){let $e=0;for(const xe of pe)yield*Ce(xe,$e++)}n.flatMap=re;function*ae(...pe){for(const Ce of pe)yield*Ce}n.concat=ae;function le(pe,Ce,$e){let xe=$e;for(const Ie of pe)xe=Ce(xe,Ie);return xe}n.reduce=le;function*de(pe,Ce,$e=pe.length){for(Ce<0&&(Ce+=pe.length),$e<0?$e+=pe.length:$e>pe.length&&($e=pe.length);Ce<$e;Ce++)yield pe[Ce]}n.slice=de;function ue(pe,Ce=Number.POSITIVE_INFINITY){const $e=[];if(Ce===0)return[$e,pe];const xe=pe[Symbol.iterator]();for(let Ie=0;Ie{r||(r=!0,this._remove(i))}}shift(){if(this._first!==Node$7.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Node$7.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Node$7.Undefined&&e.next!==Node$7.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Node$7.Undefined&&e.next===Node$7.Undefined?(this._first=Node$7.Undefined,this._last=Node$7.Undefined):e.next===Node$7.Undefined?(this._last=this._last.prev,this._last.next=Node$7.Undefined):e.prev===Node$7.Undefined&&(this._first=this._first.next,this._first.prev=Node$7.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Node$7.Undefined;)yield e.element,e=e.next}};const USUAL_WORD_SEPARATORS$1="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function createWordRegExp$1(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of USUAL_WORD_SEPARATORS$1)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const DEFAULT_WORD_REGEXP$1=createWordRegExp$1();function ensureValidWordDefinition$1(n){let e=DEFAULT_WORD_REGEXP$1;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const _defaultConfig$1=new LinkedList$1;_defaultConfig$1.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function getWordAtText$1(n,e,t,i,r){if(e=ensureValidWordDefinition$1(e),r||(r=Iterable$1.first(_defaultConfig$1)),t.length>r.maxLen){let V=n-r.maxLen/2;return V<0?V=0:i+=V,t=t.substring(V,n+r.maxLen/2),getWordAtText$1(n,e,t,i,r)}const g=Date.now(),y=n-1-i;let k=-1,L=null;for(let V=1;!(Date.now()-g>=r.timeBudget);V++){const z=y-r.windowSize*V;e.lastIndex=Math.max(0,z);const j=_findRegexMatchEnclosingPosition$1(e,t,y,k);if(!j&&L||(L=j,z<=0))break;k=z}if(L){const V={word:L[0],startColumn:i+1+L.index,endColumn:i+1+L.index+L[0].length};return e.lastIndex=0,V}return null}function _findRegexMatchEnclosingPosition$1(n,e,t,i){let r;for(;r=n.exec(e);){const g=r.index||0;if(g<=t&&n.lastIndex>=t)return r;if(i>0&&g>i)return null}return null}const MINIMAP_GUTTER_WIDTH$1=8;let ConfigurationChangedEvent$1=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},ComputeOptionsMemory$1=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},BaseEditorOption$1=class{constructor(e,t,i,r){this.id=e,this.name=t,this.defaultValue=i,this.schema=r}applyUpdate(e,t){return applyUpdate$1(e,t)}compute(e,t,i){return i}},ApplyUpdateResult$1=class{constructor(e,t){this.newValue=e,this.didChange=t}};function applyUpdate$1(n,e){if(typeof n!="object"||typeof e!="object"||!n||!e)return new ApplyUpdateResult$1(e,n!==e);if(Array.isArray(n)||Array.isArray(e)){const i=Array.isArray(n)&&Array.isArray(e)&&equals$5(n,e);return new ApplyUpdateResult$1(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const r=applyUpdate$1(n[i],e[i]);r.didChange&&(n[i]=r.newValue,t=!0)}return new ApplyUpdateResult$1(n,t)}let ComputedEditorOption$1=class{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return applyUpdate$1(e,t)}validate(e){return this.defaultValue}},SimpleEditorOption$1=class{constructor(e,t,i,r){this.id=e,this.name=t,this.defaultValue=i,this.schema=r}applyUpdate(e,t){return applyUpdate$1(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}};function boolean$1(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}let EditorBooleanOption$1=class extends SimpleEditorOption$1{constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="boolean",r.default=i),super(e,t,i,r)}validate(e){return boolean$1(e,this.defaultValue)}};function clampedInt$1(n,e,t,i){if(typeof n>"u")return e;let r=parseInt(n,10);return isNaN(r)?e:(r=Math.max(t,r),r=Math.min(i,r),r|0)}let EditorIntOption$1=class uu extends SimpleEditorOption$1{static clampedInt(e,t,i,r){return clampedInt$1(e,t,i,r)}constructor(e,t,i,r,g,y=void 0){typeof y<"u"&&(y.type="integer",y.default=i,y.minimum=r,y.maximum=g),super(e,t,i,y),this.minimum=r,this.maximum=g}validate(e){return uu.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}};function clampedFloat$1(n,e,t,i){if(typeof n>"u")return e;const r=EditorFloatOption$1.float(n,e);return EditorFloatOption$1.clamp(r,t,i)}let EditorFloatOption$1=class hu extends SimpleEditorOption$1{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,r,g){typeof g<"u"&&(g.type="number",g.default=i),super(e,t,i,g),this.validationFn=r}validate(e){return this.validationFn(hu.float(e,this.defaultValue))}},EditorStringOption$1=class gu extends SimpleEditorOption$1{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="string",r.default=i),super(e,t,i,r)}validate(e){return gu.string(e,this.defaultValue)}};function stringSet$1(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}let EditorStringEnumOption$1=class extends SimpleEditorOption$1{constructor(e,t,i,r,g=void 0){typeof g<"u"&&(g.type="string",g.enum=r,g.default=i),super(e,t,i,g),this._allowedValues=r}validate(e){return stringSet$1(e,this.defaultValue,this._allowedValues)}},EditorEnumOption$1=class extends BaseEditorOption$1{constructor(e,t,i,r,g,y,k=void 0){typeof k<"u"&&(k.type="string",k.enum=g,k.default=r),super(e,t,i,k),this._allowedValues=g,this._convert=y}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function _autoIndentFromString$1(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}let EditorAccessibilitySupport$1=class extends BaseEditorOption$1{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[localize$1("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),localize$1("accessibilitySupport.on","Optimize for usage with a Screen Reader."),localize$1("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:localize$1("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}},EditorComments$1=class extends BaseEditorOption$1{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:localize$1("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:localize$1("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:boolean$1(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:boolean$1(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function _cursorBlinkingStyleFromString$1(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var TextEditorCursorStyle$3;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(TextEditorCursorStyle$3||(TextEditorCursorStyle$3={}));function _cursorStyleFromString$1(n){switch(n){case"line":return TextEditorCursorStyle$3.Line;case"block":return TextEditorCursorStyle$3.Block;case"underline":return TextEditorCursorStyle$3.Underline;case"line-thin":return TextEditorCursorStyle$3.LineThin;case"block-outline":return TextEditorCursorStyle$3.BlockOutline;case"underline-thin":return TextEditorCursorStyle$3.UnderlineThin}}let EditorClassName$1=class extends ComputedEditorOption$1{constructor(){super(143)}compute(e,t,i){const r=["monaco-editor"];return t.get(39)&&r.push(t.get(39)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(74)==="default"?r.push("mouse-default"):t.get(74)==="copy"&&r.push("mouse-copy"),t.get(112)&&r.push("showUnused"),t.get(141)&&r.push("showDeprecated"),r.join(" ")}},EditorEmptySelectionClipboard$1=class extends EditorBooleanOption$1{constructor(){super(37,"emptySelectionClipboard",!0,{description:localize$1("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}},EditorFind$1=class extends BaseEditorOption$1{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:localize$1("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[localize$1("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),localize$1("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),localize$1("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:localize$1("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[localize$1("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),localize$1("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),localize$1("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:localize$1("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:localize$1("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:isMacintosh$1},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:localize$1("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:localize$1("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:boolean$1(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":stringSet$1(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":stringSet$1(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:boolean$1(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:boolean$1(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:boolean$1(t.loop,this.defaultValue.loop)}}};var vo;let EditorFontLigatures$1=(vo=class extends BaseEditorOption$1{constructor(){super(51,"fontLigatures",vo.OFF,{anyOf:[{type:"boolean",description:localize$1("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:localize$1("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:localize$1("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?vo.OFF:e==="true"?vo.ON:e:e?vo.ON:vo.OFF}},vo.OFF='"liga" off, "calt" off',vo.ON='"liga" on, "calt" on',vo);var bo;let EditorFontVariations$1=(bo=class extends BaseEditorOption$1{constructor(){super(54,"fontVariations",bo.OFF,{anyOf:[{type:"boolean",description:localize$1("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:localize$1("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:localize$1("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?bo.OFF:e==="true"?bo.TRANSLATE:e:e?bo.TRANSLATE:bo.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}},bo.OFF="normal",bo.TRANSLATE="translate",bo),EditorFontInfo$1=class extends ComputedEditorOption$1{constructor(){super(50)}compute(e,t,i){return e.fontInfo}},EditorFontSize$1=class extends SimpleEditorOption$1{constructor(){super(52,"fontSize",EDITOR_FONT_DEFAULTS$1.fontSize,{type:"number",minimum:6,maximum:100,default:EDITOR_FONT_DEFAULTS$1.fontSize,description:localize$1("fontSize","Controls the font size in pixels.")})}validate(e){const t=EditorFloatOption$1.float(e,this.defaultValue);return t===0?EDITOR_FONT_DEFAULTS$1.fontSize:EditorFloatOption$1.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}};var so;let EditorFontWeight$1=(so=class extends BaseEditorOption$1{constructor(){super(53,"fontWeight",EDITOR_FONT_DEFAULTS$1.fontWeight,{anyOf:[{type:"number",minimum:so.MINIMUM_VALUE,maximum:so.MAXIMUM_VALUE,errorMessage:localize$1("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:so.SUGGESTION_VALUES}],default:EDITOR_FONT_DEFAULTS$1.fontWeight,description:localize$1("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(EditorIntOption$1.clampedInt(e,EDITOR_FONT_DEFAULTS$1.fontWeight,so.MINIMUM_VALUE,so.MAXIMUM_VALUE))}},so.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"],so.MINIMUM_VALUE=1,so.MAXIMUM_VALUE=1e3,so),EditorGoToLocation$1=class extends BaseEditorOption$1{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",multipleTests:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:"",alternativeTestsCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[localize$1("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),localize$1("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),localize$1("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:localize$1("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:localize$1("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:localize$1("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:localize$1("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:localize$1("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:localize$1("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:localize$1("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:localize$1("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:localize$1("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:localize$1("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:localize$1("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var i,r,g,y,k,L;if(!e||typeof e!="object")return this.defaultValue;const t=e;return{multiple:stringSet$1(t.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(i=t.multipleDefinitions)!=null?i:stringSet$1(t.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(r=t.multipleTypeDefinitions)!=null?r:stringSet$1(t.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(g=t.multipleDeclarations)!=null?g:stringSet$1(t.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(y=t.multipleImplementations)!=null?y:stringSet$1(t.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(k=t.multipleReferences)!=null?k:stringSet$1(t.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),multipleTests:(L=t.multipleTests)!=null?L:stringSet$1(t.multipleTests,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:EditorStringOption$1.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:EditorStringOption$1.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:EditorStringOption$1.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:EditorStringOption$1.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:EditorStringOption$1.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand),alternativeTestsCommand:EditorStringOption$1.string(t.alternativeTestsCommand,this.defaultValue.alternativeTestsCommand)}}},EditorHover$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:localize$1("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:localize$1("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:localize$1("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:localize$1("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:localize$1("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),delay:EditorIntOption$1.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:boolean$1(t.sticky,this.defaultValue.sticky),hidingDelay:EditorIntOption$1.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:boolean$1(t.above,this.defaultValue.above)}}},EditorLayoutInfoComputer$1=class Nc extends ComputedEditorOption$1{constructor(){super(146)}compute(e,t,i){return Nc.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));const g=(i+e.viewLineCount+r)/(e.pixelRatio*e.height),y=Math.floor(e.viewLineCount/g);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:r,desiredRatio:g,minimapLineCount:y}}static _computeMinimapLayout(e,t){const i=e.outerWidth,r=e.outerHeight,g=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(g*r),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:r};const y=t.stableMinimapLayoutInput,k=y&&e.outerHeight===y.outerHeight&&e.lineHeight===y.lineHeight&&e.typicalHalfwidthCharacterWidth===y.typicalHalfwidthCharacterWidth&&e.pixelRatio===y.pixelRatio&&e.scrollBeyondLastLine===y.scrollBeyondLastLine&&e.paddingTop===y.paddingTop&&e.paddingBottom===y.paddingBottom&&e.minimap.enabled===y.minimap.enabled&&e.minimap.side===y.minimap.side&&e.minimap.size===y.minimap.size&&e.minimap.showSlider===y.minimap.showSlider&&e.minimap.renderCharacters===y.minimap.renderCharacters&&e.minimap.maxColumn===y.minimap.maxColumn&&e.minimap.scale===y.minimap.scale&&e.verticalScrollbarWidth===y.verticalScrollbarWidth&&e.isViewportWrapping===y.isViewportWrapping,L=e.lineHeight,V=e.typicalHalfwidthCharacterWidth,z=e.scrollBeyondLastLine,j=e.minimap.renderCharacters;let ie=g>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const oe=e.minimap.maxColumn,re=e.minimap.size,ae=e.minimap.side,le=e.verticalScrollbarWidth,de=e.viewLineCount,ue=e.remainingWidth,he=e.isViewportWrapping,pe=j?2:3;let Ce=Math.floor(g*r);const $e=Ce/g;let xe=!1,Ie=!1,Ne=pe*ie,Fe=ie/g,Ve=1;if(re==="fill"||re==="fit"){const{typicalViewportLineCount:Lt,extraLinesBeforeFirstLine:kt,extraLinesBeyondLastLine:ei,desiredRatio:jt,minimapLineCount:ri}=Nc.computeContainedMinimapLineCount({viewLineCount:de,scrollBeyondLastLine:z,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:r,lineHeight:L,pixelRatio:g});if(de/ri>1)xe=!0,Ie=!0,ie=1,Ne=1,Fe=ie/g;else{let Ci=!1,wi=ie+1;if(re==="fit"){const Ri=Math.ceil((kt+de+ei)*Ne);he&&k&&ue<=t.stableFitRemainingWidth?(Ci=!0,wi=t.stableFitMaxMinimapScale):Ci=Ri>Ce}if(re==="fill"||Ci){xe=!0;const Ri=ie;Ne=Math.min(L*g,Math.max(1,Math.floor(1/jt))),he&&k&&ue<=t.stableFitRemainingWidth&&(wi=t.stableFitMaxMinimapScale),ie=Math.min(wi,Math.max(1,Math.floor(Ne/pe))),ie>Ri&&(Ve=Math.min(2,ie/Ri)),Fe=ie/g/Ve,Ce=Math.ceil(Math.max(Lt,kt+de+ei)*Ne),he?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=ue,t.stableFitMaxMinimapScale=ie):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const Oe=Math.floor(oe*Fe),ze=Math.min(Oe,Math.max(0,Math.floor((ue-le-2)*Fe/(V+Fe)))+MINIMAP_GUTTER_WIDTH$1);let qe=Math.floor(g*ze);const Ue=qe/g;qe=Math.floor(qe*Ve);const Et=j?1:2,At=ae==="left"?0:i-ze-le;return{renderMinimap:Et,minimapLeft:At,minimapWidth:ze,minimapHeightIsEditorHeight:xe,minimapIsSampling:Ie,minimapScale:ie,minimapLineHeight:Ne,minimapCanvasInnerWidth:qe,minimapCanvasInnerHeight:Ce,minimapCanvasOuterWidth:Ue,minimapCanvasOuterHeight:$e}}static computeLayout(e,t){const i=t.outerWidth|0,r=t.outerHeight|0,g=t.lineHeight|0,y=t.lineNumbersDigitCount|0,k=t.typicalHalfwidthCharacterWidth,L=t.maxDigitWidth,V=t.pixelRatio,z=t.viewLineCount,j=e.get(138),ie=j==="inherit"?e.get(137):j,oe=ie==="inherit"?e.get(133):ie,re=e.get(136),ae=t.isDominatedByLongLines,le=e.get(57),de=e.get(68).renderType!==0,ue=e.get(69),he=e.get(106),pe=e.get(84),Ce=e.get(73),$e=e.get(104),xe=$e.verticalScrollbarSize,Ie=$e.verticalHasArrows,Ne=$e.arrowSize,Fe=$e.horizontalScrollbarSize,Ve=e.get(43),Oe=e.get(111)!=="never";let ze=e.get(66);Ve&&Oe&&(ze+=16);let qe=0;if(de){const hi=Math.max(y,ue);qe=Math.round(hi*L)}let Ue=0;le&&(Ue=g*t.glyphMarginDecorationLaneCount);let Et=0,At=Et+Ue,Lt=At+qe,kt=Lt+ze;const ei=i-Ue-qe-ze;let jt=!1,ri=!1,ni=-1;ie==="inherit"&&ae?(jt=!0,ri=!0):oe==="on"||oe==="bounded"?ri=!0:oe==="wordWrapColumn"&&(ni=re);const Ci=Nc._computeMinimapLayout({outerWidth:i,outerHeight:r,lineHeight:g,typicalHalfwidthCharacterWidth:k,pixelRatio:V,scrollBeyondLastLine:he,paddingTop:pe.top,paddingBottom:pe.bottom,minimap:Ce,verticalScrollbarWidth:xe,viewLineCount:z,remainingWidth:ei,isViewportWrapping:ri},t.memory||new ComputeOptionsMemory$1);Ci.renderMinimap!==0&&Ci.minimapLeft===0&&(Et+=Ci.minimapWidth,At+=Ci.minimapWidth,Lt+=Ci.minimapWidth,kt+=Ci.minimapWidth);const wi=ei-Ci.minimapWidth,Ri=Math.max(1,Math.floor((wi-xe-2)/k)),ai=Ie?Ne:0;return ri&&(ni=Math.max(1,Ri),oe==="bounded"&&(ni=Math.min(ni,re))),{width:i,height:r,glyphMarginLeft:Et,glyphMarginWidth:Ue,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:At,lineNumbersWidth:qe,decorationsLeft:Lt,decorationsWidth:ze,contentLeft:kt,contentWidth:wi,minimap:Ci,viewportColumn:Ri,isWordWrapMinified:jt,isViewportWrapping:ri,wrappingColumn:ni,verticalScrollbarWidth:xe,horizontalScrollbarHeight:Fe,overviewRuler:{top:ai,width:xe,height:r-2*ai,right:0}}}},WrappingStrategy$1=class extends BaseEditorOption$1{constructor(){super(140,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[localize$1("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),localize$1("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:localize$1("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return stringSet$1(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}};var ShowLightbulbIconMode$3;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(ShowLightbulbIconMode$3||(ShowLightbulbIconMode$3={}));let EditorLightbulb$1=class extends BaseEditorOption$1{constructor(){const e={enabled:ShowLightbulbIconMode$3.OnCode};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ShowLightbulbIconMode$3.Off,ShowLightbulbIconMode$3.OnCode,ShowLightbulbIconMode$3.On],default:e.enabled,enumDescriptions:[localize$1("editor.lightbulb.enabled.off","Disable the code action menu."),localize$1("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),localize$1("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:localize$1("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:stringSet$1(e.enabled,this.defaultValue.enabled,[ShowLightbulbIconMode$3.Off,ShowLightbulbIconMode$3.OnCode,ShowLightbulbIconMode$3.On])}}},EditorStickyScroll$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(116,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:localize$1("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:localize$1("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:localize$1("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:localize$1("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),maxLineCount:EditorIntOption$1.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:stringSet$1(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:boolean$1(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}},EditorInlayHints$1=class extends BaseEditorOption$1{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(142,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:localize$1("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[localize$1("editor.inlayHints.on","Inlay hints are enabled"),localize$1("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",isMacintosh$1?"Ctrl+Option":"Ctrl+Alt"),localize$1("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",isMacintosh$1?"Ctrl+Option":"Ctrl+Alt"),localize$1("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:localize$1("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:localize$1("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:localize$1("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:stringSet$1(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:EditorIntOption$1.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:EditorStringOption$1.string(t.fontFamily,this.defaultValue.fontFamily),padding:boolean$1(t.padding,this.defaultValue.padding)}}},EditorLineDecorationsWidth$1=class extends BaseEditorOption$1{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):EditorIntOption$1.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?EditorIntOption$1.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}},EditorLineHeight$1=class extends EditorFloatOption$1{constructor(){super(67,"lineHeight",EDITOR_FONT_DEFAULTS$1.lineHeight,e=>EditorFloatOption$1.clamp(e,0,150),{markdownDescription:localize$1("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}},EditorMinimap$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9,sectionHeaderLetterSpacing:1};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:localize$1("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:localize$1("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[localize$1("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),localize$1("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),localize$1("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:localize$1("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:localize$1("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:localize$1("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:localize$1("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:localize$1("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:localize$1("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:localize$1("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:localize$1("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:localize$1("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")},"editor.minimap.sectionHeaderLetterSpacing":{type:"number",default:e.sectionHeaderLetterSpacing,description:localize$1("minimap.sectionHeaderLetterSpacing","Controls the amount of space (in pixels) between characters of section header. This helps the readability of the header in small font sizes.")}})}validate(e){var i,r;if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),autohide:boolean$1(t.autohide,this.defaultValue.autohide),size:stringSet$1(t.size,this.defaultValue.size,["proportional","fill","fit"]),side:stringSet$1(t.side,this.defaultValue.side,["right","left"]),showSlider:stringSet$1(t.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:boolean$1(t.renderCharacters,this.defaultValue.renderCharacters),scale:EditorIntOption$1.clampedInt(t.scale,1,1,3),maxColumn:EditorIntOption$1.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:boolean$1(t.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:boolean$1(t.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:EditorFloatOption$1.clamp((i=t.sectionHeaderFontSize)!=null?i:this.defaultValue.sectionHeaderFontSize,4,32),sectionHeaderLetterSpacing:EditorFloatOption$1.clamp((r=t.sectionHeaderLetterSpacing)!=null?r:this.defaultValue.sectionHeaderLetterSpacing,0,5)}}};function _multiCursorModifierFromString$1(n){return n==="ctrlCmd"?isMacintosh$1?"metaKey":"ctrlKey":"altKey"}let EditorPadding$1=class extends BaseEditorOption$1{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:localize$1("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:localize$1("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:EditorIntOption$1.clampedInt(t.top,0,0,1e3),bottom:EditorIntOption$1.clampedInt(t.bottom,0,0,1e3)}}},EditorParameterHints$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:localize$1("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:localize$1("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),cycle:boolean$1(t.cycle,this.defaultValue.cycle)}}},EditorPixelRatio$1=class extends ComputedEditorOption$1{constructor(){super(144)}compute(e,t,i){return e.pixelRatio}};class PlaceholderOption extends BaseEditorOption$1{constructor(){super(88,"placeholder",void 0)}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e:this.defaultValue}}let EditorQuickSuggestions$1=class extends BaseEditorOption$1{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[localize$1("on","Quick suggestions show inside the suggest widget"),localize$1("inline","Quick suggestions show as ghost text"),localize$1("off","Quick suggestions are disabled")]}];super(90,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:localize$1("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:localize$1("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:localize$1("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:localize$1("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the {0}-setting which controls if suggestions are triggered by special characters.","`#editor.suggestOnTriggerCharacters#`")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const V=e?"on":"off";return{comments:V,strings:V,other:V}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:r}=e,g=["on","inline","off"];let y,k,L;return typeof t=="boolean"?y=t?"on":"off":y=stringSet$1(t,this.defaultValue.other,g),typeof i=="boolean"?k=i?"on":"off":k=stringSet$1(i,this.defaultValue.comments,g),typeof r=="boolean"?L=r?"on":"off":L=stringSet$1(r,this.defaultValue.strings,g),{other:y,comments:k,strings:L}}},EditorRenderLineNumbersOption$1=class extends BaseEditorOption$1{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[localize$1("lineNumbers.off","Line numbers are not rendered."),localize$1("lineNumbers.on","Line numbers are rendered as absolute number."),localize$1("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),localize$1("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:localize$1("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}};function filterValidationDecorations$1(n){const e=n.get(99);return e==="editable"?n.get(92):e!=="on"}let EditorRulers$1=class extends BaseEditorOption$1{constructor(){const e=[],t={type:"number",description:localize$1("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(103,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:localize$1("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:localize$1("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:EditorIntOption$1.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const r=i;t.push({column:EditorIntOption$1.clampedInt(r.column,0,0,1e4),color:r.color})}return t.sort((i,r)=>i.column-r.column),t}return this.defaultValue}},ReadonlyMessage$1=class extends BaseEditorOption$1{constructor(){super(93,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}};function _scrollbarVisibilityFromString$1(n,e){if(typeof n!="string")return e;switch(n){case"hidden":return 2;case"visible":return 3;default:return 1}}let EditorScrollbar$3=class extends BaseEditorOption$1{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(104,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize$1("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),localize$1("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),localize$1("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:localize$1("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize$1("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),localize$1("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),localize$1("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:localize$1("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:localize$1("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:localize$1("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:localize$1("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:localize$1("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=EditorIntOption$1.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=EditorIntOption$1.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:EditorIntOption$1.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:_scrollbarVisibilityFromString$1(t.vertical,this.defaultValue.vertical),horizontal:_scrollbarVisibilityFromString$1(t.horizontal,this.defaultValue.horizontal),useShadows:boolean$1(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:boolean$1(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:boolean$1(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:boolean$1(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:boolean$1(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:EditorIntOption$1.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:r,verticalSliderSize:EditorIntOption$1.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:boolean$1(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:boolean$1(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const inUntrustedWorkspace$1="inUntrustedWorkspace",unicodeHighlightConfigKeys$1={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};let UnicodeHighlight$1=class extends BaseEditorOption$1{constructor(){const e={nonBasicASCII:inUntrustedWorkspace$1,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:inUntrustedWorkspace$1,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(126,"unicodeHighlight",e,{[unicodeHighlightConfigKeys$1.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace$1],default:e.nonBasicASCII,description:localize$1("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[unicodeHighlightConfigKeys$1.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:localize$1("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[unicodeHighlightConfigKeys$1.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:localize$1("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[unicodeHighlightConfigKeys$1.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace$1],default:e.includeComments,description:localize$1("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys$1.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace$1],default:e.includeStrings,description:localize$1("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys$1.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:localize$1("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[unicodeHighlightConfigKeys$1.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:localize$1("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(equals$4(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(equals$4(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const r=super.applyUpdate(e,t);return i?new ApplyUpdateResult$1(r.newValue,!0):r}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:primitiveSet$1(t.nonBasicASCII,inUntrustedWorkspace$1,[!0,!1,inUntrustedWorkspace$1]),invisibleCharacters:boolean$1(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:boolean$1(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:primitiveSet$1(t.includeComments,inUntrustedWorkspace$1,[!0,!1,inUntrustedWorkspace$1]),includeStrings:primitiveSet$1(t.includeStrings,inUntrustedWorkspace$1,[!0,!1,inUntrustedWorkspace$1]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[r,g]of Object.entries(e))g===!0&&(i[r]=!0);return i}},InlineEditorSuggest$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:localize$1("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize$1("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),localize$1("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),localize$1("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:localize$1("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:localize$1("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:localize$1("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),mode:stringSet$1(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:stringSet$1(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:boolean$1(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:boolean$1(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:EditorStringOption$1.string(t.fontFamily,this.defaultValue.fontFamily)}}},InlineEditorEdit$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:localize$1("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize$1("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),localize$1("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),localize$1("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:localize$1("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:localize$1("inlineEdit.fontFamily","Controls the font family of the inline edit.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),showToolbar:stringSet$1(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:EditorStringOption$1.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:boolean$1(t.keepOnBlur,this.defaultValue.keepOnBlur)}}},BracketPairColorization$1=class extends BaseEditorOption$1{constructor(){const e={enabled:EDITOR_MODEL_DEFAULTS$1.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:EDITOR_MODEL_DEFAULTS$1.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize$1("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:localize$1("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:boolean$1(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},GuideOptions$1=class extends BaseEditorOption$1{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize$1("editor.guides.bracketPairs.true","Enables bracket pair guides."),localize$1("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),localize$1("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:localize$1("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize$1("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),localize$1("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),localize$1("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:localize$1("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:localize$1("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:localize$1("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[localize$1("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),localize$1("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),localize$1("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:localize$1("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:primitiveSet$1(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:primitiveSet$1(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:boolean$1(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:boolean$1(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:primitiveSet$1(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}};function primitiveSet$1(n,e,t){const i=t.indexOf(n);return i===-1?e:t[i]}let EditorSuggest$1=class extends BaseEditorOption$1{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(119,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[localize$1("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),localize$1("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:localize$1("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:localize$1("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:localize$1("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:localize$1("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[localize$1("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),localize$1("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),localize$1("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),localize$1("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:localize$1("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions ({0} and {1}) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.","`#editor.quickSuggestions#`","`#editor.suggestOnTriggerCharacters#`")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:localize$1("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:localize$1("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:localize$1("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:localize$1("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:localize$1("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:localize$1("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:localize$1("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:localize$1("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:stringSet$1(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:boolean$1(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:boolean$1(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:boolean$1(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:boolean$1(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:stringSet$1(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:boolean$1(t.showIcons,this.defaultValue.showIcons),showStatusBar:boolean$1(t.showStatusBar,this.defaultValue.showStatusBar),preview:boolean$1(t.preview,this.defaultValue.preview),previewMode:stringSet$1(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:boolean$1(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:boolean$1(t.showMethods,this.defaultValue.showMethods),showFunctions:boolean$1(t.showFunctions,this.defaultValue.showFunctions),showConstructors:boolean$1(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:boolean$1(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:boolean$1(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:boolean$1(t.showFields,this.defaultValue.showFields),showVariables:boolean$1(t.showVariables,this.defaultValue.showVariables),showClasses:boolean$1(t.showClasses,this.defaultValue.showClasses),showStructs:boolean$1(t.showStructs,this.defaultValue.showStructs),showInterfaces:boolean$1(t.showInterfaces,this.defaultValue.showInterfaces),showModules:boolean$1(t.showModules,this.defaultValue.showModules),showProperties:boolean$1(t.showProperties,this.defaultValue.showProperties),showEvents:boolean$1(t.showEvents,this.defaultValue.showEvents),showOperators:boolean$1(t.showOperators,this.defaultValue.showOperators),showUnits:boolean$1(t.showUnits,this.defaultValue.showUnits),showValues:boolean$1(t.showValues,this.defaultValue.showValues),showConstants:boolean$1(t.showConstants,this.defaultValue.showConstants),showEnums:boolean$1(t.showEnums,this.defaultValue.showEnums),showEnumMembers:boolean$1(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:boolean$1(t.showKeywords,this.defaultValue.showKeywords),showWords:boolean$1(t.showWords,this.defaultValue.showWords),showColors:boolean$1(t.showColors,this.defaultValue.showColors),showFiles:boolean$1(t.showFiles,this.defaultValue.showFiles),showReferences:boolean$1(t.showReferences,this.defaultValue.showReferences),showFolders:boolean$1(t.showFolders,this.defaultValue.showFolders),showTypeParameters:boolean$1(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:boolean$1(t.showSnippets,this.defaultValue.showSnippets),showUsers:boolean$1(t.showUsers,this.defaultValue.showUsers),showIssues:boolean$1(t.showIssues,this.defaultValue.showIssues)}}},SmartSelect$1=class extends BaseEditorOption$1{constructor(){super(114,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:localize$1("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:localize$1("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:boolean$1(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:boolean$1(e.selectSubwords,this.defaultValue.selectSubwords)}}},WordSegmenterLocales$1=class extends BaseEditorOption$1{constructor(){const e=[];super(131,"wordSegmenterLocales",e,{anyOf:[{description:localize$1("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:localize$1("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch(r){}return t}return this.defaultValue}},WrappingIndentOption$1=class extends BaseEditorOption$1{constructor(){super(139,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[localize$1("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),localize$1("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),localize$1("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),localize$1("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:localize$1("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}},EditorWrappingInfoComputer$1=class extends ComputedEditorOption$1{constructor(){super(147)}compute(e,t,i){const r=t.get(146);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}},EditorDropIntoEditor$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize$1("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:localize$1("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[localize$1("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),localize$1("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),showDropSelector:stringSet$1(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}},EditorPasteAs$1=class extends BaseEditorOption$1{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize$1("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:localize$1("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[localize$1("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),localize$1("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean$1(t.enabled,this.defaultValue.enabled),showPasteSelector:stringSet$1(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}};const DEFAULT_WINDOWS_FONT_FAMILY$1="Consolas, 'Courier New', monospace",DEFAULT_MAC_FONT_FAMILY$1="Menlo, Monaco, 'Courier New', monospace",DEFAULT_LINUX_FONT_FAMILY$1="'Droid Sans Mono', 'monospace', monospace",EDITOR_FONT_DEFAULTS$1={fontFamily:isMacintosh$1?DEFAULT_MAC_FONT_FAMILY$1:isLinux$1?DEFAULT_LINUX_FONT_FAMILY$1:DEFAULT_WINDOWS_FONT_FAMILY$1,fontWeight:"normal",fontSize:isMacintosh$1?12:14,lineHeight:0,letterSpacing:0},editorOptionsRegistry$1=[];function register$5(n){return editorOptionsRegistry$1[n.id]=n,n}const EditorOptions$1={acceptSuggestionOnCommitCharacter:register$5(new EditorBooleanOption$1(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:localize$1("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:register$5(new EditorStringEnumOption$1(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",localize$1("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:localize$1("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:register$5(new EditorAccessibilitySupport$1),accessibilityPageSize:register$5(new EditorIntOption$1(3,"accessibilityPageSize",10,1,1073741824,{description:localize$1("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:register$5(new EditorStringOption$1(4,"ariaLabel",localize$1("editorViewAccessibleLabel","Editor content"))),ariaRequired:register$5(new EditorBooleanOption$1(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:register$5(new EditorBooleanOption$1(8,"screenReaderAnnounceInlineSuggestion",!0,{description:localize$1("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:register$5(new EditorStringEnumOption$1(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize$1("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),localize$1("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:localize$1("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:register$5(new EditorStringEnumOption$1(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize$1("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),localize$1("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:localize$1("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:register$5(new EditorStringEnumOption$1(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",localize$1("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:localize$1("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:register$5(new EditorStringEnumOption$1(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",localize$1("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:localize$1("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:register$5(new EditorStringEnumOption$1(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize$1("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),localize$1("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:localize$1("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:register$5(new EditorEnumOption$1(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],_autoIndentFromString$1,{enumDescriptions:[localize$1("editor.autoIndent.none","The editor will not insert indentation automatically."),localize$1("editor.autoIndent.keep","The editor will keep the current line's indentation."),localize$1("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),localize$1("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),localize$1("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:localize$1("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:register$5(new EditorBooleanOption$1(13,"automaticLayout",!1)),autoSurround:register$5(new EditorStringEnumOption$1(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[localize$1("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),localize$1("editor.autoSurround.quotes","Surround with quotes but not brackets."),localize$1("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:localize$1("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:register$5(new BracketPairColorization$1),bracketPairGuides:register$5(new GuideOptions$1),stickyTabStops:register$5(new EditorBooleanOption$1(117,"stickyTabStops",!1,{description:localize$1("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:register$5(new EditorBooleanOption$1(17,"codeLens",!0,{description:localize$1("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:register$5(new EditorStringOption$1(18,"codeLensFontFamily","",{description:localize$1("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:register$5(new EditorIntOption$1(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:localize$1("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:register$5(new EditorBooleanOption$1(20,"colorDecorators",!0,{description:localize$1("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:register$5(new EditorStringEnumOption$1(149,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[localize$1("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),localize$1("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),localize$1("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:localize$1("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:register$5(new EditorIntOption$1(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:localize$1("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:register$5(new EditorBooleanOption$1(22,"columnSelection",!1,{description:localize$1("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:register$5(new EditorComments$1),contextmenu:register$5(new EditorBooleanOption$1(24,"contextmenu",!0)),copyWithSyntaxHighlighting:register$5(new EditorBooleanOption$1(25,"copyWithSyntaxHighlighting",!0,{description:localize$1("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:register$5(new EditorEnumOption$1(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],_cursorBlinkingStyleFromString$1,{description:localize$1("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:register$5(new EditorStringEnumOption$1(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[localize$1("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),localize$1("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),localize$1("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:localize$1("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:register$5(new EditorEnumOption$1(28,"cursorStyle",TextEditorCursorStyle$3.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],_cursorStyleFromString$1,{description:localize$1("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:register$5(new EditorIntOption$1(29,"cursorSurroundingLines",0,0,1073741824,{description:localize$1("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:register$5(new EditorStringEnumOption$1(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[localize$1("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),localize$1("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:localize$1("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:register$5(new EditorIntOption$1(31,"cursorWidth",0,0,1073741824,{markdownDescription:localize$1("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:register$5(new EditorBooleanOption$1(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:register$5(new EditorBooleanOption$1(33,"disableMonospaceOptimizations",!1)),domReadOnly:register$5(new EditorBooleanOption$1(34,"domReadOnly",!1)),dragAndDrop:register$5(new EditorBooleanOption$1(35,"dragAndDrop",!0,{description:localize$1("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:register$5(new EditorEmptySelectionClipboard$1),dropIntoEditor:register$5(new EditorDropIntoEditor$1),stickyScroll:register$5(new EditorStickyScroll$1),experimentalWhitespaceRendering:register$5(new EditorStringEnumOption$1(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[localize$1("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),localize$1("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),localize$1("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:localize$1("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:register$5(new EditorStringOption$1(39,"extraEditorClassName","")),fastScrollSensitivity:register$5(new EditorFloatOption$1(40,"fastScrollSensitivity",5,n=>n<=0?5:n,{markdownDescription:localize$1("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:register$5(new EditorFind$1),fixedOverflowWidgets:register$5(new EditorBooleanOption$1(42,"fixedOverflowWidgets",!1)),folding:register$5(new EditorBooleanOption$1(43,"folding",!0,{description:localize$1("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:register$5(new EditorStringEnumOption$1(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[localize$1("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),localize$1("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:localize$1("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:register$5(new EditorBooleanOption$1(45,"foldingHighlight",!0,{description:localize$1("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:register$5(new EditorBooleanOption$1(46,"foldingImportsByDefault",!1,{description:localize$1("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:register$5(new EditorIntOption$1(47,"foldingMaximumRegions",5e3,10,65e3,{description:localize$1("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:register$5(new EditorBooleanOption$1(48,"unfoldOnClickAfterEndOfLine",!1,{description:localize$1("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:register$5(new EditorStringOption$1(49,"fontFamily",EDITOR_FONT_DEFAULTS$1.fontFamily,{description:localize$1("fontFamily","Controls the font family.")})),fontInfo:register$5(new EditorFontInfo$1),fontLigatures2:register$5(new EditorFontLigatures$1),fontSize:register$5(new EditorFontSize$1),fontWeight:register$5(new EditorFontWeight$1),fontVariations:register$5(new EditorFontVariations$1),formatOnPaste:register$5(new EditorBooleanOption$1(55,"formatOnPaste",!1,{description:localize$1("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:register$5(new EditorBooleanOption$1(56,"formatOnType",!1,{description:localize$1("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:register$5(new EditorBooleanOption$1(57,"glyphMargin",!0,{description:localize$1("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:register$5(new EditorGoToLocation$1),hideCursorInOverviewRuler:register$5(new EditorBooleanOption$1(59,"hideCursorInOverviewRuler",!1,{description:localize$1("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:register$5(new EditorHover$1),inDiffEditor:register$5(new EditorBooleanOption$1(61,"inDiffEditor",!1)),letterSpacing:register$5(new EditorFloatOption$1(64,"letterSpacing",EDITOR_FONT_DEFAULTS$1.letterSpacing,n=>EditorFloatOption$1.clamp(n,-5,20),{description:localize$1("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:register$5(new EditorLightbulb$1),lineDecorationsWidth:register$5(new EditorLineDecorationsWidth$1),lineHeight:register$5(new EditorLineHeight$1),lineNumbers:register$5(new EditorRenderLineNumbersOption$1),lineNumbersMinChars:register$5(new EditorIntOption$1(69,"lineNumbersMinChars",5,1,300)),linkedEditing:register$5(new EditorBooleanOption$1(70,"linkedEditing",!1,{description:localize$1("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:register$5(new EditorBooleanOption$1(71,"links",!0,{description:localize$1("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:register$5(new EditorStringEnumOption$1(72,"matchBrackets","always",["always","near","never"],{description:localize$1("matchBrackets","Highlight matching brackets.")})),minimap:register$5(new EditorMinimap$1),mouseStyle:register$5(new EditorStringEnumOption$1(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:register$5(new EditorFloatOption$1(75,"mouseWheelScrollSensitivity",1,n=>n===0?1:n,{markdownDescription:localize$1("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:register$5(new EditorBooleanOption$1(76,"mouseWheelZoom",!1,{markdownDescription:isMacintosh$1?localize$1("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):localize$1("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:register$5(new EditorBooleanOption$1(77,"multiCursorMergeOverlapping",!0,{description:localize$1("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:register$5(new EditorEnumOption$1(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],_multiCursorModifierFromString$1,{markdownEnumDescriptions:[localize$1("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize$1("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:localize$1({key:"multiCursorModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:register$5(new EditorStringEnumOption$1(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[localize$1("multiCursorPaste.spread","Each cursor pastes a single line of the text."),localize$1("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:localize$1("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:register$5(new EditorIntOption$1(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:localize$1("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:register$5(new EditorStringEnumOption$1(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[localize$1("occurrencesHighlight.off","Does not highlight occurrences."),localize$1("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),localize$1("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:localize$1("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:register$5(new EditorBooleanOption$1(82,"overviewRulerBorder",!0,{description:localize$1("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:register$5(new EditorIntOption$1(83,"overviewRulerLanes",3,0,3)),padding:register$5(new EditorPadding$1),pasteAs:register$5(new EditorPasteAs$1),parameterHints:register$5(new EditorParameterHints$1),peekWidgetDefaultFocus:register$5(new EditorStringEnumOption$1(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[localize$1("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),localize$1("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:localize$1("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),placeholder:register$5(new PlaceholderOption),definitionLinkOpensInPeek:register$5(new EditorBooleanOption$1(89,"definitionLinkOpensInPeek",!1,{description:localize$1("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:register$5(new EditorQuickSuggestions$1),quickSuggestionsDelay:register$5(new EditorIntOption$1(91,"quickSuggestionsDelay",10,0,1073741824,{description:localize$1("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:register$5(new EditorBooleanOption$1(92,"readOnly",!1)),readOnlyMessage:register$5(new ReadonlyMessage$1),renameOnType:register$5(new EditorBooleanOption$1(94,"renameOnType",!1,{description:localize$1("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:localize$1("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:register$5(new EditorBooleanOption$1(95,"renderControlCharacters",!0,{description:localize$1("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:register$5(new EditorStringEnumOption$1(96,"renderFinalNewline",isLinux$1?"dimmed":"on",["off","on","dimmed"],{description:localize$1("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:register$5(new EditorStringEnumOption$1(97,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",localize$1("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:localize$1("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:register$5(new EditorBooleanOption$1(98,"renderLineHighlightOnlyWhenFocus",!1,{description:localize$1("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:register$5(new EditorStringEnumOption$1(99,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:register$5(new EditorStringEnumOption$1(100,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",localize$1("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),localize$1("renderWhitespace.selection","Render whitespace characters only on selected text."),localize$1("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:localize$1("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:register$5(new EditorIntOption$1(101,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:register$5(new EditorBooleanOption$1(102,"roundedSelection",!0,{description:localize$1("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:register$5(new EditorRulers$1),scrollbar:register$5(new EditorScrollbar$3),scrollBeyondLastColumn:register$5(new EditorIntOption$1(105,"scrollBeyondLastColumn",4,0,1073741824,{description:localize$1("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:register$5(new EditorBooleanOption$1(106,"scrollBeyondLastLine",!0,{description:localize$1("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:register$5(new EditorBooleanOption$1(107,"scrollPredominantAxis",!0,{description:localize$1("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:register$5(new EditorBooleanOption$1(108,"selectionClipboard",!0,{description:localize$1("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:isLinux$1})),selectionHighlight:register$5(new EditorBooleanOption$1(109,"selectionHighlight",!0,{description:localize$1("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:register$5(new EditorBooleanOption$1(110,"selectOnLineNumbers",!0)),showFoldingControls:register$5(new EditorStringEnumOption$1(111,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[localize$1("showFoldingControls.always","Always show the folding controls."),localize$1("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),localize$1("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:localize$1("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:register$5(new EditorBooleanOption$1(112,"showUnused",!0,{description:localize$1("showUnused","Controls fading out of unused code.")})),showDeprecated:register$5(new EditorBooleanOption$1(141,"showDeprecated",!0,{description:localize$1("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:register$5(new EditorInlayHints$1),snippetSuggestions:register$5(new EditorStringEnumOption$1(113,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[localize$1("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),localize$1("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),localize$1("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),localize$1("snippetSuggestions.none","Do not show snippet suggestions.")],description:localize$1("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:register$5(new SmartSelect$1),smoothScrolling:register$5(new EditorBooleanOption$1(115,"smoothScrolling",!1,{description:localize$1("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:register$5(new EditorIntOption$1(118,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:register$5(new EditorSuggest$1),inlineSuggest:register$5(new InlineEditorSuggest$1),inlineEdit:register$5(new InlineEditorEdit$1),inlineCompletionsAccessibilityVerbose:register$5(new EditorBooleanOption$1(150,"inlineCompletionsAccessibilityVerbose",!1,{description:localize$1("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:register$5(new EditorIntOption$1(120,"suggestFontSize",0,0,1e3,{markdownDescription:localize$1("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:register$5(new EditorIntOption$1(121,"suggestLineHeight",0,0,1e3,{markdownDescription:localize$1("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:register$5(new EditorBooleanOption$1(122,"suggestOnTriggerCharacters",!0,{description:localize$1("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:register$5(new EditorStringEnumOption$1(123,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[localize$1("suggestSelection.first","Always select the first suggestion."),localize$1("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),localize$1("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:localize$1("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:register$5(new EditorStringEnumOption$1(124,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[localize$1("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),localize$1("tabCompletion.off","Disable tab completions."),localize$1("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:localize$1("tabCompletion","Enables tab completions.")})),tabIndex:register$5(new EditorIntOption$1(125,"tabIndex",0,-1,1073741824)),unicodeHighlight:register$5(new UnicodeHighlight$1),unusualLineTerminators:register$5(new EditorStringEnumOption$1(127,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[localize$1("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),localize$1("unusualLineTerminators.off","Unusual line terminators are ignored."),localize$1("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:localize$1("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:register$5(new EditorBooleanOption$1(128,"useShadowDOM",!0)),useTabStops:register$5(new EditorBooleanOption$1(129,"useTabStops",!0,{description:localize$1("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:register$5(new EditorStringEnumOption$1(130,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[localize$1("wordBreak.normal","Use the default line break rule."),localize$1("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:localize$1("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:register$5(new WordSegmenterLocales$1),wordSeparators:register$5(new EditorStringOption$1(132,"wordSeparators",USUAL_WORD_SEPARATORS$1,{description:localize$1("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:register$5(new EditorStringEnumOption$1(133,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[localize$1("wordWrap.off","Lines will never wrap."),localize$1("wordWrap.on","Lines will wrap at the viewport width."),localize$1({key:"wordWrap.wordWrapColumn",comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),localize$1({key:"wordWrap.bounded",comment:["- viewport means the edge of the visible window size.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:localize$1({key:"wordWrap",comment:["- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.","- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:register$5(new EditorStringOption$1(134,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:register$5(new EditorStringOption$1(135,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:register$5(new EditorIntOption$1(136,"wordWrapColumn",80,1,1073741824,{markdownDescription:localize$1({key:"wordWrapColumn",comment:["- `editor.wordWrap` refers to a different setting and should not be localized.","- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized."]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:register$5(new EditorStringEnumOption$1(137,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:register$5(new EditorStringEnumOption$1(138,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:register$5(new EditorClassName$1),defaultColorDecorators:register$5(new EditorBooleanOption$1(148,"defaultColorDecorators",!1,{markdownDescription:localize$1("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:register$5(new EditorPixelRatio$1),tabFocusMode:register$5(new EditorBooleanOption$1(145,"tabFocusMode",!1,{markdownDescription:localize$1("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:register$5(new EditorLayoutInfoComputer$1),wrappingInfo:register$5(new EditorWrappingInfoComputer$1),wrappingIndent:register$5(new WrappingIndentOption$1),wrappingStrategy:register$5(new WrappingStrategy$1)};let ErrorHandler$1=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ErrorNoTelemetry$1.isErrorNoTelemetry(e)?new ErrorNoTelemetry$1(e.message+"\n\n"+e.stack):new Error(e.message+"\n\n"+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};const errorHandler$1=new ErrorHandler$1;function onUnexpectedError$1(n){isCancellationError$1(n)||errorHandler$1.onUnexpectedError(n)}function onUnexpectedExternalError$1(n){isCancellationError$1(n)||errorHandler$1.onUnexpectedExternalError(n)}function transformErrorForSerialization$1(n){if(n instanceof Error){const{name:e,message:t}=n,i=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:ErrorNoTelemetry$1.isErrorNoTelemetry(n)}}return n}const canceledName$1="Canceled";function isCancellationError$1(n){return n instanceof CancellationError$1?!0:n instanceof Error&&n.name===canceledName$1&&n.message===canceledName$1}let CancellationError$1=class extends Error{constructor(){super(canceledName$1),this.name=this.message}};function canceled$1(){const n=new Error(canceledName$1);return n.name=n.message,n}function illegalArgument$1(n){return n?new Error("Illegal argument: ".concat(n)):new Error("Illegal argument")}function illegalState$1(n){return n?new Error("Illegal state: ".concat(n)):new Error("Illegal state")}let NotSupportedError$1=class extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}},ErrorNoTelemetry$1=class cd extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof cd)return e;const t=new cd;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},BugIndicatingError$1=class fu extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,fu.prototype)}};function createSingleCallFunction$1(n,e){const t=this;let i=!1,r;return function(){return i||(i=!0,r=n.apply(t,arguments)),r}}function trackDisposable$1(n){return n}function setParentOfDisposable$1(n,e){}function markAsSingleton$1(n){return n}function isDisposable$1(n){return typeof n=="object"&&n!==null&&typeof n.dispose=="function"&&n.dispose.length===0}function dispose$1(n){if(Iterable$1.is(n)){const e=[];for(const t of n)if(t)try{t.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function combinedDisposable$1(...n){return toDisposable$1(()=>dispose$1(n))}function toDisposable$1(n){return{dispose:createSingleCallFunction$1(()=>{n()})}}var fs;let DisposableStore$1=(fs=class{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{dispose$1(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?fs.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}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}},fs.DISABLE_DISPOSED_WARNING=!1,fs);var ql;let Disposable$1=(ql=class{constructor(){this._store=new DisposableStore$1,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}},ql.None=Object.freeze({dispose(){}}),ql),MutableDisposable$1=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}},RefCountedDisposable$1=class{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}},ImmortalReference$1=class{constructor(e){this.object=e}dispose(){}},DisposableMap$1=class{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{dispose$1(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var r;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),i||(r=this._store.get(e))==null||r.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))==null||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}};const hasPerformanceNow$1=globalThis.performance&&typeof globalThis.performance.now=="function";let StopWatch$1=class pu{static create(e){return new pu(e)}constructor(e){this._now=hasPerformanceNow$1&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}};var Event$2;(function(n){n.None=()=>Disposable$1.None;function e(ze,qe){return ie(ze,()=>{},0,void 0,!0,void 0,qe)}n.defer=e;function t(ze){return(qe,Ue=null,Et)=>{let At=!1,Lt;return Lt=ze(kt=>{if(!At)return Lt?Lt.dispose():At=!0,qe.call(Ue,kt)},null,Et),At&&Lt.dispose(),Lt}}n.once=t;function i(ze,qe){return n.once(n.filter(ze,qe))}n.onceIf=i;function r(ze,qe,Ue){return z((Et,At=null,Lt)=>ze(kt=>Et.call(At,qe(kt)),null,Lt),Ue)}n.map=r;function g(ze,qe,Ue){return z((Et,At=null,Lt)=>ze(kt=>{qe(kt),Et.call(At,kt)},null,Lt),Ue)}n.forEach=g;function y(ze,qe,Ue){return z((Et,At=null,Lt)=>ze(kt=>qe(kt)&&Et.call(At,kt),null,Lt),Ue)}n.filter=y;function k(ze){return ze}n.signal=k;function L(...ze){return(qe,Ue=null,Et)=>{const At=combinedDisposable$1(...ze.map(Lt=>Lt(kt=>qe.call(Ue,kt))));return j(At,Et)}}n.any=L;function V(ze,qe,Ue,Et){let At=Ue;return r(ze,Lt=>(At=qe(At,Lt),At),Et)}n.reduce=V;function z(ze,qe){let Ue;const Et={onWillAddFirstListener(){Ue=ze(At.fire,At)},onDidRemoveLastListener(){Ue==null||Ue.dispose()}},At=new Emitter$3(Et);return qe==null||qe.add(At),At.event}function j(ze,qe){return qe instanceof Array?qe.push(ze):qe&&qe.add(ze),ze}function ie(ze,qe,Ue=100,Et=!1,At=!1,Lt,kt){let ei,jt,ri,ni=0,Ci;const wi={leakWarningThreshold:Lt,onWillAddFirstListener(){ei=ze(ai=>{ni++,jt=qe(jt,ai),Et&&!ri&&(Ri.fire(jt),jt=void 0),Ci=()=>{const hi=jt;jt=void 0,ri=void 0,(!Et||ni>1)&&Ri.fire(hi),ni=0},typeof Ue=="number"?(clearTimeout(ri),ri=setTimeout(Ci,Ue)):ri===void 0&&(ri=0,queueMicrotask(Ci))})},onWillRemoveListener(){At&&ni>0&&(Ci==null||Ci())},onDidRemoveLastListener(){Ci=void 0,ei.dispose()}},Ri=new Emitter$3(wi);return kt==null||kt.add(Ri),Ri.event}n.debounce=ie;function oe(ze,qe=0,Ue){return n.debounce(ze,(Et,At)=>Et?(Et.push(At),Et):[At],qe,void 0,!0,void 0,Ue)}n.accumulate=oe;function re(ze,qe=(Et,At)=>Et===At,Ue){let Et=!0,At;return y(ze,Lt=>{const kt=Et||!qe(Lt,At);return Et=!1,At=Lt,kt},Ue)}n.latch=re;function ae(ze,qe,Ue){return[n.filter(ze,qe,Ue),n.filter(ze,Et=>!qe(Et),Ue)]}n.split=ae;function le(ze,qe=!1,Ue=[],Et){let At=Ue.slice(),Lt=ze(jt=>{At?At.push(jt):ei.fire(jt)});Et&&Et.add(Lt);const kt=()=>{At==null||At.forEach(jt=>ei.fire(jt)),At=null},ei=new Emitter$3({onWillAddFirstListener(){Lt||(Lt=ze(jt=>ei.fire(jt)),Et&&Et.add(Lt))},onDidAddFirstListener(){At&&(qe?setTimeout(kt):kt())},onDidRemoveLastListener(){Lt&&Lt.dispose(),Lt=null}});return Et&&Et.add(ei),ei.event}n.buffer=le;function de(ze,qe){return(Et,At,Lt)=>{const kt=qe(new he);return ze(function(ei){const jt=kt.evaluate(ei);jt!==ue&&Et.call(At,jt)},void 0,Lt)}}n.chain=de;const ue=Symbol("HaltChainable");class he{constructor(){this.steps=[]}map(qe){return this.steps.push(qe),this}forEach(qe){return this.steps.push(Ue=>(qe(Ue),Ue)),this}filter(qe){return this.steps.push(Ue=>qe(Ue)?Ue:ue),this}reduce(qe,Ue){let Et=Ue;return this.steps.push(At=>(Et=qe(Et,At),Et)),this}latch(qe=(Ue,Et)=>Ue===Et){let Ue=!0,Et;return this.steps.push(At=>{const Lt=Ue||!qe(At,Et);return Ue=!1,Et=At,Lt?At:ue}),this}evaluate(qe){for(const Ue of this.steps)if(qe=Ue(qe),qe===ue)break;return qe}}function pe(ze,qe,Ue=Et=>Et){const Et=(...ei)=>kt.fire(Ue(...ei)),At=()=>ze.on(qe,Et),Lt=()=>ze.removeListener(qe,Et),kt=new Emitter$3({onWillAddFirstListener:At,onDidRemoveLastListener:Lt});return kt.event}n.fromNodeEventEmitter=pe;function Ce(ze,qe,Ue=Et=>Et){const Et=(...ei)=>kt.fire(Ue(...ei)),At=()=>ze.addEventListener(qe,Et),Lt=()=>ze.removeEventListener(qe,Et),kt=new Emitter$3({onWillAddFirstListener:At,onDidRemoveLastListener:Lt});return kt.event}n.fromDOMEventEmitter=Ce;function $e(ze){return new Promise(qe=>t(ze)(qe))}n.toPromise=$e;function xe(ze){const qe=new Emitter$3;return ze.then(Ue=>{qe.fire(Ue)},()=>{qe.fire(void 0)}).finally(()=>{qe.dispose()}),qe.event}n.fromPromise=xe;function Ie(ze,qe){return ze(Ue=>qe.fire(Ue))}n.forward=Ie;function Ne(ze,qe,Ue){return qe(Ue),ze(Et=>qe(Et))}n.runAndSubscribe=Ne;class Fe{constructor(qe,Ue){this._observable=qe,this._counter=0,this._hasChanged=!1;const Et={onWillAddFirstListener:()=>{qe.addObserver(this),this._observable.reportChanges()},onDidRemoveLastListener:()=>{qe.removeObserver(this)}};this.emitter=new Emitter$3(Et),Ue&&Ue.add(this.emitter)}beginUpdate(qe){this._counter++}handlePossibleChange(qe){}handleChange(qe,Ue){this._hasChanged=!0}endUpdate(qe){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Ve(ze,qe){return new Fe(ze,qe).emitter.event}n.fromObservable=Ve;function Oe(ze){return(qe,Ue,Et)=>{let At=0,Lt=!1;const kt={beginUpdate(){At++},endUpdate(){At--,At===0&&(ze.reportChanges(),Lt&&(Lt=!1,qe.call(Ue)))},handlePossibleChange(){},handleChange(){Lt=!0}};ze.addObserver(kt),ze.reportChanges();const ei={dispose(){ze.removeObserver(kt)}};return Et instanceof DisposableStore$1?Et.add(ei):Array.isArray(Et)&&Et.push(ei),ei}}n.fromObservableLight=Oe})(Event$2||(Event$2={}));var ir;let EventProfiling$1=(ir=class{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name="".concat(e,"_").concat(ir._idPool++),ir.all.add(this)}start(e){this._stopWatch=new StopWatch$1,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}},ir.all=new Set,ir._idPool=0,ir),_globalLeakWarningThreshold$1=-1;var ps;let LeakageMonitor$1=(ps=class{constructor(e,t,i=(ps._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=t,this.name=i,this._warnCountdown=0}dispose(){var e;(e=this._stacks)==null||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const g=this._stacks.get(e.value)||0;this._stacks.set(e.value,g-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(const[i,r]of this._stacks)(!e||t{var L,V,z,j,ie,oe,re;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){const ae="[".concat(this._leakageMon.name,"] REFUSES to accept new listeners because it exceeded its threshold by far (").concat(this._size," vs ").concat(this._leakageMon.threshold,")");console.warn(ae);const le=(L=this._leakageMon.getMostFrequentStack())!=null?L:["UNKNOWN stack",-1],de=new ListenerRefusalError("".concat(ae,". HINT: Stack shows most frequent listener (").concat(le[1],"-times)"),le[0]);return(((V=this._options)==null?void 0:V.onListenerError)||onUnexpectedError$1)(de),Disposable$1.None}if(this._disposed)return Disposable$1.None;i&&(t=t.bind(i));const g=new UniqueContainer$1(t);let y;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(g.stack=Stacktrace$1.create(),y=this._leakageMon.check(g.stack,this._size+1)),this._listeners?this._listeners instanceof UniqueContainer$1?((re=this._deliveryQueue)!=null||(this._deliveryQueue=new EventDeliveryQueuePrivate$1),this._listeners=[this._listeners,g]):this._listeners.push(g):((j=(z=this._options)==null?void 0:z.onWillAddFirstListener)==null||j.call(z,this),this._listeners=g,(oe=(ie=this._options)==null?void 0:ie.onDidAddFirstListener)==null||oe.call(ie,this)),this._size++;const k=toDisposable$1(()=>{y==null||y(),this._removeListener(g)});return r instanceof DisposableStore$1?r.add(k):Array.isArray(r)&&r.push(k),k}),this._event}_removeListener(e){var g,y,k,L;if((y=(g=this._options)==null?void 0:g.onWillRemoveListener)==null||y.call(g,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(L=(k=this._options)==null?void 0:k.onDidRemoveLastListener)==null||L.call(k,this),this._size=0;return}const t=this._listeners,i=t.indexOf(e);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[i]=void 0;const r=this._deliveryQueue.current===this;if(this._size*compactionThreshold$1<=t.length){let V=0;for(let z=0;z0}};const createEventDeliveryQueue$1=()=>new EventDeliveryQueuePrivate$1;let EventDeliveryQueuePrivate$1=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},PauseableEmitter$1=class extends Emitter$3{constructor(e){super(e),this._isPaused=0,this._eventQueue=new LinkedList$1,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}},DebounceEmitter$1=class extends PauseableEmitter$1{constructor(e){var t;super(e),this._delay=(t=e.delay)!=null?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}},MicrotaskEmitter$1=class extends Emitter$3{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}},EventMultiplexer$1=class{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Emitter$3({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),toDisposable$1(createSingleCallFunction$1(()=>{this.hasListeners&&this.unhook(t);const r=this.events.indexOf(t);this.events.splice(r,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)==null||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)==null||e.dispose();this.events=[]}},EventBufferer$1=class{constructor(){this.data=[]}wrapEvent(e,t,i){return(r,g,y)=>e(k=>{var z;const L=this.data[this.data.length-1];if(!t){L?L.buffers.push(()=>r.call(g,k)):r.call(g,k);return}const V=L;if(!V){r.call(g,t(i,k));return}(z=V.items)!=null||(V.items=[]),V.items.push(k),V.buffers.length===0&&L.buffers.push(()=>{var j;(j=V.reducedResult)!=null||(V.reducedResult=i?V.items.reduce(t,i):V.items.reduce(t)),r.call(g,V.reducedResult)})},void 0,y)}bufferEvents(e){const t={buffers:new Array};this.data.push(t);const i=e();return this.data.pop(),t.buffers.forEach(r=>r()),i}},Relay$1=class{constructor(){this.listening=!1,this.inputEvent=Event$2.None,this.inputEventListener=Disposable$1.None,this.emitter=new Emitter$3({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}};const shortcutEvent$1=Object.freeze(function(n,e){const t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}});var CancellationToken$1;(function(n){function e(t){return t===n.None||t===n.Cancelled||t instanceof MutableToken$1?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Event$2.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:shortcutEvent$1})})(CancellationToken$1||(CancellationToken$1={}));let MutableToken$1=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent$1:(this._emitter||(this._emitter=new Emitter$3),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},CancellationTokenSource$3=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new MutableToken$1),this._token}cancel(){this._token?this._token instanceof MutableToken$1&&this._token.cancel():this._token=CancellationToken$1.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)==null||t.dispose(),this._token?this._token instanceof MutableToken$1&&this._token.dispose():this._token=CancellationToken$1.None}};function cancelOnDispose(n){const e=new CancellationTokenSource$3;return n.add({dispose(){e.cancel()}}),e.token}let KeyCodeStrMap$1=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}};const uiMap$1=new KeyCodeStrMap$1,userSettingsUSMap$1=new KeyCodeStrMap$1,userSettingsGeneralMap$1=new KeyCodeStrMap$1,EVENT_KEY_CODE_MAP$1=new Array(230),scanCodeStrToInt$1=Object.create(null),scanCodeLowerCaseStrToInt$1=Object.create(null),IMMUTABLE_CODE_TO_KEY_CODE$1=[];for(let n=0;n<=193;n++)IMMUTABLE_CODE_TO_KEY_CODE$1[n]=-1;(function(){const n="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[1,1,"Hyper",0,n,0,n,n,n],[1,2,"Super",0,n,0,n,n,n],[1,3,"Fn",0,n,0,n,n,n],[1,4,"FnLock",0,n,0,n,n,n],[1,5,"Suspend",0,n,0,n,n,n],[1,6,"Resume",0,n,0,n,n,n],[1,7,"Turbo",0,n,0,n,n,n],[1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[1,9,"WakeUp",0,n,0,n,n,n],[0,10,"KeyA",31,"A",65,"VK_A",n,n],[0,11,"KeyB",32,"B",66,"VK_B",n,n],[0,12,"KeyC",33,"C",67,"VK_C",n,n],[0,13,"KeyD",34,"D",68,"VK_D",n,n],[0,14,"KeyE",35,"E",69,"VK_E",n,n],[0,15,"KeyF",36,"F",70,"VK_F",n,n],[0,16,"KeyG",37,"G",71,"VK_G",n,n],[0,17,"KeyH",38,"H",72,"VK_H",n,n],[0,18,"KeyI",39,"I",73,"VK_I",n,n],[0,19,"KeyJ",40,"J",74,"VK_J",n,n],[0,20,"KeyK",41,"K",75,"VK_K",n,n],[0,21,"KeyL",42,"L",76,"VK_L",n,n],[0,22,"KeyM",43,"M",77,"VK_M",n,n],[0,23,"KeyN",44,"N",78,"VK_N",n,n],[0,24,"KeyO",45,"O",79,"VK_O",n,n],[0,25,"KeyP",46,"P",80,"VK_P",n,n],[0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[0,27,"KeyR",48,"R",82,"VK_R",n,n],[0,28,"KeyS",49,"S",83,"VK_S",n,n],[0,29,"KeyT",50,"T",84,"VK_T",n,n],[0,30,"KeyU",51,"U",85,"VK_U",n,n],[0,31,"KeyV",52,"V",86,"VK_V",n,n],[0,32,"KeyW",53,"W",87,"VK_W",n,n],[0,33,"KeyX",54,"X",88,"VK_X",n,n],[0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[0,36,"Digit1",22,"1",49,"VK_1",n,n],[0,37,"Digit2",23,"2",50,"VK_2",n,n],[0,38,"Digit3",24,"3",51,"VK_3",n,n],[0,39,"Digit4",25,"4",52,"VK_4",n,n],[0,40,"Digit5",26,"5",53,"VK_5",n,n],[0,41,"Digit6",27,"6",54,"VK_6",n,n],[0,42,"Digit7",28,"7",55,"VK_7",n,n],[0,43,"Digit8",29,"8",56,"VK_8",n,n],[0,44,"Digit9",30,"9",57,"VK_9",n,n],[0,45,"Digit0",21,"0",48,"VK_0",n,n],[1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,n,0,n,n,n],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[1,64,"F1",59,"F1",112,"VK_F1",n,n],[1,65,"F2",60,"F2",113,"VK_F2",n,n],[1,66,"F3",61,"F3",114,"VK_F3",n,n],[1,67,"F4",62,"F4",115,"VK_F4",n,n],[1,68,"F5",63,"F5",116,"VK_F5",n,n],[1,69,"F6",64,"F6",117,"VK_F6",n,n],[1,70,"F7",65,"F7",118,"VK_F7",n,n],[1,71,"F8",66,"F8",119,"VK_F8",n,n],[1,72,"F9",67,"F9",120,"VK_F9",n,n],[1,73,"F10",68,"F10",121,"VK_F10",n,n],[1,74,"F11",69,"F11",122,"VK_F11",n,n],[1,75,"F12",70,"F12",123,"VK_F12",n,n],[1,76,"PrintScreen",0,n,0,n,n,n],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",n,n],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[1,80,"Home",14,"Home",36,"VK_HOME",n,n],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[1,83,"End",13,"End",35,"VK_END",n,n],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",n,n],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",n,n],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",n,n],[1,94,"NumpadEnter",3,n,0,n,n,n],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",n,n],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",n,n],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",n,n],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",n,n],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",n,n],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",n,n],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",n,n],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",n,n],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",n,n],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",n,n],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",n,n],[1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[1,108,"Power",0,n,0,n,n,n],[1,109,"NumpadEqual",0,n,0,n,n,n],[1,110,"F13",71,"F13",124,"VK_F13",n,n],[1,111,"F14",72,"F14",125,"VK_F14",n,n],[1,112,"F15",73,"F15",126,"VK_F15",n,n],[1,113,"F16",74,"F16",127,"VK_F16",n,n],[1,114,"F17",75,"F17",128,"VK_F17",n,n],[1,115,"F18",76,"F18",129,"VK_F18",n,n],[1,116,"F19",77,"F19",130,"VK_F19",n,n],[1,117,"F20",78,"F20",131,"VK_F20",n,n],[1,118,"F21",79,"F21",132,"VK_F21",n,n],[1,119,"F22",80,"F22",133,"VK_F22",n,n],[1,120,"F23",81,"F23",134,"VK_F23",n,n],[1,121,"F24",82,"F24",135,"VK_F24",n,n],[1,122,"Open",0,n,0,n,n,n],[1,123,"Help",0,n,0,n,n,n],[1,124,"Select",0,n,0,n,n,n],[1,125,"Again",0,n,0,n,n,n],[1,126,"Undo",0,n,0,n,n,n],[1,127,"Cut",0,n,0,n,n,n],[1,128,"Copy",0,n,0,n,n,n],[1,129,"Paste",0,n,0,n,n,n],[1,130,"Find",0,n,0,n,n,n],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",n,n],[1,136,"KanaMode",0,n,0,n,n,n],[0,137,"IntlYen",0,n,0,n,n,n],[1,138,"Convert",0,n,0,n,n,n],[1,139,"NonConvert",0,n,0,n,n,n],[1,140,"Lang1",0,n,0,n,n,n],[1,141,"Lang2",0,n,0,n,n,n],[1,142,"Lang3",0,n,0,n,n,n],[1,143,"Lang4",0,n,0,n,n,n],[1,144,"Lang5",0,n,0,n,n,n],[1,145,"Abort",0,n,0,n,n,n],[1,146,"Props",0,n,0,n,n,n],[1,147,"NumpadParenLeft",0,n,0,n,n,n],[1,148,"NumpadParenRight",0,n,0,n,n,n],[1,149,"NumpadBackspace",0,n,0,n,n,n],[1,150,"NumpadMemoryStore",0,n,0,n,n,n],[1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[1,152,"NumpadMemoryClear",0,n,0,n,n,n],[1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",n,n],[1,156,"NumpadClearEntry",0,n,0,n,n,n],[1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[1,0,n,6,"Alt",18,"VK_MENU",n,n],[1,0,n,57,"Meta",91,"VK_COMMAND",n,n],[1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[1,165,"BrightnessUp",0,n,0,n,n,n],[1,166,"BrightnessDown",0,n,0,n,n,n],[1,167,"MediaPlay",0,n,0,n,n,n],[1,168,"MediaRecord",0,n,0,n,n,n],[1,169,"MediaFastForward",0,n,0,n,n,n],[1,170,"MediaRewind",0,n,0,n,n,n],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",n,n],[1,174,"Eject",0,n,0,n,n,n],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[1,180,"SelectTask",0,n,0,n,n,n],[1,181,"LaunchScreenSaver",0,n,0,n,n,n],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[1,189,"ZoomToggle",0,n,0,n,n,n],[1,190,"MailReply",0,n,0,n,n,n],[1,191,"MailForward",0,n,0,n,n,n],[1,192,"MailSend",0,n,0,n,n,n],[1,0,n,114,"KeyInComposition",229,n,n,n],[1,0,n,116,"ABNT_C2",194,"VK_ABNT_C2",n,n],[1,0,n,96,"OEM_8",223,"VK_OEM_8",n,n],[1,0,n,0,n,0,"VK_KANA",n,n],[1,0,n,0,n,0,"VK_HANGUL",n,n],[1,0,n,0,n,0,"VK_JUNJA",n,n],[1,0,n,0,n,0,"VK_FINAL",n,n],[1,0,n,0,n,0,"VK_HANJA",n,n],[1,0,n,0,n,0,"VK_KANJI",n,n],[1,0,n,0,n,0,"VK_CONVERT",n,n],[1,0,n,0,n,0,"VK_NONCONVERT",n,n],[1,0,n,0,n,0,"VK_ACCEPT",n,n],[1,0,n,0,n,0,"VK_MODECHANGE",n,n],[1,0,n,0,n,0,"VK_SELECT",n,n],[1,0,n,0,n,0,"VK_PRINT",n,n],[1,0,n,0,n,0,"VK_EXECUTE",n,n],[1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[1,0,n,0,n,0,"VK_HELP",n,n],[1,0,n,0,n,0,"VK_APPS",n,n],[1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[1,0,n,0,n,0,"VK_PACKET",n,n],[1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[1,0,n,0,n,0,"VK_ATTN",n,n],[1,0,n,0,n,0,"VK_CRSEL",n,n],[1,0,n,0,n,0,"VK_EXSEL",n,n],[1,0,n,0,n,0,"VK_EREOF",n,n],[1,0,n,0,n,0,"VK_PLAY",n,n],[1,0,n,0,n,0,"VK_ZOOM",n,n],[1,0,n,0,n,0,"VK_NONAME",n,n],[1,0,n,0,n,0,"VK_PA1",n,n],[1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]],t=[],i=[];for(const r of e){const[g,y,k,L,V,z,j,ie,oe]=r;if(i[y]||(i[y]=!0,scanCodeStrToInt$1[k]=y,scanCodeLowerCaseStrToInt$1[k.toLowerCase()]=y,g&&(IMMUTABLE_CODE_TO_KEY_CODE$1[y]=L)),!t[L]){if(t[L]=!0,!V)throw new Error("String representation missing for key code ".concat(L," around scan code ").concat(k));uiMap$1.define(L,V),userSettingsUSMap$1.define(L,ie||V),userSettingsGeneralMap$1.define(L,oe||ie||V)}z&&(EVENT_KEY_CODE_MAP$1[z]=L)}})();var KeyCodeUtils$1;(function(n){function e(k){return uiMap$1.keyCodeToStr(k)}n.toString=e;function t(k){return uiMap$1.strToKeyCode(k)}n.fromString=t;function i(k){return userSettingsUSMap$1.keyCodeToStr(k)}n.toUserSettingsUS=i;function r(k){return userSettingsGeneralMap$1.keyCodeToStr(k)}n.toUserSettingsGeneral=r;function g(k){return userSettingsUSMap$1.strToKeyCode(k)||userSettingsGeneralMap$1.strToKeyCode(k)}n.fromUserSettings=g;function y(k){if(k>=98&&k<=113)return null;switch(k){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uiMap$1.keyCodeToStr(k)}n.toElectronAccelerator=y})(KeyCodeUtils$1||(KeyCodeUtils$1={}));function KeyChord$1(n,e){const t=(e&65535)<<16>>>0;return(n|t)>>>0}var define_process_env_default$1={};let safeProcess$1;const vscodeGlobal$1=globalThis.vscode;var cu;if(typeof vscodeGlobal$1<"u"&&typeof vscodeGlobal$1.process<"u"){const n=vscodeGlobal$1.process;safeProcess$1={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"&&typeof((cu=process==null?void 0:process.versions)==null?void 0:cu.node)=="string"?safeProcess$1={get platform(){return process.platform},get arch(){return process.arch},get env(){return define_process_env_default$1},cwd(){return define_process_env_default$1.VSCODE_CWD||process.cwd()}}:safeProcess$1={get platform(){return isWindows$1?"win32":isMacintosh$1?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const cwd$1=safeProcess$1.cwd,env$1=safeProcess$1.env,platform$1=safeProcess$1.platform,CHAR_UPPERCASE_A$1=65,CHAR_LOWERCASE_A$1=97,CHAR_UPPERCASE_Z$1=90,CHAR_LOWERCASE_Z$1=122,CHAR_DOT$1=46,CHAR_FORWARD_SLASH$1=47,CHAR_BACKWARD_SLASH$1=92,CHAR_COLON$1=58,CHAR_QUESTION_MARK$1=63;let ErrorInvalidArgType$1=class extends Error{constructor(e,t,i){let r;typeof t=="string"&&t.indexOf("not ")===0?(r="must not be",t=t.replace(/^not /,"")):r="must be";const g=e.indexOf(".")!==-1?"property":"argument";let y='The "'.concat(e,'" ').concat(g," ").concat(r," of type ").concat(t);y+=". Received type ".concat(typeof i),super(y),this.code="ERR_INVALID_ARG_TYPE"}};function validateObject$1(n,e){if(n===null||typeof n!="object")throw new ErrorInvalidArgType$1(e,"Object",n)}function validateString$1(n,e){if(typeof n!="string")throw new ErrorInvalidArgType$1(e,"string",n)}const platformIsWin32$1=platform$1==="win32";function isPathSeparator$3(n){return n===CHAR_FORWARD_SLASH$1||n===CHAR_BACKWARD_SLASH$1}function isPosixPathSeparator$1(n){return n===CHAR_FORWARD_SLASH$1}function isWindowsDeviceRoot$1(n){return n>=CHAR_UPPERCASE_A$1&&n<=CHAR_UPPERCASE_Z$1||n>=CHAR_LOWERCASE_A$1&&n<=CHAR_LOWERCASE_Z$1}function normalizeString$1(n,e,t,i){let r="",g=0,y=-1,k=0,L=0;for(let V=0;V<=n.length;++V){if(V2){const z=r.lastIndexOf(t);z===-1?(r="",g=0):(r=r.slice(0,z),g=r.length-1-r.lastIndexOf(t)),y=V,k=0;continue}else if(r.length!==0){r="",g=0,y=V,k=0;continue}}e&&(r+=r.length>0?"".concat(t,".."):"..",g=2)}else r.length>0?r+="".concat(t).concat(n.slice(y+1,V)):r=n.slice(y+1,V),g=V-y-1;y=V,k=0}else L===CHAR_DOT$1&&k!==-1?++k:k=-1}return r}function formatExt(n){return n?"".concat(n[0]==="."?"":".").concat(n):""}function _format$2(n,e){validateObject$1(e,"pathObject");const t=e.dir||e.root,i=e.base||"".concat(e.name||"").concat(formatExt(e.ext));return t?t===e.root?"".concat(t).concat(i):"".concat(t).concat(n).concat(i):i}const win32$1={resolve(...n){let e="",t="",i=!1;for(let r=n.length-1;r>=-1;r--){let g;if(r>=0){if(g=n[r],validateString$1(g,"paths[".concat(r,"]")),g.length===0)continue}else e.length===0?g=cwd$1():(g=env$1["=".concat(e)]||cwd$1(),(g===void 0||g.slice(0,2).toLowerCase()!==e.toLowerCase()&&g.charCodeAt(2)===CHAR_BACKWARD_SLASH$1)&&(g="".concat(e,"\\")));const y=g.length;let k=0,L="",V=!1;const z=g.charCodeAt(0);if(y===1)isPathSeparator$3(z)&&(k=1,V=!0);else if(isPathSeparator$3(z))if(V=!0,isPathSeparator$3(g.charCodeAt(1))){let j=2,ie=j;for(;j2&&isPathSeparator$3(g.charCodeAt(2))&&(V=!0,k=3));if(L.length>0)if(e.length>0){if(L.toLowerCase()!==e.toLowerCase())continue}else e=L;if(i){if(e.length>0)break}else if(t="".concat(g.slice(k),"\\").concat(t),i=V,V&&e.length>0)break}return t=normalizeString$1(t,!i,"\\",isPathSeparator$3),i?"".concat(e,"\\").concat(t):"".concat(e).concat(t)||"."},normalize(n){validateString$1(n,"path");const e=n.length;if(e===0)return".";let t=0,i,r=!1;const g=n.charCodeAt(0);if(e===1)return isPosixPathSeparator$1(g)?"\\":n;if(isPathSeparator$3(g))if(r=!0,isPathSeparator$3(n.charCodeAt(1))){let k=2,L=k;for(;k2&&isPathSeparator$3(n.charCodeAt(2))&&(r=!0,t=3));let y=t0&&isPathSeparator$3(n.charCodeAt(e-1))&&(y+="\\"),i===void 0?r?"\\".concat(y):y:r?"".concat(i,"\\").concat(y):"".concat(i).concat(y)},isAbsolute(n){validateString$1(n,"path");const e=n.length;if(e===0)return!1;const t=n.charCodeAt(0);return isPathSeparator$3(t)||e>2&&isWindowsDeviceRoot$1(t)&&n.charCodeAt(1)===CHAR_COLON$1&&isPathSeparator$3(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let g=0;g0&&(e===void 0?e=t=y:e+="\\".concat(y))}if(e===void 0)return".";let i=!0,r=0;if(typeof t=="string"&&isPathSeparator$3(t.charCodeAt(0))){++r;const g=t.length;g>1&&isPathSeparator$3(t.charCodeAt(1))&&(++r,g>2&&(isPathSeparator$3(t.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(e="\\".concat(e.slice(r)))}return win32$1.normalize(e)},relative(n,e){if(validateString$1(n,"from"),validateString$1(e,"to"),n===e)return"";const t=win32$1.resolve(n),i=win32$1.resolve(e);if(t===i||(n=t.toLowerCase(),e=i.toLowerCase(),n===e))return"";let r=0;for(;rr&&n.charCodeAt(g-1)===CHAR_BACKWARD_SLASH$1;)g--;const y=g-r;let k=0;for(;kk&&e.charCodeAt(L-1)===CHAR_BACKWARD_SLASH$1;)L--;const V=L-k,z=yz){if(e.charCodeAt(k+ie)===CHAR_BACKWARD_SLASH$1)return i.slice(k+ie+1);if(ie===2)return i.slice(k+ie)}y>z&&(n.charCodeAt(r+ie)===CHAR_BACKWARD_SLASH$1?j=ie:ie===2&&(j=3)),j===-1&&(j=0)}let oe="";for(ie=r+j+1;ie<=g;++ie)(ie===g||n.charCodeAt(ie)===CHAR_BACKWARD_SLASH$1)&&(oe+=oe.length===0?"..":"\\..");return k+=j,oe.length>0?"".concat(oe).concat(i.slice(k,L)):(i.charCodeAt(k)===CHAR_BACKWARD_SLASH$1&&++k,i.slice(k,L))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;const e=win32$1.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===CHAR_BACKWARD_SLASH$1){if(e.charCodeAt(1)===CHAR_BACKWARD_SLASH$1){const t=e.charCodeAt(2);if(t!==CHAR_QUESTION_MARK$1&&t!==CHAR_DOT$1)return"\\\\?\\UNC\\".concat(e.slice(2))}}else if(isWindowsDeviceRoot$1(e.charCodeAt(0))&&e.charCodeAt(1)===CHAR_COLON$1&&e.charCodeAt(2)===CHAR_BACKWARD_SLASH$1)return"\\\\?\\".concat(e);return n},dirname(n){validateString$1(n,"path");const e=n.length;if(e===0)return".";let t=-1,i=0;const r=n.charCodeAt(0);if(e===1)return isPathSeparator$3(r)?n:".";if(isPathSeparator$3(r)){if(t=i=1,isPathSeparator$3(n.charCodeAt(1))){let k=2,L=k;for(;k2&&isPathSeparator$3(n.charCodeAt(2))?3:2,i=t);let g=-1,y=!0;for(let k=e-1;k>=i;--k)if(isPathSeparator$3(n.charCodeAt(k))){if(!y){g=k;break}}else y=!1;if(g===-1){if(t===-1)return".";g=t}return n.slice(0,g)},basename(n,e){e!==void 0&&validateString$1(e,"suffix"),validateString$1(n,"path");let t=0,i=-1,r=!0,g;if(n.length>=2&&isWindowsDeviceRoot$1(n.charCodeAt(0))&&n.charCodeAt(1)===CHAR_COLON$1&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let y=e.length-1,k=-1;for(g=n.length-1;g>=t;--g){const L=n.charCodeAt(g);if(isPathSeparator$3(L)){if(!r){t=g+1;break}}else k===-1&&(r=!1,k=g+1),y>=0&&(L===e.charCodeAt(y)?--y===-1&&(i=g):(y=-1,i=k))}return t===i?i=k:i===-1&&(i=n.length),n.slice(t,i)}for(g=n.length-1;g>=t;--g)if(isPathSeparator$3(n.charCodeAt(g))){if(!r){t=g+1;break}}else i===-1&&(r=!1,i=g+1);return i===-1?"":n.slice(t,i)},extname(n){validateString$1(n,"path");let e=0,t=-1,i=0,r=-1,g=!0,y=0;n.length>=2&&n.charCodeAt(1)===CHAR_COLON$1&&isWindowsDeviceRoot$1(n.charCodeAt(0))&&(e=i=2);for(let k=n.length-1;k>=e;--k){const L=n.charCodeAt(k);if(isPathSeparator$3(L)){if(!g){i=k+1;break}continue}r===-1&&(g=!1,r=k+1),L===CHAR_DOT$1?t===-1?t=k:y!==1&&(y=1):t!==-1&&(y=-1)}return t===-1||r===-1||y===0||y===1&&t===r-1&&t===i+1?"":n.slice(t,r)},format:_format$2.bind(null,"\\"),parse(n){validateString$1(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.length;let i=0,r=n.charCodeAt(0);if(t===1)return isPathSeparator$3(r)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(isPathSeparator$3(r)){if(i=1,isPathSeparator$3(n.charCodeAt(1))){let j=2,ie=j;for(;j0&&(e.root=n.slice(0,i));let g=-1,y=i,k=-1,L=!0,V=n.length-1,z=0;for(;V>=i;--V){if(r=n.charCodeAt(V),isPathSeparator$3(r)){if(!L){y=V+1;break}continue}k===-1&&(L=!1,k=V+1),r===CHAR_DOT$1?g===-1?g=V:z!==1&&(z=1):g!==-1&&(z=-1)}return k!==-1&&(g===-1||z===0||z===1&&g===k-1&&g===y+1?e.base=e.name=n.slice(y,k):(e.name=n.slice(y,g),e.base=n.slice(y,k),e.ext=n.slice(g,k))),y>0&&y!==i?e.dir=n.slice(0,y-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},posixCwd$1=(()=>{if(platformIsWin32$1){const n=/\\/g;return()=>{const e=cwd$1().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>cwd$1()})(),posix$1={resolve(...n){let e="",t=!1;for(let i=n.length-1;i>=-1&&!t;i--){const r=i>=0?n[i]:posixCwd$1();validateString$1(r,"paths[".concat(i,"]")),r.length!==0&&(e="".concat(r,"/").concat(e),t=r.charCodeAt(0)===CHAR_FORWARD_SLASH$1)}return e=normalizeString$1(e,!t,"/",isPosixPathSeparator$1),t?"/".concat(e):e.length>0?e:"."},normalize(n){if(validateString$1(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===CHAR_FORWARD_SLASH$1,t=n.charCodeAt(n.length-1)===CHAR_FORWARD_SLASH$1;return n=normalizeString$1(n,!e,"/",isPosixPathSeparator$1),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?"/".concat(n):n)},isAbsolute(n){return validateString$1(n,"path"),n.length>0&&n.charCodeAt(0)===CHAR_FORWARD_SLASH$1},join(...n){if(n.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+="/".concat(i))}return e===void 0?".":posix$1.normalize(e)},relative(n,e){if(validateString$1(n,"from"),validateString$1(e,"to"),n===e||(n=posix$1.resolve(n),e=posix$1.resolve(e),n===e))return"";const t=1,i=n.length,r=i-t,g=1,y=e.length-g,k=rk){if(e.charCodeAt(g+V)===CHAR_FORWARD_SLASH$1)return e.slice(g+V+1);if(V===0)return e.slice(g+V)}else r>k&&(n.charCodeAt(t+V)===CHAR_FORWARD_SLASH$1?L=V:V===0&&(L=0));let z="";for(V=t+L+1;V<=i;++V)(V===i||n.charCodeAt(V)===CHAR_FORWARD_SLASH$1)&&(z+=z.length===0?"..":"/..");return"".concat(z).concat(e.slice(g+L))},toNamespacedPath(n){return n},dirname(n){if(validateString$1(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===CHAR_FORWARD_SLASH$1;let t=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===CHAR_FORWARD_SLASH$1){if(!i){t=r;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&validateString$1(e,"ext"),validateString$1(n,"path");let t=0,i=-1,r=!0,g;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let y=e.length-1,k=-1;for(g=n.length-1;g>=0;--g){const L=n.charCodeAt(g);if(L===CHAR_FORWARD_SLASH$1){if(!r){t=g+1;break}}else k===-1&&(r=!1,k=g+1),y>=0&&(L===e.charCodeAt(y)?--y===-1&&(i=g):(y=-1,i=k))}return t===i?i=k:i===-1&&(i=n.length),n.slice(t,i)}for(g=n.length-1;g>=0;--g)if(n.charCodeAt(g)===CHAR_FORWARD_SLASH$1){if(!r){t=g+1;break}}else i===-1&&(r=!1,i=g+1);return i===-1?"":n.slice(t,i)},extname(n){validateString$1(n,"path");let e=-1,t=0,i=-1,r=!0,g=0;for(let y=n.length-1;y>=0;--y){const k=n.charCodeAt(y);if(k===CHAR_FORWARD_SLASH$1){if(!r){t=y+1;break}continue}i===-1&&(r=!1,i=y+1),k===CHAR_DOT$1?e===-1?e=y:g!==1&&(g=1):e!==-1&&(g=-1)}return e===-1||i===-1||g===0||g===1&&e===i-1&&e===t+1?"":n.slice(e,i)},format:_format$2.bind(null,"/"),parse(n){validateString$1(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.charCodeAt(0)===CHAR_FORWARD_SLASH$1;let i;t?(e.root="/",i=1):i=0;let r=-1,g=0,y=-1,k=!0,L=n.length-1,V=0;for(;L>=i;--L){const z=n.charCodeAt(L);if(z===CHAR_FORWARD_SLASH$1){if(!k){g=L+1;break}continue}y===-1&&(k=!1,y=L+1),z===CHAR_DOT$1?r===-1?r=L:V!==1&&(V=1):r!==-1&&(V=-1)}if(y!==-1){const z=g===0&&t?1:g;r===-1||V===0||V===1&&r===y-1&&r===g+1?e.base=e.name=n.slice(z,y):(e.name=n.slice(z,r),e.base=n.slice(z,y),e.ext=n.slice(r,y))}return g>0?e.dir=n.slice(0,g-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};posix$1.win32=win32$1.win32=win32$1;posix$1.posix=win32$1.posix=posix$1;const normalize$1=platformIsWin32$1?win32$1.normalize:posix$1.normalize,join$2=platformIsWin32$1?win32$1.join:posix$1.join,resolve$1=platformIsWin32$1?win32$1.resolve:posix$1.resolve,relative$1=platformIsWin32$1?win32$1.relative:posix$1.relative,dirname$3=platformIsWin32$1?win32$1.dirname:posix$1.dirname,basename$3=platformIsWin32$1?win32$1.basename:posix$1.basename,extname$3=platformIsWin32$1?win32$1.extname:posix$1.extname,sep$1=platformIsWin32$1?win32$1.sep:posix$1.sep,_schemePattern$1=/^\w[\w\d+.-]*$/,_singleSlashStart$1=/^\//,_doubleSlashStart$1=/^\/\//;function _validateUri$1(n,e){if(!n.scheme&&e)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(n.authority,'", path: "').concat(n.path,'", query: "').concat(n.query,'", fragment: "').concat(n.fragment,'"}'));if(n.scheme&&!_schemePattern$1.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!_singleSlashStart$1.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(_doubleSlashStart$1.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function _schemeFix$1(n,e){return!n&&!e?"file":n}function _referenceResolution$1(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==_slash$1&&(e=_slash$1+e):e=_slash$1;break}return e}const _empty$1="",_slash$1="/",_regexp$1=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;let URI$1=class Rc{static isUri(e){return e instanceof Rc?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,r,g,y=!1){typeof e=="object"?(this.scheme=e.scheme||_empty$1,this.authority=e.authority||_empty$1,this.path=e.path||_empty$1,this.query=e.query||_empty$1,this.fragment=e.fragment||_empty$1):(this.scheme=_schemeFix$1(e,y),this.authority=t||_empty$1,this.path=_referenceResolution$1(this.scheme,i||_empty$1),this.query=r||_empty$1,this.fragment=g||_empty$1,_validateUri$1(this,y))}get fsPath(){return uriToFsPath$1(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:r,query:g,fragment:y}=e;return t===void 0?t=this.scheme:t===null&&(t=_empty$1),i===void 0?i=this.authority:i===null&&(i=_empty$1),r===void 0?r=this.path:r===null&&(r=_empty$1),g===void 0?g=this.query:g===null&&(g=_empty$1),y===void 0?y=this.fragment:y===null&&(y=_empty$1),t===this.scheme&&i===this.authority&&r===this.path&&g===this.query&&y===this.fragment?this:new Uri$3(t,i,r,g,y)}static parse(e,t=!1){const i=_regexp$1.exec(e);return i?new Uri$3(i[2]||_empty$1,percentDecode$1(i[4]||_empty$1),percentDecode$1(i[5]||_empty$1),percentDecode$1(i[7]||_empty$1),percentDecode$1(i[9]||_empty$1),t):new Uri$3(_empty$1,_empty$1,_empty$1,_empty$1,_empty$1)}static file(e){let t=_empty$1;if(isWindows$1&&(e=e.replace(/\\/g,_slash$1)),e[0]===_slash$1&&e[1]===_slash$1){const i=e.indexOf(_slash$1,2);i===-1?(t=e.substring(2),e=_slash$1):(t=e.substring(2,i),e=e.substring(i)||_slash$1)}return new Uri$3("file",t,e,_empty$1,_empty$1)}static from(e,t){return new Uri$3(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return isWindows$1&&e.scheme==="file"?i=Rc.file(win32$1.join(uriToFsPath$1(e,!0),...t)).path:i=posix$1.join(e.path,...t),e.with({path:i})}toString(e=!1){return _asFormatted$1(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof Rc)return e;{const r=new Uri$3(e);return r._formatted=(t=e.external)!=null?t:null,r._fsPath=e._sep===_pathSepMarker$1&&(i=e.fsPath)!=null?i:null,r}}else return e}};const _pathSepMarker$1=isWindows$1?1:void 0;let Uri$3=class extends URI$1{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=uriToFsPath$1(this,!1)),this._fsPath}toString(e=!1){return e?_asFormatted$1(this,!0):(this._formatted||(this._formatted=_asFormatted$1(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_pathSepMarker$1),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const encodeTable$1={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function encodeURIComponentFast$1(n,e,t){let i,r=-1;for(let g=0;g=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===45||y===46||y===95||y===126||e&&y===47||t&&y===91||t&&y===93||t&&y===58)r!==-1&&(i+=encodeURIComponent(n.substring(r,g)),r=-1),i!==void 0&&(i+=n.charAt(g));else{i===void 0&&(i=n.substr(0,g));const k=encodeTable$1[y];k!==void 0?(r!==-1&&(i+=encodeURIComponent(n.substring(r,g)),r=-1),i+=k):r===-1&&(r=g)}}return r!==-1&&(i+=encodeURIComponent(n.substring(r))),i!==void 0?i:n}function encodeURIComponentMinimal$1(n){let e;for(let t=0;t1&&n.scheme==="file"?t="//".concat(n.authority).concat(n.path):n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,isWindows$1&&(t=t.replace(/\//g,"\\")),t}function _asFormatted$1(n,e){const t=e?encodeURIComponentMinimal$1:encodeURIComponentFast$1;let i="",{scheme:r,authority:g,path:y,query:k,fragment:L}=n;if(r&&(i+=r,i+=":"),(g||r==="file")&&(i+=_slash$1,i+=_slash$1),g){let V=g.indexOf("@");if(V!==-1){const z=g.substr(0,V);g=g.substr(V+1),V=z.lastIndexOf(":"),V===-1?i+=t(z,!1,!1):(i+=t(z.substr(0,V),!1,!1),i+=":",i+=t(z.substr(V+1),!1,!0)),i+="@"}g=g.toLowerCase(),V=g.lastIndexOf(":"),V===-1?i+=t(g,!1,!0):(i+=t(g.substr(0,V),!1,!0),i+=g.substr(V))}if(y){if(y.length>=3&&y.charCodeAt(0)===47&&y.charCodeAt(2)===58){const V=y.charCodeAt(1);V>=65&&V<=90&&(y="/".concat(String.fromCharCode(V+32),":").concat(y.substr(3)))}else if(y.length>=2&&y.charCodeAt(1)===58){const V=y.charCodeAt(0);V>=65&&V<=90&&(y="".concat(String.fromCharCode(V+32),":").concat(y.substr(2)))}i+=t(y,!0,!1)}return k&&(i+="?",i+=t(k,!1,!1)),L&&(i+="#",i+=e?L:encodeURIComponentFast$1(L,!1,!1)),i}function decodeURIComponentGraceful$1(n){try{return decodeURIComponent(n)}catch(e){return n.length>3?n.substr(0,3)+decodeURIComponentGraceful$1(n.substr(3)):n}}const _rEncodedAsHex$1=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function percentDecode$1(n){return n.match(_rEncodedAsHex$1)?n.replace(_rEncodedAsHex$1,e=>decodeURIComponentGraceful$1(e)):n}let Position$3=class ss{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new ss(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return ss.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return ss.isBefore(this,e)}static isBefore(e,t){return e.lineNumberi||e===i&&t>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return zn.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return zn.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return zn.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return zn.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return zn.plusRange(this,e)}static plusRange(e,t){let i,r,g,y;return t.startLineNumbere.endLineNumber?(g=t.endLineNumber,y=t.endColumn):t.endLineNumber===e.endLineNumber?(g=t.endLineNumber,y=Math.max(t.endColumn,e.endColumn)):(g=e.endLineNumber,y=e.endColumn),new zn(i,r,g,y)}intersectRanges(e){return zn.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn;const k=t.startLineNumber,L=t.startColumn,V=t.endLineNumber,z=t.endColumn;return iV?(g=V,y=z):g===V&&(y=Math.min(y,z)),i>g||i===g&&r>y?null:new zn(i,r,g,y)}equalsRange(e){return zn.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return zn.getEndPosition(this)}static getEndPosition(e){return new Position$3(e.endLineNumber,e.endColumn)}getStartPosition(){return zn.getStartPosition(this)}static getStartPosition(e){return new Position$3(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new zn(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new zn(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return zn.collapseToStart(this)}static collapseToStart(e){return new zn(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return zn.collapseToEnd(this)}static collapseToEnd(e){return new zn(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new zn(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new zn(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new zn(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},Selection$3=class po extends Range$5{constructor(e,t,i,r){super(e,t,i,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return po.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new po(this.startLineNumber,this.startColumn,e,t):new po(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Position$3(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Position$3(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new po(e,t,this.endLineNumber,this.endColumn):new po(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new po(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new po(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new po(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new po(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var r;(r=this._factories.get(e))==null||r.dispose();const i=new TokenizationSupportFactoryData$1(this,e,t);return this._factories.set(e,i),toDisposable$1(()=>{const g=this._factories.get(e);!g||g!==i||(this._factories.delete(e),g.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}},TokenizationSupportFactoryData$1=class extends Disposable$1{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}},Token$5=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}},TokenizationResult$1=class{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}},EncodedTokenizationResult$1=class{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}};var HoverVerbosityAction$1;(function(n){n[n.Increase=0]="Increase",n[n.Decrease=1]="Decrease"})(HoverVerbosityAction$1||(HoverVerbosityAction$1={}));var CompletionItemKinds$1;(function(n){const e=new Map;e.set(0,Codicon$1.symbolMethod),e.set(1,Codicon$1.symbolFunction),e.set(2,Codicon$1.symbolConstructor),e.set(3,Codicon$1.symbolField),e.set(4,Codicon$1.symbolVariable),e.set(5,Codicon$1.symbolClass),e.set(6,Codicon$1.symbolStruct),e.set(7,Codicon$1.symbolInterface),e.set(8,Codicon$1.symbolModule),e.set(9,Codicon$1.symbolProperty),e.set(10,Codicon$1.symbolEvent),e.set(11,Codicon$1.symbolOperator),e.set(12,Codicon$1.symbolUnit),e.set(13,Codicon$1.symbolValue),e.set(15,Codicon$1.symbolEnum),e.set(14,Codicon$1.symbolConstant),e.set(15,Codicon$1.symbolEnum),e.set(16,Codicon$1.symbolEnumMember),e.set(17,Codicon$1.symbolKeyword),e.set(27,Codicon$1.symbolSnippet),e.set(18,Codicon$1.symbolText),e.set(19,Codicon$1.symbolColor),e.set(20,Codicon$1.symbolFile),e.set(21,Codicon$1.symbolReference),e.set(22,Codicon$1.symbolCustomColor),e.set(23,Codicon$1.symbolFolder),e.set(24,Codicon$1.symbolTypeParameter),e.set(25,Codicon$1.account),e.set(26,Codicon$1.issues);function t(g){let y=e.get(g);return y||(console.info("No codicon found for CompletionItemKind "+g),y=Codicon$1.symbolProperty),y}n.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function r(g,y){let k=i.get(g);return typeof k>"u"&&!y&&(k=9),k}n.fromString=r})(CompletionItemKinds$1||(CompletionItemKinds$1={}));var InlineCompletionTriggerKind$3;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(InlineCompletionTriggerKind$3||(InlineCompletionTriggerKind$3={}));let SelectedSuggestionInfo$1=class{constructor(e,t,i,r){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=r}equals(e){return Range$5.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}};var DocumentPasteTriggerKind$1;(function(n){n[n.Automatic=0]="Automatic",n[n.PasteAs=1]="PasteAs"})(DocumentPasteTriggerKind$1||(DocumentPasteTriggerKind$1={}));var SignatureHelpTriggerKind$3;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(SignatureHelpTriggerKind$3||(SignatureHelpTriggerKind$3={}));var DocumentHighlightKind$3;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(DocumentHighlightKind$3||(DocumentHighlightKind$3={}));function isLocationLink$1(n){return n&&URI$1.isUri(n.uri)&&Range$5.isIRange(n.range)&&(Range$5.isIRange(n.originSelectionRange)||Range$5.isIRange(n.targetSelectionRange))}const symbolKindNames$1={17:localize$1("Array","array"),16:localize$1("Boolean","boolean"),4:localize$1("Class","class"),13:localize$1("Constant","constant"),8:localize$1("Constructor","constructor"),9:localize$1("Enum","enumeration"),21:localize$1("EnumMember","enumeration member"),23:localize$1("Event","event"),7:localize$1("Field","field"),0:localize$1("File","file"),11:localize$1("Function","function"),10:localize$1("Interface","interface"),19:localize$1("Key","key"),5:localize$1("Method","method"),1:localize$1("Module","module"),2:localize$1("Namespace","namespace"),20:localize$1("Null","null"),15:localize$1("Number","number"),18:localize$1("Object","object"),24:localize$1("Operator","operator"),3:localize$1("Package","package"),6:localize$1("Property","property"),14:localize$1("String","string"),22:localize$1("Struct","struct"),25:localize$1("TypeParameter","type parameter"),12:localize$1("Variable","variable")};function getAriaLabelForSymbol$1(n,e){return localize$1("symbolAriaLabel","{0} ({1})",n,symbolKindNames$1[e])}var SymbolKinds$1;(function(n){const e=new Map;e.set(0,Codicon$1.symbolFile),e.set(1,Codicon$1.symbolModule),e.set(2,Codicon$1.symbolNamespace),e.set(3,Codicon$1.symbolPackage),e.set(4,Codicon$1.symbolClass),e.set(5,Codicon$1.symbolMethod),e.set(6,Codicon$1.symbolProperty),e.set(7,Codicon$1.symbolField),e.set(8,Codicon$1.symbolConstructor),e.set(9,Codicon$1.symbolEnum),e.set(10,Codicon$1.symbolInterface),e.set(11,Codicon$1.symbolFunction),e.set(12,Codicon$1.symbolVariable),e.set(13,Codicon$1.symbolConstant),e.set(14,Codicon$1.symbolString),e.set(15,Codicon$1.symbolNumber),e.set(16,Codicon$1.symbolBoolean),e.set(17,Codicon$1.symbolArray),e.set(18,Codicon$1.symbolObject),e.set(19,Codicon$1.symbolKey),e.set(20,Codicon$1.symbolNull),e.set(21,Codicon$1.symbolEnumMember),e.set(22,Codicon$1.symbolStruct),e.set(23,Codicon$1.symbolEvent),e.set(24,Codicon$1.symbolOperator),e.set(25,Codicon$1.symbolTypeParameter);function t(i){let r=e.get(i);return r||(console.info("No codicon found for SymbolKind "+i),r=Codicon$1.symbolProperty),r}n.toIcon=t})(SymbolKinds$1||(SymbolKinds$1={}));var to;let FoldingRangeKind$1=(to=class{static fromValue(e){switch(e){case"comment":return to.Comment;case"imports":return to.Imports;case"region":return to.Region}return new to(e)}constructor(e){this.value=e}},to.Comment=new to("comment"),to.Imports=new to("imports"),to.Region=new to("region"),to);var NewSymbolNameTag$3;(function(n){n[n.AIGenerated=1]="AIGenerated"})(NewSymbolNameTag$3||(NewSymbolNameTag$3={}));var NewSymbolNameTriggerKind$1;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(NewSymbolNameTriggerKind$1||(NewSymbolNameTriggerKind$1={}));var Command$3;(function(n){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}n.is=e})(Command$3||(Command$3={}));var InlayHintKind$3;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(InlayHintKind$3||(InlayHintKind$3={}));let LazyTokenizationSupport$1=class{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}};const TokenizationRegistry$2=new TokenizationRegistry$3,TreeSitterTokenizationRegistry=new TokenizationRegistry$3;var InlineEditTriggerKind$3;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(InlineEditTriggerKind$3||(InlineEditTriggerKind$3={}));var AccessibilitySupport$1;(function(n){n[n.Unknown=0]="Unknown",n[n.Disabled=1]="Disabled",n[n.Enabled=2]="Enabled"})(AccessibilitySupport$1||(AccessibilitySupport$1={}));var CodeActionTriggerType$1;(function(n){n[n.Invoke=1]="Invoke",n[n.Auto=2]="Auto"})(CodeActionTriggerType$1||(CodeActionTriggerType$1={}));var CompletionItemInsertTextRule$1;(function(n){n[n.None=0]="None",n[n.KeepWhitespace=1]="KeepWhitespace",n[n.InsertAsSnippet=4]="InsertAsSnippet"})(CompletionItemInsertTextRule$1||(CompletionItemInsertTextRule$1={}));var CompletionItemKind$1;(function(n){n[n.Method=0]="Method",n[n.Function=1]="Function",n[n.Constructor=2]="Constructor",n[n.Field=3]="Field",n[n.Variable=4]="Variable",n[n.Class=5]="Class",n[n.Struct=6]="Struct",n[n.Interface=7]="Interface",n[n.Module=8]="Module",n[n.Property=9]="Property",n[n.Event=10]="Event",n[n.Operator=11]="Operator",n[n.Unit=12]="Unit",n[n.Value=13]="Value",n[n.Constant=14]="Constant",n[n.Enum=15]="Enum",n[n.EnumMember=16]="EnumMember",n[n.Keyword=17]="Keyword",n[n.Text=18]="Text",n[n.Color=19]="Color",n[n.File=20]="File",n[n.Reference=21]="Reference",n[n.Customcolor=22]="Customcolor",n[n.Folder=23]="Folder",n[n.TypeParameter=24]="TypeParameter",n[n.User=25]="User",n[n.Issue=26]="Issue",n[n.Snippet=27]="Snippet"})(CompletionItemKind$1||(CompletionItemKind$1={}));var CompletionItemTag$1;(function(n){n[n.Deprecated=1]="Deprecated"})(CompletionItemTag$1||(CompletionItemTag$1={}));var CompletionTriggerKind$1;(function(n){n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(CompletionTriggerKind$1||(CompletionTriggerKind$1={}));var ContentWidgetPositionPreference$1;(function(n){n[n.EXACT=0]="EXACT",n[n.ABOVE=1]="ABOVE",n[n.BELOW=2]="BELOW"})(ContentWidgetPositionPreference$1||(ContentWidgetPositionPreference$1={}));var CursorChangeReason$1;(function(n){n[n.NotSet=0]="NotSet",n[n.ContentFlush=1]="ContentFlush",n[n.RecoverFromMarkers=2]="RecoverFromMarkers",n[n.Explicit=3]="Explicit",n[n.Paste=4]="Paste",n[n.Undo=5]="Undo",n[n.Redo=6]="Redo"})(CursorChangeReason$1||(CursorChangeReason$1={}));var DefaultEndOfLine$1;(function(n){n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(DefaultEndOfLine$1||(DefaultEndOfLine$1={}));var DocumentHighlightKind$2;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(DocumentHighlightKind$2||(DocumentHighlightKind$2={}));var EditorAutoIndentStrategy$1;(function(n){n[n.None=0]="None",n[n.Keep=1]="Keep",n[n.Brackets=2]="Brackets",n[n.Advanced=3]="Advanced",n[n.Full=4]="Full"})(EditorAutoIndentStrategy$1||(EditorAutoIndentStrategy$1={}));var EditorOption$1;(function(n){n[n.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",n[n.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",n[n.accessibilitySupport=2]="accessibilitySupport",n[n.accessibilityPageSize=3]="accessibilityPageSize",n[n.ariaLabel=4]="ariaLabel",n[n.ariaRequired=5]="ariaRequired",n[n.autoClosingBrackets=6]="autoClosingBrackets",n[n.autoClosingComments=7]="autoClosingComments",n[n.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",n[n.autoClosingDelete=9]="autoClosingDelete",n[n.autoClosingOvertype=10]="autoClosingOvertype",n[n.autoClosingQuotes=11]="autoClosingQuotes",n[n.autoIndent=12]="autoIndent",n[n.automaticLayout=13]="automaticLayout",n[n.autoSurround=14]="autoSurround",n[n.bracketPairColorization=15]="bracketPairColorization",n[n.guides=16]="guides",n[n.codeLens=17]="codeLens",n[n.codeLensFontFamily=18]="codeLensFontFamily",n[n.codeLensFontSize=19]="codeLensFontSize",n[n.colorDecorators=20]="colorDecorators",n[n.colorDecoratorsLimit=21]="colorDecoratorsLimit",n[n.columnSelection=22]="columnSelection",n[n.comments=23]="comments",n[n.contextmenu=24]="contextmenu",n[n.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",n[n.cursorBlinking=26]="cursorBlinking",n[n.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",n[n.cursorStyle=28]="cursorStyle",n[n.cursorSurroundingLines=29]="cursorSurroundingLines",n[n.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",n[n.cursorWidth=31]="cursorWidth",n[n.disableLayerHinting=32]="disableLayerHinting",n[n.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",n[n.domReadOnly=34]="domReadOnly",n[n.dragAndDrop=35]="dragAndDrop",n[n.dropIntoEditor=36]="dropIntoEditor",n[n.emptySelectionClipboard=37]="emptySelectionClipboard",n[n.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",n[n.extraEditorClassName=39]="extraEditorClassName",n[n.fastScrollSensitivity=40]="fastScrollSensitivity",n[n.find=41]="find",n[n.fixedOverflowWidgets=42]="fixedOverflowWidgets",n[n.folding=43]="folding",n[n.foldingStrategy=44]="foldingStrategy",n[n.foldingHighlight=45]="foldingHighlight",n[n.foldingImportsByDefault=46]="foldingImportsByDefault",n[n.foldingMaximumRegions=47]="foldingMaximumRegions",n[n.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",n[n.fontFamily=49]="fontFamily",n[n.fontInfo=50]="fontInfo",n[n.fontLigatures=51]="fontLigatures",n[n.fontSize=52]="fontSize",n[n.fontWeight=53]="fontWeight",n[n.fontVariations=54]="fontVariations",n[n.formatOnPaste=55]="formatOnPaste",n[n.formatOnType=56]="formatOnType",n[n.glyphMargin=57]="glyphMargin",n[n.gotoLocation=58]="gotoLocation",n[n.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",n[n.hover=60]="hover",n[n.inDiffEditor=61]="inDiffEditor",n[n.inlineSuggest=62]="inlineSuggest",n[n.inlineEdit=63]="inlineEdit",n[n.letterSpacing=64]="letterSpacing",n[n.lightbulb=65]="lightbulb",n[n.lineDecorationsWidth=66]="lineDecorationsWidth",n[n.lineHeight=67]="lineHeight",n[n.lineNumbers=68]="lineNumbers",n[n.lineNumbersMinChars=69]="lineNumbersMinChars",n[n.linkedEditing=70]="linkedEditing",n[n.links=71]="links",n[n.matchBrackets=72]="matchBrackets",n[n.minimap=73]="minimap",n[n.mouseStyle=74]="mouseStyle",n[n.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",n[n.mouseWheelZoom=76]="mouseWheelZoom",n[n.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",n[n.multiCursorModifier=78]="multiCursorModifier",n[n.multiCursorPaste=79]="multiCursorPaste",n[n.multiCursorLimit=80]="multiCursorLimit",n[n.occurrencesHighlight=81]="occurrencesHighlight",n[n.overviewRulerBorder=82]="overviewRulerBorder",n[n.overviewRulerLanes=83]="overviewRulerLanes",n[n.padding=84]="padding",n[n.pasteAs=85]="pasteAs",n[n.parameterHints=86]="parameterHints",n[n.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",n[n.placeholder=88]="placeholder",n[n.definitionLinkOpensInPeek=89]="definitionLinkOpensInPeek",n[n.quickSuggestions=90]="quickSuggestions",n[n.quickSuggestionsDelay=91]="quickSuggestionsDelay",n[n.readOnly=92]="readOnly",n[n.readOnlyMessage=93]="readOnlyMessage",n[n.renameOnType=94]="renameOnType",n[n.renderControlCharacters=95]="renderControlCharacters",n[n.renderFinalNewline=96]="renderFinalNewline",n[n.renderLineHighlight=97]="renderLineHighlight",n[n.renderLineHighlightOnlyWhenFocus=98]="renderLineHighlightOnlyWhenFocus",n[n.renderValidationDecorations=99]="renderValidationDecorations",n[n.renderWhitespace=100]="renderWhitespace",n[n.revealHorizontalRightPadding=101]="revealHorizontalRightPadding",n[n.roundedSelection=102]="roundedSelection",n[n.rulers=103]="rulers",n[n.scrollbar=104]="scrollbar",n[n.scrollBeyondLastColumn=105]="scrollBeyondLastColumn",n[n.scrollBeyondLastLine=106]="scrollBeyondLastLine",n[n.scrollPredominantAxis=107]="scrollPredominantAxis",n[n.selectionClipboard=108]="selectionClipboard",n[n.selectionHighlight=109]="selectionHighlight",n[n.selectOnLineNumbers=110]="selectOnLineNumbers",n[n.showFoldingControls=111]="showFoldingControls",n[n.showUnused=112]="showUnused",n[n.snippetSuggestions=113]="snippetSuggestions",n[n.smartSelect=114]="smartSelect",n[n.smoothScrolling=115]="smoothScrolling",n[n.stickyScroll=116]="stickyScroll",n[n.stickyTabStops=117]="stickyTabStops",n[n.stopRenderingLineAfter=118]="stopRenderingLineAfter",n[n.suggest=119]="suggest",n[n.suggestFontSize=120]="suggestFontSize",n[n.suggestLineHeight=121]="suggestLineHeight",n[n.suggestOnTriggerCharacters=122]="suggestOnTriggerCharacters",n[n.suggestSelection=123]="suggestSelection",n[n.tabCompletion=124]="tabCompletion",n[n.tabIndex=125]="tabIndex",n[n.unicodeHighlighting=126]="unicodeHighlighting",n[n.unusualLineTerminators=127]="unusualLineTerminators",n[n.useShadowDOM=128]="useShadowDOM",n[n.useTabStops=129]="useTabStops",n[n.wordBreak=130]="wordBreak",n[n.wordSegmenterLocales=131]="wordSegmenterLocales",n[n.wordSeparators=132]="wordSeparators",n[n.wordWrap=133]="wordWrap",n[n.wordWrapBreakAfterCharacters=134]="wordWrapBreakAfterCharacters",n[n.wordWrapBreakBeforeCharacters=135]="wordWrapBreakBeforeCharacters",n[n.wordWrapColumn=136]="wordWrapColumn",n[n.wordWrapOverride1=137]="wordWrapOverride1",n[n.wordWrapOverride2=138]="wordWrapOverride2",n[n.wrappingIndent=139]="wrappingIndent",n[n.wrappingStrategy=140]="wrappingStrategy",n[n.showDeprecated=141]="showDeprecated",n[n.inlayHints=142]="inlayHints",n[n.editorClassName=143]="editorClassName",n[n.pixelRatio=144]="pixelRatio",n[n.tabFocusMode=145]="tabFocusMode",n[n.layoutInfo=146]="layoutInfo",n[n.wrappingInfo=147]="wrappingInfo",n[n.defaultColorDecorators=148]="defaultColorDecorators",n[n.colorDecoratorsActivatedOn=149]="colorDecoratorsActivatedOn",n[n.inlineCompletionsAccessibilityVerbose=150]="inlineCompletionsAccessibilityVerbose"})(EditorOption$1||(EditorOption$1={}));var EndOfLinePreference$1;(function(n){n[n.TextDefined=0]="TextDefined",n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(EndOfLinePreference$1||(EndOfLinePreference$1={}));var EndOfLineSequence$1;(function(n){n[n.LF=0]="LF",n[n.CRLF=1]="CRLF"})(EndOfLineSequence$1||(EndOfLineSequence$1={}));var GlyphMarginLane$3;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(GlyphMarginLane$3||(GlyphMarginLane$3={}));var HoverVerbosityAction;(function(n){n[n.Increase=0]="Increase",n[n.Decrease=1]="Decrease"})(HoverVerbosityAction||(HoverVerbosityAction={}));var IndentAction$3;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(IndentAction$3||(IndentAction$3={}));var InjectedTextCursorStops$3;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(InjectedTextCursorStops$3||(InjectedTextCursorStops$3={}));var InlayHintKind$2;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(InlayHintKind$2||(InlayHintKind$2={}));var InlineCompletionTriggerKind$2;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(InlineCompletionTriggerKind$2||(InlineCompletionTriggerKind$2={}));var InlineEditTriggerKind$2;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(InlineEditTriggerKind$2||(InlineEditTriggerKind$2={}));var KeyCode$3;(function(n){n[n.DependsOnKbLayout=-1]="DependsOnKbLayout",n[n.Unknown=0]="Unknown",n[n.Backspace=1]="Backspace",n[n.Tab=2]="Tab",n[n.Enter=3]="Enter",n[n.Shift=4]="Shift",n[n.Ctrl=5]="Ctrl",n[n.Alt=6]="Alt",n[n.PauseBreak=7]="PauseBreak",n[n.CapsLock=8]="CapsLock",n[n.Escape=9]="Escape",n[n.Space=10]="Space",n[n.PageUp=11]="PageUp",n[n.PageDown=12]="PageDown",n[n.End=13]="End",n[n.Home=14]="Home",n[n.LeftArrow=15]="LeftArrow",n[n.UpArrow=16]="UpArrow",n[n.RightArrow=17]="RightArrow",n[n.DownArrow=18]="DownArrow",n[n.Insert=19]="Insert",n[n.Delete=20]="Delete",n[n.Digit0=21]="Digit0",n[n.Digit1=22]="Digit1",n[n.Digit2=23]="Digit2",n[n.Digit3=24]="Digit3",n[n.Digit4=25]="Digit4",n[n.Digit5=26]="Digit5",n[n.Digit6=27]="Digit6",n[n.Digit7=28]="Digit7",n[n.Digit8=29]="Digit8",n[n.Digit9=30]="Digit9",n[n.KeyA=31]="KeyA",n[n.KeyB=32]="KeyB",n[n.KeyC=33]="KeyC",n[n.KeyD=34]="KeyD",n[n.KeyE=35]="KeyE",n[n.KeyF=36]="KeyF",n[n.KeyG=37]="KeyG",n[n.KeyH=38]="KeyH",n[n.KeyI=39]="KeyI",n[n.KeyJ=40]="KeyJ",n[n.KeyK=41]="KeyK",n[n.KeyL=42]="KeyL",n[n.KeyM=43]="KeyM",n[n.KeyN=44]="KeyN",n[n.KeyO=45]="KeyO",n[n.KeyP=46]="KeyP",n[n.KeyQ=47]="KeyQ",n[n.KeyR=48]="KeyR",n[n.KeyS=49]="KeyS",n[n.KeyT=50]="KeyT",n[n.KeyU=51]="KeyU",n[n.KeyV=52]="KeyV",n[n.KeyW=53]="KeyW",n[n.KeyX=54]="KeyX",n[n.KeyY=55]="KeyY",n[n.KeyZ=56]="KeyZ",n[n.Meta=57]="Meta",n[n.ContextMenu=58]="ContextMenu",n[n.F1=59]="F1",n[n.F2=60]="F2",n[n.F3=61]="F3",n[n.F4=62]="F4",n[n.F5=63]="F5",n[n.F6=64]="F6",n[n.F7=65]="F7",n[n.F8=66]="F8",n[n.F9=67]="F9",n[n.F10=68]="F10",n[n.F11=69]="F11",n[n.F12=70]="F12",n[n.F13=71]="F13",n[n.F14=72]="F14",n[n.F15=73]="F15",n[n.F16=74]="F16",n[n.F17=75]="F17",n[n.F18=76]="F18",n[n.F19=77]="F19",n[n.F20=78]="F20",n[n.F21=79]="F21",n[n.F22=80]="F22",n[n.F23=81]="F23",n[n.F24=82]="F24",n[n.NumLock=83]="NumLock",n[n.ScrollLock=84]="ScrollLock",n[n.Semicolon=85]="Semicolon",n[n.Equal=86]="Equal",n[n.Comma=87]="Comma",n[n.Minus=88]="Minus",n[n.Period=89]="Period",n[n.Slash=90]="Slash",n[n.Backquote=91]="Backquote",n[n.BracketLeft=92]="BracketLeft",n[n.Backslash=93]="Backslash",n[n.BracketRight=94]="BracketRight",n[n.Quote=95]="Quote",n[n.OEM_8=96]="OEM_8",n[n.IntlBackslash=97]="IntlBackslash",n[n.Numpad0=98]="Numpad0",n[n.Numpad1=99]="Numpad1",n[n.Numpad2=100]="Numpad2",n[n.Numpad3=101]="Numpad3",n[n.Numpad4=102]="Numpad4",n[n.Numpad5=103]="Numpad5",n[n.Numpad6=104]="Numpad6",n[n.Numpad7=105]="Numpad7",n[n.Numpad8=106]="Numpad8",n[n.Numpad9=107]="Numpad9",n[n.NumpadMultiply=108]="NumpadMultiply",n[n.NumpadAdd=109]="NumpadAdd",n[n.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",n[n.NumpadSubtract=111]="NumpadSubtract",n[n.NumpadDecimal=112]="NumpadDecimal",n[n.NumpadDivide=113]="NumpadDivide",n[n.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",n[n.ABNT_C1=115]="ABNT_C1",n[n.ABNT_C2=116]="ABNT_C2",n[n.AudioVolumeMute=117]="AudioVolumeMute",n[n.AudioVolumeUp=118]="AudioVolumeUp",n[n.AudioVolumeDown=119]="AudioVolumeDown",n[n.BrowserSearch=120]="BrowserSearch",n[n.BrowserHome=121]="BrowserHome",n[n.BrowserBack=122]="BrowserBack",n[n.BrowserForward=123]="BrowserForward",n[n.MediaTrackNext=124]="MediaTrackNext",n[n.MediaTrackPrevious=125]="MediaTrackPrevious",n[n.MediaStop=126]="MediaStop",n[n.MediaPlayPause=127]="MediaPlayPause",n[n.LaunchMediaPlayer=128]="LaunchMediaPlayer",n[n.LaunchMail=129]="LaunchMail",n[n.LaunchApp2=130]="LaunchApp2",n[n.Clear=131]="Clear",n[n.MAX_VALUE=132]="MAX_VALUE"})(KeyCode$3||(KeyCode$3={}));var MarkerSeverity$5;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(MarkerSeverity$5||(MarkerSeverity$5={}));var MarkerTag$3;(function(n){n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated"})(MarkerTag$3||(MarkerTag$3={}));var MinimapPosition$1;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(MinimapPosition$1||(MinimapPosition$1={}));var MinimapSectionHeaderStyle$1;(function(n){n[n.Normal=1]="Normal",n[n.Underlined=2]="Underlined"})(MinimapSectionHeaderStyle$1||(MinimapSectionHeaderStyle$1={}));var MouseTargetType$1;(function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.TEXTAREA=1]="TEXTAREA",n[n.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",n[n.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",n[n.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",n[n.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",n[n.CONTENT_TEXT=6]="CONTENT_TEXT",n[n.CONTENT_EMPTY=7]="CONTENT_EMPTY",n[n.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",n[n.CONTENT_WIDGET=9]="CONTENT_WIDGET",n[n.OVERVIEW_RULER=10]="OVERVIEW_RULER",n[n.SCROLLBAR=11]="SCROLLBAR",n[n.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",n[n.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(MouseTargetType$1||(MouseTargetType$1={}));var NewSymbolNameTag$2;(function(n){n[n.AIGenerated=1]="AIGenerated"})(NewSymbolNameTag$2||(NewSymbolNameTag$2={}));var NewSymbolNameTriggerKind;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(NewSymbolNameTriggerKind||(NewSymbolNameTriggerKind={}));var OverlayWidgetPositionPreference$1;(function(n){n[n.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",n[n.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",n[n.TOP_CENTER=2]="TOP_CENTER"})(OverlayWidgetPositionPreference$1||(OverlayWidgetPositionPreference$1={}));var OverviewRulerLane$3;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(OverviewRulerLane$3||(OverviewRulerLane$3={}));var PartialAcceptTriggerKind$1;(function(n){n[n.Word=0]="Word",n[n.Line=1]="Line",n[n.Suggest=2]="Suggest"})(PartialAcceptTriggerKind$1||(PartialAcceptTriggerKind$1={}));var PositionAffinity$1;(function(n){n[n.Left=0]="Left",n[n.Right=1]="Right",n[n.None=2]="None",n[n.LeftOfInjectedText=3]="LeftOfInjectedText",n[n.RightOfInjectedText=4]="RightOfInjectedText"})(PositionAffinity$1||(PositionAffinity$1={}));var RenderLineNumbersType$1;(function(n){n[n.Off=0]="Off",n[n.On=1]="On",n[n.Relative=2]="Relative",n[n.Interval=3]="Interval",n[n.Custom=4]="Custom"})(RenderLineNumbersType$1||(RenderLineNumbersType$1={}));var RenderMinimap$1;(function(n){n[n.None=0]="None",n[n.Text=1]="Text",n[n.Blocks=2]="Blocks"})(RenderMinimap$1||(RenderMinimap$1={}));var ScrollType$1;(function(n){n[n.Smooth=0]="Smooth",n[n.Immediate=1]="Immediate"})(ScrollType$1||(ScrollType$1={}));var ScrollbarVisibility$1;(function(n){n[n.Auto=1]="Auto",n[n.Hidden=2]="Hidden",n[n.Visible=3]="Visible"})(ScrollbarVisibility$1||(ScrollbarVisibility$1={}));var SelectionDirection$3;(function(n){n[n.LTR=0]="LTR",n[n.RTL=1]="RTL"})(SelectionDirection$3||(SelectionDirection$3={}));var ShowLightbulbIconMode$2;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(ShowLightbulbIconMode$2||(ShowLightbulbIconMode$2={}));var SignatureHelpTriggerKind$2;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(SignatureHelpTriggerKind$2||(SignatureHelpTriggerKind$2={}));var SymbolKind$1;(function(n){n[n.File=0]="File",n[n.Module=1]="Module",n[n.Namespace=2]="Namespace",n[n.Package=3]="Package",n[n.Class=4]="Class",n[n.Method=5]="Method",n[n.Property=6]="Property",n[n.Field=7]="Field",n[n.Constructor=8]="Constructor",n[n.Enum=9]="Enum",n[n.Interface=10]="Interface",n[n.Function=11]="Function",n[n.Variable=12]="Variable",n[n.Constant=13]="Constant",n[n.String=14]="String",n[n.Number=15]="Number",n[n.Boolean=16]="Boolean",n[n.Array=17]="Array",n[n.Object=18]="Object",n[n.Key=19]="Key",n[n.Null=20]="Null",n[n.EnumMember=21]="EnumMember",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter"})(SymbolKind$1||(SymbolKind$1={}));var SymbolTag$1;(function(n){n[n.Deprecated=1]="Deprecated"})(SymbolTag$1||(SymbolTag$1={}));var TextEditorCursorBlinkingStyle$1;(function(n){n[n.Hidden=0]="Hidden",n[n.Blink=1]="Blink",n[n.Smooth=2]="Smooth",n[n.Phase=3]="Phase",n[n.Expand=4]="Expand",n[n.Solid=5]="Solid"})(TextEditorCursorBlinkingStyle$1||(TextEditorCursorBlinkingStyle$1={}));var TextEditorCursorStyle$2;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(TextEditorCursorStyle$2||(TextEditorCursorStyle$2={}));var TrackedRangeStickiness$1;(function(n){n[n.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",n[n.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",n[n.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",n[n.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(TrackedRangeStickiness$1||(TrackedRangeStickiness$1={}));var WrappingIndent$1;(function(n){n[n.None=0]="None",n[n.Same=1]="Same",n[n.Indent=2]="Indent",n[n.DeepIndent=3]="DeepIndent"})(WrappingIndent$1||(WrappingIndent$1={}));var nr;let KeyMod$3=(nr=class{static chord(e,t){return KeyChord$1(e,t)}},nr.CtrlCmd=2048,nr.Shift=1024,nr.Alt=512,nr.WinCtrl=256,nr);function createMonacoBaseAPI$1(){return{editor:void 0,languages:void 0,CancellationTokenSource:CancellationTokenSource$3,Emitter:Emitter$3,KeyCode:KeyCode$3,KeyMod:KeyMod$3,Position:Position$3,Range:Range$5,Selection:Selection$3,SelectionDirection:SelectionDirection$3,MarkerSeverity:MarkerSeverity$5,MarkerTag:MarkerTag$3,Uri:URI$1,Token:Token$5}}function ensureCodeWindow$1(n,e){const t=n;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const mainWindow$1=window;function identity$3(n){return n}let LRUCachedFunction$1=class{constructor(e,t){this.lastCache=void 0,this.lastArgKey=void 0,typeof e=="function"?(this._fn=e,this._computeKey=identity$3):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this._fn(e)),this.lastCache}},CachedFunction$1=class{get cachedValues(){return this._map}constructor(e,t){this._map=new Map,this._map2=new Map,typeof e=="function"?(this._fn=e,this._computeKey=identity$3):(this._fn=t,this._computeKey=e.getCacheKey)}get(e){const t=this._computeKey(e);if(this._map2.has(t))return this._map2.get(t);const i=this._fn(e);return this._map.set(e,i),this._map2.set(t,i),i}},Lazy$1=class{constructor(e){this.executor=e,this._didRun=!1}get value(){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}};function isFalsyOrWhitespace$1(n){return!n||typeof n!="string"?!0:n.trim().length===0}const _formatRegexp$1=/{(\d+)}/g;function format$2(n,...e){return e.length===0?n:n.replace(_formatRegexp$1,function(t,i){const r=parseInt(i,10);return isNaN(r)||r<0||r>=e.length?t:e[r]})}function htmlAttributeEncodeValue$1(n){return n.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function escape$1(n){return n.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function escapeRegExpCharacters$1(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function trim$1(n,e=" "){const t=ltrim$1(n,e);return rtrim$1(t,e)}function ltrim$1(n,e){if(!n||!e)return n;const t=e.length;if(t===0||n.length===0)return n;let i=0;for(;n.indexOf(e,i)===i;)i=i+t;return n.substring(i)}function rtrim$1(n,e){if(!n||!e)return n;const t=e.length,i=n.length;if(t===0||i===0)return n;let r=i,g=-1;for(;g=n.lastIndexOf(e,r-1),!(g===-1||g+t!==r);){if(g===0)return"";r=g}return n.substring(0,r)}function convertSimple2RegExpPattern$1(n){return n.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function stripWildcards$1(n){return n.replace(/\*/g,"")}function createRegExp$1(n,e,t={}){if(!n)throw new Error("Cannot create regex from empty string");e||(n=escapeRegExpCharacters$1(n)),t.wholeWord&&(/\B/.test(n.charAt(0))||(n="\\b"+n),/\B/.test(n.charAt(n.length-1))||(n=n+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(n,i)}function regExpLeadsToEndlessLoop$1(n){return n.source==="^"||n.source==="^$"||n.source==="$"||n.source==="^\\s*$"?!1:!!(n.exec("")&&n.lastIndex===0)}function splitLines$1(n){return n.split(/\r\n|\r|\n/)}function splitLinesIncludeSeparators$1(n){var i;const e=[],t=n.split(/(\r\n|\r|\n)/);for(let r=0;r=0;t--){const i=n.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function compare$1(n,e){return ne?1:0}function compareSubstring$1(n,e,t=0,i=n.length,r=0,g=e.length){for(;tV)return 1}const y=i-t,k=g-r;return yk?1:0}function compareIgnoreCase$1(n,e){return compareSubstringIgnoreCase$1(n,e,0,n.length,0,e.length)}function compareSubstringIgnoreCase$1(n,e,t=0,i=n.length,r=0,g=e.length){for(;t=128||V>=128)return compareSubstring$1(n.toLowerCase(),e.toLowerCase(),t,i,r,g);isLowerAsciiLetter$1(L)&&(L-=32),isLowerAsciiLetter$1(V)&&(V-=32);const z=L-V;if(z!==0)return z}const y=i-t,k=g-r;return yk?1:0}function isAsciiDigit$1(n){return n>=48&&n<=57}function isLowerAsciiLetter$1(n){return n>=97&&n<=122}function isUpperAsciiLetter$1(n){return n>=65&&n<=90}function equalsIgnoreCase$1(n,e){return n.length===e.length&&compareSubstringIgnoreCase$1(n,e)===0}function startsWithIgnoreCase$1(n,e){const t=e.length;return e.length>n.length?!1:compareSubstringIgnoreCase$1(n,e,0,t)===0}function commonPrefixLength$1(n,e){const t=Math.min(n.length,e.length);let i;for(i=0;i1){const i=n.charCodeAt(e-2);if(isHighSurrogate$1(i))return computeCodePoint$1(i,t)}return t}let CodePointIterator$1=class{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=getPrevCodePoint$1(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=getNextCodePoint$1(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}},GraphemeIterator$1=class{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new CodePointIterator$1(e,t)}nextGraphemeLength(){const e=GraphemeBreakTree$1.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const g=t.offset,y=e.getGraphemeBreakType(t.nextCodePoint());if(breakBetweenGraphemeBreakType$1(r,y)){t.setOffset(g);break}r=y}return t.offset-i}prevGraphemeLength(){const e=GraphemeBreakTree$1.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const g=t.offset,y=e.getGraphemeBreakType(t.prevCodePoint());if(breakBetweenGraphemeBreakType$1(y,r)){t.setOffset(g);break}r=y}return i-t.offset}eol(){return this._iterator.eol()}};function nextCharLength$1(n,e){return new GraphemeIterator$1(n,e).nextGraphemeLength()}function prevCharLength$1(n,e){return new GraphemeIterator$1(n,e).prevGraphemeLength()}function getCharContainingOffset$1(n,e){e>0&&isLowSurrogate$1(n.charCodeAt(e))&&e--;const t=e+nextCharLength$1(n,e);return[t-prevCharLength$1(n,t),t]}let CONTAINS_RTL$1;function makeContainsRtl$1(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function containsRTL$1(n){return CONTAINS_RTL$1||(CONTAINS_RTL$1=makeContainsRtl$1()),CONTAINS_RTL$1.test(n)}const IS_BASIC_ASCII$1=/^[\t\n\r\x20-\x7E]*$/;function isBasicASCII$1(n){return IS_BASIC_ASCII$1.test(n)}const UNUSUAL_LINE_TERMINATORS$1=/[\u2028\u2029]/;function containsUnusualLineTerminators$1(n){return UNUSUAL_LINE_TERMINATORS$1.test(n)}function isFullWidthCharacter$1(n){return n>=11904&&n<=55215||n>=63744&&n<=64255||n>=65281&&n<=65374}function isEmojiImprecise$1(n){return n>=127462&&n<=127487||n===8986||n===8987||n===9200||n===9203||n>=9728&&n<=10175||n===11088||n===11093||n>=127744&&n<=128591||n>=128640&&n<=128764||n>=128992&&n<=129008||n>=129280&&n<=129535||n>=129648&&n<=129782}const UTF8_BOM_CHARACTER$1="\uFEFF";function startsWithUTF8BOM$1(n){return!!(n&&n.length>0&&n.charCodeAt(0)===65279)}function containsUppercaseCharacter$1(n,e=!1){return n?(e&&(n=n.replace(/\\./g,"")),n.toLowerCase()!==n):!1}function singleLetterHash$1(n){return n=n%(2*26),n<26?String.fromCharCode(97+n):String.fromCharCode(65+n-26)}function breakBetweenGraphemeBreakType$1(n,e){return n===0?e!==5&&e!==7:n===2&&e===3?!1:n===4||n===2||n===3||e===4||e===2||e===3?!0:!(n===8&&(e===8||e===9||e===11||e===12)||(n===11||n===9)&&(e===9||e===10)||(n===12||n===10)&&e===10||e===5||e===13||e===7||n===1||n===13&&e===14||n===6&&e===6)}var Bo;let GraphemeBreakTree$1=(Bo=class{static getInstance(){return Bo._INSTANCE||(Bo._INSTANCE=new Bo),Bo._INSTANCE}constructor(){this._data=getGraphemeBreakRawData$1()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let r=1;for(;r<=i;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}},Bo._INSTANCE=null,Bo);function getGraphemeBreakRawData$1(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function getLeftDeleteOffset$1(n,e){if(n===0)return 0;const t=getOffsetBeforeLastEmojiComponent$1(n,e);if(t!==void 0)return t;const i=new CodePointIterator$1(e,n);return i.prevCodePoint(),i.offset}function getOffsetBeforeLastEmojiComponent$1(n,e){const t=new CodePointIterator$1(e,n);let i=t.prevCodePoint();for(;isEmojiModifier$1(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!isEmojiImprecise$1(i))return;let r=t.offset;return r>0&&t.prevCodePoint()===8205&&(r=t.offset),r}function isEmojiModifier$1(n){return 127995<=n&&n<=127999}const noBreakWhitespace$1=" ";var ao;let AmbiguousCharacters$1=(ao=class{static getInstance(e){return ao.cache.get(Array.from(e))}static getLocales(){return ao._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}},ao.ambiguousCharacterData=new Lazy$1(()=>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,119846,109],"_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]}')),ao.cache=new LRUCachedFunction$1({getCacheKey:JSON.stringify},e=>{function t(z){const j=new Map;for(let ie=0;ie!z.startsWith("_")&&z in g);y.length===0&&(y=["_default"]);let k;for(const z of y){const j=t(g[z]);k=r(k,j)}const L=t(g._common),V=i(L,k);return new ao(V)}),ao._locales=new Lazy$1(()=>Object.keys(ao.ambiguousCharacterData.value).filter(e=>!e.startsWith("_"))),ao);var rr;let InvisibleCharacters$1=(rr=class{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 getData(){return this._data||(this._data=new Set(rr.getRawData())),this._data}static isInvisibleCharacter(e){return rr.getData().has(e)}static get codePoints(){return rr.getData()}},rr._data=void 0,rr);var ms;let WindowManager$1=(ms=class{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))!=null?t:1}getWindowId(e){return e.vscodeWindowId}},ms.INSTANCE=new ms,ms);function addMatchMediaChangeListener$1(n,e,t){typeof e=="string"&&(e=n.matchMedia(e)),e.addEventListener("change",t)}function getZoomFactor$1(n){return WindowManager$1.INSTANCE.getZoomFactor(n)}const userAgent$3=navigator.userAgent,isFirefox$3=userAgent$3.indexOf("Firefox")>=0,isWebKit$1=userAgent$3.indexOf("AppleWebKit")>=0,isChrome$2=userAgent$3.indexOf("Chrome")>=0,isSafari$2=!isChrome$2&&userAgent$3.indexOf("Safari")>=0,isWebkitWebView$1=!isChrome$2&&!isSafari$2&&isWebKit$1;userAgent$3.indexOf("Electron/")>=0;const isAndroid$2=userAgent$3.indexOf("Android")>=0;let standalone$1=!1;if(typeof mainWindow$1.matchMedia=="function"){const n=mainWindow$1.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=mainWindow$1.matchMedia("(display-mode: fullscreen)");standalone$1=n.matches,addMatchMediaChangeListener$1(mainWindow$1,n,({matches:t})=>{standalone$1&&e.matches||(standalone$1=t)})}const BrowserFeatures$1={clipboard:{writeText:isNative$1||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:isNative$1||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:mainWindow$1.PointerEvent&&("ontouchstart"in mainWindow$1||navigator.maxTouchPoints>0)};function decodeKeybinding$1(n,e){if(typeof n=="number"){if(n===0)return null;const t=(n&65535)>>>0,i=(n&4294901760)>>>16;return i!==0?new Keybinding$2([createSimpleKeybinding$1(t,e),createSimpleKeybinding$1(i,e)]):new Keybinding$2([createSimpleKeybinding$1(t,e)])}else{const t=[];for(let i=0;i{const y=e.token.onCancellationRequested(()=>{y.dispose(),g(new CancellationError$1)});Promise.resolve(t).then(k=>{y.dispose(),e.dispose(),r(k)},k=>{y.dispose(),e.dispose(),g(k)})});return new class{cancel(){e.cancel(),e.dispose()}then(r,g){return i.then(r,g)}catch(r){return this.then(void 0,r)}finally(r){return i.finally(r)}}}function raceCancellation$1(n,e,t){return new Promise((i,r)=>{const g=e.onCancellationRequested(()=>{g.dispose(),i(t)});n.then(i,r).finally(()=>g.dispose())})}let Throttler$1=class{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(r=>{this.activePromise=null,t(r)},r=>{this.activePromise=null,i(r)})})}dispose(){this.isDisposed=!0}};const timeoutDeferred$1=(n,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},microtaskDeferred$1=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};let Delayer$1=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((r,g)=>{this.doResolve=r,this.doReject=g}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const r=this.task;return this.task=null,r()}}));const i=()=>{var r;this.deferred=null,(r=this.doResolve)==null||r.call(this,null)};return this.deferred=t===MicrotaskDelay$1?microtaskDeferred$1(i):timeoutDeferred$1(t,i),this.completionPromise}isTriggered(){var e;return!!((e=this.deferred)!=null&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)==null||e.call(this,new CancellationError$1),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)==null||e.dispose(),this.deferred=null}dispose(){this.cancel()}},ThrottledDelayer$1=class{constructor(e){this.delayer=new Delayer$1(e),this.throttler=new Throttler$1}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}};function timeout$1(n,e){return e?new Promise((t,i)=>{const r=setTimeout(()=>{g.dispose(),t()},n),g=e.onCancellationRequested(()=>{clearTimeout(r),g.dispose(),i(new CancellationError$1)})}):createCancelablePromise$1(t=>timeout$1(n,t))}function disposableTimeout$1(n,e=0,t){const i=setTimeout(()=>{n(),t&&r.dispose()},e),r=toDisposable$1(()=>{clearTimeout(i),t==null||t.deleteAndLeak(r)});return t==null||t.add(r),r}function first$1(n,e=i=>!!i,t=null){let i=0;const r=n.length,g=()=>{if(i>=r)return Promise.resolve(t);const y=n[i++];return Promise.resolve(y()).then(L=>e(L)?Promise.resolve(L):g())};return g()}let TimeoutTimer$1=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new BugIndicatingError$1("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new BugIndicatingError$1("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},IntervalTimer$1=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var e;(e=this.disposable)==null||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new BugIndicatingError$1("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();const r=i.setInterval(()=>{e()},t);this.disposable=toDisposable$1(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},RunOnceScheduler$1=class{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)==null||e.call(this)}},runWhenGlobalIdle$1,_runWhenIdle$1;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?_runWhenIdle$1=(n,e)=>{setTimeout0$1(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:_runWhenIdle$1=(n,e,t)=>{const i=n.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let r=!1;return{dispose(){r||(r=!0,n.cancelIdleCallback(i))}}},runWhenGlobalIdle$1=n=>_runWhenIdle$1(globalThis,n)})();let AbstractIdleValue$1=class{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=_runWhenIdle$1(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}},GlobalIdleValue$1=class extends AbstractIdleValue$1{constructor(e){super(globalThis,e)}},DeferredPromise$1=class{get isRejected(){var e;return((e=this.outcome)==null?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new CancellationError$1)}};var Promises$1;(function(n){async function e(i){let r;const g=await Promise.all(i.map(y=>y.then(k=>k,k=>{r||(r=k)})));if(typeof r<"u")throw r;return g}n.settled=e;function t(i){return new Promise(async(r,g)=>{try{await i(r,g)}catch(y){g(y)}})}n.withAsyncBody=t})(Promises$1||(Promises$1={}));var Gn;let AsyncIterableObject$1=(Gn=class{static fromArray(e){return new Gn(t=>{t.emitMany(e)})}static fromPromise(e){return new Gn(async t=>{t.emitMany(await e)})}static fromPromises(e){return new Gn(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new Gn(async t=>{await Promise.all(e.map(async i=>{for await(const r of i)t.emitOne(r)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new Emitter$3,queueMicrotask(async()=>{const i={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(e(i)),this.resolve()}catch(r){this.reject(r)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{var t;return(t=this._onReturn)==null||t.call(this),{done:!0,value:void 0}}}}static map(e,t){return new Gn(async i=>{for await(const r of e)i.emitOne(t(r))})}map(e){return Gn.map(this,e)}static filter(e,t){return new Gn(async i=>{for await(const r of e)t(r)&&i.emitOne(r)})}filter(e){return Gn.filter(this,e)}static coalesce(e){return Gn.filter(e,t=>!!t)}coalesce(){return Gn.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return Gn.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}},Gn.EMPTY=Gn.fromArray([]),Gn),CancelableAsyncIterableObject$1=class extends AsyncIterableObject$1{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}};function createCancelableAsyncIterable$1(n){const e=new CancellationTokenSource$3,t=n(e.token);return new CancelableAsyncIterableObject$1(e,async i=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),i.reject(new CancellationError$1)});try{for await(const g of t){if(e.token.isCancellationRequested)return;i.emitOne(g)}r.dispose(),e.dispose()}catch(g){r.dispose(),e.dispose(),i.reject(g)}})}/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */const{entries:entries$1,setPrototypeOf:setPrototypeOf$1,isFrozen:isFrozen$1,getPrototypeOf:getPrototypeOf$1,getOwnPropertyDescriptor:getOwnPropertyDescriptor$1}=Object;let{freeze:freeze$3,seal:seal$1,create:create$3}=Object,{apply:apply$2,construct:construct$1}=typeof Reflect<"u"&&Reflect;freeze$3||(freeze$3=function(e){return e});seal$1||(seal$1=function(e){return e});apply$2||(apply$2=function(e,t,i){return e.apply(t,i)});construct$1||(construct$1=function(e,t){return new e(...t)});const arrayForEach$1=unapply$1(Array.prototype.forEach),arrayPop$1=unapply$1(Array.prototype.pop),arrayPush$2=unapply$1(Array.prototype.push),stringToLowerCase$1=unapply$1(String.prototype.toLowerCase),stringToString$1=unapply$1(String.prototype.toString),stringMatch$1=unapply$1(String.prototype.match),stringReplace$1=unapply$1(String.prototype.replace),stringIndexOf$1=unapply$1(String.prototype.indexOf),stringTrim$1=unapply$1(String.prototype.trim),objectHasOwnProperty=unapply$1(Object.prototype.hasOwnProperty),regExpTest$1=unapply$1(RegExp.prototype.test),typeErrorCreate$1=unconstruct$1(TypeError);function unapply$1(n){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r2&&arguments[2]!==void 0?arguments[2]:stringToLowerCase$1;setPrototypeOf$1&&setPrototypeOf$1(n,null);let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){const g=t(r);g!==r&&(isFrozen$1(e)||(e[i]=g),r=g)}n[r]=!0}return n}function cleanArray(n){for(let e=0;e/gm),TMPLIT_EXPR$1=seal$1(/\${[\w\W]*}/gm),DATA_ATTR$1=seal$1(/^data-[\-\w.\u00B7-\uFFFF]/),ARIA_ATTR$1=seal$1(/^aria-[\-\w]+$/),IS_ALLOWED_URI$1=seal$1(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),IS_SCRIPT_OR_DATA$1=seal$1(/^(?:\w+script|data):/i),ATTR_WHITESPACE$1=seal$1(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),DOCTYPE_NAME$1=seal$1(/^html$/i),CUSTOM_ELEMENT=seal$1(/^[a-z][.\w]*(-[.\w]+)+$/i);var EXPRESSIONS$1=Object.freeze({__proto__:null,MUSTACHE_EXPR:MUSTACHE_EXPR$1,ERB_EXPR:ERB_EXPR$1,TMPLIT_EXPR:TMPLIT_EXPR$1,DATA_ATTR:DATA_ATTR$1,ARIA_ATTR:ARIA_ATTR$1,IS_ALLOWED_URI:IS_ALLOWED_URI$1,IS_SCRIPT_OR_DATA:IS_SCRIPT_OR_DATA$1,ATTR_WHITESPACE:ATTR_WHITESPACE$1,DOCTYPE_NAME:DOCTYPE_NAME$1,CUSTOM_ELEMENT});const NODE_TYPE={element:1,text:3,progressingInstruction:7,comment:8,document:9},getGlobal$1=function(){return typeof window>"u"?null:window},_createTrustedTypesPolicy$1=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));const g="dompurify"+(i?"#"+i:"");try{return e.createPolicy(g,{createHTML(y){return y},createScriptURL(y){return y}})}catch(y){return console.warn("TrustedTypes policy "+g+" could not be created."),null}};function createDOMPurify$1(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:getGlobal$1();const e=Yi=>createDOMPurify$1(Yi);if(e.version="3.1.7",e.removed=[],!n||!n.document||n.document.nodeType!==NODE_TYPE.document)return e.isSupported=!1,e;let{document:t}=n;const i=t,r=i.currentScript,{DocumentFragment:g,HTMLTemplateElement:y,Node:k,Element:L,NodeFilter:V,NamedNodeMap:z=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:j,DOMParser:ie,trustedTypes:oe}=n,re=L.prototype,ae=lookupGetter$1(re,"cloneNode"),le=lookupGetter$1(re,"remove"),de=lookupGetter$1(re,"nextSibling"),ue=lookupGetter$1(re,"childNodes"),he=lookupGetter$1(re,"parentNode");if(typeof y=="function"){const Yi=t.createElement("template");Yi.content&&Yi.content.ownerDocument&&(t=Yi.content.ownerDocument)}let pe,Ce="";const{implementation:$e,createNodeIterator:xe,createDocumentFragment:Ie,getElementsByTagName:Ne}=t,{importNode:Fe}=i;let Ve={};e.isSupported=typeof entries$1=="function"&&typeof he=="function"&&$e&&$e.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Oe,ERB_EXPR:ze,TMPLIT_EXPR:qe,DATA_ATTR:Ue,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:At,ATTR_WHITESPACE:Lt,CUSTOM_ELEMENT:kt}=EXPRESSIONS$1;let{IS_ALLOWED_URI:ei}=EXPRESSIONS$1,jt=null;const ri=addToSet$1({},[...html$1$1,...svg$1$1,...svgFilters$1,...mathMl$1$1,...text$3]);let ni=null;const Ci=addToSet$1({},[...html$3,...svg$2,...mathMl$2,...xml$1]);let wi=Object.seal(create$3(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ri=null,ai=null,hi=!0,xi=!0,Oi=!1,Ei=!0,si=!1,fi=!0,li=!1,Di=!1,ki=!1,Ai=!1,Ki=!1,zi=!1,bi=!0,vi=!1;const Li="user-content-";let oi=!0,ii=!1,mi={},yi=null;const ti=addToSet$1({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Dt=null;const Pt=addToSet$1({},["audio","video","img","source","image","track"]);let ci=null;const Ti=addToSet$1({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Mi="http://www.w3.org/1998/Math/MathML",pi="http://www.w3.org/2000/svg",ui="http://www.w3.org/1999/xhtml";let $i=ui,di=!1,Wi=null;const Gi=addToSet$1({},[Mi,pi,ui],stringToString$1);let Zi=null;const vn=["application/xhtml+xml","text/html"],Tn="text/html";let In=null,Rn=null;const Bn=t.createElement("form"),Ln=function(Fi){return Fi instanceof RegExp||Fi instanceof Function},Nn=function(){let Fi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Rn&&Rn===Fi)){if((!Fi||typeof Fi!="object")&&(Fi={}),Fi=clone$4(Fi),Zi=vn.indexOf(Fi.PARSER_MEDIA_TYPE)===-1?Tn:Fi.PARSER_MEDIA_TYPE,In=Zi==="application/xhtml+xml"?stringToString$1:stringToLowerCase$1,jt=objectHasOwnProperty(Fi,"ALLOWED_TAGS")?addToSet$1({},Fi.ALLOWED_TAGS,In):ri,ni=objectHasOwnProperty(Fi,"ALLOWED_ATTR")?addToSet$1({},Fi.ALLOWED_ATTR,In):Ci,Wi=objectHasOwnProperty(Fi,"ALLOWED_NAMESPACES")?addToSet$1({},Fi.ALLOWED_NAMESPACES,stringToString$1):Gi,ci=objectHasOwnProperty(Fi,"ADD_URI_SAFE_ATTR")?addToSet$1(clone$4(Ti),Fi.ADD_URI_SAFE_ATTR,In):Ti,Dt=objectHasOwnProperty(Fi,"ADD_DATA_URI_TAGS")?addToSet$1(clone$4(Pt),Fi.ADD_DATA_URI_TAGS,In):Pt,yi=objectHasOwnProperty(Fi,"FORBID_CONTENTS")?addToSet$1({},Fi.FORBID_CONTENTS,In):ti,Ri=objectHasOwnProperty(Fi,"FORBID_TAGS")?addToSet$1({},Fi.FORBID_TAGS,In):{},ai=objectHasOwnProperty(Fi,"FORBID_ATTR")?addToSet$1({},Fi.FORBID_ATTR,In):{},mi=objectHasOwnProperty(Fi,"USE_PROFILES")?Fi.USE_PROFILES:!1,hi=Fi.ALLOW_ARIA_ATTR!==!1,xi=Fi.ALLOW_DATA_ATTR!==!1,Oi=Fi.ALLOW_UNKNOWN_PROTOCOLS||!1,Ei=Fi.ALLOW_SELF_CLOSE_IN_ATTR!==!1,si=Fi.SAFE_FOR_TEMPLATES||!1,fi=Fi.SAFE_FOR_XML!==!1,li=Fi.WHOLE_DOCUMENT||!1,Ai=Fi.RETURN_DOM||!1,Ki=Fi.RETURN_DOM_FRAGMENT||!1,zi=Fi.RETURN_TRUSTED_TYPE||!1,ki=Fi.FORCE_BODY||!1,bi=Fi.SANITIZE_DOM!==!1,vi=Fi.SANITIZE_NAMED_PROPS||!1,oi=Fi.KEEP_CONTENT!==!1,ii=Fi.IN_PLACE||!1,ei=Fi.ALLOWED_URI_REGEXP||IS_ALLOWED_URI$1,$i=Fi.NAMESPACE||ui,wi=Fi.CUSTOM_ELEMENT_HANDLING||{},Fi.CUSTOM_ELEMENT_HANDLING&&Ln(Fi.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(wi.tagNameCheck=Fi.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Fi.CUSTOM_ELEMENT_HANDLING&&Ln(Fi.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(wi.attributeNameCheck=Fi.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Fi.CUSTOM_ELEMENT_HANDLING&&typeof Fi.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(wi.allowCustomizedBuiltInElements=Fi.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),si&&(xi=!1),Ki&&(Ai=!0),mi&&(jt=addToSet$1({},text$3),ni=[],mi.html===!0&&(addToSet$1(jt,html$1$1),addToSet$1(ni,html$3)),mi.svg===!0&&(addToSet$1(jt,svg$1$1),addToSet$1(ni,svg$2),addToSet$1(ni,xml$1)),mi.svgFilters===!0&&(addToSet$1(jt,svgFilters$1),addToSet$1(ni,svg$2),addToSet$1(ni,xml$1)),mi.mathMl===!0&&(addToSet$1(jt,mathMl$1$1),addToSet$1(ni,mathMl$2),addToSet$1(ni,xml$1))),Fi.ADD_TAGS&&(jt===ri&&(jt=clone$4(jt)),addToSet$1(jt,Fi.ADD_TAGS,In)),Fi.ADD_ATTR&&(ni===Ci&&(ni=clone$4(ni)),addToSet$1(ni,Fi.ADD_ATTR,In)),Fi.ADD_URI_SAFE_ATTR&&addToSet$1(ci,Fi.ADD_URI_SAFE_ATTR,In),Fi.FORBID_CONTENTS&&(yi===ti&&(yi=clone$4(yi)),addToSet$1(yi,Fi.FORBID_CONTENTS,In)),oi&&(jt["#text"]=!0),li&&addToSet$1(jt,["html","head","body"]),jt.table&&(addToSet$1(jt,["tbody"]),delete Ri.tbody),Fi.TRUSTED_TYPES_POLICY){if(typeof Fi.TRUSTED_TYPES_POLICY.createHTML!="function")throw typeErrorCreate$1('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Fi.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw typeErrorCreate$1('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');pe=Fi.TRUSTED_TYPES_POLICY,Ce=pe.createHTML("")}else pe===void 0&&(pe=_createTrustedTypesPolicy$1(oe,r)),pe!==null&&typeof Ce=="string"&&(Ce=pe.createHTML(""));freeze$3&&freeze$3(Fi),Rn=Fi}},wn=addToSet$1({},["mi","mo","mn","ms","mtext"]),_i=addToSet$1({},["annotation-xml"]),Si=addToSet$1({},["title","style","font","a","script"]),Ii=addToSet$1({},[...svg$1$1,...svgFilters$1,...svgDisallowed$1]),Pi=addToSet$1({},[...mathMl$1$1,...mathMlDisallowed$1]),Bi=function(Fi){let Qi=he(Fi);(!Qi||!Qi.tagName)&&(Qi={namespaceURI:$i,tagName:"template"});const Sn=stringToLowerCase$1(Fi.tagName),kn=stringToLowerCase$1(Qi.tagName);return Wi[Fi.namespaceURI]?Fi.namespaceURI===pi?Qi.namespaceURI===ui?Sn==="svg":Qi.namespaceURI===Mi?Sn==="svg"&&(kn==="annotation-xml"||wn[kn]):!!Ii[Sn]:Fi.namespaceURI===Mi?Qi.namespaceURI===ui?Sn==="math":Qi.namespaceURI===pi?Sn==="math"&&_i[kn]:!!Pi[Sn]:Fi.namespaceURI===ui?Qi.namespaceURI===pi&&!_i[kn]||Qi.namespaceURI===Mi&&!wn[kn]?!1:!Pi[Sn]&&(Si[Sn]||!Ii[Sn]):!!(Zi==="application/xhtml+xml"&&Wi[Fi.namespaceURI]):!1},ji=function(Fi){arrayPush$2(e.removed,{element:Fi});try{he(Fi).removeChild(Fi)}catch(Qi){le(Fi)}},qi=function(Fi,Qi){try{arrayPush$2(e.removed,{attribute:Qi.getAttributeNode(Fi),from:Qi})}catch(Sn){arrayPush$2(e.removed,{attribute:null,from:Qi})}if(Qi.removeAttribute(Fi),Fi==="is"&&!ni[Fi])if(Ai||Ki)try{ji(Qi)}catch(Sn){}else try{Qi.setAttribute(Fi,"")}catch(Sn){}},hn=function(Fi){let Qi=null,Sn=null;if(ki)Fi=""+Fi;else{const Vn=stringMatch$1(Fi,/^[\r\n\t ]+/);Sn=Vn&&Vn[0]}Zi==="application/xhtml+xml"&&$i===ui&&(Fi=''+Fi+"");const kn=pe?pe.createHTML(Fi):Fi;if($i===ui)try{Qi=new ie().parseFromString(kn,Zi)}catch(Vn){}if(!Qi||!Qi.documentElement){Qi=$e.createDocument($i,"template",null);try{Qi.documentElement.innerHTML=di?Ce:kn}catch(Vn){}}const On=Qi.body||Qi.documentElement;return Fi&&Sn&&On.insertBefore(t.createTextNode(Sn),On.childNodes[0]||null),$i===ui?Ne.call(Qi,li?"html":"body")[0]:li?Qi.documentElement:On},_n=function(Fi){return xe.call(Fi.ownerDocument||Fi,Fi,V.SHOW_ELEMENT|V.SHOW_COMMENT|V.SHOW_TEXT|V.SHOW_PROCESSING_INSTRUCTION|V.SHOW_CDATA_SECTION,null)},Hi=function(Fi){return Fi instanceof j&&(typeof Fi.nodeName!="string"||typeof Fi.textContent!="string"||typeof Fi.removeChild!="function"||!(Fi.attributes instanceof z)||typeof Fi.removeAttribute!="function"||typeof Fi.setAttribute!="function"||typeof Fi.namespaceURI!="string"||typeof Fi.insertBefore!="function"||typeof Fi.hasChildNodes!="function")},Xi=function(Fi){return typeof k=="function"&&Fi instanceof k},bn=function(Fi,Qi,Sn){Ve[Fi]&&arrayForEach$1(Ve[Fi],kn=>{kn.call(e,Qi,Sn,Rn)})},En=function(Fi){let Qi=null;if(bn("beforeSanitizeElements",Fi,null),Hi(Fi))return ji(Fi),!0;const Sn=In(Fi.nodeName);if(bn("uponSanitizeElement",Fi,{tagName:Sn,allowedTags:jt}),Fi.hasChildNodes()&&!Xi(Fi.firstElementChild)&®ExpTest$1(/<[/\w]/g,Fi.innerHTML)&®ExpTest$1(/<[/\w]/g,Fi.textContent)||Fi.nodeType===NODE_TYPE.progressingInstruction||fi&&Fi.nodeType===NODE_TYPE.comment&®ExpTest$1(/<[/\w]/g,Fi.data))return ji(Fi),!0;if(!jt[Sn]||Ri[Sn]){if(!Ri[Sn]&&Cn(Sn)&&(wi.tagNameCheck instanceof RegExp&®ExpTest$1(wi.tagNameCheck,Sn)||wi.tagNameCheck instanceof Function&&wi.tagNameCheck(Sn)))return!1;if(oi&&!yi[Sn]){const kn=he(Fi)||Fi.parentNode,On=ue(Fi)||Fi.childNodes;if(On&&kn){const Vn=On.length;for(let qn=Vn-1;qn>=0;--qn){const wo=ae(On[qn],!0);wo.__removalCount=(Fi.__removalCount||0)+1,kn.insertBefore(wo,de(Fi))}}}return ji(Fi),!0}return Fi instanceof L&&!Bi(Fi)||(Sn==="noscript"||Sn==="noembed"||Sn==="noframes")&®ExpTest$1(/<\/no(script|embed|frames)/i,Fi.innerHTML)?(ji(Fi),!0):(si&&Fi.nodeType===NODE_TYPE.text&&(Qi=Fi.textContent,arrayForEach$1([Oe,ze,qe],kn=>{Qi=stringReplace$1(Qi,kn," ")}),Fi.textContent!==Qi&&(arrayPush$2(e.removed,{element:Fi.cloneNode()}),Fi.textContent=Qi)),bn("afterSanitizeElements",Fi,null),!1)},Dn=function(Fi,Qi,Sn){if(bi&&(Qi==="id"||Qi==="name")&&(Sn in t||Sn in Bn))return!1;if(!(xi&&!ai[Qi]&®ExpTest$1(Ue,Qi))){if(!(hi&®ExpTest$1(Et,Qi))){if(!ni[Qi]||ai[Qi]){if(!(Cn(Fi)&&(wi.tagNameCheck instanceof RegExp&®ExpTest$1(wi.tagNameCheck,Fi)||wi.tagNameCheck instanceof Function&&wi.tagNameCheck(Fi))&&(wi.attributeNameCheck instanceof RegExp&®ExpTest$1(wi.attributeNameCheck,Qi)||wi.attributeNameCheck instanceof Function&&wi.attributeNameCheck(Qi))||Qi==="is"&&wi.allowCustomizedBuiltInElements&&(wi.tagNameCheck instanceof RegExp&®ExpTest$1(wi.tagNameCheck,Sn)||wi.tagNameCheck instanceof Function&&wi.tagNameCheck(Sn))))return!1}else if(!ci[Qi]){if(!regExpTest$1(ei,stringReplace$1(Sn,Lt,""))){if(!((Qi==="src"||Qi==="xlink:href"||Qi==="href")&&Fi!=="script"&&stringIndexOf$1(Sn,"data:")===0&&Dt[Fi])){if(!(Oi&&!regExpTest$1(At,stringReplace$1(Sn,Lt,"")))){if(Sn)return!1}}}}}}return!0},Cn=function(Fi){return Fi!=="annotation-xml"&&stringMatch$1(Fi,kt)},Vi=function(Fi){bn("beforeSanitizeAttributes",Fi,null);const{attributes:Qi}=Fi;if(!Qi)return;const Sn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ni};let kn=Qi.length;for(;kn--;){const On=Qi[kn],{name:Vn,namespaceURI:qn,value:wo}=On,pc=In(Vn);let Jn=Vn==="value"?wo:stringTrim$1(wo);if(Sn.attrName=pc,Sn.attrValue=Jn,Sn.keepAttr=!0,Sn.forceKeepAttr=void 0,bn("uponSanitizeAttribute",Fi,Sn),Jn=Sn.attrValue,Sn.forceKeepAttr||(qi(Vn,Fi),!Sn.keepAttr))continue;if(!Ei&®ExpTest$1(/\/>/i,Jn)){qi(Vn,Fi);continue}si&&arrayForEach$1([Oe,ze,qe],iu=>{Jn=stringReplace$1(Jn,iu," ")});const tu=In(Fi.nodeName);if(Dn(tu,pc,Jn)){if(vi&&(pc==="id"||pc==="name")&&(qi(Vn,Fi),Jn=Li+Jn),fi&®ExpTest$1(/((--!?|])>)|<\/(style|title)/i,Jn)){qi(Vn,Fi);continue}if(pe&&typeof oe=="object"&&typeof oe.getAttributeType=="function"&&!qn)switch(oe.getAttributeType(tu,pc)){case"TrustedHTML":{Jn=pe.createHTML(Jn);break}case"TrustedScriptURL":{Jn=pe.createScriptURL(Jn);break}}try{qn?Fi.setAttributeNS(qn,Vn,Jn):Fi.setAttribute(Vn,Jn),Hi(Fi)?ji(Fi):arrayPop$1(e.removed)}catch(iu){}}}bn("afterSanitizeAttributes",Fi,null)},Ji=function Yi(Fi){let Qi=null;const Sn=_n(Fi);for(bn("beforeSanitizeShadowDOM",Fi,null);Qi=Sn.nextNode();)bn("uponSanitizeShadowNode",Qi,null),!En(Qi)&&(Qi.content instanceof g&&Yi(Qi.content),Vi(Qi));bn("afterSanitizeShadowDOM",Fi,null)};return e.sanitize=function(Yi){let Fi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Qi=null,Sn=null,kn=null,On=null;if(di=!Yi,di&&(Yi=""),typeof Yi!="string"&&!Xi(Yi))if(typeof Yi.toString=="function"){if(Yi=Yi.toString(),typeof Yi!="string")throw typeErrorCreate$1("dirty is not a string, aborting")}else throw typeErrorCreate$1("toString is not a function");if(!e.isSupported)return Yi;if(Di||Nn(Fi),e.removed=[],typeof Yi=="string"&&(ii=!1),ii){if(Yi.nodeName){const wo=In(Yi.nodeName);if(!jt[wo]||Ri[wo])throw typeErrorCreate$1("root node is forbidden and cannot be sanitized in-place")}}else if(Yi instanceof k)Qi=hn(""),Sn=Qi.ownerDocument.importNode(Yi,!0),Sn.nodeType===NODE_TYPE.element&&Sn.nodeName==="BODY"||Sn.nodeName==="HTML"?Qi=Sn:Qi.appendChild(Sn);else{if(!Ai&&!si&&!li&&Yi.indexOf("<")===-1)return pe&&zi?pe.createHTML(Yi):Yi;if(Qi=hn(Yi),!Qi)return Ai?null:zi?Ce:""}Qi&&ki&&ji(Qi.firstChild);const Vn=_n(ii?Yi:Qi);for(;kn=Vn.nextNode();)En(kn)||(kn.content instanceof g&&Ji(kn.content),Vi(kn));if(ii)return Yi;if(Ai){if(Ki)for(On=Ie.call(Qi.ownerDocument);Qi.firstChild;)On.appendChild(Qi.firstChild);else On=Qi;return(ni.shadowroot||ni.shadowrootmode)&&(On=Fe.call(i,On,!0)),On}let qn=li?Qi.outerHTML:Qi.innerHTML;return li&&jt["!doctype"]&&Qi.ownerDocument&&Qi.ownerDocument.doctype&&Qi.ownerDocument.doctype.name&®ExpTest$1(DOCTYPE_NAME$1,Qi.ownerDocument.doctype.name)&&(qn="\n"+qn),si&&arrayForEach$1([Oe,ze,qe],wo=>{qn=stringReplace$1(qn,wo," ")}),pe&&zi?pe.createHTML(qn):qn},e.setConfig=function(){let Yi=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Nn(Yi),Di=!0},e.clearConfig=function(){Rn=null,Di=!1},e.isValidAttribute=function(Yi,Fi,Qi){Rn||Nn({});const Sn=In(Yi),kn=In(Fi);return Dn(Sn,kn,Qi)},e.addHook=function(Yi,Fi){typeof Fi=="function"&&(Ve[Yi]=Ve[Yi]||[],arrayPush$2(Ve[Yi],Fi))},e.removeHook=function(Yi){if(Ve[Yi])return arrayPop$1(Ve[Yi])},e.removeHooks=function(Yi){Ve[Yi]&&(Ve[Yi]=[])},e.removeAllHooks=function(){Ve={}},e}var purify$1=createDOMPurify$1();purify$1.version;purify$1.isSupported;const sanitize$3=purify$1.sanitize;purify$1.setConfig;purify$1.clearConfig;purify$1.isValidAttribute;const addHook$1=purify$1.addHook,removeHook$1=purify$1.removeHook;purify$1.removeHooks;purify$1.removeAllHooks;var Schemas$1;(function(n){n.inMemory="inmemory",n.vscode="vscode",n.internal="private",n.walkThrough="walkThrough",n.walkThroughSnippet="walkThroughSnippet",n.http="http",n.https="https",n.file="file",n.mailto="mailto",n.untitled="untitled",n.data="data",n.command="command",n.vscodeRemote="vscode-remote",n.vscodeRemoteResource="vscode-remote-resource",n.vscodeManagedRemoteResource="vscode-managed-remote-resource",n.vscodeUserData="vscode-userdata",n.vscodeCustomEditor="vscode-custom-editor",n.vscodeNotebookCell="vscode-notebook-cell",n.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",n.vscodeNotebookCellMetadataDiff="vscode-notebook-cell-metadata-diff",n.vscodeNotebookCellOutput="vscode-notebook-cell-output",n.vscodeNotebookCellOutputDiff="vscode-notebook-cell-output-diff",n.vscodeNotebookMetadata="vscode-notebook-metadata",n.vscodeInteractiveInput="vscode-interactive-input",n.vscodeSettings="vscode-settings",n.vscodeWorkspaceTrust="vscode-workspace-trust",n.vscodeTerminal="vscode-terminal",n.vscodeChatCodeBlock="vscode-chat-code-block",n.vscodeChatCodeCompareBlock="vscode-chat-code-compare-block",n.vscodeChatSesssion="vscode-chat-editor",n.webviewPanel="webview-panel",n.vscodeWebview="vscode-webview",n.extension="extension",n.vscodeFileResource="vscode-file",n.tmp="tmp",n.vsls="vsls",n.vscodeSourceControl="vscode-scm",n.commentsInput="comment",n.codeSetting="code-setting",n.outputChannel="output"})(Schemas$1||(Schemas$1={}));function matchesScheme$1(n,e){return URI$1.isUri(n)?equalsIgnoreCase$1(n.scheme,e):startsWithIgnoreCase$1(n,e+":")}function matchesSomeScheme$1(n,...e){return e.some(t=>matchesScheme$1(n,t))}const connectionTokenQueryName$1="tkn";let RemoteAuthoritiesImpl$1=class{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return posix$1.join(this._serverRootPath,Schemas$1.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(k){return onUnexpectedError$1(k),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i="[".concat(i,"]"));const r=this._ports[t],g=this._connectionTokens[t];let y="path=".concat(encodeURIComponent(e.path));return typeof g=="string"&&(y+="&".concat(connectionTokenQueryName$1,"=").concat(encodeURIComponent(g))),URI$1.from({scheme:isWeb$1?this._preferredWebSchema:Schemas$1.vscodeRemoteResource,authority:"".concat(i,":").concat(r),path:this._remoteResourcesPath,query:y})}};const RemoteAuthorities$1=new RemoteAuthoritiesImpl$1,VSCODE_AUTHORITY$1="vscode-app";var Er;let FileAccessImpl$1=(Er=class{asBrowserUri(e){const t=this.toUri(e);return this.uriToBrowserUri(t)}uriToBrowserUri(e){return e.scheme===Schemas$1.vscodeRemote?RemoteAuthorities$1.rewrite(e):e.scheme===Schemas$1.file&&(isNative$1||webWorkerOrigin$1==="".concat(Schemas$1.vscodeFileResource,"://").concat(Er.FALLBACK_AUTHORITY))?e.with({scheme:Schemas$1.vscodeFileResource,authority:e.authority||Er.FALLBACK_AUTHORITY,query:null,fragment:null}):e}toUri(e,t){if(URI$1.isUri(e))return e;if(globalThis._VSCODE_FILE_ROOT){const i=globalThis._VSCODE_FILE_ROOT;if(/^\w[\w\d+.-]*:\/\//.test(i))return URI$1.joinPath(URI$1.parse(i,!0),e);const r=join$2(i,e);return URI$1.file(r)}return URI$1.parse(t.toUrl(e))}},Er.FALLBACK_AUTHORITY=VSCODE_AUTHORITY$1,Er);const FileAccess$1=new FileAccessImpl$1;var COI$1;(function(n){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);n.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(g){let y;typeof g=="string"?y=new URL(g).searchParams:g instanceof URL?y=g.searchParams:URI$1.isUri(g)&&(y=new URL(g.toString(!0)).searchParams);const k=y==null?void 0:y.get(t);if(k)return e.get(k)}n.getHeadersFromQuery=i;function r(g,y,k){if(!globalThis.crossOriginIsolated)return;const L=y&&k?"3":k?"2":"1";g instanceof URLSearchParams?g.set(t,L):g[t]=L}n.addSearchParam=r})(COI$1||(COI$1={}));function hash$4(n){return doHash$1(n,0)}function doHash$1(n,e){switch(typeof n){case"object":return n===null?numberHash$1(349,e):Array.isArray(n)?arrayHash$1(n,e):objectHash$1(n,e);case"string":return stringHash$2(n,e);case"boolean":return booleanHash$1(n,e);case"number":return numberHash$1(n,e);case"undefined":return numberHash$1(937,e);default:return numberHash$1(617,e)}}function numberHash$1(n,e){return(e<<5)-e+n|0}function booleanHash$1(n,e){return numberHash$1(n?433:863,e)}function stringHash$2(n,e){e=numberHash$1(149417,e);for(let t=0,i=n.length;tdoHash$1(i,t),e)}function objectHash$1(n,e){return e=numberHash$1(181387,e),Object.keys(n).sort().reduce((t,i)=>(t=stringHash$2(i,t),doHash$1(n[i],t)),e)}function leftRotate$5(n,e,t=32){const i=t-e,r=~((1<>>i)>>>0}function fill$1(n,e=0,t=n.byteLength,i=0){for(let r=0;rt.toString(16).padStart(2,"0")).join(""):leftPad$1((n>>>0).toString(16),e/4)}var _s;let StringSHA1$1=(_s=class{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let r=this._buffLen,g=this._leftoverHighSurrogate,y,k;for(g!==0?(y=g,k=-1,g=0):(y=e.charCodeAt(0),k=0);;){let L=y;if(isHighSurrogate$1(y))if(k+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),toHexString$1(this._h0)+toHexString$1(this._h1)+toHexString$1(this._h2)+toHexString$1(this._h3)+toHexString$1(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,fill$1(this._buff,this._buffLen),this._buffLen>56&&(this._step(),fill$1(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=_s._bigBlock32,t=this._buffDV;for(let j=0;j<64;j+=4)e.setUint32(j,t.getUint32(j,!1),!1);for(let j=64;j<320;j+=4)e.setUint32(j,leftRotate$5(e.getUint32(j-12,!1)^e.getUint32(j-32,!1)^e.getUint32(j-56,!1)^e.getUint32(j-64,!1),1),!1);let i=this._h0,r=this._h1,g=this._h2,y=this._h3,k=this._h4,L,V,z;for(let j=0;j<80;j++)j<20?(L=r&g|~r&y,V=1518500249):j<40?(L=r^g^y,V=1859775393):j<60?(L=r&g|r&y|g&y,V=2400959708):(L=r^g^y,V=3395469782),z=leftRotate$5(i,5)+L+k+V+e.getUint32(j*4,!1)&4294967295,k=y,y=g,g=leftRotate$5(r,30),r=i,i=z;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+g&4294967295,this._h3=this._h3+y&4294967295,this._h4=this._h4+k&4294967295}},_s._bigBlock32=new DataView(new ArrayBuffer(320)),_s);const{getWindow:getWindow$3,getWindows:getWindows$1,getWindowsCount:getWindowsCount$1,getWindowId:getWindowId$1,getWindowById:getWindowById$1,onDidRegisterWindow:onDidRegisterWindow$1,onWillUnregisterWindow:onWillUnregisterWindow$1,onDidUnregisterWindow:onDidUnregisterWindow$1}=function(){const n=new Map;ensureCodeWindow$1(mainWindow$1,1);const e={window:mainWindow$1,disposables:new DisposableStore$1};n.set(mainWindow$1.vscodeWindowId,e);const t=new Emitter$3,i=new Emitter$3,r=new Emitter$3;function g(y,k){const L=typeof y=="number"?n.get(y):void 0;return L!=null?L:k?e:void 0}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(y){if(n.has(y.vscodeWindowId))return Disposable$1.None;const k=new DisposableStore$1,L={window:y,disposables:k.add(new DisposableStore$1)};return n.set(y.vscodeWindowId,L),k.add(toDisposable$1(()=>{n.delete(y.vscodeWindowId),i.fire(y)})),k.add(addDisposableListener$1(y,EventType$3.BEFORE_UNLOAD,()=>{r.fire(y)})),t.fire(L),k},getWindows(){return n.values()},getWindowsCount(){return n.size},getWindowId(y){return y.vscodeWindowId},hasWindow(y){return n.has(y)},getWindowById:g,getWindow(y){var V;const k=y;if((V=k==null?void 0:k.ownerDocument)!=null&&V.defaultView)return k.ownerDocument.defaultView.window;const L=y;return L!=null&&L.view?L.view.window:mainWindow$1},getDocument(y){return getWindow$3(y).document}}}();function clearNode$1(n){for(;n.firstChild;)n.firstChild.remove()}let DomListener$1=class{constructor(e,t,i,r){this._node=e,this._type=t,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function addDisposableListener$1(n,e,t,i){return new DomListener$1(n,e,t,i)}function _wrapAsStandardMouseEvent$1(n,e){return function(t){return e(new StandardMouseEvent$1(n,t))}}function _wrapAsStandardKeyboardEvent$1(n){return function(e){return n(new StandardKeyboardEvent$1(e))}}const addStandardDisposableListener$1=function(e,t,i,r){let g=i;return t==="click"||t==="mousedown"||t==="contextmenu"?g=_wrapAsStandardMouseEvent$1(getWindow$3(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(g=_wrapAsStandardKeyboardEvent$1(i)),addDisposableListener$1(e,t,g,r)},addStandardDisposableGenericMouseDownListener$1=function(e,t,i){const r=_wrapAsStandardMouseEvent$1(getWindow$3(e),t);return addDisposableGenericMouseDownListener$1(e,r,i)};function addDisposableGenericMouseDownListener$1(n,e,t){return addDisposableListener$1(n,isIOS$3&&BrowserFeatures$1.pointerEvents?EventType$3.POINTER_DOWN:EventType$3.MOUSE_DOWN,e,t)}function runWhenWindowIdle$1(n,e,t){return _runWhenIdle$1(n,e,t)}let WindowIdleValue$1=class extends AbstractIdleValue$1{constructor(e,t){super(e,t)}},runAtThisOrScheduleAtNextAnimationFrame$1,scheduleAtNextAnimationFrame$1,WindowIntervalTimer$1=class extends IntervalTimer$1{constructor(e){super(),this.defaultTarget=e&&getWindow$3(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i!=null?i:this.defaultTarget)}},AnimationFrameQueueItem$1=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){onUnexpectedError$1(e)}}static sort(e,t){return t.priority-e.priority}};(function(){const n=new Map,e=new Map,t=new Map,i=new Map,r=g=>{var k;t.set(g,!1);const y=(k=n.get(g))!=null?k:[];for(e.set(g,y),n.set(g,[]),i.set(g,!0);y.length>0;)y.sort(AnimationFrameQueueItem$1.sort),y.shift().execute();i.set(g,!1)};scheduleAtNextAnimationFrame$1=(g,y,k=0)=>{const L=getWindowId$1(g),V=new AnimationFrameQueueItem$1(y,k);let z=n.get(L);return z||(z=[],n.set(L,z)),z.push(V),t.get(L)||(t.set(L,!0),g.requestAnimationFrame(()=>r(L))),V},runAtThisOrScheduleAtNextAnimationFrame$1=(g,y,k)=>{const L=getWindowId$1(g);if(i.get(L)){const V=new AnimationFrameQueueItem$1(y,k);let z=e.get(L);return z||(z=[],e.set(L,z)),z.push(V),V}else return scheduleAtNextAnimationFrame$1(g,y,k)}})();function getComputedStyle$4(n){return getWindow$3(n).getComputedStyle(n,null)}function getClientArea$1(n,e){const t=getWindow$3(n),i=t.document;if(n!==i.body)return new Dimension$1(n.clientWidth,n.clientHeight);if(isIOS$3&&(t!=null&&t.visualViewport))return new Dimension$1(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new Dimension$1(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Dimension$1(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Dimension$1(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}let SizeUtils$1=class ro{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const r=getComputedStyle$4(e),g=r?r.getPropertyValue(t):"0";return ro.convertToPixels(e,g)}static getBorderLeftWidth(e){return ro.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return ro.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return ro.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return ro.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return ro.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return ro.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return ro.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return ro.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return ro.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return ro.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return ro.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return ro.getDimension(e,"margin-bottom","marginBottom")}};var Wo;let Dimension$1=(Wo=class{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Wo(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof Wo?e:new Wo(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}},Wo.None=new Wo(0,0),Wo);function getTopLeftOffset$1(n){let e=n.offsetParent,t=n.offsetTop,i=n.offsetLeft;for(;(n=n.parentNode)!==null&&n!==n.ownerDocument.body&&n!==n.ownerDocument.documentElement;){t-=n.scrollTop;const r=isShadowRoot$2(n)?null:getComputedStyle$4(n);r&&(i-=r.direction!=="rtl"?n.scrollLeft:-n.scrollLeft),n===e&&(i+=SizeUtils$1.getBorderLeftWidth(n),t+=SizeUtils$1.getBorderTopWidth(n),t+=n.offsetTop,i+=n.offsetLeft,e=n.offsetParent)}return{left:i,top:t}}function size$1(n,e,t){typeof e=="number"&&(n.style.width="".concat(e,"px")),typeof t=="number"&&(n.style.height="".concat(t,"px"))}function getDomNodePagePosition$1(n){const e=n.getBoundingClientRect(),t=getWindow$3(n);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function getDomNodeZoomLevel$1(n){let e=n,t=1;do{const i=getComputedStyle$4(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function getTotalWidth$1(n){const e=SizeUtils$1.getMarginLeft(n)+SizeUtils$1.getMarginRight(n);return n.offsetWidth+e}function getContentWidth$1(n){const e=SizeUtils$1.getBorderLeftWidth(n)+SizeUtils$1.getBorderRightWidth(n),t=SizeUtils$1.getPaddingLeft(n)+SizeUtils$1.getPaddingRight(n);return n.offsetWidth-e-t}function getContentHeight$1(n){const e=SizeUtils$1.getBorderTopWidth(n)+SizeUtils$1.getBorderBottomWidth(n),t=SizeUtils$1.getPaddingTop(n)+SizeUtils$1.getPaddingBottom(n);return n.offsetHeight-e-t}function getTotalHeight$1(n){const e=SizeUtils$1.getMarginTop(n)+SizeUtils$1.getMarginBottom(n);return n.offsetHeight+e}function isAncestor$3(n,e){return!!(e!=null&&e.contains(n))}function findParentWithClass$1(n,e,t){for(;n&&n.nodeType===n.ELEMENT_NODE;){if(n.classList.contains(e))return n;if(t){if(typeof t=="string"){if(n.classList.contains(t))return null}else if(n===t)return null}n=n.parentNode}return null}function hasParentWithClass$1(n,e,t){return!!findParentWithClass$1(n,e,t)}function isShadowRoot$2(n){return n&&!!n.host&&!!n.mode}function isInShadowDOM$1(n){return!!getShadowRoot$3(n)}function getShadowRoot$3(n){var e;for(;n.parentNode;){if(n===((e=n.ownerDocument)==null?void 0:e.body))return null;n=n.parentNode}return isShadowRoot$2(n)?n:null}function getActiveElement$1(){let n=getActiveDocument$1().activeElement;for(;n!=null&&n.shadowRoot;)n=n.shadowRoot.activeElement;return n}function isActiveElement$1(n){return getActiveElement$1()===n}function isAncestorOfActiveElement$1(n){return isAncestor$3(getActiveElement$1(),n)}function getActiveDocument$1(){var e;return getWindowsCount$1()<=1?mainWindow$1.document:(e=Array.from(getWindows$1()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!=null?e:mainWindow$1.document}function getActiveWindow$1(){var e,t;return(t=(e=getActiveDocument$1().defaultView)==null?void 0:e.window)!=null?t:mainWindow$1}const globalStylesheets$1=new Map;function createStyleSheet2$1(){return new WrappedStyleElement$1}let WrappedStyleElement$1=class{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=createStyleSheet$1(mainWindow$1.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}};function createStyleSheet$1(n=mainWindow$1.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),n.appendChild(i),t&&t.add(toDisposable$1(()=>i.remove())),n===mainWindow$1.document.head){const r=new Set;globalStylesheets$1.set(i,r);for(const{window:g,disposables:y}of getWindows$1()){if(g===mainWindow$1)continue;const k=y.add(cloneGlobalStyleSheet$1(i,r,g));t==null||t.add(k)}}return i}function cloneGlobalStyleSheet$1(n,e,t){var g,y;const i=new DisposableStore$1,r=n.cloneNode(!0);t.document.head.appendChild(r),i.add(toDisposable$1(()=>r.remove()));for(const k of getDynamicStyleSheetRules$1(n))(y=r.sheet)==null||y.insertRule(k.cssText,(g=r.sheet)==null?void 0:g.cssRules.length);return i.add(sharedMutationObserver$1.observe(n,i,{childList:!0})(()=>{r.textContent=n.textContent})),e.add(r),i.add(toDisposable$1(()=>e.delete(r))),i}const sharedMutationObserver$1=new class{constructor(){this.mutationObservers=new Map}observe(n,e,t){let i=this.mutationObservers.get(n);i||(i=new Map,this.mutationObservers.set(n,i));const r=hash$4(t);let g=i.get(r);if(g)g.users+=1;else{const y=new Emitter$3,k=new MutationObserver(V=>y.fire(V));k.observe(n,t);const L=g={users:1,observer:k,onDidMutate:y.event};e.add(toDisposable$1(()=>{L.users-=1,L.users===0&&(y.dispose(),k.disconnect(),i==null||i.delete(r),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(n))})),i.set(r,g)}return g.onDidMutate}};let _sharedStyleSheet$1=null;function getSharedStyleSheet$1(){return _sharedStyleSheet$1||(_sharedStyleSheet$1=createStyleSheet$1()),_sharedStyleSheet$1}function getDynamicStyleSheetRules$1(n){var e,t;return(e=n==null?void 0:n.sheet)!=null&&e.rules?n.sheet.rules:(t=n==null?void 0:n.sheet)!=null&&t.cssRules?n.sheet.cssRules:[]}function createCSSRule$1(n,e,t=getSharedStyleSheet$1()){var i,r;if(!(!t||!e)){(i=t.sheet)==null||i.insertRule("".concat(n," {").concat(e,"}"),0);for(const g of(r=globalStylesheets$1.get(t))!=null?r:[])createCSSRule$1(n,e,g)}}function removeCSSRulesContainingSelector$1(n,e=getSharedStyleSheet$1()){var r,g;if(!e)return;const t=getDynamicStyleSheetRules$1(e),i=[];for(let y=0;y=0;y--)(r=e.sheet)==null||r.deleteRule(i[y]);for(const y of(g=globalStylesheets$1.get(e))!=null?g:[])removeCSSRulesContainingSelector$1(n,y)}function isCSSStyleRule$1(n){return typeof n.selectorText=="string"}function isHTMLElement$1(n){return n instanceof HTMLElement||n instanceof getWindow$3(n).HTMLElement}function isHTMLAnchorElement(n){return n instanceof HTMLAnchorElement||n instanceof getWindow$3(n).HTMLAnchorElement}function isSVGElement(n){return n instanceof SVGElement||n instanceof getWindow$3(n).SVGElement}function isMouseEvent$2(n){return n instanceof MouseEvent||n instanceof getWindow$3(n).MouseEvent}function isKeyboardEvent$1(n){return n instanceof KeyboardEvent||n instanceof getWindow$3(n).KeyboardEvent}const EventType$3={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function isEventLike$1(n){const e=n;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const EventHelper$2={stop:(n,e)=>(n.preventDefault(),e&&n.stopPropagation(),n)};function saveParentsScrollTop$1(n){const e=[];for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)e[t]=n.scrollTop,n=n.parentNode;return e}function restoreParentsScrollTop$1(n,e){for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)n.scrollTop!==e[t]&&(n.scrollTop=e[t]),n=n.parentNode}let FocusTracker$1=class dd extends Disposable$1{static hasFocusWithin(e){if(isHTMLElement$1(e)){const t=getShadowRoot$3(e),i=t?t.activeElement:e.ownerDocument.activeElement;return isAncestor$3(i,e)}else{const t=e;return isAncestor$3(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new Emitter$3),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$3),this.onDidBlur=this._onDidBlur.event;let t=dd.hasFocusWithin(e),i=!1;const r=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},g=()=>{t&&(i=!0,(isHTMLElement$1(e)?getWindow$3(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{dd.hasFocusWithin(e)!==t&&(t?g():r())},this._register(addDisposableListener$1(e,EventType$3.FOCUS,r,!0)),this._register(addDisposableListener$1(e,EventType$3.BLUR,g,!0)),isHTMLElement$1(e)&&(this._register(addDisposableListener$1(e,EventType$3.FOCUS_IN,()=>this._refreshStateHandler())),this._register(addDisposableListener$1(e,EventType$3.FOCUS_OUT,()=>this._refreshStateHandler())))}};function trackFocus$1(n){return new FocusTracker$1(n)}function after$1(n,e){return n.after(e),e}function append$4(n,...e){if(n.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function prepend$3(n,e){return n.insertBefore(e,n.firstChild),e}function reset$1(n,...e){n.innerText="",append$4(n,...e)}const SELECTOR_REGEX$1=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Namespace$1;(function(n){n.HTML="http://www.w3.org/1999/xhtml",n.SVG="http://www.w3.org/2000/svg"})(Namespace$1||(Namespace$1={}));function _$$1(n,e,t,...i){const r=SELECTOR_REGEX$1.exec(e);if(!r)throw new Error("Bad use of emmet");const g=r[1]||"div";let y;return n!==Namespace$1.HTML?y=document.createElementNS(n,g):y=document.createElement(g),r[3]&&(y.id=r[3]),r[4]&&(y.className=r[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([k,L])=>{typeof L>"u"||(/^on\w+$/.test(k)?y[k]=L:k==="selected"?L&&y.setAttribute(k,"true"):y.setAttribute(k,L))}),y.append(...i),y}function $$u(n,e,...t){return _$$1(Namespace$1.HTML,n,e,...t)}$$u.SVG=function(n,e,...t){return _$$1(Namespace$1.SVG,n,e,...t)};function setVisibility$1(n,...e){n?show$1(...e):hide$3(...e)}function show$1(...n){for(const e of n)e.style.display="",e.removeAttribute("aria-hidden")}function hide$3(...n){for(const e of n)e.style.display="none",e.setAttribute("aria-hidden","true")}function computeScreenAwareSize$1(n,e){const t=n.devicePixelRatio*e;return Math.max(1,Math.floor(t))/n.devicePixelRatio}function windowOpenNoOpener$1(n){mainWindow$1.open(n,"_blank","noopener")}function animate$1(n,e){const t=()=>{e(),i=scheduleAtNextAnimationFrame$1(n,t)};let i=scheduleAtNextAnimationFrame$1(n,t);return toDisposable$1(()=>i.dispose())}RemoteAuthorities$1.setPreferredWebSchema(/^https:/.test(mainWindow$1.location.href)?"https":"http");function asCSSUrl$1(n){return n?"url('".concat(FileAccess$1.uriToBrowserUri(n).toString(!0).replace(/'/g,"%27"),"')"):"url('')"}function asCSSPropertyValue$1(n){return"'".concat(n.replace(/'/g,"%27"),"'")}function asCssValueWithDefault$1(n,e){if(n!==void 0){const t=n.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=asCssValueWithDefault$1(i[1].trim(),e)),"var(".concat(i[0],", ").concat(e,")")}return n}return e}function hookDomPurifyHrefAndSrcSanitizer$1(n,e=!1){const t=document.createElement("a");return addHook$1("afterSanitizeAttributes",i=>{for(const r of["href","src"])if(i.hasAttribute(r)){const g=i.getAttribute(r);if(r==="href"&&g.startsWith("#"))continue;if(t.href=g,!n.includes(t.protocol.replace(/:$/,""))){if(e&&r==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(r)}}}),toDisposable$1(()=>{removeHook$1("afterSanitizeAttributes")})}const basicMarkupHtmlTags$1=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);let ModifierKeyEmitter$1=class mc extends Emitter$3{constructor(){super(),this._subscriptions=new DisposableStore$1,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(Event$2.runAndSubscribe(onDidRegisterWindow$1,({window:e,disposables:t})=>this.registerListeners(e,t),{window:mainWindow$1,disposables:this._subscriptions}))}registerListeners(e,t){t.add(addDisposableListener$1(e,"keydown",i=>{if(i.defaultPrevented)return;const r=new StandardKeyboardEvent$1(i);if(!(r.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(r.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(addDisposableListener$1(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(addDisposableListener$1(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener$1(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener$1(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(addDisposableListener$1(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return mc.instance||(mc.instance=new mc),mc.instance}dispose(){super.dispose(),this._subscriptions.dispose()}},DragAndDropObserver$1=class extends Disposable$1{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(addDisposableListener$1(this.element,EventType$3.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)==null||i.call(t,e)})),this.callbacks.onDrag&&this._register(addDisposableListener$1(this.element,EventType$3.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)==null||i.call(t,e)})),this._register(addDisposableListener$1(this.element,EventType$3.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)==null||i.call(t,e)})),this._register(addDisposableListener$1(this.element,EventType$3.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)==null||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(addDisposableListener$1(this.element,EventType$3.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)==null||i.call(t,e))})),this._register(addDisposableListener$1(this.element,EventType$3.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)==null||i.call(t,e)})),this._register(addDisposableListener$1(this.element,EventType$3.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)==null||i.call(t,e)}))}};const H_REGEX$1=new RegExp("(?[\\w\\-]+)?(?:#(?[\\w\\-]+))?(?(?:\\.(?:[\\w\\-]+))*)(?:@(?(?:[\\w\\_])+))?");function h$2(n,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const r=H_REGEX$1.exec(n);if(!r||!r.groups)throw new Error("Bad use of h");const g=r.groups.tag||"div",y=document.createElement(g);r.groups.id&&(y.id=r.groups.id);const k=[];if(r.groups.class)for(const V of r.groups.class.split("."))V!==""&&k.push(V);if(t.className!==void 0)for(const V of t.className.split("."))V!==""&&k.push(V);k.length>0&&(y.className=k.join(" "));const L={};if(r.groups.name&&(L[r.groups.name]=y),i)for(const V of i)isHTMLElement$1(V)?y.appendChild(V):typeof V=="string"?y.append(V):"root"in V&&(Object.assign(L,V),y.appendChild(V.root));for(const[V,z]of Object.entries(t))if(V!=="className")if(V==="style")for(const[j,ie]of Object.entries(z))y.style.setProperty(camelCaseToHyphenCase$1(j),typeof ie=="number"?ie+"px":""+ie);else V==="tabIndex"?y.tabIndex=z:y.setAttribute(camelCaseToHyphenCase$1(V),z.toString());return L.root=y,L}function svgElem(n,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const r=H_REGEX$1.exec(n);if(!r||!r.groups)throw new Error("Bad use of h");const g=r.groups.tag||"div",y=document.createElementNS("http://www.w3.org/2000/svg",g);r.groups.id&&(y.id=r.groups.id);const k=[];if(r.groups.class)for(const V of r.groups.class.split("."))V!==""&&k.push(V);if(t.className!==void 0)for(const V of t.className.split("."))V!==""&&k.push(V);k.length>0&&(y.className=k.join(" "));const L={};if(r.groups.name&&(L[r.groups.name]=y),i)for(const V of i)isHTMLElement$1(V)?y.appendChild(V):typeof V=="string"?y.append(V):"root"in V&&(Object.assign(L,V),y.appendChild(V.root));for(const[V,z]of Object.entries(t))if(V!=="className")if(V==="style")for(const[j,ie]of Object.entries(z))y.style.setProperty(camelCaseToHyphenCase$1(j),typeof ie=="number"?ie+"px":""+ie);else V==="tabIndex"?y.tabIndex=z:y.setAttribute(camelCaseToHyphenCase$1(V),z.toString());return L.root=y,L}function camelCaseToHyphenCase$1(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}let DevicePixelRatioMonitor$1=class extends Disposable$1{constructor(e){super(),this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var i;(i=this._mediaQueryList)==null||i.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia("(resolution: ".concat(e.devicePixelRatio,"dppx)")),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}},PixelRatioMonitorImpl$1=class extends Disposable$1{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new DevicePixelRatioMonitor$1(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}},PixelRatioMonitorFacade$1=class{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=getWindowId$1(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new PixelRatioMonitorImpl$1(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),Event$2.once(onDidUnregisterWindow$1)(({vscodeWindowId:r})=>{r===t&&(i==null||i.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}};const PixelRatio$1=new PixelRatioMonitorFacade$1;let FastDomNode$1=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=numberAsPixels$1(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=numberAsPixels$1(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=numberAsPixels$1(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=numberAsPixels$1(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=numberAsPixels$1(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=numberAsPixels$1(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=numberAsPixels$1(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=numberAsPixels$1(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=numberAsPixels$1(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=numberAsPixels$1(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=numberAsPixels$1(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function numberAsPixels$1(n){return typeof n=="number"?"".concat(n,"px"):n}function createFastDomNode$1(n){return new FastDomNode$1(n)}function applyFontInfo$1(n,e){n instanceof FastDomNode$1?(n.setFontFamily(e.getMassagedFontFamily()),n.setFontWeight(e.fontWeight),n.setFontSize(e.fontSize),n.setFontFeatureSettings(e.fontFeatureSettings),n.setFontVariationSettings(e.fontVariationSettings),n.setLineHeight(e.lineHeight),n.setLetterSpacing(e.letterSpacing)):(n.style.fontFamily=e.getMassagedFontFamily(),n.style.fontWeight=e.fontWeight,n.style.fontSize=e.fontSize+"px",n.style.fontFeatureSettings=e.fontFeatureSettings,n.style.fontVariationSettings=e.fontVariationSettings,n.style.lineHeight=e.lineHeight+"px",n.style.letterSpacing=e.letterSpacing+"px")}let CharWidthRequest$1=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},DomCharWidthReader$1=class vu{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){var t;this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),(t=this._container)==null||t.remove(),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");applyFontInfo$1(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");applyFontInfo$1(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const r=document.createElement("div");applyFontInfo$1(r,this._bareFontInfo),r.style.fontStyle="italic",e.appendChild(r);const g=[];for(const y of this._requests){let k;y.type===0&&(k=t),y.type===2&&(k=i),y.type===1&&(k=r),k.appendChild(document.createElement("br"));const L=document.createElement("span");vu._render(L,y),k.appendChild(L),g.push(L)}this._container=e,this._testElements=g}static _render(e,t){if(t.chr===" "){let i=" ";for(let r=0;r<8;r++)i+=i;e.innerText=i}else{let i=t.chr;for(let r=0;r<8;r++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let r=!1;for(const g of i)g.isTrusted||(r=!0,t.remove(g));r&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let r=this._actualReadFontInfo(e,t);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new FontInfo$1({pixelRatio:PixelRatio$1.getInstance(e).value,fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,fontVariationSettings:r.fontVariationSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(e,t,r)}return i.get(t)}_createRequest(e,t,i,r){const g=new CharWidthRequest$1(e,t);return i.push(g),r==null||r.push(g),g}_actualReadFontInfo(e,t){const i=[],r=[],g=this._createRequest("n",0,i,r),y=this._createRequest("m",0,i,null),k=this._createRequest(" ",0,i,r),L=this._createRequest("0",0,i,r),V=this._createRequest("1",0,i,r),z=this._createRequest("2",0,i,r),j=this._createRequest("3",0,i,r),ie=this._createRequest("4",0,i,r),oe=this._createRequest("5",0,i,r),re=this._createRequest("6",0,i,r),ae=this._createRequest("7",0,i,r),le=this._createRequest("8",0,i,r),de=this._createRequest("9",0,i,r),ue=this._createRequest("→",0,i,r),he=this._createRequest("→",0,i,null),pe=this._createRequest("·",0,i,r),Ce=this._createRequest("⸱",0,i,null),$e="|/-_ilm%";for(let Ve=0,Oe=$e.length;Ve.001){Ie=!1;break}}let Fe=!0;return Ie&&he.width!==Ne&&(Fe=!1),he.width>ue.width&&(Fe=!1),new FontInfo$1({pixelRatio:PixelRatio$1.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:Ie,typicalHalfwidthCharacterWidth:g.width,typicalFullwidthCharacterWidth:y.width,canUseHalfwidthRightwardsArrow:Fe,spaceWidth:k.width,middotWidth:pe.width,wsmiddotWidth:Ce.width,maxDigitWidth:xe},!0)}},FontMeasurementsCache$1=class{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}};const FontMeasurements$1=new FontMeasurementsImpl$1;var _util$1;(function(n){n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=e})(_util$1||(_util$1={}));const IInstantiationService$1=createDecorator$1("instantiationService");function storeServiceDependency$1(n,e,t){e[_util$1.DI_TARGET]===e?e[_util$1.DI_DEPENDENCIES].push({id:n,index:t}):(e[_util$1.DI_DEPENDENCIES]=[{id:n,index:t}],e[_util$1.DI_TARGET]=e)}function createDecorator$1(n){if(_util$1.serviceIds.has(n))return _util$1.serviceIds.get(n);const e=function(t,i,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");storeServiceDependency$1(e,t,r)};return e.toString=()=>n,_util$1.serviceIds.set(n,e),e}const ICodeEditorService$1=createDecorator$1("codeEditorService"),IModelService$1=createDecorator$1("modelService"),ITextModelService$1=createDecorator$1("textModelService");let Action$1=class extends Disposable$1{constructor(e,t="",i="",r=!0,g){super(),this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=r,this._actionCallback=g}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}},ActionRunner$1=class extends Disposable$1{constructor(){super(...arguments),this._onWillRun=this._register(new Emitter$3),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new Emitter$3),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(r){i=r}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}};var xr;let Separator$1=(xr=class{constructor(){this.id=xr.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new xr,...i]:t=i);return t}async run(){}},xr.ID="vs.actions.separator",xr),SubmenuAction$1=class{get actions(){return this._actions}constructor(e,t,i,r){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=r,this._actions=i}async run(){}};var bs;let EmptySubmenuAction$1=(bs=class extends Action$1{constructor(){super(bs.ID,localize$1("submenu.empty","(empty)"),void 0,!1)}},bs.ID="vs.actions.empty",bs);function toAction$1(n){var e,t;return{id:n.id,label:n.label,tooltip:(e=n.tooltip)!=null?e:n.label,class:n.class,enabled:(t=n.enabled)!=null?t:!0,checked:n.checked,run:async(...i)=>n.run(...i)}}var ThemeColor$1;(function(n){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}n.isThemeColor=e})(ThemeColor$1||(ThemeColor$1={}));var ThemeIcon$1;(function(n){n.iconNameSegment="[A-Za-z0-9]+",n.iconNameExpression="[A-Za-z0-9-]+",n.iconModifierExpression="~[A-Za-z]+",n.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp("^(".concat(n.iconNameExpression,")(").concat(n.iconModifierExpression,")?$"));function t(ie){const oe=e.exec(ie.id);if(!oe)return t(Codicon$1.error);const[,re,ae]=oe,le=["codicon","codicon-"+re];return ae&&le.push("codicon-modifier-"+ae.substring(1)),le}n.asClassNameArray=t;function i(ie){return t(ie).join(" ")}n.asClassName=i;function r(ie){return"."+t(ie).join(".")}n.asCSSSelector=r;function g(ie){return ie&&typeof ie=="object"&&typeof ie.id=="string"&&(typeof ie.color>"u"||ThemeColor$1.isThemeColor(ie.color))}n.isThemeIcon=g;const y=new RegExp("^\\$\\((".concat(n.iconNameExpression,"(?:").concat(n.iconModifierExpression,")?)\\)$"));function k(ie){const oe=y.exec(ie);if(!oe)return;const[,re]=oe;return{id:re}}n.fromString=k;function L(ie){return{id:ie}}n.fromId=L;function V(ie,oe){let re=ie.id;const ae=re.lastIndexOf("~");return ae!==-1&&(re=re.substring(0,ae)),oe&&(re="".concat(re,"~").concat(oe)),{id:re}}n.modify=V;function z(ie){const oe=ie.id.lastIndexOf("~");if(oe!==-1)return ie.id.substring(oe+1)}n.getModifier=z;function j(ie,oe){var re,ae;return ie.id===oe.id&&((re=ie.color)==null?void 0:re.id)===((ae=oe.color)==null?void 0:ae.id)}n.isEqual=j})(ThemeIcon$1||(ThemeIcon$1={}));const ICommandService$1=createDecorator$1("commandService"),CommandsRegistry$1=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Emitter$3,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(n,e){if(!n)throw new Error("invalid command");if(typeof n=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:n,handler:e})}if(n.metadata&&Array.isArray(n.metadata.args)){const y=[];for(const L of n.metadata.args)y.push(L.constraint);const k=n.handler;n.handler=function(L,...V){return validateConstraints$1(V,y),k(L,...V)}}const{id:t}=n;let i=this._commands.get(t);i||(i=new LinkedList$1,this._commands.set(t,i));const r=i.unshift(n),g=toDisposable$1(()=>{r();const y=this._commands.get(t);y!=null&&y.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),g}registerCommandAlias(n,e){return CommandsRegistry$1.registerCommand(n,(t,...i)=>t.get(ICommandService$1).executeCommand(e,...i))}getCommand(n){const e=this._commands.get(n);if(!(!e||e.isEmpty()))return Iterable$1.first(e)}getCommands(){const n=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&n.set(e,t)}return n}};CommandsRegistry$1.registerCommand("noop",()=>{});function hintDidYouMean$1(...n){switch(n.length){case 1:return localize$1("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",n[0]);case 2:return localize$1("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",n[0],n[1]);case 3:return localize$1("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",n[0],n[1],n[2]);default:return}}const hintDidYouForgetToOpenOrCloseQuote$1=localize$1("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),hintDidYouForgetToEscapeSlash$1=localize$1("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");var sr;let Scanner$4=(sr=class{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw illegalState$1("unhandled token type: ".concat(JSON.stringify(e),"; have you forgotten to add a case?"))}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(hintDidYouMean$1("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(hintDidYouMean$1("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(hintDidYouMean$1("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=sr._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(hintDidYouForgetToOpenOrCloseQuote$1);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(hintDidYouForgetToEscapeSlash$1);return}const g=this._input.charCodeAt(e);if(t)t=!1;else if(g===47&&!i){e++;break}else g===91?i=!0:g===92?t=!0:g===93&&(i=!1);e++}for(;e=this._input.length}},sr._regexFlags=new Set(["i","g","s","m","y","u"].map(e=>e.charCodeAt(0))),sr._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]),sr);const CONSTANT_VALUES$1=new Map;CONSTANT_VALUES$1.set("false",!1);CONSTANT_VALUES$1.set("true",!0);CONSTANT_VALUES$1.set("isMac",isMacintosh$1);CONSTANT_VALUES$1.set("isLinux",isLinux$1);CONSTANT_VALUES$1.set("isWindows",isWindows$1);CONSTANT_VALUES$1.set("isWeb",isWeb$1);CONSTANT_VALUES$1.set("isMacNative",isMacintosh$1&&!isWeb$1);CONSTANT_VALUES$1.set("isEdge",isEdge$1);CONSTANT_VALUES$1.set("isFirefox",isFirefox$4);CONSTANT_VALUES$1.set("isChrome",isChrome$3);CONSTANT_VALUES$1.set("isSafari",isSafari$3);const hasOwnProperty$k=Object.prototype.hasOwnProperty,defaultConfig$2={regexParsingWithErrorRecovery:!0},errorEmptyString$1=localize$1("contextkey.parser.error.emptyString","Empty context key expression"),hintEmptyString$1=localize$1("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),errorNoInAfterNot$1=localize$1("contextkey.parser.error.noInAfterNot","'in' after 'not'."),errorClosingParenthesis$1=localize$1("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),errorUnexpectedToken$1=localize$1("contextkey.parser.error.unexpectedToken","Unexpected token"),hintUnexpectedToken$1=localize$1("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),errorUnexpectedEOF$1=localize$1("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),hintUnexpectedEOF$1=localize$1("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");var Vo;let Parser$3=(Vo=class{constructor(e=defaultConfig$2){this._config=e,this._scanner=new Scanner$4,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:errorEmptyString$1,offset:0,lexeme:"",additionalInfo:hintEmptyString$1});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),r=i.type===17?hintUnexpectedToken$1:void 0;throw this._parsingErrors.push({message:errorUnexpectedToken$1,offset:i.offset,lexeme:Scanner$4.getLexeme(i),additionalInfo:r}),Vo._parseError}return t}catch(t){if(t!==Vo._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:ContextKeyExpr$1.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:ContextKeyExpr$1.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),ContextKeyFalseExpr$1.INSTANCE;case 12:return this._advance(),ContextKeyTrueExpr$1.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,errorClosingParenthesis$1),t==null?void 0:t.negate()}case 17:return this._advance(),ContextKeyNotExpr$1.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),ContextKeyExpr$1.true();case 12:return this._advance(),ContextKeyExpr$1.false();case 0:{this._advance();const t=this._expr();return this._consume(1,errorClosingParenthesis$1),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const r=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),r.type!==10)throw this._errExpectedButGot("REGEX",r);const g=r.lexeme,y=g.lastIndexOf("/"),k=y===g.length-1?void 0:this._removeFlagsGY(g.substring(y+1));let L;try{L=new RegExp(g.substring(1,y),k)}catch(V){throw this._errExpectedButGot("REGEX",r)}return ContextKeyRegexExpr$1.create(t,L)}switch(r.type){case 10:case 19:{const g=[r.lexeme];this._advance();let y=this._peek(),k=0;for(let ie=0;ie=0){const V=g.slice(k+1,L),z=g[L+1]==="i"?"i":"";try{y=new RegExp(V,z)}catch(j){throw this._errExpectedButGot("REGEX",r)}}}if(y===null)throw this._errExpectedButGot("REGEX",r);return ContextKeyRegexExpr$1.create(t,y)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,errorNoInAfterNot$1);const r=this._value();return ContextKeyExpr$1.notIn(t,r)}switch(this._peek().type){case 3:{this._advance();const r=this._value();if(this._previous().type===18)return ContextKeyExpr$1.equals(t,r);switch(r){case"true":return ContextKeyExpr$1.has(t);case"false":return ContextKeyExpr$1.not(t);default:return ContextKeyExpr$1.equals(t,r)}}case 4:{this._advance();const r=this._value();if(this._previous().type===18)return ContextKeyExpr$1.notEquals(t,r);switch(r){case"true":return ContextKeyExpr$1.not(t);case"false":return ContextKeyExpr$1.has(t);default:return ContextKeyExpr$1.notEquals(t,r)}}case 5:return this._advance(),ContextKeySmallerExpr$1.create(t,this._value());case 6:return this._advance(),ContextKeySmallerEqualsExpr$1.create(t,this._value());case 7:return this._advance(),ContextKeyGreaterExpr$1.create(t,this._value());case 8:return this._advance(),ContextKeyGreaterEqualsExpr$1.create(t,this._value());case 13:return this._advance(),ContextKeyExpr$1.in(t,this._value());default:return ContextKeyExpr$1.has(t)}}case 20:throw this._parsingErrors.push({message:errorUnexpectedEOF$1,offset:e.offset,lexeme:"",additionalInfo:hintUnexpectedEOF$1}),Vo._parseError;default:throw this._errExpectedButGot("true | false | KEY \n | KEY '=~' REGEX \n | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const r=localize$1("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,Scanner$4.getLexeme(t)),g=t.offset,y=Scanner$4.getLexeme(t);return this._parsingErrors.push({message:r,offset:g,lexeme:y,additionalInfo:i}),Vo._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}},Vo._parseError=new Error,Vo);var Yl;let ContextKeyExpr$1=(Yl=class{static false(){return ContextKeyFalseExpr$1.INSTANCE}static true(){return ContextKeyTrueExpr$1.INSTANCE}static has(e){return ContextKeyDefinedExpr$1.create(e)}static equals(e,t){return ContextKeyEqualsExpr$1.create(e,t)}static notEquals(e,t){return ContextKeyNotEqualsExpr$1.create(e,t)}static regex(e,t){return ContextKeyRegexExpr$1.create(e,t)}static in(e,t){return ContextKeyInExpr$1.create(e,t)}static notIn(e,t){return ContextKeyNotInExpr$1.create(e,t)}static not(e){return ContextKeyNotExpr$1.create(e)}static and(...e){return ContextKeyAndExpr$1.create(e,null,!0)}static or(...e){return ContextKeyOrExpr$1.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}},Yl._parser=new Parser$3({regexParsingWithErrorRecovery:!1}),Yl);function expressionsAreEqualWithConstantSubstitution$1(n,e){const t=n?n.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function cmp$1(n,e){return n.cmp(e)}var Cs;let ContextKeyFalseExpr$1=(Cs=class{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return ContextKeyTrueExpr$1.INSTANCE}},Cs.INSTANCE=new Cs,Cs);var Ss;let ContextKeyTrueExpr$1=(Ss=class{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return ContextKeyFalseExpr$1.INSTANCE}},Ss.INSTANCE=new Ss,Ss),ContextKeyDefinedExpr$1=class bu{static create(e,t=null){const i=CONSTANT_VALUES$1.get(e);return typeof i=="boolean"?i?ContextKeyTrueExpr$1.INSTANCE:ContextKeyFalseExpr$1.INSTANCE:new bu(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:cmp1$1(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=CONSTANT_VALUES$1.get(this.key);return typeof e=="boolean"?e?ContextKeyTrueExpr$1.INSTANCE:ContextKeyFalseExpr$1.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotExpr$1.create(this.key,this)),this.negated}},ContextKeyEqualsExpr$1=class Cu{static create(e,t,i=null){if(typeof t=="boolean")return t?ContextKeyDefinedExpr$1.create(e,i):ContextKeyNotExpr$1.create(e,i);const r=CONSTANT_VALUES$1.get(e);return typeof r=="boolean"?t===(r?"true":"false")?ContextKeyTrueExpr$1.INSTANCE:ContextKeyFalseExpr$1.INSTANCE:new Cu(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=CONSTANT_VALUES$1.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ContextKeyTrueExpr$1.INSTANCE:ContextKeyFalseExpr$1.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return"".concat(this.key," == '").concat(this.value,"'")}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotEqualsExpr$1.create(this.key,this.value,this)),this.negated}},ContextKeyInExpr$1=class Su{static create(e,t){return new Su(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?hasOwnProperty$k.call(t,i):!1}serialize(){return"".concat(this.key," in '").concat(this.valueKey,"'")}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=ContextKeyNotInExpr$1.create(this.key,this.valueKey)),this.negated}},ContextKeyNotInExpr$1=class yu{static create(e,t){return new yu(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=ContextKeyInExpr$1.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return"".concat(this.key," not in '").concat(this.valueKey,"'")}keys(){return this._negated.keys()}negate(){return this._negated}},ContextKeyNotEqualsExpr$1=class wu{static create(e,t,i=null){if(typeof t=="boolean")return t?ContextKeyNotExpr$1.create(e,i):ContextKeyDefinedExpr$1.create(e,i);const r=CONSTANT_VALUES$1.get(e);return typeof r=="boolean"?t===(r?"true":"false")?ContextKeyFalseExpr$1.INSTANCE:ContextKeyTrueExpr$1.INSTANCE:new wu(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=CONSTANT_VALUES$1.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ContextKeyFalseExpr$1.INSTANCE:ContextKeyTrueExpr$1.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return"".concat(this.key," != '").concat(this.value,"'")}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyEqualsExpr$1.create(this.key,this.value,this)),this.negated}},ContextKeyNotExpr$1=class $u{static create(e,t=null){const i=CONSTANT_VALUES$1.get(e);return typeof i=="boolean"?i?ContextKeyFalseExpr$1.INSTANCE:ContextKeyTrueExpr$1.INSTANCE:new $u(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:cmp1$1(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=CONSTANT_VALUES$1.get(this.key);return typeof e=="boolean"?e?ContextKeyFalseExpr$1.INSTANCE:ContextKeyTrueExpr$1.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return"!".concat(this.key)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyDefinedExpr$1.create(this.key,this)),this.negated}};function withFloatOrStr$1(n,e){if(typeof n=="string"){const t=parseFloat(n);isNaN(t)||(n=t)}return typeof n=="string"||typeof n=="number"?e(n):ContextKeyFalseExpr$1.INSTANCE}let ContextKeyGreaterExpr$1=class Eu{static create(e,t,i=null){return withFloatOrStr$1(t,r=>new Eu(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return"".concat(this.key," > ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerEqualsExpr$1.create(this.key,this.value,this)),this.negated}},ContextKeyGreaterEqualsExpr$1=class xu{static create(e,t,i=null){return withFloatOrStr$1(t,r=>new xu(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return"".concat(this.key," >= ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerExpr$1.create(this.key,this.value,this)),this.negated}},ContextKeySmallerExpr$1=class ku{static create(e,t,i=null){return withFloatOrStr$1(t,r=>new ku(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new Lu(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:cmp2$1(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return"".concat(this.key," <= ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyGreaterExpr$1.create(this.key,this.value,this)),this.negated}},ContextKeyRegexExpr$1=class Iu{static create(e,t){return new Iu(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?"/".concat(this.regexp.source,"/").concat(this.regexp.flags):"/invalid/";return"".concat(this.key," =~ ").concat(e)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotRegexExpr$1.create(this)),this.negated}},ContextKeyNotRegexExpr$1=class Du{static create(e){return new Du(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return"!(".concat(this._actual.serialize(),")")}keys(){return this._actual.keys()}negate(){return this._actual}};function eliminateConstantsInArray$1(n){let e=null;for(let t=0,i=n.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const y=r[r.length-1];if(y.type!==9)break;r.pop();const k=r.pop(),L=r.length===0,V=ContextKeyOrExpr$1.create(y.expr.map(z=>vc.create([z,k],null,i)),null,L);V&&(r.push(V),r.sort(cmp$1))}if(r.length===1)return r[0];if(i){for(let y=0;ye.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=ContextKeyOrExpr$1.create(e,this,!0)}return this.negated}},ContextKeyOrExpr$1=class zl{static create(e,t,i){return zl._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),r=[];for(const g of getTerminals$1(t))for(const y of getTerminals$1(i))r.push(ContextKeyAndExpr$1.create([g,y],null,!1));e.unshift(zl.create(r,null,!1))}this.negated=zl.create(e,this,!0)}return this.negated}};var ar;let RawContextKey$1=(ar=class extends ContextKeyDefinedExpr$1{static all(){return ar._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?ar._info.push({...i,key:e}):i!==!0&&ar._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return ContextKeyEqualsExpr$1.create(this.key,e)}},ar._info=[],ar);const IContextKeyService$1=createDecorator$1("contextKeyService");function cmp1$1(n,e){return ne?1:0}function cmp2$1(n,e,t,i){return nt?1:ei?1:0}function implies$1(n,e){if(n.type===0||e.type===1)return!0;if(n.type===9)return e.type===9?allElementsIncluded$1(n.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(implies$1(n,t))return!0;return!1}if(n.type===6){if(e.type===6)return allElementsIncluded$1(e.expr,n.expr);for(const t of n.expr)if(implies$1(t,e))return!0;return!1}return n.equals(e)}function allElementsIncluded$1(n,e){let t=0,i=0;for(;t{k(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(sorter$1)),this._cachedMergedKeybindings.slice(0)}};const KeybindingsRegistry$1=new KeybindingsRegistryImpl$1,Extensions$j={EditorModes:"platform.keybindingsRegistry"};Registry$1.add(Extensions$j.EditorModes,KeybindingsRegistry$1);function sorter$1(n,e){if(n.weight1!==e.weight1)return n.weight1-e.weight1;if(n.command&&e.command){if(n.commande.command)return 1}return n.weight2-e.weight2}var __decorate$55=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4R=function(n,e){return function(t,i){e(t,i,n)}},MenuItemAction_1$1;function isIMenuItem$1(n){return n.command!==void 0}function isISubmenuItem$1(n){return n.submenu!==void 0}var gi;let MenuId$1=(gi=class{constructor(e){if(gi._instances.has(e))throw new TypeError("MenuId with identifier '".concat(e,"' already exists. Use MenuId.for(ident) or a unique identifier"));gi._instances.set(e,this),this.id=e}},gi._instances=new Map,gi.CommandPalette=new gi("CommandPalette"),gi.DebugBreakpointsContext=new gi("DebugBreakpointsContext"),gi.DebugCallStackContext=new gi("DebugCallStackContext"),gi.DebugConsoleContext=new gi("DebugConsoleContext"),gi.DebugVariablesContext=new gi("DebugVariablesContext"),gi.NotebookVariablesContext=new gi("NotebookVariablesContext"),gi.DebugHoverContext=new gi("DebugHoverContext"),gi.DebugWatchContext=new gi("DebugWatchContext"),gi.DebugToolBar=new gi("DebugToolBar"),gi.DebugToolBarStop=new gi("DebugToolBarStop"),gi.DebugCallStackToolbar=new gi("DebugCallStackToolbar"),gi.DebugCreateConfiguration=new gi("DebugCreateConfiguration"),gi.EditorContext=new gi("EditorContext"),gi.SimpleEditorContext=new gi("SimpleEditorContext"),gi.EditorContent=new gi("EditorContent"),gi.EditorLineNumberContext=new gi("EditorLineNumberContext"),gi.EditorContextCopy=new gi("EditorContextCopy"),gi.EditorContextPeek=new gi("EditorContextPeek"),gi.EditorContextShare=new gi("EditorContextShare"),gi.EditorTitle=new gi("EditorTitle"),gi.EditorTitleRun=new gi("EditorTitleRun"),gi.EditorTitleContext=new gi("EditorTitleContext"),gi.EditorTitleContextShare=new gi("EditorTitleContextShare"),gi.EmptyEditorGroup=new gi("EmptyEditorGroup"),gi.EmptyEditorGroupContext=new gi("EmptyEditorGroupContext"),gi.EditorTabsBarContext=new gi("EditorTabsBarContext"),gi.EditorTabsBarShowTabsSubmenu=new gi("EditorTabsBarShowTabsSubmenu"),gi.EditorTabsBarShowTabsZenModeSubmenu=new gi("EditorTabsBarShowTabsZenModeSubmenu"),gi.EditorActionsPositionSubmenu=new gi("EditorActionsPositionSubmenu"),gi.ExplorerContext=new gi("ExplorerContext"),gi.ExplorerContextShare=new gi("ExplorerContextShare"),gi.ExtensionContext=new gi("ExtensionContext"),gi.GlobalActivity=new gi("GlobalActivity"),gi.CommandCenter=new gi("CommandCenter"),gi.CommandCenterCenter=new gi("CommandCenterCenter"),gi.LayoutControlMenuSubmenu=new gi("LayoutControlMenuSubmenu"),gi.LayoutControlMenu=new gi("LayoutControlMenu"),gi.MenubarMainMenu=new gi("MenubarMainMenu"),gi.MenubarAppearanceMenu=new gi("MenubarAppearanceMenu"),gi.MenubarDebugMenu=new gi("MenubarDebugMenu"),gi.MenubarEditMenu=new gi("MenubarEditMenu"),gi.MenubarCopy=new gi("MenubarCopy"),gi.MenubarFileMenu=new gi("MenubarFileMenu"),gi.MenubarGoMenu=new gi("MenubarGoMenu"),gi.MenubarHelpMenu=new gi("MenubarHelpMenu"),gi.MenubarLayoutMenu=new gi("MenubarLayoutMenu"),gi.MenubarNewBreakpointMenu=new gi("MenubarNewBreakpointMenu"),gi.PanelAlignmentMenu=new gi("PanelAlignmentMenu"),gi.PanelPositionMenu=new gi("PanelPositionMenu"),gi.ActivityBarPositionMenu=new gi("ActivityBarPositionMenu"),gi.MenubarPreferencesMenu=new gi("MenubarPreferencesMenu"),gi.MenubarRecentMenu=new gi("MenubarRecentMenu"),gi.MenubarSelectionMenu=new gi("MenubarSelectionMenu"),gi.MenubarShare=new gi("MenubarShare"),gi.MenubarSwitchEditorMenu=new gi("MenubarSwitchEditorMenu"),gi.MenubarSwitchGroupMenu=new gi("MenubarSwitchGroupMenu"),gi.MenubarTerminalMenu=new gi("MenubarTerminalMenu"),gi.MenubarViewMenu=new gi("MenubarViewMenu"),gi.MenubarHomeMenu=new gi("MenubarHomeMenu"),gi.OpenEditorsContext=new gi("OpenEditorsContext"),gi.OpenEditorsContextShare=new gi("OpenEditorsContextShare"),gi.ProblemsPanelContext=new gi("ProblemsPanelContext"),gi.SCMInputBox=new gi("SCMInputBox"),gi.SCMChangesSeparator=new gi("SCMChangesSeparator"),gi.SCMChangesContext=new gi("SCMChangesContext"),gi.SCMIncomingChanges=new gi("SCMIncomingChanges"),gi.SCMIncomingChangesContext=new gi("SCMIncomingChangesContext"),gi.SCMIncomingChangesSetting=new gi("SCMIncomingChangesSetting"),gi.SCMOutgoingChanges=new gi("SCMOutgoingChanges"),gi.SCMOutgoingChangesContext=new gi("SCMOutgoingChangesContext"),gi.SCMOutgoingChangesSetting=new gi("SCMOutgoingChangesSetting"),gi.SCMIncomingChangesAllChangesContext=new gi("SCMIncomingChangesAllChangesContext"),gi.SCMIncomingChangesHistoryItemContext=new gi("SCMIncomingChangesHistoryItemContext"),gi.SCMOutgoingChangesAllChangesContext=new gi("SCMOutgoingChangesAllChangesContext"),gi.SCMOutgoingChangesHistoryItemContext=new gi("SCMOutgoingChangesHistoryItemContext"),gi.SCMChangeContext=new gi("SCMChangeContext"),gi.SCMResourceContext=new gi("SCMResourceContext"),gi.SCMResourceContextShare=new gi("SCMResourceContextShare"),gi.SCMResourceFolderContext=new gi("SCMResourceFolderContext"),gi.SCMResourceGroupContext=new gi("SCMResourceGroupContext"),gi.SCMSourceControl=new gi("SCMSourceControl"),gi.SCMSourceControlInline=new gi("SCMSourceControlInline"),gi.SCMSourceControlTitle=new gi("SCMSourceControlTitle"),gi.SCMHistoryTitle=new gi("SCMHistoryTitle"),gi.SCMTitle=new gi("SCMTitle"),gi.SearchContext=new gi("SearchContext"),gi.SearchActionMenu=new gi("SearchActionContext"),gi.StatusBarWindowIndicatorMenu=new gi("StatusBarWindowIndicatorMenu"),gi.StatusBarRemoteIndicatorMenu=new gi("StatusBarRemoteIndicatorMenu"),gi.StickyScrollContext=new gi("StickyScrollContext"),gi.TestItem=new gi("TestItem"),gi.TestItemGutter=new gi("TestItemGutter"),gi.TestProfilesContext=new gi("TestProfilesContext"),gi.TestMessageContext=new gi("TestMessageContext"),gi.TestMessageContent=new gi("TestMessageContent"),gi.TestPeekElement=new gi("TestPeekElement"),gi.TestPeekTitle=new gi("TestPeekTitle"),gi.TestCallStack=new gi("TestCallStack"),gi.TouchBarContext=new gi("TouchBarContext"),gi.TitleBarContext=new gi("TitleBarContext"),gi.TitleBarTitleContext=new gi("TitleBarTitleContext"),gi.TunnelContext=new gi("TunnelContext"),gi.TunnelPrivacy=new gi("TunnelPrivacy"),gi.TunnelProtocol=new gi("TunnelProtocol"),gi.TunnelPortInline=new gi("TunnelInline"),gi.TunnelTitle=new gi("TunnelTitle"),gi.TunnelLocalAddressInline=new gi("TunnelLocalAddressInline"),gi.TunnelOriginInline=new gi("TunnelOriginInline"),gi.ViewItemContext=new gi("ViewItemContext"),gi.ViewContainerTitle=new gi("ViewContainerTitle"),gi.ViewContainerTitleContext=new gi("ViewContainerTitleContext"),gi.ViewTitle=new gi("ViewTitle"),gi.ViewTitleContext=new gi("ViewTitleContext"),gi.CommentEditorActions=new gi("CommentEditorActions"),gi.CommentThreadTitle=new gi("CommentThreadTitle"),gi.CommentThreadActions=new gi("CommentThreadActions"),gi.CommentThreadAdditionalActions=new gi("CommentThreadAdditionalActions"),gi.CommentThreadTitleContext=new gi("CommentThreadTitleContext"),gi.CommentThreadCommentContext=new gi("CommentThreadCommentContext"),gi.CommentTitle=new gi("CommentTitle"),gi.CommentActions=new gi("CommentActions"),gi.CommentsViewThreadActions=new gi("CommentsViewThreadActions"),gi.InteractiveToolbar=new gi("InteractiveToolbar"),gi.InteractiveCellTitle=new gi("InteractiveCellTitle"),gi.InteractiveCellDelete=new gi("InteractiveCellDelete"),gi.InteractiveCellExecute=new gi("InteractiveCellExecute"),gi.InteractiveInputExecute=new gi("InteractiveInputExecute"),gi.InteractiveInputConfig=new gi("InteractiveInputConfig"),gi.ReplInputExecute=new gi("ReplInputExecute"),gi.IssueReporter=new gi("IssueReporter"),gi.NotebookToolbar=new gi("NotebookToolbar"),gi.NotebookStickyScrollContext=new gi("NotebookStickyScrollContext"),gi.NotebookCellTitle=new gi("NotebookCellTitle"),gi.NotebookCellDelete=new gi("NotebookCellDelete"),gi.NotebookCellInsert=new gi("NotebookCellInsert"),gi.NotebookCellBetween=new gi("NotebookCellBetween"),gi.NotebookCellListTop=new gi("NotebookCellTop"),gi.NotebookCellExecute=new gi("NotebookCellExecute"),gi.NotebookCellExecuteGoTo=new gi("NotebookCellExecuteGoTo"),gi.NotebookCellExecutePrimary=new gi("NotebookCellExecutePrimary"),gi.NotebookDiffCellInputTitle=new gi("NotebookDiffCellInputTitle"),gi.NotebookDiffCellMetadataTitle=new gi("NotebookDiffCellMetadataTitle"),gi.NotebookDiffCellOutputsTitle=new gi("NotebookDiffCellOutputsTitle"),gi.NotebookOutputToolbar=new gi("NotebookOutputToolbar"),gi.NotebookOutlineFilter=new gi("NotebookOutlineFilter"),gi.NotebookOutlineActionMenu=new gi("NotebookOutlineActionMenu"),gi.NotebookEditorLayoutConfigure=new gi("NotebookEditorLayoutConfigure"),gi.NotebookKernelSource=new gi("NotebookKernelSource"),gi.BulkEditTitle=new gi("BulkEditTitle"),gi.BulkEditContext=new gi("BulkEditContext"),gi.TimelineItemContext=new gi("TimelineItemContext"),gi.TimelineTitle=new gi("TimelineTitle"),gi.TimelineTitleContext=new gi("TimelineTitleContext"),gi.TimelineFilterSubMenu=new gi("TimelineFilterSubMenu"),gi.AccountsContext=new gi("AccountsContext"),gi.SidebarTitle=new gi("SidebarTitle"),gi.PanelTitle=new gi("PanelTitle"),gi.AuxiliaryBarTitle=new gi("AuxiliaryBarTitle"),gi.AuxiliaryBarHeader=new gi("AuxiliaryBarHeader"),gi.TerminalInstanceContext=new gi("TerminalInstanceContext"),gi.TerminalEditorInstanceContext=new gi("TerminalEditorInstanceContext"),gi.TerminalNewDropdownContext=new gi("TerminalNewDropdownContext"),gi.TerminalTabContext=new gi("TerminalTabContext"),gi.TerminalTabEmptyAreaContext=new gi("TerminalTabEmptyAreaContext"),gi.TerminalStickyScrollContext=new gi("TerminalStickyScrollContext"),gi.WebviewContext=new gi("WebviewContext"),gi.InlineCompletionsActions=new gi("InlineCompletionsActions"),gi.InlineEditsActions=new gi("InlineEditsActions"),gi.InlineEditActions=new gi("InlineEditActions"),gi.NewFile=new gi("NewFile"),gi.MergeInput1Toolbar=new gi("MergeToolbar1Toolbar"),gi.MergeInput2Toolbar=new gi("MergeToolbar2Toolbar"),gi.MergeBaseToolbar=new gi("MergeBaseToolbar"),gi.MergeInputResultToolbar=new gi("MergeToolbarResultToolbar"),gi.InlineSuggestionToolbar=new gi("InlineSuggestionToolbar"),gi.InlineEditToolbar=new gi("InlineEditToolbar"),gi.ChatContext=new gi("ChatContext"),gi.ChatCodeBlock=new gi("ChatCodeblock"),gi.ChatCompareBlock=new gi("ChatCompareBlock"),gi.ChatMessageTitle=new gi("ChatMessageTitle"),gi.ChatExecute=new gi("ChatExecute"),gi.ChatExecuteSecondary=new gi("ChatExecuteSecondary"),gi.ChatInputSide=new gi("ChatInputSide"),gi.AccessibleView=new gi("AccessibleView"),gi.MultiDiffEditorFileToolbar=new gi("MultiDiffEditorFileToolbar"),gi.DiffEditorHunkToolbar=new gi("DiffEditorHunkToolbar"),gi.DiffEditorSelectionToolbar=new gi("DiffEditorSelectionToolbar"),gi);const IMenuService$1=createDecorator$1("menuService");var kr;let MenuRegistryChangeEvent$1=(kr=class{static for(e){let t=this._all.get(e);return t||(t=new kr(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof kr&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}},kr._all=new Map,kr);const MenuRegistry$1=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new MicrotaskEmitter$1({merge:MenuRegistryChangeEvent$1.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(n){return this._commands.set(n.id,n),this._onDidChangeMenu.fire(MenuRegistryChangeEvent$1.for(MenuId$1.CommandPalette)),toDisposable$1(()=>{this._commands.delete(n.id)&&this._onDidChangeMenu.fire(MenuRegistryChangeEvent$1.for(MenuId$1.CommandPalette))})}getCommand(n){return this._commands.get(n)}getCommands(){const n=new Map;return this._commands.forEach((e,t)=>n.set(t,e)),n}appendMenuItem(n,e){let t=this._menuItems.get(n);t||(t=new LinkedList$1,this._menuItems.set(n,t));const i=t.push(e);return this._onDidChangeMenu.fire(MenuRegistryChangeEvent$1.for(n)),toDisposable$1(()=>{i(),this._onDidChangeMenu.fire(MenuRegistryChangeEvent$1.for(n))})}appendMenuItems(n){const e=new DisposableStore$1;for(const{id:t,item:i}of n)e.add(this.appendMenuItem(t,i));return e}getMenuItems(n){let e;return this._menuItems.has(n)?e=[...this._menuItems.get(n)]:e=[],n===MenuId$1.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(n){const e=new Set;for(const t of n)isIMenuItem$1(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||n.push({command:t})})}};let SubmenuItemAction$1=class extends SubmenuAction$1{constructor(e,t,i){super("submenuitem.".concat(e.submenu.id),typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}},MenuItemAction$1=MenuItemAction_1$1=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,r,g,y,k){var V,z;this.hideActions=r,this.menuKeybinding=g,this._commandService=k,this.id=e.id,this.label=MenuItemAction_1$1.label(e,i),this.tooltip=(z=typeof e.tooltip=="string"?e.tooltip:(V=e.tooltip)==null?void 0:V.value)!=null?z:"",this.enabled=!e.precondition||y.contextMatchesRules(e.precondition),this.checked=void 0;let L;if(e.toggled){const j=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=y.contextMatchesRules(j.condition),this.checked&&j.tooltip&&(this.tooltip=typeof j.tooltip=="string"?j.tooltip:j.tooltip.value),this.checked&&ThemeIcon$1.isThemeIcon(j.icon)&&(L=j.icon),this.checked&&j.title&&(this.label=typeof j.title=="string"?j.title:j.title.value)}L||(L=ThemeIcon$1.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new MenuItemAction_1$1(t,void 0,i,r,void 0,y,k):void 0,this._options=i,this.class=L&&ThemeIcon$1.asClassName(L)}run(...e){var i,r;let t=[];return(i=this._options)!=null&&i.arg&&(t=[...t,this._options.arg]),(r=this._options)!=null&&r.shouldForwardArgs&&(t=[...t,...e]),this._commandService.executeCommand(this.id,...t)}};MenuItemAction$1=MenuItemAction_1$1=__decorate$55([__param$4R(5,IContextKeyService$1),__param$4R(6,ICommandService$1)],MenuItemAction$1);let Action2$1=class{constructor(e){this.desc=e}};function registerAction2$1(n){const e=[],t=new n,{f1:i,menu:r,keybinding:g,...y}=t.desc;if(CommandsRegistry$1.getCommand(y.id))throw new Error("Cannot register two commands with the same id: ".concat(y.id));if(e.push(CommandsRegistry$1.registerCommand({id:y.id,handler:(k,...L)=>t.run(k,...L),metadata:y.metadata})),Array.isArray(r))for(const k of r)e.push(MenuRegistry$1.appendMenuItem(k.id,{command:{...y,precondition:k.precondition===null?void 0:y.precondition},...k}));else r&&e.push(MenuRegistry$1.appendMenuItem(r.id,{command:{...y,precondition:r.precondition===null?void 0:y.precondition},...r}));if(i&&(e.push(MenuRegistry$1.appendMenuItem(MenuId$1.CommandPalette,{command:y,when:y.precondition})),e.push(MenuRegistry$1.addCommand(y))),Array.isArray(g))for(const k of g)e.push(KeybindingsRegistry$1.registerKeybindingRule({...k,id:y.id,when:y.precondition?ContextKeyExpr$1.and(y.precondition,k.when):k.when}));else g&&e.push(KeybindingsRegistry$1.registerKeybindingRule({...g,id:y.id,when:y.precondition?ContextKeyExpr$1.and(y.precondition,g.when):g.when}));return{dispose(){dispose$1(e)}}}const ITelemetryService$1=createDecorator$1("telemetryService"),ILogService$1=createDecorator$1("logService");var LogLevel$1;(function(n){n[n.Off=0]="Off",n[n.Trace=1]="Trace",n[n.Debug=2]="Debug",n[n.Info=3]="Info",n[n.Warning=4]="Warning",n[n.Error=5]="Error"})(LogLevel$1||(LogLevel$1={}));const DEFAULT_LOG_LEVEL$1=LogLevel$1.Info;let AbstractLogger$1=class extends Disposable$1{constructor(){super(...arguments),this.level=DEFAULT_LOG_LEVEL$1,this._onDidChangeLogLevel=this._register(new Emitter$3),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==LogLevel$1.Off&&this.level<=e}},ConsoleLogger$1=class extends AbstractLogger$1{constructor(e=DEFAULT_LOG_LEVEL$1,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(LogLevel$1.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(LogLevel$1.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(LogLevel$1.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(LogLevel$1.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(LogLevel$1.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}},MultiplexLogger$1=class extends AbstractLogger$1{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}};function LogLevelToString$1(n){switch(n){case LogLevel$1.Trace:return"trace";case LogLevel$1.Debug:return"debug";case LogLevel$1.Info:return"info";case LogLevel$1.Warning:return"warn";case LogLevel$1.Error:return"error";case LogLevel$1.Off:return"off"}}new RawContextKey$1("logLevel",LogLevelToString$1(LogLevel$1.Info));let Command$2=class{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=ContextKeyExpr$1.and(i,this.precondition):i=this.precondition);const r={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};KeybindingsRegistry$1.registerKeybindingRule(r)}}CommandsRegistry$1.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){MenuRegistry$1.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}},MultiCommand$1=class extends Command$2{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,r){return this._implementations.push({priority:e,name:t,implementation:i,when:r}),this._implementations.sort((g,y)=>y.priority-g.priority),{dispose:()=>{for(let g=0;g{if(k.get(IContextKeyService$1).contextMatchesRules(i!=null?i:void 0))return r(k,y,t)})}runCommand(e,t){return ud.runEditorCommand(e,t,this.precondition,(i,r,g)=>this.runEditorCommand(i,r,g))}},EditorAction$1=class Nu extends EditorCommand$1{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(r){return r.menuId||(r.menuId=MenuId$1.EditorContext),r.title||(r.title=e.label),r.when=ContextKeyExpr$1.and(e.precondition,r.when),r}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(Nu.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(ITelemetryService$1).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}},MultiEditorAction$1=class extends EditorAction$1{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,r)=>r[0]-i[0]),{dispose:()=>{for(let i=0;i{var V,z;const y=g.get(IContextKeyService$1),k=g.get(ILogService$1);if(!y.contextMatchesRules((V=this.desc.precondition)!=null?V:void 0)){k.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(z=this.desc.precondition)==null?void 0:z.serialize());return}return this.runEditorCommand(g,r,...t)})}};function registerModelAndPositionCommand$1(n,e){CommandsRegistry$1.registerCommand(n,function(t,...i){const r=t.get(IInstantiationService$1),[g,y]=i;assertType$1(URI$1.isUri(g)),assertType$1(Position$3.isIPosition(y));const k=t.get(IModelService$1).getModel(g);if(k){const L=Position$3.lift(y);return r.invokeFunction(e,k,L,...i.slice(2))}return t.get(ITextModelService$1).createModelReference(g).then(L=>new Promise((V,z)=>{try{const j=r.invokeFunction(e,L.object.textEditorModel,Position$3.lift(y),i.slice(2));V(j)}catch(j){z(j)}}).finally(()=>{L.dispose()}))})}function registerEditorCommand$1(n){return EditorContributionRegistry$1.INSTANCE.registerEditorCommand(n),n}function registerEditorAction$1(n){const e=new n;return EditorContributionRegistry$1.INSTANCE.registerEditorAction(e),e}function registerMultiEditorAction$1(n){return EditorContributionRegistry$1.INSTANCE.registerEditorAction(n),n}function registerInstantiatedEditorAction$1(n){EditorContributionRegistry$1.INSTANCE.registerEditorAction(n)}function registerEditorContribution$1(n,e,t){EditorContributionRegistry$1.INSTANCE.registerEditorContribution(n,e,t)}var EditorExtensionsRegistry$1;(function(n){function e(y){return EditorContributionRegistry$1.INSTANCE.getEditorCommand(y)}n.getEditorCommand=e;function t(){return EditorContributionRegistry$1.INSTANCE.getEditorActions()}n.getEditorActions=t;function i(){return EditorContributionRegistry$1.INSTANCE.getEditorContributions()}n.getEditorContributions=i;function r(y){return EditorContributionRegistry$1.INSTANCE.getEditorContributions().filter(k=>y.indexOf(k.id)>=0)}n.getSomeEditorContributions=r;function g(){return EditorContributionRegistry$1.INSTANCE.getDiffEditorContributions()}n.getDiffEditorContributions=g})(EditorExtensionsRegistry$1||(EditorExtensionsRegistry$1={}));const Extensions$i={EditorCommonContributions:"editor.contributions"};var ys;let EditorContributionRegistry$1=(ys=class{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}},ys.INSTANCE=new ys,ys);Registry$1.add(Extensions$i.EditorCommonContributions,EditorContributionRegistry$1.INSTANCE);function registerCommand$7(n){return n.register(),n}const UndoCommand$1=registerCommand$7(new MultiCommand$1({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:MenuId$1.MenubarEditMenu,group:"1_do",title:localize$1({key:"miUndo",comment:["&& denotes a mnemonic"]},"&&Undo"),order:1},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("undo","Undo"),order:1}]}));registerCommand$7(new ProxyCommand$1(UndoCommand$1,{id:"default:undo",precondition:void 0}));const RedoCommand$1=registerCommand$7(new MultiCommand$1({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:MenuId$1.MenubarEditMenu,group:"1_do",title:localize$1({key:"miRedo",comment:["&& denotes a mnemonic"]},"&&Redo"),order:2},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("redo","Redo"),order:1}]}));registerCommand$7(new ProxyCommand$1(RedoCommand$1,{id:"default:redo",precondition:void 0}));const SelectAllCommand$1=registerCommand$7(new MultiCommand$1({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:MenuId$1.MenubarSelectionMenu,group:"1_basic",title:localize$1({key:"miSelectAll",comment:["&& denotes a mnemonic"]},"&&Select All"),order:1},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("selectAll","Select All"),order:1}]})),scriptRel="modulepreload",assetsURL=function(n){return"/tmagic-editor/playground/"+n},seen={},__vitePreload=function(e,t,i){let r=Promise.resolve();if(t&&t.length>0){let y=function(V){return Promise.all(V.map(z=>Promise.resolve(z).then(j=>({status:"fulfilled",value:j}),j=>({status:"rejected",reason:j}))))};document.getElementsByTagName("link");const k=document.querySelector("meta[property=csp-nonce]"),L=(k==null?void 0:k.nonce)||(k==null?void 0:k.getAttribute("nonce"));r=y(t.map(V=>{if(V=assetsURL(V),V in seen)return;seen[V]=!0;const z=V.endsWith(".css"),j=z?'[rel="stylesheet"]':"";if(document.querySelector('link[href="'.concat(V,'"]').concat(j)))return;const ie=document.createElement("link");if(ie.rel=z?"stylesheet":scriptRel,z||(ie.as="script"),ie.crossOrigin="",ie.href=V,L&&ie.setAttribute("nonce",L),document.head.appendChild(ie),z)return new Promise((oe,re)=>{ie.addEventListener("load",oe),ie.addEventListener("error",()=>re(new Error("Unable to preload CSS for ".concat(V))))})}))}function g(y){const k=new Event("vite:preloadError",{cancelable:!0});if(k.payload=y,window.dispatchEvent(k),!k.defaultPrevented)throw y}return r.then(y=>{for(const k of y||[])k.status==="rejected"&&g(k.reason);return e().catch(g)})},DEFAULT_CHANNEL="default",INITIALIZE$1="$initialize";let webWorkerWarningLogged$1=!1;function logOnceWebWorkerWarning$1(n){isWeb$1&&(webWorkerWarningLogged$1||(webWorkerWarningLogged$1=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(n.message))}let RequestMessage$1=class{constructor(e,t,i,r,g){this.vsWorker=e,this.req=t,this.channel=i,this.method=r,this.args=g,this.type=0}},ReplyMessage$1=class{constructor(e,t,i,r){this.vsWorker=e,this.seq=t,this.res=i,this.err=r,this.type=1}},SubscribeEventMessage$1=class{constructor(e,t,i,r,g){this.vsWorker=e,this.req=t,this.channel=i,this.eventName=r,this.arg=g,this.type=2}},EventMessage$1=class{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}},UnsubscribeEventMessage$1=class{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}},SimpleWorkerProtocol$1=class{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t,i){const r=String(++this._lastSentReq);return new Promise((g,y)=>{this._pendingReplies[r]={resolve:g,reject:y},this._send(new RequestMessage$1(this._workerId,r,e,t,i))})}listen(e,t,i){let r=null;const g=new Emitter$3({onWillAddFirstListener:()=>{r=String(++this._lastSentReq),this._pendingEmitters.set(r,g),this._send(new SubscribeEventMessage$1(this._workerId,r,e,t,i))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(r),this._send(new UnsubscribeEventMessage$1(this._workerId,r)),r=null}});return g.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}createProxyToRemoteChannel(e,t){const i={get:(r,g)=>(typeof g=="string"&&!r[g]&&(propertyIsDynamicEvent$1(g)?r[g]=y=>this.listen(e,g,y):propertyIsEvent$1(g)?r[g]=this.listen(e,g,void 0):g.charCodeAt(0)===36&&(r[g]=async(...y)=>(await(t==null?void 0:t()),this.sendMessage(e,g,y)))),r[g])};return new Proxy(Object.create(null),i)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.channel,e.method,e.args).then(r=>{this._send(new ReplyMessage$1(this._workerId,t,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=transformErrorForSerialization$1(r.detail)),this._send(new ReplyMessage$1(this._workerId,t,void 0,transformErrorForSerialization$1(r)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.channel,e.eventName,e.arg)(r=>{this._send(new EventMessage$1(this._workerId,t,r))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(g)},g=>{onUnexpectedError$1(g)})),this._protocol=new SimpleWorkerProtocol$1({sendMessage:(g,y)=>{this._worker.postMessage(g,y)},handleMessage:(g,y,k)=>this._handleMessage(g,y,k),handleEvent:(g,y,k)=>this._handleEvent(g,y,k)}),this._protocol.setWorkerId(this._worker.getId());let i=null;const r=globalThis.require;typeof r<"u"&&typeof r.getConfig=="function"?i=r.getConfig():typeof globalThis.requirejs<"u"&&(i=globalThis.requirejs.s.contexts._.config),this._onModuleLoaded=this._protocol.sendMessage(DEFAULT_CHANNEL,INITIALIZE$1,[this._worker.getId(),JSON.parse(JSON.stringify(i)),t.amdModuleId]),this.proxy=this._protocol.createProxyToRemoteChannel(DEFAULT_CHANNEL,async()=>{await this._onModuleLoaded}),this._onModuleLoaded.catch(g=>{this._onError("Worker failed to load "+t.amdModuleId,g)})}_handleMessage(e,t,i){const r=this._localChannels.get(e);if(!r)return Promise.reject(new Error("Missing channel ".concat(e," on main thread")));if(typeof r[t]!="function")return Promise.reject(new Error("Missing method ".concat(t," on main thread channel ").concat(e)));try{return Promise.resolve(r[t].apply(r,i))}catch(g){return Promise.reject(g)}}_handleEvent(e,t,i){const r=this._localChannels.get(e);if(!r)throw new Error("Missing channel ".concat(e," on main thread"));if(propertyIsDynamicEvent$1(t)){const g=r[t].call(r,i);if(typeof g!="function")throw new Error("Missing dynamic event ".concat(t," on main thread channel ").concat(e,"."));return g}if(propertyIsEvent$1(t)){const g=r[t];if(typeof g!="function")throw new Error("Missing event ".concat(t," on main thread channel ").concat(e,"."));return g}throw new Error("Malformed event name ".concat(t))}setChannel(e,t){this._localChannels.set(e,t)}_onError(e,t){console.error(e),console.info(t)}};function propertyIsEvent$1(n){return n[0]==="o"&&n[1]==="n"&&isUpperAsciiLetter$1(n.charCodeAt(2))}function propertyIsDynamicEvent$1(n){return/^onDynamic/.test(n)&&isUpperAsciiLetter$1(n.charCodeAt(9))}function createTrustedTypesPolicy$1(n,e){var i;const t=globalThis.MonacoEnvironment;if(t!=null&&t.createTrustedTypesPolicy)try{return t.createTrustedTypesPolicy(n,e)}catch(r){onUnexpectedError$1(r);return}try{return(i=globalThis.trustedTypes)==null?void 0:i.createPolicy(n,e)}catch(r){onUnexpectedError$1(r);return}}let ttPolicy$9;typeof self=="object"&&self.constructor&&self.constructor.name==="DedicatedWorkerGlobalScope"&&globalThis.workerttPolicy!==void 0?ttPolicy$9=globalThis.workerttPolicy:ttPolicy$9=createTrustedTypesPolicy$1("defaultWorkerFactory",{createScriptURL:n=>n});function getWorker$3(n,e){const t=globalThis.MonacoEnvironment;if(t){if(typeof t.getWorker=="function")return t.getWorker("workerMain.js",e);if(typeof t.getWorkerUrl=="function"){const i=t.getWorkerUrl("workerMain.js",e);return new Worker(ttPolicy$9?ttPolicy$9.createScriptURL(i):i,{name:e,type:"module"})}}if(n){const i=getWorkerBootstrapUrl(e,n.toString(!0)),r=new Worker(ttPolicy$9?ttPolicy$9.createScriptURL(i):i,{name:e,type:"module"});return whenESMWorkerReady(r)}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function getWorkerBootstrapUrl(n,e,t){if(!(/^((http:)|(https:)|(file:)|(vscode-file:))/.test(e)&&e.substring(0,globalThis.origin.length)!==globalThis.origin)){const g=e.lastIndexOf("?"),y=e.lastIndexOf("#",g),k=g>0?new URLSearchParams(e.substring(g+1,~y?y:void 0)):new URLSearchParams;COI$1.addSearchParam(k,!0,!0),k.toString()?e="".concat(e,"?").concat(k.toString(),"#").concat(n):e="".concat(e,"#").concat(n)}const r=new Blob([coalesce$1(["/*".concat(n,"*/"),void 0,"globalThis._VSCODE_NLS_MESSAGES = ".concat(JSON.stringify(getNLSMessages()),";"),"globalThis._VSCODE_NLS_LANGUAGE = ".concat(JSON.stringify(getNLSLanguage()),";"),"globalThis._VSCODE_FILE_ROOT = '".concat(globalThis._VSCODE_FILE_ROOT,"';"),"const ttPolicy = globalThis.trustedTypes?.createPolicy('defaultWorkerFactory', { createScriptURL: value => value });","globalThis.workerttPolicy = ttPolicy;","await import(ttPolicy?.createScriptURL('".concat(e,"') ?? '").concat(e,"');"),"globalThis.postMessage({ type: 'vscode-worker-ready' });","/*".concat(n,"*/")]).join("")],{type:"application/javascript"});return URL.createObjectURL(r)}function whenESMWorkerReady(n){return new Promise((e,t)=>{n.onmessage=function(i){i.data.type==="vscode-worker-ready"&&(n.onmessage=null,e(n))},n.onerror=t})}function isPromiseLike$1(n){return typeof n.then=="function"}let WebWorker$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this.id=i,this.label=r;const k=getWorker$3(e,r);isPromiseLike$1(k)?this.worker=k:this.worker=Promise.resolve(k),this.postMessage(t,[]),this.worker.then(L=>{L.onmessage=function(V){g(V.data)},L.onmessageerror=y,typeof L.addEventListener=="function"&&L.addEventListener("error",y)}),this._register(toDisposable$1(()=>{var L;(L=this.worker)==null||L.then(V=>{V.onmessage=null,V.onmessageerror=null,V.removeEventListener("error",y),V.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)==null||i.then(r=>{try{r.postMessage(e,t)}catch(g){onUnexpectedError$1(g),onUnexpectedError$1(new Error("FAILED to post message to '".concat(this.label,"'-worker"),{cause:g}))}})}};class WorkerDescriptor{constructor(e,t){this.amdModuleId=e,this.label=t,this.esmModuleLocation=FileAccess$1.asBrowserUri("".concat(e,".esm.js"))}}var ws;let DefaultWorkerFactory$1=(ws=class{constructor(){this._webWorkerFailedBeforeError=!1}create(e,t,i){const r=++ws.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new WebWorker$1(e.esmModuleLocation,e.amdModuleId,r,e.label||"anonymous"+r,t,g=>{logOnceWebWorkerWarning$1(g),this._webWorkerFailedBeforeError=g,i(g)})}},ws.LAST_WORKER_ID=0,ws);function createWebWorker$4(n,e){const t=typeof n=="string"?new WorkerDescriptor(n,e):n;return new SimpleWorkerClient$1(new DefaultWorkerFactory$1,t)}var IndentAction$2;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(IndentAction$2||(IndentAction$2={}));let StandardAutoClosingPairConditional$1=class{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;tnew StandardAutoClosingPairConditional$1(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new StandardAutoClosingPairConditional$1({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new StandardAutoClosingPairConditional$1({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:lr.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:lr.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}},lr.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n ",lr.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n ",lr);function createScopedLineTokens$1(n,e){const t=n.getCount(),i=n.findTokenIndexAtOffset(e),r=n.getLanguageId(i);let g=i;for(;g+10&&n.getLanguageId(y-1)===r;)y--;return new ScopedLineTokens$1(n,r,y,g+1,n.getStartOffset(y),n.getEndOffset(g))}let ScopedLineTokens$1=class{constructor(e,t,i,r,g,y){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=r,this.firstCharOffset=g,this._lastCharOffset=y,this.languageIdCodec=e.languageIdCodec}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getLineLength(){return this._lastCharOffset-this.firstCharOffset}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}toIViewLineTokens(){return this._actual.sliceAndInflate(this.firstCharOffset,this._lastCharOffset,0)}};function ignoreBracketsInToken$1(n){return(n&3)!==0}const hasBuffer$1=typeof Buffer<"u";let textDecoder$1,VSBuffer$1=class Ru{static wrap(e){return hasBuffer$1&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new Ru(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return hasBuffer$1?this.buffer.toString():(textDecoder$1||(textDecoder$1=new TextDecoder),textDecoder$1.decode(this.buffer))}};function readUInt16LE$1(n,e){return n[e+0]<<0>>>0|n[e+1]<<8>>>0}function writeUInt16LE$1(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255}function readUInt32BE$1(n,e){return n[e]*2**24+n[e+1]*2**16+n[e+2]*2**8+n[e+3]}function writeUInt32BE$1(n,e,t){n[t+3]=e,e=e>>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function readUInt8$1(n,e){return n[e]}function writeUInt8$1(n,e,t){n[t]=e}let _utf16LE_TextDecoder$1;function getUTF16LE_TextDecoder$1(){return _utf16LE_TextDecoder$1||(_utf16LE_TextDecoder$1=new TextDecoder("UTF-16LE")),_utf16LE_TextDecoder$1}let _utf16BE_TextDecoder$1;function getUTF16BE_TextDecoder$1(){return _utf16BE_TextDecoder$1||(_utf16BE_TextDecoder$1=new TextDecoder("UTF-16BE")),_utf16BE_TextDecoder$1}let _platformTextDecoder$1;function getPlatformTextDecoder$1(){return _platformTextDecoder$1||(_platformTextDecoder$1=isLittleEndian$1()?getUTF16LE_TextDecoder$1():getUTF16BE_TextDecoder$1()),_platformTextDecoder$1}function decodeUTF16LE$1(n,e,t){const i=new Uint16Array(n.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?compatDecodeUTF16LE$1(n,e,t):getUTF16LE_TextDecoder$1().decode(i)}function compatDecodeUTF16LE$1(n,e,t){const i=[];let r=0;for(let g=0;g=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[y[0].toLowerCase(),y[1].toLowerCase()]);const t=[];for(let y=0;y{const[L,V]=y,[z,j]=k;return L===z||L===j||V===z||V===j},r=(y,k)=>{const L=Math.min(y,k),V=Math.max(y,k);for(let z=0;z0&&g.push({open:k,close:L})}return g}let RichEditBrackets$1=class{constructor(e,t){this._richEditBracketsBrand=void 0;const i=groupFuzzyBrackets$1(t);this.brackets=i.map((r,g)=>new RichEditBracket$1(e,g,r.open,r.close,getRegexForBracketPair$1(r.open,r.close,i,g),getReversedRegexForBracketPair$1(r.open,r.close,i,g))),this.forwardRegex=getRegexForBrackets$1(this.brackets),this.reversedRegex=getReversedRegexForBrackets$1(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const g of r.open)this.textIsBracket[g]=r,this.textIsOpenBracket[g]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,g.length);for(const g of r.close)this.textIsBracket[g]=r,this.textIsOpenBracket[g]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,g.length)}}};function collectSuperstrings$1(n,e,t,i){for(let r=0,g=e.length;r=0&&i.push(k);for(const k of y.close)k.indexOf(n)>=0&&i.push(k)}}function lengthcmp$1(n,e){return n.length-e.length}function unique$2(n){if(n.length<=1)return n;const e=[],t=new Set;for(const i of n)t.has(i)||(e.push(i),t.add(i));return e}function getRegexForBracketPair$1(n,e,t,i){let r=[];r=r.concat(n),r=r.concat(e);for(let g=0,y=r.length;g=0;y--)r[g++]=i.charCodeAt(y);return getPlatformTextDecoder$1().decode(r)}let e=null,t=null;return function(r){return e!==r&&(e=r,t=n(e)),t}}();let BracketsUtils$1=class{static _findPrevBracketInText(e,t,i,r){const g=i.match(e);if(!g)return null;const y=i.length-(g.index||0),k=g[0].length,L=r+y;return new Range$5(t,L-k+1,t,L+1)}static findPrevBracketInRange(e,t,i,r,g){const k=toReversedString$1(i).substring(i.length-g,i.length-r);return this._findPrevBracketInText(e,t,k,r)}static findNextBracketInText(e,t,i,r){const g=i.match(e);if(!g)return null;const y=g.index||0,k=g[0].length;if(k===0)return null;const L=r+y;return new Range$5(t,L+1,t,L+1+k)}static findNextBracketInRange(e,t,i,r,g){const y=i.substring(r,g);return this.findNextBracketInText(e,t,y,r)}},BracketElectricCharacterSupport$1=class{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const r=i.charAt(i.length-1);e.push(r)}return distinct$1(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const r=t.findTokenIndexAtOffset(i-1);if(ignoreBracketsInToken$1(t.getStandardTokenType(r)))return null;const g=this._richEditBrackets.reversedRegex,y=t.getLineContent().substring(0,i-1)+e,k=BracketsUtils$1.findPrevBracketInRange(g,1,y,0,y.length);if(!k)return null;const L=y.substring(k.startColumn-1,k.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[L])return null;const z=t.getActualLineContentBefore(k.startColumn-1);return/^\s*$/.test(z)?{matchOpenBracket:L}:null}};function resetGlobalRegex$1(n){return n.global&&(n.lastIndex=0),!0}let IndentRulesSupport$1=class{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&resetGlobalRegex$1(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&resetGlobalRegex$1(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&resetGlobalRegex$1(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&resetGlobalRegex$1(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}},OnEnterSupport$1=class bc{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=bc._createOpenBracketRegExp(t[0]),r=bc._createCloseBracketRegExp(t[1]);i&&r&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:r})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,r){if(e>=3)for(let g=0,y=this._regExpRules.length;gV.reg?(V.reg.lastIndex=0,V.reg.test(V.text)):!0))return k.action}if(e>=2&&i.length>0&&r.length>0)for(let g=0,y=this._brackets.length;g=2&&i.length>0){for(let g=0,y=this._brackets.length;g"u"?t:g}function getLanguageTagSettingPlainKey$1(n){return n.replace(/[\[\]]/g,"")}const ILanguageService$1=createDecorator$1("languageService");let SyncDescriptor$1=class{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}};const _registry$1=[];function registerSingleton$1(n,e,t){e instanceof SyncDescriptor$1||(e=new SyncDescriptor$1(e,[],!!t)),_registry$1.push([n,e])}function getSingletonServiceDescriptors$1(){return _registry$1}const Mimes$1=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),Extensions$h={JSONContribution:"base.contributions.json"};function normalizeId$1(n){return n.length>0&&n.charAt(n.length-1)==="#"?n.substring(0,n.length-1):n}let JSONContributionRegistry$1=class{constructor(){this._onDidChangeSchema=new Emitter$3,this.schemasById={}}registerSchema(e,t){this.schemasById[normalizeId$1(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}};const jsonContributionRegistry$1=new JSONContributionRegistry$1;Registry$1.add(Extensions$h.JSONContribution,jsonContributionRegistry$1);const Extensions$g={Configuration:"base.contributions.configuration"},resourceLanguageSettingsSchemaId$1="vscode://schemas/settings/resourceLanguage",contributionRegistry$1=Registry$1.as(Extensions$h.JSONContribution);let ConfigurationRegistry$1=class{constructor(){this.registeredConfigurationDefaults=[],this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Emitter$3,this._onDidUpdateConfiguration=new Emitter$3,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:localize$1("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},contributionRegistry$1.registerSchema(resourceLanguageSettingsSchemaId$1,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),contributionRegistry$1.registerSchema(resourceLanguageSettingsSchemaId$1,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var r;this.registeredConfigurationDefaults.push(...e);const i=[];for(const{overrides:g,source:y}of e)for(const k in g){t.add(k);const L=(r=this.configurationDefaultsOverrides.get(k))!=null?r:this.configurationDefaultsOverrides.set(k,{configurationDefaultOverrides:[]}).get(k),V=g[k];if(L.configurationDefaultOverrides.push({value:V,source:y}),OVERRIDE_PROPERTY_REGEX$1.test(k)){const z=this.mergeDefaultConfigurationsForOverrideIdentifier(k,V,y,L.configurationDefaultOverrideValue);if(!z)continue;L.configurationDefaultOverrideValue=z,this.updateDefaultOverrideProperty(k,z,y),i.push(...overrideIdentifiersFromKey$1(k))}else{const z=this.mergeDefaultConfigurationsForConfigurationProperty(k,V,y,L.configurationDefaultOverrideValue);if(!z)continue;L.configurationDefaultOverrideValue=z;const j=this.configurationProperties[k];j&&(this.updatePropertyDefaultValue(k,j),this.updateSchema(k,j))}}this.doRegisterOverrideIdentifiers(i)}updateDefaultOverrideProperty(e,t,i){const r={type:"object",default:t.value,description:localize$1("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",getLanguageTagSettingPlainKey$1(e)),$ref:resourceLanguageSettingsSchemaId$1,defaultDefaultValue:t.value,source:i,defaultValueSource:i};this.configurationProperties[e]=r,this.defaultLanguageConfigurationOverridesNode.properties[e]=r}mergeDefaultConfigurationsForOverrideIdentifier(e,t,i,r){var k,L;const g=(r==null?void 0:r.value)||{},y=(k=r==null?void 0:r.source)!=null?k:new Map;if(!(y instanceof Map)){console.error("objectConfigurationSources is not a Map");return}for(const V of Object.keys(t)){const z=t[V];if(isObject$7(z)&&(isUndefined$5(g[V])||isObject$7(g[V]))){if(g[V]={...(L=g[V])!=null?L:{},...z},i)for(const ie in z)y.set("".concat(V,".").concat(ie),i)}else g[V]=z,i?y.set(V,i):y.delete(V)}return{value:g,source:y}}mergeDefaultConfigurationsForConfigurationProperty(e,t,i,r){var V,z;const g=this.configurationProperties[e],y=(V=r==null?void 0:r.value)!=null?V:g==null?void 0:g.defaultDefaultValue;let k=i;if(isObject$7(t)&&(g!==void 0&&g.type==="object"||g===void 0&&(isUndefined$5(y)||isObject$7(y)))){if(k=(z=r==null?void 0:r.source)!=null?z:new Map,!(k instanceof Map)){console.error("defaultValueSource is not a Map");return}for(const j in t)i&&k.set("".concat(e,".").concat(j),i);t={...isObject$7(y)?y:{},...t}}return{value:t,source:k}}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(r=>{this.validateAndRegisterProperties(r,t,r.extensionInfo,r.restrictedProperties,void 0,i),this.configurationContributors.push(r),this.registerJSONConfiguration(r)})}validateAndRegisterProperties(e,t=!0,i,r,g=3,y){var V;g=isUndefinedOrNull$1(e.scope)?g:e.scope;const k=e.properties;if(k)for(const z in k){const j=k[z];if(t&&validateProperty$1(z,j)){delete k[z];continue}if(j.source=i,j.defaultDefaultValue=k[z].default,this.updatePropertyDefaultValue(z,j),OVERRIDE_PROPERTY_REGEX$1.test(z)?j.scope=void 0:(j.scope=isUndefinedOrNull$1(j.scope)?g:j.scope,j.restricted=isUndefinedOrNull$1(j.restricted)?!!(r!=null&&r.includes(z)):j.restricted),k[z].hasOwnProperty("included")&&!k[z].included){this.excludedConfigurationProperties[z]=k[z],delete k[z];continue}else this.configurationProperties[z]=k[z],(V=k[z].policy)!=null&&V.name&&this.policyConfigurations.set(k[z].policy.name,z);!k[z].deprecationMessage&&k[z].markdownDeprecationMessage&&(k[z].deprecationMessage=k[z].markdownDeprecationMessage),y.add(z)}const L=e.allOf;if(L)for(const z of L)this.validateAndRegisterProperties(z,t,i,r,g,y)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const r=i.properties;if(r)for(const y in r)this.updateSchema(y,r[y]);const g=i.allOf;g==null||g.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t="[".concat(e,"]"),i={type:"object",description:localize$1("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:localize$1("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:resourceLanguageSettingsSchemaId$1};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){localize$1("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),localize$1("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){var y;const i=(y=this.configurationDefaultsOverrides.get(e))==null?void 0:y.configurationDefaultOverrideValue;let r,g;i&&(!t.disallowConfigurationDefault||!i.source)&&(r=i.value,g=i.source),isUndefined$5(r)&&(r=t.defaultDefaultValue,g=void 0),isUndefined$5(r)&&(r=getDefaultValue$3(t.type)),t.default=r,t.defaultValueSource=g}};const OVERRIDE_IDENTIFIER_PATTERN$1="\\[([^\\]]+)\\]",OVERRIDE_IDENTIFIER_REGEX$1=new RegExp(OVERRIDE_IDENTIFIER_PATTERN$1,"g"),OVERRIDE_PROPERTY_PATTERN$1="^(".concat(OVERRIDE_IDENTIFIER_PATTERN$1,")+$"),OVERRIDE_PROPERTY_REGEX$1=new RegExp(OVERRIDE_PROPERTY_PATTERN$1);function overrideIdentifiersFromKey$1(n){const e=[];if(OVERRIDE_PROPERTY_REGEX$1.test(n)){let t=OVERRIDE_IDENTIFIER_REGEX$1.exec(n);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=OVERRIDE_IDENTIFIER_REGEX$1.exec(n)}}return distinct$1(e)}function getDefaultValue$3(n){switch(Array.isArray(n)?n[0]:n){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const configurationRegistry$5=new ConfigurationRegistry$1;Registry$1.add(Extensions$g.Configuration,configurationRegistry$5);function validateProperty$1(n,e){var t,i,r,g;return n.trim()?OVERRIDE_PROPERTY_REGEX$1.test(n)?localize$1("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",n):configurationRegistry$5.getConfigurationProperties()[n]!==void 0?localize$1("config.property.duplicate","Cannot register '{0}'. This property is already registered.",n):(t=e.policy)!=null&&t.name&&configurationRegistry$5.getPolicyConfigurations().get((i=e.policy)==null?void 0:i.name)!==void 0?localize$1("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",n,(r=e.policy)==null?void 0:r.name,configurationRegistry$5.getPolicyConfigurations().get((g=e.policy)==null?void 0:g.name)):null:localize$1("config.property.empty","Cannot register an empty property")}const Extensions$f={ModesRegistry:"editor.modesRegistry"};let EditorModesRegistry$1=class{constructor(){this._onDidChangeLanguages=new Emitter$3,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const L=new Set;return{info:new OpeningBracketKind$1(this,k,L),closing:L}}),g=new CachedFunction$1(k=>{const L=new Set,V=new Set;return{info:new ClosingBracketKind$1(this,k,L,V),opening:L,openingColorized:V}});for(const[k,L]of i){const V=r.get(k),z=g.get(L);V.closing.add(z.info),z.opening.add(V.info)}const y=t.colorizedBracketPairs?filterValidBrackets$1(t.colorizedBracketPairs):i.filter(k=>!(k[0]==="<"&&k[1]===">"));for(const[k,L]of y){const V=r.get(k),z=g.get(L);V.closing.add(z.info),z.openingColorized.add(V.info),z.opening.add(V.info)}this._openingBrackets=new Map([...r.cachedValues].map(([k,L])=>[k,L.info])),this._closingBrackets=new Map([...g.cachedValues].map(([k,L])=>[k,L.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}getBracketRegExp(e){const t=Array.from([...this._openingBrackets.keys(),...this._closingBrackets.keys()]);return createBracketOrRegExp$1(t,e)}};function filterValidBrackets$1(n){return n.filter(([e,t])=>e!==""&&t!=="")}let BracketKindBase$1=class{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}},OpeningBracketKind$1=class extends BracketKindBase$1{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}},ClosingBracketKind$1=class extends BracketKindBase$1{constructor(e,t,i,r){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}};var __decorate$54=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4Q=function(n,e){return function(t,i){e(t,i,n)}};let LanguageConfigurationServiceChangeEvent$1=class{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}};const ILanguageConfigurationService$1=createDecorator$1("languageConfigurationService");let LanguageConfigurationService$1=class extends Disposable$1{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new LanguageConfigurationRegistry$1),this.onDidChangeEmitter=this._register(new Emitter$3),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(customizedLanguageConfigKeys$1));this._register(this.configurationService.onDidChangeConfiguration(r=>{const g=r.change.keys.some(k=>i.has(k)),y=r.change.overrides.filter(([k,L])=>L.some(V=>i.has(V))).map(([k])=>k);if(g)this.configurations.clear(),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent$1(void 0));else for(const k of y)this.languageService.isRegisteredLanguageId(k)&&(this.configurations.delete(k),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent$1(k)))})),this._register(this._registry.onDidChange(r=>{this.configurations.delete(r.languageId),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent$1(r.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=computeConfig$1(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};LanguageConfigurationService$1=__decorate$54([__param$4Q(0,IConfigurationService$1),__param$4Q(1,ILanguageService$1)],LanguageConfigurationService$1);function computeConfig$1(n,e,t,i){let r=e.getLanguageConfiguration(n);if(!r){if(!i.isRegisteredLanguageId(n))return new ResolvedLanguageConfiguration$1(n,{});r=new ResolvedLanguageConfiguration$1(n,{})}const g=getCustomizedLanguageConfig$1(r.languageId,t),y=combineLanguageConfigurations$1([r.underlyingConfig,g]);return new ResolvedLanguageConfiguration$1(r.languageId,y)}const customizedLanguageConfigKeys$1={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function getCustomizedLanguageConfig$1(n,e){const t=e.getValue(customizedLanguageConfigKeys$1.brackets,{overrideIdentifier:n}),i=e.getValue(customizedLanguageConfigKeys$1.colorizedBracketPairs,{overrideIdentifier:n});return{brackets:validateBracketPairs$1(t),colorizedBracketPairs:validateBracketPairs$1(i)}}function validateBracketPairs$1(n){if(Array.isArray(n))return n.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function getIndentationAtPosition$1(n,e,t){const i=n.getLineContent(e);let r=getLeadingWhitespace$1(i);return r.length>t-1&&(r=r.substring(0,t-1)),r}let ComposedLanguageConfiguration$1=class{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new LanguageConfigurationContribution$1(e,t,++this._order);return this._entries.push(i),this._resolved=null,toDisposable$1(()=>{for(let r=0;re.configuration)))}};function combineLanguageConfigurations$1(n){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of n)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}let LanguageConfigurationContribution$1=class{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}},LanguageConfigurationChangeEvent$1=class{constructor(e){this.languageId=e}},LanguageConfigurationRegistry$1=class extends Disposable$1{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._register(this.register(PLAINTEXT_LANGUAGE_ID$1,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let r=this._entries.get(e);r||(r=new ComposedLanguageConfiguration$1(e),this._entries.set(e,r));const g=r.register(t,i);return this._onDidChange.fire(new LanguageConfigurationChangeEvent$1(e)),toDisposable$1(()=>{g.dispose(),this._onDidChange.fire(new LanguageConfigurationChangeEvent$1(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}},ResolvedLanguageConfiguration$1=class Mu{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new OnEnterSupport$1(this.underlyingConfig):null,this.comments=Mu._handleComments(this.underlyingConfig),this.characterPair=new CharacterPairSupport$1(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||DEFAULT_WORD_REGEXP$1,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new IndentRulesSupport$1(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new LanguageBracketsConfiguration$1(e,this.underlyingConfig)}getWordDefinition(){return ensureValidWordDefinition$1(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new RichEditBrackets$1(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new BracketElectricCharacterSupport$1(this.brackets)),this._electricCharacter}onEnter(e,t,i,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,r):null}getAutoClosingPairs(){return new AutoClosingPairs$1(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[r,g]=t.blockComment;i.blockCommentStartToken=r,i.blockCommentEndToken=g}return i}};registerSingleton$1(ILanguageConfigurationService$1,LanguageConfigurationService$1,1);let DiffChange$1=class{constructor(e,t,i,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}},StringDiffSequence$1=class{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,r=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new DiffChange$1(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}},LcsDiff$1=class Hl{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[r,g,y]=Hl._getElements(e),[k,L,V]=Hl._getElements(t);this._hasStrings=y&&V,this._originalStringElements=r,this._originalElementsOrHash=g,this._modifiedStringElements=k,this._modifiedElementsOrHash=L,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(Hl._isStringArray(t)){const i=new Int32Array(t.length);for(let r=0,g=t.length;r=e&&r>=i&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||i>r){let j;return i<=r?(Debug$1.Assert(e===t+1,"originalStart should only be one more than originalEnd"),j=[new DiffChange$1(e,0,i,r-i+1)]):e<=t?(Debug$1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),j=[new DiffChange$1(e,t-e+1,i,0)]):(Debug$1.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Debug$1.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),j=[]),j}const y=[0],k=[0],L=this.ComputeRecursionPoint(e,t,i,r,y,k,g),V=y[0],z=k[0];if(L!==null)return L;if(!g[0]){const j=this.ComputeDiffRecursive(e,V,i,z,g);let ie=[];return g[0]?ie=[new DiffChange$1(V+1,t-(V+1)+1,z+1,r-(z+1)+1)]:ie=this.ComputeDiffRecursive(V+1,t,z+1,r,g),this.ConcatenateChanges(j,ie)}return[new DiffChange$1(e,t-e+1,i,r-i+1)]}WALKTRACE(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le,de,ue){let he=null,pe=null,Ce=new DiffChangeHelper$1,$e=t,xe=i,Ie=oe[0]-le[0]-r,Ne=-1073741824,Fe=this.m_forwardHistory.length-1;do{const Ve=Ie+e;Ve===$e||Ve=0&&(V=this.m_forwardHistory[Fe],e=V[0],$e=1,xe=V.length-1)}while(--Fe>=-1);if(he=Ce.getReverseChanges(),ue[0]){let Ve=oe[0]+1,Oe=le[0]+1;if(he!==null&&he.length>0){const ze=he[he.length-1];Ve=Math.max(Ve,ze.getOriginalEnd()),Oe=Math.max(Oe,ze.getModifiedEnd())}pe=[new DiffChange$1(Ve,ie-Ve+1,Oe,ae-Oe+1)]}else{Ce=new DiffChangeHelper$1,$e=y,xe=k,Ie=oe[0]-le[0]-L,Ne=1073741824,Fe=de?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const Ve=Ie+g;Ve===$e||Ve=z[Ve+1]?(j=z[Ve+1]-1,re=j-Ie-L,j>Ne&&Ce.MarkNextChange(),Ne=j+1,Ce.AddOriginalElement(j+1,re+1),Ie=Ve+1-g):(j=z[Ve-1],re=j-Ie-L,j>Ne&&Ce.MarkNextChange(),Ne=j,Ce.AddModifiedElement(j+1,re+1),Ie=Ve-1-g),Fe>=0&&(z=this.m_reverseHistory[Fe],g=z[0],$e=1,xe=z.length-1)}while(--Fe>=-1);pe=Ce.getChanges()}return this.ConcatenateChanges(he,pe)}ComputeRecursionPoint(e,t,i,r,g,y,k){let L=0,V=0,z=0,j=0,ie=0,oe=0;e--,i--,g[0]=0,y[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const re=t-e+(r-i),ae=re+1,le=new Int32Array(ae),de=new Int32Array(ae),ue=r-i,he=t-e,pe=e-i,Ce=t-r,xe=(he-ue)%2===0;le[ue]=e,de[he]=t,k[0]=!1;for(let Ie=1;Ie<=re/2+1;Ie++){let Ne=0,Fe=0;z=this.ClipDiagonalBound(ue-Ie,Ie,ue,ae),j=this.ClipDiagonalBound(ue+Ie,Ie,ue,ae);for(let Oe=z;Oe<=j;Oe+=2){Oe===z||OeNe+Fe&&(Ne=L,Fe=V),!xe&&Math.abs(Oe-he)<=Ie-1&&L>=de[Oe])return g[0]=L,y[0]=V,ze<=de[Oe]&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):null}const Ve=(Ne-e+(Fe-i)-Ie)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Ne,Ve))return k[0]=!0,g[0]=Ne,y[0]=Fe,Ve>0&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):(e++,i++,[new DiffChange$1(e,t-e+1,i,r-i+1)]);ie=this.ClipDiagonalBound(he-Ie,Ie,he,ae),oe=this.ClipDiagonalBound(he+Ie,Ie,he,ae);for(let Oe=ie;Oe<=oe;Oe+=2){Oe===ie||Oe=de[Oe+1]?L=de[Oe+1]-1:L=de[Oe-1],V=L-(Oe-he)-Ce;const ze=L;for(;L>e&&V>i&&this.ElementsAreEqual(L,V);)L--,V--;if(de[Oe]=L,xe&&Math.abs(Oe-ue)<=Ie&&L<=le[Oe])return g[0]=L,y[0]=V,ze>=le[Oe]&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):null}if(Ie<=1447){let Oe=new Int32Array(j-z+2);Oe[0]=ue-z+1,MyArray$1.Copy2(le,z,Oe,1,j-z+1),this.m_forwardHistory.push(Oe),Oe=new Int32Array(oe-ie+2),Oe[0]=he-ie+1,MyArray$1.Copy2(de,ie,Oe,1,oe-ie+1),this.m_reverseHistory.push(Oe)}}return this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k)}PrettifyChanges(e){for(let t=0;t0,k=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let r=0,g=0;if(t>0){const j=e[t-1];r=j.originalStart+j.originalLength,g=j.modifiedStart+j.modifiedLength}const y=i.originalLength>0,k=i.modifiedLength>0;let L=0,V=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let j=1;;j++){const ie=i.originalStart-j,oe=i.modifiedStart-j;if(ieV&&(V=ae,L=j)}i.originalStart-=L,i.modifiedStart-=L;const z=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],z)){e[t-1]=z[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&oe>L&&(L=oe,V=j,z=ie)}return L>0?[V,z]:null}_contiguousSequenceScore(e,t,i){let r=0;for(let g=0;g=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,r){const g=this._OriginalRegionIsBoundary(e,t)?1:0,y=this._ModifiedRegionIsBoundary(i,r)?1:0;return g+y}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const r=new Array(e.length+t.length-1);return MyArray$1.Copy(e,0,r,0,e.length-1),r[e.length-1]=i[0],MyArray$1.Copy(t,1,r,e.length,t.length-1),r}else{const r=new Array(e.length+t.length);return MyArray$1.Copy(e,0,r,0,e.length),MyArray$1.Copy(t,0,r,e.length,t.length),r}}ChangesOverlap(e,t,i){if(Debug$1.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Debug$1.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let g=e.originalLength;const y=e.modifiedStart;let k=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(g=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(k=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new DiffChange$1(r,g,y,k),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,r){if(e>=0&&e255?255:n|0}function toUint32$1(n){return n<0?0:n>4294967295?4294967295:n|0}let CharacterClassifier$1=class Au{constructor(e){const t=toUint8$1(e);this._defaultValue=t,this._asciiMap=Au._createAsciiMap(t),this._map=new Map}static _createAsciiMap(e){const t=new Uint8Array(256);return t.fill(e),t}set(e,t){const i=toUint8$1(t);e>=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}},CharacterSet$1=class{constructor(){this._actual=new CharacterClassifier$1(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}},Uint8Matrix$1=class{constructor(e,t,i){const r=new Uint8Array(e*t);for(let g=0,y=e*t;gt&&(t=L),k>i&&(i=k),V>i&&(i=V)}t++,i++;const r=new Uint8Matrix$1(i,t,0);for(let g=0,y=e.length;g=this._maxCharCode?0:this._states.get(e,t)}},_stateMachine$1=null;function getStateMachine$1(){return _stateMachine$1===null&&(_stateMachine$1=new StateMachine$1([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),_stateMachine$1}let _classifier$1=null;function getClassifier$1(){if(_classifier$1===null){_classifier$1=new CharacterClassifier$1(0);const n=" <>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;tr);if(r>0){const k=t.charCodeAt(r-1),L=t.charCodeAt(y);(k===40&&L===41||k===91&&L===93||k===123&&L===125)&&y--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:y+2},url:t.substring(r,y+1)}}static computeLinks(e,t=getStateMachine$1()){const i=getClassifier$1(),r=[];for(let g=1,y=e.getLineCount();g<=y;g++){const k=e.getLineContent(g),L=k.length;let V=0,z=0,j=0,ie=1,oe=!1,re=!1,ae=!1,le=!1;for(;V=0?(r+=i?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}},$s.INSTANCE=new $s,$s);var Lr;let EditorWorkerHost$1=(Lr=class{static getChannel(e){return e.getChannel(Lr.CHANNEL_NAME)}static setChannel(e,t){e.setChannel(Lr.CHANNEL_NAME,t)}},Lr.CHANNEL_NAME="editorWorkerHost",Lr);var _a$9,_b$3;let ResourceMapEntry$1=class{constructor(e,t){this.uri=e,this.value=t}};function isEntries$1(n){return Array.isArray(n)}var zo;let ResourceMap$1=(zo=class{constructor(e,t){if(this[_a$9]="ResourceMap",e instanceof zo)this.map=new Map(e.map),this.toKey=t!=null?t:zo.defaultToKey;else if(isEntries$1(e)){this.map=new Map,this.toKey=t!=null?t:zo.defaultToKey;for(const[i,r]of e)this.set(i,r)}else this.map=new Map,this.toKey=e!=null?e:zo.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new ResourceMapEntry$1(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))==null?void 0:t.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(const[i,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(_a$9=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}},zo.defaultToKey=e=>e.toString(),zo),LinkedMap$1=class{constructor(){this[_b$3]="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(){var e;return(e=this._head)==null?void 0:e.value}get last(){var e;return(e=this._tail)==null?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let r=this._map.get(e);if(r)r.value=t,i!==0&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const 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");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:i.key,done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:i.value,done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:[i.key,i.value],done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}[(_b$3=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,t&&(t.previous=void 0),this._state++}trimNew(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._tail,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.previous,i--;this._tail=t,this._size=i,t&&(t.next=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{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.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;const i=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(i.previous=r,r.next=i),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;const i=e.next,r=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=r,r.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}};class Cache extends LinkedMap$1{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this}checkTrim(){this.size>this._limit&&this.trim(Math.round(this._limit*this._ratio))}}let LRUCache$1=class extends Cache{constructor(e,t=1){super(e,t)}trim(e){this.trimOld(e)}set(e,t){return super.set(e,t),this.checkTrim(),this}},BidirectionalMap$1=class{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}},SetMap$1=class{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}},WordCharacterClassifier$1=class extends CharacterClassifier$1{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,r=e.length;it)break;i=r}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;let t=null;try{t=createRegExp$1(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(r){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new SearchData$1(t,this.wordSeparators?getMapForWordSeparators$1(this.wordSeparators,[]):null,i?this.searchString:null)}};function isMultilineRegexSource$1(n){if(!n||n.length===0)return!1;for(let e=0,t=n.length;e=t)break;const r=n.charCodeAt(e);if(r===110||r===114||r===87)return!0}}return!1}function createFindMatch$1(n,e,t){if(!t)return new FindMatch$1(n,null);const i=[];for(let r=0,g=e.length;r>0);t[g]>=e?r=g-1:t[g+1]>=e?(i=g,r=g):i=g+1}return i+1}},TextModelSearch$1=class{static findMatches(e,t,i,r,g){const y=t.parseSearchRequest();return y?y.regex.multiline?this._doFindMatchesMultiline(e,i,new Searcher$1(y.wordSeparators,y.regex),r,g):this._doFindMatchesLineByLine(e,i,y,r,g):[]}static _getMultilineMatchRange(e,t,i,r,g,y){let k,L=0;r?(L=r.findLineFeedCountBeforeOffset(g),k=t+g+L):k=t+g;let V;if(r){const oe=r.findLineFeedCountBeforeOffset(g+y.length)-L;V=k+y.length+oe}else V=k+y.length;const z=e.getPositionAt(k),j=e.getPositionAt(V);return new Range$5(z.lineNumber,z.column,j.lineNumber,j.column)}static _doFindMatchesMultiline(e,t,i,r,g){const y=e.getOffsetAt(t.getStartPosition()),k=e.getValueInRange(t,1),L=e.getEOL()==="\r\n"?new LineFeedCounter$1(k):null,V=[];let z=0,j;for(i.reset(0);j=i.next(k);)if(V[z++]=createFindMatch$1(this._getMultilineMatchRange(e,y,k,L,j.index,j[0]),j,r),z>=g)return V;return V}static _doFindMatchesLineByLine(e,t,i,r,g){const y=[];let k=0;if(t.startLineNumber===t.endLineNumber){const V=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return k=this._findMatchesInLine(i,V,t.startLineNumber,t.startColumn-1,k,y,r,g),y}const L=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);k=this._findMatchesInLine(i,L,t.startLineNumber,t.startColumn-1,k,y,r,g);for(let V=t.startLineNumber+1;V=L))return g;return g}const z=new Searcher$1(e.wordSeparators,e.regex);let j;z.reset(0);do if(j=z.next(t),j&&(y[g++]=createFindMatch$1(new Range$5(i,j.index+1+r,i,j.index+1+j[0].length+r),j,k),g>=L))return g;while(j);return g}static findNextMatch(e,t,i,r){const g=t.parseSearchRequest();if(!g)return null;const y=new Searcher$1(g.wordSeparators,g.regex);return g.regex.multiline?this._doFindNextMatchMultiline(e,i,y,r):this._doFindNextMatchLineByLine(e,i,y,r)}static _doFindNextMatchMultiline(e,t,i,r){const g=new Position$3(t.lineNumber,1),y=e.getOffsetAt(g),k=e.getLineCount(),L=e.getValueInRange(new Range$5(g.lineNumber,g.column,k,e.getLineMaxColumn(k)),1),V=e.getEOL()==="\r\n"?new LineFeedCounter$1(L):null;i.reset(t.column-1);const z=i.next(L);return z?createFindMatch$1(this._getMultilineMatchRange(e,y,L,V,z.index,z[0]),z,r):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new Position$3(1,1),i,r):null}static _doFindNextMatchLineByLine(e,t,i,r){const g=e.getLineCount(),y=t.lineNumber,k=e.getLineContent(y),L=this._findFirstMatchInLine(i,k,y,t.column,r);if(L)return L;for(let V=1;V<=g;V++){const z=(y+V-1)%g,j=e.getLineContent(z+1),ie=this._findFirstMatchInLine(i,j,z+1,1,r);if(ie)return ie}return null}static _findFirstMatchInLine(e,t,i,r,g){e.reset(r-1);const y=e.next(t);return y?createFindMatch$1(new Range$5(i,y.index+1,i,y.index+1+y[0].length),y,g):null}static findPreviousMatch(e,t,i,r){const g=t.parseSearchRequest();if(!g)return null;const y=new Searcher$1(g.wordSeparators,g.regex);return g.regex.multiline?this._doFindPreviousMatchMultiline(e,i,y,r):this._doFindPreviousMatchLineByLine(e,i,y,r)}static _doFindPreviousMatchMultiline(e,t,i,r){const g=this._doFindMatchesMultiline(e,new Range$5(1,1,t.lineNumber,t.column),i,r,10*LIMIT_FIND_COUNT$3);if(g.length>0)return g[g.length-1];const y=e.getLineCount();return t.lineNumber!==y||t.column!==e.getLineMaxColumn(y)?this._doFindPreviousMatchMultiline(e,new Position$3(y,e.getLineMaxColumn(y)),i,r):null}static _doFindPreviousMatchLineByLine(e,t,i,r){const g=e.getLineCount(),y=t.lineNumber,k=e.getLineContent(y).substring(0,t.column-1),L=this._findLastMatchInLine(i,k,y,r);if(L)return L;for(let V=1;V<=g;V++){const z=(g+y-V-1)%g,j=e.getLineContent(z+1),ie=this._findLastMatchInLine(i,j,z+1,r);if(ie)return ie}return null}static _findLastMatchInLine(e,t,i,r){let g=null,y;for(e.reset(0);y=e.next(t);)g=createFindMatch$1(new Range$5(i,y.index+1,i,y.index+1+y[0].length),y,r);return g}};function leftIsWordBounday$1(n,e,t,i,r){if(i===0)return!0;const g=e.charCodeAt(i-1);if(n.get(g)!==0||g===13||g===10)return!0;if(r>0){const y=e.charCodeAt(i);if(n.get(y)!==0)return!0}return!1}function rightIsWordBounday$1(n,e,t,i,r){if(i+r===t)return!0;const g=e.charCodeAt(i+r);if(n.get(g)!==0||g===13||g===10)return!0;if(r>0){const y=e.charCodeAt(i+r-1);if(n.get(y)!==0)return!0}return!1}function isValidMatch$1(n,e,t,i,r){return leftIsWordBounday$1(n,e,t,i,r)&&rightIsWordBounday$1(n,e,t,i,r)}let Searcher$1=class{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const r=i.index,g=i[0].length;if(r===this._prevMatchStartIndex&&g===this._prevMatchLength){if(g===0){getNextCodePoint$1(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=g,!this._wordSeparators||isValidMatch$1(this._wordSeparators,e,t,r,g))return i}while(i);return null}},UnicodeTextModelHighlighter$1=class{static computeUnicodeHighlights(e,t,i){const r=i?i.startLineNumber:1,g=i?i.endLineNumber:e.getLineCount(),y=new CodePointHighlighter$1(t),k=y.getCandidateCodePoints();let L;k==="allNonBasicAscii"?L=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):L=new RegExp("".concat(buildRegExpCharClassExpr$1(Array.from(k))),"g");const V=new Searcher$1(null,L),z=[];let j=!1,ie,oe=0,re=0,ae=0;e:for(let le=r,de=g;le<=de;le++){const ue=e.getLineContent(le),he=ue.length;V.reset(0);do if(ie=V.next(ue),ie){let pe=ie.index,Ce=ie.index+ie[0].length;if(pe>0){const Ne=ue.charCodeAt(pe-1);isHighSurrogate$1(Ne)&&pe--}if(Ce+1=1e3){j=!0;break e}z.push(new Range$5(le,pe+1,le,Ce+1))}}while(ie)}return{ranges:z,hasMore:j,ambiguousCharacterCount:oe,invisibleCharacterCount:re,nonBasicAsciiCharacterCount:ae}}static computeUnicodeHighlightReason(e,t){const i=new CodePointHighlighter$1(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const g=e.codePointAt(0),y=i.ambiguousCharacters.getPrimaryConfusable(g),k=AmbiguousCharacters$1.getLocales().filter(L=>!AmbiguousCharacters$1.getInstance(new Set([...t.allowedLocales,L])).isAmbiguous(g));return{kind:0,confusableWith:String.fromCodePoint(y),notAmbiguousInLocales:k}}case 1:return{kind:2}}}};function buildRegExpCharClassExpr$1(n,e){return"[".concat(escapeRegExpCharacters$1(n.map(i=>String.fromCodePoint(i)).join("")),"]")}let CodePointHighlighter$1=class{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=AmbiguousCharacters$1.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of InvisibleCharacters$1.codePoints)isAllowedInvisibleCharacter$1(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,g=!1;if(t)for(const y of t){const k=y.codePointAt(0),L=isBasicASCII$1(y);r=r||L,!L&&!this.ambiguousCharacters.isAmbiguous(k)&&!InvisibleCharacters$1.isInvisibleCharacter(k)&&(g=!0)}return!r&&g?0:this.options.invisibleCharacters&&!isAllowedInvisibleCharacter$1(e)&&InvisibleCharacters$1.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}};function isAllowedInvisibleCharacter$1(n){return n===" "||n==="\n"||n===" "}let LinesDiff$1=class{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}},MovedText$1=class{constructor(e,t){this.lineRangeMapping=e,this.changes=t}},OffsetRange$1=class Ao{static addRange(e,t){let i=0;for(;it))return new Ao(e,t)}static ofLength(e){return new Ao(0,e)}static ofStartAndLength(e,t){return new Ao(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new BugIndicatingError$1("Invalid range: ".concat(this.toString()))}get isEmpty(){return this.start===this.endExclusive}delta(e){return new Ao(this.start+e,this.endExclusive+e)}deltaStart(e){return new Ao(this.start+e,this.endExclusive)}deltaEnd(e){return new Ao(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return"[".concat(this.start,", ").concat(this.endExclusive,")")}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new BugIndicatingError$1("Invalid clipping range: ".concat(this.toString()));return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new BugIndicatingError$1("Invalid clipping range: ".concat(this.toString()));return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}};function findLast$2(n,e){const t=findLastIdx$1(n,e);if(t!==-1)return n[t]}function findLastIdx$1(n,e,t=n.length-1){for(let i=t;i>=0;i--){const r=n[i];if(e(r))return i}return-1}function findLastMonotonous$1(n,e){const t=findLastIdxMonotonous$1(n,e);return t===-1?void 0:n[t]}function findLastIdxMonotonous$1(n,e,t=0,i=n.length){let r=t,g=i;for(;r0&&(t=r)}return t}function findLastMax(n,e){if(n.length===0)return;let t=n[0];for(let i=1;i=0&&(t=r)}return t}function findFirstMin(n,e){return findFirstMax(n,(t,i)=>-e(t,i))}function findMaxIdx(n,e){if(n.length===0)return-1;let t=0;for(let i=1;i0&&(t=i)}return t}function mapFindFirst$1(n,e){for(const t of n){const i=e(t);if(i!==void 0)return i}}let LineRange$3=class Yo{static fromRangeInclusive(e){return new Yo(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new LineRangeSet$1(e[0].slice());for(let i=1;it)throw new BugIndicatingError$1("startLineNumber ".concat(e," cannot be after endLineNumberExclusive ").concat(t));this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&er.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous$1(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const r=this._normalizedRanges[t];this._normalizedRanges[t]=r.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,r)}}contains(e){const t=findLastMonotonous$1(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=findLastMonotonous$1(this._normalizedRanges,i=>i.startLineNumbere.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,r=0,g=null;for(;i=y.startLineNumber?g=new LineRange$3(g.startLineNumber,Math.max(g.endLineNumberExclusive,y.endLineNumberExclusive)):(t.push(g),g=y)}return g!==null&&t.push(g),new Ul(t)}subtractFrom(e){const t=findFirstIdxMonotonousOrArrLen$1(this._normalizedRanges,y=>y.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous$1(this._normalizedRanges,y=>y.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new Ul([e]);const r=[];let g=e.startLineNumber;for(let y=t;yg&&r.push(new LineRange$3(g,k.startLineNumber)),g=k.endLineNumberExclusive}return ge.toString()).join(", ")}getIntersection(e){const t=[];let i=0,r=0;for(;it.delta(e)))}};var Eo;let TextLength$1=(Eo=class{static betweenPositions(e,t){return e.lineNumber===t.lineNumber?new Eo(0,t.column-e.column):new Eo(t.lineNumber-e.lineNumber,t.column-1)}static ofRange(e){return Eo.betweenPositions(e.getStartPosition(),e.getEndPosition())}static ofText(e){let t=0,i=0;for(const r of e)r==="\n"?(t++,i=0):i++;return new Eo(t,i)}constructor(e,t){this.lineCount=e,this.columnCount=t}isGreaterThanOrEqualTo(e){return this.lineCount!==e.lineCount?this.lineCount>e.lineCount:this.columnCount>=e.columnCount}createRange(e){return this.lineCount===0?new Range$5(e.lineNumber,e.column,e.lineNumber,e.column+this.columnCount):new Range$5(e.lineNumber,e.column,e.lineNumber+this.lineCount,this.columnCount+1)}addToPosition(e){return this.lineCount===0?new Position$3(e.lineNumber,e.column+this.columnCount):new Position$3(e.lineNumber+this.lineCount,this.columnCount+1)}toString(){return"".concat(this.lineCount,",").concat(this.columnCount)}},Eo.zero=new Eo(0,0),Eo),PositionOffsetTransformer$1=class{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tcheckAdjacentItems$1(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new Position$3(1,1);for(const g of this.edits){const y=g.range,k=y.getStartPosition(),L=y.getEndPosition(),V=rangeFromPositions$1(i,k);V.isEmpty()||(t+=e.getValueOfRange(V)),t+=g.text,i=L}const r=rangeFromPositions$1(i,e.endPositionExclusive);return r.isEmpty()||(t+=e.getValueOfRange(r)),t}applyToString(e){const t=new StringText$1(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,r=0;for(const g of this.edits){const y=TextLength$1.ofText(g.text),k=Position$3.lift({lineNumber:g.range.startLineNumber+i,column:g.range.startColumn+(g.range.startLineNumber===t?r:0)}),L=y.createRange(k);e.push(L),i=L.endLineNumber-g.range.endLineNumber,r=L.endColumn-g.range.endColumn,t=g.range.endLineNumber}return e}},SingleTextEdit$1=class{constructor(e,t){this.range=e,this.text=t}toSingleEditOperation(){return{range:this.range,text:this.text}}};function rangeFromPositions$1(n,e){if(n.lineNumber===e.lineNumber&&n.column===Number.MAX_SAFE_INTEGER)return Range$5.fromPositions(e,e);if(!n.isBeforeOrEqual(e))throw new BugIndicatingError$1("start must be before end");return new Range$5(n.lineNumber,n.column,e.lineNumber,e.column)}let AbstractText$1=class{get endPositionExclusive(){return this.length.addToPosition(new Position$3(1,1))}},StringText$1=class extends AbstractText$1{constructor(e){super(),this.value=e,this._t=new PositionOffsetTransformer$1(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}},LineRangeMapping$1=class Kl{static inverse(e,t,i){const r=[];let g=1,y=1;for(const L of e){const V=new Kl(new LineRange$3(g,L.original.startLineNumber),new LineRange$3(y,L.modified.startLineNumber));V.modified.isEmpty||r.push(V),g=L.original.endLineNumberExclusive,y=L.modified.endLineNumberExclusive}const k=new Kl(new LineRange$3(g,t+1),new LineRange$3(y,i+1));return k.modified.isEmpty||r.push(k),r}static clip(e,t,i){const r=[];for(const g of e){const y=g.original.intersect(t),k=g.modified.intersect(i);y&&!y.isEmpty&&k&&!k.isEmpty&&r.push(new Kl(y,k))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return"{".concat(this.original.toString(),"->").concat(this.modified.toString(),"}")}flip(){return new Kl(this.modified,this.original)}join(e){return new Kl(this.original.join(e.original),this.modified.join(e.modified))}toRangeMapping(){const e=this.original.toInclusiveRange(),t=this.modified.toInclusiveRange();if(e&&t)return new RangeMapping$1(e,t);if(this.original.startLineNumber===1||this.modified.startLineNumber===1){if(!(this.modified.startLineNumber===1&&this.original.startLineNumber===1))throw new BugIndicatingError$1("not a valid diff");return new RangeMapping$1(new Range$5(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$5(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1))}else return new RangeMapping$1(new Range$5(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),new Range$5(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER,this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER))}toRangeMapping2(e,t){if(isValidLineNumber(this.original.endLineNumberExclusive,e)&&isValidLineNumber(this.modified.endLineNumberExclusive,t))return new RangeMapping$1(new Range$5(this.original.startLineNumber,1,this.original.endLineNumberExclusive,1),new Range$5(this.modified.startLineNumber,1,this.modified.endLineNumberExclusive,1));if(!this.original.isEmpty&&!this.modified.isEmpty)return new RangeMapping$1(Range$5.fromPositions(new Position$3(this.original.startLineNumber,1),normalizePosition(new Position$3(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$5.fromPositions(new Position$3(this.modified.startLineNumber,1),normalizePosition(new Position$3(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));if(this.original.startLineNumber>1&&this.modified.startLineNumber>1)return new RangeMapping$1(Range$5.fromPositions(normalizePosition(new Position$3(this.original.startLineNumber-1,Number.MAX_SAFE_INTEGER),e),normalizePosition(new Position$3(this.original.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),e)),Range$5.fromPositions(normalizePosition(new Position$3(this.modified.startLineNumber-1,Number.MAX_SAFE_INTEGER),t),normalizePosition(new Position$3(this.modified.endLineNumberExclusive-1,Number.MAX_SAFE_INTEGER),t)));throw new BugIndicatingError$1}};function normalizePosition(n,e){if(n.lineNumber<1)return new Position$3(1,1);if(n.lineNumber>e.length)return new Position$3(e.length,e[e.length-1].length+1);const t=e[n.lineNumber-1];return n.column>t.length+1?new Position$3(n.lineNumber,t.length+1):n}function isValidLineNumber(n,e){return n>=1&&n<=e.length}let DetailedLineRangeMapping$1=class Ac extends LineRangeMapping$1{static fromRangeMappings(e){const t=LineRange$3.join(e.map(r=>LineRange$3.fromRangeInclusive(r.originalRange))),i=LineRange$3.join(e.map(r=>LineRange$3.fromRangeInclusive(r.modifiedRange)));return new Ac(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new Ac(this.modified,this.original,(e=this.innerChanges)==null?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new Ac(this.original,this.modified,[this.toRangeMapping()])}},RangeMapping$1=class Ou{static assertSorted(e){for(let t=1;t").concat(this.modifiedRange.toString(),"}")}flip(){return new Ou(this.modifiedRange,this.originalRange)}toTextEdit(e){const t=e.getValueOfRange(this.modifiedRange);return new SingleTextEdit$1(this.originalRange,t)}};const MINIMUM_MATCHING_CHARACTER_LENGTH$1=3;let LegacyLinesDiffComputer$1=class{computeDiff(e,t,i){var L;const g=new DiffComputer$1(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),y=[];let k=null;for(const V of g.changes){let z;V.originalEndLineNumber===0?z=new LineRange$3(V.originalStartLineNumber+1,V.originalStartLineNumber+1):z=new LineRange$3(V.originalStartLineNumber,V.originalEndLineNumber+1);let j;V.modifiedEndLineNumber===0?j=new LineRange$3(V.modifiedStartLineNumber+1,V.modifiedStartLineNumber+1):j=new LineRange$3(V.modifiedStartLineNumber,V.modifiedEndLineNumber+1);let ie=new DetailedLineRangeMapping$1(z,j,(L=V.charChanges)==null?void 0:L.map(oe=>new RangeMapping$1(new Range$5(oe.originalStartLineNumber,oe.originalStartColumn,oe.originalEndLineNumber,oe.originalEndColumn),new Range$5(oe.modifiedStartLineNumber,oe.modifiedStartColumn,oe.modifiedEndLineNumber,oe.modifiedEndColumn))));k&&(k.modified.endLineNumberExclusive===ie.modified.startLineNumber||k.original.endLineNumberExclusive===ie.original.startLineNumber)&&(ie=new DetailedLineRangeMapping$1(k.original.join(ie.original),k.modified.join(ie.modified),k.innerChanges&&ie.innerChanges?k.innerChanges.concat(ie.innerChanges):void 0),y.pop()),y.push(ie),k=ie}return assertFn$1(()=>checkAdjacentItems$1(y,(V,z)=>z.original.startLineNumber-V.original.endLineNumberExclusive===z.modified.startLineNumber-V.modified.endLineNumberExclusive&&V.original.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+"-(".concat(this._lineNumbers[t],",").concat(this._columns[t],")")).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}},CharChange$1=class Fu{constructor(e,t,i,r,g,y,k,L){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=r,this.modifiedStartLineNumber=g,this.modifiedStartColumn=y,this.modifiedEndLineNumber=k,this.modifiedEndColumn=L}static createFromDiffChange(e,t,i){const r=t.getStartLineNumber(e.originalStart),g=t.getStartColumn(e.originalStart),y=t.getEndLineNumber(e.originalStart+e.originalLength-1),k=t.getEndColumn(e.originalStart+e.originalLength-1),L=i.getStartLineNumber(e.modifiedStart),V=i.getStartColumn(e.modifiedStart),z=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),j=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new Fu(r,g,y,k,L,V,z,j)}};function postProcessCharChanges$1(n){if(n.length<=1)return n;const e=[n[0]];let t=e[0];for(let i=1,r=n.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&g()){const oe=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),re=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(oe.getElements().length>0&&re.getElements().length>0){let ae=computeDiff$1(oe,re,g,!0).changes;k&&(ae=postProcessCharChanges$1(ae)),ie=[];for(let le=0,de=ae.length;le1&&ae>1;){const le=ie.charCodeAt(re-2),de=oe.charCodeAt(ae-2);if(le!==de)break;re--,ae--}(re>1||ae>1)&&this._pushTrimWhitespaceCharChange(r,g+1,1,re,y+1,1,ae)}{let re=getLastNonBlankColumn$1(ie,1),ae=getLastNonBlankColumn$1(oe,1);const le=ie.length+1,de=oe.length+1;for(;re!0;const e=Date.now();return()=>Date.now()-e{i.push(Xo.fromOffsetPairs(r?r.getEndExclusives():OffsetPair$1.zero,g?g.getStarts():new OffsetPair$1(t,(r?r.seq2Range.endExclusive-r.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new Xo(new OffsetRange$1(e.offset1,t.offset1),new OffsetRange$1(e.offset2,t.offset2))}static assertSorted(e){let t;for(const i of e){if(t&&!(t.seq1Range.endExclusive<=i.seq1Range.start&&t.seq2Range.endExclusive<=i.seq2Range.start))throw new BugIndicatingError$1("Sequence diffs must be sorted");t=i}}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new Xo(this.seq2Range,this.seq1Range)}toString(){return"".concat(this.seq1Range," <-> ").concat(this.seq2Range)}join(e){return new Xo(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new Xo(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new Xo(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new Xo(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new Xo(t,i)}getStarts(){return new OffsetPair$1(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new OffsetPair$1(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}};var Ho;let OffsetPair$1=(Ho=class{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return"".concat(this.offset1," <-> ").concat(this.offset2)}delta(e){return e===0?this:new Ho(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}},Ho.zero=new Ho(0,0),Ho.max=new Ho(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),Ho);var xs;let InfiniteTimeout$1=(xs=class{isValid(){return!0}},xs.instance=new xs,xs),DateTimeout$1=class{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new BugIndicatingError$1("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime0&&ae>0&&y.get(re-1,ae-1)===3&&(ue+=k.get(re-1,ae-1)),ue+=r?r(re,ae):1):ue=-1;const he=Math.max(le,de,ue);if(he===ue){const pe=re>0&&ae>0?k.get(re-1,ae-1):0;k.set(re,ae,pe+1),y.set(re,ae,3)}else he===le?(k.set(re,ae,0),y.set(re,ae,1)):he===de&&(k.set(re,ae,0),y.set(re,ae,2));g.set(re,ae,he)}const L=[];let V=e.length,z=t.length;function j(re,ae){(re+1!==V||ae+1!==z)&&L.push(new SequenceDiff$1(new OffsetRange$1(re+1,V),new OffsetRange$1(ae+1,z))),V=re,z=ae}let ie=e.length-1,oe=t.length-1;for(;ie>=0&&oe>=0;)y.get(ie,oe)===3?(j(ie,oe),ie--,oe--):y.get(ie,oe)===1?ie--:oe--;return j(-1,-1),L.reverse(),new DiffAlgorithmResult$1(L,!1)}},MyersDiffAlgorithm$1=class{compute(e,t,i=InfiniteTimeout$1.instance){if(e.length===0||t.length===0)return DiffAlgorithmResult$1.trivial(e,t);const r=e,g=t;function y(ae,le){for(;aer.length||pe>g.length)continue;const Ce=y(he,pe);L.set(z,Ce);const $e=he===de?V.get(z+1):V.get(z-1);if(V.set(z,Ce!==he?new SnakePath$1($e,he,pe,Ce-he):$e),L.get(z)===r.length&&L.get(z)-z===g.length)break e}}let j=V.get(z);const ie=[];let oe=r.length,re=g.length;for(;;){const ae=j?j.x+j.length:0,le=j?j.y+j.length:0;if((ae!==oe||le!==re)&&ie.push(new SequenceDiff$1(new OffsetRange$1(ae,oe),new OffsetRange$1(le,re))),!j)break;oe=j.x,re=j.y,j=j.prev}return ie.reverse(),new DiffAlgorithmResult$1(ie,!1)}},SnakePath$1=class{constructor(e,t,i,r){this.prev=e,this.x=t,this.y=i,this.length=r}},FastInt32Array$1=class{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}},FastArrayNegativeIndices$1=class{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}},LinesSliceCharSequence$1=class{constructor(e,t,i){this.lines=e,this.range=t,this.considerWhitespaceChanges=i,this.elements=[],this.firstElementOffsetByLineIdx=[],this.lineStartOffsets=[],this.trimmedWsLengthsByLineIdx=[],this.firstElementOffsetByLineIdx.push(0);for(let r=this.range.startLineNumber;r<=this.range.endLineNumber;r++){let g=e[r-1],y=0;r===this.range.startLineNumber&&this.range.startColumn>1&&(y=this.range.startColumn-1,g=g.substring(y)),this.lineStartOffsets.push(y);let k=0;if(!i){const V=g.trimStart();k=g.length-V.length,g=V.trimEnd()}this.trimmedWsLengthsByLineIdx.push(k);const L=r===this.range.endLineNumber?Math.min(this.range.endColumn-1-y-k,g.length):g.length;for(let V=0;VString.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=getCategory$1(e>0?this.elements[e-1]:-1),i=getCategory$1(eg<=e),r=e-this.firstElementOffsetByLineIdx[i];return new Position$3(this.range.startLineNumber+i,1+this.lineStartOffsets[i]+r+(r===0&&t==="left"?0:this.trimmedWsLengthsByLineIdx[i]))}translateRange(e){const t=this.translateOffset(e.start,"right"),i=this.translateOffset(e.endExclusive,"left");return i.isBefore(t)?Range$5.fromPositions(i,i):Range$5.fromPositions(t,i)}findWordContaining(e){if(e<0||e>=this.elements.length||!isWordChar$1(this.elements[e]))return;let t=e;for(;t>0&&isWordChar$1(this.elements[t-1]);)t--;let i=e;for(;iy<=e.start))!=null?r:0,i=(g=findFirstMonotonous$1(this.firstElementOffsetByLineIdx,y=>e.endExclusive<=y))!=null?g:this.elements.length;return new OffsetRange$1(t,i)}};function isWordChar$1(n){return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57}const score$3={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function getCategoryBoundaryScore$1(n){return score$3[n]}function getCategory$1(n){return n===10?8:n===13?7:isSpace$2(n)?6:n>=97&&n<=122?0:n>=65&&n<=90?1:n>=48&&n<=57?2:n===-1?3:n===44||n===59?5:4}function computeMovedLines$1(n,e,t,i,r,g){let{moves:y,excludedChanges:k}=computeMovesFromSimpleDeletionsToSimpleInsertions$1(n,e,t,g);if(!g.isValid())return[];const L=n.filter(z=>!k.has(z)),V=computeUnchangedMoves$1(L,i,r,e,t,g);return pushMany$1(y,V),y=joinCloseConsecutiveMoves$1(y),y=y.filter(z=>{const j=z.original.toOffsetRange().slice(e).map(oe=>oe.trim());return j.join("\n").length>=15&&countWhere$1(j,oe=>oe.length>=2)>=2}),y=removeMovesInSameDiff$1(n,y),y}function countWhere$1(n,e){let t=0;for(const i of n)e(i)&&t++;return t}function computeMovesFromSimpleDeletionsToSimpleInsertions$1(n,e,t,i){const r=[],g=n.filter(L=>L.modified.isEmpty&&L.original.length>=3).map(L=>new LineRangeFragment$1(L.original,e,L)),y=new Set(n.filter(L=>L.original.isEmpty&&L.modified.length>=3).map(L=>new LineRangeFragment$1(L.modified,t,L))),k=new Set;for(const L of g){let V=-1,z;for(const j of y){const ie=L.computeSimilarity(j);ie>V&&(V=ie,z=j)}if(V>.9&&z&&(y.delete(z),r.push(new LineRangeMapping$1(L.range,z.range)),k.add(L.source),k.add(z.source)),!i.isValid())return{moves:r,excludedChanges:k}}return{moves:r,excludedChanges:k}}function computeUnchangedMoves$1(n,e,t,i,r,g){const y=[],k=new SetMap$1;for(const ie of n)for(let oe=ie.original.startLineNumber;oeie.modified.startLineNumber,numberComparator$1));for(const ie of n){let oe=[];for(let re=ie.modified.startLineNumber;re{for(const pe of oe)if(pe.originalLineRange.endLineNumberExclusive+1===ue.endLineNumberExclusive&&pe.modifiedLineRange.endLineNumberExclusive+1===le.endLineNumberExclusive){pe.originalLineRange=new LineRange$3(pe.originalLineRange.startLineNumber,ue.endLineNumberExclusive),pe.modifiedLineRange=new LineRange$3(pe.modifiedLineRange.startLineNumber,le.endLineNumberExclusive),de.push(pe);return}const he={modifiedLineRange:le,originalLineRange:ue};L.push(he),de.push(he)}),oe=de}if(!g.isValid())return[]}L.sort(reverseOrder$1(compareBy$1(ie=>ie.modifiedLineRange.length,numberComparator$1)));const V=new LineRangeSet$1,z=new LineRangeSet$1;for(const ie of L){const oe=ie.modifiedLineRange.startLineNumber-ie.originalLineRange.startLineNumber,re=V.subtractFrom(ie.modifiedLineRange),ae=z.subtractFrom(ie.originalLineRange).getWithDelta(oe),le=re.getIntersection(ae);for(const de of le.ranges){if(de.length<3)continue;const ue=de,he=de.delta(-oe);y.push(new LineRangeMapping$1(he,ue)),V.addRange(ue),z.addRange(he)}}y.sort(compareBy$1(ie=>ie.original.startLineNumber,numberComparator$1));const j=new MonotonousArray$1(n);for(let ie=0;ie$e.original.startLineNumber<=oe.original.startLineNumber),ae=findLastMonotonous$1(n,$e=>$e.modified.startLineNumber<=oe.modified.startLineNumber),le=Math.max(oe.original.startLineNumber-re.original.startLineNumber,oe.modified.startLineNumber-ae.modified.startLineNumber),de=j.findLastMonotonous($e=>$e.original.startLineNumber$e.modified.startLineNumberi.length||xe>r.length||V.contains(xe)||z.contains($e)||!areLinesSimilar$1(i[$e-1],r[xe-1],g))break}pe>0&&(z.addRange(new LineRange$3(oe.original.startLineNumber-pe,oe.original.startLineNumber)),V.addRange(new LineRange$3(oe.modified.startLineNumber-pe,oe.modified.startLineNumber)));let Ce;for(Ce=0;Cei.length||xe>r.length||V.contains(xe)||z.contains($e)||!areLinesSimilar$1(i[$e-1],r[xe-1],g))break}Ce>0&&(z.addRange(new LineRange$3(oe.original.endLineNumberExclusive,oe.original.endLineNumberExclusive+Ce)),V.addRange(new LineRange$3(oe.modified.endLineNumberExclusive,oe.modified.endLineNumberExclusive+Ce))),(pe>0||Ce>0)&&(y[ie]=new LineRangeMapping$1(new LineRange$3(oe.original.startLineNumber-pe,oe.original.endLineNumberExclusive+Ce),new LineRange$3(oe.modified.startLineNumber-pe,oe.modified.endLineNumberExclusive+Ce)))}return y}function areLinesSimilar$1(n,e,t){if(n.trim()===e.trim())return!0;if(n.length>300&&e.length>300)return!1;const r=new MyersDiffAlgorithm$1().compute(new LinesSliceCharSequence$1([n],new Range$5(1,1,1,n.length),!1),new LinesSliceCharSequence$1([e],new Range$5(1,1,1,e.length),!1),t);let g=0;const y=SequenceDiff$1.invert(r.diffs,n.length);for(const z of y)z.seq1Range.forEach(j=>{isSpace$2(n.charCodeAt(j))||g++});function k(z){let j=0;for(let ie=0;iee.length?n:e);return g/L>.6&&L>10}function joinCloseConsecutiveMoves$1(n){if(n.length===0)return n;n.sort(compareBy$1(t=>t.original.startLineNumber,numberComparator$1));const e=[n[0]];for(let t=1;t=0&&y>=0&&g+y<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function removeMovesInSameDiff$1(n,e){const t=new MonotonousArray$1(n);return e=e.filter(i=>{const r=t.findLastMonotonous(k=>k.original.startLineNumberk.modified.startLineNumber0&&(k=k.delta(V))}r.push(k)}return i.length>0&&r.push(i[i.length-1]),r}function shiftSequenceDiffs$1(n,e,t){if(!n.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i0?t[i-1]:void 0,g=t[i],y=i+1=i.start&&n.seq2Range.start-y>=r.start&&t.isStronglyEqual(n.seq2Range.start-y,n.seq2Range.endExclusive-y)&&y<100;)y++;y--;let k=0;for(;n.seq1Range.start+kV&&(V=re,L=z)}return n.delta(L)}function removeShortMatches$1(n,e,t){const i=[];for(const r of t){const g=i[i.length-1];if(!g){i.push(r);continue}r.seq1Range.start-g.seq1Range.endExclusive<=2||r.seq2Range.start-g.seq2Range.endExclusive<=2?i[i.length-1]=new SequenceDiff$1(g.seq1Range.join(r.seq1Range),g.seq2Range.join(r.seq2Range)):i.push(r)}return i}function extendDiffsToEntireWordIfAppropriate$1(n,e,t){const i=SequenceDiff$1.invert(t,n.length),r=[];let g=new OffsetPair$1(0,0);function y(L,V){if(L.offset10;){const le=i[0];if(!(le.seq1Range.intersects(ie.seq1Range)||le.seq2Range.intersects(ie.seq2Range)))break;const ue=n.findWordContaining(le.seq1Range.start),he=e.findWordContaining(le.seq2Range.start),pe=new SequenceDiff$1(ue,he),Ce=pe.intersect(le);if(re+=Ce.seq1Range.length,ae+=Ce.seq2Range.length,ie=ie.join(pe),ie.seq1Range.endExclusive>=le.seq1Range.endExclusive)i.shift();else break}re+ae<(ie.seq1Range.length+ie.seq2Range.length)*2/3&&r.push(ie),g=ie.getEndExclusives()}for(;i.length>0;){const L=i.shift();L.seq1Range.isEmpty||(y(L.getStarts(),L),y(L.getEndExclusives().delta(-1),L))}return mergeSequenceDiffs$1(t,r)}function mergeSequenceDiffs$1(n,e){const t=[];for(;n.length>0||e.length>0;){const i=n[0],r=e[0];let g;i&&(!r||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=g.seq1Range.start?t[t.length-1]=t[t.length-1].join(g):t.push(g)}return t}function removeVeryShortMatchingLinesBetweenDiffs$1(n,e,t){let i=t;if(i.length===0)return i;let r=0,g;do{g=!1;const y=[i[0]];for(let k=1;k5||oe.seq1Range.length+oe.seq2Range.length>5)};const L=i[k],V=y[y.length-1];z(V,L)?(g=!0,y[y.length-1]=y[y.length-1].join(L)):y.push(L)}i=y}while(r++<10&&g);return i}function removeVeryShortMatchingTextBetweenLongDiffs$1(n,e,t){let i=t;if(i.length===0)return i;let r=0,g;do{g=!1;const k=[i[0]];for(let L=1;L5||ae.length>500)return!1;const de=n.getText(ae).trim();if(de.length>20||de.split(/\r\n|\r|\n/).length>1)return!1;const ue=n.countLinesIn(oe.seq1Range),he=oe.seq1Range.length,pe=e.countLinesIn(oe.seq2Range),Ce=oe.seq2Range.length,$e=n.countLinesIn(re.seq1Range),xe=re.seq1Range.length,Ie=e.countLinesIn(re.seq2Range),Ne=re.seq2Range.length,Fe=2*40+50;function Ve(Oe){return Math.min(Oe,Fe)}return Math.pow(Math.pow(Ve(ue*40+he),1.5)+Math.pow(Ve(pe*40+Ce),1.5),1.5)+Math.pow(Math.pow(Ve($e*40+xe),1.5)+Math.pow(Ve(Ie*40+Ne),1.5),1.5)>(Fe**1.5)**1.5*1.3};const V=i[L],z=k[k.length-1];j(z,V)?(g=!0,k[k.length-1]=k[k.length-1].join(V)):k.push(V)}i=k}while(r++<10&&g);const y=[];return forEachWithNeighbors$1(i,(k,L,V)=>{let z=L;function j(de){return de.length>0&&de.trim().length<=3&&L.seq1Range.length+L.seq2Range.length>100}const ie=n.extendToFullLines(L.seq1Range),oe=n.getText(new OffsetRange$1(ie.start,L.seq1Range.start));j(oe)&&(z=z.deltaStart(-oe.length));const re=n.getText(new OffsetRange$1(L.seq1Range.endExclusive,ie.endExclusive));j(re)&&(z=z.deltaEnd(re.length));const ae=SequenceDiff$1.fromOffsetPairs(k?k.getEndExclusives():OffsetPair$1.zero,V?V.getStarts():OffsetPair$1.max),le=z.intersect(ae);y.length>0&&le.getStarts().equals(y[y.length-1].getEndExclusives())?y[y.length-1]=y[y.length-1].join(le):y.push(le)}),y}let LineSequence$2=class{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:getIndentation$1(this.lines[e-1]),i=e===this.lines.length?0:getIndentation$1(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}};function getIndentation$1(n){let e=0;for(;eCe===$e))return new LinesDiff$1([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new LinesDiff$1([new DetailedLineRangeMapping$1(new LineRange$3(1,e.length+1),new LineRange$3(1,t.length+1),[new RangeMapping$1(new Range$5(1,1,e.length,e[e.length-1].length+1),new Range$5(1,1,t.length,t[t.length-1].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?InfiniteTimeout$1.instance:new DateTimeout$1(i.maxComputationTimeMs),g=!i.ignoreTrimWhitespace,y=new Map;function k(Ce){let $e=y.get(Ce);return $e===void 0&&($e=y.size,y.set(Ce,$e)),$e}const L=e.map(Ce=>k(Ce.trim())),V=t.map(Ce=>k(Ce.trim())),z=new LineSequence$2(L,e),j=new LineSequence$2(V,t),ie=z.length+j.length<1700?this.dynamicProgrammingDiffing.compute(z,j,r,(Ce,$e)=>e[Ce]===t[$e]?t[$e].length===0?.1:1+Math.log(1+t[$e].length):.99):this.myersDiffingAlgorithm.compute(z,j,r);let oe=ie.diffs,re=ie.hitTimeout;oe=optimizeSequenceDiffs$1(z,j,oe),oe=removeVeryShortMatchingLinesBetweenDiffs$1(z,j,oe);const ae=[],le=Ce=>{if(g)for(let $e=0;$eCe.seq1Range.start-de===Ce.seq2Range.start-ue);const $e=Ce.seq1Range.start-de;le($e),de=Ce.seq1Range.endExclusive,ue=Ce.seq2Range.endExclusive;const xe=this.refineDiff(e,t,Ce,r,g);xe.hitTimeout&&(re=!0);for(const Ie of xe.mappings)ae.push(Ie)}le(e.length-de);const he=lineRangeMappingFromRangeMappings$1(ae,e,t);let pe=[];return i.computeMoves&&(pe=this.computeMoves(he,e,t,L,V,r,g)),assertFn$1(()=>{function Ce(xe,Ie){if(xe.lineNumber<1||xe.lineNumber>Ie.length)return!1;const Ne=Ie[xe.lineNumber-1];return!(xe.column<1||xe.column>Ne.length+1)}function $e(xe,Ie){return!(xe.startLineNumber<1||xe.startLineNumber>Ie.length+1||xe.endLineNumberExclusive<1||xe.endLineNumberExclusive>Ie.length+1)}for(const xe of he){if(!xe.innerChanges)return!1;for(const Ie of xe.innerChanges)if(!(Ce(Ie.modifiedRange.getStartPosition(),t)&&Ce(Ie.modifiedRange.getEndPosition(),t)&&Ce(Ie.originalRange.getStartPosition(),e)&&Ce(Ie.originalRange.getEndPosition(),e)))return!1;if(!$e(xe.modified,t)||!$e(xe.original,e))return!1}return!0}),new LinesDiff$1(he,pe,re)}computeMoves(e,t,i,r,g,y,k){return computeMovedLines$1(e,t,i,r,g,y).map(z=>{const j=this.refineDiff(t,i,new SequenceDiff$1(z.original.toOffsetRange(),z.modified.toOffsetRange()),y,k),ie=lineRangeMappingFromRangeMappings$1(j.mappings,t,i,!0);return new MovedText$1(z,ie)})}refineDiff(e,t,i,r,g){const k=toLineRangeMapping(i).toRangeMapping2(e,t),L=new LinesSliceCharSequence$1(e,k.originalRange,g),V=new LinesSliceCharSequence$1(t,k.modifiedRange,g),z=L.length+V.length<500?this.dynamicProgrammingDiffing.compute(L,V,r):this.myersDiffingAlgorithm.compute(L,V,r);let j=z.diffs;return j=optimizeSequenceDiffs$1(L,V,j),j=extendDiffsToEntireWordIfAppropriate$1(L,V,j),j=removeShortMatches$1(L,V,j),j=removeVeryShortMatchingTextBetweenLongDiffs$1(L,V,j),{mappings:j.map(oe=>new RangeMapping$1(L.translateRange(oe.seq1Range),V.translateRange(oe.seq2Range))),hitTimeout:z.hitTimeout}}};function lineRangeMappingFromRangeMappings$1(n,e,t,i=!1){const r=[];for(const g of groupAdjacentBy$1(n.map(y=>getLineRangeMapping$1(y,e,t)),(y,k)=>y.original.overlapOrTouch(k.original)||y.modified.overlapOrTouch(k.modified))){const y=g[0],k=g[g.length-1];r.push(new DetailedLineRangeMapping$1(y.original.join(k.original),y.modified.join(k.modified),g.map(L=>L.innerChanges[0])))}return assertFn$1(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||t.length-r[r.length-1].modified.endLineNumberExclusive!==e.length-r[r.length-1].original.endLineNumberExclusive)?!1:checkAdjacentItems$1(r,(g,y)=>y.original.startLineNumber-g.original.endLineNumberExclusive===y.modified.startLineNumber-g.modified.endLineNumberExclusive&&g.original.endLineNumberExclusive=t[n.modifiedRange.startLineNumber-1].length&&n.originalRange.startColumn-1>=e[n.originalRange.startLineNumber-1].length&&n.originalRange.startLineNumber<=n.originalRange.endLineNumber+r&&n.modifiedRange.startLineNumber<=n.modifiedRange.endLineNumber+r&&(i=1);const g=new LineRange$3(n.originalRange.startLineNumber+i,n.originalRange.endLineNumber+1+r),y=new LineRange$3(n.modifiedRange.startLineNumber+i,n.modifiedRange.endLineNumber+1+r);return new DetailedLineRangeMapping$1(g,y,[n])}function toLineRangeMapping(n){return new LineRangeMapping$1(new LineRange$3(n.seq1Range.start+1,n.seq1Range.endExclusive+1),new LineRange$3(n.seq2Range.start+1,n.seq2Range.endExclusive+1))}const linesDiffComputers$1={getLegacy:()=>new LegacyLinesDiffComputer$1,getDefault:()=>new DefaultLinesDiffComputer$1};function roundFloat$1(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}let RGBA$2=class{constructor(e,t,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=roundFloat$1(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},HSLA$2=class Cc{constructor(e,t,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=roundFloat$1(Math.max(Math.min(1,t),0),3),this.l=roundFloat$1(Math.max(Math.min(1,i),0),3),this.a=roundFloat$1(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,g=e.a,y=Math.max(t,i,r),k=Math.min(t,i,r);let L=0,V=0;const z=(k+y)/2,j=y-k;if(j>0){switch(V=Math.min(z<=.5?j/(2*z):j/(2-2*z),1),y){case t:L=(i-r)/j+(i1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:r,a:g}=e;let y,k,L;if(i===0)y=k=L=r;else{const V=r<.5?r*(1+i):r+i-r*i,z=2*r-V;y=Cc._hue2rgb(z,V,t+1/3),k=Cc._hue2rgb(z,V,t),L=Cc._hue2rgb(z,V,t-1/3)}return new RGBA$2(Math.round(y*255),Math.round(k*255),Math.round(L*255),g)}},HSVA$1=class Wu{constructor(e,t,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=roundFloat$1(Math.max(Math.min(1,t),0),3),this.v=roundFloat$1(Math.max(Math.min(1,i),0),3),this.a=roundFloat$1(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,g=Math.max(t,i,r),y=Math.min(t,i,r),k=g-y,L=g===0?0:k/g;let V;return k===0?V=0:g===t?V=((i-r)/k%6+6)%6:g===i?V=(r-t)/k+2:V=(t-i)/k+4,new Wu(Math.round(V*60),L,g,e.a)}static toRGBA(e){const{h:t,s:i,v:r,a:g}=e,y=r*i,k=y*(1-Math.abs(t/60%2-1)),L=r-y;let[V,z,j]=[0,0,0];return t<60?(V=y,z=k):t<120?(V=k,z=y):t<180?(z=y,j=k):t<240?(z=k,j=y):t<300?(V=k,j=y):t<=360&&(V=y,j=k),V=Math.round((V+L)*255),z=Math.round((z+L)*255),j=Math.round((j+L)*255),new RGBA$2(V,z,j,g)}};var Mn;let Color$2=(Mn=class{static fromHex(e){return Mn.Format.CSS.parseHex(e)||Mn.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:HSLA$2.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:HSVA$1.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof RGBA$2)this.rgba=e;else if(e instanceof HSLA$2)this._hsla=e,this.rgba=HSLA$2.toRGBA(e);else if(e instanceof HSVA$1)this._hsva=e,this.rgba=HSVA$1.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&RGBA$2.equals(this.rgba,e.rgba)&&HSLA$2.equals(this.hsla,e.hsla)&&HSVA$1.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=Mn._relativeLuminanceForComponent(this.rgba.r),t=Mn._relativeLuminanceForComponent(this.rgba.g),i=Mn._relativeLuminanceForComponent(this.rgba.b),r=.2126*e+.7152*t+.0722*i;return roundFloat$1(r,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t0)for(const r of i){const g=r.filter(V=>V!==void 0),y=g[1],k=g[2];if(!k)continue;let L;if(y==="rgb"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;L=_findRGBColorInformation$1(_findRange$1(n,r),_findMatches$1(k,V),!1)}else if(y==="rgba"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;L=_findRGBColorInformation$1(_findRange$1(n,r),_findMatches$1(k,V),!0)}else if(y==="hsl"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;L=_findHSLColorInformation$1(_findRange$1(n,r),_findMatches$1(k,V),!1)}else if(y==="hsla"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;L=_findHSLColorInformation$1(_findRange$1(n,r),_findMatches$1(k,V),!0)}else y==="#"&&(L=_findHexColorInformation$1(_findRange$1(n,r),y+k));L&&e.push(L)}return e}function computeDefaultDocumentColors$1(n){return!n||typeof n.getValue!="function"||typeof n.positionAt!="function"?[]:computeColors$1(n)}const markRegex$1=new RegExp("\\bMARK:\\s*(.*)$","d"),trimDashesRegex$1=/^-+|-+$/g;function findSectionHeaders$1(n,e){var i;let t=[];if(e.findRegionSectionHeaders&&((i=e.foldingRules)!=null&&i.markers)){const r=collectRegionHeaders$1(n,e);t=t.concat(r)}if(e.findMarkSectionHeaders){const r=collectMarkHeaders$1(n);t=t.concat(r)}return t}function collectRegionHeaders$1(n,e){const t=[],i=n.getLineCount();for(let r=1;r<=i;r++){const g=n.getLineContent(r),y=g.match(e.foldingRules.markers.start);if(y){const k={startLineNumber:r,startColumn:y[0].length+1,endLineNumber:r,endColumn:g.length+1};if(k.endColumn>k.startColumn){const L={range:k,...getHeaderText$1(g.substring(y[0].length)),shouldBeInComments:!1};(L.text||L.hasSeparatorLine)&&t.push(L)}}}return t}function collectMarkHeaders$1(n){const e=[],t=n.getLineCount();for(let i=1;i<=t;i++){const r=n.getLineContent(i);addMarkHeaderIfFound$1(r,i,e)}return e}function addMarkHeaderIfFound$1(n,e,t){markRegex$1.lastIndex=0;const i=markRegex$1.exec(n);if(i){const r=i.indices[1][0]+1,g=i.indices[1][1]+1,y={startLineNumber:e,startColumn:r,endLineNumber:e,endColumn:g};if(y.endColumn>y.startColumn){const k={range:y,...getHeaderText$1(i[1]),shouldBeInComments:!0};(k.text||k.hasSeparatorLine)&&t.push(k)}}}function getHeaderText$1(n){n=n.trim();const e=n.startsWith("-");return n=n.replace(trimDashesRegex$1,""),{text:n,hasSeparatorLine:e}}let PrefixSumComputer$1=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=toUint32$1(e);const i=this.values,r=this.prefixSum,g=t.length;return g===0?!1:(this.values=new Uint32Array(i.length+g),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+g),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=toUint32$1(e),t=toUint32$1(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const g=i.length-e;return t>=g&&(t=g),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=toUint32$1(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,r=0,g=0,y=0;for(;t<=i;)if(r=t+(i-t)/2|0,g=this.prefixSum[r],y=g-this.values[r],e=g)t=r+1;else break;return new PrefixSumIndexOfResult$1(r,e-y)}},ConstantTimePrefixSumComputer$1=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new PrefixSumIndexOfResult$1(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=arrayInsert$1(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=r+i;for(let g=0;gthis._checkStopModelSync(),Math.round(STOP_SYNC_MODEL_DELTA_TIME_MS$1/2)),this._register(r)}}dispose(){for(const e in this._syncedModels)dispose$1(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t=!1){for(const i of e){const r=i.toString();this._syncedModels[r]||this._beginModelSync(i,t),this._syncedModels[r]&&(this._syncedModelsLastUsedTime[r]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>STOP_SYNC_MODEL_DELTA_TIME_MS$1&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const r=e.toString();this._proxy.$acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const g=new DisposableStore$1;g.add(i.onDidChangeContent(y=>{this._proxy.$acceptModelChanged(r.toString(),y)})),g.add(i.onWillDispose(()=>{this._stopModelSync(r)})),g.add(toDisposable$1(()=>{this._proxy.$acceptRemovedModel(r)})),this._syncedModels[r]=g}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],dispose$1(t)}}class WorkerTextModelSyncServer{constructor(){this._models=Object.create(null)}getModel(e){return this._models[e]}getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}$acceptNewModel(e){this._models[e.url]=new MirrorModel$1(URI$1.parse(e.url),e.lines,e.EOL,e.versionId)}$acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}$acceptRemovedModel(e){this._models[e]&&delete this._models[e]}}let MirrorModel$1=class extends MirrorTextModel$1{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,r=!0;else{const g=this._lines[t-1].length+1;i<1?(i=1,r=!0):i>g&&(i=g,r=!0)}return r?{lineNumber:t,column:i}:e}};const td=class td{constructor(){this._workerTextModelSyncServer=new WorkerTextModelSyncServer}dispose(){}_getModel(e){return this._workerTextModelSyncServer.getModel(e)}_getModels(){return this._workerTextModelSyncServer.getModels()}$acceptNewModel(e){this._workerTextModelSyncServer.$acceptNewModel(e)}$acceptModelChanged(e,t){this._workerTextModelSyncServer.$acceptModelChanged(e,t)}$acceptRemovedModel(e){this._workerTextModelSyncServer.$acceptRemovedModel(e)}async $computeUnicodeHighlights(e,t,i){const r=this._getModel(e);return r?UnicodeTextModelHighlighter$1.computeUnicodeHighlights(r,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async $findSectionHeaders(e,t){const i=this._getModel(e);return i?findSectionHeaders$1(i,t):[]}async $computeDiff(e,t,i,r){const g=this._getModel(e),y=this._getModel(t);return!g||!y?null:EditorSimpleWorker$1.computeDiff(g,y,i,r)}static computeDiff(e,t,i,r){const g=r==="advanced"?linesDiffComputers$1.getDefault():linesDiffComputers$1.getLegacy(),y=e.getLinesContent(),k=t.getLinesContent(),L=g.computeDiff(y,k,i),V=L.changes.length>0?!1:this._modelsAreIdentical(e,t);function z(j){return j.map(ie=>{var oe;return[ie.original.startLineNumber,ie.original.endLineNumberExclusive,ie.modified.startLineNumber,ie.modified.endLineNumberExclusive,(oe=ie.innerChanges)==null?void 0:oe.map(re=>[re.originalRange.startLineNumber,re.originalRange.startColumn,re.originalRange.endLineNumber,re.originalRange.endColumn,re.modifiedRange.startLineNumber,re.modifiedRange.startColumn,re.modifiedRange.endLineNumber,re.modifiedRange.endColumn])]})}return{identical:V,quitEarly:L.hitTimeout,changes:z(L.changes),moves:L.moves.map(j=>[j.lineRangeMapping.original.startLineNumber,j.lineRangeMapping.original.endLineNumberExclusive,j.lineRangeMapping.modified.startLineNumber,j.lineRangeMapping.modified.endLineNumberExclusive,z(j.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),r=t.getLineCount();if(i!==r)return!1;for(let g=1;g<=i;g++){const y=e.getLineContent(g),k=t.getLineContent(g);if(y!==k)return!1}return!0}async $computeMoreMinimalEdits(e,t,i){const r=this._getModel(e);if(!r)return t;const g=[];let y;t=t.slice(0).sort((L,V)=>{if(L.range&&V.range)return Range$5.compareRangesUsingStarts(L.range,V.range);const z=L.range?0:1,j=V.range?0:1;return z-j});let k=0;for(let L=1;LEditorSimpleWorker$1._diffLimit){g.push({range:L,text:V});continue}const ie=stringDiff$1(j,V,i),oe=r.offsetAt(Range$5.lift(L).getStartPosition());for(const re of ie){const ae=r.positionAt(oe+re.originalStart),le=r.positionAt(oe+re.originalStart+re.originalLength),de={text:V.substr(re.modifiedStart,re.modifiedLength),range:{startLineNumber:ae.lineNumber,startColumn:ae.column,endLineNumber:le.lineNumber,endColumn:le.column}};r.getValueInRange(de.range)!==de.text&&g.push(de)}}return typeof y=="number"&&g.push({eol:y,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),g}async $computeLinks(e){const t=this._getModel(e);return t?computeLinks$1(t):null}async $computeDefaultDocumentColors(e){const t=this._getModel(e);return t?computeDefaultDocumentColors$1(t):null}async $textualSuggest(e,t,i,r){const g=new StopWatch$1,y=new RegExp(i,r),k=new Set;e:for(const L of e){const V=this._getModel(L);if(V){for(const z of V.words(y))if(!(z===t||!isNaN(Number(z)))&&(k.add(z),k.size>EditorSimpleWorker$1._suggestionsLimit))break e}}return{words:Array.from(k),duration:g.elapsed()}}async $computeWordRanges(e,t,i,r){const g=this._getModel(e);if(!g)return Object.create(null);const y=new RegExp(i,r),k=Object.create(null);for(let L=t.startLineNumber;Lthis._host.$fhr(k,L)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(y,t),Promise.resolve(getAllMethodNames$1(this._foreignModule))):new Promise((k,L)=>{const V=z=>{this._foreignModule=z.create(y,t),k(getAllMethodNames$1(this._foreignModule))};{const z=FileAccess$1.asBrowserUri("".concat(e,".js")).toString(!0);__vitePreload(()=>import("".concat(z)),[]).then(V).catch(L)}})}$fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}};typeof importScripts=="function"&&(globalThis.monaco=createMonacoBaseAPI$1());const ITextResourceConfigurationService$1=createDecorator$1("textResourceConfigurationService"),ITextResourcePropertiesService$1=createDecorator$1("textResourcePropertiesService"),ILanguageFeaturesService$1=createDecorator$1("ILanguageFeaturesService");var __decorate$53=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4P=function(n,e){return function(t,i){e(t,i,n)}};const STOP_WORKER_DELTA_TIME_MS$1=5*60*1e3;function canSyncModel$1(n,e){const t=n.getModel(e);return!(!t||t.isTooLargeForSyncing())}let EditorWorkerService$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._languageConfigurationService=g,this._modelService=t,this._workerManager=this._register(new WorkerManager$1(e,this._modelService)),this._logService=r,this._register(y.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:async(k,L)=>{if(!canSyncModel$1(this._modelService,k.uri))return Promise.resolve({links:[]});const z=await(await this._workerWithResources([k.uri])).$computeLinks(k.uri.toString());return z&&{links:z}}})),this._register(y.completionProvider.register("*",new WordBasedCompletionItemProvider$1(this._workerManager,i,this._modelService,this._languageConfigurationService)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return canSyncModel$1(this._modelService,e)}async computedUnicodeHighlights(e,t,i){return(await this._workerWithResources([e])).$computeUnicodeHighlights(e.toString(),t,i)}async computeDiff(e,t,i,r){const y=await(await this._workerWithResources([e,t],!0)).$computeDiff(e.toString(),t.toString(),i,r);if(!y)return null;return{identical:y.identical,quitEarly:y.quitEarly,changes:L(y.changes),moves:y.moves.map(V=>new MovedText$1(new LineRangeMapping$1(new LineRange$3(V[0],V[1]),new LineRange$3(V[2],V[3])),L(V[4])))};function L(V){return V.map(z=>{var j;return new DetailedLineRangeMapping$1(new LineRange$3(z[0],z[1]),new LineRange$3(z[2],z[3]),(j=z[4])==null?void 0:j.map(ie=>new RangeMapping$1(new Range$5(ie[0],ie[1],ie[2],ie[3]),new Range$5(ie[4],ie[5],ie[6],ie[7]))))})}}async computeMoreMinimalEdits(e,t,i=!1){if(isNonEmptyArray$1(t)){if(!canSyncModel$1(this._modelService,e))return Promise.resolve(t);const r=StopWatch$1.create(),g=this._workerWithResources([e]).then(y=>y.$computeMoreMinimalEdits(e.toString(),t,i));return g.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),r.elapsed())),Promise.race([g,timeout$1(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return canSyncModel$1(this._modelService,e)}async navigateValueSet(e,t,i){const r=this._modelService.getModel(e);if(!r)return null;const g=this._languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),y=g.source,k=g.flags;return(await this._workerWithResources([e])).$navigateValueSet(e.toString(),t,i,y,k)}canComputeWordRanges(e){return canSyncModel$1(this._modelService,e)}async computeWordRanges(e,t){const i=this._modelService.getModel(e);if(!i)return Promise.resolve(null);const r=this._languageConfigurationService.getLanguageConfiguration(i.getLanguageId()).getWordDefinition(),g=r.source,y=r.flags;return(await this._workerWithResources([e])).$computeWordRanges(e.toString(),t,g,y)}async findSectionHeaders(e,t){return(await this._workerWithResources([e])).$findSectionHeaders(e.toString(),t)}async computeDefaultDocumentColors(e){return(await this._workerWithResources([e])).$computeDefaultDocumentColors(e.toString())}async _workerWithResources(e,t=!1){return await(await this._workerManager.withWorker()).workerWithSyncedResources(e,t)}};EditorWorkerService$1=__decorate$53([__param$4P(1,IModelService$1),__param$4P(2,ITextResourceConfigurationService$1),__param$4P(3,ILogService$1),__param$4P(4,ILanguageConfigurationService$1),__param$4P(5,ILanguageFeaturesService$1)],EditorWorkerService$1);let WordBasedCompletionItemProvider$1=class{constructor(e,t,i,r){this.languageConfigurationService=r,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const r=[];if(i.wordBasedSuggestions==="currentDocument")canSyncModel$1(this._modelService,e.uri)&&r.push(e.uri);else for(const j of this._modelService.getModels())canSyncModel$1(this._modelService,j.uri)&&(j===e?r.unshift(j.uri):(i.wordBasedSuggestions==="allDocuments"||j.getLanguageId()===e.getLanguageId())&&r.push(j.uri));if(r.length===0)return;const g=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),y=e.getWordAtPosition(t),k=y?new Range$5(t.lineNumber,y.startColumn,t.lineNumber,y.endColumn):Range$5.fromPositions(t),L=k.setEndPosition(t.lineNumber,t.column),z=await(await this._workerManager.withWorker()).textualSuggest(r,y==null?void 0:y.word,g);if(z)return{duration:z.duration,suggestions:z.words.map(j=>({kind:18,label:j,insertText:j,range:{insert:L,replace:k}}))}}},WorkerManager$1=class extends Disposable$1{constructor(e,t){super(),this._workerDescriptor=e,this._modelService=t,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new WindowIntervalTimer$1).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(STOP_WORKER_DELTA_TIME_MS$1/2),mainWindow$1),this._register(this._modelService.onModelRemoved(r=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>STOP_WORKER_DELTA_TIME_MS$1&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new EditorWorkerClient$1(this._workerDescriptor,!1,this._modelService)),Promise.resolve(this._editorWorkerClient)}};WorkerManager$1=__decorate$53([__param$4P(1,IModelService$1)],WorkerManager$1);let SynchronousWorkerClient$1=class{constructor(e){this._instance=e,this.proxy=this._instance}dispose(){this._instance.dispose()}setChannel(e,t){throw new Error("Not supported")}},EditorWorkerClient$1=class extends Disposable$1{constructor(e,t,i){super(),this._workerDescriptor=e,this._disposed=!1,this._modelService=i,this._keepIdleModels=t,this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(createWebWorker$4(this._workerDescriptor)),EditorWorkerHost$1.setChannel(this._worker,this._createEditorWorkerHost())}catch(e){logOnceWebWorkerWarning$1(e),this._worker=this._createFallbackLocalWorker()}return this._worker}async _getProxy(){try{const e=this._getOrCreateWorker().proxy;return await e.$ping(),e}catch(e){return logOnceWebWorkerWarning$1(e),this._worker=this._createFallbackLocalWorker(),this._worker.proxy}}_createFallbackLocalWorker(){return new SynchronousWorkerClient$1(new EditorSimpleWorker$1(this._createEditorWorkerHost(),null))}_createEditorWorkerHost(){return{$fhr:(e,t)=>this.fhr(e,t)}}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new WorkerTextModelSyncClient(e,this._modelService,this._keepIdleModels))),this._modelManager}async workerWithSyncedResources(e,t=!1){if(this._disposed)return Promise.reject(canceled$1());const i=await this._getProxy();return this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i}async textualSuggest(e,t,i){const r=await this.workerWithSyncedResources(e),g=i.source,y=i.flags;return r.$textualSuggest(e.map(k=>k.toString()),t,g,y)}dispose(){super.dispose(),this._disposed=!0}};EditorWorkerClient$1=__decorate$53([__param$4P(2,IModelService$1)],EditorWorkerClient$1);var ColorScheme$1;(function(n){n.DARK="dark",n.LIGHT="light",n.HIGH_CONTRAST_DARK="hcDark",n.HIGH_CONTRAST_LIGHT="hcLight"})(ColorScheme$1||(ColorScheme$1={}));function isHighContrast$1(n){return n===ColorScheme$1.HIGH_CONTRAST_DARK||n===ColorScheme$1.HIGH_CONTRAST_LIGHT}function isDark$1(n){return n===ColorScheme$1.DARK||n===ColorScheme$1.HIGH_CONTRAST_DARK}const IThemeService$1=createDecorator$1("themeService");function themeColorFromId$1(n){return{id:n}}function getThemeTypeSelector$1(n){switch(n){case ColorScheme$1.DARK:return"vs-dark";case ColorScheme$1.HIGH_CONTRAST_DARK:return"hc-black";case ColorScheme$1.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Extensions$e={ThemingContribution:"base.contributions.theming"};let ThemingRegistry$1=class{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new Emitter$3}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),toDisposable$1(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}};const themingRegistry$3=new ThemingRegistry$1;Registry$1.add(Extensions$e.ThemingContribution,themingRegistry$3);function registerThemingParticipant$1(n){return themingRegistry$3.onColorThemeChange(n)}let Themable$1=class extends Disposable$1{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(t=>this.onThemeChange(t)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}};var __decorate$52=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4O=function(n,e){return function(t,i){e(t,i,n)}};let AbstractCodeEditorService$1=class extends Disposable$1{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new Emitter$3),this._onCodeEditorAdd=this._register(new Emitter$3),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new Emitter$3),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new Emitter$3),this._onDiffEditorAdd=this._register(new Emitter$3),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new Emitter$3),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new LinkedList$1,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(i=>i.removeDecorationsByType(e))))}setModelProperty(e,t,i){const r=e.toString();let g;this._modelProperties.has(r)?g=this._modelProperties.get(r):(g=new Map,this._modelProperties.set(r,g)),g.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i))return this._modelProperties.get(i).get(t)}async openCodeEditor(e,t,i){for(const r of this._codeEditorOpenHandlers){const g=await r(e,t,i);if(g!==null)return g}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return toDisposable$1(t)}};AbstractCodeEditorService$1=__decorate$52([__param$4O(0,IThemeService$1)],AbstractCodeEditorService$1);var __decorate$51=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4N=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneCodeEditorService$1=class extends AbstractCodeEditorService$1{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(i,r,g)=>r?this.doOpenEditor(r,i):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const g=t.resource.scheme;if(g===Schemas$1.http||g===Schemas$1.https)return windowOpenNoOpener$1(t.resource.toString()),e}return null}const r=t.options?t.options.selection:null;if(r)if(typeof r.endLineNumber=="number"&&typeof r.endColumn=="number")e.setSelection(r),e.revealRangeInCenter(r,1);else{const g={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(g),e.revealPositionInCenter(g,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};StandaloneCodeEditorService$1=__decorate$51([__param$4N(0,IContextKeyService$1),__param$4N(1,IThemeService$1)],StandaloneCodeEditorService$1);registerSingleton$1(ICodeEditorService$1,StandaloneCodeEditorService$1,0);const ILayoutService$1=createDecorator$1("layoutService");var __decorate$50=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4M=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneLayoutService$1=class{get mainContainer(){var e,t;return(t=(e=firstOrDefault$1(this._codeEditorService.listCodeEditors()))==null?void 0:e.getContainerDomNode())!=null?t:mainWindow$1.document.body}get activeContainer(){var t,i;const e=(t=this._codeEditorService.getFocusedCodeEditor())!=null?t:this._codeEditorService.getActiveCodeEditor();return(i=e==null?void 0:e.getContainerDomNode())!=null?i:this.mainContainer}get mainContainerDimension(){return getClientArea$1(this.mainContainer)}get activeContainerDimension(){return getClientArea$1(this.activeContainer)}get containers(){return coalesce$1(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;(e=this._codeEditorService.getFocusedCodeEditor())==null||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=Event$2.None,this.onDidLayoutActiveContainer=Event$2.None,this.onDidLayoutContainer=Event$2.None,this.onDidChangeActiveContainer=Event$2.None,this.onDidAddContainer=Event$2.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};StandaloneLayoutService$1=__decorate$50([__param$4M(0,ICodeEditorService$1)],StandaloneLayoutService$1);let EditorScopedLayoutService$1=class extends StandaloneLayoutService$1{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};EditorScopedLayoutService$1=__decorate$50([__param$4M(1,ICodeEditorService$1)],EditorScopedLayoutService$1);registerSingleton$1(ILayoutService$1,StandaloneLayoutService$1,1);var Severity$4;(function(n){n[n.Ignore=0]="Ignore",n[n.Info=1]="Info",n[n.Warning=2]="Warning",n[n.Error=3]="Error"})(Severity$4||(Severity$4={}));(function(n){const e="error",t="warning",i="warn",r="info",g="ignore";function y(L){return L?equalsIgnoreCase$1(e,L)?n.Error:equalsIgnoreCase$1(t,L)||equalsIgnoreCase$1(i,L)?n.Warning:equalsIgnoreCase$1(r,L)?n.Info:n.Ignore:n.Ignore}n.fromValue=y;function k(L){switch(L){case n.Error:return e;case n.Warning:return t;case n.Info:return r;default:return g}}n.toString=k})(Severity$4||(Severity$4={}));const Severity$5=Severity$4,IDialogService$1=createDecorator$1("dialogService");var Severity$3=Severity$5;const INotificationService$1=createDecorator$1("notificationService");let NoOpNotification$1=class{};const IUndoRedoService$1=createDecorator$1("undoRedoService");let ResourceEditStackSnapshot$1=class{constructor(e,t){this.resource=e,this.elements=t}};var cr;let UndoRedoGroup$1=(cr=class{constructor(){this.id=cr._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}},cr._ID=0,cr.None=new cr,cr);var dr;let UndoRedoSource$1=(dr=class{constructor(){this.id=dr._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}},dr._ID=0,dr.None=new dr,dr);var __decorate$4$=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4L=function(n,e){return function(t,i){e(t,i,n)}};function getResourceLabel$1(n){return n.scheme===Schemas$1.file?n.fsPath:n.path}let stackElementCounter$1=0,ResourceStackElement$1=class{constructor(e,t,i,r,g,y,k){this.id=++stackElementCounter$1,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=g,this.sourceId=y,this.sourceOrder=k,this.isValid=!0}setValid(e){this.isValid=e}toString(){return"[id:".concat(this.id,"] [group:").concat(this.groupId,"] [").concat(this.isValid?" VALID":"INVALID","] ").concat(this.actual.constructor.name," - ").concat(this.actual)}},ResourceReasonPair$1=class{constructor(e,t){this.resourceLabel=e,this.reason=t}},RemovedResources$1=class{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,r]of this.elements)(r.reason===0?e:t).push(r.resourceLabel);const i=[];return e.length>0&&i.push(localize$1({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(localize$1({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}},WorkspaceStackElement$1=class{constructor(e,t,i,r,g,y,k){this.id=++stackElementCounter$1,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=r,this.groupOrder=g,this.sourceId=y,this.sourceOrder=k,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new RemovedResources$1),this.removedResources.has(t)||this.removedResources.set(t,new ResourceReasonPair$1(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new RemovedResources$1),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new ResourceReasonPair$1(e,0)))}toString(){return"[id:".concat(this.id,"] [group:").concat(this.groupId,"] [").concat(this.invalidatedResources?"INVALID":" VALID","] ").concat(this.actual.constructor.name," - ").concat(this.actual)}},ResourceEditStack$1=class{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push("* ".concat(this.strResource,":"));for(let t=0;t=0;t--)e.push(" * [REDO] ".concat(this._future[t]));return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,r=this._past.length;i=0;i--)t.push(this._future[i].id);return new ResourceEditStackSnapshot$1(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,r=0,g=-1;for(let k=0,L=this._past.length;k=t||V.id!==e.elements[r])&&(i=!1,g=0),!i&&V.type===1&&V.removeResource(this.resourceLabel,this.strResource,0)}let y=-1;for(let k=this._future.length-1;k>=0;k--,r++){const L=this._future[k];i&&(r>=t||L.id!==e.elements[r])&&(i=!1,y=k),!i&&L.type===1&&L.removeResource(this.resourceLabel,this.strResource,0)}g!==-1&&(this._past=this._past.slice(0,g)),y!==-1&&(this._future=this._future.slice(y+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}},EditStackSnapshot$1=class{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=y,i=r)}return[t,i]}canUndo(e){if(e instanceof UndoRedoSource$1){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){onUnexpectedError$1(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,r,g){const y=this._acquireLocks(i);let k;try{k=t()}catch(L){return y(),r.dispose(),this._onError(L,e)}return k?k.then(()=>(y(),r.dispose(),g()),L=>(y(),r.dispose(),this._onError(L,e))):(y(),r.dispose(),g())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return Disposable$1.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?Disposable$1.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(Disposable$1.None);const i=e.actual.prepareUndoRedo();return i?isDisposable$1(i)?t(i):i.then(r=>t(r)):t(Disposable$1.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||missingEditStack$1);return new EditStackSnapshot$1(t)}_tryToSplitAndUndo(e,t,i,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(r),new WorkspaceVerificationError$1(this._undo(e,0,!0));for(const g of t.strResources)this.removeElements(g);return this._notificationService.warn(r),new WorkspaceVerificationError$1}_checkWorkspaceUndo(e,t,i,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,localize$1({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,localize$1({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const g=[];for(const k of i.editStacks)k.getClosestPastElement()!==t&&g.push(k.resourceLabel);if(g.length>0)return this._tryToSplitAndUndo(e,t,null,localize$1({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,g.join(", ")));const y=[];for(const k of i.editStacks)k.locked&&y.push(k.resourceLabel);return y.length>0?this._tryToSplitAndUndo(e,t,null,localize$1({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,y.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,localize$1({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const r=this._getAffectedEditStacks(t),g=this._checkWorkspaceUndo(e,t,r,!1);return g?g.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const r=t.getSecondClosestPastElement();if(r&&r.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let k;(function(z){z[z.All=0]="All",z[z.This=1]="This",z[z.Cancel=2]="Cancel"})(k||(k={}));const{result:L}=await this._dialogService.prompt({type:Severity$5.Info,message:localize$1("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:localize$1({key:"ok",comment:["{0} denotes a number that is > 1, && denotes a mnemonic"]},"&&Undo in {0} Files",i.editStacks.length),run:()=>k.All},{label:localize$1({key:"nok",comment:["&& denotes a mnemonic"]},"Undo this &&File"),run:()=>k.This}],cancelButton:{run:()=>k.Cancel}});if(L===k.Cancel)return;if(L===k.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const V=this._checkWorkspaceUndo(e,t,i,!1);if(V)return V.returnValue;r=!0}let g;try{g=await this._invokeWorkspacePrepare(t)}catch(k){return this._onError(k,t)}const y=this._checkWorkspaceUndo(e,t,i,!0);if(y)return g.dispose(),y.returnValue;for(const k of i.editStacks)k.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,g,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,i){if(!t.isValid){e.flushAllElements();return}if(e.locked){const r=localize$1({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(r);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new EditStackSnapshot$1([e]),r,()=>this._continueUndoInGroup(t.groupId,i))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestPastElement();y&&y.groupId===e&&(!t||y.groupOrder>t.groupOrder)&&(t=y,i=r)}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);if(i)return this._undo(i,0,t)}undo(e){if(e instanceof UndoRedoSource$1){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e=="string"?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const r=this._editStacks.get(e),g=r.getClosestPastElement();if(!g)return;if(g.groupId){const[k,L]=this._findClosestUndoElementInGroup(g.groupId);if(g!==k&&L)return this._undo(L,t,i)}if((g.sourceId!==t||g.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,g);try{return g.type===1?this._workspaceUndo(e,g,i):this._resourceUndo(r,g,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:localize$1("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:localize$1({key:"confirmDifferentSource.yes",comment:["&& denotes a mnemonic"]},"&&Yes"),cancelButton:localize$1("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestFutureElement();y&&y.sourceId===e&&(!t||y.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,localize$1({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,g.join(", ")));const y=[];for(const k of i.editStacks)k.locked&&y.push(k.resourceLabel);return y.length>0?this._tryToSplitAndRedo(e,t,null,localize$1({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,y.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,localize$1({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,i,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(y){return this._onError(y,t)}const g=this._checkWorkspaceRedo(e,t,i,!0);if(g)return r.dispose(),g.returnValue;for(const y of i.editStacks)y.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){const i=localize$1({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(i);return}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new EditStackSnapshot$1([e]),i,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestFutureElement();y&&y.groupId===e&&(!t||y.groupOrder=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4K=function(n,e){return function(t,i){e(t,i,n)}};const ILanguageFeatureDebounceService$1=createDecorator$1("ILanguageFeatureDebounceService");var IdentityHash$1;(function(n){const e=new WeakMap;let t=0;function i(r){let g=e.get(r);return g===void 0&&(g=++t,e.set(r,g)),g}n.of=i})(IdentityHash$1||(IdentityHash$1={}));let NullDebounceInformation$1=class{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}},FeatureDebounceInformation$1=class{constructor(e,t,i,r,g,y){this._logService=e,this._name=t,this._registry=i,this._default=r,this._min=g,this._max=y,this._cache=new LRUCache$1(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((t,i)=>doHash$1(IdentityHash$1.of(i),t),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?clamp$1(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let r=this._cache.get(i);r||(r=new SlidingWindowAverage$1(6),this._cache.set(i,r));const g=clamp$1(r.update(t),this._min,this._max);return matchesScheme$1(e.uri,"output")||this._logService.trace("[DEBOUNCE: ".concat(this._name,"] for ").concat(e.uri.toString()," is ").concat(g,"ms")),g}_overall(){const e=new MovingAverage$1;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=this._overall()|0||this._default;return clamp$1(e,this._min,this._max)}},LanguageFeatureDebounceService$1=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){var V,z,j;const r=(V=i==null?void 0:i.min)!=null?V:50,g=(z=i==null?void 0:i.max)!=null?z:r**2,y=(j=i==null?void 0:i.key)!=null?j:void 0,k="".concat(IdentityHash$1.of(e),",").concat(r).concat(y?","+y:"");let L=this._data.get(k);return L||(this._isDev?(this._logService.debug("[DEBOUNCE: ".concat(t,"] is disabled in developed mode")),L=new NullDebounceInformation$1(r*1.5)):L=new FeatureDebounceInformation$1(this._logService,t,e,this._overallAverage()|0||r*1.5,r,g),this._data.set(k,L)),L}_overallAverage(){const e=new MovingAverage$1;for(const t of this._data.values())e.update(t.default());return e.value}};LanguageFeatureDebounceService$1=__decorate$4_([__param$4K(0,ILogService$1),__param$4K(1,IEnvironmentService$1)],LanguageFeatureDebounceService$1);registerSingleton$1(ILanguageFeatureDebounceService$1,LanguageFeatureDebounceService$1,1);let TokenMetadata$1=class{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const r=this.getFontStyle(e);return r&1&&(i+=" mtki"),r&2&&(i+=" mtkb"),r&4&&(i+=" mtku"),r&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),r=this.getFontStyle(e);let g="color: ".concat(t[i],";");r&1&&(g+="font-style: italic;"),r&2&&(g+="font-weight: bold;");let y="";return r&4&&(y+=" underline"),r&8&&(y+=" line-through"),y&&(g+="text-decoration:".concat(y,";")),g}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}};function countEOL$1(n){let e=0,t=0,i=0,r=0;for(let g=0,y=n.length;g0?t.charCodeAt(0):0)}acceptEdit(e,t,i,r,g){this._acceptDeleteRange(e),this._acceptInsertText(new Position$3(e.startLineNumber,e.startColumn),t,i,r,g),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const g=i-t;this._startLineNumber-=g;return}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&i>=r+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){const g=-t;this._startLineNumber-=g,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,r,g){if(t===0&&i===0)return;const y=e.lineNumber-this._startLineNumber;if(y<0){this._startLineNumber+=t;return}const k=this._tokens.getMaxDeltaLine();y>=k+1||this._tokens.acceptInsertText(y,e.column-1,t,i,r,g)}},SparseMultilineTokensStorage$1=class pd{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)i=r-1;else{let y=r;for(;y>t&&this._getDeltaLine(y-1)===e;)y--;let k=r;for(;ke||ie===e&&re>=t)&&(iee||re===e&&le>=t){if(reg?ae-=g-i:ae=i;else if(oe===t&&re===i)if(oe===r&&ae>g)ae-=g-i;else{z=!0;continue}else if(oeg)oe=t,re=i,ae=re+(ae-g);else{z=!0;continue}else if(oe>r){if(L===0&&!z){V=k;break}oe-=L}else if(oe===r&&re>=g)e&&oe===0&&(re+=e,ae+=e),oe-=L,re-=g-i,ae-=g-i;else throw new Error("Not possible!");const de=4*V;y[de]=oe,y[de+1]=re,y[de+2]=ae,y[de+3]=le,V++}this._tokenCount=V}acceptInsertText(e,t,i,r,g,y){const k=i===0&&r===1&&(y>=48&&y<=57||y>=65&&y<=90||y>=97&&y<=122),L=this._tokens,V=this._tokenCount;for(let z=0;z=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4J=function(n,e){return function(t,i){e(t,i,n)}};let SemanticTokensProviderStyling$1=class{constructor(e,t,i,r){this._legend=e,this._themeService=t,this._languageService=i,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new HashTable$1}getMetadata(e,t,i){const r=this._languageService.languageIdCodec.encodeLanguageId(i),g=this._hashTable.get(e,t,r);let y;if(g)y=g.metadata;else{let k=this._legend.tokenTypes[e];const L=[];if(k){let V=t;for(let j=0;V>0&&j>1;const z=this._themeService.getColorTheme().getTokenStyleMetadata(k,L,i);if(typeof z>"u")y=2147483647;else{if(y=0,typeof z.italic<"u"){const j=(z.italic?1:0)<<11;y|=j|1}if(typeof z.bold<"u"){const j=(z.bold?2:0)<<11;y|=j|2}if(typeof z.underline<"u"){const j=(z.underline?4:0)<<11;y|=j|4}if(typeof z.strikethrough<"u"){const j=(z.strikethrough?8:0)<<11;y|=j|8}if(z.foreground){const j=z.foreground<<15;y|=j|16}y===0&&(y=2147483647)}}else y=2147483647,k="not-in-legend";this._hashTable.add(e,t,r,y)}return y}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn("Overlapping semantic tokens detected at lineNumber ".concat(e,", column ").concat(t)))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn("Semantic token with invalid length detected at lineNumber ".concat(e,", column ").concat(t)))}warnInvalidEditStart(e,t,i,r,g){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn("Invalid semantic tokens edit detected (previousResultId: ".concat(e,", resultId: ").concat(t,") at edit #").concat(i,": The provided start offset ").concat(r," is outside the previous data (length ").concat(g,").")))}};SemanticTokensProviderStyling$1=__decorate$4Z([__param$4J(1,IThemeService$1),__param$4J(2,ILanguageService$1),__param$4J(3,ILogService$1)],SemanticTokensProviderStyling$1);function toMultilineTokens2$1(n,e,t){const i=n.data,r=n.data.length/5|0,g=Math.max(Math.ceil(r/1024),400),y=[];let k=0,L=1,V=0;for(;kz&&i[5*ue]===0;)ue--;if(ue-1===z){let he=j;for(;he+1$e)e.warnOverlappingSemanticTokens(Ce,$e+1);else{const Ve=e.getMetadata(Ne,Fe,t);Ve!==2147483647&&(re===0&&(re=Ce),ie[oe]=Ce-re,ie[oe+1]=$e,ie[oe+2]=Ie,ie[oe+3]=Ve,oe+=4,ae=Ce,le=Ie)}L=Ce,V=$e,k++}oe!==ie.length&&(ie=ie.subarray(0,oe));const de=SparseMultilineTokens$1.create(re,ie);y.push(de)}return y}let HashTableEntry$1=class{constructor(e,t,i,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=r,this.next=null}};var Co;let HashTable$1=(Co=class{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=Co._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const g=this._elements;this._currentLengthIndex++,this._currentLength=Co._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4I=function(n,e){return function(t,i){e(t,i,n)}};let SemanticTokensStylingService$1=class extends Disposable$1{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new SemanticTokensProviderStyling$1(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};SemanticTokensStylingService$1=__decorate$4Y([__param$4I(0,IThemeService$1),__param$4I(1,ILogService$1),__param$4I(2,ILanguageService$1)],SemanticTokensStylingService$1);registerSingleton$1(ISemanticTokensStylingService$1,SemanticTokensStylingService$1,1);function isPathSeparator$2(n){return n===47||n===92}function toSlashes$1(n){return n.replace(/[\\/]/g,posix$1.sep)}function toPosixPath$1(n){return n.indexOf("/")===-1&&(n=toSlashes$1(n)),/^[a-zA-Z]:(\/|$)/.test(n)&&(n="/"+n),n}function getRoot$1(n,e=posix$1.sep){if(!n)return"";const t=n.length,i=n.charCodeAt(0);if(isPathSeparator$2(i)){if(isPathSeparator$2(n.charCodeAt(1))&&!isPathSeparator$2(n.charCodeAt(2))){let g=3;const y=g;for(;gn.length)return!1;if(t){if(!startsWithIgnoreCase$1(n,e))return!1;if(e.length===n.length)return!0;let g=e.length;return e.charAt(e.length-1)===i&&g--,n.charAt(g)===i}return e.charAt(e.length-1)!==i&&(e+=i),n.indexOf(e)===0}function isWindowsDriveLetter$1(n){return n>=65&&n<=90||n>=97&&n<=122}function hasDriveLetter$1(n,e=isWindows$1){return e?isWindowsDriveLetter$1(n.charCodeAt(0))&&n.charCodeAt(1)===58:!1}const GLOBSTAR$1="**",GLOB_SPLIT$1="/",PATH_REGEX$1="[/\\\\]",NO_PATH_REGEX$1="[^/\\\\]",ALL_FORWARD_SLASHES$1=/\//g;function starsToRegExp$1(n,e){switch(n){case 0:return"";case 1:return"".concat(NO_PATH_REGEX$1,"*?");default:return"(?:".concat(PATH_REGEX$1,"|").concat(NO_PATH_REGEX$1,"+").concat(PATH_REGEX$1).concat(e?"|".concat(PATH_REGEX$1).concat(NO_PATH_REGEX$1,"+"):"",")*?")}}function splitGlobAware$1(n,e){if(!n)return[];const t=[];let i=!1,r=!1,g="";for(const y of n){switch(y){case e:if(!i&&!r){t.push(g),g="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1;break}g+=y}return g&&t.push(g),t}function parseRegExp$1(n){if(!n)return"";let e="";const t=splitGlobAware$1(n,GLOB_SPLIT$1);if(t.every(i=>i===GLOBSTAR$1))e=".*";else{let i=!1;t.forEach((r,g)=>{if(r===GLOBSTAR$1){if(i)return;e+=starsToRegExp$1(2,g===t.length-1)}else{let y=!1,k="",L=!1,V="";for(const z of r){if(z!=="}"&&y){k+=z;continue}if(L&&(z!=="]"||!V)){let j;z==="-"?j=z:(z==="^"||z==="!")&&!V?j="^":z===GLOB_SPLIT$1?j="":j=escapeRegExpCharacters$1(z),V+=j;continue}switch(z){case"{":y=!0;continue;case"[":L=!0;continue;case"}":{const j=splitGlobAware$1(k,","),ie="(?:".concat(j.map(oe=>parseRegExp$1(oe)).join("|"),")");e+=ie,y=!1,k="";break}case"]":{e+="["+V+"]",L=!1,V="";break}case"?":e+=NO_PATH_REGEX$1;continue;case"*":e+=starsToRegExp$1(1);continue;default:e+=escapeRegExpCharacters$1(z)}}gparsePattern$1(k,e)).filter(k=>k!==NULL$1),n),i=t.length;if(!i)return NULL$1;if(i===1)return t[0];const r=function(k,L){for(let V=0,z=t.length;V!!k.allBasenames);g&&(r.allBasenames=g.allBasenames);const y=t.reduce((k,L)=>L.allPaths?k.concat(L.allPaths):k,[]);return y.length&&(r.allPaths=y),r}function trivia4and5$1(n,e,t){const i=sep$1===posix$1.sep,r=i?n:n.replace(ALL_FORWARD_SLASHES$1,sep$1),g=sep$1+r,y=posix$1.sep+n;let k;return t?k=function(L,V){return typeof L=="string"&&(L===r||L.endsWith(g)||!i&&(L===n||L.endsWith(y)))?e:null}:k=function(L,V){return typeof L=="string"&&(L===r||!i&&L===n)?e:null},k.allPaths=[(t?"*/":"./")+n],k}function toRegExp$1(n){try{const e=new RegExp("^".concat(parseRegExp$1(n),"$"));return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?n:null}}catch(e){return NULL$1}}function match$1(n,e,t){return!n||typeof e!="string"?!1:parse$6(n)(e,void 0,t)}function parse$6(n,e={}){if(!n)return FALSE$1;if(typeof n=="string"||isRelativePattern$1(n)){const t=parsePattern$1(n,e);if(t===NULL$1)return FALSE$1;const i=function(r,g){return!!t(r,g)};return t.allBasenames&&(i.allBasenames=t.allBasenames),t.allPaths&&(i.allPaths=t.allPaths),i}return parsedExpression$1(n,e)}function isRelativePattern$1(n){const e=n;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function parsedExpression$1(n,e){const t=aggregateBasenameMatches$1(Object.getOwnPropertyNames(n).map(k=>parseExpressionPattern$1(k,n[k],e)).filter(k=>k!==NULL$1)),i=t.length;if(!i)return NULL$1;if(!t.some(k=>!!k.requiresSiblings)){if(i===1)return t[0];const k=function(z,j){let ie;for(let oe=0,re=t.length;oe{for(const oe of ie){const re=await oe;if(typeof re=="string")return re}return null})():null},L=t.find(z=>!!z.allBasenames);L&&(k.allBasenames=L.allBasenames);const V=t.reduce((z,j)=>j.allPaths?z.concat(j.allPaths):z,[]);return V.length&&(k.allPaths=V),k}const r=function(k,L,V){let z,j;for(let ie=0,oe=t.length;ie{for(const ie of j){const oe=await ie;if(typeof oe=="string")return oe}return null})():null},g=t.find(k=>!!k.allBasenames);g&&(r.allBasenames=g.allBasenames);const y=t.reduce((k,L)=>L.allPaths?k.concat(L.allPaths):k,[]);return y.length&&(r.allPaths=y),r}function parseExpressionPattern$1(n,e,t){if(e===!1)return NULL$1;const i=parsePattern$1(n,t);if(i===NULL$1)return NULL$1;if(typeof e=="boolean")return i;if(e){const r=e.when;if(typeof r=="string"){const g=(y,k,L,V)=>{if(!V||!i(y,k))return null;const z=r.replace("$(basename)",()=>L),j=V(z);return isThenable$3(j)?j.then(ie=>ie?n:null):j?n:null};return g.requiresSiblings=!0,g}}return i}function aggregateBasenameMatches$1(n,e){const t=n.filter(k=>!!k.basenames);if(t.length<2)return n;const i=t.reduce((k,L)=>{const V=L.basenames;return V?k.concat(V):k},[]);let r;if(e){r=[];for(let k=0,L=i.length;k{const V=L.patterns;return V?k.concat(V):k},[]);const g=function(k,L){if(typeof k!="string")return null;if(!L){let z;for(z=k.length;z>0;z--){const j=k.charCodeAt(z-1);if(j===47||j===92)break}L=k.substr(z)}const V=i.indexOf(L);return V!==-1?r[V]:null};g.basenames=i,g.patterns=r,g.allBasenames=i;const y=n.filter(k=>!k.basenames);return y.push(g),y}function score$2(n,e,t,i,r,g){if(Array.isArray(n)){let y=0;for(const k of n){const L=score$2(k,e,t,i,r,g);if(L===10)return L;L>y&&(y=L)}return y}else{if(typeof n=="string")return i?n==="*"?5:n===t?10:0:0;if(n){const{language:y,pattern:k,scheme:L,hasAccessToAllModels:V,notebookType:z}=n;if(!i&&!V)return 0;z&&r&&(e=r);let j=0;if(L)if(L===e.scheme)j=10;else if(L==="*")j=5;else return 0;if(y)if(y===t)j=10;else if(y==="*")j=Math.max(j,5);else return 0;if(z)if(z===g)j=10;else if(z==="*"&&g!==void 0)j=Math.max(j,5);else return 0;if(k){let ie;if(typeof k=="string"?ie=k:ie={...k,base:normalize$1(k.base)},ie===e.fsPath||match$1(ie,e.fsPath))j=10;else return 0}return j}else return 0}}function isExclusive$1(n){return typeof n=="string"?!1:Array.isArray(n)?n.every(isExclusive$1):!!n.exclusive}let MatchCandidate$1=class{constructor(e,t,i,r,g){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=r,this.recursive=g}equals(e){var t,i;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&((t=this.notebookUri)==null?void 0:t.toString())===((i=e.notebookUri)==null?void 0:i.toString())&&this.recursive===e.recursive}},LanguageFeatureRegistry$1=class Vu{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),toDisposable$1(()=>{if(i){const r=this._entries.indexOf(i);r>=0&&(this._entries.splice(r,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e,!1);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e,t=!1){const i=[];return this._orderedForEach(e,t,r=>i.push(r.provider)),i}orderedGroups(e){const t=[];let i,r;return this._orderedForEach(e,!1,g=>{i&&r===g._score?i.push(g.provider):(r=g._score,i=[g.provider],t.push(i))}),t}_orderedForEach(e,t,i){this._updateScores(e,t);for(const r of this._entries)r._score>0&&i(r)}_updateScores(e,t){var g,y;const i=(g=this._notebookInfoResolver)==null?void 0:g.call(this,e.uri),r=i?new MatchCandidate$1(e.uri,e.getLanguageId(),i.uri,i.type,t):new MatchCandidate$1(e.uri,e.getLanguageId(),void 0,void 0,t);if(!((y=this._lastCandidate)!=null&&y.equals(r))){this._lastCandidate=r;for(const k of this._entries)if(k._score=score$2(k.selector,r.uri,r.languageId,shouldSynchronizeModel$1(e),r.notebookUri,r.notebookType),isExclusive$1(k.selector)&&k._score>0)if(t)k._score=0;else{for(const L of this._entries)L._score=0;k._score=1e3;break}this._entries.sort(Vu._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:isBuiltinSelector$1(e.selector)&&!isBuiltinSelector$1(t.selector)?1:!isBuiltinSelector$1(e.selector)&&isBuiltinSelector$1(t.selector)?-1:e._timet._time?-1:0}};function isBuiltinSelector$1(n){return typeof n=="string"?!1:Array.isArray(n)?n.some(isBuiltinSelector$1):!!n.isBuiltin}let LanguageFeaturesService$1=class{constructor(){this.referenceProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.renameProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.newSymbolNamesProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.codeActionProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.definitionProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.typeDefinitionProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.declarationProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.implementationProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentSymbolProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.inlayHintsProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.colorProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.codeLensProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentFormattingEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentRangeFormattingEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.onTypeFormattingEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.signatureHelpProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.hoverProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentHighlightProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.multiDocumentHighlightProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.selectionRangeProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.foldingRangeProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.linkProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.inlineCompletionsProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.inlineEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.completionProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.linkedEditingRangeProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentSemanticTokensProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentDropEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this)),this.documentPasteEditProvider=new LanguageFeatureRegistry$1(this._score.bind(this))}_score(e){var t;return(t=this._notebookTypeResolver)==null?void 0:t.call(this,e)}};registerSingleton$1(ILanguageFeaturesService$1,LanguageFeaturesService$1,1);function asCssVariableName$1(n){return"--vscode-".concat(n.replace(/\./g,"-"))}function asCssVariable$1(n){return"var(".concat(asCssVariableName$1(n),")")}function asCssVariableWithDefault$1(n,e){return"var(".concat(asCssVariableName$1(n),", ").concat(e,")")}function isColorDefaults(n){return n!==null&&typeof n=="object"&&"light"in n&&"dark"in n}const Extensions$d={ColorContribution:"base.contributions.colors"},DEFAULT_COLOR_CONFIG_VALUE="default";let ColorRegistry$1=class{constructor(){this._onDidChangeSchema=new Emitter$3,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,r=!1,g){const y={id:e,description:i,defaults:t,needsTransparency:r,deprecationMessage:g};this.colorsById[e]=y;const k={type:"string",format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return g&&(k.deprecationMessage=g),r&&(k.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",k.patternErrorMessage=localize$1("transparecyRequired","This color must be transparent or it will obscure content")),this.colorSchema.properties[e]={description:i,oneOf:[k,{type:"string",const:DEFAULT_COLOR_CONFIG_VALUE,description:localize$1("useDefault","Use the default color.")}]},this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i!=null&&i.defaults){const r=isColorDefaults(i.defaults)?i.defaults[t.type]:i.defaults;return resolveColorValue$1(r,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const r=t.indexOf(".")===-1?0:1,g=i.indexOf(".")===-1?0:1;return r!==g?r-g:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>"- `".concat(t,"`: ").concat(this.colorsById[t].description)).join("\n")}};const colorRegistry$3=new ColorRegistry$1;Registry$1.add(Extensions$d.ColorContribution,colorRegistry$3);function registerColor$1(n,e,t,i,r){return colorRegistry$3.registerColor(n,e,t,i,r)}function executeTransform$1(n,e){var t,i,r,g;switch(n.op){case 0:return(t=resolveColorValue$1(n.value,e))==null?void 0:t.darken(n.factor);case 1:return(i=resolveColorValue$1(n.value,e))==null?void 0:i.lighten(n.factor);case 2:return(r=resolveColorValue$1(n.value,e))==null?void 0:r.transparent(n.factor);case 3:{const y=resolveColorValue$1(n.background,e);return y?(g=resolveColorValue$1(n.value,e))==null?void 0:g.makeOpaque(y):resolveColorValue$1(n.value,e)}case 4:for(const y of n.values){const k=resolveColorValue$1(y,e);if(k)return k}return;case 6:return resolveColorValue$1(e.defines(n.if)?n.then:n.else,e);case 5:{const y=resolveColorValue$1(n.value,e);if(!y)return;const k=resolveColorValue$1(n.background,e);return k?y.isDarkerThan(k)?Color$2.getLighterColor(y,k,n.factor).transparent(n.transparency):Color$2.getDarkerColor(y,k,n.factor).transparent(n.transparency):y.transparent(n.factor*n.transparency)}default:throw assertNever$1()}}function darken$2(n,e){return{op:0,value:n,factor:e}}function lighten$1(n,e){return{op:1,value:n,factor:e}}function transparent$1(n,e){return{op:2,value:n,factor:e}}function oneOf$1(...n){return{op:4,values:n}}function ifDefinedThenElse$1(n,e,t){return{op:6,if:n,then:e,else:t}}function lessProminent$1(n,e,t,i){return{op:5,value:n,background:e,factor:t,transparency:i}}function resolveColorValue$1(n,e){if(n!==null){if(typeof n=="string")return n[0]==="#"?Color$2.fromHex(n):e.getColor(n);if(n instanceof Color$2)return n;if(typeof n=="object")return executeTransform$1(n,e)}}const workbenchColorsSchemaId$1="vscode://schemas/workbench-colors",schemaRegistry$3=Registry$1.as(Extensions$h.JSONContribution);schemaRegistry$3.registerSchema(workbenchColorsSchemaId$1,colorRegistry$3.getColorSchema());const delayer$3=new RunOnceScheduler$1(()=>schemaRegistry$3.notifySchemaChanged(workbenchColorsSchemaId$1),200);colorRegistry$3.onDidChangeSchema(()=>{delayer$3.isScheduled()||delayer$3.schedule()});const foreground$1=registerColor$1("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},localize$1("foreground","Overall foreground color. This color is only used if not overridden by a component."));registerColor$1("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},localize$1("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component."));registerColor$1("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},localize$1("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component."));registerColor$1("descriptionForeground",{light:"#717171",dark:transparent$1(foreground$1,.7),hcDark:transparent$1(foreground$1,.7),hcLight:transparent$1(foreground$1,.7)},localize$1("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const iconForeground$1=registerColor$1("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},localize$1("iconForeground","The default color for icons in the workbench.")),focusBorder$1=registerColor$1("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},localize$1("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),contrastBorder$1=registerColor$1("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},localize$1("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),activeContrastBorder$1=registerColor$1("contrastActiveBorder",{light:null,dark:null,hcDark:focusBorder$1,hcLight:focusBorder$1},localize$1("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));registerColor$1("selection.background",null,localize$1("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const textLinkForeground$1=registerColor$1("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize$1("textLinkForeground","Foreground color for links in text."));registerColor$1("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize$1("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover."));registerColor$1("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Color$2.black,hcLight:"#292929"},localize$1("textSeparatorForeground","Color for text separators."));registerColor$1("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},localize$1("textPreformatForeground","Foreground color for preformatted text segments."));registerColor$1("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},localize$1("textPreformatBackground","Background color for preformatted text segments."));registerColor$1("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},localize$1("textBlockQuoteBackground","Background color for block quotes in text."));registerColor$1("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Color$2.white,hcLight:"#292929"},localize$1("textBlockQuoteBorder","Border color for block quotes in text."));registerColor$1("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Color$2.black,hcLight:"#F2F2F2"},localize$1("textCodeBlockBackground","Background color for code blocks in text."));registerColor$1("sash.hoverBorder",focusBorder$1,localize$1("sashActiveBorder","Border color of active sashes."));const badgeBackground$1=registerColor$1("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Color$2.black,hcLight:"#0F4A85"},localize$1("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),badgeForeground$1=registerColor$1("badge.foreground",{dark:Color$2.white,light:"#333",hcDark:Color$2.white,hcLight:Color$2.white},localize$1("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),scrollbarShadow$1=registerColor$1("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},localize$1("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),scrollbarSliderBackground$1=registerColor$1("scrollbarSlider.background",{dark:Color$2.fromHex("#797979").transparent(.4),light:Color$2.fromHex("#646464").transparent(.4),hcDark:transparent$1(contrastBorder$1,.6),hcLight:transparent$1(contrastBorder$1,.4)},localize$1("scrollbarSliderBackground","Scrollbar slider background color.")),scrollbarSliderHoverBackground$1=registerColor$1("scrollbarSlider.hoverBackground",{dark:Color$2.fromHex("#646464").transparent(.7),light:Color$2.fromHex("#646464").transparent(.7),hcDark:transparent$1(contrastBorder$1,.8),hcLight:transparent$1(contrastBorder$1,.8)},localize$1("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),scrollbarSliderActiveBackground$1=registerColor$1("scrollbarSlider.activeBackground",{dark:Color$2.fromHex("#BFBFBF").transparent(.4),light:Color$2.fromHex("#000000").transparent(.6),hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),progressBarBackground$1=registerColor$1("progressBar.background",{dark:Color$2.fromHex("#0E70C0"),light:Color$2.fromHex("#0E70C0"),hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("progressBarBackground","Background color of the progress bar that can show for long running operations.")),editorBackground$1=registerColor$1("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("editorBackground","Editor background color.")),editorForeground$1=registerColor$1("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Color$2.white,hcLight:foreground$1},localize$1("editorForeground","Editor default foreground color."));registerColor$1("editorStickyScroll.background",editorBackground$1,localize$1("editorStickyScrollBackground","Background color of sticky scroll in the editor"));registerColor$1("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Color$2.fromHex("#0F4A85").transparent(.1)},localize$1("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor"));registerColor$1("editorStickyScroll.border",{dark:null,light:null,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorStickyScrollBorder","Border color of sticky scroll in the editor"));registerColor$1("editorStickyScroll.shadow",scrollbarShadow$1,localize$1("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const editorWidgetBackground$1=registerColor$1("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Color$2.white},localize$1("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),editorWidgetForeground$1=registerColor$1("editorWidget.foreground",foreground$1,localize$1("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),editorWidgetBorder$1=registerColor$1("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));registerColor$1("editorWidget.resizeBorder",null,localize$1("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget."));registerColor$1("editorError.background",null,localize$1("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorErrorForeground$1=registerColor$1("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},localize$1("editorError.foreground","Foreground color of error squigglies in the editor.")),editorErrorBorder$1=registerColor$1("editorError.border",{dark:null,light:null,hcDark:Color$2.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},localize$1("errorBorder","If set, color of double underlines for errors in the editor.")),editorWarningBackground$1=registerColor$1("editorWarning.background",null,localize$1("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorWarningForeground$1=registerColor$1("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},localize$1("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),editorWarningBorder$1=registerColor$1("editorWarning.border",{dark:null,light:null,hcDark:Color$2.fromHex("#FFCC00").transparent(.8),hcLight:Color$2.fromHex("#FFCC00").transparent(.8)},localize$1("warningBorder","If set, color of double underlines for warnings in the editor."));registerColor$1("editorInfo.background",null,localize$1("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorInfoForeground$1=registerColor$1("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},localize$1("editorInfo.foreground","Foreground color of info squigglies in the editor.")),editorInfoBorder$1=registerColor$1("editorInfo.border",{dark:null,light:null,hcDark:Color$2.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},localize$1("infoBorder","If set, color of double underlines for infos in the editor.")),editorHintForeground$1=registerColor$1("editorHint.foreground",{dark:Color$2.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},localize$1("editorHint.foreground","Foreground color of hint squigglies in the editor."));registerColor$1("editorHint.border",{dark:null,light:null,hcDark:Color$2.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},localize$1("hintBorder","If set, color of double underlines for hints in the editor."));const editorActiveLinkForeground$1=registerColor$1("editorLink.activeForeground",{dark:"#4E94CE",light:Color$2.blue,hcDark:Color$2.cyan,hcLight:"#292929"},localize$1("activeLinkForeground","Color of active links.")),editorSelectionBackground$1=registerColor$1("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},localize$1("editorSelectionBackground","Color of the editor selection.")),editorSelectionForeground$1=registerColor$1("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Color$2.white},localize$1("editorSelectionForeground","Color of the selected text for high contrast.")),editorInactiveSelection$1=registerColor$1("editor.inactiveSelectionBackground",{light:transparent$1(editorSelectionBackground$1,.5),dark:transparent$1(editorSelectionBackground$1,.5),hcDark:transparent$1(editorSelectionBackground$1,.7),hcLight:transparent$1(editorSelectionBackground$1,.5)},localize$1("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorSelectionHighlight$1=registerColor$1("editor.selectionHighlightBackground",{light:lessProminent$1(editorSelectionBackground$1,editorBackground$1,.3,.6),dark:lessProminent$1(editorSelectionBackground$1,editorBackground$1,.3,.6),hcDark:null,hcLight:null},localize$1("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("editorSelectionHighlightBorder","Border color for regions with the same content as the selection."));registerColor$1("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},localize$1("editorFindMatch","Color of the current search match."));const editorFindMatchForeground=registerColor$1("editor.findMatchForeground",null,localize$1("editorFindMatchForeground","Text color of the current search match.")),editorFindMatchHighlight$1=registerColor$1("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},localize$1("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0),editorFindMatchHighlightForeground=registerColor$1("editor.findMatchHighlightForeground",null,localize$1("findMatchHighlightForeground","Foreground color of the other search matches."),!0);registerColor$1("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},localize$1("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.findMatchBorder",{light:null,dark:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("editorFindMatchBorder","Border color of the current search match."));const editorFindMatchHighlightBorder$1=registerColor$1("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("findMatchHighlightBorder","Border color of the other search matches.")),editorFindRangeHighlightBorder$1=registerColor$1("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:transparent$1(activeContrastBorder$1,.4),hcLight:transparent$1(activeContrastBorder$1,.4)},localize$1("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},localize$1("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const editorHoverBackground$1=registerColor$1("editorHoverWidget.background",editorWidgetBackground$1,localize$1("hoverBackground","Background color of the editor hover."));registerColor$1("editorHoverWidget.foreground",editorWidgetForeground$1,localize$1("hoverForeground","Foreground color of the editor hover."));const editorHoverBorder$1=registerColor$1("editorHoverWidget.border",editorWidgetBorder$1,localize$1("hoverBorder","Border color of the editor hover."));registerColor$1("editorHoverWidget.statusBarBackground",{dark:lighten$1(editorHoverBackground$1,.2),light:darken$2(editorHoverBackground$1,.05),hcDark:editorWidgetBackground$1,hcLight:editorWidgetBackground$1},localize$1("statusBarBackground","Background color of the editor hover status bar."));const editorInlayHintForeground$1=registerColor$1("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Color$2.white,hcLight:Color$2.black},localize$1("editorInlayHintForeground","Foreground color of inline hints")),editorInlayHintBackground$1=registerColor$1("editorInlayHint.background",{dark:transparent$1(badgeBackground$1,.1),light:transparent$1(badgeBackground$1,.1),hcDark:transparent$1(Color$2.white,.1),hcLight:transparent$1(badgeBackground$1,.1)},localize$1("editorInlayHintBackground","Background color of inline hints")),editorInlayHintTypeForeground$1=registerColor$1("editorInlayHint.typeForeground",editorInlayHintForeground$1,localize$1("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),editorInlayHintTypeBackground$1=registerColor$1("editorInlayHint.typeBackground",editorInlayHintBackground$1,localize$1("editorInlayHintBackgroundTypes","Background color of inline hints for types")),editorInlayHintParameterForeground$1=registerColor$1("editorInlayHint.parameterForeground",editorInlayHintForeground$1,localize$1("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),editorInlayHintParameterBackground$1=registerColor$1("editorInlayHint.parameterBackground",editorInlayHintBackground$1,localize$1("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),editorLightBulbForeground$1=registerColor$1("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},localize$1("editorLightBulbForeground","The color used for the lightbulb actions icon."));registerColor$1("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize$1("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon."));registerColor$1("editorLightBulbAi.foreground",editorLightBulbForeground$1,localize$1("editorLightBulbAiForeground","The color used for the lightbulb AI icon."));registerColor$1("editor.snippetTabstopHighlightBackground",{dark:new Color$2(new RGBA$2(124,124,124,.3)),light:new Color$2(new RGBA$2(10,50,100,.2)),hcDark:new Color$2(new RGBA$2(124,124,124,.3)),hcLight:new Color$2(new RGBA$2(10,50,100,.2))},localize$1("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop."));registerColor$1("editor.snippetTabstopHighlightBorder",null,localize$1("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));registerColor$1("editor.snippetFinalTabstopHighlightBackground",null,localize$1("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet."));registerColor$1("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Color$2(new RGBA$2(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},localize$1("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const defaultInsertColor$1=new Color$2(new RGBA$2(155,185,85,.2)),defaultRemoveColor$1=new Color$2(new RGBA$2(255,0,0,.2)),diffInserted$1=registerColor$1("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},localize$1("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),diffRemoved$1=registerColor$1("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},localize$1("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("diffEditor.insertedLineBackground",{dark:defaultInsertColor$1,light:defaultInsertColor$1,hcDark:null,hcLight:null},localize$1("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("diffEditor.removedLineBackground",{dark:defaultRemoveColor$1,light:defaultRemoveColor$1,hcDark:null,hcLight:null},localize$1("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("diffEditorGutter.insertedLineBackground",null,localize$1("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));registerColor$1("diffEditorGutter.removedLineBackground",null,localize$1("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const diffOverviewRulerInserted$1=registerColor$1("diffEditorOverview.insertedForeground",null,localize$1("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),diffOverviewRulerRemoved$1=registerColor$1("diffEditorOverview.removedForeground",null,localize$1("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));registerColor$1("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},localize$1("diffEditorInsertedOutline","Outline color for the text that got inserted."));registerColor$1("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},localize$1("diffEditorRemovedOutline","Outline color for text that got removed."));registerColor$1("diffEditor.border",{dark:null,light:null,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("diffEditorBorder","Border color between the two text editors."));registerColor$1("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},localize$1("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views."));registerColor$1("diffEditor.unchangedRegionBackground","sideBar.background",localize$1("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));registerColor$1("diffEditor.unchangedRegionForeground","foreground",localize$1("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor."));registerColor$1("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},localize$1("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const widgetShadow$1=registerColor$1("widget.shadow",{dark:transparent$1(Color$2.black,.36),light:transparent$1(Color$2.black,.16),hcDark:null,hcLight:null},localize$1("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),widgetBorder$1=registerColor$1("widget.border",{dark:null,light:null,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("widgetBorder","Border color of widgets such as find/replace inside the editor.")),toolbarHoverBackground$1=registerColor$1("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},localize$1("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));registerColor$1("toolbar.hoverOutline",{dark:null,light:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse"));registerColor$1("toolbar.activeBackground",{dark:lighten$1(toolbarHoverBackground$1,.1),light:darken$2(toolbarHoverBackground$1,.1),hcDark:null,hcLight:null},localize$1("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const breadcrumbsForeground$1=registerColor$1("breadcrumb.foreground",transparent$1(foreground$1,.8),localize$1("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsBackground$1=registerColor$1("breadcrumb.background",editorBackground$1,localize$1("breadcrumbsBackground","Background color of breadcrumb items.")),breadcrumbsFocusForeground$1=registerColor$1("breadcrumb.focusForeground",{light:darken$2(foreground$1,.2),dark:lighten$1(foreground$1,.1),hcDark:lighten$1(foreground$1,.1),hcLight:lighten$1(foreground$1,.1)},localize$1("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsActiveSelectionForeground$1=registerColor$1("breadcrumb.activeSelectionForeground",{light:darken$2(foreground$1,.2),dark:lighten$1(foreground$1,.1),hcDark:lighten$1(foreground$1,.1),hcLight:lighten$1(foreground$1,.1)},localize$1("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));registerColor$1("breadcrumbPicker.background",editorWidgetBackground$1,localize$1("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const headerTransparency$1=.5,currentBaseColor$1=Color$2.fromHex("#40C8AE").transparent(headerTransparency$1),incomingBaseColor$1=Color$2.fromHex("#40A6FF").transparent(headerTransparency$1),commonBaseColor$1=Color$2.fromHex("#606060").transparent(.4),contentTransparency$1=.4,rulerTransparency$1=1,mergeCurrentHeaderBackground$1=registerColor$1("merge.currentHeaderBackground",{dark:currentBaseColor$1,light:currentBaseColor$1,hcDark:null,hcLight:null},localize$1("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("merge.currentContentBackground",transparent$1(mergeCurrentHeaderBackground$1,contentTransparency$1),localize$1("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeIncomingHeaderBackground$1=registerColor$1("merge.incomingHeaderBackground",{dark:incomingBaseColor$1,light:incomingBaseColor$1,hcDark:null,hcLight:null},localize$1("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("merge.incomingContentBackground",transparent$1(mergeIncomingHeaderBackground$1,contentTransparency$1),localize$1("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeCommonHeaderBackground$1=registerColor$1("merge.commonHeaderBackground",{dark:commonBaseColor$1,light:commonBaseColor$1,hcDark:null,hcLight:null},localize$1("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("merge.commonContentBackground",transparent$1(mergeCommonHeaderBackground$1,contentTransparency$1),localize$1("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeBorder$1=registerColor$1("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},localize$1("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));registerColor$1("editorOverviewRuler.currentContentForeground",{dark:transparent$1(mergeCurrentHeaderBackground$1,rulerTransparency$1),light:transparent$1(mergeCurrentHeaderBackground$1,rulerTransparency$1),hcDark:mergeBorder$1,hcLight:mergeBorder$1},localize$1("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts."));registerColor$1("editorOverviewRuler.incomingContentForeground",{dark:transparent$1(mergeIncomingHeaderBackground$1,rulerTransparency$1),light:transparent$1(mergeIncomingHeaderBackground$1,rulerTransparency$1),hcDark:mergeBorder$1,hcLight:mergeBorder$1},localize$1("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts."));registerColor$1("editorOverviewRuler.commonContentForeground",{dark:transparent$1(mergeCommonHeaderBackground$1,rulerTransparency$1),light:transparent$1(mergeCommonHeaderBackground$1,rulerTransparency$1),hcDark:mergeBorder$1,hcLight:mergeBorder$1},localize$1("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const overviewRulerFindMatchForeground$1=registerColor$1("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:"#AB5A00"},localize$1("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerSelectionHighlightForeground$1=registerColor$1("editorOverviewRuler.selectionHighlightForeground","#A0A0A0CC",localize$1("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),problemsErrorIconForeground$1=registerColor$1("problemsErrorIcon.foreground",editorErrorForeground$1,localize$1("problemsErrorIconForeground","The color used for the problems error icon.")),problemsWarningIconForeground$1=registerColor$1("problemsWarningIcon.foreground",editorWarningForeground$1,localize$1("problemsWarningIconForeground","The color used for the problems warning icon.")),problemsInfoIconForeground$1=registerColor$1("problemsInfoIcon.foreground",editorInfoForeground$1,localize$1("problemsInfoIconForeground","The color used for the problems info icon.")),minimapFindMatch$1=registerColor$1("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},localize$1("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),minimapSelectionOccurrenceHighlight$1=registerColor$1("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},localize$1("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),minimapSelection$1=registerColor$1("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},localize$1("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),minimapInfo$1=registerColor$1("minimap.infoHighlight",{dark:editorInfoForeground$1,light:editorInfoForeground$1,hcDark:editorInfoBorder$1,hcLight:editorInfoBorder$1},localize$1("minimapInfo","Minimap marker color for infos.")),minimapWarning$1=registerColor$1("minimap.warningHighlight",{dark:editorWarningForeground$1,light:editorWarningForeground$1,hcDark:editorWarningBorder$1,hcLight:editorWarningBorder$1},localize$1("overviewRuleWarning","Minimap marker color for warnings.")),minimapError$1=registerColor$1("minimap.errorHighlight",{dark:new Color$2(new RGBA$2(255,18,18,.7)),light:new Color$2(new RGBA$2(255,18,18,.7)),hcDark:new Color$2(new RGBA$2(255,50,50,1)),hcLight:"#B5200D"},localize$1("minimapError","Minimap marker color for errors.")),minimapBackground$1=registerColor$1("minimap.background",null,localize$1("minimapBackground","Minimap background color.")),minimapForegroundOpacity$1=registerColor$1("minimap.foregroundOpacity",Color$2.fromHex("#000f"),localize$1("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));registerColor$1("minimapSlider.background",transparent$1(scrollbarSliderBackground$1,.5),localize$1("minimapSliderBackground","Minimap slider background color."));registerColor$1("minimapSlider.hoverBackground",transparent$1(scrollbarSliderHoverBackground$1,.5),localize$1("minimapSliderHoverBackground","Minimap slider background color when hovering."));registerColor$1("minimapSlider.activeBackground",transparent$1(scrollbarSliderActiveBackground$1,.5),localize$1("minimapSliderActiveBackground","Minimap slider background color when clicked on."));registerColor$1("charts.foreground",foreground$1,localize$1("chartsForeground","The foreground color used in charts."));registerColor$1("charts.lines",transparent$1(foreground$1,.5),localize$1("chartsLines","The color used for horizontal lines in charts."));registerColor$1("charts.red",editorErrorForeground$1,localize$1("chartsRed","The red color used in chart visualizations."));registerColor$1("charts.blue",editorInfoForeground$1,localize$1("chartsBlue","The blue color used in chart visualizations."));registerColor$1("charts.yellow",editorWarningForeground$1,localize$1("chartsYellow","The yellow color used in chart visualizations."));registerColor$1("charts.orange",minimapFindMatch$1,localize$1("chartsOrange","The orange color used in chart visualizations."));registerColor$1("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},localize$1("chartsGreen","The green color used in chart visualizations."));registerColor$1("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize$1("chartsPurple","The purple color used in chart visualizations."));const inputBackground$1=registerColor$1("input.background",{dark:"#3C3C3C",light:Color$2.white,hcDark:Color$2.black,hcLight:Color$2.white},localize$1("inputBoxBackground","Input box background.")),inputForeground$1=registerColor$1("input.foreground",foreground$1,localize$1("inputBoxForeground","Input box foreground.")),inputBorder$1=registerColor$1("input.border",{dark:null,light:null,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("inputBoxBorder","Input box border.")),inputActiveOptionBorder$1=registerColor$1("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("inputBoxActiveOptionBorder","Border color of activated options in input fields.")),inputActiveOptionHoverBackground=registerColor$1("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},localize$1("inputOption.hoverBackground","Background color of activated options in input fields.")),inputActiveOptionBackground$1=registerColor$1("inputOption.activeBackground",{dark:transparent$1(focusBorder$1,.4),light:transparent$1(focusBorder$1,.2),hcDark:Color$2.transparent,hcLight:Color$2.transparent},localize$1("inputOption.activeBackground","Background hover color of options in input fields.")),inputActiveOptionForeground$1=registerColor$1("inputOption.activeForeground",{dark:Color$2.white,light:Color$2.black,hcDark:foreground$1,hcLight:foreground$1},localize$1("inputOption.activeForeground","Foreground color of activated options in input fields."));registerColor$1("input.placeholderForeground",{light:transparent$1(foreground$1,.5),dark:transparent$1(foreground$1,.5),hcDark:transparent$1(foreground$1,.7),hcLight:transparent$1(foreground$1,.7)},localize$1("inputPlaceholderForeground","Input box foreground color for placeholder text."));const inputValidationInfoBackground$1=registerColor$1("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("inputValidationInfoBackground","Input validation background color for information severity.")),inputValidationInfoForeground$1=registerColor$1("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:foreground$1},localize$1("inputValidationInfoForeground","Input validation foreground color for information severity.")),inputValidationInfoBorder$1=registerColor$1("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("inputValidationInfoBorder","Input validation border color for information severity.")),inputValidationWarningBackground$1=registerColor$1("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("inputValidationWarningBackground","Input validation background color for warning severity.")),inputValidationWarningForeground$1=registerColor$1("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:foreground$1},localize$1("inputValidationWarningForeground","Input validation foreground color for warning severity.")),inputValidationWarningBorder$1=registerColor$1("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("inputValidationWarningBorder","Input validation border color for warning severity.")),inputValidationErrorBackground$1=registerColor$1("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("inputValidationErrorBackground","Input validation background color for error severity.")),inputValidationErrorForeground$1=registerColor$1("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:foreground$1},localize$1("inputValidationErrorForeground","Input validation foreground color for error severity.")),inputValidationErrorBorder$1=registerColor$1("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("inputValidationErrorBorder","Input validation border color for error severity.")),selectBackground$1=registerColor$1("dropdown.background",{dark:"#3C3C3C",light:Color$2.white,hcDark:Color$2.black,hcLight:Color$2.white},localize$1("dropdownBackground","Dropdown background.")),selectListBackground$1=registerColor$1("dropdown.listBackground",{dark:null,light:null,hcDark:Color$2.black,hcLight:Color$2.white},localize$1("dropdownListBackground","Dropdown list background.")),selectForeground$1=registerColor$1("dropdown.foreground",{dark:"#F0F0F0",light:foreground$1,hcDark:Color$2.white,hcLight:foreground$1},localize$1("dropdownForeground","Dropdown foreground.")),selectBorder$1=registerColor$1("dropdown.border",{dark:selectBackground$1,light:"#CECECE",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("dropdownBorder","Dropdown border.")),buttonForeground$1=registerColor$1("button.foreground",Color$2.white,localize$1("buttonForeground","Button foreground color.")),buttonSeparator$1=registerColor$1("button.separator",transparent$1(buttonForeground$1,.4),localize$1("buttonSeparator","Button separator color.")),buttonBackground$1=registerColor$1("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},localize$1("buttonBackground","Button background color.")),buttonHoverBackground$1=registerColor$1("button.hoverBackground",{dark:lighten$1(buttonBackground$1,.2),light:darken$2(buttonBackground$1,.2),hcDark:buttonBackground$1,hcLight:buttonBackground$1},localize$1("buttonHoverBackground","Button background color when hovering.")),buttonBorder$1=registerColor$1("button.border",contrastBorder$1,localize$1("buttonBorder","Button border color.")),buttonSecondaryForeground$1=registerColor$1("button.secondaryForeground",{dark:Color$2.white,light:Color$2.white,hcDark:Color$2.white,hcLight:foreground$1},localize$1("buttonSecondaryForeground","Secondary button foreground color.")),buttonSecondaryBackground$1=registerColor$1("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Color$2.white},localize$1("buttonSecondaryBackground","Secondary button background color.")),buttonSecondaryHoverBackground$1=registerColor$1("button.secondaryHoverBackground",{dark:lighten$1(buttonSecondaryBackground$1,.2),light:darken$2(buttonSecondaryBackground$1,.2),hcDark:null,hcLight:null},localize$1("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),radioActiveForeground=registerColor$1("radio.activeForeground",inputActiveOptionForeground$1,localize$1("radioActiveForeground","Foreground color of active radio option.")),radioActiveBackground=registerColor$1("radio.activeBackground",inputActiveOptionBackground$1,localize$1("radioBackground","Background color of active radio option.")),radioActiveBorder=registerColor$1("radio.activeBorder",inputActiveOptionBorder$1,localize$1("radioActiveBorder","Border color of the active radio option.")),radioInactiveForeground=registerColor$1("radio.inactiveForeground",null,localize$1("radioInactiveForeground","Foreground color of inactive radio option.")),radioInactiveBackground=registerColor$1("radio.inactiveBackground",null,localize$1("radioInactiveBackground","Background color of inactive radio option.")),radioInactiveBorder=registerColor$1("radio.inactiveBorder",{light:transparent$1(radioActiveForeground,.2),dark:transparent$1(radioActiveForeground,.2),hcDark:transparent$1(radioActiveForeground,.4),hcLight:transparent$1(radioActiveForeground,.2)},localize$1("radioInactiveBorder","Border color of the inactive radio option.")),radioInactiveHoverBackground=registerColor$1("radio.inactiveHoverBackground",inputActiveOptionHoverBackground,localize$1("radioHoverBackground","Background color of inactive active radio option when hovering.")),checkboxBackground$1=registerColor$1("checkbox.background",selectBackground$1,localize$1("checkbox.background","Background color of checkbox widget."));registerColor$1("checkbox.selectBackground",editorWidgetBackground$1,localize$1("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const checkboxForeground$1=registerColor$1("checkbox.foreground",selectForeground$1,localize$1("checkbox.foreground","Foreground color of checkbox widget.")),checkboxBorder$1=registerColor$1("checkbox.border",selectBorder$1,localize$1("checkbox.border","Border color of checkbox widget."));registerColor$1("checkbox.selectBorder",iconForeground$1,localize$1("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const keybindingLabelBackground$1=registerColor$1("keybindingLabel.background",{dark:new Color$2(new RGBA$2(128,128,128,.17)),light:new Color$2(new RGBA$2(221,221,221,.4)),hcDark:Color$2.transparent,hcLight:Color$2.transparent},localize$1("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelForeground$1=registerColor$1("keybindingLabel.foreground",{dark:Color$2.fromHex("#CCCCCC"),light:Color$2.fromHex("#555555"),hcDark:Color$2.white,hcLight:foreground$1},localize$1("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBorder$1=registerColor$1("keybindingLabel.border",{dark:new Color$2(new RGBA$2(51,51,51,.6)),light:new Color$2(new RGBA$2(204,204,204,.4)),hcDark:new Color$2(new RGBA$2(111,195,223)),hcLight:contrastBorder$1},localize$1("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBottomBorder$1=registerColor$1("keybindingLabel.bottomBorder",{dark:new Color$2(new RGBA$2(68,68,68,.6)),light:new Color$2(new RGBA$2(187,187,187,.4)),hcDark:new Color$2(new RGBA$2(111,195,223)),hcLight:foreground$1},localize$1("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),listFocusBackground$1=registerColor$1("list.focusBackground",null,localize$1("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusForeground$1=registerColor$1("list.focusForeground",null,localize$1("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusOutline$1=registerColor$1("list.focusOutline",{dark:focusBorder$1,light:focusBorder$1,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusAndSelectionOutline$1=registerColor$1("list.focusAndSelectionOutline",null,localize$1("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionBackground$1=registerColor$1("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Color$2.fromHex("#0F4A85").transparent(.1)},localize$1("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionForeground$1=registerColor$1("list.activeSelectionForeground",{dark:Color$2.white,light:Color$2.white,hcDark:null,hcLight:null},localize$1("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionIconForeground$1=registerColor$1("list.activeSelectionIconForeground",null,localize$1("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionBackground$1=registerColor$1("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Color$2.fromHex("#0F4A85").transparent(.1)},localize$1("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionForeground$1=registerColor$1("list.inactiveSelectionForeground",null,localize$1("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionIconForeground$1=registerColor$1("list.inactiveSelectionIconForeground",null,localize$1("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveFocusBackground$1=registerColor$1("list.inactiveFocusBackground",null,localize$1("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveFocusOutline$1=registerColor$1("list.inactiveFocusOutline",null,localize$1("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listHoverBackground$1=registerColor$1("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Color$2.white.transparent(.1),hcLight:Color$2.fromHex("#0F4A85").transparent(.1)},localize$1("listHoverBackground","List/Tree background when hovering over items using the mouse.")),listHoverForeground$1=registerColor$1("list.hoverForeground",null,localize$1("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),listDropOverBackground$1=registerColor$1("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},localize$1("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),listDropBetweenBackground$1=registerColor$1("list.dropBetweenBackground",{dark:iconForeground$1,light:iconForeground$1,hcDark:null,hcLight:null},localize$1("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),listHighlightForeground$1=registerColor$1("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:focusBorder$1,hcLight:focusBorder$1},localize$1("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),listFocusHighlightForeground$1=registerColor$1("list.focusHighlightForeground",{dark:listHighlightForeground$1,light:ifDefinedThenElse$1(listActiveSelectionBackground$1,listHighlightForeground$1,"#BBE7FF"),hcDark:listHighlightForeground$1,hcLight:listHighlightForeground$1},localize$1("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));registerColor$1("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},localize$1("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer."));registerColor$1("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},localize$1("listErrorForeground","Foreground color of list items containing errors."));registerColor$1("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},localize$1("listWarningForeground","Foreground color of list items containing warnings."));const listFilterWidgetBackground$1=registerColor$1("listFilterWidget.background",{light:darken$2(editorWidgetBackground$1,0),dark:lighten$1(editorWidgetBackground$1,0),hcDark:editorWidgetBackground$1,hcLight:editorWidgetBackground$1},localize$1("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),listFilterWidgetOutline$1=registerColor$1("listFilterWidget.outline",{dark:Color$2.transparent,light:Color$2.transparent,hcDark:"#f38518",hcLight:"#007ACC"},localize$1("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),listFilterWidgetNoMatchesOutline$1=registerColor$1("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),listFilterWidgetShadow$1=registerColor$1("listFilterWidget.shadow",widgetShadow$1,localize$1("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));registerColor$1("list.filterMatchBackground",{dark:editorFindMatchHighlight$1,light:editorFindMatchHighlight$1,hcDark:null,hcLight:null},localize$1("listFilterMatchHighlight","Background color of the filtered match."));registerColor$1("list.filterMatchBorder",{dark:editorFindMatchHighlightBorder$1,light:editorFindMatchHighlightBorder$1,hcDark:contrastBorder$1,hcLight:activeContrastBorder$1},localize$1("listFilterMatchHighlightBorder","Border color of the filtered match."));registerColor$1("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},localize$1("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const treeIndentGuidesStroke$1=registerColor$1("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},localize$1("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),treeInactiveIndentGuidesStroke$1=registerColor$1("tree.inactiveIndentGuidesStroke",transparent$1(treeIndentGuidesStroke$1,.4),localize$1("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),tableColumnsBorder$1=registerColor$1("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},localize$1("tableColumnsBorder","Table border color between columns.")),tableOddRowsBackgroundColor$1=registerColor$1("tree.tableOddRowsBackground",{dark:transparent$1(foreground$1,.04),light:transparent$1(foreground$1,.04),hcDark:null,hcLight:null},localize$1("tableOddRowsBackgroundColor","Background color for odd table rows."));registerColor$1("editorActionList.background",editorWidgetBackground$1,localize$1("editorActionListBackground","Action List background color."));registerColor$1("editorActionList.foreground",editorWidgetForeground$1,localize$1("editorActionListForeground","Action List foreground color."));registerColor$1("editorActionList.focusForeground",listActiveSelectionForeground$1,localize$1("editorActionListFocusForeground","Action List foreground color for the focused item."));registerColor$1("editorActionList.focusBackground",listActiveSelectionBackground$1,localize$1("editorActionListFocusBackground","Action List background color for the focused item."));const menuBorder$1=registerColor$1("menu.border",{dark:null,light:null,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("menuBorder","Border color of menus.")),menuForeground$1=registerColor$1("menu.foreground",selectForeground$1,localize$1("menuForeground","Foreground color of menu items.")),menuBackground$1=registerColor$1("menu.background",selectBackground$1,localize$1("menuBackground","Background color of menu items.")),menuSelectionForeground$1=registerColor$1("menu.selectionForeground",listActiveSelectionForeground$1,localize$1("menuSelectionForeground","Foreground color of the selected menu item in menus.")),menuSelectionBackground$1=registerColor$1("menu.selectionBackground",listActiveSelectionBackground$1,localize$1("menuSelectionBackground","Background color of the selected menu item in menus.")),menuSelectionBorder$1=registerColor$1("menu.selectionBorder",{dark:null,light:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("menuSelectionBorder","Border color of the selected menu item in menus.")),menuSeparatorBackground$1=registerColor$1("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("menuSeparatorBackground","Color of a separator menu item in menus.")),quickInputBackground$1=registerColor$1("quickInput.background",editorWidgetBackground$1,localize$1("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),quickInputForeground$1=registerColor$1("quickInput.foreground",editorWidgetForeground$1,localize$1("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),quickInputTitleBackground$1=registerColor$1("quickInputTitle.background",{dark:new Color$2(new RGBA$2(255,255,255,.105)),light:new Color$2(new RGBA$2(0,0,0,.06)),hcDark:"#000000",hcLight:Color$2.white},localize$1("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),pickerGroupForeground$1=registerColor$1("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Color$2.white,hcLight:"#0F4A85"},localize$1("pickerGroupForeground","Quick picker color for grouping labels.")),pickerGroupBorder$1=registerColor$1("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Color$2.white,hcLight:"#0F4A85"},localize$1("pickerGroupBorder","Quick picker color for grouping borders.")),_deprecatedQuickInputListFocusBackground$1=registerColor$1("quickInput.list.focusBackground",null,"",void 0,localize$1("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),quickInputListFocusForeground$1=registerColor$1("quickInputList.focusForeground",listActiveSelectionForeground$1,localize$1("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),quickInputListFocusIconForeground$1=registerColor$1("quickInputList.focusIconForeground",listActiveSelectionIconForeground$1,localize$1("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),quickInputListFocusBackground$1=registerColor$1("quickInputList.focusBackground",{dark:oneOf$1(_deprecatedQuickInputListFocusBackground$1,listActiveSelectionBackground$1),light:oneOf$1(_deprecatedQuickInputListFocusBackground$1,listActiveSelectionBackground$1),hcDark:null,hcLight:null},localize$1("quickInput.listFocusBackground","Quick picker background color for the focused item."));registerColor$1("search.resultsInfoForeground",{light:foreground$1,dark:transparent$1(foreground$1,.65),hcDark:foreground$1,hcLight:foreground$1},localize$1("search.resultsInfoForeground","Color of the text in the search viewlet's completion message."));registerColor$1("searchEditor.findMatchBackground",{light:transparent$1(editorFindMatchHighlight$1,.66),dark:transparent$1(editorFindMatchHighlight$1,.66),hcDark:editorFindMatchHighlight$1,hcLight:editorFindMatchHighlight$1},localize$1("searchEditor.queryMatch","Color of the Search Editor query matches."));registerColor$1("searchEditor.findMatchBorder",{light:transparent$1(editorFindMatchHighlightBorder$1,.66),dark:transparent$1(editorFindMatchHighlightBorder$1,.66),hcDark:editorFindMatchHighlightBorder$1,hcLight:editorFindMatchHighlightBorder$1},localize$1("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));var __decorate$4X=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4H=function(n,e){return function(t,i){e(t,i,n)}};const IHoverService$1=createDecorator$1("hoverService");let WorkbenchHoverDelegate$1=class extends Disposable$1{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},r,g){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=r,this.hoverService=g,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new DisposableStore$1),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(y=>{y.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i=typeof this.overrideOptions=="function"?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const r=isHTMLElement$1(e.target)?[e.target]:e.target.targetElements;for(const y of r)this.hoverDisposables.add(addStandardDisposableListener$1(y,"keydown",k=>{k.equals(9)&&this.hoverService.hideHover()}));const g=isHTMLElement$1(e.content)?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:g,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime{try{e.releasePointerCapture(t)}catch(k){}}))}catch(k){y=getWindow$3(e)}this._hooks.add(addDisposableListener$1(y,EventType$3.POINTER_MOVE,k=>{if(k.buttons!==i){this.stopMonitoring(!0);return}k.preventDefault(),this._pointerMoveCallback(k)})),this._hooks.add(addDisposableListener$1(y,EventType$3.POINTER_UP,k=>this.stopMonitoring(!0)))}};function memoize$2(n,e,t){let i=null,r=null;if(typeof t.value=="function"?(i="value",r=t.value,r.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof t.get=="function"&&(i="get",r=t.get),!r)throw new Error("not supported");const g="$memoize$".concat(e);t[i]=function(...y){return this.hasOwnProperty(g)||Object.defineProperty(this,g,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,y)}),this[g]}}var __decorate$4W=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},EventType$2;(function(n){n.Tap="-monaco-gesturetap",n.Change="-monaco-gesturechange",n.Start="-monaco-gesturestart",n.End="-monaco-gesturesend",n.Contextmenu="-monaco-gesturecontextmenu"})(EventType$2||(EventType$2={}));var Wn;let Gesture$1=(Wn=class extends Disposable$1{constructor(){super(),this.dispatched=!1,this.targets=new LinkedList$1,this.ignoreTargets=new LinkedList$1,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Event$2.runAndSubscribe(onDidRegisterWindow$1,({window:e,disposables:t})=>{t.add(addDisposableListener$1(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(addDisposableListener$1(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add(addDisposableListener$1(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:mainWindow$1,disposables:this._store}))}static addTarget(e){if(!Wn.isTouchDevice())return Disposable$1.None;Wn.INSTANCE||(Wn.INSTANCE=new Wn);const t=Wn.INSTANCE.targets.push(e);return toDisposable$1(t)}static ignoreTarget(e){if(!Wn.isTouchDevice())return Disposable$1.None;Wn.INSTANCE||(Wn.INSTANCE=new Wn);const t=Wn.INSTANCE.ignoreTargets.push(e);return toDisposable$1(t)}static isTouchDevice(){return"ontouchstart"in mainWindow$1||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,r=e.targetTouches.length;i=Wn.HOLD_DELAY&&Math.abs(L.initialPageX-tail$1(L.rollingPageX))<30&&Math.abs(L.initialPageY-tail$1(L.rollingPageY))<30){const z=this.newGestureEvent(EventType$2.Contextmenu,L.initialTarget);z.pageX=tail$1(L.rollingPageX),z.pageY=tail$1(L.rollingPageY),this.dispatchEvent(z)}else if(r===1){const z=tail$1(L.rollingPageX),j=tail$1(L.rollingPageY),ie=tail$1(L.rollingTimestamps)-L.rollingTimestamps[0],oe=z-L.rollingPageX[0],re=j-L.rollingPageY[0],ae=[...this.targets].filter(le=>L.initialTarget instanceof Node&&le.contains(L.initialTarget));this.inertia(e,ae,i,Math.abs(oe)/ie,oe>0?1:-1,z,Math.abs(re)/ie,re>0?1:-1,j)}this.dispatchEvent(this.newGestureEvent(EventType$2.End,L.initialTarget)),delete this.activeTouches[k.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===EventType$2.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>Wn.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===EventType$2.Change||e.type===EventType$2.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let r=0,g=e.initialTarget;for(;g&&g!==i;)r++,g=g.parentElement;t.push([r,i])}t.sort((i,r)=>i[0]-r[0]);for(const[i,r]of t)r.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,r,g,y,k,L,V){this.handle=scheduleAtNextAnimationFrame$1(e,()=>{const z=Date.now(),j=z-i;let ie=0,oe=0,re=!0;r+=Wn.SCROLL_FRICTION*j,k+=Wn.SCROLL_FRICTION*j,r>0&&(re=!1,ie=g*r*j),k>0&&(re=!1,oe=L*k*j);const ae=this.newGestureEvent(EventType$2.Change);ae.translationX=ie,ae.translationY=oe,t.forEach(le=>le.dispatchEvent(ae)),re||this.inertia(e,t,z,r,g,y+ie,k,L,V+oe)})}onTouchMove(e){const t=Date.now();for(let i=0,r=e.changedTouches.length;i3&&(y.rollingPageX.shift(),y.rollingPageY.shift(),y.rollingTimestamps.shift()),y.rollingPageX.push(g.pageX),y.rollingPageY.push(g.pageY),y.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}},Wn.SCROLL_FRICTION=-.005,Wn.HOLD_DELAY=700,Wn.CLEAR_TAP_COUNT_TIME=400,Wn);__decorate$4W([memoize$2],Gesture$1,"isTouchDevice",null);let Widget$3=class extends Disposable$1{onclick(e,t){this._register(addDisposableListener$1(e,EventType$3.CLICK,i=>t(new StandardMouseEvent$1(getWindow$3(e),i))))}onmousedown(e,t){this._register(addDisposableListener$1(e,EventType$3.MOUSE_DOWN,i=>t(new StandardMouseEvent$1(getWindow$3(e),i))))}onmouseover(e,t){this._register(addDisposableListener$1(e,EventType$3.MOUSE_OVER,i=>t(new StandardMouseEvent$1(getWindow$3(e),i))))}onmouseleave(e,t){this._register(addDisposableListener$1(e,EventType$3.MOUSE_LEAVE,i=>t(new StandardMouseEvent$1(getWindow$3(e),i))))}onkeydown(e,t){this._register(addDisposableListener$1(e,EventType$3.KEY_DOWN,i=>t(new StandardKeyboardEvent$1(i))))}onkeyup(e,t){this._register(addDisposableListener$1(e,EventType$3.KEY_UP,i=>t(new StandardKeyboardEvent$1(i))))}oninput(e,t){this._register(addDisposableListener$1(e,EventType$3.INPUT,t))}onblur(e,t){this._register(addDisposableListener$1(e,EventType$3.BLUR,t))}onfocus(e,t){this._register(addDisposableListener$1(e,EventType$3.FOCUS,t))}ignoreGesture(e){return Gesture$1.ignoreTarget(e)}};const ARROW_IMG_SIZE$1=11;let ScrollbarArrow$1=class extends Widget$3{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...ThemeIcon$1.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=ARROW_IMG_SIZE$1+"px",this.domNode.style.height=ARROW_IMG_SIZE$1+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor$1),this._register(addStandardDisposableListener$1(this.bgDomNode,EventType$3.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(addStandardDisposableListener$1(this.domNode,EventType$3.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new WindowIntervalTimer$1),this._pointerdownScheduleRepeatTimer=this._register(new TimeoutTimer$1)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,getWindow$3(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},ScrollbarVisibilityController$1=class extends Disposable$1{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new TimeoutTimer$1)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?" fade":"")))}};const POINTER_DRAG_RESET_DISTANCE$3=140;let AbstractScrollbar$1=class extends Widget$3{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new ScrollbarVisibilityController$1(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor$1),this._shouldRender=!0,this.domNode=createFastDomNode$1(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(addDisposableListener$1(this.domNode.domNode,EventType$3.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new ScrollbarArrow$1(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,r){this.slider=createFastDomNode$1(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(addDisposableListener$1(this.slider.domNode,EventType$3.POINTER_DOWN,g=>{g.button===0&&(g.preventDefault(),this._sliderPointerDown(g))})),this.onclick(this.slider.domNode,g=>{g.leftButton&&g.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),g=this._sliderPointerPosition(e);i<=g&&g<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const g=getDomNodePagePosition$1(this.domNode.domNode);t=e.pageX-g.left,i=e.pageY-g.top}const r=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,g=>{const y=this._sliderOrthogonalPointerPosition(g),k=Math.abs(y-i);if(isWindows$1&&k>POINTER_DRAG_RESET_DISTANCE$3){this._setDesiredScrollPositionNow(r.getScrollPosition());return}const V=this._sliderPointerPosition(g)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(V))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}};const MINIMUM_SLIDER_SIZE$1=20;let ScrollbarState$1=class md{constructor(e,t,i,r,g,y){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=g,this._scrollPosition=y,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new md(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,r,g){const y=Math.max(0,i-e),k=Math.max(0,y-2*t),L=r>0&&r>i;if(!L)return{computedAvailableSize:Math.round(y),computedIsNeeded:L,computedSliderSize:Math.round(k),computedSliderRatio:0,computedSliderPosition:0};const V=Math.round(Math.max(MINIMUM_SLIDER_SIZE$1,Math.floor(i*k/r))),z=(k-V)/(r-i),j=g*z;return{computedAvailableSize:Math.round(y),computedIsNeeded:L,computedSliderSize:Math.round(V),computedSliderRatio:z,computedSliderPosition:Math.round(j)}}_refreshComputedValues(){const e=md._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new StandardWheelEvent$1(null,1,0))}),this._createArrow({className:"scra",icon:Codicon$1.scrollbarButtonRight,top:k,left:void 0,bottom:void 0,right:y,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent$1(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},VerticalScrollbar$1=class extends AbstractScrollbar$1{constructor(e,t,i){const r=e.getScrollDimensions(),g=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new ScrollbarState$1(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,g.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const y=(t.arrowSize-ARROW_IMG_SIZE$1)/2,k=(t.verticalScrollbarSize-ARROW_IMG_SIZE$1)/2;this._createArrow({className:"scra",icon:Codicon$1.scrollbarButtonUp,top:y,left:k,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent$1(null,0,1))}),this._createArrow({className:"scra",icon:Codicon$1.scrollbarButtonDown,top:void 0,left:k,bottom:y,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent$1(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},ScrollState$1=class vd{constructor(e,t,i,r,g,y,k){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,r=r|0,g=g|0,y=y|0,k=k|0),this.rawScrollLeft=r,this.rawScrollTop=k,t<0&&(t=0),r+t>i&&(r=i-t),r<0&&(r=0),g<0&&(g=0),k+g>y&&(k=y-g),k<0&&(k=0),this.width=t,this.scrollWidth=i,this.scrollLeft=r,this.height=g,this.scrollHeight=y,this.scrollTop=k}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new vd(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new vd(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,g=this.scrollLeft!==e.scrollLeft,y=this.height!==e.height,k=this.scrollHeight!==e.scrollHeight,L=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:g,heightChanged:y,scrollHeightChanged:k,scrollTopChanged:L}}},Scrollable$2=class extends Disposable$1{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Emitter$3),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new ScrollState$1(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var r;const i=this._state.withScrollDimensions(e,t);this._setState(i,!!this._smoothScrolling),(r=this._smoothScrolling)==null||r.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;t?r=new SmoothScrollingOperation$1(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=SmoothScrollingOperation$1.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}},SmoothScrollingUpdate$1=class{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}};function createEaseOutCubic$1(n,e){const t=e-n;return function(i){return n+t*easeOutCubic$1(i)}}function createComposed$1(n,e,t){return function(i){return i2.5*i){let g,y;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const r=Math.abs(e.deltaX),g=Math.abs(e.deltaY),y=Math.abs(t.deltaX),k=Math.abs(t.deltaY),L=Math.max(Math.min(r,y),1),V=Math.max(Math.min(g,k),1),z=Math.max(r,y),j=Math.max(g,k);z%L===0&&j%V===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}},ks.INSTANCE=new ks,ks),AbstractScrollableElement$1=class extends Widget$3{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new Emitter$3),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Emitter$3),e.style.overflow="hidden",this._options=resolveOptions$5(t),this._scrollable=i,this._register(this._scrollable.onScroll(g=>{this._onWillScroll.fire(g),this._onDidScroll(g),this._onScroll.fire(g)}));const r={onMouseWheel:g=>this._onMouseWheel(g),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new VerticalScrollbar$1(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new HorizontalScrollbar$1(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=createFastDomNode$1(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=createFastDomNode$1(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=createFastDomNode$1(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,g=>this._onMouseOver(g)),this.onmouseleave(this._listenOnDomNode,g=>this._onMouseLeave(g)),this._hideTimeout=this._register(new TimeoutTimer$1),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=dispose$1(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,isMacintosh$1&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new StandardWheelEvent$1(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=dispose$1(this._mouseWheelToDispose),e)){const i=r=>{this._onMouseWheel(new StandardWheelEvent$1(r))};this._mouseWheelToDispose.push(addDisposableListener$1(this._listenOnDomNode,EventType$3.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){var g;if((g=e.browserEvent)!=null&&g.defaultPrevented)return;const t=MouseWheelClassifier$1.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let y=e.deltaY*this._options.mouseWheelScrollSensitivity,k=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&k+y===0?k=y=0:Math.abs(y)>=Math.abs(k)?k=0:y=0),this._options.flipAxes&&([y,k]=[k,y]);const L=!isMacintosh$1&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||L)&&!k&&(k=y,y=0),e.browserEvent&&e.browserEvent.altKey&&(k=k*this._options.fastScrollSensitivity,y=y*this._options.fastScrollSensitivity);const V=this._scrollable.getFutureScrollPosition();let z={};if(y){const j=SCROLL_WHEEL_SENSITIVITY$1*y,ie=V.scrollTop-(j<0?Math.floor(j):Math.ceil(j));this._verticalScrollbar.writeScrollPosition(z,ie)}if(k){const j=SCROLL_WHEEL_SENSITIVITY$1*k,ie=V.scrollLeft-(j<0?Math.floor(j):Math.ceil(j));this._horizontalScrollbar.writeScrollPosition(z,ie)}z=this._scrollable.validateScrollPosition(z),(V.scrollLeft!==z.scrollLeft||V.scrollTop!==z.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(z):this._scrollable.setScrollPositionNow(z),i=!0)}let r=i;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,r=i?" left":"",g=t?" top":"",y=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName("shadow".concat(r)),this._topShadowDomNode.setClassName("shadow".concat(g)),this._topLeftShadowDomNode.setClassName("shadow".concat(y).concat(g).concat(r))}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),HIDE_TIMEOUT$1)}},ScrollableElement$1=class extends AbstractScrollableElement$1{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Scrollable$2({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>scheduleAtNextAnimationFrame$1(getWindow$3(e),r)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}},SmoothScrollableElement$1=class extends AbstractScrollableElement$1{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}},DomScrollableElement$1=class extends AbstractScrollableElement$1{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Scrollable$2({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>scheduleAtNextAnimationFrame$1(getWindow$3(e),r)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(r=>{r.scrollTopChanged&&(this._element.scrollTop=r.scrollTop),r.scrollLeftChanged&&(this._element.scrollLeft=r.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}};function resolveOptions$5(n){const e={lazyRender:typeof n.lazyRender<"u"?n.lazyRender:!1,className:typeof n.className<"u"?n.className:"",useShadows:typeof n.useShadows<"u"?n.useShadows:!0,handleMouseWheel:typeof n.handleMouseWheel<"u"?n.handleMouseWheel:!0,flipAxes:typeof n.flipAxes<"u"?n.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof n.consumeMouseWheelIfScrollbarIsNeeded<"u"?n.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof n.alwaysConsumeMouseWheel<"u"?n.alwaysConsumeMouseWheel:!1,scrollYToX:typeof n.scrollYToX<"u"?n.scrollYToX:!1,mouseWheelScrollSensitivity:typeof n.mouseWheelScrollSensitivity<"u"?n.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof n.fastScrollSensitivity<"u"?n.fastScrollSensitivity:5,scrollPredominantAxis:typeof n.scrollPredominantAxis<"u"?n.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof n.mouseWheelSmoothScroll<"u"?n.mouseWheelSmoothScroll:!0,arrowSize:typeof n.arrowSize<"u"?n.arrowSize:11,listenOnDomNode:typeof n.listenOnDomNode<"u"?n.listenOnDomNode:null,horizontal:typeof n.horizontal<"u"?n.horizontal:1,horizontalScrollbarSize:typeof n.horizontalScrollbarSize<"u"?n.horizontalScrollbarSize:10,horizontalSliderSize:typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:0,horizontalHasArrows:typeof n.horizontalHasArrows<"u"?n.horizontalHasArrows:!1,vertical:typeof n.vertical<"u"?n.vertical:1,verticalScrollbarSize:typeof n.verticalScrollbarSize<"u"?n.verticalScrollbarSize:10,verticalHasArrows:typeof n.verticalHasArrows<"u"?n.verticalHasArrows:!1,verticalSliderSize:typeof n.verticalSliderSize<"u"?n.verticalSliderSize:0,scrollByPage:typeof n.scrollByPage<"u"?n.scrollByPage:!1};return e.horizontalSliderSize=typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof n.verticalSliderSize<"u"?n.verticalSliderSize:e.verticalScrollbarSize,isMacintosh$1&&(e.className+=" mac"),e}const $$t=$$u;let HoverWidget$3=class extends Disposable$1{constructor(){super(),this.containerDomNode=document.createElement("div"),this.containerDomNode.className="monaco-hover",this.containerDomNode.tabIndex=0,this.containerDomNode.setAttribute("role","tooltip"),this.contentsDomNode=document.createElement("div"),this.contentsDomNode.className="monaco-hover-content",this.scrollbar=this._register(new DomScrollableElement$1(this.contentsDomNode,{consumeMouseWheelIfScrollbarIsNeeded:!0})),this.containerDomNode.appendChild(this.scrollbar.getDomNode())}onContentsChanged(){this.scrollbar.scanDomNode()}},HoverAction$1=class zu extends Disposable$1{static render(e,t,i){return new zu(e,t,i)}constructor(e,t,i){super(),this.actionLabel=t.label,this.actionKeybindingLabel=i,this.actionContainer=append$4(e,$$t("div.action-container")),this.actionContainer.setAttribute("tabindex","0"),this.action=append$4(this.actionContainer,$$t("a.action")),this.action.setAttribute("role","button"),t.iconClass&&append$4(this.action,$$t("span.icon.".concat(t.iconClass)));const r=append$4(this.action,$$t("span"));r.textContent=i?"".concat(t.label," (").concat(i,")"):t.label,this._store.add(new ClickAction(this.actionContainer,t.run)),this._store.add(new KeyDownAction(this.actionContainer,t.run,[3,10])),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}};function getHoverAccessibleViewHint$1(n,e){return n&&e?localize$1("acessibleViewHint","Inspect this in the accessible view with {0}.",e):n?localize$1("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}class ClickAction extends Disposable$1{constructor(e,t){super(),this._register(addDisposableListener$1(e,EventType$3.CLICK,i=>{i.stopPropagation(),i.preventDefault(),t(e)}))}}class KeyDownAction extends Disposable$1{constructor(e,t,i){super(),this._register(addDisposableListener$1(e,EventType$3.KEY_DOWN,r=>{const g=new StandardKeyboardEvent$1(r);i.some(y=>g.equals(y))&&(r.stopPropagation(),r.preventDefault(),t(e))}))}}const IOpenerService$1=createDecorator$1("openerService");function extractSelection$1(n){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(n.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},n=n.with({fragment:""})),{selection:e,uri:n}}let DomEmitter$1=class{get event(){return this.emitter.event}constructor(e,t,i){const r=g=>this.emitter.fire(g);this.emitter=new Emitter$3({onWillAddFirstListener:()=>e.addEventListener(t,r,i),onDidRemoveLastListener:()=>e.removeEventListener(t,r,i)})}dispose(){this.emitter.dispose()}};function renderText$1(n,e={}){const t=createElement$2(e);return t.textContent=n,t}function renderFormattedText$1(n,e={}){const t=createElement$2(e);return _renderFormattedText$1(t,parseFormattedText$1(n,!!e.renderCodeSegments),e.actionHandler,e.renderCodeSegments),t}function createElement$2(n){const e=n.inline?"span":"div",t=document.createElement(e);return n.className&&(t.className=n.className),t}let StringStream$1=class{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}};function _renderFormattedText$1(n,e,t,i){let r;if(e.type===2)r=document.createTextNode(e.content||"");else if(e.type===3)r=document.createElement("b");else if(e.type===4)r=document.createElement("i");else if(e.type===7&&i)r=document.createElement("code");else if(e.type===5&&t){const g=document.createElement("a");t.disposables.add(addStandardDisposableListener$1(g,"click",y=>{t.callback(String(e.index),y)})),r=g}else e.type===8?r=document.createElement("br"):e.type===1&&(r=n);r&&n!==r&&n.appendChild(r),r&&Array.isArray(e.children)&&e.children.forEach(g=>{_renderFormattedText$1(r,g,t,i)})}function parseFormattedText$1(n,e){const t={type:1,children:[]};let i=0,r=t;const g=[],y=new StringStream$1(n);for(;!y.eos();){let k=y.next();const L=k==="\\"&&formatTagType$1(y.peek(),e)!==0;if(L&&(k=y.next()),!L&&isFormatTag$1(k,e)&&k===y.peek()){y.advance(),r.type===2&&(r=g.pop());const V=formatTagType$1(k,e);if(r.type===V||r.type===5&&V===6)r=g.pop();else{const z={type:V,children:[]};V===5&&(z.index=i,i++),r.children.push(z),g.push(r),r=z}}else if(k==="\n")r.type===2&&(r=g.pop()),r.children.push({type:8});else if(r.type!==2){const V={type:2,content:k};r.children.push(V),g.push(r),r=V}else r.content+=k}return r.type===2&&(r=g.pop()),t}function isFormatTag$1(n,e){return formatTagType$1(n,e)!==0}function formatTagType$1(n,e){switch(n){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return e?7:0;default:return 0}}const labelWithIconsRegex$1=new RegExp("(\\\\)?\\$\\((".concat(ThemeIcon$1.iconNameExpression,"(?:").concat(ThemeIcon$1.iconModifierExpression,")?)\\)"),"g");function renderLabelWithIcons$1(n){const e=new Array;let t,i=0,r=0;for(;(t=labelWithIconsRegex$1.exec(n))!==null;){r=t.index||0,i0)return new Uint32Array(e)}let codeBufferLength$1=0;const codeBuffer$1=new Uint32Array(10);function disassembleKorean$1(n){if(codeBufferLength$1=0,getCodesFromArray$1(n,modernConsonants$1,4352),codeBufferLength$1>0||(getCodesFromArray$1(n,modernVowels$1,4449),codeBufferLength$1>0)||(getCodesFromArray$1(n,modernFinalConsonants$1,4520),codeBufferLength$1>0)||(getCodesFromArray$1(n,compatibilityJamo$1,12593),codeBufferLength$1))return codeBuffer$1.subarray(0,codeBufferLength$1);if(n>=44032&&n<=55203){const e=n-44032,t=e%588,i=Math.floor(e/588),r=Math.floor(t/28),g=t%28-1;if(i=0&&(g0)return codeBuffer$1.subarray(0,codeBufferLength$1)}}function getCodesFromArray$1(n,e,t){n>=t&&n>8&&(codeBuffer$1[codeBufferLength$1++]=n>>8&255),n>>16&&(codeBuffer$1[codeBufferLength$1++]=n>>16&255))}const modernConsonants$1=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),modernVowels$1=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),modernFinalConsonants$1=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),compatibilityJamo$1=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function or$1(...n){return function(e,t){for(let i=0,r=n.length;i0?[{start:0,end:e.length}]:[]:null}function matchesContiguousSubString$1(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t===-1?null:[{start:t,end:t+n.length}]}function matchesSubString$1(n,e){return _matchesSubString$1(n.toLowerCase(),e.toLowerCase(),0,0)}function _matchesSubString$1(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]===e[i]){let r=null;return(r=_matchesSubString$1(n,e,t+1,i+1))?join$1({start:i,end:i+1},r):null}return _matchesSubString$1(n,e,t,i+1)}function isLower$1(n){return 97<=n&&n<=122}function isUpper$1(n){return 65<=n&&n<=90}function isNumber$7(n){return 48<=n&&n<=57}function isWhitespace$1(n){return n===32||n===9||n===10||n===13}const wordSeparators$1=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(n=>wordSeparators$1.add(n.charCodeAt(0)));function isWordSeparator$1(n){return isWhitespace$1(n)||wordSeparators$1.has(n)}function charactersMatch$1(n,e){return n===e||isWordSeparator$1(n)&&isWordSeparator$1(e)}const alternateCharsCache$1=new Map;function getAlternateCodes$1(n){if(alternateCharsCache$1.has(n))return alternateCharsCache$1.get(n);let e;const t=getKoreanAltChars$1(n);return t&&(e=t),alternateCharsCache$1.set(n,e),e}function isAlphanumeric$1(n){return isLower$1(n)||isUpper$1(n)||isNumber$7(n)}function join$1(n,e){return e.length===0?e=[n]:n.end===e[0].start?e[0].start=n.start:e.unshift(n),e}function nextAnchor$1(n,e){for(let t=e;t0&&!isAlphanumeric$1(n.charCodeAt(t-1)))return t}return n.length}function _matchesCamelCase$1(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]!==e[i].toLowerCase())return null;{let r=null,g=i+1;for(r=_matchesCamelCase$1(n,e,t+1,i+1);!r&&(g=nextAnchor$1(e,g)).6}function isCamelCaseWord$1(n){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:r}=n;return t>.2&&e<.8&&i>.6&&r<.2}function isCamelCasePattern$1(n){let e=0,t=0,i=0,r=0;for(let g=0;g60&&(e=e.substring(0,60));const t=analyzeCamelCaseWord$1(e);if(!isCamelCaseWord$1(t)){if(!isUpperCaseWord$1(t))return null;e=e.toLowerCase()}let i=null,r=0;for(n=n.toLowerCase();r0&&isWordSeparator$1(n.charCodeAt(t-1)))return t;return n.length}const fuzzyContiguousFilter$1=or$1(matchesPrefix$1,matchesCamelCase$1,matchesContiguousSubString$1),fuzzySeparateFilter$1=or$1(matchesPrefix$1,matchesCamelCase$1,matchesSubString$1),fuzzyRegExpCache$1=new LRUCache$1(1e4);function matchesFuzzy$1(n,e,t=!1){if(typeof n!="string"||typeof e!="string")return null;let i=fuzzyRegExpCache$1.get(n);i||(i=new RegExp(convertSimple2RegExpPattern$1(n),"i"),fuzzyRegExpCache$1.set(n,i));const r=i.exec(e);return r?[{start:r.index,end:r.index+r[0].length}]:t?fuzzySeparateFilter$1(n,e):fuzzyContiguousFilter$1(n,e)}function matchesFuzzy2$1(n,e){const t=fuzzyScore$1(n,n.toLowerCase(),0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return t?createMatches$1(t):null}function anyScore$1(n,e,t,i,r,g){const y=Math.min(13,n.length);for(;t"u")return[];const e=[],t=n[1];for(let i=n.length-1;i>1;i--){const r=n[i]+t,g=e[e.length-1];g&&g.end===r?g.end=r+1:e.push({start:r,end:r+1})}return e}const _maxLen$1=128;function initTable$1(){const n=[],e=[];for(let t=0;t<=_maxLen$1;t++)e[t]=0;for(let t=0;t<=_maxLen$1;t++)n.push(e.slice(0));return n}function initArr$1(n){const e=[];for(let t=0;t<=n;t++)e[t]=0;return e}const _minWordMatchPos$1=initArr$1(2*_maxLen$1),_maxWordMatchPos$1=initArr$1(2*_maxLen$1),_diag$1=initTable$1(),_table$1=initTable$1(),_arrows$1=initTable$1();function isSeparatorAtPos$1(n,e){if(e<0||e>=n.length)return!1;const t=n.codePointAt(e);switch(t){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!isEmojiImprecise$1(t)}}function isWhitespaceAtPos$1(n,e){if(e<0||e>=n.length)return!1;switch(n.charCodeAt(e)){case 32:case 9:return!0;default:return!1}}function isUpperCaseAtPos$1(n,e,t){return e[n]!==t[n]}function isPatternInWord$1(n,e,t,i,r,g,y=!1){for(;e_maxLen$1?_maxLen$1:n.length,L=i.length>_maxLen$1?_maxLen$1:i.length;if(t>=k||g>=L||k-t>L-g||!isPatternInWord$1(e,t,k,r,g,L,!0))return;_fillInMaxWordMatchPos$1(k,L,t,g,e,r);let V=1,z=1,j=t,ie=g;const oe=[!1];for(V=1,j=t;jue,Ne=Ie?_table$1[V][z-1]+(_diag$1[V][z-1]>0?-5:0):0,Fe=ie>ue+1&&_diag$1[V][z-1]>0,Ve=Fe?_table$1[V][z-2]+(_diag$1[V][z-2]>0?-5:0):0;if(Fe&&(!Ie||Ve>=Ne)&&(!$e||Ve>=xe))_table$1[V][z]=Ve,_arrows$1[V][z]=3,_diag$1[V][z]=0;else if(Ie&&(!$e||Ne>=xe))_table$1[V][z]=Ne,_arrows$1[V][z]=2,_diag$1[V][z]=0;else if($e)_table$1[V][z]=xe,_arrows$1[V][z]=1,_diag$1[V][z]=_diag$1[V-1][z-1]+1;else throw new Error("not possible")}}if(!oe[0]&&!y.firstMatchCanBeWeak)return;V--,z--;const re=[_table$1[V][z],g];let ae=0,le=0;for(;V>=1;){let ue=z;do{const he=_arrows$1[V][ue];if(he===3)ue=ue-2;else if(he===2)ue=ue-1;else break}while(ue>=1);ae>1&&e[t+V-1]===r[g+z-1]&&!isUpperCaseAtPos$1(ue+g-1,i,r)&&ae+1>_diag$1[V][ue]&&(ue=z),ue===z?ae++:ae=1,le||(le=ue),V--,z=ue-1,re.push(z)}L-g===k&&y.boostFullMatch&&(re[0]+=2);const de=le-k;return re[0]-=de,re}function _fillInMaxWordMatchPos$1(n,e,t,i,r,g){let y=n-1,k=e-1;for(;y>=t&&k>=i;)r[y]===g[k]&&(_maxWordMatchPos$1[y]=k,y--),k--}function _doScore$1(n,e,t,i,r,g,y,k,L,V,z){if(e[t]!==g[y])return Number.MIN_SAFE_INTEGER;let j=1,ie=!1;return y===t-i?j=n[t]===r[y]?7:5:isUpperCaseAtPos$1(y,r,g)&&(y===0||!isUpperCaseAtPos$1(y-1,r,g))?(j=n[t]===r[y]?7:5,ie=!0):isSeparatorAtPos$1(g,y)&&(y===0||!isSeparatorAtPos$1(g,y-1))?j=5:(isSeparatorAtPos$1(g,y-1)||isWhitespaceAtPos$1(g,y-1))&&(j=5,ie=!0),j>1&&t===i&&(z[0]=!0),ie||(ie=isUpperCaseAtPos$1(y,r,g)||isSeparatorAtPos$1(g,y-1)||isWhitespaceAtPos$1(g,y-1)),t===i?y>L&&(j-=ie?3:5):V?j+=ie?2:0:j+=ie?0:1,y+1===k&&(j-=ie?3:5),j}function fuzzyScoreGracefulAggressive$1(n,e,t,i,r,g,y){return fuzzyScoreWithPermutations$1(n,e,t,i,r,g,!0,y)}function fuzzyScoreWithPermutations$1(n,e,t,i,r,g,y,k){let L=fuzzyScore$1(n,e,t,i,r,g,k);if(n.length>=3){const V=Math.min(7,n.length-1);for(let z=t+1;zL[0])&&(L=ie))}}}return L}function nextTypoPermutation$1(n,e){if(e+1>=n.length)return;const t=n[e],i=n[e+1];if(t!==i)return n.slice(0,e)+i+t+n.slice(e+2)}const iconStartMarker$1="$(",iconsRegex$1=new RegExp("\\$\\(".concat(ThemeIcon$1.iconNameExpression,"(?:").concat(ThemeIcon$1.iconModifierExpression,")?\\)"),"g"),escapeIconsRegex$1=new RegExp("(\\\\)?".concat(iconsRegex$1.source),"g");function escapeIcons$1(n){return n.replace(escapeIconsRegex$1,(e,t)=>t?e:"\\".concat(e))}const markdownEscapedIconsRegex$1=new RegExp("\\\\".concat(iconsRegex$1.source),"g");function markdownEscapeEscapedIcons$1(n){return n.replace(markdownEscapedIconsRegex$1,e=>"\\".concat(e))}const stripIconsRegex$1=new RegExp("(\\s)?(\\\\)?".concat(iconsRegex$1.source,"(\\s)?"),"g");function stripIcons$1(n){return n.indexOf(iconStartMarker$1)===-1?n:n.replace(stripIconsRegex$1,(e,t,i,r)=>i?e:t||r||"")}function getCodiconAriaLabel$1(n){return n?n.replace(/\$\((.*?)\)/g,(e,t)=>" ".concat(t," ")).trim():""}const _parseIconsRegex$1=new RegExp("\\$\\(".concat(ThemeIcon$1.iconNameCharacter,"+\\)"),"g");function parseLabelWithIcons$1(n){_parseIconsRegex$1.lastIndex=0;let e="";const t=[];let i=0;for(;;){const r=_parseIconsRegex$1.lastIndex,g=_parseIconsRegex$1.exec(n),y=n.substring(r,g==null?void 0:g.index);if(y.length>0){e+=y;for(let k=0;kgetRoot$1(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=sep$1){return hasTrailingPathSeparator$1(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=sep$1){let i=!1;if(e.scheme===Schemas$1.file){const r=originalFSPath$1(e);i=r!==void 0&&r.length===getRoot$1(r).length&&r[r.length-1]===t}else{t="/";const r=e.path;i=r.length===1&&r.charCodeAt(r.length-1)===47}return!i&&!hasTrailingPathSeparator$1(e,t)?e.with({path:e.path+"/"}):e}};const extUri$1=new ExtUri$1(()=>!1),isEqual$2=extUri$1.isEqual.bind(extUri$1);extUri$1.isEqualOrParent.bind(extUri$1);extUri$1.getComparisonKey.bind(extUri$1);const basenameOrAuthority$1=extUri$1.basenameOrAuthority.bind(extUri$1),basename$2=extUri$1.basename.bind(extUri$1),extname$2=extUri$1.extname.bind(extUri$1),dirname$2=extUri$1.dirname.bind(extUri$1),joinPath$1=extUri$1.joinPath.bind(extUri$1),normalizePath$1=extUri$1.normalizePath.bind(extUri$1),relativePath$1=extUri$1.relativePath.bind(extUri$1),resolvePath$1=extUri$1.resolvePath.bind(extUri$1);extUri$1.isAbsolutePath.bind(extUri$1);const isEqualAuthority$1=extUri$1.isEqualAuthority.bind(extUri$1),hasTrailingPathSeparator$1=extUri$1.hasTrailingPathSeparator.bind(extUri$1);extUri$1.removeTrailingPathSeparator.bind(extUri$1);extUri$1.addTrailingPathSeparator.bind(extUri$1);var DataUri$1;(function(n){n.META_DATA_LABEL="label",n.META_DATA_DESCRIPTION="description",n.META_DATA_SIZE="size",n.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(y=>{const[k,L]=y.split(":");k&&L&&i.set(k,L)});const g=t.path.substring(0,t.path.indexOf(";"));return g&&i.set(n.META_DATA_MIME,g),i}n.parseMetaData=e})(DataUri$1||(DataUri$1={}));let MarkdownString$1=class{constructor(e="",t=!1){var i,r,g;if(this.value=e,typeof this.value!="string")throw illegalArgument$1("value");typeof t=="boolean"?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=(i=t.isTrusted)!=null?i:void 0,this.supportThemeIcons=(r=t.supportThemeIcons)!=null?r:!1,this.supportHtml=(g=t.supportHtml)!=null?g:!1)}appendText(e,t=0){return this.value+=escapeMarkdownSyntaxTokens$1(this.supportThemeIcons?escapeIcons$1(e):e).replace(/([ \t]+)/g,(i,r)=>" ".repeat(r.length)).replace(/\>/gm,"\\>").replace(/\n/g,t===1?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+="\n".concat(appendEscapedMarkdownCodeBlockFence$1(t,e),"\n"),this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=' "'.concat(this._escape(this._escape(i,'"'),")"),'"')),this.value+=")",this}_escape(e,t){const i=new RegExp(escapeRegExpCharacters$1(t),"g");return e.replace(i,(r,g)=>e.charAt(g-1)!=="\\"?"\\".concat(r):r)}};function isEmptyMarkdownString$1(n){return isMarkdownString$1(n)?!n.value:Array.isArray(n)?n.every(isEmptyMarkdownString$1):!0}function isMarkdownString$1(n){return n instanceof MarkdownString$1?!0:n&&typeof n=="object"?typeof n.value=="string"&&(typeof n.isTrusted=="boolean"||typeof n.isTrusted=="object"||n.isTrusted===void 0)&&(typeof n.supportThemeIcons=="boolean"||n.supportThemeIcons===void 0):!1}function markdownStringEqual$1(n,e){return n===e?!0:!n||!e?!1:n.value===e.value&&n.isTrusted===e.isTrusted&&n.supportThemeIcons===e.supportThemeIcons&&n.supportHtml===e.supportHtml&&(n.baseUri===e.baseUri||!!n.baseUri&&!!e.baseUri&&isEqual$2(URI$1.from(n.baseUri),URI$1.from(e.baseUri)))}function escapeMarkdownSyntaxTokens$1(n){return n.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function appendEscapedMarkdownCodeBlockFence$1(n,e){var r,g;const t=(g=(r=n.match(/^`+/gm))==null?void 0:r.reduce((y,k)=>y.length>k.length?y:k).length)!=null?g:0,i=t>=3?t+1:3;return["".concat("`".repeat(i)).concat(e),n,"".concat("`".repeat(i))].join("\n")}function escapeDoubleQuotes$1(n){return n.replace(/"/g,""")}function removeMarkdownEscapes$1(n){return n&&n.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function parseHrefAndDimensions$1(n){const e=[],t=n.split("|").map(r=>r.trim());n=t[0];const i=t[1];if(i){const r=/height=(\d+)/.exec(i),g=/width=(\d+)/.exec(i),y=r?r[1]:"",k=g?g[1]:"",L=isFinite(parseInt(k)),V=isFinite(parseInt(y));L&&e.push('width="'.concat(k,'"')),V&&e.push('height="'.concat(y,'"'))}return{href:n,dimensions:e}}let IdGenerator$1=class{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}};const defaultGenerator$1=new IdGenerator$1("id#");let __marked_exports$1={};(function(){function n(e,t){t(__marked_exports$1)}n.amd=!0,function(e,t){typeof n=="function"&&n.amd?n(["exports"],t):typeof exports=="object"&&typeof module<"u"?t(exports):(e=typeof globalThis<"u"?globalThis:e||self,t(e.marked={}))}(this,function(e){function t(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}e.defaults=t();function i(wn){e.defaults=wn}const r=/[&<>"']/,g=new RegExp(r.source,"g"),y=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,k=new RegExp(y.source,"g"),L={"&":"&","<":"<",">":">",'"':""","'":"'"},V=wn=>L[wn];function z(wn,_i){if(_i){if(r.test(wn))return wn.replace(g,V)}else if(y.test(wn))return wn.replace(k,V);return wn}const j=/(^|[^\[])\^/g;function ie(wn,_i){let Si=typeof wn=="string"?wn:wn.source;_i=_i||"";const Ii={replace:(Pi,Bi)=>{let ji=typeof Bi=="string"?Bi:Bi.source;return ji=ji.replace(j,"$1"),Si=Si.replace(Pi,ji),Ii},getRegex:()=>new RegExp(Si,_i)};return Ii}function oe(wn){try{wn=encodeURI(wn).replace(/%25/g,"%")}catch(_i){return null}return wn}const re={exec:()=>null};function ae(wn,_i){const Si=wn.replace(/\|/g,(Bi,ji,qi)=>{let hn=!1,_n=ji;for(;--_n>=0&&qi[_n]==="\\";)hn=!hn;return hn?"|":" |"}),Ii=Si.split(/ \|/);let Pi=0;if(Ii[0].trim()||Ii.shift(),Ii.length>0&&!Ii[Ii.length-1].trim()&&Ii.pop(),_i)if(Ii.length>_i)Ii.splice(_i);else for(;Ii.length<_i;)Ii.push("");for(;Pi{const Bi=Pi.match(/^\s+/);if(Bi===null)return Pi;const[ji]=Bi;return ji.length>=Ii.length?Pi.slice(Ii.length):Pi}).join("\n")}class pe{constructor(_i){Ni(this,"options");Ni(this,"rules");Ni(this,"lexer");this.options=_i||e.defaults}space(_i){const Si=this.rules.block.newline.exec(_i);if(Si&&Si[0].length>0)return{type:"space",raw:Si[0]}}code(_i){const Si=this.rules.block.code.exec(_i);if(Si){const Ii=Si[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:Si[0],codeBlockStyle:"indented",text:this.options.pedantic?Ii:le(Ii,"\n")}}}fences(_i){const Si=this.rules.block.fences.exec(_i);if(Si){const Ii=Si[0],Pi=he(Ii,Si[3]||"");return{type:"code",raw:Ii,lang:Si[2]?Si[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Si[2],text:Pi}}}heading(_i){const Si=this.rules.block.heading.exec(_i);if(Si){let Ii=Si[2].trim();if(/#$/.test(Ii)){const Pi=le(Ii,"#");(this.options.pedantic||!Pi||/ $/.test(Pi))&&(Ii=Pi.trim())}return{type:"heading",raw:Si[0],depth:Si[1].length,text:Ii,tokens:this.lexer.inline(Ii)}}}hr(_i){const Si=this.rules.block.hr.exec(_i);if(Si)return{type:"hr",raw:le(Si[0],"\n")}}blockquote(_i){const Si=this.rules.block.blockquote.exec(_i);if(Si){let Ii=le(Si[0],"\n").split("\n"),Pi="",Bi="";const ji=[];for(;Ii.length>0;){let qi=!1;const hn=[];let _n;for(_n=0;_n/.test(Ii[_n]))hn.push(Ii[_n]),qi=!0;else if(!qi)hn.push(Ii[_n]);else break;Ii=Ii.slice(_n);const Hi=hn.join("\n"),Xi=Hi.replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1").replace(/^ {0,3}>[ \t]?/gm,"");Pi=Pi?"".concat(Pi,"\n").concat(Hi):Hi,Bi=Bi?"".concat(Bi,"\n").concat(Xi):Xi;const bn=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(Xi,ji,!0),this.lexer.state.top=bn,Ii.length===0)break;const En=ji[ji.length-1];if((En==null?void 0:En.type)==="code")break;if((En==null?void 0:En.type)==="blockquote"){const Dn=En,Cn=Dn.raw+"\n"+Ii.join("\n"),Vi=this.blockquote(Cn);ji[ji.length-1]=Vi,Pi=Pi.substring(0,Pi.length-Dn.raw.length)+Vi.raw,Bi=Bi.substring(0,Bi.length-Dn.text.length)+Vi.text;break}else if((En==null?void 0:En.type)==="list"){const Dn=En,Cn=Dn.raw+"\n"+Ii.join("\n"),Vi=this.list(Cn);ji[ji.length-1]=Vi,Pi=Pi.substring(0,Pi.length-En.raw.length)+Vi.raw,Bi=Bi.substring(0,Bi.length-Dn.raw.length)+Vi.raw,Ii=Cn.substring(ji[ji.length-1].raw.length).split("\n");continue}}return{type:"blockquote",raw:Pi,tokens:ji,text:Bi}}}list(_i){let Si=this.rules.block.list.exec(_i);if(Si){let Ii=Si[1].trim();const Pi=Ii.length>1,Bi={type:"list",raw:"",ordered:Pi,start:Pi?+Ii.slice(0,-1):"",loose:!1,items:[]};Ii=Pi?"\\d{1,9}\\".concat(Ii.slice(-1)):"\\".concat(Ii),this.options.pedantic&&(Ii=Pi?Ii:"[*+-]");const ji=new RegExp("^( {0,3}".concat(Ii,")((?:[ ][^\\n]*)?(?:\\n|$))"));let qi=!1;for(;_i;){let hn=!1,_n="",Hi="";if(!(Si=ji.exec(_i))||this.rules.block.hr.test(_i))break;_n=Si[0],_i=_i.substring(_n.length);let Xi=Si[2].split("\n",1)[0].replace(/^\t+/,Ji=>" ".repeat(3*Ji.length)),bn=_i.split("\n",1)[0],En=!Xi.trim(),Dn=0;if(this.options.pedantic?(Dn=2,Hi=Xi.trimStart()):En?Dn=Si[1].length+1:(Dn=Si[2].search(/[^ ]/),Dn=Dn>4?1:Dn,Hi=Xi.slice(Dn),Dn+=Si[1].length),En&&/^ *$/.test(bn)&&(_n+=bn+"\n",_i=_i.substring(bn.length+1),hn=!0),!hn){const Ji=new RegExp("^ {0,".concat(Math.min(3,Dn-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))")),Yi=new RegExp("^ {0,".concat(Math.min(3,Dn-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),Fi=new RegExp("^ {0,".concat(Math.min(3,Dn-1),"}(?:```|~~~)")),Qi=new RegExp("^ {0,".concat(Math.min(3,Dn-1),"}#"));for(;_i;){const Sn=_i.split("\n",1)[0];if(bn=Sn,this.options.pedantic&&(bn=bn.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),Fi.test(bn)||Qi.test(bn)||Ji.test(bn)||Yi.test(_i))break;if(bn.search(/[^ ]/)>=Dn||!bn.trim())Hi+="\n"+bn.slice(Dn);else{if(En||Xi.search(/[^ ]/)>=4||Fi.test(Xi)||Qi.test(Xi)||Yi.test(Xi))break;Hi+="\n"+bn}!En&&!bn.trim()&&(En=!0),_n+=Sn+"\n",_i=_i.substring(Sn.length+1),Xi=bn.slice(Dn)}}Bi.loose||(qi?Bi.loose=!0:/\n *\n *$/.test(_n)&&(qi=!0));let Cn=null,Vi;this.options.gfm&&(Cn=/^\[[ xX]\] /.exec(Hi),Cn&&(Vi=Cn[0]!=="[ ] ",Hi=Hi.replace(/^\[[ xX]\] +/,""))),Bi.items.push({type:"list_item",raw:_n,task:!!Cn,checked:Vi,loose:!1,text:Hi,tokens:[]}),Bi.raw+=_n}Bi.items[Bi.items.length-1].raw=Bi.items[Bi.items.length-1].raw.trimEnd(),Bi.items[Bi.items.length-1].text=Bi.items[Bi.items.length-1].text.trimEnd(),Bi.raw=Bi.raw.trimEnd();for(let hn=0;hnXi.type==="space"),Hi=_n.length>0&&_n.some(Xi=>/\n.*\n/.test(Xi.raw));Bi.loose=Hi}if(Bi.loose)for(let hn=0;hn$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",Bi=Si[3]?Si[3].substring(1,Si[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Si[3];return{type:"def",tag:Ii,raw:Si[0],href:Pi,title:Bi}}}table(_i){const Si=this.rules.block.table.exec(_i);if(!Si||!/[:|]/.test(Si[2]))return;const Ii=ae(Si[1]),Pi=Si[2].replace(/^\||\| *$/g,"").split("|"),Bi=Si[3]&&Si[3].trim()?Si[3].replace(/\n[ \t]*$/,"").split("\n"):[],ji={type:"table",raw:Si[0],header:[],align:[],rows:[]};if(Ii.length===Pi.length){for(const qi of Pi)/^ *-+: *$/.test(qi)?ji.align.push("right"):/^ *:-+: *$/.test(qi)?ji.align.push("center"):/^ *:-+ *$/.test(qi)?ji.align.push("left"):ji.align.push(null);for(let qi=0;qi({text:hn,tokens:this.lexer.inline(hn),header:!1,align:ji.align[_n]})));return ji}}lheading(_i){const Si=this.rules.block.lheading.exec(_i);if(Si)return{type:"heading",raw:Si[0],depth:Si[2].charAt(0)==="="?1:2,text:Si[1],tokens:this.lexer.inline(Si[1])}}paragraph(_i){const Si=this.rules.block.paragraph.exec(_i);if(Si){const Ii=Si[1].charAt(Si[1].length-1)==="\n"?Si[1].slice(0,-1):Si[1];return{type:"paragraph",raw:Si[0],text:Ii,tokens:this.lexer.inline(Ii)}}}text(_i){const Si=this.rules.block.text.exec(_i);if(Si)return{type:"text",raw:Si[0],text:Si[0],tokens:this.lexer.inline(Si[0])}}escape(_i){const Si=this.rules.inline.escape.exec(_i);if(Si)return{type:"escape",raw:Si[0],text:z(Si[1])}}tag(_i){const Si=this.rules.inline.tag.exec(_i);if(Si)return!this.lexer.state.inLink&&/^/i.test(Si[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(Si[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(Si[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:Si[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:Si[0]}}link(_i){const Si=this.rules.inline.link.exec(_i);if(Si){const Ii=Si[2].trim();if(!this.options.pedantic&&/^$/.test(Ii))return;const ji=le(Ii.slice(0,-1),"\\");if((Ii.length-ji.length)%2===0)return}else{const ji=de(Si[2],"()");if(ji>-1){const hn=(Si[0].indexOf("!")===0?5:4)+Si[1].length+ji;Si[2]=Si[2].substring(0,ji),Si[0]=Si[0].substring(0,hn).trim(),Si[3]=""}}let Pi=Si[2],Bi="";if(this.options.pedantic){const ji=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(Pi);ji&&(Pi=ji[1],Bi=ji[3])}else Bi=Si[3]?Si[3].slice(1,-1):"";return Pi=Pi.trim(),/^$/.test(Ii)?Pi=Pi.slice(1):Pi=Pi.slice(1,-1)),ue(Si,{href:Pi&&Pi.replace(this.rules.inline.anyPunctuation,"$1"),title:Bi&&Bi.replace(this.rules.inline.anyPunctuation,"$1")},Si[0],this.lexer)}}reflink(_i,Si){let Ii;if((Ii=this.rules.inline.reflink.exec(_i))||(Ii=this.rules.inline.nolink.exec(_i))){const Pi=(Ii[2]||Ii[1]).replace(/\s+/g," "),Bi=Si[Pi.toLowerCase()];if(!Bi){const ji=Ii[0].charAt(0);return{type:"text",raw:ji,text:ji}}return ue(Ii,Bi,Ii[0],this.lexer)}}emStrong(_i,Si,Ii=""){let Pi=this.rules.inline.emStrongLDelim.exec(_i);if(!Pi||Pi[3]&&Ii.match(/[\p{L}\p{N}]/u))return;if(!(Pi[1]||Pi[2]||"")||!Ii||this.rules.inline.punctuation.exec(Ii)){const ji=[...Pi[0]].length-1;let qi,hn,_n=ji,Hi=0;const Xi=Pi[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(Xi.lastIndex=0,Si=Si.slice(-1*_i.length+ji);(Pi=Xi.exec(Si))!=null;){if(qi=Pi[1]||Pi[2]||Pi[3]||Pi[4]||Pi[5]||Pi[6],!qi)continue;if(hn=[...qi].length,Pi[3]||Pi[4]){_n+=hn;continue}else if((Pi[5]||Pi[6])&&ji%3&&!((ji+hn)%3)){Hi+=hn;continue}if(_n-=hn,_n>0)continue;hn=Math.min(hn,hn+_n+Hi);const bn=[...Pi[0]][0].length,En=_i.slice(0,ji+Pi.index+bn+hn);if(Math.min(ji,hn)%2){const Cn=En.slice(1,-1);return{type:"em",raw:En,text:Cn,tokens:this.lexer.inlineTokens(Cn)}}const Dn=En.slice(2,-2);return{type:"strong",raw:En,text:Dn,tokens:this.lexer.inlineTokens(Dn)}}}}codespan(_i){const Si=this.rules.inline.code.exec(_i);if(Si){let Ii=Si[2].replace(/\n/g," ");const Pi=/[^ ]/.test(Ii),Bi=/^ /.test(Ii)&&/ $/.test(Ii);return Pi&&Bi&&(Ii=Ii.substring(1,Ii.length-1)),Ii=z(Ii,!0),{type:"codespan",raw:Si[0],text:Ii}}}br(_i){const Si=this.rules.inline.br.exec(_i);if(Si)return{type:"br",raw:Si[0]}}del(_i){const Si=this.rules.inline.del.exec(_i);if(Si)return{type:"del",raw:Si[0],text:Si[2],tokens:this.lexer.inlineTokens(Si[2])}}autolink(_i){const Si=this.rules.inline.autolink.exec(_i);if(Si){let Ii,Pi;return Si[2]==="@"?(Ii=z(Si[1]),Pi="mailto:"+Ii):(Ii=z(Si[1]),Pi=Ii),{type:"link",raw:Si[0],text:Ii,href:Pi,tokens:[{type:"text",raw:Ii,text:Ii}]}}}url(_i){var Ii,Pi;let Si;if(Si=this.rules.inline.url.exec(_i)){let Bi,ji;if(Si[2]==="@")Bi=z(Si[0]),ji="mailto:"+Bi;else{let qi;do qi=Si[0],Si[0]=(Pi=(Ii=this.rules.inline._backpedal.exec(Si[0]))==null?void 0:Ii[0])!=null?Pi:"";while(qi!==Si[0]);Bi=z(Si[0]),Si[1]==="www."?ji="http://"+Si[0]:ji=Si[0]}return{type:"link",raw:Si[0],text:Bi,href:ji,tokens:[{type:"text",raw:Bi,text:Bi}]}}}inlineText(_i){const Si=this.rules.inline.text.exec(_i);if(Si){let Ii;return this.lexer.state.inRawBlock?Ii=Si[0]:Ii=z(Si[0]),{type:"text",raw:Si[0],text:Ii}}}}const Ce=/^(?: *(?:\n|$))+/,$e=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,xe=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Ie=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ne=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/(?:[*+-]|\d{1,9}[.)])/,Ve=ie(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,Fe).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Oe=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ze=/^[^\n]+/,qe=/(?!\s*\])(?:\\.|[^\[\]\\])+/,Ue=ie(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",qe).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Et=ie(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),At="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Lt=/|$))/,kt=ie("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Lt).replace("tag",At).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ei=ie(Oe).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",At).getRegex(),ri={blockquote:ie(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",ei).getRegex(),code:$e,def:Ue,fences:xe,heading:Ne,hr:Ie,html:kt,lheading:Ve,list:Et,newline:Ce,paragraph:ei,table:re,text:ze},ni=ie("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",At).getRegex(),Ci={...ri,table:ni,paragraph:ie(Oe).replace("hr",Ie).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ni).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",At).getRegex()},wi={...ri,html:ie("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Lt).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:re,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ie(Oe).replace("hr",Ie).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Ve).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ri=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ai=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,hi=/^( {2,}|\\)\n(?!\s*$)/,xi=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,fi=ie(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,Oi).getRegex(),li=ie("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,Oi).getRegex(),Di=ie("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,Oi).getRegex(),ki=ie(/\\([punct])/,"gu").replace(/punct/g,Oi).getRegex(),Ai=ie(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ki=ie(Lt).replace("(?:-->|$)","-->").getRegex(),zi=ie("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",Ki).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),bi=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,vi=ie(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",bi).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Li=ie(/^!?\[(label)\]\[(ref)\]/).replace("label",bi).replace("ref",qe).getRegex(),oi=ie(/^!?\[(ref)\](?:\[\])?/).replace("ref",qe).getRegex(),ii=ie("reflink|nolink(?!\\()","g").replace("reflink",Li).replace("nolink",oi).getRegex(),mi={_backpedal:re,anyPunctuation:ki,autolink:Ai,blockSkip:si,br:hi,code:ai,del:re,emStrongLDelim:fi,emStrongRDelimAst:li,emStrongRDelimUnd:Di,escape:Ri,link:vi,nolink:oi,punctuation:Ei,reflink:Li,reflinkSearch:ii,tag:zi,text:xi,url:re},yi={...mi,link:ie(/^!?\[(label)\]\((.*?)\)/).replace("label",bi).getRegex(),reflink:ie(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",bi).getRegex()},ti={...mi,escape:ie(Ri).replace("])","~|])").getRegex(),url:ie(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\hn+" ".repeat(_n.length));let Pi,Bi,ji;for(;_i;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(qi=>(Pi=qi.call({lexer:this},_i,Si))?(_i=_i.substring(Pi.raw.length),Si.push(Pi),!0):!1))){if(Pi=this.tokenizer.space(_i)){_i=_i.substring(Pi.raw.length),Pi.raw.length===1&&Si.length>0?Si[Si.length-1].raw+="\n":Si.push(Pi);continue}if(Pi=this.tokenizer.code(_i)){_i=_i.substring(Pi.raw.length),Bi=Si[Si.length-1],Bi&&(Bi.type==="paragraph"||Bi.type==="text")?(Bi.raw+="\n"+Pi.raw,Bi.text+="\n"+Pi.text,this.inlineQueue[this.inlineQueue.length-1].src=Bi.text):Si.push(Pi);continue}if(Pi=this.tokenizer.fences(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.heading(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.hr(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.blockquote(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.list(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.html(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.def(_i)){_i=_i.substring(Pi.raw.length),Bi=Si[Si.length-1],Bi&&(Bi.type==="paragraph"||Bi.type==="text")?(Bi.raw+="\n"+Pi.raw,Bi.text+="\n"+Pi.raw,this.inlineQueue[this.inlineQueue.length-1].src=Bi.text):this.tokens.links[Pi.tag]||(this.tokens.links[Pi.tag]={href:Pi.href,title:Pi.title});continue}if(Pi=this.tokenizer.table(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(Pi=this.tokenizer.lheading(_i)){_i=_i.substring(Pi.raw.length),Si.push(Pi);continue}if(ji=_i,this.options.extensions&&this.options.extensions.startBlock){let qi=1/0;const hn=_i.slice(1);let _n;this.options.extensions.startBlock.forEach(Hi=>{_n=Hi.call({lexer:this},hn),typeof _n=="number"&&_n>=0&&(qi=Math.min(qi,_n))}),qi<1/0&&qi>=0&&(ji=_i.substring(0,qi+1))}if(this.state.top&&(Pi=this.tokenizer.paragraph(ji))){Bi=Si[Si.length-1],Ii&&(Bi==null?void 0:Bi.type)==="paragraph"?(Bi.raw+="\n"+Pi.raw,Bi.text+="\n"+Pi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Bi.text):Si.push(Pi),Ii=ji.length!==_i.length,_i=_i.substring(Pi.raw.length);continue}if(Pi=this.tokenizer.text(_i)){_i=_i.substring(Pi.raw.length),Bi=Si[Si.length-1],Bi&&Bi.type==="text"?(Bi.raw+="\n"+Pi.raw,Bi.text+="\n"+Pi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=Bi.text):Si.push(Pi);continue}if(_i){const qi="Infinite loop on byte: "+_i.charCodeAt(0);if(this.options.silent){console.error(qi);break}else throw new Error(qi)}}return this.state.top=!0,Si}inline(_i,Si=[]){return this.inlineQueue.push({src:_i,tokens:Si}),Si}inlineTokens(_i,Si=[]){let Ii,Pi,Bi,ji=_i,qi,hn,_n;if(this.tokens.links){const Hi=Object.keys(this.tokens.links);if(Hi.length>0)for(;(qi=this.tokenizer.rules.inline.reflinkSearch.exec(ji))!=null;)Hi.includes(qi[0].slice(qi[0].lastIndexOf("[")+1,-1))&&(ji=ji.slice(0,qi.index)+"["+"a".repeat(qi[0].length-2)+"]"+ji.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(qi=this.tokenizer.rules.inline.blockSkip.exec(ji))!=null;)ji=ji.slice(0,qi.index)+"["+"a".repeat(qi[0].length-2)+"]"+ji.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(qi=this.tokenizer.rules.inline.anyPunctuation.exec(ji))!=null;)ji=ji.slice(0,qi.index)+"++"+ji.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;_i;)if(hn||(_n=""),hn=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(Hi=>(Ii=Hi.call({lexer:this},_i,Si))?(_i=_i.substring(Ii.raw.length),Si.push(Ii),!0):!1))){if(Ii=this.tokenizer.escape(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.tag(_i)){_i=_i.substring(Ii.raw.length),Pi=Si[Si.length-1],Pi&&Ii.type==="text"&&Pi.type==="text"?(Pi.raw+=Ii.raw,Pi.text+=Ii.text):Si.push(Ii);continue}if(Ii=this.tokenizer.link(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.reflink(_i,this.tokens.links)){_i=_i.substring(Ii.raw.length),Pi=Si[Si.length-1],Pi&&Ii.type==="text"&&Pi.type==="text"?(Pi.raw+=Ii.raw,Pi.text+=Ii.text):Si.push(Ii);continue}if(Ii=this.tokenizer.emStrong(_i,ji,_n)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.codespan(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.br(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.del(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Ii=this.tokenizer.autolink(_i)){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(!this.state.inLink&&(Ii=this.tokenizer.url(_i))){_i=_i.substring(Ii.raw.length),Si.push(Ii);continue}if(Bi=_i,this.options.extensions&&this.options.extensions.startInline){let Hi=1/0;const Xi=_i.slice(1);let bn;this.options.extensions.startInline.forEach(En=>{bn=En.call({lexer:this},Xi),typeof bn=="number"&&bn>=0&&(Hi=Math.min(Hi,bn))}),Hi<1/0&&Hi>=0&&(Bi=_i.substring(0,Hi+1))}if(Ii=this.tokenizer.inlineText(Bi)){_i=_i.substring(Ii.raw.length),Ii.raw.slice(-1)!=="_"&&(_n=Ii.raw.slice(-1)),hn=!0,Pi=Si[Si.length-1],Pi&&Pi.type==="text"?(Pi.raw+=Ii.raw,Pi.text+=Ii.text):Si.push(Ii);continue}if(_i){const Hi="Infinite loop on byte: "+_i.charCodeAt(0);if(this.options.silent){console.error(Hi);break}else throw new Error(Hi)}}return Si}}class Mi{constructor(_i){Ni(this,"options");Ni(this,"parser");this.options=_i||e.defaults}space(_i){return""}code({text:_i,lang:Si,escaped:Ii}){var ji;const Pi=(ji=(Si||"").match(/^\S*/))==null?void 0:ji[0],Bi=_i.replace(/\n$/,"")+"\n";return Pi?'
'+(Ii?Bi:z(Bi,!0))+"
\n":"
"+(Ii?Bi:z(Bi,!0))+"
\n"}blockquote({tokens:_i}){const Si=this.parser.parse(_i);return"
\n".concat(Si,"
\n")}html({text:_i}){return _i}heading({tokens:_i,depth:Si}){return"").concat(this.parser.parseInline(_i),"\n")}hr(_i){return"
\n"}list(_i){const Si=_i.ordered,Ii=_i.start;let Pi="";for(let qi=0;qi<_i.items.length;qi++){const hn=_i.items[qi];Pi+=this.listitem(hn)}const Bi=Si?"ol":"ul",ji=Si&&Ii!==1?' start="'+Ii+'"':"";return"<"+Bi+ji+">\n"+Pi+"\n"}listitem(_i){let Si="";if(_i.task){const Ii=this.checkbox({checked:!!_i.checked});_i.loose?_i.tokens.length>0&&_i.tokens[0].type==="paragraph"?(_i.tokens[0].text=Ii+" "+_i.tokens[0].text,_i.tokens[0].tokens&&_i.tokens[0].tokens.length>0&&_i.tokens[0].tokens[0].type==="text"&&(_i.tokens[0].tokens[0].text=Ii+" "+_i.tokens[0].tokens[0].text)):_i.tokens.unshift({type:"text",raw:Ii+" ",text:Ii+" "}):Si+=Ii+" "}return Si+=this.parser.parse(_i.tokens,!!_i.loose),"
  • ".concat(Si,"
  • \n")}checkbox({checked:_i}){return"'}paragraph({tokens:_i}){return"

    ".concat(this.parser.parseInline(_i),"

    \n")}table(_i){let Si="",Ii="";for(let Bi=0;Bi<_i.header.length;Bi++)Ii+=this.tablecell(_i.header[Bi]);Si+=this.tablerow({text:Ii});let Pi="";for(let Bi=0;Bi<_i.rows.length;Bi++){const ji=_i.rows[Bi];Ii="";for(let qi=0;qi")),"\n\n"+Si+"\n"+Pi+"
    \n"}tablerow({text:_i}){return"\n".concat(_i,"\n")}tablecell(_i){const Si=this.parser.parseInline(_i.tokens),Ii=_i.header?"th":"td";return(_i.align?"<".concat(Ii,' align="').concat(_i.align,'">'):"<".concat(Ii,">"))+Si+"\n")}strong({tokens:_i}){return"".concat(this.parser.parseInline(_i),"")}em({tokens:_i}){return"".concat(this.parser.parseInline(_i),"")}codespan({text:_i}){return"".concat(_i,"")}br(_i){return"
    "}del({tokens:_i}){return"".concat(this.parser.parseInline(_i),"")}link({href:_i,title:Si,tokens:Ii}){const Pi=this.parser.parseInline(Ii),Bi=oe(_i);if(Bi===null)return Pi;_i=Bi;let ji='
    ",ji}image({href:_i,title:Si,text:Ii}){const Pi=oe(_i);if(Pi===null)return Ii;_i=Pi;let Bi='').concat(Ii,'{const _n=qi[hn].flat(1/0);Ii=Ii.concat(this.walkTokens(_n,Si))}):qi.tokens&&(Ii=Ii.concat(this.walkTokens(qi.tokens,Si)))}}return Ii}use(..._i){const Si=this.defaults.extensions||{renderers:{},childTokens:{}};return _i.forEach(Ii=>{const Pi={...Ii};if(Pi.async=this.defaults.async||Pi.async||!1,Ii.extensions&&(Ii.extensions.forEach(Bi=>{if(!Bi.name)throw new Error("extension name required");if("renderer"in Bi){const ji=Si.renderers[Bi.name];ji?Si.renderers[Bi.name]=function(...qi){let hn=Bi.renderer.apply(this,qi);return hn===!1&&(hn=ji.apply(this,qi)),hn}:Si.renderers[Bi.name]=Bi.renderer}if("tokenizer"in Bi){if(!Bi.level||Bi.level!=="block"&&Bi.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const ji=Si[Bi.level];ji?ji.unshift(Bi.tokenizer):Si[Bi.level]=[Bi.tokenizer],Bi.start&&(Bi.level==="block"?Si.startBlock?Si.startBlock.push(Bi.start):Si.startBlock=[Bi.start]:Bi.level==="inline"&&(Si.startInline?Si.startInline.push(Bi.start):Si.startInline=[Bi.start]))}"childTokens"in Bi&&Bi.childTokens&&(Si.childTokens[Bi.name]=Bi.childTokens)}),Pi.extensions=Si),Ii.renderer){const Bi=this.defaults.renderer||new Mi(this.defaults);for(const ji in Ii.renderer){if(!(ji in Bi))throw new Error("renderer '".concat(ji,"' does not exist"));if(["options","parser"].includes(ji))continue;const qi=ji,hn=Ii.renderer[qi],_n=Bi[qi];Bi[qi]=(...Hi)=>{let Xi=hn.apply(Bi,Hi);return Xi===!1&&(Xi=_n.apply(Bi,Hi)),Xi||""}}Pi.renderer=Bi}if(Ii.tokenizer){const Bi=this.defaults.tokenizer||new pe(this.defaults);for(const ji in Ii.tokenizer){if(!(ji in Bi))throw new Error("tokenizer '".concat(ji,"' does not exist"));if(["options","rules","lexer"].includes(ji))continue;const qi=ji,hn=Ii.tokenizer[qi],_n=Bi[qi];Bi[qi]=(...Hi)=>{let Xi=hn.apply(Bi,Hi);return Xi===!1&&(Xi=_n.apply(Bi,Hi)),Xi}}Pi.tokenizer=Bi}if(Ii.hooks){const Bi=this.defaults.hooks||new $i;for(const ji in Ii.hooks){if(!(ji in Bi))throw new Error("hook '".concat(ji,"' does not exist"));if(ji==="options")continue;const qi=ji,hn=Ii.hooks[qi],_n=Bi[qi];$i.passThroughHooks.has(ji)?Bi[qi]=Hi=>{if(this.defaults.async)return Promise.resolve(hn.call(Bi,Hi)).then(bn=>_n.call(Bi,bn));const Xi=hn.call(Bi,Hi);return _n.call(Bi,Xi)}:Bi[qi]=(...Hi)=>{let Xi=hn.apply(Bi,Hi);return Xi===!1&&(Xi=_n.apply(Bi,Hi)),Xi}}Pi.hooks=Bi}if(Ii.walkTokens){const Bi=this.defaults.walkTokens,ji=Ii.walkTokens;Pi.walkTokens=function(qi){let hn=[];return hn.push(ji.call(this,qi)),Bi&&(hn=hn.concat(Bi.call(this,qi))),hn}}this.defaults={...this.defaults,...Pi}}),this}setOptions(_i){return this.defaults={...this.defaults,..._i},this}lexer(_i,Si){return Ti.lex(_i,Si!=null?Si:this.defaults)}parser(_i,Si){return ui.parse(_i,Si!=null?Si:this.defaults)}parseMarkdown(_i,Si){return(Pi,Bi)=>{const ji={...Bi},qi={...this.defaults,...ji},hn=this.onError(!!qi.silent,!!qi.async);if(this.defaults.async===!0&&ji.async===!1)return hn(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof Pi>"u"||Pi===null)return hn(new Error("marked(): input parameter is undefined or null"));if(typeof Pi!="string")return hn(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(Pi)+", string expected"));if(qi.hooks&&(qi.hooks.options=qi),qi.async)return Promise.resolve(qi.hooks?qi.hooks.preprocess(Pi):Pi).then(_n=>_i(_n,qi)).then(_n=>qi.hooks?qi.hooks.processAllTokens(_n):_n).then(_n=>qi.walkTokens?Promise.all(this.walkTokens(_n,qi.walkTokens)).then(()=>_n):_n).then(_n=>Si(_n,qi)).then(_n=>qi.hooks?qi.hooks.postprocess(_n):_n).catch(hn);try{qi.hooks&&(Pi=qi.hooks.preprocess(Pi));let _n=_i(Pi,qi);qi.hooks&&(_n=qi.hooks.processAllTokens(_n)),qi.walkTokens&&this.walkTokens(_n,qi.walkTokens);let Hi=Si(_n,qi);return qi.hooks&&(Hi=qi.hooks.postprocess(Hi)),Hi}catch(_n){return hn(_n)}}}onError(_i,Si){return Ii=>{if(Ii.message+="\nPlease report this to https://github.com/markedjs/marked.",_i){const Pi="

    An error occurred:

    "+z(Ii.message+"",!0)+"
    ";return Si?Promise.resolve(Pi):Pi}if(Si)return Promise.reject(Ii);throw Ii}}}const Wi=new di;function Gi(wn,_i){return Wi.parse(wn,_i)}Gi.options=Gi.setOptions=function(wn){return Wi.setOptions(wn),Gi.defaults=Wi.defaults,i(Gi.defaults),Gi},Gi.getDefaults=t,Gi.defaults=e.defaults,Gi.use=function(...wn){return Wi.use(...wn),Gi.defaults=Wi.defaults,i(Gi.defaults),Gi},Gi.walkTokens=function(wn,_i){return Wi.walkTokens(wn,_i)},Gi.parseInline=Wi.parseInline,Gi.Parser=ui,Gi.parser=ui.parse,Gi.Renderer=Mi,Gi.TextRenderer=pi,Gi.Lexer=Ti,Gi.lexer=Ti.lex,Gi.Tokenizer=pe,Gi.Hooks=$i,Gi.parse=Gi;const Zi=Gi.options,vn=Gi.setOptions,Tn=Gi.use,In=Gi.walkTokens,Rn=Gi.parseInline,Bn=Gi,Ln=ui.parse,Nn=Ti.lex;e.Hooks=$i,e.Lexer=Ti,e.Marked=di,e.Parser=ui,e.Renderer=Mi,e.TextRenderer=pi,e.Tokenizer=pe,e.getDefaults=t,e.lexer=Nn,e.marked=Gi,e.options=Zi,e.parse=Bn,e.parseInline=Rn,e.parser=Ln,e.setOptions=vn,e.use=Tn,e.walkTokens=In})})();__marked_exports$1.Hooks||exports.Hooks;__marked_exports$1.Lexer||exports.Lexer;__marked_exports$1.Marked||exports.Marked;__marked_exports$1.Parser||exports.Parser;var Renderer=__marked_exports$1.Renderer||exports.Renderer;__marked_exports$1.TextRenderer||exports.TextRenderer;__marked_exports$1.Tokenizer||exports.Tokenizer;var defaults$1=__marked_exports$1.defaults||exports.defaults;__marked_exports$1.getDefaults||exports.getDefaults;var lexer=__marked_exports$1.lexer||exports.lexer;__marked_exports$1.marked||exports.marked;__marked_exports$1.options||exports.options;var parse$5=__marked_exports$1.parse||exports.parse;__marked_exports$1.parseInline||exports.parseInline;var parser$1=__marked_exports$1.parser||exports.parser;__marked_exports$1.setOptions||exports.setOptions;__marked_exports$1.use||exports.use;__marked_exports$1.walkTokens||exports.walkTokens;function stringify$3(n){return JSON.stringify(n,replacer$1)}function parse$4(n){let e=JSON.parse(n);return e=revive$1(e),e}function replacer$1(n,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function revive$1(n,e=0){if(!n||e>200)return n;if(typeof n=="object"){switch(n.$mid){case 1:return URI$1.revive(n);case 2:return new RegExp(n.source,n.flags);case 17:return new Date(n.source)}if(n instanceof VSBuffer$1||n instanceof Uint8Array)return n;if(Array.isArray(n))for(let t=0;t{let i=[],r=[];return n&&({href:n,dimensions:i}=parseHrefAndDimensions$1(n),r.push('src="'.concat(escapeDoubleQuotes$1(n),'"'))),t&&r.push('alt="'.concat(escapeDoubleQuotes$1(t),'"')),e&&r.push('title="'.concat(escapeDoubleQuotes$1(e),'"')),i.length&&(r=r.concat(i)),""},paragraph({tokens:n}){return"

    ".concat(this.parser.parseInline(n),"

    ")},link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t);return typeof n!="string"?"":(n===i&&(i=removeMarkdownEscapes$1(i)),e=typeof e=="string"?escapeDoubleQuotes$1(removeMarkdownEscapes$1(e)):"",n=removeMarkdownEscapes$1(n),n=n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),'
    ').concat(i,""))}});function renderMarkdown$1(n,e={},t={}){var ae,le;const i=new DisposableStore$1;let r=!1;const g=createElement$2(e),y=function(de){let ue;try{ue=parse$4(decodeURIComponent(de))}catch(he){}return ue?(ue=cloneAndChange$1(ue,he=>{if(n.uris&&n.uris[he])return URI$1.revive(n.uris[he])}),encodeURIComponent(JSON.stringify(ue))):de},k=function(de,ue){const he=n.uris&&n.uris[de];let pe=URI$1.revive(he);return ue?de.startsWith(Schemas$1.data+":")?de:(pe||(pe=URI$1.parse(de)),FileAccess$1.uriToBrowserUri(pe).toString(!0)):!pe||URI$1.parse(de).toString()===pe.toString()?de:(pe.query&&(pe=pe.with({query:y(pe.query)})),pe.toString())},L=new Renderer;L.image=defaultMarkedRenderers$1.image,L.link=defaultMarkedRenderers$1.link,L.paragraph=defaultMarkedRenderers$1.paragraph;const V=[],z=[];if(e.codeBlockRendererSync?L.code=({text:de,lang:ue})=>{const he=defaultGenerator$1.nextId(),pe=e.codeBlockRendererSync(postProcessCodeBlockLanguageId$1(ue),de);return z.push([he,pe]),'
    ').concat(escape$1(de),"
    ")}:e.codeBlockRenderer&&(L.code=({text:de,lang:ue})=>{const he=defaultGenerator$1.nextId(),pe=e.codeBlockRenderer(postProcessCodeBlockLanguageId$1(ue),de);return V.push(pe.then(Ce=>[he,Ce])),'
    ').concat(escape$1(de),"
    ")}),e.actionHandler){const de=function(pe){let Ce=pe.target;if(!(Ce.tagName!=="A"&&(Ce=Ce.parentElement,!Ce||Ce.tagName!=="A")))try{let $e=Ce.dataset.href;$e&&(n.baseUri&&($e=resolveWithBaseUri$1(URI$1.from(n.baseUri),$e)),e.actionHandler.callback($e,pe))}catch($e){onUnexpectedError$1($e)}finally{pe.preventDefault()}},ue=e.actionHandler.disposables.add(new DomEmitter$1(g,"click")),he=e.actionHandler.disposables.add(new DomEmitter$1(g,"auxclick"));e.actionHandler.disposables.add(Event$2.any(ue.event,he.event)(pe=>{const Ce=new StandardMouseEvent$1(getWindow$3(g),pe);!Ce.leftButton&&!Ce.middleButton||de(Ce)})),e.actionHandler.disposables.add(addDisposableListener$1(g,"keydown",pe=>{const Ce=new StandardKeyboardEvent$1(pe);!Ce.equals(10)&&!Ce.equals(3)||de(Ce)}))}n.supportHtml||(L.html=({text:de})=>{var he;return(he=e.sanitizerOptions)!=null&&he.replaceWithPlaintext?escape$1(de):(n.isTrusted?de.match(/^(]+>)|(<\/\s*span>)$/):void 0)?de:""}),t.renderer=L;let j=(ae=n.value)!=null?ae:"";j.length>1e5&&(j="".concat(j.substr(0,1e5),"…")),n.supportThemeIcons&&(j=markdownEscapeEscapedIcons$1(j));let ie;if(e.fillInIncompleteTokens){const de={...defaults$1,...t},ue=lexer(j,de),he=fillInIncompleteTokens$1(ue);ie=parser$1(he,de)}else ie=parse$5(j,{...t,async:!1});n.supportThemeIcons&&(ie=renderLabelWithIcons$1(ie).map(ue=>typeof ue=="string"?ue:ue.outerHTML).join(""));const re=new DOMParser().parseFromString(sanitizeRenderedMarkdown$1({isTrusted:n.isTrusted,...e.sanitizerOptions},ie),"text/html");if(re.body.querySelectorAll("img, audio, video, source").forEach(de=>{const ue=de.getAttribute("src");if(ue){let he=ue;try{n.baseUri&&(he=resolveWithBaseUri$1(URI$1.from(n.baseUri),he))}catch(pe){}if(de.setAttribute("src",k(he,!0)),e.remoteImageIsAllowed){const pe=URI$1.parse(he);pe.scheme!==Schemas$1.file&&pe.scheme!==Schemas$1.data&&!e.remoteImageIsAllowed(pe)&&de.replaceWith($$u("",void 0,de.outerHTML))}}}),re.body.querySelectorAll("a").forEach(de=>{const ue=de.getAttribute("href");if(de.setAttribute("href",""),!ue||/^data:|javascript:/i.test(ue)||/^command:/i.test(ue)&&!n.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(ue))de.replaceWith(...de.childNodes);else{let he=k(ue,!1);n.baseUri&&(he=resolveWithBaseUri$1(URI$1.from(n.baseUri),ue)),de.dataset.href=he}}),g.innerHTML=sanitizeRenderedMarkdown$1({isTrusted:n.isTrusted,...e.sanitizerOptions},re.body.innerHTML),V.length>0)Promise.all(V).then(de=>{var pe,Ce;if(r)return;const ue=new Map(de),he=g.querySelectorAll("div[data-code]");for(const $e of he){const xe=ue.get((pe=$e.dataset.code)!=null?pe:"");xe&&reset$1($e,xe)}(Ce=e.asyncRenderCallback)==null||Ce.call(e)});else if(z.length>0){const de=new Map(z),ue=g.querySelectorAll("div[data-code]");for(const he of ue){const pe=de.get((le=he.dataset.code)!=null?le:"");pe&&reset$1(he,pe)}}if(e.asyncRenderCallback)for(const de of g.getElementsByTagName("img")){const ue=i.add(addDisposableListener$1(de,"load",()=>{ue.dispose(),e.asyncRenderCallback()}))}return{element:g,dispose:()=>{r=!0,i.dispose()}}}function postProcessCodeBlockLanguageId$1(n){if(!n)return"";const e=n.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:n}function resolveWithBaseUri$1(n,e){return/^\w[\w\d+.-]*:/.test(e)?e:n.path.endsWith("/")?resolvePath$1(n,e).toString():resolvePath$1(dirname$2(n),e).toString()}const selfClosingTags=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function sanitizeRenderedMarkdown$1(n,e){const{config:t,allowedSchemes:i}=getSanitizerOptions$1(n),r=new DisposableStore$1;r.add(addDompurifyHook("uponSanitizeAttribute",(g,y)=>{var k;if(y.attrName==="style"||y.attrName==="class"){if(g.tagName==="SPAN"){if(y.attrName==="style"){y.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(border-radius:[0-9]+px;)?$/.test(y.attrValue);return}else if(y.attrName==="class"){y.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(y.attrValue);return}}y.keepAttr=!1;return}else if(g.tagName==="INPUT"&&((k=g.attributes.getNamedItem("type"))==null?void 0:k.value)==="checkbox"){if(y.attrName==="type"&&y.attrValue==="checkbox"||y.attrName==="disabled"||y.attrName==="checked"){y.keepAttr=!0;return}y.keepAttr=!1}})),r.add(addDompurifyHook("uponSanitizeElement",(g,y)=>{var k;if(y.tagName==="input"&&(((k=g.attributes.getNamedItem("type"))==null?void 0:k.value)==="checkbox"?g.setAttribute("disabled",""):n.replaceWithPlaintext||g.remove()),n.replaceWithPlaintext&&!y.allowedTags[y.tagName]&&y.tagName!=="body"&&g.parentElement){let L,V;if(y.tagName==="#comment")L="");else{const oe=selfClosingTags.includes(y.tagName),re=g.attributes.length?" "+Array.from(g.attributes).map(ae=>"".concat(ae.name,'="').concat(ae.value,'"')).join(" "):"";L="<".concat(y.tagName).concat(re,">"),oe||(V=""))}const z=document.createDocumentFragment(),j=g.parentElement.ownerDocument.createTextNode(L);z.appendChild(j);const ie=V?g.parentElement.ownerDocument.createTextNode(V):void 0;for(;g.firstChild;)z.appendChild(g.firstChild);ie&&z.appendChild(ie),g.nodeType===Node.COMMENT_NODE?g.parentElement.insertBefore(z,g):g.parentElement.replaceChild(z,g)}})),r.add(hookDomPurifyHrefAndSrcSanitizer$1(i));try{return sanitize$3(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{r.dispose()}}const allowedMarkdownAttr$1=["align","autoplay","alt","checked","class","colspan","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","rowspan","src","style","target","title","type","width","start"];function getSanitizerOptions$1(n){var t;const e=[Schemas$1.http,Schemas$1.https,Schemas$1.mailto,Schemas$1.data,Schemas$1.file,Schemas$1.vscodeFileResource,Schemas$1.vscodeRemote,Schemas$1.vscodeRemoteResource];return n.isTrusted&&e.push(Schemas$1.command),{config:{ALLOWED_TAGS:(t=n.allowedTags)!=null?t:[...basicMarkupHtmlTags$1],ALLOWED_ATTR:allowedMarkdownAttr$1,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function renderStringAsPlaintext$1(n){return typeof n=="string"?n:renderMarkdownAsPlaintext$1(n)}function renderMarkdownAsPlaintext$1(n,e){var r;let t=(r=n.value)!=null?r:"";t.length>1e5&&(t="".concat(t.substr(0,1e5),"…"));const i=parse$5(t,{async:!1,renderer:plainTextRenderer$1.value}).replace(/&(#\d+|[a-zA-Z]+);/g,g=>{var y;return(y=unescapeInfo$1.get(g))!=null?y:g});return sanitizeRenderedMarkdown$1({isTrusted:!1},i).toString()}const unescapeInfo$1=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]);function createRenderer(){const n=new Renderer;return n.code=({text:e})=>e,n.blockquote=({text:e})=>e+"\n",n.html=e=>"",n.heading=function({tokens:e}){return this.parser.parseInline(e)+"\n"},n.hr=()=>"",n.list=function({items:e}){return e.map(t=>this.listitem(t)).join("\n")+"\n"},n.listitem=({text:e})=>e+"\n",n.paragraph=function({tokens:e}){return this.parser.parseInline(e)+"\n"},n.table=function({header:e,rows:t}){return e.map(i=>this.tablecell(i)).join(" ")+"\n"+t.map(i=>i.map(r=>this.tablecell(r)).join(" ")).join("\n")+"\n"},n.tablerow=({text:e})=>e,n.tablecell=function({tokens:e}){return this.parser.parseInline(e)},n.strong=({text:e})=>e,n.em=({text:e})=>e,n.codespan=({text:e})=>e,n.br=e=>"\n",n.del=({text:e})=>e,n.image=e=>"",n.text=({text:e})=>e,n.link=({text:e})=>e,n}const plainTextRenderer$1=new Lazy$1(n=>createRenderer());function mergeRawTokenText$1(n){let e="";return n.forEach(t=>{e+=t.raw}),e}function completeSingleLinePattern$1(n){var e,t;if(n.tokens)for(let i=n.tokens.length-1;i>=0;i--){const r=n.tokens[i];if(r.type==="text"){const g=r.raw.split("\n"),y=g[g.length-1];if(y.includes("`"))return completeCodespan$1(n);if(y.includes("**"))return completeDoublestar$1(n);if(y.match(/\*\w/))return completeStar$1(n);if(y.match(/(^|\s)__\w/))return completeDoubleUnderscore$1(n);if(y.match(/(^|\s)_\w/))return completeUnderscore$1(n);if(hasLinkTextAndStartOfLinkTarget(y)||hasStartOfLinkTargetAndNoLinkText(y)&&n.tokens.slice(0,i).some(k=>k.type==="text"&&k.raw.match(/\[[^\]]*$/))){const k=n.tokens.slice(i+1);return((e=k[0])==null?void 0:e.type)==="link"&&((t=k[1])==null?void 0:t.type)==="text"&&k[1].raw.match(/^ *"[^"]*$/)||y.match(/^[^"]* +"[^"]*$/)?completeLinkTargetArg$1(n):completeLinkTarget$1(n)}else if(y.match(/(^|\s)\[\w*/))return completeLinkText$1(n)}}}function hasLinkTextAndStartOfLinkTarget(n){return!!n.match(/(^|\s)\[.*\]\(\w*/)}function hasStartOfLinkTargetAndNoLinkText(n){return!!n.match(/^[^\[]*\]\([^\)]*$/)}function completeListItemPattern(n){var L;const e=n.items[n.items.length-1],t=e.tokens?e.tokens[e.tokens.length-1]:void 0;let i;if((t==null?void 0:t.type)==="text"&&!("inRawBlock"in e)&&(i=completeSingleLinePattern$1(t)),!i||i.type!=="paragraph")return;const r=mergeRawTokenText$1(n.items.slice(0,-1)),g=(L=e.raw.match(/^(\s*(-|\d+\.|\*) +)/))==null?void 0:L[0];if(!g)return;const y=g+mergeRawTokenText$1(e.tokens.slice(0,-1))+i.raw,k=lexer(r+y)[0];if(k.type==="list")return k}const maxIncompleteTokensFixRounds=3;function fillInIncompleteTokens$1(n){for(let e=0;e"u"&&y.match(/^\s*\|/)){const k=y.match(/(\|[^\|]+)(?=\||$)/g);k&&(i=k.length)}else if(typeof i=="number")if(y.match(/^\s*\|/)){if(g!==t.length-1)return;r=!0}else return}if(typeof i=="number"&&i>0){const g=r?t.slice(0,-1).join("\n"):e,y=!!g.match(/\|\s*$/),k=g+(y?"":"|")+"\n|".concat(" --- |".repeat(i));return lexer(k)}}function addDompurifyHook(n,e){return addHook$1(n,e),toDisposable$1(()=>removeHook$1(n))}var So;let LineTokens$1=(So=class{static createEmpty(e,t){const i=So.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=i,new So(r,e,t)}static createFromTextAndMetadata(e,t){let i=0,r="";const g=new Array;for(const{text:y,metadata:k}of e)g.push(i+y.length,k),i+=y.length,r+=y;return new So(new Uint32Array(g),r,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this.languageIdCodec=i}equals(e){return e instanceof So?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const r=t<<1,g=r+(i<<1);for(let y=r;y0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=TokenMetadata$1.getLanguageId(t);return this.languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return TokenMetadata$1.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return TokenMetadata$1.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return TokenMetadata$1.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return TokenMetadata$1.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return TokenMetadata$1.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return So.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new SliceLineTokens$1(this,e,t,i)}static convertToEndOffset(e,t){const r=(e.length>>>1)-1;for(let g=0;g>>1)-1;for(;it&&(r=g)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,r="";const g=new Array;let y=0;for(;;){const k=ty){r+=this._text.substring(y,L.offset);const V=this._tokens[(t<<1)+1];g.push(r.length,V),y=L.offset}r+=L.text,g.push(r.length,L.tokenMetadata),i++}else break}return new So(new Uint32Array(g),r,this.languageIdCodec)}getTokenText(e){const t=this.getStartOffset(e),i=this.getEndOffset(e);return this._text.substring(t,i)}forEach(e){const t=this.getCount();for(let i=0;i>>0,So),SliceLineTokens$1=class Hu{constructor(e,t,i,r){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this.languageIdCodec=e.languageIdCodec,this._tokensCount=0;for(let g=this._firstTokenIndex,y=e.getCount();g=i);g++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof Hu?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getStandardTokenType(e){return this._source.getStandardTokenType(this._firstTokenIndex+e)}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}getTokenText(e){const t=this._firstTokenIndex+e,i=this._source.getStartOffset(t),r=this._source.getEndOffset(t);let g=this._source.getTokenText(t);return ithis._endOffset&&(g=g.substring(0,g.length-(r-this._endOffset))),g}forEach(e){for(let t=0;t>>0,new EncodedTokenizationResult$1(t,e===null?NullState$1:e)}const fallback$1={getInitialState:()=>NullState$1,tokenizeEncoded:(n,e,t)=>nullTokenizeEncoded$1(0,t)};async function tokenizeToString$1(n,e,t){if(!t)return _tokenizeToString$1(e,n.languageIdCodec,fallback$1);const i=await TokenizationRegistry$2.getOrCreate(t);return _tokenizeToString$1(e,n.languageIdCodec,i||fallback$1)}function tokenizeLineToHTML$1(n,e,t,i,r,g,y){let k="
    ",L=i,V=0,z=!0;for(let j=0,ie=e.getCount();j0;)y&&z?(re+=" ",z=!1):(re+=" ",z=!0),le--;break}case 60:re+="<",z=!1;break;case 62:re+=">",z=!1;break;case 38:re+="&",z=!1;break;case 0:re+="�",z=!1;break;case 65279:case 8232:case 8233:case 133:re+="�",z=!1;break;case 13:re+="​",z=!1;break;case 32:y&&z?(re+=" ",z=!1):(re+=" ",z=!0);break;default:re+=String.fromCharCode(ae),z=!1}}if(k+='').concat(re,""),oe>r||L>=r)break}return k+="
    ",k}function _tokenizeToString$1(n,e,t){let i='
    ';const r=splitLines$1(n);let g=t.getInitialState();for(let y=0,k=r.length;y0&&(i+="
    ");const V=t.tokenizeEncoded(L,!0,g);LineTokens$1.convertToEndOffset(V.tokens,L.length);const j=new LineTokens$1(V.tokens,L,e).inflate();let ie=0;for(let oe=0,re=j.getCount();oe').concat(escape$1(L.substring(ie,le)),""),ie=le}g=V.endState}return i+="
    ",i}var __decorate$4V=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4G=function(n,e){return function(t,i){e(t,i,n)}},MarkdownRenderer_1$1,Ls;let MarkdownRenderer$1=(Ls=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new Emitter$3,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const r=new DisposableStore$1,g=r.add(renderMarkdown$1(e,{...this._getRenderOptions(e,r),...t},i));return g.element.classList.add("rendered-markdown"),{element:g.element,dispose:()=>r.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(i,r)=>{var L,V,z;let g;i?g=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(g=(L=this._options.editor.getModel())==null?void 0:L.getLanguageId()),g||(g=PLAINTEXT_LANGUAGE_ID$1);const y=await tokenizeToString$1(this._languageService,r,g),k=document.createElement("span");if(k.innerHTML=(z=(V=MarkdownRenderer_1$1._ttpTokenizer)==null?void 0:V.createHTML(y))!=null?z:y,this._options.editor){const j=this._options.editor.getOption(50);applyFontInfo$1(k,j)}else this._options.codeBlockFontFamily&&(k.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(k.style.fontSize=this._options.codeBlockFontSize),k},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>openLinkFromMarkdown$1(this._openerService,i,e.isTrusted),disposables:t}}}},MarkdownRenderer_1$1=Ls,Ls._ttpTokenizer=createTrustedTypesPolicy$1("tokenizeToString",{createHTML(e){return e}}),Ls);MarkdownRenderer$1=MarkdownRenderer_1$1=__decorate$4V([__param$4G(1,ILanguageService$1),__param$4G(2,IOpenerService$1)],MarkdownRenderer$1);async function openLinkFromMarkdown$1(n,e,t){try{return await n.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:toAllowCommandsOption$1(t)})}catch(i){return onUnexpectedError$1(i),!1}}function toAllowCommandsOption$1(n){return n===!0?!0:n&&Array.isArray(n.enabledCommands)?n.enabledCommands:!1}const IAccessibilityService$1=createDecorator$1("accessibilityService"),CONTEXT_ACCESSIBILITY_MODE_ENABLED$1=new RawContextKey$1("accessibilityModeEnabled",!1),MAX_MESSAGE_LENGTH$1=2e4;let ariaContainer$1,alertContainer$1,alertContainer2$1,statusContainer$1,statusContainer2$1;function setARIAContainer$1(n){ariaContainer$1=document.createElement("div"),ariaContainer$1.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),ariaContainer$1.appendChild(i),i};alertContainer$1=e(),alertContainer2$1=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),ariaContainer$1.appendChild(i),i};statusContainer$1=t(),statusContainer2$1=t(),n.appendChild(ariaContainer$1)}function alert$1(n){ariaContainer$1&&(alertContainer$1.textContent!==n?(clearNode$1(alertContainer2$1),insertMessage$1(alertContainer$1,n)):(clearNode$1(alertContainer$1),insertMessage$1(alertContainer2$1,n)))}function status$1(n){ariaContainer$1&&(statusContainer$1.textContent!==n?(clearNode$1(statusContainer2$1),insertMessage$1(statusContainer$1,n)):(clearNode$1(statusContainer$1),insertMessage$1(statusContainer2$1,n)))}function insertMessage$1(n,e){clearNode$1(n),e.length>MAX_MESSAGE_LENGTH$1&&(e=e.substr(0,MAX_MESSAGE_LENGTH$1)),n.textContent=e,n.style.visibility="hidden",n.style.visibility="visible"}var __decorate$4U=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4F=function(n,e){return function(t,i){e(t,i,n)}};const $$s=$$u;let HoverWidget$2=class extends Widget$3{get _targetWindow(){return getWindow$3(this._target.targetElements[0])}get _targetDocumentElement(){return getWindow$3(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,r,g,y){var ie,oe,re,ae,le,de,ue,he;super(),this._keybindingService=t,this._configurationService=i,this._openerService=r,this._instantiationService=g,this._accessibilityService=y,this._messageListeners=new DisposableStore$1,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new Emitter$3),this._onRequestLayout=this._register(new Emitter$3),this._linkHandler=e.linkHandler||(pe=>openLinkFromMarkdown$1(this._openerService,pe,isMarkdownString$1(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new ElementHoverTarget$1(e.target),this._hoverPointer=(ie=e.appearance)!=null&&ie.showPointer?$$s("div.workbench-hover-pointer"):void 0,this._hover=this._register(new HoverWidget$3),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),(oe=e.appearance)!=null&&oe.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),(re=e.appearance)!=null&&re.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),(ae=e.position)!=null&&ae.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=(de=(le=e.position)==null?void 0:le.hoverPosition)!=null?de:3,this.onmousedown(this._hover.containerDomNode,pe=>pe.stopPropagation()),this.onkeydown(this._hover.containerDomNode,pe=>{pe.equals(9)&&this.dispose()}),this._register(addDisposableListener$1(this._targetWindow,"blur",()=>this.dispose()));const k=$$s("div.hover-row.markdown-hover"),L=$$s("div.hover-contents");if(typeof e.content=="string")L.textContent=e.content,L.style.whiteSpace="pre-wrap";else if(isHTMLElement$1(e.content))L.appendChild(e.content),L.classList.add("html-hover-contents");else{const pe=e.content,Ce=this._instantiationService.createInstance(MarkdownRenderer$1,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||EDITOR_FONT_DEFAULTS$1.fontFamily}),{element:$e}=Ce.render(pe,{actionHandler:{callback:xe=>this._linkHandler(xe),disposables:this._messageListeners},asyncRenderCallback:()=>{L.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});L.appendChild($e)}if(k.appendChild(L),this._hover.contentsDomNode.appendChild(k),e.actions&&e.actions.length>0){const pe=$$s("div.hover-row.status-bar"),Ce=$$s("div.actions");e.actions.forEach($e=>{const xe=this._keybindingService.lookupKeybinding($e.commandId),Ie=xe?xe.getLabel():null;HoverAction$1.render(Ce,{label:$e.label,commandId:$e.commandId,run:Ne=>{$e.run(Ne),this.dispose()},iconClass:$e.iconClass},Ie)}),pe.appendChild(Ce),this._hover.containerDomNode.appendChild(pe)}this._hoverContainer=$$s("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let V;if(e.actions&&e.actions.length>0?V=!1:((ue=e.persistence)==null?void 0:ue.hideOnHover)===void 0?V=typeof e.content=="string"||isMarkdownString$1(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):V=e.persistence.hideOnHover,(he=e.appearance)!=null&&he.showHoverHint){const pe=$$s("div.hover-row.status-bar"),Ce=$$s("div.info");Ce.textContent=localize$1("hoverhint","Hold {0} key to mouse over",isMacintosh$1?"Option":"Alt"),pe.appendChild(Ce),this._hover.containerDomNode.appendChild(pe)}const z=[...this._target.targetElements];V||z.push(this._hoverContainer);const j=this._register(new CompositeMouseTracker$1(z));if(this._register(j.onMouseOut(()=>{this._isLocked||this.dispose()})),V){const pe=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new CompositeMouseTracker$1(pe)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=j}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=prepend$3(this._hoverContainer,$$s("div")),r=append$4(this._hoverContainer,$$s("div"));i.tabIndex=0,r.tabIndex=0,this._register(addDisposableListener$1(r,"focus",g=>{e.focus(),g.preventDefault()})),this._register(addDisposableListener$1(i,"focus",g=>{t.focus(),g.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return g}const r=this.findLastFocusableChild(i);if(r)return r}}render(e){var r;e.appendChild(this._hoverContainer);const i=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&getHoverAccessibleViewHint$1(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(r=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:r.getAriaLabel());i&&status$1(i),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=z=>{const j=getDomNodeZoomLevel$1(z),ie=z.getBoundingClientRect();return{top:ie.top*j,bottom:ie.bottom*j,right:ie.right*j,left:ie.left*j}},t=this._target.targetElements.map(z=>e(z)),{top:i,right:r,bottom:g,left:y}=t[0],k=r-y,L=g-i,V={top:i,right:r,bottom:g,left:y,width:k,height:L,center:{x:y+k/2,y:i+L/2}};if(this.adjustHorizontalHoverPosition(V),this.adjustVerticalHoverPosition(V),this.adjustHoverMaxHeight(V),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:V.left+=3,V.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:V.left-=3,V.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:V.top+=3,V.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:V.top-=3,V.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}V.center.x=V.left+k/2,V.center.y=V.top+L/2}this.computeXCordinate(V),this.computeYCordinate(V),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(V)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth="".concat(this._targetDocumentElement.clientWidth-e.right-i,"px"):this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth="".concat(e.left-i,"px"));return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;const t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-i):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight="".concat(t,"px"),this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top="".concat(e.center.y-(this._y-t)-3,"px"):this._hoverPointer.style.top="".concat(Math.round(t/2)-3,"px");break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const r=this._x+i;(re.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left="".concat(i,"px");break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};HoverWidget$2=__decorate$4U([__param$4F(1,IKeybindingService$1),__param$4F(2,IConfigurationService$1),__param$4F(3,IOpenerService$1),__param$4F(4,IInstantiationService$1),__param$4F(5,IAccessibilityService$1)],HoverWidget$2);let CompositeMouseTracker$1=class extends Widget$3{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new Emitter$3),this._elements.forEach(t=>this.onmouseover(t,()=>this._onTargetMouseOver(t))),this._elements.forEach(t=>this.onmouseleave(t,()=>this._onTargetMouseLeave(t)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=getWindow$3(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(getWindow$3(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}},ElementHoverTarget$1=class{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}};var Range$4;(function(n){function e(g,y){if(g.start>=y.end||y.start>=g.end)return{start:0,end:0};const k=Math.max(g.start,y.start),L=Math.min(g.end,y.end);return L-k<=0?{start:0,end:0}:{start:k,end:L}}n.intersect=e;function t(g){return g.end-g.start<=0}n.isEmpty=t;function i(g,y){return!t(e(g,y))}n.intersects=i;function r(g,y){const k=[],L={start:g.start,end:Math.min(y.start,g.end)},V={start:Math.max(y.end,g.start),end:g.end};return t(L)||k.push(L),t(V)||k.push(V),k}n.relativeComplement=r})(Range$4||(Range$4={}));function isAnchor$1(n){const e=n;return!!e&&typeof e.x=="number"&&typeof e.y=="number"}var LayoutAnchorMode$1;(function(n){n[n.AVOID=0]="AVOID",n[n.ALIGN=1]="ALIGN"})(LayoutAnchorMode$1||(LayoutAnchorMode$1={}));function layout$1(n,e,t){const i=t.mode===LayoutAnchorMode$1.ALIGN?t.offset:t.offset+t.size,r=t.mode===LayoutAnchorMode$1.ALIGN?t.offset+t.size:t.offset;return t.position===0?e<=n-i?i:e<=r?r-e:Math.max(n-e,0):e<=r?r-e:e<=n-i?i:0}var ur;let ContextView$1=(ur=class extends Disposable$1{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Disposable$1.None,this.toDisposeOnSetContainer=Disposable$1.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$$u(".context-view"),hide$3(this.view),this.setContainer(e,t),this._register(toDisposable$1(()=>this.setContainer(null,1)))}setContainer(e,t){var r;this.useFixedPosition=t!==1;const i=this.useShadowDOM;if(this.useShadowDOM=t===3,!(e===this.container&&i===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.view.remove(),this.shadowRoot&&(this.shadowRoot=null,(r=this.shadowRootHostElement)==null||r.remove(),this.shadowRootHostElement=null),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=$$u(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const y=document.createElement("style");y.textContent=SHADOW_ROOT_CSS$1,this.shadowRoot.appendChild(y),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($$u("slot"))}else this.container.appendChild(this.view);const g=new DisposableStore$1;ur.BUBBLE_UP_EVENTS.forEach(y=>{g.add(addStandardDisposableListener$1(this.container,y,k=>{this.onDOMEvent(k,!1)}))}),ur.BUBBLE_DOWN_EVENTS.forEach(y=>{g.add(addStandardDisposableListener$1(this.container,y,k=>{this.onDOMEvent(k,!0)},!0))}),this.toDisposeOnSetContainer=g}}show(e){var t,i,r;this.isVisible()&&this.hide(),clearNode$1(this.view),this.view.className="context-view monaco-component",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="".concat(2575+((t=e.layer)!=null?t:0)),this.view.style.position=this.useFixedPosition?"fixed":"absolute",show$1(this.view),this.toDisposeOnClean=e.render(this.view)||Disposable$1.None,this.delegate=e,this.doLayout(),(r=(i=this.delegate).focus)==null||r.call(i)}getViewElement(){return this.view}layout(){var e,t;if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(isIOS$3&&BrowserFeatures$1.pointerEvents)){this.hide();return}(t=(e=this.delegate)==null?void 0:e.layout)==null||t.call(e),this.doLayout()}}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(isHTMLElement$1(e)){const ie=getDomNodePagePosition$1(e),oe=getDomNodeZoomLevel$1(e);t={top:ie.top*oe,left:ie.left*oe,width:ie.width*oe,height:ie.height*oe}}else isAnchor$1(e)?t={top:e.y,left:e.x,width:e.width||1,height:e.height||2}:t={top:e.posy,left:e.posx,width:2,height:2};const i=getTotalWidth$1(this.view),r=getTotalHeight$1(this.view),g=this.delegate.anchorPosition||0,y=this.delegate.anchorAlignment||0,k=this.delegate.anchorAxisAlignment||0;let L,V;const z=getActiveWindow$1();if(k===0){const ie={offset:t.top-z.pageYOffset,size:t.height,position:g===0?0:1},oe={offset:t.left,size:t.width,position:y===0?0:1,mode:LayoutAnchorMode$1.ALIGN};L=layout$1(z.innerHeight,r,ie)+z.pageYOffset,Range$4.intersects({start:L,end:L+r},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode$1.AVOID),V=layout$1(z.innerWidth,i,oe)}else{const ie={offset:t.left,size:t.width,position:y===0?0:1},oe={offset:t.top,size:t.height,position:g===0?0:1,mode:LayoutAnchorMode$1.ALIGN};V=layout$1(z.innerWidth,i,ie),Range$4.intersects({start:V,end:V+i},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode$1.AVOID),L=layout$1(z.innerHeight,r,oe)+z.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(g===0?"bottom":"top"),this.view.classList.add(y===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const j=getDomNodePagePosition$1(this.container);this.view.style.top="".concat(L-(this.useFixedPosition?getDomNodePagePosition$1(this.view).top:j.top),"px"),this.view.style.left="".concat(V-(this.useFixedPosition?getDomNodePagePosition$1(this.view).left:j.left),"px"),this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t!=null&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),hide$3(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,getWindow$3(e).document.activeElement):t&&!isAncestor$3(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}},ur.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],ur.BUBBLE_DOWN_EVENTS=["click"],ur);const SHADOW_ROOT_CSS$1='\n :host {\n all: initial; /* 1st rule so subsequent properties are reset. */\n }\n\n .codicon[class*=\'codicon-\'] {\n font: normal normal normal 16px/1 codicon;\n display: inline-block;\n text-decoration: none;\n text-rendering: auto;\n text-align: center;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n }\n\n :host {\n font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n }\n\n :host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n :host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n :host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n :host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n :host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n :host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n :host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n :host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n :host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n :host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n :host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n :host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var __decorate$4T=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4E=function(n,e){return function(t,i){e(t,i,n)}};let ContextViewHandler$1=class extends Disposable$1{constructor(e){super(),this.layoutService=e,this.contextView=this._register(new ContextView$1(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let r;t?t===this.layoutService.getContainer(getWindow$3(t))?r=1:i?r=3:r=2:r=1,this.contextView.setContainer(t!=null?t:this.layoutService.activeContainer,r),this.contextView.show(e);const g={close:()=>{this.openContextView===g&&this.hideContextView()}};return this.openContextView=g,g}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e),this.openContextView=void 0}};ContextViewHandler$1=__decorate$4T([__param$4E(0,ILayoutService$1)],ContextViewHandler$1);let ContextViewService$1=class extends ContextViewHandler$1{getContextViewElement(){return this.contextView.getViewElement()}};class ManagedHoverWidget{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){var g;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let r;if(e===void 0||isString$7(e)||isHTMLElement$1(e))r=e;else if(!isFunction$6(e.markdown))r=(g=e.markdown)!=null?g:e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(localize$1("iconLabel.loading","Loading..."),t,i),this._cancellationTokenSource=new CancellationTokenSource$3;const y=this._cancellationTokenSource.token;if(r=await e.markdown(y),r===void 0&&(r=e.markdownNotSupportedFallback),this.isDisposed||y.isCancellationRequested)return}this.show(r,t,i)}show(e,t,i){var g;const r=this._hoverWidget;if(this.hasContent(e)){const y={content:e,target:this.target,actions:i==null?void 0:i.actions,linkHandler:i==null?void 0:i.linkHandler,trapFocus:i==null?void 0:i.trapFocus,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!r,showHoverHint:(g=i==null?void 0:i.appearance)==null?void 0:g.showHoverHint},position:{hoverPosition:2}};this._hoverWidget=this.hoverDelegate.showHover(y,t)}r==null||r.dispose()}hasContent(e){return e?isMarkdownString$1(e)?!!e.value:!0:!1}get isDisposed(){var e;return(e=this._hoverWidget)==null?void 0:e.isDisposed}dispose(){var e,t;(e=this._hoverWidget)==null||e.dispose(),(t=this._cancellationTokenSource)==null||t.dispose(!0),this._cancellationTokenSource=void 0}}var __decorate$4S=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4D=function(n,e){return function(t,i){e(t,i,n)}};let HoverService$1=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=r,this._accessibilityService=g,this._managedHovers=new Map,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new ContextViewHandler$1(this._layoutService))}showHover(e,t,i){var L,V,z,j;if(getHoverOptionsIdentity$1(this._currentHoverOptions)===getHoverOptionsIdentity$1(e)||this._currentHover&&((V=(L=this._currentHoverOptions)==null?void 0:L.persistence)!=null&&V.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const r=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),g=getActiveElement$1();i||(r&&g?g.classList.contains("monaco-hover")||(this._lastFocusedElementBeforeOpen=g):this._lastFocusedElementBeforeOpen=void 0);const y=new DisposableStore$1,k=this._instantiationService.createInstance(HoverWidget$2,e);if((z=e.persistence)!=null&&z.sticky&&(k.isLocked=!0),k.onDispose(()=>{var oe,re;((oe=this._currentHover)==null?void 0:oe.domNode)&&isAncestorOfActiveElement$1(this._currentHover.domNode)&&((re=this._lastFocusedElementBeforeOpen)==null||re.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),y.dispose()},void 0,y),!e.container){const ie=isHTMLElement$1(e.target)?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(getWindow$3(ie))}if(this._contextViewHandler.showContextView(new HoverContextViewDelegate$1(k,t),e.container),k.onRequestLayout(()=>this._contextViewHandler.layout(),void 0,y),(j=e.persistence)!=null&&j.sticky)y.add(addDisposableListener$1(getWindow$3(e.container).document,EventType$3.MOUSE_DOWN,ie=>{isAncestor$3(ie.target,k.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const oe of e.target.targetElements)y.add(addDisposableListener$1(oe,EventType$3.CLICK,()=>this.hideHover()));else y.add(addDisposableListener$1(e.target,EventType$3.CLICK,()=>this.hideHover()));const ie=getActiveElement$1();if(ie){const oe=getWindow$3(ie).document;y.add(addDisposableListener$1(ie,EventType$3.KEY_DOWN,re=>{var ae;return this._keyDown(re,k,!!((ae=e.persistence)!=null&&ae.hideOnKeyDown))})),y.add(addDisposableListener$1(oe,EventType$3.KEY_DOWN,re=>{var ae;return this._keyDown(re,k,!!((ae=e.persistence)!=null&&ae.hideOnKeyDown))})),y.add(addDisposableListener$1(ie,EventType$3.KEY_UP,re=>this._keyUp(re,k))),y.add(addDisposableListener$1(oe,EventType$3.KEY_UP,re=>this._keyUp(re,k)))}}if("IntersectionObserver"in mainWindow$1){const ie=new IntersectionObserver(re=>this._intersectionChange(re,k),{threshold:0}),oe="targetElements"in e.target?e.target.targetElements[0]:e.target;ie.observe(oe),y.add(toDisposable$1(()=>ie.disconnect()))}return this._currentHover=k,k}hideHover(){var e;(e=this._currentHover)!=null&&e.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}showAndFocusLastHover(){this._lastHoverOptions&&this.showHover(this._lastHoverOptions,!0,!0)}_keyDown(e,t,i){var y,k;if(e.key==="Alt"){t.isLocked=!0;return}const r=new StandardKeyboardEvent$1(e);this._keybindingService.resolveKeyboardEvent(r).getSingleModifierDispatchChords().some(L=>!!L)||this._keybindingService.softDispatch(r,r.target).kind!==0||i&&(!((y=this._currentHoverOptions)!=null&&y.trapFocus)||e.key!=="Tab")&&(this.hideHover(),(k=this._lastFocusedElementBeforeOpen)==null||k.focus())}_keyUp(e,t){var i;e.key==="Alt"&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),(i=this._lastFocusedElementBeforeOpen)==null||i.focus()))}setupManagedHover(e,t,i,r){t.setAttribute("custom-hover","true"),t.title!==""&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",t.title),t.title="");let g,y;const k=(he,pe)=>{var $e;const Ce=y!==void 0;he&&(y==null||y.dispose(),y=void 0),pe&&(g==null||g.dispose(),g=void 0),Ce&&(($e=e.onDidHideHover)==null||$e.call(e),y=void 0)},L=(he,pe,Ce,$e)=>new TimeoutTimer$1(async()=>{(!y||y.isDisposed)&&(y=new ManagedHoverWidget(e,Ce||t,he>0),await y.update(typeof i=="function"?i():i,pe,{...r,trapFocus:$e}))},he);let V=!1;const z=addDisposableListener$1(t,EventType$3.MOUSE_DOWN,()=>{V=!0,k(!0,!0)},!0),j=addDisposableListener$1(t,EventType$3.MOUSE_UP,()=>{V=!1},!0),ie=addDisposableListener$1(t,EventType$3.MOUSE_LEAVE,he=>{V=!1,k(!1,he.fromElement===t)},!0),oe=he=>{if(g)return;const pe=new DisposableStore$1,Ce={targetElements:[t],dispose:()=>{}};if(e.placement===void 0||e.placement==="mouse"){const $e=xe=>{Ce.x=xe.x+10,isHTMLElement$1(xe.target)&&getHoverTargetElement$1(xe.target,t)!==t&&k(!0,!0)};pe.add(addDisposableListener$1(t,EventType$3.MOUSE_MOVE,$e,!0))}g=pe,!(isHTMLElement$1(he.target)&&getHoverTargetElement$1(he.target,t)!==t)&&pe.add(L(e.delay,!1,Ce))},re=addDisposableListener$1(t,EventType$3.MOUSE_OVER,oe,!0),ae=()=>{if(V||g)return;const he={targetElements:[t],dispose:()=>{}},pe=new DisposableStore$1,Ce=()=>k(!0,!0);pe.add(addDisposableListener$1(t,EventType$3.BLUR,Ce,!0)),pe.add(L(e.delay,!1,he)),g=pe};let le;const de=t.tagName.toLowerCase();de!=="input"&&de!=="textarea"&&(le=addDisposableListener$1(t,EventType$3.FOCUS,ae,!0));const ue={show:he=>{k(!1,!0),L(0,he,void 0,he)},hide:()=>{k(!0,!0)},update:async(he,pe)=>{i=he,await(y==null?void 0:y.update(i,void 0,pe))},dispose:()=>{this._managedHovers.delete(t),re.dispose(),ie.dispose(),z.dispose(),j.dispose(),le==null||le.dispose(),k(!0,!0)}};return this._managedHovers.set(t,ue),ue}showManagedHover(e){const t=this._managedHovers.get(e);t&&t.show(!0)}dispose(){this._managedHovers.forEach(e=>e.dispose()),super.dispose()}};HoverService$1=__decorate$4S([__param$4D(0,IInstantiationService$1),__param$4D(1,IContextMenuService$1),__param$4D(2,IKeybindingService$1),__param$4D(3,ILayoutService$1),__param$4D(4,IAccessibilityService$1)],HoverService$1);function getHoverOptionsIdentity$1(n){var e;if(n!==void 0)return(e=n==null?void 0:n.id)!=null?e:n}let HoverContextViewDelegate$1=class{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}};function getHoverTargetElement$1(n,e){for(e=e!=null?e:getWindow$3(n).document.body;!n.hasAttribute("custom-hover")&&n!==e;)n=n.parentElement;return n}registerSingleton$1(IHoverService$1,HoverService$1,1);registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorHoverBorder$1);t&&(e.addRule(".monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-workbench .workbench-hover hr { border-top: 1px solid ".concat(t.transparent(.5),"; }")))});const IBulkEditService$1=createDecorator$1("IWorkspaceEditService");let ResourceEdit$1=class{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(ResourceTextEdit$1.is(t))return ResourceTextEdit$1.lift(t);if(ResourceFileEdit$1.is(t))return ResourceFileEdit$1.lift(t);throw new Error("Unsupported edit")})}},ResourceTextEdit$1=class Oc extends ResourceEdit$1{static is(e){return e instanceof Oc?!0:isObject$7(e)&&URI$1.isUri(e.resource)&&isObject$7(e.textEdit)}static lift(e){return e instanceof Oc?e:new Oc(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,r){super(r),this.resource=e,this.textEdit=t,this.versionId=i}},ResourceFileEdit$1=class Fc extends ResourceEdit$1{static is(e){return e instanceof Fc?!0:isObject$7(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof Fc?e:new Fc(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},r){super(r),this.oldResource=e,this.newResource=t,this.options=i}};const diffEditorDefaultOptions$1={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0,useTrueInlineView:!1},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0,compactMode:!1},editorConfigurationBaseNode$1=Object.freeze({id:"editor",order:5,type:"object",title:localize$1("editorConfigurationTitle","Editor"),scope:5}),editorConfiguration$1={...editorConfigurationBaseNode$1,properties:{"editor.tabSize":{type:"number",default:EDITOR_MODEL_DEFAULTS$1.tabSize,minimum:1,markdownDescription:localize$1("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:localize$1("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:EDITOR_MODEL_DEFAULTS$1.insertSpaces,markdownDescription:localize$1("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:EDITOR_MODEL_DEFAULTS$1.detectIndentation,markdownDescription:localize$1("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:EDITOR_MODEL_DEFAULTS$1.trimAutoWhitespace,description:localize$1("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:EDITOR_MODEL_DEFAULTS$1.largeFileOptimizations,description:localize$1("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[localize$1("wordBasedSuggestions.off","Turn off Word Based Suggestions."),localize$1("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),localize$1("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),localize$1("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:localize$1("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[localize$1("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),localize$1("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),localize$1("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:localize$1("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:localize$1("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:localize$1("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!0,description:localize$1("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:localize$1("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:localize$1("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.experimental.treeSitterTelemetry":{type:"boolean",default:!1,markdownDescription:localize$1("editor.experimental.treeSitterTelemetry","Controls whether tree sitter parsing should be turned on and telemetry collected. Setting `editor.experimental.preferTreeSitter` for specific languages will take precedence."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:localize$1("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:localize$1("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize$1("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:localize$1("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:localize$1("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize$1("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:diffEditorDefaultOptions$1.maxComputationTime,description:localize$1("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:diffEditorDefaultOptions$1.maxFileSize,description:localize$1("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:diffEditorDefaultOptions$1.renderSideBySide,description:localize$1("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:diffEditorDefaultOptions$1.renderSideBySideInlineBreakpoint,description:localize$1("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:diffEditorDefaultOptions$1.useInlineViewWhenSpaceIsLimited,description:localize$1("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:diffEditorDefaultOptions$1.renderMarginRevertIcon,description:localize$1("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:diffEditorDefaultOptions$1.renderGutterMenu,description:localize$1("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:diffEditorDefaultOptions$1.ignoreTrimWhitespace,description:localize$1("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:diffEditorDefaultOptions$1.renderIndicators,description:localize$1("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:diffEditorDefaultOptions$1.diffCodeLens,description:localize$1("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:diffEditorDefaultOptions$1.diffWordWrap,markdownEnumDescriptions:[localize$1("wordWrap.off","Lines will never wrap."),localize$1("wordWrap.on","Lines will wrap at the viewport width."),localize$1("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:diffEditorDefaultOptions$1.diffAlgorithm,markdownEnumDescriptions:[localize$1("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),localize$1("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:diffEditorDefaultOptions$1.hideUnchangedRegions.enabled,markdownDescription:localize$1("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:diffEditorDefaultOptions$1.hideUnchangedRegions.revealLineCount,markdownDescription:localize$1("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:diffEditorDefaultOptions$1.hideUnchangedRegions.minimumLineCount,markdownDescription:localize$1("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:diffEditorDefaultOptions$1.hideUnchangedRegions.contextLineCount,markdownDescription:localize$1("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:diffEditorDefaultOptions$1.experimental.showMoves,markdownDescription:localize$1("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:diffEditorDefaultOptions$1.experimental.showEmptyDecorations,description:localize$1("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")},"diffEditor.experimental.useTrueInlineView":{type:"boolean",default:diffEditorDefaultOptions$1.experimental.useTrueInlineView,description:localize$1("useTrueInlineView","If enabled and the editor uses the inline view, word changes are rendered inline.")}}};function isConfigurationPropertySchema$1(n){return typeof n.type<"u"||typeof n.anyOf<"u"}for(const n of editorOptionsRegistry$1){const e=n.schema;if(typeof e<"u")if(isConfigurationPropertySchema$1(e))editorConfiguration$1.properties["editor.".concat(n.name)]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(editorConfiguration$1.properties[t]=e[t])}let cachedEditorConfigurationKeys$1=null;function getEditorConfigurationKeys$1(){return cachedEditorConfigurationKeys$1===null&&(cachedEditorConfigurationKeys$1=Object.create(null),Object.keys(editorConfiguration$1.properties).forEach(n=>{cachedEditorConfigurationKeys$1[n]=!0})),cachedEditorConfigurationKeys$1}function isEditorConfigurationKey$1(n){return getEditorConfigurationKeys$1()["editor.".concat(n)]||!1}function isDiffEditorConfigurationKey$1(n){return getEditorConfigurationKeys$1()["diffEditor.".concat(n)]||!1}const configurationRegistry$4=Registry$1.as(Extensions$g.Configuration);configurationRegistry$4.registerConfiguration(editorConfiguration$1);let EditOperation$1=class{static insert(e,t){return{range:new Range$5(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}};function freeze$2(n){return Object.isFrozen(n)?n:deepFreeze$1(n)}let ConfigurationModel$1=class as{static createEmptyModel(e){return new as({},[],[],void 0,e)}constructor(e,t,i,r,g){this._contents=e,this._keys=t,this._overrides=i,this.raw=r,this.logService=g,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if((e=this.raw)!=null&&e.length){const t=this.raw.map(i=>{if(i instanceof as)return i;const r=new ConfigurationModelParser$1("",this.logService);return r.parseRaw(i),r.configurationModel});this._rawConfiguration=t.reduce((i,r)=>r===i?r:i.merge(r),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?getConfigurationValue$1(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return freeze$2(i.rawConfiguration.getValue(e))},get override(){return t?freeze$2(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return freeze$2(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const r=[];for(const{contents:g,identifiers:y,keys:k}of i.rawConfiguration.overrides){const L=new as(g,k,[],void 0,i.logService).getValue(e);L!==void 0&&r.push({identifiers:y,value:L})}return r.length?freeze$2(r):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?getConfigurationValue$1(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var y,k;const t=deepClone$1(this.contents),i=deepClone$1(this.overrides),r=[...this.keys],g=(y=this.raw)!=null&&y.length?[...this.raw]:[this];for(const L of e)if(g.push(...(k=L.raw)!=null&&k.length?L.raw:[L]),!L.isEmpty()){this.mergeContents(t,L.contents);for(const V of L.overrides){const[z]=i.filter(j=>equals$5(j.identifiers,V.identifiers));z?(this.mergeContents(z.contents,V.contents),z.keys.push(...V.keys),z.keys=distinct$1(z.keys)):i.push(deepClone$1(V))}for(const V of L.keys)r.indexOf(V)===-1&&r.push(V)}return new as(t,r,i,g.every(L=>L instanceof as)?void 0:g,this.logService)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||typeof t!="object"||!Object.keys(t).length)return this;const i={};for(const r of distinct$1([...Object.keys(this.contents),...Object.keys(t)])){let g=this.contents[r];const y=t[r];y&&(typeof g=="object"&&typeof y=="object"?(g=deepClone$1(g),this.mergeContents(g,y)):g=y),i[r]=g}return new as(i,this.keys,this.overrides,void 0,this.logService)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&isObject$7(e[i])&&isObject$7(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=deepClone$1(t[i])}}getContentsForOverrideIdentifer(e){let t=null,i=null;const r=g=>{g&&(i?this.mergeContents(i,g):i=deepClone$1(g))};for(const g of this.overrides)g.identifiers.length===1&&g.identifiers[0]===e?t=g.contents:g.identifiers.includes(e)&&r(g.contents);return r(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),removeFromValueTree$1(this.contents,e),OVERRIDE_PROPERTY_REGEX$1.test(e)&&this.overrides.splice(this.overrides.findIndex(i=>equals$5(i.identifiers,overrideIdentifiersFromKey$1(e))),1))}updateValue(e,t,i){if(addToValueTree$1(this.contents,e,t,r=>this.logService.error(r)),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),OVERRIDE_PROPERTY_REGEX$1.test(e)){const r=overrideIdentifiersFromKey$1(e),g={identifiers:r,keys:Object.keys(this.contents[e]),contents:toValuesTree$1(this.contents[e],k=>this.logService.error(k))},y=this.overrides.findIndex(k=>equals$5(k.identifiers,r));y!==-1?this.overrides[y]=g:this.overrides.push(g)}}},ConfigurationModelParser$1=class{constructor(e,t){this._name=e,this.logService=t,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||ConfigurationModel$1.createEmptyModel(this.logService)}parseRaw(e,t){this._raw=e;const{contents:i,keys:r,overrides:g,restricted:y,hasExcludedProperties:k}=this.doParseRaw(e,t);this._configurationModel=new ConfigurationModel$1(i,r,g,k?[e]:void 0,this.logService),this._restrictedConfigurations=y||[]}doParseRaw(e,t){const i=Registry$1.as(Extensions$g.Configuration).getConfigurationProperties(),r=this.filter(e,i,!0,t);e=r.raw;const g=toValuesTree$1(e,L=>this.logService.error("Conflict in settings file ".concat(this._name,": ").concat(L))),y=Object.keys(e),k=this.toOverrides(e,L=>this.logService.error("Conflict in settings file ".concat(this._name,": ").concat(L)));return{contents:g,keys:y,overrides:k,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(e,t,i,r){var L,V,z;let g=!1;if(!(r!=null&&r.scopes)&&!(r!=null&&r.skipRestricted)&&!((L=r==null?void 0:r.exclude)!=null&&L.length))return{raw:e,restricted:[],hasExcludedProperties:g};const y={},k=[];for(const j in e)if(OVERRIDE_PROPERTY_REGEX$1.test(j)&&i){const ie=this.filter(e[j],t,!1,r);y[j]=ie.raw,g=g||ie.hasExcludedProperties,k.push(...ie.restricted)}else{const ie=t[j],oe=ie?typeof ie.scope<"u"?ie.scope:3:void 0;ie!=null&&ie.restricted&&k.push(j),!((V=r.exclude)!=null&&V.includes(j))&&((z=r.include)!=null&&z.includes(j)||(oe===void 0||r.scopes===void 0||r.scopes.includes(oe))&&!(r.skipRestricted&&(ie!=null&&ie.restricted)))?y[j]=e[j]:g=!0}return{raw:y,restricted:k,hasExcludedProperties:g}}toOverrides(e,t){const i=[];for(const r of Object.keys(e))if(OVERRIDE_PROPERTY_REGEX$1.test(r)){const g={};for(const y in e[r])g[y]=e[r][y];i.push({identifiers:overrideIdentifiersFromKey$1(r),keys:Object.keys(g),contents:toValuesTree$1(g,t)})}return i}},ConfigurationInspectValue$1=class{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=r,this.defaultConfiguration=g,this.policyConfiguration=y,this.applicationConfiguration=k,this.userConfiguration=L,this.localUserConfiguration=V,this.remoteUserConfiguration=z,this.workspaceConfiguration=j,this.folderConfigurationModel=ie,this.memoryConfigurationModel=oe}toInspectValue(e){return(e==null?void 0:e.value)!==void 0||(e==null?void 0:e.override)!==void 0||(e==null?void 0:e.overrides)!==void 0?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}},Configuration$1=class Uu{constructor(e,t,i,r,g,y,k,L,V,z){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=r,this._remoteUserConfiguration=g,this._workspaceConfiguration=y,this._folderConfigurations=k,this._memoryConfiguration=L,this._memoryConfigurationByResource=V,this.logService=z,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new ResourceMap$1,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let r;i.resource?(r=this._memoryConfigurationByResource.get(i.resource),r||(r=ConfigurationModel$1.createEmptyModel(this.logService),this._memoryConfigurationByResource.set(i.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const r=this.getConsolidatedConfigurationModel(e,t,i),g=this.getFolderConfigurationModelForResource(t.resource,i),y=t.resource?this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration:this._memoryConfiguration,k=new Set;for(const L of r.overrides)for(const V of L.identifiers)r.getOverrideValue(e,V)!==void 0&&k.add(V);return new ConfigurationInspectValue$1(e,t,r.getValue(e),k.size?[...k]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,g||void 0,y)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let r=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const r=t.getFolder(e);r&&(i=this.getFolderConsolidatedConfiguration(r.uri)||i);const g=this._memoryConfigurationByResource.get(e);g&&(i=i.merge(g))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=i.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{const{contents:i,overrides:r,keys:g}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:r,keys:g}]),e},[])}}static parse(e,t){const i=this.parseConfigurationModel(e.defaults,t),r=this.parseConfigurationModel(e.policy,t),g=this.parseConfigurationModel(e.application,t),y=this.parseConfigurationModel(e.user,t),k=this.parseConfigurationModel(e.workspace,t),L=e.folders.reduce((V,z)=>(V.set(URI$1.revive(z[0]),this.parseConfigurationModel(z[1],t)),V),new ResourceMap$1);return new Uu(i,r,g,y,ConfigurationModel$1.createEmptyModel(t),k,L,ConfigurationModel$1.createEmptyModel(t),new ResourceMap$1,t)}static parseConfigurationModel(e,t){return new ConfigurationModel$1(e.contents,e.keys,e.overrides,void 0,t)}},ConfigurationChangeEvent$1=class{constructor(e,t,i,r,g){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=r,this.logService=g,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const y of e.keys)this.affectedKeys.add(y);for(const[,y]of e.overrides)for(const k of y)this.affectedKeys.add(k);this._affectsConfigStr=this._marker;for(const y of this.affectedKeys)this._affectsConfigStr+=y+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Configuration$1.parse(this.previous.data,this.logService)),this._previousConfiguration}affectsConfiguration(e,t){var k;const i=this._marker+e,r=this._affectsConfigStr.indexOf(i);if(r<0)return!1;const g=r+i.length;if(g>=this._affectsConfigStr.length)return!1;const y=this._affectsConfigStr.charCodeAt(g);if(y!==this._markerCode1&&y!==this._markerCode2)return!1;if(t){const L=this.previousConfiguration?this.previousConfiguration.getValue(e,t,(k=this.previous)==null?void 0:k.workspace):void 0,V=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!equals$4(L,V)}return!0}},IMEImpl$1=class{constructor(){this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}};const IME$1=new IMEImpl$1,NoMatchingKb$1={kind:0},MoreChordsNeeded$1={kind:1};function KbFound$1(n,e,t){return{kind:2,commandId:n,commandArgs:e,isBubble:t}}let KeybindingResolver$1=class Bc{constructor(e,t,i){var r;this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const g of e){const y=g.command;y&&y.charAt(0)!=="-"&&this._defaultBoundCommands.set(y,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=Bc.handleRemovals([].concat(e).concat(t));for(let g=0,y=this._keybindings.length;g"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let r=i.length-1;r>=0;r--){const g=i[r];if(g.command===t.command)continue;let y=!0;for(let k=1;k"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,r=t.length;i"u"||i.length===0)return null;if(i.length===1)return i[0];for(let r=i.length-1;r>=0;r--){const g=i[r];if(t.contextMatchesRules(g.when))return g}return i[i.length-1]}resolve(e,t,i){const r=[...t,i];this._log("| Resolving ".concat(r));const g=this._map.get(r[0]);if(g===void 0)return this._log("\\ No keybinding entries."),NoMatchingKb$1;let y=null;if(r.length<2)y=g;else{y=[];for(let L=0,V=g.length;Lz.chords.length)continue;let j=!0;for(let ie=1;ie=0;i--){const r=t[i];if(Bc._contextMatchesRules(e,r.when))return r}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}};function printWhenExplanation$1(n){return n?"".concat(n.serialize()):"no when condition"}function printSourceExplanation$1(n){return n.extensionId?n.isBuiltinExtension?"built-in extension ".concat(n.extensionId):"user extension ".concat(n.extensionId):n.isDefault?"built-in":"user"}const HIGH_FREQ_COMMANDS$1=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;let AbstractKeybindingService$1=class extends Disposable$1{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:Event$2.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,r,g){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=r,this._logService=g,this._onDidUpdateKeybindings=this._register(new Emitter$3),this._currentChords=[],this._currentChordChecker=new IntervalTimer$1,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=KeybindingModifierSet$1.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new TimeoutTimer$1,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info("[KeybindingService]: ".concat(e))}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),NoMatchingKb$1;const[r]=i.getDispatchChords();if(r===null)return this._log("\\ Keyboard event cannot be dispatched"),NoMatchingKb$1;const g=this._contextKeyService.getContext(t),y=this._currentChords.map(({keypress:k})=>k);return this._getResolver().resolve(g,y,r)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw illegalState$1("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(localize$1("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const i=this._currentChords.map(({label:r})=>r).join(", ");this._currentChordStatusMessage=this._notificationService.status(localize$1("next.chord","({0}) was pressed. Waiting for next key of chord...",i))}}this._scheduleLeaveChordMode(),IME$1.enabled&&IME$1.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],IME$1.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[r]=i.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log("+ Ignoring single modifier ".concat(r," due to it being pressed together with other keys.")),this._ignoreSingleModifiers=KeybindingModifierSet$1.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=KeybindingModifierSet$1.EMPTY,this._currentSingleModifier===null?(this._log("+ Storing single modifier for possible chord ".concat(r,".")),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log("/ Dispatching single modifier chord ".concat(r," ").concat(r)),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log("+ Clearing single modifier due to modifier mismatch: ".concat(this._currentSingleModifier," ").concat(r)),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[g]=i.getChords();return this._ignoreSingleModifiers=new KeybindingModifierSet$1(g),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){var z;let r=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let g=null,y=null;if(i){const[j]=e.getSingleModifierDispatchChords();g=j,y=j?[j]:[]}else[g]=e.getDispatchChords(),y=this._currentChords.map(({keypress:j})=>j);if(g===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),r;const k=this._contextKeyService.getContext(t),L=e.getLabel(),V=this._getResolver().resolve(k,y,g);switch(V.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",L,"[ No matching keybinding ]"),this.inChordMode){const j=this._currentChords.map(({label:ie})=>ie).join(", ");this._log('+ Leaving multi-chord mode: Nothing bound to "'.concat(j,", ").concat(L,'".')),this._notificationService.status(localize$1("missing.chord","The key combination ({0}, {1}) is not a command.",j,L),{hideAfter:10*1e3}),this._leaveChordMode(),r=!0}return r}case 1:return this._logService.trace("KeybindingService#dispatch",L,"[ Several keybindings match - more chords needed ]"),r=!0,this._expectAnotherChord(g,L),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),r;case 2:{if(this._logService.trace("KeybindingService#dispatch",L,"[ Will dispatch command ".concat(V.commandId," ]")),V.commandId===null||V.commandId===""){if(this.inChordMode){const j=this._currentChords.map(({label:ie})=>ie).join(", ");this._log('+ Leaving chord mode: Nothing bound to "'.concat(j,", ").concat(L,'".')),this._notificationService.status(localize$1("missing.chord","The key combination ({0}, {1}) is not a command.",j,L),{hideAfter:10*1e3}),this._leaveChordMode(),r=!0}}else{this.inChordMode&&this._leaveChordMode(),V.isBubble||(r=!0),this._log("+ Invoking command ".concat(V.commandId,".")),this._currentlyDispatchingCommandId=V.commandId;try{typeof V.commandArgs>"u"?this._commandService.executeCommand(V.commandId).then(void 0,j=>this._notificationService.warn(j)):this._commandService.executeCommand(V.commandId,V.commandArgs).then(void 0,j=>this._notificationService.warn(j))}finally{this._currentlyDispatchingCommandId=null}HIGH_FREQ_COMMANDS$1.test(V.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:V.commandId,from:"keybinding",detail:(z=e.getUserSettingsLabel())!=null?z:void 0})}return r}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}};var Is;let KeybindingModifierSet$1=(Is=class{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}},Is.EMPTY=new Is(null),Is),ResolvedKeybindingItem$1=class{constructor(e,t,i,r,g,y,k){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?toEmptyArrayIfContainsNull$1(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=toEmptyArrayIfContainsNull$1(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=r,this.isDefault=g,this.extensionId=y,this.isBuiltinExtension=k}};function toEmptyArrayIfContainsNull$1(n){const e=[];for(let t=0,i=n.length;tthis._getLabel(e))}getAriaLabel(){return AriaLabelProvider$1.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:ElectronAcceleratorLabelProvider$1.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return UserSettingsLabelProvider$1.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new ResolvedChord$1(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}},USLayoutResolvedKeybinding$1=class Cd extends BaseResolvedKeybinding$1{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return KeyCodeUtils$1.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":KeyCodeUtils$1.toString(e.keyCode)}_getElectronAccelerator(e){return KeyCodeUtils$1.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=KeyCodeUtils$1.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(e){return Cd.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=KeyCodeUtils$1.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?"ctrl":e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?"shift":e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?"alt":e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?"meta":null}static _scanCodeToKeyCode(e){const t=IMMUTABLE_CODE_TO_KEY_CODE$1[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof KeyCodeChord$1)return e;const t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new KeyCodeChord$1(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=toEmptyArrayIfContainsNull$1(e.chords.map(r=>this._toKeyCodeChord(r)));return i.length>0?[new Cd(i,t)]:[]}};const ILabelService$1=createDecorator$1("labelService"),IProgressService$1=createDecorator$1("progressService");var Zl;let Progress$2=(Zl=class{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}},Zl.None=Object.freeze({report(){}}),Zl);const IEditorProgressService$1=createDecorator$1("editorProgressService");let StringIterator$1=class{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new Wc(new UriIterator$1(e,t))}static forStrings(){return new Wc(new StringIterator$1)}static forConfigKeys(){return new Wc(new ConfigKeysIterator$1)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let r;this._root||(this._root=new TernarySearchTreeNode$1,this._root.segment=i.value());const g=[];for(r=this._root;;){const k=i.cmp(r.segment);if(k>0)r.left||(r.left=new TernarySearchTreeNode$1,r.left.segment=i.value()),g.push([-1,r]),r=r.left;else if(k<0)r.right||(r.right=new TernarySearchTreeNode$1,r.right.segment=i.value()),g.push([1,r]),r=r.right;else if(i.hasNext())i.next(),r.mid||(r.mid=new TernarySearchTreeNode$1,r.mid.segment=i.value()),g.push([0,r]),r=r.mid;else break}const y=r.value;r.value=t,r.key=e;for(let k=g.length-1;k>=0;k--){const L=g[k][1];L.updateHeight();const V=L.balanceFactor();if(V<-1||V>1){const z=g[k][0],j=g[k+1][0];if(z===1&&j===1)g[k][1]=L.rotateLeft();else if(z===-1&&j===-1)g[k][1]=L.rotateRight();else if(z===1&&j===-1)L.right=g[k+1][1]=g[k+1][1].rotateRight(),g[k][1]=L.rotateLeft();else if(z===-1&&j===1)L.left=g[k+1][1]=g[k+1][1].rotateLeft(),g[k][1]=L.rotateRight();else throw new Error;if(k>0)switch(g[k-1][0]){case-1:g[k-1][1].left=g[k][1];break;case 1:g[k-1][1].right=g[k][1];break;case 0:g[k-1][1].mid=g[k][1];break}else this._root=g[0][1]}}return y}get(e){var t;return(t=this._getNode(e))==null?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const r=t.cmp(i.segment);if(r>0)i=i.left;else if(r<0)i=i.right;else if(t.hasNext())t.next(),i=i.mid;else break}return i}has(e){const t=this._getNode(e);return!((t==null?void 0:t.value)===void 0&&(t==null?void 0:t.mid)===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var y;const i=this._iter.reset(e),r=[];let g=this._root;for(;g;){const k=i.cmp(g.segment);if(k>0)r.push([-1,g]),g=g.left;else if(k<0)r.push([1,g]),g=g.right;else if(i.hasNext())i.next(),r.push([0,g]),g=g.mid;else break}if(g){if(t?(g.left=void 0,g.mid=void 0,g.right=void 0,g.height=1):(g.key=void 0,g.value=void 0),!g.mid&&!g.value)if(g.left&&g.right){const k=this._min(g.right);if(k.key){const{key:L,value:V,segment:z}=k;this._delete(k.key,!1),g.key=L,g.value=V,g.segment=z}}else{const k=(y=g.left)!=null?y:g.right;if(r.length>0){const[L,V]=r[r.length-1];switch(L){case-1:V.left=k;break;case 0:V.mid=k;break;case 1:V.right=k;break}}else this._root=k}for(let k=r.length-1;k>=0;k--){const L=r[k][1];L.updateHeight();const V=L.balanceFactor();if(V>1?(L.right.balanceFactor()>=0||(L.right=L.right.rotateRight()),r[k][1]=L.rotateLeft()):V<-1&&(L.left.balanceFactor()<=0||(L.left=L.left.rotateLeft()),r[k][1]=L.rotateRight()),k>0)switch(r[k-1][0]){case-1:r[k-1][1].left=r[k][1];break;case 1:r[k-1][1].right=r[k][1];break;case 0:r[k-1][1].mid=r[k][1];break}else this._root=r[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i=this._root,r;for(;i;){const g=t.cmp(i.segment);if(g>0)i=i.left;else if(g<0)i=i.right;else if(t.hasNext())t.next(),r=i.value||r,i=i.mid;else break}return i&&i.value||r}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let r=this._root;for(;r;){const g=i.cmp(r.segment);if(g>0)r=r.left;else if(g<0)r=r.right;else if(i.hasNext())i.next(),r=r.mid;else return r.mid?this._entries(r.mid):t?r.value:void 0}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}};const IWorkspaceContextService$1=createDecorator$1("contextService");function isSingleFolderWorkspaceIdentifier$1(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&URI$1.isUri(e.uri)}function isEmptyWorkspaceIdentifier$1(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&!isSingleFolderWorkspaceIdentifier$1(n)&&!isWorkspaceIdentifier$1(n)}const UNKNOWN_EMPTY_WINDOW_WORKSPACE$1={id:"empty-window"};function toWorkspaceIdentifier$1(n,e){if(typeof n=="string"||typeof n>"u")return typeof n=="string"?{id:basename$3(n)}:UNKNOWN_EMPTY_WINDOW_WORKSPACE$1;const t=n;return t.configuration?{id:t.id,configPath:t.configuration}:t.folders.length===1?{id:t.id,uri:t.folders[0].uri}:{id:t.id}}function isWorkspaceIdentifier$1(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&URI$1.isUri(e.configPath)}let WorkspaceFolder$1=class{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}};const WORKSPACE_EXTENSION$1="code-workspace";localize$1("codeWorkspace","Code Workspace");const STANDALONE_EDITOR_WORKSPACE_ID$1="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function isStandaloneEditorWorkspace$1(n){return n.id===STANDALONE_EDITOR_WORKSPACE_ID$1}var InspectTokensNLS$1;(function(n){n.inspectTokensAction=localize$1("inspectTokens","Developer: Inspect Tokens")})(InspectTokensNLS$1||(InspectTokensNLS$1={}));var GoToLineNLS$1;(function(n){n.gotoLineActionLabel=localize$1("gotoLineActionLabel","Go to Line/Column...")})(GoToLineNLS$1||(GoToLineNLS$1={}));var QuickHelpNLS$1;(function(n){n.helpQuickAccessActionLabel=localize$1("helpQuickAccess","Show all Quick Access Providers")})(QuickHelpNLS$1||(QuickHelpNLS$1={}));var QuickCommandNLS$1;(function(n){n.quickCommandActionLabel=localize$1("quickCommandActionLabel","Command Palette"),n.quickCommandHelp=localize$1("quickCommandActionHelp","Show And Run Commands")})(QuickCommandNLS$1||(QuickCommandNLS$1={}));var QuickOutlineNLS$1;(function(n){n.quickOutlineActionLabel=localize$1("quickOutlineActionLabel","Go to Symbol..."),n.quickOutlineByCategoryActionLabel=localize$1("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(QuickOutlineNLS$1||(QuickOutlineNLS$1={}));var StandaloneCodeEditorNLS$1;(function(n){n.editorViewAccessibleLabel=localize$1("editorViewAccessibleLabel","Editor content")})(StandaloneCodeEditorNLS$1||(StandaloneCodeEditorNLS$1={}));var ToggleHighContrastNLS$1;(function(n){n.toggleHighContrast=localize$1("toggleHighContrast","Toggle High Contrast Theme")})(ToggleHighContrastNLS$1||(ToggleHighContrastNLS$1={}));var StandaloneServicesNLS$1;(function(n){n.bulkEditServiceSummary=localize$1("bulkEditServiceSummary","Made {0} edits in {1} files")})(StandaloneServicesNLS$1||(StandaloneServicesNLS$1={}));const IWorkspaceTrustManagementService$1=createDecorator$1("workspaceTrustManagementService");let registeredAssociations$1=[],nonUserRegisteredAssociations$1=[],userRegisteredAssociations$1=[];function registerPlatformLanguageAssociation$1(n,e=!1){_registerLanguageAssociation$1(n,!1,e)}function _registerLanguageAssociation$1(n,e,t){const i=toLanguageAssociationItem$1(n,e);registeredAssociations$1.push(i),i.userConfigured?userRegisteredAssociations$1.push(i):nonUserRegisteredAssociations$1.push(i),t&&!i.userConfigured&®isteredAssociations$1.forEach(r=>{r.mime===i.mime||r.userConfigured||(i.extension&&r.extension===i.extension&&console.warn("Overwriting extension <<".concat(i.extension,">> to now point to mime <<").concat(i.mime,">>")),i.filename&&r.filename===i.filename&&console.warn("Overwriting filename <<".concat(i.filename,">> to now point to mime <<").concat(i.mime,">>")),i.filepattern&&r.filepattern===i.filepattern&&console.warn("Overwriting filepattern <<".concat(i.filepattern,">> to now point to mime <<").concat(i.mime,">>")),i.firstline&&r.firstline===i.firstline&&console.warn("Overwriting firstline <<".concat(i.firstline,">> to now point to mime <<").concat(i.mime,">>")))})}function toLanguageAssociationItem$1(n,e){return{id:n.id,mime:n.mime,filename:n.filename,extension:n.extension,filepattern:n.filepattern,firstline:n.firstline,userConfigured:e,filenameLowercase:n.filename?n.filename.toLowerCase():void 0,extensionLowercase:n.extension?n.extension.toLowerCase():void 0,filepatternLowercase:n.filepattern?parse$6(n.filepattern.toLowerCase()):void 0,filepatternOnPath:n.filepattern?n.filepattern.indexOf(posix$1.sep)>=0:!1}}function clearPlatformLanguageAssociations$1(){registeredAssociations$1=registeredAssociations$1.filter(n=>n.userConfigured),nonUserRegisteredAssociations$1=[]}function getLanguageIds$1(n,e){return getAssociations$1(n,e).map(t=>t.id)}function getAssociations$1(n,e){let t;if(n)switch(n.scheme){case Schemas$1.file:t=n.fsPath;break;case Schemas$1.data:{t=DataUri$1.parseMetaData(n).get(DataUri$1.META_DATA_LABEL);break}case Schemas$1.vscodeNotebookCell:t=void 0;break;default:t=n.path}if(!t)return[{id:"unknown",mime:Mimes$1.unknown}];t=t.toLowerCase();const i=basename$3(t),r=getAssociationByPath$1(t,i,userRegisteredAssociations$1);if(r)return[r,{id:PLAINTEXT_LANGUAGE_ID$1,mime:Mimes$1.text}];const g=getAssociationByPath$1(t,i,nonUserRegisteredAssociations$1);if(g)return[g,{id:PLAINTEXT_LANGUAGE_ID$1,mime:Mimes$1.text}];if(e){const y=getAssociationByFirstline$1(e);if(y)return[y,{id:PLAINTEXT_LANGUAGE_ID$1,mime:Mimes$1.text}]}return[{id:"unknown",mime:Mimes$1.unknown}]}function getAssociationByPath$1(n,e,t){var y;let i,r,g;for(let k=t.length-1;k>=0;k--){const L=t[k];if(e===L.filenameLowercase){i=L;break}if(L.filepattern&&(!r||L.filepattern.length>r.filepattern.length)){const V=L.filepatternOnPath?n:e;(y=L.filepatternLowercase)!=null&&y.call(L,V)&&(r=L)}L.extension&&(!g||L.extension.length>g.extension.length)&&e.endsWith(L.extensionLowercase)&&(g=L)}if(i)return i;if(r)return r;if(g)return g}function getAssociationByFirstline$1(n){if(startsWithUTF8BOM$1(n)&&(n=n.substr(1)),n.length>0)for(let e=registeredAssociations$1.length-1;e>=0;e--){const t=registeredAssociations$1[e];if(!t.firstline)continue;const i=n.match(t.firstline);if(i&&i.length>0)return t}}const hasOwnProperty$j=Object.prototype.hasOwnProperty,NULL_LANGUAGE_ID$1="vs.editor.nullLanguage";let LanguageIdCodec$1=class{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(NULL_LANGUAGE_ID$1,0),this._register(PLAINTEXT_LANGUAGE_ID$1,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||NULL_LANGUAGE_ID$1}};var Dr;let LanguagesRegistry$1=(Dr=class extends Disposable$1{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,Dr.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new LanguageIdCodec$1,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(ModesRegistry$1.onDidChangeLanguages(i=>{this._initializeFromRegistry()})))}dispose(){Dr.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},clearPlatformLanguageAssociations$1();const e=[].concat(ModesRegistry$1.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(r=>{this._lowercaseNameMap[r.toLowerCase()]=i.identifier}),i.mimetypes.forEach(r=>{this._mimeTypesMap[r]=i.identifier})}),Registry$1.as(Extensions$g.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;hasOwnProperty$j.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r="text/x-".concat(i),e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const k of t.extensions)registerPlatformLanguageAssociation$1({id:i,mime:r,extension:k},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const k of t.filenames)registerPlatformLanguageAssociation$1({id:i,mime:r,filename:k},this._warnOnOverwrite),e.filenames.push(k);if(Array.isArray(t.filenamePatterns))for(const k of t.filenamePatterns)registerPlatformLanguageAssociation$1({id:i,mime:r,filepattern:k},this._warnOnOverwrite);if(typeof t.firstLine=="string"&&t.firstLine.length>0){let k=t.firstLine;k.charAt(0)!=="^"&&(k="^"+k);try{const L=new RegExp(k);regExpLeadsToEndlessLoop$1(L)||registerPlatformLanguageAssociation$1({id:i,mime:r,firstline:L},this._warnOnOverwrite)}catch(L){console.warn("[".concat(t.id,"]: Invalid regular expression `").concat(k,"`: "),L)}}e.aliases.push(i);let g=null;if(typeof t.aliases<"u"&&Array.isArray(t.aliases)&&(t.aliases.length===0?g=[null]:g=t.aliases),g!==null)for(const k of g)!k||k.length===0||e.aliases.push(k);const y=g!==null&&g.length>0;if(!(y&&g[0]===null)){const k=(y?g[0]:null)||i;(y||!e.name)&&(e.name=k)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?hasOwnProperty$j.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return hasOwnProperty$j.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&hasOwnProperty$j.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:getLanguageIds$1(e,t)}},Dr.instanceCount=0,Dr);const strictEquals=(n,e)=>n===e;function itemsEquals(n=strictEquals){return(e,t)=>equals$5(e,t,n)}function itemEquals(){return(n,e)=>n.equals(e)}function equalsIfDefined(n,e,t){if(t!==void 0){const i=n;return i==null||e===void 0||e===null?e===i:t(i,e)}else{const i=n;return(r,g)=>r==null||g===void 0||g===null?g===r:i(r,g)}}function structuralEquals(n,e){if(n===e)return!0;if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return!1;for(let t=0;t{const g=getFunctionName$1(r);if(g!==void 0)return g;const k=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());if(k)return"".concat(this.debugName,".").concat(k[2]);if(!i)return"".concat(this.debugName," (mapped)")},debugReferenceFn:r},g=>r(this.read(g),g))}flatten(){return _derived$1({owner:void 0,debugName:()=>"".concat(this.debugName," (flattened)")},e=>this.read(e).read(e))}recomputeInitiallyAndOnChange(e,t){return e.add(_recomputeInitiallyAndOnChange$1(this,t)),this}keepObserved(e){return e.add(_keepObserved(this)),this}},BaseObservable$1=class extends ConvenientObservable$1{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),t===0&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}};function transaction$1(n,e){const t=new TransactionImpl$1(n,e);try{n(t)}finally{t.finish()}}let _globalTransaction$1;function globalTransaction$1(n){if(_globalTransaction$1)n(_globalTransaction$1);else{const e=new TransactionImpl$1(n,void 0);_globalTransaction$1=e;try{n(e)}finally{e.finish(),_globalTransaction$1=void 0}}}async function asyncTransaction$1(n,e){const t=new TransactionImpl$1(n,e);try{await n(t)}finally{t.finish()}}function subtransaction$1(n,e,t){n?e(n):transaction$1(e,t)}let TransactionImpl$1=class{constructor(e,t){this._fn=e,this._getDebugName=t,this.updatingObservers=[]}getDebugName(){return this._getDebugName?this._getDebugName():getFunctionName$1(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){const e=this.updatingObservers;for(let t=0;t{},()=>"Setting ".concat(this.debugName)));try{const y=this._value;this._setValue(e),(g=getLogger$1())==null||g.handleObservableChanged(this,{oldValue:y,newValue:e,change:i,didChange:!0,hadValue:!0});for(const k of this.observers)t.updateObserver(k,this),k.handleChange(this,i)}finally{r&&r.finish()}}toString(){return"".concat(this.debugName,": ").concat(this._value)}_setValue(e){this._value=e}};function disposableObservableValue$1(n,e){let t;return typeof n=="string"?t=new DebugNameData$1(void 0,n,void 0):t=new DebugNameData$1(n,void 0,void 0),new DisposableObservableValue$1(t,e,strictEquals)}let DisposableObservableValue$1=class extends ObservableValue$1{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;(e=this._value)==null||e.dispose()}};function derived$1(n,e){return e!==void 0?new Derived$1(new DebugNameData$1(n,void 0,e),e,void 0,void 0,void 0,strictEquals):new Derived$1(new DebugNameData$1(void 0,void 0,n),n,void 0,void 0,void 0,strictEquals)}function derivedWithSetter(n,e,t){return new DerivedWithSetter(new DebugNameData$1(n,void 0,e),e,void 0,void 0,void 0,strictEquals,t)}function derivedOpts$1(n,e){var t;return new Derived$1(new DebugNameData$1(n.owner,n.debugName,n.debugReferenceFn),e,void 0,void 0,n.onLastObserverRemoved,(t=n.equalsFn)!=null?t:strictEquals)}_setDerivedOpts$1(derivedOpts$1);function derivedHandleChanges$1(n,e){var t;return new Derived$1(new DebugNameData$1(n.owner,n.debugName,void 0),e,n.createEmptyChangeSummary,n.handleChange,void 0,(t=n.equalityComparer)!=null?t:strictEquals)}function derivedWithStore$1(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new DisposableStore$1;return new Derived$1(new DebugNameData$1(i,void 0,t),g=>(r.clear(),t(g,r)),void 0,void 0,()=>r.dispose(),strictEquals)}function derivedDisposable$1(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);let r;return new Derived$1(new DebugNameData$1(i,void 0,t),g=>{r?r.clear():r=new DisposableStore$1;const y=t(g);return y&&r.add(y),y},void 0,void 0,()=>{r&&(r.dispose(),r=void 0)},strictEquals)}let Derived$1=class extends BaseObservable$1{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!=null?e:"(anonymous)"}constructor(e,t,i,r,g=void 0,y){var k;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=r,this._handleLastObserverRemoved=g,this._equalityComparator=y,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=(k=this.createChangeSummary)==null?void 0:k.call(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(e=this._handleLastObserverRemoved)==null||e.call(this)}get(){var e;if(this.observers.size===0){const t=this._computeFn(this,(e=this.createChangeSummary)==null?void 0:e.call(this));return this.onLastObserverRemoved(),t}else{do{if(this.state===1){for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){var y;if(this.state===3)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e;const t=this.state!==0,i=this.value;this.state=3;const r=this.changeSummary;this.changeSummary=(y=this.createChangeSummary)==null?void 0:y.call(this);try{this.value=this._computeFn(this,r)}finally{for(const k of this.dependenciesToBeRemoved)k.removeObserver(this);this.dependenciesToBeRemoved.clear()}if(t&&!this._equalityComparator(i,this.value))for(const k of this.observers)k.handleChange(this,void 0)}toString(){return"LazyDerived<".concat(this.debugName,">")}beginUpdate(e){this.updateCount++;const t=this.updateCount===1;if(this.state===3&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,this.updateCount===0){const t=[...this.observers];for(const i of t)i.endUpdate(this)}assertFn$1(()=>this.updateCount>=0)}handlePossibleChange(e){if(this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=this._handleChange?this._handleChange({changedObservable:e,change:t,didChange:g=>g===e},this.changeSummary):!0,r=this.state===3;if(i&&(this.state===1||r)&&(this.state=2,r))for(const g of this.observers)g.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}};class DerivedWithSetter extends Derived$1{constructor(e,t,i,r,g=void 0,y,k){super(e,t,i,r,g,y),this.set=k}}function autorun$1(n){return new AutorunObserver$1(new DebugNameData$1(void 0,void 0,n),n,void 0,void 0)}function autorunOpts$1(n,e){var t;return new AutorunObserver$1(new DebugNameData$1(n.owner,n.debugName,(t=n.debugReferenceFn)!=null?t:e),e,void 0,void 0)}function autorunHandleChanges$1(n,e){var t;return new AutorunObserver$1(new DebugNameData$1(n.owner,n.debugName,(t=n.debugReferenceFn)!=null?t:e),e,n.createEmptyChangeSummary,n.handleChange)}function autorunWithStoreHandleChanges(n,e){var r;const t=new DisposableStore$1,i=autorunHandleChanges$1({owner:n.owner,debugName:n.debugName,debugReferenceFn:(r=n.debugReferenceFn)!=null?r:e,createEmptyChangeSummary:n.createEmptyChangeSummary,handleChange:n.handleChange},(g,y)=>{t.clear(),e(g,y,t)});return toDisposable$1(()=>{i.dispose(),t.dispose()})}function autorunWithStore$1(n){const e=new DisposableStore$1,t=autorunOpts$1({owner:void 0,debugName:void 0,debugReferenceFn:n},i=>{e.clear(),n(i,e)});return toDisposable$1(()=>{t.dispose(),e.dispose()})}let AutorunObserver$1=class{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!=null?e:"(anonymous)"}constructor(e,t,i,r){var g;this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=(g=this.createChangeSummary)==null?void 0:g.call(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var i,r;if(this.state===3)return;const e=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=e,this.state=3;const t=this.disposed;try{if(!t){(i=getLogger$1())==null||i.handleAutorunTriggered(this);const g=this.changeSummary;this.changeSummary=(r=this.createChangeSummary)==null?void 0:r.call(this),this._runFn(this,g)}}finally{for(const g of this.dependenciesToBeRemoved)g.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return"Autorun<".concat(this.debugName,">")}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,assertFn$1(()=>this.updateCount>=0)}handlePossibleChange(e){this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:r=>r===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}};(function(n){n.Observer=AutorunObserver$1})(autorun$1||(autorun$1={}));function constObservable$1(n){return new ConstObservable$1(n)}let ConstObservable$1=class extends ConvenientObservable$1{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return"Const: ".concat(this.value)}};function observableFromEvent$1(...n){let e,t,i;return n.length===3?[e,t,i]=n:[t,i]=n,new FromEventObservable$1(new DebugNameData$1(e,void 0,i),t,i,()=>FromEventObservable$1.globalTransaction,strictEquals)}function observableFromEventOpts(n,e,t){var i,r;return new FromEventObservable$1(new DebugNameData$1(n.owner,n.debugName,(i=n.debugReferenceFn)!=null?i:t),e,t,()=>FromEventObservable$1.globalTransaction,(r=n.equalsFn)!=null?r:strictEquals)}let FromEventObservable$1=class extends BaseObservable$1{constructor(e,t,i,r,g){super(),this._debugNameData=e,this.event=t,this._getValue=i,this._getTransaction=r,this._equalityComparator=g,this.hasValue=!1,this.handleEvent=y=>{const k=this._getValue(y),L=this.value;(!this.hasValue||!this._equalityComparator(L,k))&&(this.value=k,this.hasValue&&subtransaction$1(this._getTransaction(),z=>{for(const j of this.observers)z.updateObserver(j,this),j.handleChange(this,void 0)},()=>{const z=this.getDebugName();return"Event fired"+(z?": ".concat(z):"")}),this.hasValue=!0)}}getDebugName(){return this._debugNameData.getDebugName(this)}get debugName(){const e=this.getDebugName();return"From Event"+(e?": ".concat(e):"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}};(function(n){n.Observer=FromEventObservable$1;function e(t,i){let r=!1;FromEventObservable$1.globalTransaction===void 0&&(FromEventObservable$1.globalTransaction=t,r=!0);try{i()}finally{r&&(FromEventObservable$1.globalTransaction=void 0)}}n.batchEventsGlobally=e})(observableFromEvent$1||(observableFromEvent$1={}));function observableSignalFromEvent$1(n,e){return new FromEventObservableSignal$1(n,e)}let FromEventObservableSignal$1=class extends BaseObservable$1{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{transaction$1(i=>{for(const r of this.observers)i.updateObserver(r,this),r.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}};function observableSignal$1(n){return typeof n=="string"?new ObservableSignal$1(n):new ObservableSignal$1(void 0,n)}let ObservableSignal$1=class extends BaseObservable$1{get debugName(){var e;return(e=new DebugNameData$1(this._owner,this._debugName,void 0).getDebugName(this))!=null?e:"Observable Signal"}toString(){return this.debugName}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(!e){transaction$1(i=>{this.trigger(i,t)},()=>"Trigger signal ".concat(this.debugName));return}for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t)}get(){}};function keepObserved(n){const e=new KeepAliveObserver$1(!1,void 0);return n.addObserver(e),toDisposable$1(()=>{n.removeObserver(e)})}_setKeepObserved(keepObserved);function recomputeInitiallyAndOnChange$1(n,e){const t=new KeepAliveObserver$1(!0,e);return n.addObserver(t),e?e(n.get()):n.reportChanges(),toDisposable$1(()=>{n.removeObserver(t)})}_setRecomputeInitiallyAndOnChange$1(recomputeInitiallyAndOnChange$1);let KeepAliveObserver$1=class{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}};function derivedObservableWithCache$1(n,e){let t;return derivedOpts$1({owner:n,debugReferenceFn:e},r=>(t=e(r,t),t))}function mapObservableArrayCached$1(n,e,t,i){let r=new ArrayMap$1(t,i);return derivedOpts$1({debugReferenceFn:t,owner:n,onLastObserverRemoved:()=>{r.dispose(),r=new ArrayMap$1(t)}},y=>(r.setItems(e.read(y)),r.getItems()))}let ArrayMap$1=class{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const r of e){const g=this._keySelector?this._keySelector(r):r;let y=this._cache.get(g);if(y)i.delete(g);else{const k=new DisposableStore$1;y={out:this._map(r,k),store:k},this._cache.set(g,y)}t.push(y.out)}for(const r of i)this._cache.get(r).store.dispose(),this._cache.delete(r);this._items=t}getItems(){return this._items}};function derivedConstOnceDefined(n,e){return derivedObservableWithCache$1(n,(t,i)=>i!=null?i:e(t))}class ObservablePromise{static fromFn(e){return new ObservablePromise(e())}constructor(e){this._value=observableValue$1(this,void 0),this.promiseResult=this._value,this.promise=e.then(t=>(transaction$1(i=>{this._value.set(new PromiseResult(t,void 0),i)}),t),t=>{throw transaction$1(i=>{this._value.set(new PromiseResult(void 0,t),i)}),t})}}class PromiseResult{constructor(e,t){this.data=e,this.error=t}}function waitForState$1(n,e,t,i){return e||(e=r=>r!=null),new Promise((r,g)=>{let y=!0,k=!1;const L=n.map(z=>({isFinished:e(z),error:t?t(z):!1,state:z})),V=autorun$1(z=>{const{isFinished:j,error:ie,state:oe}=L.read(z);(j||ie)&&(y?k=!0:V.dispose(),ie?g(ie===!0?oe:ie):r(oe))});if(i){const z=i.onCancellationRequested(()=>{V.dispose(),z.dispose(),g(new CancellationError$1)});if(i.isCancellationRequested){V.dispose(),z.dispose(),g(new CancellationError$1);return}}y=!1,k&&V.dispose()})}class LazyObservableValue extends BaseObservable$1{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!=null?e:"LazyObservableValue"}constructor(e,t,i){super(),this._debugNameData=e,this._equalityComparator=i,this._isUpToDate=!0,this._deltas=[],this._updateCounter=0,this._value=t}get(){return this._update(),this._value}_update(){if(!this._isUpToDate)if(this._isUpToDate=!0,this._deltas.length>0){for(const e of this.observers)for(const t of this._deltas)e.handleChange(this,t);this._deltas.length=0}else for(const e of this.observers)e.handleChange(this,void 0)}_beginUpdate(){if(this._updateCounter++,this._updateCounter===1)for(const e of this.observers)e.beginUpdate(this)}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){this._update();const e=[...this.observers];for(const t of e)t.endUpdate(this)}}addObserver(e){const t=!this.observers.has(e)&&this._updateCounter>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this._updateCounter>0;super.removeObserver(e),t&&e.endUpdate(this)}set(e,t,i){if(i===void 0&&this._equalityComparator(this._value,e))return;let r;t||(t=r=new TransactionImpl$1(()=>{},()=>"Setting ".concat(this.debugName)));try{if(this._isUpToDate=!1,this._setValue(e),i!==void 0&&this._deltas.push(i),t.updateObserver({beginUpdate:()=>this._beginUpdate(),endUpdate:()=>this._endUpdate(),handleChange:(g,y)=>{},handlePossibleChange:g=>{}},this),this._updateCounter>1)for(const g of this.observers)g.handlePossibleChange(this)}finally{r&&r.finish()}}toString(){return"".concat(this.debugName,": ").concat(this._value)}_setValue(e){this._value=e}}function observableValueOpts(n,e){var t,i;return n.lazy?new LazyObservableValue(new DebugNameData$1(n.owner,n.debugName,void 0),e,(t=n.equalsFn)!=null?t:strictEquals):new ObservableValue$1(new DebugNameData$1(n.owner,n.debugName,void 0),e,(i=n.equalsFn)!=null?i:strictEquals)}var Tr;let LanguageService$1=(Tr=class extends Disposable$1{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new Emitter$3),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new Emitter$3),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new Emitter$3({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,Tr.instanceCount++,this._registry=this._register(new LanguagesRegistry$1(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){Tr.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return firstOrDefault$1(i,null)}createById(e){return new LanguageSelection$1(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new LanguageSelection$1(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=PLAINTEXT_LANGUAGE_ID$1),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),TokenizationRegistry$2.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}},Tr.instanceCount=0,Tr),LanguageSelection$1=class{constructor(e,t){this._value=observableFromEvent$1(this,e,()=>t()),this.onDidChange=Event$2.fromObservable(this._value)}get languageId(){return this._value.get()}};const DataTransfers$1={RESOURCES:"ResourceURLs",TEXT:Mimes$1.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},nullHoverDelegateFactory$1=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});let hoverDelegateFactory$1=nullHoverDelegateFactory$1;const defaultHoverDelegateMouse$1=new Lazy$1(()=>hoverDelegateFactory$1("mouse",!1)),defaultHoverDelegateElement$1=new Lazy$1(()=>hoverDelegateFactory$1("element",!1));function setHoverDelegateFactory$1(n){hoverDelegateFactory$1=n}function getDefaultHoverDelegate$1(n){return n==="element"?defaultHoverDelegateElement$1.value:defaultHoverDelegateMouse$1.value}function createInstantHoverDelegate$1(){return hoverDelegateFactory$1("element",!0)}let baseHoverDelegate={showHover:()=>{},hideHover:()=>{},showAndFocusLastHover:()=>{},setupManagedHover:()=>null,showManagedHover:()=>{}};function setBaseLayerHoverDelegate(n){baseHoverDelegate=n}function getBaseLayerHoverDelegate(){return baseHoverDelegate}let CombinedSpliceable$1=class{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(r=>r.splice(e,t,i))}},ListError$1=class extends Error{constructor(e,t){super("ListError [".concat(e,"] ").concat(t))}};function groupIntersect$1(n,e){const t=[];for(const i of e){if(n.start>=i.range.end)continue;if(n.ende.concat(t),[]))}let RangeMap$1=class{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e!=null?e:0,this._size=this._paddingTop}splice(e,t,i=[]){const r=i.length-t,g=groupIntersect$1({start:0,end:e},this.groups),y=groupIntersect$1({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(L=>({range:shift$1(L.range,r),size:L.size})),k=i.map((L,V)=>({range:{start:e+V,end:e+V+1},size:L.size}));this.groups=concat$3(g,k,y),this._size=this._paddingTop+this.groups.reduce((L,V)=>L+V.size*(V.range.end-V.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error("No renderer found for ".concat(e));return t}};var __decorate$4R=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};const StaticDND$1={CurrentDragAndDropData:void 0},DefaultOptions$3={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(n){return[n]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};let ElementsDragAndDropData$1=class{constructor(e){this.elements=e}update(){}getData(){return this.elements}},ExternalElementsDragAndDropData$1=class{constructor(e){this.elements=e}update(){}getData(){return this.elements}},NativeDragAndDropData$1=class{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tr,e!=null&&e.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(t,i)=>i+1,e!=null&&e.getRole?this.getRole=e.getRole.bind(e):this.getRole=t=>"listitem",e!=null&&e.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=t=>{}}};var Ds;let ListView$1=(Ds=class{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:getContentWidth$1(this.domNode)}),this.rowsContainer.style.width="".concat(Math.max(this.scrollWidth||0,this.renderWidth),"px")}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,r=DefaultOptions$3){var y,k,L,V,z,j,ie,oe,re,ae,le,de,ue;if(this.virtualDelegate=t,this.domId="list_id_".concat(++Ds.InstanceCount),this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Delayer$1(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Disposable$1.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Disposable$1.None,this.onDragLeaveTimeout=Disposable$1.None,this.disposables=new DisposableStore$1,this._onDidChangeContentHeight=new Emitter$3,this._onDidChangeContentWidth=new Emitter$3,this.onDidChangeContentHeight=Event$2.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,r.horizontalScrolling&&r.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap((y=r.paddingTop)!=null?y:0);for(const he of i)this.renderers.set(he.templateId,he);this.cache=this.disposables.add(new RowCache$1(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof r.mouseSupport=="boolean"?r.mouseSupport:!0),this._horizontalScrolling=(k=r.horizontalScrolling)!=null?k:DefaultOptions$3.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof r.paddingBottom>"u"?0:r.paddingBottom,this.accessibilityProvider=new ListViewAccessibilityProvider$1(r.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",((L=r.transformOptimization)!=null?L:DefaultOptions$3.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(Gesture$1.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Scrollable$2({forceIntegerValues:!0,smoothScrollDuration:(V=r.smoothScrolling)!=null&&V?125:0,scheduleAtNextAnimationFrame:he=>scheduleAtNextAnimationFrame$1(getWindow$3(this.domNode),he)})),this.scrollableElement=this.disposables.add(new SmoothScrollableElement$1(this.rowsContainer,{alwaysConsumeMouseWheel:(z=r.alwaysConsumeMouseWheel)!=null?z:DefaultOptions$3.alwaysConsumeMouseWheel,horizontal:1,vertical:(j=r.verticalScrollMode)!=null?j:DefaultOptions$3.verticalScrollMode,useShadows:(ie=r.useShadows)!=null?ie:DefaultOptions$3.useShadows,mouseWheelScrollSensitivity:r.mouseWheelScrollSensitivity,fastScrollSensitivity:r.fastScrollSensitivity,scrollByPage:r.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(addDisposableListener$1(this.rowsContainer,EventType$2.Change,he=>this.onTouchChange(he))),this.disposables.add(addDisposableListener$1(this.scrollableElement.getDomNode(),"scroll",he=>he.target.scrollTop=0)),this.disposables.add(addDisposableListener$1(this.domNode,"dragover",he=>this.onDragOver(this.toDragEvent(he)))),this.disposables.add(addDisposableListener$1(this.domNode,"drop",he=>this.onDrop(this.toDragEvent(he)))),this.disposables.add(addDisposableListener$1(this.domNode,"dragleave",he=>this.onDragLeave(this.toDragEvent(he)))),this.disposables.add(addDisposableListener$1(this.domNode,"dragend",he=>this.onDragEnd(he))),this.setRowLineHeight=(oe=r.setRowLineHeight)!=null?oe:DefaultOptions$3.setRowLineHeight,this.setRowHeight=(re=r.setRowHeight)!=null?re:DefaultOptions$3.setRowHeight,this.supportDynamicHeights=(ae=r.supportDynamicHeights)!=null?ae:DefaultOptions$3.supportDynamicHeights,this.dnd=(le=r.dnd)!=null?le:this.disposables.add(DefaultOptions$3.dnd),this.layout((de=r.initialSize)==null?void 0:de.height,(ue=r.initialSize)==null?void 0:ue.width)}updateOptions(e){e.paddingBottom!==void 0&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling);let t;if(e.scrollByPage!==void 0&&(t={...t!=null?t:{},scrollByPage:e.scrollByPage}),e.mouseWheelScrollSensitivity!==void 0&&(t={...t!=null?t:{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&(t={...t!=null?t:{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),e.paddingTop!==void 0&&e.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),r=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+r),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new RangeMap$1(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const r=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),g={start:e,end:e+t},y=Range$4.intersect(r,g),k=new Map;for(let Ce=y.end-1;Ce>=y.start;Ce--){const $e=this.items[Ce];if($e.dragStartDisposable.dispose(),$e.checkedDisposable.dispose(),$e.row){let xe=k.get($e.templateId);xe||(xe=[],k.set($e.templateId,xe));const Ie=this.renderers.get($e.templateId);Ie&&Ie.disposeElement&&Ie.disposeElement($e.element,Ce,$e.row.templateData,$e.size),xe.unshift($e.row)}$e.row=null,$e.stale=!0}const L={start:e+t,end:this.items.length},V=Range$4.intersect(L,r),z=Range$4.relativeComplement(L,r),j=i.map(Ce=>({id:String(this.itemId++),element:Ce,templateId:this.virtualDelegate.getTemplateId(Ce),size:this.virtualDelegate.getHeight(Ce),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(Ce),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Disposable$1.None,checkedDisposable:Disposable$1.None,stale:!1}));let ie;e===0&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,j),ie=this.items,this.items=j):(this.rangeMap.splice(e,t,j),ie=this.items.splice(e,t,...j));const oe=i.length-t,re=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),ae=shift$1(V,oe),le=Range$4.intersect(re,ae);for(let Ce=le.start;Ceshift$1(Ce,oe)),pe=[{start:e,end:e+i.length},...ue].map(Ce=>Range$4.intersect(re,Ce)).reverse();for(const Ce of pe)for(let $e=Ce.end-1;$e>=Ce.start;$e--){const xe=this.items[$e],Ie=k.get(xe.templateId),Ne=Ie==null?void 0:Ie.pop();this.insertItemInDOM($e,Ne)}for(const Ce of k.values())for(const $e of Ce)this.cache.release($e);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),ie.map(Ce=>Ce.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height="".concat(this._scrollHeight,"px"),this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=scheduleAtNextAnimationFrame$1(getWindow$3(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)typeof t.width<"u"&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:typeof e=="number"?e:getContentHeight$1(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),typeof t<"u"&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t=="number"?t:getContentWidth$1(this.domNode)})}render(e,t,i,r,g,y=!1){const k=this.getRenderRange(t,i),L=Range$4.relativeComplement(k,e).reverse(),V=Range$4.relativeComplement(e,k);if(y){const z=Range$4.intersect(e,k);for(let j=z.start;j{for(const z of V)for(let j=z.start;j=z.start;j--)this.insertItemInDOM(j)}),r!==void 0&&(this.rowsContainer.style.left="-".concat(r,"px")),this.rowsContainer.style.top="-".concat(t,"px"),this.horizontalScrolling&&g!==void 0&&(this.rowsContainer.style.width="".concat(Math.max(g,this.renderWidth),"px")),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){var L,V,z;const i=this.items[e];if(!i.row)if(t)i.row=t,i.stale=!0;else{const j=this.cache.alloc(i.templateId);i.row=j.row,i.stale||(i.stale=j.isReusingConnectedDomNode)}const r=this.accessibilityProvider.getRole(i.element)||"listitem";i.row.domNode.setAttribute("role",r);const g=this.accessibilityProvider.isChecked(i.element);if(typeof g=="boolean")i.row.domNode.setAttribute("aria-checked",String(!!g));else if(g){const j=ie=>i.row.domNode.setAttribute("aria-checked",String(!!ie));j(g.value),i.checkedDisposable=g.onDidChange(()=>j(g.value))}if(i.stale||!i.row.domNode.parentElement){const j=(z=(V=(L=this.items.at(e+1))==null?void 0:L.row)==null?void 0:V.domNode)!=null?z:null;(i.row.domNode.parentElement!==this.rowsContainer||i.row.domNode.nextElementSibling!==j)&&this.rowsContainer.insertBefore(i.row.domNode,j),i.stale=!1}this.updateItemInDOM(i,e);const y=this.renderers.get(i.templateId);if(!y)throw new Error("No renderer found for template id ".concat(i.templateId));y==null||y.renderElement(i.element,e,i.row.templateData,i.size);const k=this.dnd.getDragURI(i.element);i.dragStartDisposable.dispose(),i.row.domNode.draggable=!!k,k&&(i.dragStartDisposable=addDisposableListener$1(i.row.domNode,"dragstart",j=>this.onDragStart(i.element,k,j))),this.horizontalScrolling&&(this.measureItemWidth(i),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=getContentWidth$1(e.row.domNode);const t=getWindow$3(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top="".concat(this.elementTop(t),"px"),this.setRowHeight&&(e.row.domNode.style.height="".concat(e.size,"px")),this.setRowLineHeight&&(e.row.domNode.style.lineHeight="".concat(e.size,"px")),e.row.domNode.setAttribute("data-index","".concat(t)),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2===0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return Event$2.filter(Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return Event$2.any(Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,EventType$2.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return Event$2.map(this.disposables.add(new DomEmitter$1(this.rowsContainer,EventType$2.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element,g=this.getTargetSector(e,t);return{browserEvent:e,index:t,element:r,sector:g}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){var g,y;if(!i.dataTransfer)return;const r=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(DataTransfers$1.TEXT,t),i.dataTransfer.setDragImage){let k;this.dnd.getDragLabel&&(k=this.dnd.getDragLabel(r,i)),typeof k>"u"&&(k=String(r.length));const L=$$u(".monaco-drag-image");L.textContent=k,(j=>{for(;j&&!j.classList.contains("monaco-workbench");)j=j.parentElement;return j||this.domNode.ownerDocument})(this.domNode).appendChild(L),i.dataTransfer.setDragImage(L,-10,-10),setTimeout(()=>L.remove(),0)}this.domNode.classList.add("dragging"),this.currentDragData=new ElementsDragAndDropData$1(r),StaticDND$1.CurrentDragAndDropData=new ExternalElementsDragAndDropData$1(r),(y=(g=this.dnd).onDragStart)==null||y.call(g,this.currentDragData,i)}onDragOver(e){var g,y;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),StaticDND$1.CurrentDragAndDropData&&StaticDND$1.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(StaticDND$1.CurrentDragAndDropData)this.currentDragData=StaticDND$1.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new NativeDragAndDropData$1}const t=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop=typeof t=="boolean"?t:t.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof t!="boolean"&&((g=t.effect)==null?void 0:g.type)===0?"copy":"move";let i;typeof t!="boolean"&&t.feedback?i=t.feedback:typeof e.index>"u"?i=[-1]:i=[e.index],i=distinct$1(i).filter(k=>k>=-1&&kk-L),i=i[0]===-1?[-1]:i;let r=typeof t!="boolean"&&t.effect&&t.effect.position?t.effect.position:"drop-target";if(equalsDragFeedback$1(this.currentDragFeedback,i)&&this.currentDragFeedbackPosition===r)return!0;if(this.currentDragFeedback=i,this.currentDragFeedbackPosition=r,this.currentDragFeedbackDisposable.dispose(),i[0]===-1)this.domNode.classList.add(r),this.rowsContainer.classList.add(r),this.currentDragFeedbackDisposable=toDisposable$1(()=>{this.domNode.classList.remove(r),this.rowsContainer.classList.remove(r)});else{if(i.length>1&&r!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");r==="drop-target-after"&&i[0]{var k;for(const L of i){const V=this.items[L];V.dropTarget=!1,(k=V.row)==null||k.domNode.classList.remove(r)}})}return!0}onDragLeave(e){var t,i;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=disposableTimeout$1(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&((i=(t=this.dnd).onDragLeave)==null||i.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND$1.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,i;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND$1.CurrentDragAndDropData=void 0,(i=(t=this.dnd).onDragEnd)==null||i.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Disposable$1.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const t=getTopLeftOffset$1(this.domNode).top;this.dragOverAnimationDisposable=animate$1(getWindow$3(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=disposableTimeout$1(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(t===void 0)return;const i=e.offsetY/this.items[t].size,r=Math.floor(i/.25);return clamp$1(r,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;(isHTMLElement$1(i)||isSVGElement(i))&&i!==this.rowsContainer&&t.contains(i);){const r=i.getAttribute("data-index");if(r){const g=Number(r);if(!isNaN(g))return g}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const r=this.getRenderRange(e,t);let g,y;e===this.elementTop(r.start)?(g=r.start,y=0):r.end-r.start>1&&(g=r.start+1,y=this.elementTop(g)-e);let k=0;for(;;){const L=this.getRenderRange(e,t);let V=!1;for(let z=L.start;z=ie.start;oe--)this.insertItemInDOM(oe);for(let ie=L.start;ie=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};let TraitRenderer$1=class{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return"template:".concat(this.trait.name)}renderTemplate(e){return e}renderElement(e,t,i){const r=this.renderedElements.findIndex(g=>g.templateData===i);if(r>=0){const g=this.renderedElements[r];this.trait.unrender(i),g.index=t}else{const g={index:t,templateData:i};this.renderedElements.push(g)}this.trait.renderIndex(t,i)}splice(e,t,i){const r=[];for(const g of this.renderedElements)g.index=e+t&&r.push({index:g.index+i-t,templateData:g.templateData});this.renderedElements=r}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(i=>i.templateData===e);t<0||this.renderedElements.splice(t,1)}},Trait$3=class{get name(){return this._trait}get renderer(){return new TraitRenderer$1(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new Emitter$3,this.onChange=this._onChange.event}splice(e,t,i){const r=i.length-t,g=e+t,y=[];let k=0;for(;k=g;)y.push(this.sortedIndexes[k++]+r);this.renderer.splice(e,t,i.length),this._set(y,y)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(numericSort$1),t)}_set(e,t,i){const r=this.indexes,g=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const y=disjunction$1(g,e);return this.renderer.renderIndexes(y),this._onChange.fire({indexes:e,browserEvent:i}),r}get(){return this.indexes}contains(e){return binarySearch$1(this.sortedIndexes,e,numericSort$1)>=0}dispose(){dispose$1(this._onChange)}};__decorate$4Q([memoize$2],Trait$3.prototype,"renderer",null);let SelectionTrait$1=class extends Trait$3{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}},TraitSpliceable$1=class{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const r=this.trait.get().map(k=>this.identityProvider.getId(this.view.element(k)).toString());if(r.length===0)return this.trait.splice(e,t,new Array(i.length).fill(!1));const g=new Set(r),y=i.map(k=>g.has(this.identityProvider.getId(k).toString()));this.trait.splice(e,t,y)}};function isInputElement$1(n){return n.tagName==="INPUT"||n.tagName==="TEXTAREA"}function isListElementDescendantOfClass$1(n,e){return n.classList.contains(e)?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:isListElementDescendantOfClass$1(n.parentElement,e)}function isMonacoEditor$1(n){return isListElementDescendantOfClass$1(n,"monaco-editor")}function isMonacoCustomToggle$1(n){return isListElementDescendantOfClass$1(n,"monaco-custom-toggle")}function isActionItem$1(n){return isListElementDescendantOfClass$1(n,"action-item")}function isStickyScrollElement$1(n){return isListElementDescendantOfClass$1(n,"monaco-tree-sticky-row")}function isStickyScrollContainer$1(n){return n.classList.contains("monaco-tree-sticky-container")}function isButton$1(n){return n.tagName==="A"&&n.classList.contains("monaco-button")||n.tagName==="DIV"&&n.classList.contains("monaco-button-dropdown")?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:isButton$1(n.parentElement)}let KeyboardController$1=class{get onKeyDown(){return Event$2.chain(this.disposables.add(new DomEmitter$1(this.view.domNode,"keydown")).event,e=>e.filter(t=>!isInputElement$1(t.target)).map(t=>new StandardKeyboardEvent$1(t)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new DisposableStore$1,this.multipleSelectionDisposables=new DisposableStore$1,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(r=>{switch(r.keyCode){case 3:return this.onEnter(r);case 16:return this.onUpArrow(r);case 18:return this.onDownArrow(r);case 11:return this.onPageUpArrow(r);case 12:return this.onPageDownArrow(r);case 9:return this.onEscape(r);case 31:this.multipleSelectionSupport&&(isMacintosh$1?r.metaKey:r.ctrlKey)&&this.onCtrlA(r)}}))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(range$3(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}};__decorate$4Q([memoize$2],KeyboardController$1.prototype,"onKeyDown",null);var TypeNavigationMode$1;(function(n){n[n.Automatic=0]="Automatic",n[n.Trigger=1]="Trigger"})(TypeNavigationMode$1||(TypeNavigationMode$1={}));var TypeNavigationControllerState$1;(function(n){n[n.Idle=0]="Idle",n[n.Typing=1]="Typing"})(TypeNavigationControllerState$1||(TypeNavigationControllerState$1={}));const DefaultKeyboardNavigationDelegate$1=new class{mightProducePrintableCharacter(n){return n.ctrlKey||n.metaKey||n.altKey?!1:n.keyCode>=31&&n.keyCode<=56||n.keyCode>=21&&n.keyCode<=30||n.keyCode>=98&&n.keyCode<=107||n.keyCode>=85&&n.keyCode<=95}};let TypeNavigationController$1=class{constructor(e,t,i,r,g){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=r,this.delegate=g,this.enabled=!1,this.state=TypeNavigationControllerState$1.Idle,this.mode=TypeNavigationMode$1.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new DisposableStore$1,this.disposables=new DisposableStore$1,this.updateOptions(e.options)}updateOptions(e){var t,i;(t=e.typeNavigationEnabled)==null||t?this.enable():this.disable(),this.mode=(i=e.typeNavigationMode)!=null?i:TypeNavigationMode$1.Automatic}enable(){if(this.enabled)return;let e=!1;const t=Event$2.chain(this.enabledDisposables.add(new DomEmitter$1(this.view.domNode,"keydown")).event,g=>g.filter(y=>!isInputElement$1(y.target)).filter(()=>this.mode===TypeNavigationMode$1.Automatic||this.triggered).map(y=>new StandardKeyboardEvent$1(y)).filter(y=>e||this.keyboardNavigationEventFilter(y)).filter(y=>this.delegate.mightProducePrintableCharacter(y)).forEach(y=>EventHelper$2.stop(y,!0)).map(y=>y.browserEvent.key)),i=Event$2.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);Event$2.reduce(Event$2.any(t,i),(g,y)=>y===null?null:(g||"")+y,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var t;const e=this.list.getFocus();if(e.length>0&&e[0]===this.previouslyFocused){const i=(t=this.list.options.accessibilityProvider)==null?void 0:t.getAriaLabel(this.list.element(e[0]));typeof i=="string"?alert$1(i):i&&alert$1(i.get())}this.previouslyFocused=-1}onInput(e){if(!e){this.state=TypeNavigationControllerState$1.Idle,this.triggered=!1;return}const t=this.list.getFocus(),i=t.length>0?t[0]:0,r=this.state===TypeNavigationControllerState$1.Idle?1:0;this.state=TypeNavigationControllerState$1.Typing;for(let g=0;g1&&V.length===1){this.previouslyFocused=i,this.list.setFocus([y]),this.list.reveal(y);return}}}else if(typeof L>"u"||matchesPrefix$1(e,L)){this.previouslyFocused=i,this.list.setFocus([y]),this.list.reveal(y);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}},DOMFocusController$1=class{constructor(e,t){this.list=e,this.view=t,this.disposables=new DisposableStore$1;const i=Event$2.chain(this.disposables.add(new DomEmitter$1(t.domNode,"keydown")).event,g=>g.filter(y=>!isInputElement$1(y.target)).map(y=>new StandardKeyboardEvent$1(y)));Event$2.chain(i,g=>g.filter(y=>y.keyCode===2&&!y.ctrlKey&&!y.metaKey&&!y.shiftKey&&!y.altKey))(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(t.length===0)return;const i=this.view.domElement(t[0]);if(!i)return;const r=i.querySelector("[tabIndex]");if(!r||!isHTMLElement$1(r)||r.tabIndex===-1)return;const g=getWindow$3(r).getComputedStyle(r);g.visibility==="hidden"||g.display==="none"||(e.preventDefault(),e.stopPropagation(),r.focus())}dispose(){this.disposables.dispose()}};function isSelectionSingleChangeEvent$1(n){return isMacintosh$1?n.browserEvent.metaKey:n.browserEvent.ctrlKey}function isSelectionRangeChangeEvent$1(n){return n.browserEvent.shiftKey}function isMouseRightClick$1(n){return isMouseEvent$2(n)&&n.button===2}const DefaultMultipleSelectionController$1={isSelectionSingleChangeEvent:isSelectionSingleChangeEvent$1,isSelectionRangeChangeEvent:isSelectionRangeChangeEvent$1};let MouseController$1=class{constructor(e){this.list=e,this.disposables=new DisposableStore$1,this._onPointer=new Emitter$3,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController$1),this.mouseSupport=typeof e.options.mouseSupport>"u"||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Gesture$1.addTarget(e.getHTMLElement()))),Event$2.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController$1))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){isMonacoEditor$1(e.browserEvent.target)||getActiveElement$1()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(isInputElement$1(e.browserEvent.target)||isMonacoEditor$1(e.browserEvent.target))return;const t=typeof e.index>"u"?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||isInputElement$1(e.browserEvent.target)||isMonacoEditor$1(e.browserEvent.target)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;if(typeof t>"u"){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),isMouseRightClick$1(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(isInputElement$1(e.browserEvent.target)||isMonacoEditor$1(e.browserEvent.target)||this.isSelectionChangeEvent(e)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(typeof i>"u"){const z=this.list.getFocus()[0];i=z!=null?z:t,this.list.setAnchor(i)}const r=Math.min(i,t),g=Math.max(i,t),y=range$3(r,g+1),k=this.list.getSelection(),L=getContiguousRangeContaining$1(disjunction$1(k,[i]),i);if(L.length===0)return;const V=disjunction$1(y,relativeComplement$1(k,L));this.list.setSelection(V,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const r=this.list.getSelection(),g=r.filter(y=>y!==t);this.list.setFocus([t]),this.list.setAnchor(t),r.length===g.length?this.list.setSelection([...g,t],e.browserEvent):this.list.setSelection(g,e.browserEvent)}}dispose(){this.disposables.dispose()}},DefaultStyleController$1=class{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var y,k;const t=this.selectorSuffix&&".".concat(this.selectorSuffix),i=[];e.listBackground&&i.push(".monaco-list".concat(t," .monaco-list-rows { background: ").concat(e.listBackground,"; }")),e.listFocusBackground&&(i.push(".monaco-list".concat(t,":focus .monaco-list-row.focused { background-color: ").concat(e.listFocusBackground,"; }")),i.push(".monaco-list".concat(t,":focus .monaco-list-row.focused:hover { background-color: ").concat(e.listFocusBackground,"; }"))),e.listFocusForeground&&i.push(".monaco-list".concat(t,":focus .monaco-list-row.focused { color: ").concat(e.listFocusForeground,"; }")),e.listActiveSelectionBackground&&(i.push(".monaco-list".concat(t,":focus .monaco-list-row.selected { background-color: ").concat(e.listActiveSelectionBackground,"; }")),i.push(".monaco-list".concat(t,":focus .monaco-list-row.selected:hover { background-color: ").concat(e.listActiveSelectionBackground,"; }"))),e.listActiveSelectionForeground&&i.push(".monaco-list".concat(t,":focus .monaco-list-row.selected { color: ").concat(e.listActiveSelectionForeground,"; }")),e.listActiveSelectionIconForeground&&i.push(".monaco-list".concat(t,":focus .monaco-list-row.selected .codicon { color: ").concat(e.listActiveSelectionIconForeground,"; }")),e.listFocusAndSelectionBackground&&i.push("\n .monaco-drag-image,\n .monaco-list".concat(t,":focus .monaco-list-row.selected.focused { background-color: ").concat(e.listFocusAndSelectionBackground,"; }\n ")),e.listFocusAndSelectionForeground&&i.push("\n .monaco-drag-image,\n .monaco-list".concat(t,":focus .monaco-list-row.selected.focused { color: ").concat(e.listFocusAndSelectionForeground,"; }\n ")),e.listInactiveFocusForeground&&(i.push(".monaco-list".concat(t," .monaco-list-row.focused { color: ").concat(e.listInactiveFocusForeground,"; }")),i.push(".monaco-list".concat(t," .monaco-list-row.focused:hover { color: ").concat(e.listInactiveFocusForeground,"; }"))),e.listInactiveSelectionIconForeground&&i.push(".monaco-list".concat(t," .monaco-list-row.focused .codicon { color: ").concat(e.listInactiveSelectionIconForeground,"; }")),e.listInactiveFocusBackground&&(i.push(".monaco-list".concat(t," .monaco-list-row.focused { background-color: ").concat(e.listInactiveFocusBackground,"; }")),i.push(".monaco-list".concat(t," .monaco-list-row.focused:hover { background-color: ").concat(e.listInactiveFocusBackground,"; }"))),e.listInactiveSelectionBackground&&(i.push(".monaco-list".concat(t," .monaco-list-row.selected { background-color: ").concat(e.listInactiveSelectionBackground,"; }")),i.push(".monaco-list".concat(t," .monaco-list-row.selected:hover { background-color: ").concat(e.listInactiveSelectionBackground,"; }"))),e.listInactiveSelectionForeground&&i.push(".monaco-list".concat(t," .monaco-list-row.selected { color: ").concat(e.listInactiveSelectionForeground,"; }")),e.listHoverBackground&&i.push(".monaco-list".concat(t,":not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ").concat(e.listHoverBackground,"; }")),e.listHoverForeground&&i.push(".monaco-list".concat(t,":not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ").concat(e.listHoverForeground,"; }"));const r=asCssValueWithDefault$1(e.listFocusAndSelectionOutline,asCssValueWithDefault$1(e.listSelectionOutline,(y=e.listFocusOutline)!=null?y:""));r&&i.push(".monaco-list".concat(t,":focus .monaco-list-row.focused.selected { outline: 1px solid ").concat(r,"; outline-offset: -1px;}")),e.listFocusOutline&&i.push("\n .monaco-drag-image,\n .monaco-list".concat(t,":focus .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }\n .monaco-workbench.context-menu-visible .monaco-list").concat(t,".last-focused .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }\n "));const g=asCssValueWithDefault$1(e.listSelectionOutline,(k=e.listInactiveFocusOutline)!=null?k:"");g&&i.push(".monaco-list".concat(t," .monaco-list-row.focused.selected { outline: 1px dotted ").concat(g,"; outline-offset: -1px; }")),e.listSelectionOutline&&i.push(".monaco-list".concat(t," .monaco-list-row.selected { outline: 1px dotted ").concat(e.listSelectionOutline,"; outline-offset: -1px; }")),e.listInactiveFocusOutline&&i.push(".monaco-list".concat(t," .monaco-list-row.focused { outline: 1px dotted ").concat(e.listInactiveFocusOutline,"; outline-offset: -1px; }")),e.listHoverOutline&&i.push(".monaco-list".concat(t," .monaco-list-row:hover { outline: 1px dashed ").concat(e.listHoverOutline,"; outline-offset: -1px; }")),e.listDropOverBackground&&i.push("\n .monaco-list".concat(t,".drop-target,\n .monaco-list").concat(t," .monaco-list-rows.drop-target,\n .monaco-list").concat(t," .monaco-list-row.drop-target { background-color: ").concat(e.listDropOverBackground," !important; color: inherit !important; }\n ")),e.listDropBetweenBackground&&(i.push("\n .monaco-list".concat(t," .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n .monaco-list").concat(t,' .monaco-list-row.drop-target-before::before {\n content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n background-color: ').concat(e.listDropBetweenBackground,";\n }")),i.push("\n .monaco-list".concat(t," .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n .monaco-list").concat(t,' .monaco-list-row.drop-target-after::after {\n content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n background-color: ').concat(e.listDropBetweenBackground,";\n }"))),e.tableColumnsBorder&&i.push("\n .monaco-table > .monaco-split-view2,\n .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n border-color: ".concat(e.tableColumnsBorder,";\n }\n\n .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n border-color: transparent;\n }\n ")),e.tableOddRowsBackgroundColor&&i.push("\n .monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n .monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n .monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n background-color: ".concat(e.tableOddRowsBackgroundColor,";\n }\n ")),this.styleElement.textContent=i.join("\n")}};const unthemedListStyles$1={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Color$2.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Color$2.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Color$2.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},DefaultOptions$2={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function getContiguousRangeContaining$1(n,e){const t=n.indexOf(e);if(t===-1)return[];const i=[];let r=t-1;for(;r>=0&&n[r]===e-(t-r);)i.push(n[r--]);for(i.reverse(),r=t;r=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){t.push(n[i]),i++,r++;continue}else n[i]=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){i++,r++;continue}else n[i]n-e;let PipelineRenderer$1=class{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,r){let g=0;for(const y of this.renderers)y.renderElement(e,t,i[g++],r)}disposeElement(e,t,i,r){var y;let g=0;for(const k of this.renderers)(y=k.disposeElement)==null||y.call(k,e,t,i[g],r),g+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}},AccessibiltyRenderer$1=class{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new DisposableStore$1}}renderElement(e,t,i){const r=this.accessibilityProvider.getAriaLabel(e),g=r&&typeof r!="string"?r:constObservable$1(r);i.disposables.add(autorun$1(k=>{this.setAriaLabel(k.readObservable(g),i.container)}));const y=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof y=="number"?i.container.setAttribute("aria-level","".concat(y)):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,r){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}},ListViewDragAndDrop$1=class{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)==null||r.call(i,e,t)}onDragOver(e,t,i,r,g){return this.dnd.onDragOver(e,t,i,r,g)}onDragLeave(e,t,i,r){var g,y;(y=(g=this.dnd).onDragLeave)==null||y.call(g,e,t,i,r)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)==null||i.call(t,e)}drop(e,t,i,r,g){this.dnd.drop(e,t,i,r,g)}dispose(){this.dnd.dispose()}},List$1=class{get onDidChangeFocus(){return Event$2.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return Event$2.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=Event$2.chain(this.disposables.add(new DomEmitter$1(this.view.domNode,"keydown")).event,g=>g.map(y=>new StandardKeyboardEvent$1(y)).filter(y=>e=y.keyCode===58||y.shiftKey&&y.keyCode===68).map(y=>EventHelper$2.stop(y,!0)).filter(()=>!1)),i=Event$2.chain(this.disposables.add(new DomEmitter$1(this.view.domNode,"keyup")).event,g=>g.forEach(()=>e=!1).map(y=>new StandardKeyboardEvent$1(y)).filter(y=>y.keyCode===58||y.shiftKey&&y.keyCode===68).map(y=>EventHelper$2.stop(y,!0)).map(({browserEvent:y})=>{const k=this.getFocus(),L=k.length?k[0]:void 0,V=typeof L<"u"?this.view.element(L):void 0,z=typeof L<"u"?this.view.domElement(L):this.view.domNode;return{index:L,element:V,anchor:z,browserEvent:y}})),r=Event$2.chain(this.view.onContextMenu,g=>g.filter(y=>!e).map(({element:y,index:k,browserEvent:L})=>({element:y,index:k,anchor:new StandardMouseEvent$1(getWindow$3(this.view.domNode),L),browserEvent:L})));return Event$2.any(t,i,r)}get onKeyDown(){return this.disposables.add(new DomEmitter$1(this.view.domNode,"keydown")).event}get onDidFocus(){return Event$2.signal(this.disposables.add(new DomEmitter$1(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return Event$2.signal(this.disposables.add(new DomEmitter$1(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,r,g=DefaultOptions$2){var V,z,j,ie;this.user=e,this._options=g,this.focus=new Trait$3("focused"),this.anchor=new Trait$3("anchor"),this.eventBufferer=new EventBufferer$1,this._ariaLabel="",this.disposables=new DisposableStore$1,this._onDidDispose=new Emitter$3,this.onDidDispose=this._onDidDispose.event;const y=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(V=this._options.accessibilityProvider)==null?void 0:V.getWidgetRole():"list";this.selection=new SelectionTrait$1(y!=="listbox");const k=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=g.accessibilityProvider,this.accessibilityProvider&&(k.push(new AccessibiltyRenderer$1(this.accessibilityProvider)),(j=(z=this.accessibilityProvider).onDidChangeActiveDescendant)==null||j.call(z,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(oe=>new PipelineRenderer$1(oe.templateId,[...k,oe]));const L={...g,dnd:g.dnd&&new ListViewDragAndDrop$1(this,g.dnd)};if(this.view=this.createListView(t,i,r,L),this.view.domNode.setAttribute("role",y),g.styleController)this.styleController=g.styleController(this.view.domId);else{const oe=createStyleSheet$1(this.view.domNode);this.styleController=new DefaultStyleController$1(oe,this.view.domId)}if(this.spliceable=new CombinedSpliceable$1([new TraitSpliceable$1(this.focus,this.view,g.identityProvider),new TraitSpliceable$1(this.selection,this.view,g.identityProvider),new TraitSpliceable$1(this.anchor,this.view,g.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new DOMFocusController$1(this,this.view)),(typeof g.keyboardSupport!="boolean"||g.keyboardSupport)&&(this.keyboardController=new KeyboardController$1(this,this.view,g),this.disposables.add(this.keyboardController)),g.keyboardNavigationLabelProvider){const oe=g.keyboardNavigationDelegate||DefaultKeyboardNavigationDelegate$1;this.typeNavigationController=new TypeNavigationController$1(this,this.view,g.keyboardNavigationLabelProvider,(ie=g.keyboardNavigationEventFilter)!=null?ie:()=>!0,oe),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(g),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,r){return new ListView$1(e,t,i,r)}createMouseController(e){return new MouseController$1(this)}updateOptions(e={}){var t,i;this._options={...this._options,...e},(t=this.typeNavigationController)==null||t.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),(i=this.keyboardController)==null||i.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new ListError$1(this.user,"Invalid start index: ".concat(e));if(t<0)throw new ListError$1(this.user,"Invalid delete count: ".concat(t));t===0&&i.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError$1(this.user,"Invalid index ".concat(i));this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(typeof e>"u"){this.anchor.set([]);return}if(e<0||e>=this.length)throw new ListError$1(this.user,"Invalid index ".concat(e));this.anchor.set([e])}getAnchor(){return firstOrDefault$1(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return typeof e>"u"?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError$1(this.user,"Invalid index ".concat(i));this.focus.set(e,t)}focusNext(e=1,t=!1,i,r){if(this.length===0)return;const g=this.focus.get(),y=this.findNextIndex(g.length>0?g[0]+e:0,t,r);y>-1&&this.setFocus([y],i)}focusPrevious(e=1,t=!1,i,r){if(this.length===0)return;const g=this.focus.get(),y=this.findPreviousIndex(g.length>0?g[0]-e:0,t,r);y>-1&&this.setFocus([y],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=i===0?0:i-1;const r=this.getFocus()[0];if(r!==i&&(r===void 0||i>r)){const g=this.findPreviousIndex(i,!1,t);g>-1&&r!==g?this.setFocus([g],e):this.setFocus([i],e)}else{const g=this.view.getScrollTop();let y=g+this.view.renderHeight;i>r&&(y-=this.view.elementHeight(i)),this.view.setScrollTop(y),this.view.getScrollTop()!==g&&(this.setFocus([]),await timeout$1(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let r;const g=i(),y=this.view.getScrollTop()+g;y===0?r=this.view.indexAt(y):r=this.view.indexAfter(y-1);const k=this.getFocus()[0];if(k!==r&&(k===void 0||k>=r)){const L=this.findNextIndex(r,!1,t);L>-1&&k!==L?this.setFocus([L],e):this.setFocus([r],e)}else{const L=y;this.view.setScrollTop(y-this.view.renderHeight-g),this.view.getScrollTop()+i()!==L&&(this.setFocus([]),await timeout$1(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(this.length===0)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(this.length===0)return;const r=this.findNextIndex(e,!1,i);r>-1&&this.setFocus([r],t)}findNextIndex(e,t=!1,i){for(let r=0;r=this.length&&!t)return-1;if(e=e%this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let r=0;rthis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new ListError$1(this.user,"Invalid index ".concat(e));const r=this.view.getScrollTop(),g=this.view.elementTop(e),y=this.view.elementHeight(e);if(isNumber$8(t)){const k=y-this.view.renderHeight+i;this.view.setScrollTop(k*clamp$1(t,0,1)+g-i)}else{const k=g+y,L=r+this.view.renderHeight;g=L||(g=L&&y>=this.view.renderHeight?this.view.setScrollTop(g-i):k>=L&&this.view.setScrollTop(k-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new ListError$1(this.user,"Invalid index ".concat(e));const i=this.view.getScrollTop(),r=this.view.elementTop(e),g=this.view.elementHeight(e);if(ri+this.view.renderHeight)return null;const y=g-this.view.renderHeight+t;return Math.abs((i+t-r)/y)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(i=>this.view.element(i)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var t;const e=this.focus.get();if(e.length>0){let i;(t=this.accessibilityProvider)!=null&&t.getActiveDescendantId&&(i=this.accessibilityProvider.getActiveDescendantId(this.view.element(e[0]))),this.view.domNode.setAttribute("aria-activedescendant",i||this.view.getElementDomId(e[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",e.length===0),this.view.domNode.classList.toggle("selection-single",e.length===1),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}};__decorate$4Q([memoize$2],List$1.prototype,"onDidChangeFocus",null);__decorate$4Q([memoize$2],List$1.prototype,"onDidChangeSelection",null);__decorate$4Q([memoize$2],List$1.prototype,"onContextMenu",null);__decorate$4Q([memoize$2],List$1.prototype,"onKeyDown",null);__decorate$4Q([memoize$2],List$1.prototype,"onDidFocus",null);__decorate$4Q([memoize$2],List$1.prototype,"onDidBlur",null);const $$r=$$u,SELECT_OPTION_ENTRY_TEMPLATE_ID$1="selectOption.entry.template";let SelectListRenderer$1=class{get templateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID$1}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=append$4(e,$$r(".option-text")),t.detail=append$4(e,$$r(".option-detail")),t.decoratorRight=append$4(e,$$r(".option-decorator-right")),t}renderElement(e,t,i){const r=i,g=e.text,y=e.detail,k=e.decoratorRight,L=e.isDisabled;r.text.textContent=g,r.detail.textContent=y||"",r.decoratorRight.innerText=k||"",L?r.root.classList.add("option-disabled"):r.root.classList.remove("option-disabled")}disposeTemplate(e){}};var lo;let SelectBoxList$1=(lo=class extends Disposable$1{constructor(e,t,i,r,g){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=r,this.selectBoxOptions=g||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=lo.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new Emitter$3,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate$1("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID$1}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=$$u(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=append$4(this.selectDropDownContainer,$$r(".select-box-details-pane"));const t=append$4(this.selectDropDownContainer,$$r(".select-box-dropdown-container-width-control")),i=append$4(t,$$r(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",append$4(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=createStyleSheet$1(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(addDisposableListener$1(this.selectDropDownContainer,EventType$3.DRAG_START,r=>{EventHelper$2.stop(r,!0)}))}registerListeners(){this._register(addStandardDisposableListener$1(this.selectElement,"change",t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(addDisposableListener$1(this.selectElement,EventType$3.CLICK,t=>{EventHelper$2.stop(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener$1(this.selectElement,EventType$3.MOUSE_DOWN,t=>{EventHelper$2.stop(t)}));let e;this._register(addDisposableListener$1(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register(addDisposableListener$1(this.selectElement,"touchend",t=>{EventHelper$2.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener$1(this.selectElement,EventType$3.KEY_DOWN,t=>{const i=new StandardKeyboardEvent$1(t);let r=!1;isMacintosh$1?(i.keyCode===18||i.keyCode===16||i.keyCode===10||i.keyCode===3)&&(r=!0):(i.keyCode===18&&i.altKey||i.keyCode===16&&i.altKey||i.keyCode===10||i.keyCode===3)&&(r=!0),r&&(this.showSelectDropDown(),EventHelper$2.stop(t,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){equals$5(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled)),typeof i.description=="string"&&(this._hasDetails=!0)})),t!==void 0&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;(e=this.selectList)==null||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ".concat(this.styles.listFocusBackground," !important; }")),this.styles.listFocusForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ".concat(this.styles.listFocusForeground," !important; }")),this.styles.decoratorRightForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ".concat(this.styles.decoratorRightForeground,"; }")),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(".monaco-select-box-dropdown-container { border: 1px solid ".concat(this.styles.selectBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ".concat(this.styles.selectBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ".concat(this.styles.selectBorder," } "))):this.styles.selectListBorder&&(e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ".concat(this.styles.selectListBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ".concat(this.styles.selectListBorder," } "))),this.styles.listHoverForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ".concat(this.styles.listHoverForeground," !important; }")),this.styles.listHoverBackground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ".concat(this.styles.listHoverBackground," !important; }")),this.styles.listFocusOutline&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ".concat(this.styles.listFocusOutline," !important; outline-offset: -1.6px !important; }")),this.styles.listHoverOutline&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ".concat(this.styles.listHoverOutline," !important; outline-offset: -1.6px !important; }")),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){var r,g,y;const e=(r=this.styles.selectBackground)!=null?r:"",t=(g=this.styles.selectForeground)!=null?g:"",i=(y=this.styles.selectBorder)!=null?y:"";this.selectElement.style.backgroundColor=e,this.selectElement.style.color=t,this.selectElement.style.borderColor=i}styleList(){var r,g;const e=(r=this.styles.selectBackground)!=null?r:"",t=asCssValueWithDefault$1(this.styles.selectListBackground,e);this.selectDropDownListContainer.style.backgroundColor=t,this.selectionDetailsPane.style.backgroundColor=t;const i=(g=this.styles.focusBorder)!=null?g:"";this.selectDropDownContainer.style.outlineColor=i,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const r=document.createElement("option");return r.value=e,r.text=e,r.disabled=!!i,r}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{this.selectDropDownContainer.remove()}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=getWindow$3(this.selectElement),i=getDomNodePagePosition$1(this.selectElement),r=getWindow$3(this.selectElement).getComputedStyle(this.selectElement),g=parseFloat(r.getPropertyValue("--dropdown-padding-top"))+parseFloat(r.getPropertyValue("--dropdown-padding-bottom")),y=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),k=i.top-lo.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,L=this.selectElement.offsetWidth,V=this.setWidthControlElement(this.widthControlElement),z=Math.max(V,Math.round(L)).toString()+"px";this.selectDropDownContainer.style.width=z,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let j=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const ie=this._hasDetails?this._cachedMaxDetailsHeight:0,oe=j+g+ie,re=Math.floor((y-g-ie)/this.getHeight()),ae=Math.floor((k-g-ie)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.topre&&this.options.length>re?(this._dropDownPosition=1,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownListContainer.remove(),this.selectionDetailsPane.remove(),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.topy&&(j=re*this.getHeight())}else oe>k&&(j=ae*this.getHeight());return this.selectList.layout(j),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=j+g+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=j+g+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=z,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,r=0;this.options.forEach((g,y)=>{const k=g.detail?g.detail.length:0,L=g.decoratorRight?g.decoratorRight.length:0,V=g.text.length+k+L;V>r&&(i=y,r=V)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=getTotalWidth$1(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=append$4(e,$$r(".select-box-dropdown-list-container")),this.listRenderer=new SelectListRenderer$1,this.selectList=this._register(new List$1("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:r=>{let g=r.text;return r.detail&&(g+=". ".concat(r.detail)),r.decoratorRight&&(g+=". ".concat(r.decoratorRight)),r.description&&(g+=". ".concat(r.description)),g},getWidgetAriaLabel:()=>localize$1({key:"selectBox",comment:["Behave like native select dropdown element."]},"Select Box"),getRole:()=>isMacintosh$1?"":"option",getWidgetRole:()=>"listbox"}})),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new DomEmitter$1(this.selectDropDownListContainer,"keydown")),i=Event$2.chain(t.event,r=>r.filter(()=>this.selectList.length>0).map(g=>new StandardKeyboardEvent$1(g)));this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===3))(this.onEnter,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===2))(this.onEnter,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===9))(this.onEscape,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===16))(this.onUpArrow,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===18))(this.onDownArrow,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===12))(this.onPageDown,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===11))(this.onPageUp,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===14))(this.onHome,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode===13))(this.onEnd,this)),this._register(Event$2.chain(i,r=>r.filter(g=>g.keyCode>=21&&g.keyCode<=56||g.keyCode>=85&&g.keyCode<=113))(this.onCharacter,this)),this._register(addDisposableListener$1(this.selectList.getHTMLElement(),EventType$3.POINTER_UP,r=>this.onPointerUp(r))),this._register(this.selectList.onMouseOver(r=>typeof r.index<"u"&&this.selectList.setFocus([r.index]))),this._register(this.selectList.onDidChangeFocus(r=>this.onListFocus(r))),this._register(addDisposableListener$1(this.selectDropDownContainer,EventType$3.FOCUS_OUT,r=>{!this._isVisible||isAncestor$3(r.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;EventHelper$2.stop(e);const t=e.target;if(!t||t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const r=Number(i.getAttribute("data-index")),g=i.classList.contains("option-disabled");r>=0&&r{for(let y=0;ythis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(EventHelper$2.stop(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){EventHelper$2.stop(e),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(e){EventHelper$2.stop(e),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){EventHelper$2.stop(e),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=KeyCodeUtils$1.toString(e.keyCode);let i=-1;for(let r=0;r{this._register(addDisposableListener$1(this.selectElement,e,t=>{this.selectElement.focus()}))}),this._register(addStandardDisposableListener$1(this.selectElement,"click",e=>{EventHelper$2.stop(e,!0)})),this._register(addStandardDisposableListener$1(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(addStandardDisposableListener$1(this.selectElement,"keydown",e=>{let t=!1;isMacintosh$1?(e.keyCode===18||e.keyCode===16||e.keyCode===10)&&(t=!0):(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){(!this.options||!equals$5(this.options,e))&&(this.options=e,this.selectElement.options.length=0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled))})),t!==void 0&&this.select(t)}select(e){this.options.length===0?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(r)}))}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new ActionRunner$1)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(Gesture$1.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,isFirefox$3&&this._register(addDisposableListener$1(e,EventType$3.DRAG_START,r=>{var g;return(g=r.dataTransfer)==null?void 0:g.setData(DataTransfers$1.TEXT,this._action.label)}))),this._register(addDisposableListener$1(t,EventType$2.Tap,r=>this.onClick(r,!0))),this._register(addDisposableListener$1(t,EventType$3.MOUSE_DOWN,r=>{i||EventHelper$2.stop(r,!0),this._action.enabled&&r.button===0&&t.classList.add("active")})),isMacintosh$1&&this._register(addDisposableListener$1(t,EventType$3.CONTEXT_MENU,r=>{r.button===0&&r.ctrlKey===!0&&this.onClick(r)})),this._register(addDisposableListener$1(t,EventType$3.CLICK,r=>{EventHelper$2.stop(r,!0),this.options&&this.options.isMenu||this.onClick(r)})),this._register(addDisposableListener$1(t,EventType$3.DBLCLICK,r=>{EventHelper$2.stop(r,!0)})),[EventType$3.MOUSE_UP,EventType$3.MOUSE_OUT].forEach(r=>{this._register(addDisposableListener$1(t,r,g=>{EventHelper$2.stop(g),t.classList.remove("active")}))})}onClick(e,t=!1){var r;EventHelper$2.stop(e,!0);const i=isUndefinedOrNull$1(this._context)?(r=this.options)!=null&&r.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,i)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var t,i,r;if(!this.element)return;const e=(t=this.getTooltip())!=null?t:"";if(this.updateAriaLabel(),(i=this.options.hoverDelegate)!=null&&i.showNativeHover)this.element.title=e;else if(!this.customHover&&e!==""){const g=(r=this.options.hoverDelegate)!=null?r:getDefaultHoverDelegate$1("element");this.customHover=this._store.add(getBaseLayerHoverDelegate().setupManagedHover(g,this.element,e))}else this.customHover&&this.customHover.update(e)}updateAriaLabel(){var e;if(this.element){const t=(e=this.getTooltip())!=null?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}},ActionViewItem$1=class extends BaseActionViewItem$1{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=i.icon!==void 0?i.icon:!1,this.options.label=i.label!==void 0?i.label:!0,this.cssClass=""}render(e){super.render(e),assertType$1(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const i=document.createElement("span");i.classList.add("keybinding"),i.textContent=this.options.keybinding,this.element.appendChild(i)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Separator$1.ID?"presentation":this.options.isMenu?"menuitem":this.options.isTabList?"tab":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=localize$1({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e!=null?e:void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):(e=this.label)==null||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),(e=this.element)==null||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),(t=this.element)==null||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=(e=this.getTooltip())!=null?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.options.isTabList?this.label.setAttribute("aria-selected",this.action.checked?"true":"false"):(this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox"))):(this.label.classList.remove("checked"),this.label.removeAttribute(this.options.isTabList?"aria-selected":"aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}},SelectActionViewItem$1=class extends BaseActionViewItem$1{constructor(e,t,i,r,g,y,k){super(e,t),this.selectBox=new SelectBox$1(i,r,g,y,k),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;(e=this.selectBox)==null||e.focus()}blur(){var e;(e=this.selectBox)==null||e.blur()}render(e){this.selectBox.render(e)}},BaseDropdown$1=class extends ActionRunner$1{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Emitter$3),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=append$4(e,$$u(".monaco-dropdown")),this._label=append$4(this._element,$$u(".dropdown-label"));let i=t.labelRenderer;i||(i=g=>(g.textContent=t.label||"",null));for(const g of[EventType$3.CLICK,EventType$3.MOUSE_DOWN,EventType$2.Tap])this._register(addDisposableListener$1(this.element,g,y=>EventHelper$2.stop(y,!0)));for(const g of[EventType$3.MOUSE_DOWN,EventType$2.Tap])this._register(addDisposableListener$1(this._label,g,y=>{isMouseEvent$2(y)&&(y.detail>1||y.button!==0)||(this.visible?this.hide():this.show())}));this._register(addDisposableListener$1(this._label,EventType$3.KEY_UP,g=>{const y=new StandardKeyboardEvent$1(g);(y.equals(3)||y.equals(10))&&(EventHelper$2.stop(g,!0),this.visible?this.hide():this.show())}));const r=i(this._label);r&&this._register(r),this._register(Gesture$1.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}},DropdownMenu$2=class extends BaseDropdown$1{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}},DropdownMenuActionViewItem$1=class extends BaseActionViewItem$1{constructor(e,t,i,r=Object.create(null)){super(null,e,r),this.actionItem=null,this._onDidChangeVisibility=this._register(new Emitter$3),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=r,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=g=>{var k;this.element=append$4(g,$$u("a.action-label"));let y=[];return typeof this.options.classNames=="string"?y=this.options.classNames.split(/\s+/g).filter(L=>!!L):this.options.classNames&&(y=this.options.classNames),y.find(L=>L==="icon")||y.push("codicon"),this.element.classList.add(...y),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(getBaseLayerHoverDelegate().setupManagedHover((k=this.options.hoverDelegate)!=null?k:getDefaultHoverDelegate$1("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),r={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new DropdownMenu$2(e,r)),this._register(this.dropdownMenu.onDidChangeVisibility(g=>{var y;(y=this.element)==null||y.setAttribute("aria-expanded","".concat(g)),this._onDidChangeVisibility.fire(g)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const g=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return g.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e!=null?e:void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;(e=this.dropdownMenu)==null||e.show()}updateEnabled(){var t,i;const e=!this.action.enabled;(t=this.actionItem)==null||t.classList.toggle("disabled",e),(i=this.element)==null||i.classList.toggle("disabled",e)}};function isLocalizedString(n){return n&&typeof n=="object"&&typeof n.original=="string"&&typeof n.value=="string"}function isICommandActionToggleInfo$1(n){return n?n.condition!==void 0:!1}var StorageHint$1;(function(n){n[n.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",n[n.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(StorageHint$1||(StorageHint$1={}));var StorageState$1;(function(n){n[n.None=0]="None",n[n.Initialized=1]="Initialized",n[n.Closed=2]="Closed"})(StorageState$1||(StorageState$1={}));var Ts;let Storage$1=(Ts=class extends Disposable$1{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new PauseableEmitter$1),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=StorageState$1.None,this.cache=new Map,this.flushDelayer=this._register(new ThrottledDelayer$1(Ts.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){var t,i;this._onDidChangeStorage.pause();try{(t=e.changed)==null||t.forEach((r,g)=>this.acceptExternal(g,r)),(i=e.deleted)==null||i.forEach(r=>this.acceptExternal(r,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===StorageState$1.Closed)return;let i=!1;isUndefinedOrNull$1(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return isUndefinedOrNull$1(i)?t:i}getBoolean(e,t){const i=this.get(e);return isUndefinedOrNull$1(i)?t:i==="true"}getNumber(e,t){const i=this.get(e);return isUndefinedOrNull$1(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===StorageState$1.Closed)return;if(isUndefinedOrNull$1(t))return this.delete(e,i);const r=isObject$7(t)||Array.isArray(t)?stringify$3(t):String(t);if(this.cache.get(e)!==r)return this.cache.set(e,r),this.pendingInserts.set(e,r),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()}async delete(e,t=!1){if(!(this.state===StorageState$1.Closed||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(t=this.whenFlushedCallbacks.pop())==null||t()})}async doFlush(e){return this.options.hint===StorageHint$1.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}},Ts.DEFAULT_FLUSH_DELAY=100,Ts),InMemoryStorageDatabase$1=class{constructor(){this.onDidChangeItemsExternal=Event$2.None,this.items=new Map}async updateItems(e){var t,i;(t=e.insert)==null||t.forEach((r,g)=>this.items.set(g,r)),(i=e.delete)==null||i.forEach(r=>this.items.delete(r))}};const TARGET_KEY$1="__$__targetStorageMarker",IStorageService$1=createDecorator$1("storageService");var WillSaveStateReason$1;(function(n){n[n.NONE=0]="NONE",n[n.SHUTDOWN=1]="SHUTDOWN"})(WillSaveStateReason$1||(WillSaveStateReason$1={}));function loadKeyTargets$1(n){const e=n.get(TARGET_KEY$1);if(e)try{return JSON.parse(e)}catch(t){}return Object.create(null)}var Ns;let AbstractStorageService$1=(Ns=class extends Disposable$1{constructor(e={flushInterval:Ns.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new PauseableEmitter$1),this._onDidChangeTarget=this._register(new PauseableEmitter$1),this._onWillSaveState=this._register(new Emitter$3),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return Event$2.filter(this._onDidChangeValue.event,r=>r.scope===e&&(t===void 0||r.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:r}=t;if(i===TARGET_KEY$1){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:r})}get(e,t,i){var r;return(r=this.getStorage(t))==null?void 0:r.get(e,i)}getBoolean(e,t,i){var r;return(r=this.getStorage(t))==null?void 0:r.getBoolean(e,i)}getNumber(e,t,i){var r;return(r=this.getStorage(t))==null?void 0:r.getNumber(e,i)}store(e,t,i,r,g=!1){if(isUndefinedOrNull$1(t)){this.remove(e,i,g);return}this.withPausedEmitters(()=>{var y;this.updateKeyTarget(e,i,r),(y=this.getStorage(i))==null||y.set(e,t,g)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{var r;this.updateKeyTarget(e,t,void 0),(r=this.getStorage(t))==null||r.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,r=!1){var y,k;const g=this.getKeyTargets(t);typeof i=="number"?g[e]!==i&&(g[e]=i,(y=this.getStorage(t))==null||y.set(TARGET_KEY$1,JSON.stringify(g),r)):typeof g[e]=="number"&&(delete g[e],(k=this.getStorage(t))==null||k.set(TARGET_KEY$1,JSON.stringify(g),r))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?loadKeyTargets$1(t):Object.create(null)}},Ns.DEFAULT_FLUSH_INTERVAL=60*1e3,Ns),InMemoryStorageService$1=class extends AbstractStorageService$1{constructor(){super(),this.applicationStorage=this._register(new Storage$1(new InMemoryStorageDatabase$1,{hint:StorageHint$1.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new Storage$1(new InMemoryStorageDatabase$1,{hint:StorageHint$1.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new Storage$1(new InMemoryStorageDatabase$1,{hint:StorageHint$1.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}};function overrideStyles$1(n,e){const t={...e};for(const i in n){const r=n[i];t[i]=r!==void 0?asCssVariable$1(r):void 0}return t}const defaultKeybindingLabelStyles$1={keybindingLabelBackground:asCssVariable$1(keybindingLabelBackground$1),keybindingLabelForeground:asCssVariable$1(keybindingLabelForeground$1),keybindingLabelBorder:asCssVariable$1(keybindingLabelBorder$1),keybindingLabelBottomBorder:asCssVariable$1(keybindingLabelBottomBorder$1),keybindingLabelShadow:asCssVariable$1(widgetShadow$1)},defaultButtonStyles$1={buttonForeground:asCssVariable$1(buttonForeground$1),buttonSeparator:asCssVariable$1(buttonSeparator$1),buttonBackground:asCssVariable$1(buttonBackground$1),buttonHoverBackground:asCssVariable$1(buttonHoverBackground$1),buttonSecondaryForeground:asCssVariable$1(buttonSecondaryForeground$1),buttonSecondaryBackground:asCssVariable$1(buttonSecondaryBackground$1),buttonSecondaryHoverBackground:asCssVariable$1(buttonSecondaryHoverBackground$1),buttonBorder:asCssVariable$1(buttonBorder$1)},defaultProgressBarStyles$1={progressBarBackground:asCssVariable$1(progressBarBackground$1)},defaultToggleStyles$1={inputActiveOptionBorder:asCssVariable$1(inputActiveOptionBorder$1),inputActiveOptionForeground:asCssVariable$1(inputActiveOptionForeground$1),inputActiveOptionBackground:asCssVariable$1(inputActiveOptionBackground$1)};asCssVariable$1(radioActiveForeground),asCssVariable$1(radioActiveBackground),asCssVariable$1(radioActiveBorder),asCssVariable$1(radioInactiveForeground),asCssVariable$1(radioInactiveBackground),asCssVariable$1(radioInactiveBorder),asCssVariable$1(radioInactiveHoverBackground);asCssVariable$1(checkboxBackground$1),asCssVariable$1(checkboxBorder$1),asCssVariable$1(checkboxForeground$1);asCssVariable$1(editorWidgetBackground$1),asCssVariable$1(editorWidgetForeground$1),asCssVariable$1(widgetShadow$1),asCssVariable$1(contrastBorder$1),asCssVariable$1(problemsErrorIconForeground$1),asCssVariable$1(problemsWarningIconForeground$1),asCssVariable$1(problemsInfoIconForeground$1),asCssVariable$1(textLinkForeground$1);const defaultInputBoxStyles$1={inputBackground:asCssVariable$1(inputBackground$1),inputForeground:asCssVariable$1(inputForeground$1),inputBorder:asCssVariable$1(inputBorder$1),inputValidationInfoBorder:asCssVariable$1(inputValidationInfoBorder$1),inputValidationInfoBackground:asCssVariable$1(inputValidationInfoBackground$1),inputValidationInfoForeground:asCssVariable$1(inputValidationInfoForeground$1),inputValidationWarningBorder:asCssVariable$1(inputValidationWarningBorder$1),inputValidationWarningBackground:asCssVariable$1(inputValidationWarningBackground$1),inputValidationWarningForeground:asCssVariable$1(inputValidationWarningForeground$1),inputValidationErrorBorder:asCssVariable$1(inputValidationErrorBorder$1),inputValidationErrorBackground:asCssVariable$1(inputValidationErrorBackground$1),inputValidationErrorForeground:asCssVariable$1(inputValidationErrorForeground$1)},defaultFindWidgetStyles$1={listFilterWidgetBackground:asCssVariable$1(listFilterWidgetBackground$1),listFilterWidgetOutline:asCssVariable$1(listFilterWidgetOutline$1),listFilterWidgetNoMatchesOutline:asCssVariable$1(listFilterWidgetNoMatchesOutline$1),listFilterWidgetShadow:asCssVariable$1(listFilterWidgetShadow$1),inputBoxStyles:defaultInputBoxStyles$1,toggleStyles:defaultToggleStyles$1},defaultCountBadgeStyles$1={badgeBackground:asCssVariable$1(badgeBackground$1),badgeForeground:asCssVariable$1(badgeForeground$1),badgeBorder:asCssVariable$1(contrastBorder$1)};asCssVariable$1(breadcrumbsBackground$1),asCssVariable$1(breadcrumbsForeground$1),asCssVariable$1(breadcrumbsFocusForeground$1),asCssVariable$1(breadcrumbsFocusForeground$1),asCssVariable$1(breadcrumbsActiveSelectionForeground$1);const defaultListStyles$1={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:asCssVariable$1(listFocusBackground$1),listFocusForeground:asCssVariable$1(listFocusForeground$1),listFocusOutline:asCssVariable$1(listFocusOutline$1),listActiveSelectionBackground:asCssVariable$1(listActiveSelectionBackground$1),listActiveSelectionForeground:asCssVariable$1(listActiveSelectionForeground$1),listActiveSelectionIconForeground:asCssVariable$1(listActiveSelectionIconForeground$1),listFocusAndSelectionOutline:asCssVariable$1(listFocusAndSelectionOutline$1),listFocusAndSelectionBackground:asCssVariable$1(listActiveSelectionBackground$1),listFocusAndSelectionForeground:asCssVariable$1(listActiveSelectionForeground$1),listInactiveSelectionBackground:asCssVariable$1(listInactiveSelectionBackground$1),listInactiveSelectionIconForeground:asCssVariable$1(listInactiveSelectionIconForeground$1),listInactiveSelectionForeground:asCssVariable$1(listInactiveSelectionForeground$1),listInactiveFocusBackground:asCssVariable$1(listInactiveFocusBackground$1),listInactiveFocusOutline:asCssVariable$1(listInactiveFocusOutline$1),listHoverBackground:asCssVariable$1(listHoverBackground$1),listHoverForeground:asCssVariable$1(listHoverForeground$1),listDropOverBackground:asCssVariable$1(listDropOverBackground$1),listDropBetweenBackground:asCssVariable$1(listDropBetweenBackground$1),listSelectionOutline:asCssVariable$1(activeContrastBorder$1),listHoverOutline:asCssVariable$1(activeContrastBorder$1),treeIndentGuidesStroke:asCssVariable$1(treeIndentGuidesStroke$1),treeInactiveIndentGuidesStroke:asCssVariable$1(treeInactiveIndentGuidesStroke$1),treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:asCssVariable$1(scrollbarShadow$1),tableColumnsBorder:asCssVariable$1(tableColumnsBorder$1),tableOddRowsBackgroundColor:asCssVariable$1(tableOddRowsBackgroundColor$1)};function getListStyles$1(n){return overrideStyles$1(n,defaultListStyles$1)}const defaultSelectBoxStyles$1={selectBackground:asCssVariable$1(selectBackground$1),selectListBackground:asCssVariable$1(selectListBackground$1),selectForeground:asCssVariable$1(selectForeground$1),decoratorRightForeground:asCssVariable$1(pickerGroupForeground$1),selectBorder:asCssVariable$1(selectBorder$1),focusBorder:asCssVariable$1(focusBorder$1),listFocusBackground:asCssVariable$1(quickInputListFocusBackground$1),listInactiveSelectionIconForeground:asCssVariable$1(quickInputListFocusIconForeground$1),listFocusForeground:asCssVariable$1(quickInputListFocusForeground$1),listFocusOutline:asCssVariableWithDefault$1(activeContrastBorder$1,Color$2.transparent.toString()),listHoverBackground:asCssVariable$1(listHoverBackground$1),listHoverForeground:asCssVariable$1(listHoverForeground$1),listHoverOutline:asCssVariable$1(activeContrastBorder$1),selectListBorder:asCssVariable$1(editorWidgetBorder$1),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0,treeStickyScrollBackground:void 0,treeStickyScrollBorder:void 0,treeStickyScrollShadow:void 0},defaultMenuStyles$1={shadowColor:asCssVariable$1(widgetShadow$1),borderColor:asCssVariable$1(menuBorder$1),foregroundColor:asCssVariable$1(menuForeground$1),backgroundColor:asCssVariable$1(menuBackground$1),selectionForegroundColor:asCssVariable$1(menuSelectionForeground$1),selectionBackgroundColor:asCssVariable$1(menuSelectionBackground$1),selectionBorderColor:asCssVariable$1(menuSelectionBorder$1),separatorColor:asCssVariable$1(menuSeparatorBackground$1),scrollbarShadow:asCssVariable$1(scrollbarShadow$1),scrollbarSliderBackground:asCssVariable$1(scrollbarSliderBackground$1),scrollbarSliderHoverBackground:asCssVariable$1(scrollbarSliderHoverBackground$1),scrollbarSliderActiveBackground:asCssVariable$1(scrollbarSliderActiveBackground$1)};var __decorate$4P=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4C=function(n,e){return function(t,i){e(t,i,n)}};function createAndFillInContextMenuActions$1(n,e,t,i){let r,g,y;if(Array.isArray(n))y=n,r=e,g=t;else{const V=e;y=n.getActions(V),r=t,g=i}const k=ModifierKeyEmitter$1.getInstance(),L=k.keyStatus.altKey||(isWindows$1||isLinux$1)&&k.keyStatus.shiftKey;fillInActions$1(y,r,L,g?V=>V===g:V=>V==="navigation")}function createAndFillInActionBarActions$1(n,e,t,i,r,g){let y,k,L,V,z;if(Array.isArray(n))z=n,y=e,k=t,L=i,V=r;else{const ie=e;z=n.getActions(ie),y=t,k=i,L=r,V=g}fillInActions$1(z,y,!1,typeof k=="string"?ie=>ie===k:k,L,V)}function fillInActions$1(n,e,t,i=y=>y==="navigation",r=()=>!1,g=!1){let y,k;Array.isArray(e)?(y=e,k=e):(y=e.primary,k=e.secondary);const L=new Set;for(const[V,z]of n){let j;i(V)?(j=y,j.length>0&&g&&j.push(new Separator$1)):(j=k,j.length>0&&j.push(new Separator$1));for(let ie of z){t&&(ie=ie instanceof MenuItemAction$1&&ie.alt?ie.alt:ie);const oe=j.push(ie);ie instanceof SubmenuAction$1&&L.add({group:V,action:ie,index:oe-1})}}for(const{group:V,action:z,index:j}of L){const ie=i(V)?y:k,oe=z.actions;r(z,V,ie.length)&&ie.splice(j,1,...oe)}}let MenuEntryActionViewItem$1=class extends ActionViewItem$1{constructor(e,t,i,r,g,y,k,L){super(void 0,e,{icon:!!(e.class||e.item.icon),label:!e.class&&!e.item.icon,draggable:t==null?void 0:t.draggable,keybinding:t==null?void 0:t.keybinding,hoverDelegate:t==null?void 0:t.hoverDelegate}),this._options=t,this._keybindingService=i,this._notificationService=r,this._contextKeyService=g,this._themeService=y,this._contextMenuService=k,this._accessibilityService=L,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new MutableDisposable$1),this._altKey=ModifierKeyEmitter$1.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{var g;const r=!!((g=this._menuItemAction.alt)!=null&&g.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);r!==this._wantsAltCommand&&(this._wantsAltCommand=r,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(addDisposableListener$1(e,"mouseleave",r=>{t=!1,i()})),this._register(addDisposableListener$1(e,"mouseenter",r=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var g;const e=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),t=e&&e.getLabel(),i=this._commandAction.tooltip||this._commandAction.label;let r=t?localize$1("titleAndKb","{0} ({1})",i,t):i;if(!this._wantsAltCommand&&((g=this._menuItemAction.alt)!=null&&g.enabled)){const y=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,k=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),L=k&&k.getLabel(),V=L?localize$1("titleAndKb","{0} ({1})",y,L):y;r=localize$1("titleAndKbAndAlt","{0}\n[{1}] {2}",r,UILabelProvider$1.modifierLabels[OS$1].altKey,V)}return r}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const r=this._commandAction.checked&&isICommandActionToggleInfo$1(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(r)if(ThemeIcon$1.isThemeIcon(r)){const g=ThemeIcon$1.asClassNameArray(r);i.classList.add(...g),this._itemClassDispose.value=toDisposable$1(()=>{i.classList.remove(...g)})}else i.style.backgroundImage=isDark$1(this._themeService.getColorTheme().type)?asCSSUrl$1(r.dark):asCSSUrl$1(r.light),i.classList.add("icon"),this._itemClassDispose.value=combinedDisposable$1(toDisposable$1(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};MenuEntryActionViewItem$1=__decorate$4P([__param$4C(2,IKeybindingService$1),__param$4C(3,INotificationService$1),__param$4C(4,IContextKeyService$1),__param$4C(5,IThemeService$1),__param$4C(6,IContextMenuService$1),__param$4C(7,IAccessibilityService$1)],MenuEntryActionViewItem$1);class TextOnlyMenuEntryActionViewItem extends MenuEntryActionViewItem$1{render(e){var t,i;this.options.label=!0,this.options.icon=!1,super.render(e),e.classList.add("text-only"),e.classList.toggle("use-comma",(i=(t=this._options)==null?void 0:t.useComma)!=null?i:!1)}updateLabel(){var t;const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const i=TextOnlyMenuEntryActionViewItem._symbolPrintEnter(e);(t=this._options)!=null&&t.conversational?this.label.textContent=localize$1({key:"content2",comment:['A label with keybindg like "ESC to dismiss"']},"{1} to {0}",this._action.label,i):this.label.textContent=localize$1({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",this._action.label,i)}}static _symbolPrintEnter(e){var t;return(t=e.getLabel())==null?void 0:t.replace(/\benter\b/gi,"⏎").replace(/\bEscape\b/gi,"Esc")}}let SubmenuEntryActionViewItem$1=class extends DropdownMenuActionViewItem$1{constructor(e,t,i,r,g){var k,L,V;const y={...t,menuAsChild:(k=t==null?void 0:t.menuAsChild)!=null?k:!1,classNames:(L=t==null?void 0:t.classNames)!=null?L:ThemeIcon$1.isThemeIcon(e.item.icon)?ThemeIcon$1.asClassName(e.item.icon):void 0,keybindingProvider:(V=t==null?void 0:t.keybindingProvider)!=null?V:z=>i.lookupKeybinding(z.id)};super(e,{getActions:()=>e.actions},r,y),this._keybindingService=i,this._contextMenuService=r,this._themeService=g}render(e){super.render(e),assertType$1(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!ThemeIcon$1.isThemeIcon(i)){this.element.classList.add("icon");const r=()=>{this.element&&(this.element.style.backgroundImage=isDark$1(this._themeService.getColorTheme().type)?asCSSUrl$1(i.dark):asCSSUrl$1(i.light))};r(),this._register(this._themeService.onDidColorThemeChange(()=>{r()}))}}};SubmenuEntryActionViewItem$1=__decorate$4P([__param$4C(2,IKeybindingService$1),__param$4C(3,IContextMenuService$1),__param$4C(4,IThemeService$1)],SubmenuEntryActionViewItem$1);let DropdownWithDefaultActionViewItem$1=class extends BaseActionViewItem$1{constructor(e,t,i,r,g,y,k,L){var ie,oe,re;super(null,e),this._keybindingService=i,this._notificationService=r,this._contextMenuService=g,this._menuService=y,this._instaService=k,this._storageService=L,this._container=null,this._options=t,this._storageKey="".concat(e.item.submenu.id,"_lastActionId");let V;const z=t!=null&&t.persistLastActionId?L.get(this._storageKey,1):void 0;z&&(V=e.actions.find(ae=>z===ae.id)),V||(V=e.actions[0]),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem$1,V,{keybinding:this._getDefaultActionKeybindingLabel(V)});const j={keybindingProvider:ae=>this._keybindingService.lookupKeybinding(ae.id),...t,menuAsChild:(ie=t==null?void 0:t.menuAsChild)!=null?ie:!0,classNames:(oe=t==null?void 0:t.classNames)!=null?oe:["codicon","codicon-chevron-down"],actionRunner:(re=t==null?void 0:t.actionRunner)!=null?re:new ActionRunner$1};this._dropdown=new DropdownMenuActionViewItem$1(e,e.actions,this._contextMenuService,j),this._register(this._dropdown.actionRunner.onDidRun(ae=>{ae.action instanceof MenuItemAction$1&&this.update(ae.action)}))}update(e){var t;(t=this._options)!=null&&t.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem$1,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends ActionRunner$1{async runAction(i,r){await i.run(void 0)}},this._container&&this._defaultAction.render(prepend$3(this._container,$$u(".action-container")))}_getDefaultActionKeybindingLabel(e){var i;let t;if((i=this._options)!=null&&i.renderKeybindingWithDefaultActionLabel){const r=this._keybindingService.lookupKeybinding(e.id);r&&(t="(".concat(r.getLabel(),")"))}return t}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=$$u(".action-container");this._defaultAction.render(append$4(this._container,t)),this._register(addDisposableListener$1(t,EventType$3.KEY_DOWN,r=>{const g=new StandardKeyboardEvent$1(r);g.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),g.stopPropagation())}));const i=$$u(".dropdown-action-container");this._dropdown.render(append$4(this._container,i)),this._register(addDisposableListener$1(i,EventType$3.KEY_DOWN,r=>{var y;const g=new StandardKeyboardEvent$1(r);g.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(y=this._defaultAction.element)==null||y.focus(),g.stopPropagation())}))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};DropdownWithDefaultActionViewItem$1=__decorate$4P([__param$4C(2,IKeybindingService$1),__param$4C(3,INotificationService$1),__param$4C(4,IContextMenuService$1),__param$4C(5,IMenuService$1),__param$4C(6,IInstantiationService$1),__param$4C(7,IStorageService$1)],DropdownWithDefaultActionViewItem$1);let SubmenuEntrySelectActionViewItem$1=class extends SelectActionViewItem$1{constructor(e,t){super(null,e,e.actions.map(i=>({text:i.id===Separator$1.ID?"─────────":i.label,isDisabled:!i.enabled})),0,t,defaultSelectBoxStyles$1,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(i=>i.checked)))}render(e){super.render(e),e.style.borderColor=asCssVariable$1(selectBorder$1)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};SubmenuEntrySelectActionViewItem$1=__decorate$4P([__param$4C(1,IContextViewService$1)],SubmenuEntrySelectActionViewItem$1);function createActionViewItem$1(n,e,t){return e instanceof MenuItemAction$1?n.createInstance(MenuEntryActionViewItem$1,e,t):e instanceof SubmenuItemAction$1?e.item.isSelection?n.createInstance(SubmenuEntrySelectActionViewItem$1,e):e.item.rememberDefaultAction?n.createInstance(DropdownWithDefaultActionViewItem$1,e,{...t,persistLastActionId:!0}):n.createInstance(SubmenuEntryActionViewItem$1,e,t):void 0}let ActionBar$1=class extends Disposable$1{constructor(e,t={}){var g,y,k,L,V,z,j;super(),this._actionRunnerDisposables=this._register(new DisposableStore$1),this.viewItemDisposables=this._register(new DisposableMap$1),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Emitter$3),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Emitter$3({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Emitter$3),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new Emitter$3),this.onWillRun=this._onWillRun.event,this.options=t,this._context=(g=t.context)!=null?g:null,this._orientation=(y=this.options.orientation)!=null?y:0,this._triggerKeys={keyDown:(L=(k=this.options.triggerKeys)==null?void 0:k.keyDown)!=null?L:!1,keys:(z=(V=this.options.triggerKeys)==null?void 0:V.keys)!=null?z:[3,10]},this._hoverDelegate=(j=t.hoverDelegate)!=null?j:this._register(createInstantHoverDelegate$1()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new ActionRunner$1,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(ie=>this._onDidRun.fire(ie))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(ie=>this._onWillRun.fire(ie))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let i,r;switch(this._orientation){case 0:i=[15],r=[17];break;case 1:i=[16],r=[18],this.domNode.className+=" vertical";break}this._register(addDisposableListener$1(this.domNode,EventType$3.KEY_DOWN,ie=>{const oe=new StandardKeyboardEvent$1(ie);let re=!0;const ae=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;i&&(oe.equals(i[0])||oe.equals(i[1]))?re=this.focusPrevious():r&&(oe.equals(r[0])||oe.equals(r[1]))?re=this.focusNext():oe.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():oe.equals(14)?re=this.focusFirst():oe.equals(13)?re=this.focusLast():oe.equals(2)&&ae instanceof BaseActionViewItem$1&&ae.trapsArrowNavigation?re=this.focusNext(void 0,!0):this.isTriggerKeyEvent(oe)?this._triggerKeys.keyDown?this.doTrigger(oe):this.triggerKeyDown=!0:re=!1,re&&(oe.preventDefault(),oe.stopPropagation())})),this._register(addDisposableListener$1(this.domNode,EventType$3.KEY_UP,ie=>{const oe=new StandardKeyboardEvent$1(ie);this.isTriggerKeyEvent(oe)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(oe)),oe.preventDefault(),oe.stopPropagation()):(oe.equals(2)||oe.equals(1026)||oe.equals(16)||oe.equals(18)||oe.equals(15)||oe.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(trackFocus$1(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(getActiveElement$1()===this.domNode||!isAncestor$3(getActiveElement$1(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const t=this.viewItems.find(i=>i instanceof BaseActionViewItem$1&&i.isEnabled());t instanceof BaseActionViewItem$1&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof BaseActionViewItem$1&&t.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){var e,t;for(let i=0;it.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){var t;if(typeof e=="number")return(t=this.viewItems[e])==null?void 0:t.action;if(isHTMLElement$1(e)){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let i=0;i{const y=document.createElement("li");y.className="action-item",y.setAttribute("role","presentation");let k;const L={hoverDelegate:this._hoverDelegate,...t,isTabList:this.options.ariaRole==="tablist"};this.options.actionViewItemProvider&&(k=this.options.actionViewItemProvider(g,L)),k||(k=new ActionViewItem$1(this.context,g,L)),this.options.allowContextMenu||this.viewItemDisposables.set(k,addDisposableListener$1(y,EventType$3.CONTEXT_MENU,V=>{EventHelper$2.stop(V,!0)})),k.actionRunner=this._actionRunner,k.setActionContext(this.context),k.render(y),this.focusable&&k instanceof BaseActionViewItem$1&&this.viewItems.length===0&&k.setFocusable(!0),r===null||r<0||r>=this.actionsList.children.length?(this.actionsList.appendChild(y),this.viewItems.push(k)):(this.actionsList.insertBefore(y,this.actionsList.children[r]),this.viewItems.splice(r,0,k),r++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=dispose$1(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),clearNode$1(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(e){let t=!1,i;if(e===void 0?t=!0:typeof e=="number"?i=e:typeof e=="boolean"&&(t=e),t&&typeof this.focusedItem>"u"){const r=this.viewItems.findIndex(g=>g.isEnabled());this.focusedItem=r===-1?void 0:r,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e,t){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const i=this.focusedItem;let r;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=i,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,r=this.viewItems[this.focusedItem]}while(this.focusedItem!==i&&(this.options.focusOnlyEnabledItems&&!r.isEnabled()||r.action.id===Separator$1.ID));return this.updateFocus(void 0,void 0,t),!0}focusPrevious(e){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Separator$1.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){var g,y;typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((g=this.viewItems[this.previouslyFocusedItem])==null||g.blur());const r=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(r){let k=!0;isFunction$6(r.focus)||(k=!1),this.options.focusOnlyEnabledItems&&isFunction$6(r.isEnabled)&&!r.isEnabled()&&(k=!1),r.action.id===Separator$1.ID&&(k=!1),k?(i||this.previouslyFocusedItem!==this.focusedItem)&&(r.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),k&&((y=r.showHover)==null||y.call(r))}}doTrigger(e){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof BaseActionViewItem$1){const i=t._context===null||t._context===void 0?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=dispose$1(this.viewItems),this.getContainer().remove(),super.dispose()}};const MENU_MNEMONIC_REGEX$1=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,MENU_ESCAPED_MNEMONIC_REGEX$1=/(&)?(&)([^\s&])/g;var HorizontalDirection$1;(function(n){n[n.Right=0]="Right",n[n.Left=1]="Left"})(HorizontalDirection$1||(HorizontalDirection$1={}));var VerticalDirection$1;(function(n){n[n.Above=0]="Above",n[n.Below=1]="Below"})(VerticalDirection$1||(VerticalDirection$1={}));let Menu$1=class Vc extends ActionBar$1{constructor(e,t,i,r){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const g=document.createElement("div");g.classList.add("monaco-menu"),g.setAttribute("role","presentation"),super(g,{orientation:1,actionViewItemProvider:V=>this.doGetActionViewItem(V,i,y),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...isMacintosh$1||isLinux$1?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=g,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(Gesture$1.addTarget(g)),this._register(addDisposableListener$1(g,EventType$3.KEY_DOWN,V=>{new StandardKeyboardEvent$1(V).equals(2)&&V.preventDefault()})),i.enableMnemonics&&this._register(addDisposableListener$1(g,EventType$3.KEY_DOWN,V=>{const z=V.key.toLocaleLowerCase();if(this.mnemonics.has(z)){EventHelper$2.stop(V,!0);const j=this.mnemonics.get(z);if(j.length===1&&(j[0]instanceof SubmenuMenuActionViewItem$1&&j[0].container&&this.focusItemByElement(j[0].container),j[0].onClick(V)),j.length>1){const ie=j.shift();ie&&ie.container&&(this.focusItemByElement(ie.container),j.push(ie)),this.mnemonics.set(z,j)}}})),isLinux$1&&this._register(addDisposableListener$1(g,EventType$3.KEY_DOWN,V=>{const z=new StandardKeyboardEvent$1(V);z.equals(14)||z.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),EventHelper$2.stop(V,!0)):(z.equals(13)||z.equals(12))&&(this.focusedItem=0,this.focusPrevious(),EventHelper$2.stop(V,!0))})),this._register(addDisposableListener$1(this.domNode,EventType$3.MOUSE_OUT,V=>{const z=V.relatedTarget;isAncestor$3(z,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),V.stopPropagation())})),this._register(addDisposableListener$1(this.actionsList,EventType$3.MOUSE_OVER,V=>{let z=V.target;if(!(!z||!isAncestor$3(z,this.actionsList)||z===this.actionsList)){for(;z.parentElement!==this.actionsList&&z.parentElement!==null;)z=z.parentElement;if(z.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(z),j!==this.focusedItem&&this.updateFocus()}}})),this._register(Gesture$1.addTarget(this.actionsList)),this._register(addDisposableListener$1(this.actionsList,EventType$2.Tap,V=>{let z=V.initialTarget;if(!(!z||!isAncestor$3(z,this.actionsList)||z===this.actionsList)){for(;z.parentElement!==this.actionsList&&z.parentElement!==null;)z=z.parentElement;if(z.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(z),j!==this.focusedItem&&this.updateFocus()}}}));const y={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new DomScrollableElement$1(g,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const k=this.scrollableElement.getDomNode();k.style.position="",this.styleScrollElement(k,r),this._register(addDisposableListener$1(g,EventType$2.Change,V=>{EventHelper$2.stop(V,!0);const z=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:z-V.translationY})})),this._register(addDisposableListener$1(k,EventType$3.MOUSE_UP,V=>{V.preventDefault()}));const L=getWindow$3(e);g.style.maxHeight="".concat(Math.max(10,L.innerHeight-e.getBoundingClientRect().top-35),"px"),t=t.filter((V,z)=>{var j;return(j=i.submenuIds)!=null&&j.has(V.id)?(console.warn("Found submenu cycle: ".concat(V.id)),!1):!(V instanceof Separator$1&&(z===t.length-1||z===0||t[z-1]instanceof Separator$1))}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(V=>!(V instanceof MenuSeparatorActionViewItem$1)).forEach((V,z,j)=>{V.updatePositionInSet(z+1,j.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(isInShadowDOM$1(e)?this.styleSheet=createStyleSheet$1(e):(Vc.globalStyleSheet||(Vc.globalStyleSheet=createStyleSheet$1()),this.styleSheet=Vc.globalStyleSheet)),this.styleSheet.textContent=getMenuWidgetCSS$1(t,isInShadowDOM$1(e))}styleScrollElement(e,t){var L,V;const i=(L=t.foregroundColor)!=null?L:"",r=(V=t.backgroundColor)!=null?V:"",g=t.borderColor?"1px solid ".concat(t.borderColor):"",y="5px",k=t.shadowColor?"0 2px 8px ".concat(t.shadowColor):"";e.style.outline=g,e.style.borderRadius=y,e.style.color=i,e.style.backgroundColor=r,e.style.boxShadow=k}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(addDisposableListener$1(this.element,EventType$3.MOUSE_UP,g=>{if(EventHelper$2.stop(g,!0),isFirefox$3){if(new StandardMouseEvent$1(getWindow$3(this.element),g).rightButton)return;this.onClick(g)}else setTimeout(()=>{this.onClick(g)},0)})),this._register(addDisposableListener$1(this.element,EventType$3.CONTEXT_MENU,g=>{EventHelper$2.stop(g,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=append$4(this.element,$$u("a.action-menu-item")),this._action.id===Separator$1.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts","".concat(this.mnemonic))),this.check=append$4(this.item,$$u("span.menu-item-check"+ThemeIcon$1.asCSSSelector(Codicon$1.menuSelection))),this.check.setAttribute("role","none"),this.label=append$4(this.item,$$u("span.action-label")),this.options.label&&this.options.keybinding&&(append$4(this.item,$$u("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),(e=this.item)==null||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset","".concat(e)),this.item.setAttribute("aria-setsize","".concat(t)))}updateLabel(){var e;if(this.label&&this.options.label){clearNode$1(this.label);let t=stripIcons$1(this.action.label);if(t){const i=cleanMnemonic$1(t);this.options.enableMnemonics||(t=i),this.label.setAttribute("aria-label",i.replace(/&&/g,"&"));const r=MENU_MNEMONIC_REGEX$1.exec(t);if(r){t=escape$1(t),MENU_ESCAPED_MNEMONIC_REGEX$1.lastIndex=0;let g=MENU_ESCAPED_MNEMONIC_REGEX$1.exec(t);for(;g&&g[1];)g=MENU_ESCAPED_MNEMONIC_REGEX$1.exec(t);const y=k=>k.replace(/&&/g,"&");g?this.label.append(ltrim$1(y(t.substr(0,g.index))," "),$$u("u",{"aria-hidden":"true"},g[3]),rtrim$1(y(t.substr(g.index+g[0].length))," ")):this.label.innerText=y(t).trim(),(e=this.item)==null||e.setAttribute("aria-keyshortcuts",(r[1]?r[1]:r[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),e!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?"1px solid ".concat(this.menuStyle.selectionBorderColor):"",g=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t!=null?t:"",this.item.style.backgroundColor=i!=null?i:"",this.item.style.outline=r,this.item.style.outlineOffset=g),this.check&&(this.check.style.color=t!=null?t:"")}},SubmenuMenuActionViewItem$1=class extends BaseMenuActionViewItem$1{constructor(e,t,i,r,g){super(e,e,r,g),this.submenuActions=t,this.parentData=i,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new DisposableStore$1),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:HorizontalDirection$1.Right,vertical:VerticalDirection$1.Below},this.showScheduler=new RunOnceScheduler$1(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new RunOnceScheduler$1(()=>{this.element&&!isAncestor$3(getActiveElement$1(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=append$4(this.item,$$u("span.submenu-indicator"+ThemeIcon$1.asCSSSelector(Codicon$1.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(addDisposableListener$1(this.element,EventType$3.KEY_UP,t=>{const i=new StandardKeyboardEvent$1(t);(i.equals(17)||i.equals(3))&&(EventHelper$2.stop(t,!0),this.createSubmenu(!0))})),this._register(addDisposableListener$1(this.element,EventType$3.KEY_DOWN,t=>{const i=new StandardKeyboardEvent$1(t);getActiveElement$1()===this.item&&(i.equals(17)||i.equals(3))&&EventHelper$2.stop(t,!0)})),this._register(addDisposableListener$1(this.element,EventType$3.MOUSE_OVER,t=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(addDisposableListener$1(this.element,EventType$3.MOUSE_LEAVE,t=>{this.mouseOver=!1})),this._register(addDisposableListener$1(this.element,EventType$3.FOCUS_OUT,t=>{this.element&&!isAncestor$3(getActiveElement$1(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){EventHelper$2.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(t){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,r){const g={top:0,left:0};return g.left=layout$1(e.width,t.width,{position:r.horizontal===HorizontalDirection$1.Right?0:1,offset:i.left,size:i.width}),g.left>=i.left&&g.left{new StandardKeyboardEvent$1(z).equals(15)&&(EventHelper$2.stop(z,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(addDisposableListener$1(this.submenuContainer,EventType$3.KEY_DOWN,z=>{new StandardKeyboardEvent$1(z).equals(15)&&EventHelper$2.stop(z,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&((t=this.item)==null||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t!=null?t:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}},MenuSeparatorActionViewItem$1=class extends ActionViewItem$1{constructor(e,t,i,r){super(e,t,i),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?"".concat(this.menuStyles.separatorColor):"")}};function cleanMnemonic$1(n){const e=MENU_MNEMONIC_REGEX$1,t=e.exec(n);if(!t)return n;const i=!t[1];return n.replace(e,i?"$2$3":"").trim()}function formatRule$1(n){const e=getCodiconFontCharacters$1()[n.id];return".codicon-".concat(n.id,":before { content: '\\").concat(e.toString(16),"'; }")}function getMenuWidgetCSS$1(n,e){let t="\n.monaco-menu {\n font-size: 13px;\n border-radius: 5px;\n min-width: 160px;\n}\n\n".concat(formatRule$1(Codicon$1.menuSelection),"\n").concat(formatRule$1(Codicon$1.menuSubmenu),"\n\n.monaco-menu .monaco-action-bar {\n text-align: right;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n display: flex;\n margin: 0 auto;\n padding: 0;\n width: 100%;\n justify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n display: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n flex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n cursor: pointer;\n display: inline-block;\n transition: transform 50ms ease;\n position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n cursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n display: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n display: flex;\n align-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n font-size: 11px;\n margin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n color: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n text-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n display: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n display: block;\n border-bottom: 1px solid var(--vscode-menu-separatorBackground);\n padding-top: 1px;\n padding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n margin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n flex: 1;\n max-width: 170px;\n min-width: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n margin-left: 0;\n overflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n display: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n padding: 0;\n transform: none;\n display: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n transform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n flex: 1 1 auto;\n display: flex;\n height: 2em;\n align-items: center;\n position: relative;\n margin: 0 4px;\n border-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n opacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n flex: 1 1 auto;\n text-decoration: none;\n padding: 0 1em;\n background: none;\n font-size: 12px;\n line-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n display: inline-block;\n flex: 2 1 auto;\n padding: 0 1em;\n text-align: right;\n font-size: 12px;\n line-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n font-size: 16px !important;\n display: flex;\n align-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n margin-left: auto;\n margin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n opacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n display: inline-block;\n box-sizing: border-box;\n margin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n position: static;\n overflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n position: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n width: 100%;\n height: 0px !important;\n opacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n padding: 0.7em 1em 0.1em 1em;\n font-weight: bold;\n opacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n color: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n position: absolute;\n visibility: hidden;\n width: 1em;\n height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n visibility: visible;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n outline: 0;\n border: none;\n animation: fadeIn 0.083s linear;\n -webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n outline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n box-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n background: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n padding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n height: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n font-size: inherit;\n padding: 0 2em;\n max-height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n font-size: inherit;\n width: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n font-size: inherit;\n margin: 5px 0 !important;\n padding: 0;\n border-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n margin-left: 0;\n margin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n font-size: 60%;\n padding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n height: 100%;\n mask-size: 10px 10px;\n -webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n cursor: default;\n}");if(e){t+="\n /* Arrows */\n .monaco-scrollable-element > .scrollbar > .scra {\n cursor: pointer;\n font-size: 11px !important;\n }\n\n .monaco-scrollable-element > .visible {\n opacity: 1;\n\n /* Background rule added for IE9 - to allow clicks on dom node */\n background:rgba(0,0,0,0);\n\n transition: opacity 100ms linear;\n }\n .monaco-scrollable-element > .invisible {\n opacity: 0;\n pointer-events: none;\n }\n .monaco-scrollable-element > .invisible.fade {\n transition: opacity 800ms linear;\n }\n\n /* Scrollable Content Inset Shadow */\n .monaco-scrollable-element > .shadow {\n position: absolute;\n display: none;\n }\n .monaco-scrollable-element > .shadow.top {\n display: block;\n top: 0;\n left: 3px;\n height: 3px;\n width: 100%;\n }\n .monaco-scrollable-element > .shadow.left {\n display: block;\n top: 3px;\n left: 0;\n height: 100%;\n width: 3px;\n }\n .monaco-scrollable-element > .shadow.top-left-corner {\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n width: 3px;\n }\n ";const i=n.scrollbarShadow;i&&(t+="\n .monaco-scrollable-element > .shadow.top {\n box-shadow: ".concat(i," 0 6px 6px -6px inset;\n }\n\n .monaco-scrollable-element > .shadow.left {\n box-shadow: ").concat(i," 6px 0 6px -6px inset;\n }\n\n .monaco-scrollable-element > .shadow.top.left {\n box-shadow: ").concat(i," 6px 6px 6px -6px inset;\n }\n "));const r=n.scrollbarSliderBackground;r&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider {\n background: ".concat(r,";\n }\n "));const g=n.scrollbarSliderHoverBackground;g&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider:hover {\n background: ".concat(g,";\n }\n "));const y=n.scrollbarSliderActiveBackground;y&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider.active {\n background: ".concat(y,";\n }\n "))}return t}let ContextMenuHandler$1=class{constructor(e,t,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=getActiveElement$1();let i;const r=isHTMLElement$1(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:g=>{var z;this.lastContainer=g;const y=e.getMenuClassName?e.getMenuClassName():"";y&&(g.className+=" "+y),this.options.blockMouse&&(this.block=g.appendChild($$u(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(z=this.blockDisposable)==null||z.dispose(),this.blockDisposable=addDisposableListener$1(this.block,EventType$3.MOUSE_DOWN,j=>j.stopPropagation()));const k=new DisposableStore$1,L=e.actionRunner||new ActionRunner$1;L.onWillRun(j=>this.onActionRun(j,!e.skipTelemetry),this,k),L.onDidRun(this.onDidActionRun,this,k),i=new Menu$1(g,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:L,getKeyBinding:e.getKeyBinding?e.getKeyBinding:j=>this.keybindingService.lookupKeybinding(j.id)},defaultMenuStyles$1),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,k),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,k);const V=getWindow$3(g);return k.add(addDisposableListener$1(V,EventType$3.BLUR,()=>this.contextViewService.hideContextView(!0))),k.add(addDisposableListener$1(V,EventType$3.MOUSE_DOWN,j=>{if(j.defaultPrevented)return;const ie=new StandardMouseEvent$1(V,j);let oe=ie.target;if(!ie.rightButton){for(;oe;){if(oe===g)return;oe=oe.parentElement}this.contextViewService.hideContextView(!0)}})),combinedDisposable$1(k,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:g=>{var y,k,L;(y=e.onHide)==null||y.call(e,!!g),this.block&&(this.block.remove(),this.block=null),(k=this.blockDisposable)==null||k.dispose(),this.blockDisposable=null,this.lastContainer&&(getActiveElement$1()===this.lastContainer||isAncestor$3(getActiveElement$1(),this.lastContainer))&&((L=this.focusToReturn)==null||L.focus()),this.lastContainer=null}},r,!!r)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!isCancellationError$1(e.error)&&this.notificationService.error(e.error)}};var __decorate$4O=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4B=function(n,e){return function(t,i){e(t,i,n)}};let ContextMenuService$1=class extends Disposable$1{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new ContextMenuHandler$1(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,r,g,y){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=r,this.menuService=g,this.contextKeyService=y,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new Emitter$3),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new Emitter$3)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=ContextMenuMenuDelegate$1.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)==null||i.call(e,t),this._onDidHideContextMenu.fire()}}),ModifierKeyEmitter$1.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};ContextMenuService$1=__decorate$4O([__param$4B(0,ITelemetryService$1),__param$4B(1,INotificationService$1),__param$4B(2,IContextViewService$1),__param$4B(3,IKeybindingService$1),__param$4B(4,IMenuService$1),__param$4B(5,IContextKeyService$1)],ContextMenuService$1);var ContextMenuMenuDelegate$1;(function(n){function e(i){return i&&i.menuId instanceof MenuId$1}function t(i,r,g){if(!e(i))return i;const{menuId:y,menuActionOptions:k,contextKeyService:L}=i;return{...i,getActions:()=>{const V=[];if(y){const z=r.getMenuActions(y,L!=null?L:g,k);createAndFillInContextMenuActions$1(z,V)}return i.getActions?Separator$1.join(i.getActions(),V):V}}}n.transform=t})(ContextMenuMenuDelegate$1||(ContextMenuMenuDelegate$1={}));var EditorOpenSource$1;(function(n){n[n.API=0]="API",n[n.USER=1]="USER"})(EditorOpenSource$1||(EditorOpenSource$1={}));var __decorate$4N=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4A=function(n,e){return function(t,i){e(t,i,n)}};let CommandOpener$1=class{constructor(e){this._commandService=e}async open(e,t){if(!matchesScheme$1(e,Schemas$1.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=URI$1.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=parse$4(decodeURIComponent(e.query))}catch(r){try{i=parse$4(e.query)}catch(g){}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};CommandOpener$1=__decorate$4N([__param$4A(0,ICommandService$1)],CommandOpener$1);let EditorOpener$1=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=URI$1.parse(e));const{selection:i,uri:r}=extractSelection$1(e);return e=r,e.scheme===Schemas$1.file&&(e=normalizePath$1(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?EditorOpenSource$1.USER:EditorOpenSource$1.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};EditorOpener$1=__decorate$4N([__param$4A(0,ICodeEditorService$1)],EditorOpener$1);let OpenerService$1=class{constructor(e,t){this._openers=new LinkedList$1,this._validators=new LinkedList$1,this._resolvers=new LinkedList$1,this._resolvedUriTargets=new ResourceMap$1(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new LinkedList$1,this._defaultExternalOpener={openExternal:async i=>(matchesSomeScheme$1(i,Schemas$1.http,Schemas$1.https)?windowOpenNoOpener$1(i):mainWindow$1.location.href=i,!0)},this._openers.push({open:async(i,r)=>r!=null&&r.openExternal||matchesSomeScheme$1(i,Schemas$1.mailto,Schemas$1.http,Schemas$1.https,Schemas$1.vsls)?(await this._doOpenExternal(i,r),!0):!1}),this._openers.push(new CommandOpener$1(t)),this._openers.push(new EditorOpener$1(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var g;const i=typeof e=="string"?URI$1.parse(e):e,r=(g=this._resolvedUriTargets.get(i))!=null?g:e;for(const y of this._validators)if(!await y.shouldOpen(r,t))return!1;for(const y of this._openers)if(await y.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const r=await i.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch(r){}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?URI$1.parse(e):e;let r;try{r=(await this.resolveExternalUri(i,t)).resolved}catch(y){r=i}let g;if(typeof e=="string"&&i.toString()===r.toString()?g=e:g=encodeURI(r.toString(!0)),t!=null&&t.allowContributedOpeners){const y=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const k of this._externalOpeners)if(await k.openExternal(g,{sourceUri:i,preferredOpenerId:y},CancellationToken$1.None))return!0}return this._defaultExternalOpener.openExternal(g,{sourceUri:i},CancellationToken$1.None)}dispose(){this._validators.clear()}};OpenerService$1=__decorate$4N([__param$4A(0,ICodeEditorService$1),__param$4A(1,ICommandService$1)],OpenerService$1);const IEditorWorkerService$1=createDecorator$1("editorWorkerService");var MarkerSeverity$4;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(MarkerSeverity$4||(MarkerSeverity$4={}));(function(n){function e(y,k){return k-y}n.compare=e;const t=Object.create(null);t[n.Error]=localize$1("sev.error","Error"),t[n.Warning]=localize$1("sev.warning","Warning"),t[n.Info]=localize$1("sev.info","Info");function i(y){return t[y]||""}n.toString=i;function r(y){switch(y){case Severity$5.Error:return n.Error;case Severity$5.Warning:return n.Warning;case Severity$5.Info:return n.Info;case Severity$5.Ignore:return n.Hint}}n.fromSeverity=r;function g(y){switch(y){case n.Error:return Severity$5.Error;case n.Warning:return Severity$5.Warning;case n.Info:return Severity$5.Info;case n.Hint:return Severity$5.Ignore}}n.toSeverity=g})(MarkerSeverity$4||(MarkerSeverity$4={}));var IMarkerData$1;(function(n){const e="";function t(r){return i(r,!0)}n.makeKey=t;function i(r,g){const y=[e];return r.source?y.push(r.source.replace("¦","\\¦")):y.push(e),r.code?typeof r.code=="string"?y.push(r.code.replace("¦","\\¦")):y.push(r.code.value.replace("¦","\\¦")):y.push(e),r.severity!==void 0&&r.severity!==null?y.push(MarkerSeverity$4.toString(r.severity)):y.push(e),r.message&&g?y.push(r.message.replace("¦","\\¦")):y.push(e),r.startLineNumber!==void 0&&r.startLineNumber!==null?y.push(r.startLineNumber.toString()):y.push(e),r.startColumn!==void 0&&r.startColumn!==null?y.push(r.startColumn.toString()):y.push(e),r.endLineNumber!==void 0&&r.endLineNumber!==null?y.push(r.endLineNumber.toString()):y.push(e),r.endColumn!==void 0&&r.endColumn!==null?y.push(r.endColumn.toString()):y.push(e),y.push(e),y.join("¦")}n.makeKeyOptionalMessage=i})(IMarkerData$1||(IMarkerData$1={}));const IMarkerService$1=createDecorator$1("markerService"),editorLineHighlight$1=registerColor$1("editor.lineHighlightBackground",null,localize$1("lineHighlight","Background color for the highlight of line at the cursor position.")),editorLineHighlightBorder$1=registerColor$1("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:contrastBorder$1},localize$1("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));registerColor$1("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},localize$1("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("rangeHighlightBorder","Background color of the border around highlighted ranges."));registerColor$1("editor.symbolHighlightBackground",{dark:editorFindMatchHighlight$1,light:editorFindMatchHighlight$1,hcDark:null,hcLight:null},localize$1("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("symbolHighlightBorder","Background color of the border around highlighted symbols."));const editorCursorForeground$1=registerColor$1("editorCursor.foreground",{dark:"#AEAFAD",light:Color$2.black,hcDark:Color$2.white,hcLight:"#0F4A85"},localize$1("caret","Color of the editor cursor.")),editorCursorBackground$1=registerColor$1("editorCursor.background",null,localize$1("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),editorMultiCursorPrimaryForeground$1=registerColor$1("editorMultiCursor.primary.foreground",editorCursorForeground$1,localize$1("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),editorMultiCursorPrimaryBackground$1=registerColor$1("editorMultiCursor.primary.background",editorCursorBackground$1,localize$1("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),editorMultiCursorSecondaryForeground$1=registerColor$1("editorMultiCursor.secondary.foreground",editorCursorForeground$1,localize$1("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),editorMultiCursorSecondaryBackground$1=registerColor$1("editorMultiCursor.secondary.background",editorCursorBackground$1,localize$1("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),editorWhitespaces$1=registerColor$1("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},localize$1("editorWhitespaces","Color of whitespace characters in the editor.")),editorLineNumbers$1=registerColor$1("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Color$2.white,hcLight:"#292929"},localize$1("editorLineNumbers","Color of editor line numbers.")),deprecatedEditorIndentGuides$1=registerColor$1("editorIndentGuide.background",editorWhitespaces$1,localize$1("editorIndentGuides","Color of the editor indentation guides."),!1,localize$1("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),deprecatedEditorActiveIndentGuides$1=registerColor$1("editorIndentGuide.activeBackground",editorWhitespaces$1,localize$1("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,localize$1("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),editorIndentGuide1$1=registerColor$1("editorIndentGuide.background1",deprecatedEditorIndentGuides$1,localize$1("editorIndentGuides1","Color of the editor indentation guides (1).")),editorIndentGuide2$1=registerColor$1("editorIndentGuide.background2","#00000000",localize$1("editorIndentGuides2","Color of the editor indentation guides (2).")),editorIndentGuide3$1=registerColor$1("editorIndentGuide.background3","#00000000",localize$1("editorIndentGuides3","Color of the editor indentation guides (3).")),editorIndentGuide4$1=registerColor$1("editorIndentGuide.background4","#00000000",localize$1("editorIndentGuides4","Color of the editor indentation guides (4).")),editorIndentGuide5$1=registerColor$1("editorIndentGuide.background5","#00000000",localize$1("editorIndentGuides5","Color of the editor indentation guides (5).")),editorIndentGuide6$1=registerColor$1("editorIndentGuide.background6","#00000000",localize$1("editorIndentGuides6","Color of the editor indentation guides (6).")),editorActiveIndentGuide1$1=registerColor$1("editorIndentGuide.activeBackground1",deprecatedEditorActiveIndentGuides$1,localize$1("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),editorActiveIndentGuide2$1=registerColor$1("editorIndentGuide.activeBackground2","#00000000",localize$1("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),editorActiveIndentGuide3$1=registerColor$1("editorIndentGuide.activeBackground3","#00000000",localize$1("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),editorActiveIndentGuide4$1=registerColor$1("editorIndentGuide.activeBackground4","#00000000",localize$1("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),editorActiveIndentGuide5$1=registerColor$1("editorIndentGuide.activeBackground5","#00000000",localize$1("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),editorActiveIndentGuide6$1=registerColor$1("editorIndentGuide.activeBackground6","#00000000",localize$1("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),deprecatedEditorActiveLineNumber$1=registerColor$1("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("editorActiveLineNumber","Color of editor active line number"),!1,localize$1("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));registerColor$1("editorLineNumber.activeForeground",deprecatedEditorActiveLineNumber$1,localize$1("editorActiveLineNumber","Color of editor active line number"));const editorDimmedLineNumber$1=registerColor$1("editorLineNumber.dimmedForeground",null,localize$1("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));registerColor$1("editorRuler.foreground",{dark:"#5A5A5A",light:Color$2.lightgrey,hcDark:Color$2.white,hcLight:"#292929"},localize$1("editorRuler","Color of the editor rulers."));registerColor$1("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},localize$1("editorCodeLensForeground","Foreground color of editor CodeLens"));registerColor$1("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},localize$1("editorBracketMatchBackground","Background color behind matching brackets"));registerColor$1("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorBracketMatchBorder","Color for matching brackets boxes"));const editorOverviewRulerBorder$1=registerColor$1("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},localize$1("editorOverviewRulerBorder","Color of the overview ruler border.")),editorOverviewRulerBackground$1=registerColor$1("editorOverviewRuler.background",null,localize$1("editorOverviewRulerBackground","Background color of the editor overview ruler."));registerColor$1("editorGutter.background",editorBackground$1,localize$1("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers."));registerColor$1("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Color$2.fromHex("#fff").transparent(.8),hcLight:contrastBorder$1},localize$1("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const editorUnnecessaryCodeOpacity$1=registerColor$1("editorUnnecessaryCode.opacity",{dark:Color$2.fromHex("#000a"),light:Color$2.fromHex("#0007"),hcDark:null,hcLight:null},localize$1("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."));registerColor$1("editorGhostText.border",{dark:null,light:null,hcDark:Color$2.fromHex("#fff").transparent(.8),hcLight:Color$2.fromHex("#292929").transparent(.8)},localize$1("editorGhostTextBorder","Border color of ghost text in the editor."));const ghostTextForeground=registerColor$1("editorGhostText.foreground",{dark:Color$2.fromHex("#ffffff56"),light:Color$2.fromHex("#0007"),hcDark:null,hcLight:null},localize$1("editorGhostTextForeground","Foreground color of the ghost text in the editor."));registerColor$1("editorGhostText.background",null,localize$1("editorGhostTextBackground","Background color of the ghost text in the editor."));const rulerRangeDefault$1=new Color$2(new RGBA$2(0,122,204,.6)),overviewRulerRangeHighlight$1=registerColor$1("editorOverviewRuler.rangeHighlightForeground",rulerRangeDefault$1,localize$1("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerError$1=registerColor$1("editorOverviewRuler.errorForeground",{dark:new Color$2(new RGBA$2(255,18,18,.7)),light:new Color$2(new RGBA$2(255,18,18,.7)),hcDark:new Color$2(new RGBA$2(255,50,50,1)),hcLight:"#B5200D"},localize$1("overviewRuleError","Overview ruler marker color for errors.")),overviewRulerWarning$1=registerColor$1("editorOverviewRuler.warningForeground",{dark:editorWarningForeground$1,light:editorWarningForeground$1,hcDark:editorWarningBorder$1,hcLight:editorWarningBorder$1},localize$1("overviewRuleWarning","Overview ruler marker color for warnings.")),overviewRulerInfo$1=registerColor$1("editorOverviewRuler.infoForeground",{dark:editorInfoForeground$1,light:editorInfoForeground$1,hcDark:editorInfoBorder$1,hcLight:editorInfoBorder$1},localize$1("overviewRuleInfo","Overview ruler marker color for infos.")),editorBracketHighlightingForeground1$1=registerColor$1("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},localize$1("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground2$1=registerColor$1("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},localize$1("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground3$1=registerColor$1("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},localize$1("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground4$1=registerColor$1("editorBracketHighlight.foreground4","#00000000",localize$1("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground5$1=registerColor$1("editorBracketHighlight.foreground5","#00000000",localize$1("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground6$1=registerColor$1("editorBracketHighlight.foreground6","#00000000",localize$1("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),editorBracketHighlightingUnexpectedBracketForeground$1=registerColor$1("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Color$2(new RGBA$2(255,18,18,.8)),light:new Color$2(new RGBA$2(255,18,18,.8)),hcDark:"new Color(new RGBA(255, 50, 50, 1))",hcLight:"#B5200D"},localize$1("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),editorBracketPairGuideBackground1$1=registerColor$1("editorBracketPairGuide.background1","#00000000",localize$1("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground2$1=registerColor$1("editorBracketPairGuide.background2","#00000000",localize$1("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground3$1=registerColor$1("editorBracketPairGuide.background3","#00000000",localize$1("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground4$1=registerColor$1("editorBracketPairGuide.background4","#00000000",localize$1("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground5$1=registerColor$1("editorBracketPairGuide.background5","#00000000",localize$1("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground6$1=registerColor$1("editorBracketPairGuide.background6","#00000000",localize$1("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground1$1=registerColor$1("editorBracketPairGuide.activeBackground1","#00000000",localize$1("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground2$1=registerColor$1("editorBracketPairGuide.activeBackground2","#00000000",localize$1("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground3$1=registerColor$1("editorBracketPairGuide.activeBackground3","#00000000",localize$1("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground4$1=registerColor$1("editorBracketPairGuide.activeBackground4","#00000000",localize$1("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground5$1=registerColor$1("editorBracketPairGuide.activeBackground5","#00000000",localize$1("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground6$1=registerColor$1("editorBracketPairGuide.activeBackground6","#00000000",localize$1("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));registerColor$1("editorUnicodeHighlight.border",editorWarningForeground$1,localize$1("editorUnicodeHighlight.border","Border color used to highlight unicode characters."));registerColor$1("editorUnicodeHighlight.background",editorWarningBackground$1,localize$1("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorBackground$1),i=n.getColor(editorLineHighlight$1),r=i&&!i.isTransparent()?i:t;r&&e.addRule(".monaco-editor .inputarea.ime-input { background-color: ".concat(r,"; }"))});function diffSets$1(n,e){const t=[],i=[];for(const r of n)e.has(r)||t.push(r);for(const r of e)n.has(r)||i.push(r);return{removed:t,added:i}}function intersection$1(n,e){const t=new Set;for(const i of e)n.has(i)&&t.add(i);return t}var __decorate$4M=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4z=function(n,e){return function(t,i){e(t,i,n)}};let MarkerDecorationsService$1=class extends Disposable$1{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new Emitter$3),this._markerDecorations=new ResourceMap$1,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new MarkerDecorations$1(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var i;const t=this._markerDecorations.get(e.uri);t&&(t.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===Schemas$1.inMemory||e.uri.scheme===Schemas$1.internal||e.uri.scheme===Schemas$1.vscode)&&((i=this._markerService)==null||i.read({resource:e.uri}).map(r=>r.owner).forEach(r=>this._markerService.remove(r,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};MarkerDecorationsService$1=__decorate$4M([__param$4z(0,IModelService$1),__param$4z(1,IMarkerService$1)],MarkerDecorationsService$1);let MarkerDecorations$1=class extends Disposable$1{constructor(e){super(),this.model=e,this._map=new BidirectionalMap$1,this._register(toDisposable$1(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=diffSets$1(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const r=i.map(k=>this._map.get(k)),g=t.map(k=>({range:this._createDecorationRange(this.model,k),options:this._createDecorationOption(k)})),y=this.model.deltaDecorations(r,g);for(const k of i)this._map.delete(k);for(let k=0;k=r)return i;const g=e.getWordAtPosition(i.getStartPosition());g&&(i=new Range$5(i.startLineNumber,g.startColumn,i.endLineNumber,g.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r=0:!1}};const IMarkerDecorationsService$1=createDecorator$1("markerDecorationsService");let CursorColumns$1=class Ku{static _nextVisibleColumn(e,t,i){return e===9?Ku.nextRenderTabStop(t,i):isFullWidthCharacter$1(e)||isEmojiImprecise$1(e)?t+2:t+1}static visibleColumnFromColumn(e,t,i){const r=Math.min(t-1,e.length),g=e.substring(0,r),y=new GraphemeIterator$1(g);let k=0;for(;!y.eol();){const L=getNextCodePoint$1(g,r,y.offset);y.nextGraphemeLength(),k=this._nextVisibleColumn(L,k,i)}return k}static columnFromVisibleColumn(e,t,i){if(t<=0)return 1;const r=e.length,g=new GraphemeIterator$1(e);let y=0,k=1;for(;!g.eol();){const L=getNextCodePoint$1(e,r,g.offset);g.nextGraphemeLength();const V=this._nextVisibleColumn(L,y,i),z=g.offset+1;if(V>=t){const j=t-y;return V-t=factor$1&&(t=t-n%factor$1),t}function sumLengths$1(n,e){return n.reduce((t,i)=>lengthAdd$1(t,e(i)),lengthZero$1)}function lengthEquals$1(n,e){return n===e}function lengthDiffNonNegative$1(n,e){const t=n,i=e;if(i-t<=0)return lengthZero$1;const g=Math.floor(t/factor$1),y=Math.floor(i/factor$1),k=i-y*factor$1;if(g===y){const L=t-g*factor$1;return toLength$1(0,k-L)}else return toLength$1(y-g,k)}function lengthLessThan$1(n,e){return n=e}function positionToLength$1(n){return toLength$1(n.lineNumber-1,n.column-1)}function lengthsToRange$1(n,e){const t=n,i=Math.floor(t/factor$1),r=t-i*factor$1,g=e,y=Math.floor(g/factor$1),k=g-y*factor$1;return new Range$5(i+1,r+1,y+1,k+1)}function lengthOfString$1(n){const e=splitLines$1(n);return toLength$1(e.length-1,e[e.length-1].length)}let TextEditInfo$1=class ju{static fromModelContentChanges(e){return e.map(i=>{const r=Range$5.lift(i.range);return new ju(positionToLength$1(r.getStartPosition()),positionToLength$1(r.getEndPosition()),lengthOfString$1(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return"[".concat(lengthToObj$1(this.startOffset),"...").concat(lengthToObj$1(this.endOffset),") -> ").concat(lengthToObj$1(this.newLength))}},BeforeEditPositionMapper$1=class{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>TextEditInfoCache$1.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:lengthDiffNonNegative$1(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?toLength$1(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):toLength$1(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=lengthToObj$1(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?toLength$1(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):toLength$1(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(r===0){const y=1<this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const g=this.lineTokens,y=g.getCount();let k=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const r=lengthDiff$1(e,t,this.lineIdx,this.lineCharOffset);return new Token$4(r,0,-1,SmallImmutableSet$1.getEmpty(),new TextAstNode$1(r))}},FastTokenizer$1=class{constructor(e,t){this.text=e,this._offset=lengthZero$1,this.idx=0;const i=t.getRegExpStr(),r=i?new RegExp(i+"|\n","gi"):null,g=[];let y,k=0,L=0,V=0,z=0;const j=[];for(let re=0;re<60;re++)j.push(new Token$4(toLength$1(0,re),0,-1,SmallImmutableSet$1.getEmpty(),new TextAstNode$1(toLength$1(0,re))));const ie=[];for(let re=0;re<60;re++)ie.push(new Token$4(toLength$1(1,re),0,-1,SmallImmutableSet$1.getEmpty(),new TextAstNode$1(toLength$1(1,re))));if(r)for(r.lastIndex=0;(y=r.exec(e))!==null;){const re=y.index,ae=y[0];if(ae==="\n")k++,L=re+1;else{if(V!==re){let le;if(z===k){const de=re-V;if(deprepareBracketForRegExp$2(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}};function prepareBracketForRegExp$2(n){let e=escapeRegExpCharacters$1(n);return/^[\w ]+/.test(n)&&(e="\\b".concat(e)),/[\w ]+$/.test(n)&&(e="".concat(e,"\\b")),e}let LanguageAgnosticBracketTokens$1=class{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=BracketTokens$1.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}};function concat23Trees$1(n){if(n.length===0)return null;if(n.length===1)return n[0];let e=0;function t(){if(e>=n.length)return null;const y=e,k=n[y].listHeight;for(e++;e=2?concat23TreesOfSameHeight$1(y===0&&e===n.length?n:n.slice(y,e),!1):n[y]}let i=t(),r=t();if(!r)return i;for(let y=t();y;y=t())heightDiff$1(i,r)<=heightDiff$1(r,y)?(i=concat$2(i,r),r=y):r=concat$2(r,y);return concat$2(i,r)}function concat23TreesOfSameHeight$1(n,e=!1){if(n.length===0)return null;if(n.length===1)return n[0];let t=n.length;for(;t>3;){const i=t>>1;for(let r=0;r=3?n[2]:null,e)}function heightDiff$1(n,e){return Math.abs(n.listHeight-e.listHeight)}function concat$2(n,e){return n.listHeight===e.listHeight?ListAstNode$1.create23(n,e,null,!1):n.listHeight>e.listHeight?append$3(n,e):prepend$2(e,n)}function append$3(n,e){n=n.toMutable();let t=n;const i=[];let r;for(;;){if(e.listHeight===t.listHeight){r=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let g=i.length-1;g>=0;g--){const y=i[g];r?y.childrenLength>=3?r=ListAstNode$1.create23(y.unappendChild(),r,null,!1):(y.appendChildOfSameHeight(r),r=void 0):y.handleChildrenChanged()}return r?ListAstNode$1.create23(n,r,null,!1):n}function prepend$2(n,e){n=n.toMutable();let t=n;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let r=e;for(let g=i.length-1;g>=0;g--){const y=i[g];r?y.childrenLength>=3?r=ListAstNode$1.create23(r,y.unprependChild(),null,!1):(y.prependChildOfSameHeight(r),r=void 0):y.handleChildrenChanged()}return r?ListAstNode$1.create23(r,n,null,!1):n}let NodeReader$1=class{constructor(e){this.lastOffset=lengthZero$1,this.nextNodes=[e],this.offsets=[lengthZero$1],this.idxs=[]}readLongestNodeAt(e,t){if(lengthLessThan$1(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=lastOrUndefined$1(this.nextNodes);if(!i)return;const r=lastOrUndefined$1(this.offsets);if(lengthLessThan$1(e,r))return;if(lengthLessThan$1(r,e))if(lengthAdd$1(r,i.length)<=e)this.nextNodeAfterCurrent();else{const g=getNextChildIdx$1(i);g!==-1?(this.nextNodes.push(i.getChild(g)),this.offsets.push(r),this.idxs.push(g)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const g=getNextChildIdx$1(i);if(g===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(g)),this.offsets.push(r),this.idxs.push(g)}}}}nextNodeAfterCurrent(){for(;;){const e=lastOrUndefined$1(this.offsets),t=lastOrUndefined$1(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=lastOrUndefined$1(this.nextNodes),r=getNextChildIdx$1(i,this.idxs[this.idxs.length-1]);if(r!==-1){this.nextNodes.push(i.getChild(r)),this.offsets.push(lengthAdd$1(e,t.length)),this.idxs[this.idxs.length-1]=r;break}else this.idxs.pop()}}};function getNextChildIdx$1(n,e=-1){for(;;){if(e++,e>=n.childrenLength)return-1;if(n.getChild(e))return e}}function lastOrUndefined$1(n){return n.length>0?n[n.length-1]:void 0}function parseDocument$1(n,e,t,i){return new Parser$2(n,e,t,i).parseDocument()}let Parser$2=class{constructor(e,t,i,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,i&&r)throw new Error("Not supported");this.oldNodeReader=i?new NodeReader$1(i):void 0,this.positionMapper=new BeforeEditPositionMapper$1(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(SmallImmutableSet$1.getEmpty(),0);return e||(e=ListAstNode$1.getEmpty()),e}parseList(e,t){const i=[];for(;;){let g=this.tryReadChildFromCache(e);if(!g){const y=this.tokenizer.peek();if(!y||y.kind===2&&y.bracketIds.intersects(e))break;g=this.parseChild(e,t+1)}g.kind===4&&g.childrenLength===0||i.push(g)}return this.oldNodeReader?concat23Trees$1(i):concat23TreesOfSameHeight$1(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!lengthIsZero$1(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),r=>t!==null&&!lengthLessThan$1(r.length,t)?!1:r.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new InvalidBracketAstNode$1(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new TextAstNode$1(i.length);const r=e.merge(i.bracketIds),g=this.parseList(r,t+1),y=this.tokenizer.peek();return y&&y.kind===2&&(y.bracketId===i.bracketId||y.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),PairAstNode$1.create(i.astNode,g,y.astNode)):PairAstNode$1.create(i.astNode,g,null)}default:throw new Error("unexpected")}}};function combineTextEditInfos$1(n,e){if(n.length===0)return e;if(e.length===0)return n;const t=new ArrayQueue$1(toLengthMapping$1(n)),i=toLengthMapping$1(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=t.dequeue();function g(V){if(V===void 0){const j=t.takeWhile(ie=>!0)||[];return r&&j.unshift(r),j}const z=[];for(;r&&!lengthIsZero$1(V);){const[j,ie]=r.splitAt(V);z.push(j),V=lengthDiffNonNegative$1(j.lengthAfter,V),r=ie!=null?ie:t.dequeue()}return lengthIsZero$1(V)||z.push(new LengthMapping$1(!1,V,V)),z}const y=[];function k(V,z,j){if(y.length>0&&lengthEquals$1(y[y.length-1].endOffset,V)){const ie=y[y.length-1];y[y.length-1]=new TextEditInfo$1(ie.startOffset,z,lengthAdd$1(ie.newLength,j))}else y.push({startOffset:V,endOffset:z,newLength:j})}let L=lengthZero$1;for(const V of i){const z=g(V.lengthBefore);if(V.modified){const j=sumLengths$1(z,oe=>oe.lengthBefore),ie=lengthAdd$1(L,j);k(L,ie,V.lengthAfter),L=ie}else for(const j of z){const ie=L;L=lengthAdd$1(L,j.lengthBefore),j.modified&&k(ie,L,j.lengthAfter)}}return y}let LengthMapping$1=class Sc{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=lengthDiffNonNegative$1(e,this.lengthAfter);return lengthEquals$1(t,lengthZero$1)?[this,void 0]:this.modified?[new Sc(this.modified,this.lengthBefore,e),new Sc(this.modified,lengthZero$1,t)]:[new Sc(this.modified,e,e),new Sc(this.modified,t,t)]}toString(){return"".concat(this.modified?"M":"U",":").concat(lengthToObj$1(this.lengthBefore)," -> ").concat(lengthToObj$1(this.lengthAfter))}};function toLengthMapping$1(n){const e=[];let t=lengthZero$1;for(const i of n){const r=lengthDiffNonNegative$1(t,i.startOffset);lengthIsZero$1(r)||e.push(new LengthMapping$1(!1,r,r));const g=lengthDiffNonNegative$1(i.startOffset,i.endOffset);e.push(new LengthMapping$1(!0,g,i.newLength)),t=i.endOffset}return e}let BracketPairsTree$1=class extends Disposable$1{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Emitter$3,this.denseKeyProvider=new DenseKeyProvider$1,this.brackets=new LanguageAgnosticBracketTokens$1(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),r=new FastTokenizer$1(this.textModel.getValue(),i);this.initialAstWithoutTokens=parseDocument$1(r,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new TextEditInfo$1(toLength$1(i.fromLineNumber-1,0),toLength$1(i.toLineNumber,0),toLength$1(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=TextEditInfo$1.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=combineTextEditInfos$1(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=combineTextEditInfos$1(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const r=t,g=new TextBufferTokenizer$1(this.textModel,this.brackets);return parseDocument$1(g,e,r,i)}getBracketsInRange(e,t){this.flushQueue();const i=toLength$1(e.startLineNumber-1,e.startColumn-1),r=toLength$1(e.endLineNumber-1,e.endColumn-1);return new CallbackIterable$1(g=>{const y=this.initialAstWithoutTokens||this.astWithTokens;collectBrackets$1(y,lengthZero$1,y.length,i,r,g,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=positionToLength$1(e.getStartPosition()),r=positionToLength$1(e.getEndPosition());return new CallbackIterable$1(g=>{const y=this.initialAstWithoutTokens||this.astWithTokens,k=new CollectBracketPairsContext$1(g,t,this.textModel);collectBracketPairs$1(y,lengthZero$1,y.length,i,r,k,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketAfter$1(t,lengthZero$1,t.length,positionToLength$1(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketBefore$1(t,lengthZero$1,t.length,positionToLength$1(e))}};function getFirstBracketBefore$1(n,e,t,i){if(n.kind===4||n.kind===2){const r=[];for(const g of n.children)t=lengthAdd$1(e,g.length),r.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let g=r.length-1;g>=0;g--){const{nodeOffsetStart:y,nodeOffsetEnd:k}=r[g];if(lengthLessThan$1(y,i)){const L=getFirstBracketBefore$1(n.children[g],y,k,i);if(L)return L}}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=lengthsToRange$1(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function getFirstBracketAfter$1(n,e,t,i){if(n.kind===4||n.kind===2){for(const r of n.children){if(t=lengthAdd$1(e,r.length),lengthLessThan$1(i,t)){const g=getFirstBracketAfter$1(r,e,t,i);if(g)return g}e=t}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=lengthsToRange$1(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function collectBrackets$1(n,e,t,i,r,g,y,k,L,V,z=!1){if(y>200)return!0;e:for(;;)switch(n.kind){case 4:{const j=n.childrenLength;for(let ie=0;ie200)return!0;let L=!0;if(n.kind===2){let z=0;if(k){let oe=k.get(n.openingBracket.text);oe===void 0&&(oe=0),z=oe,oe++,k.set(n.openingBracket.text,oe)}const j=lengthAdd$1(e,n.openingBracket.length);let ie=-1;if(g.includeMinIndentation&&(ie=n.computeMinIndentation(e,g.textModel)),L=g.push(new BracketPairWithMinIndentationInfo$1(lengthsToRange$1(e,t),lengthsToRange$1(e,j),n.closingBracket?lengthsToRange$1(lengthAdd$1(j,((V=n.child)==null?void 0:V.length)||lengthZero$1),t):void 0,y,z,n,ie)),e=j,L&&n.child){const oe=n.child;if(t=lengthAdd$1(e,oe.length),lengthLessThanEqual$1(e,r)&&lengthGreaterThanEqual$1(t,i)&&(L=collectBracketPairs$1(oe,e,t,i,r,g,y+1,k),!L))return!1}k==null||k.set(n.openingBracket.text,z)}else{let z=e;for(const j of n.children){const ie=z;if(z=lengthAdd$1(z,j.length),lengthLessThanEqual$1(ie,r)&&lengthLessThanEqual$1(i,z)&&(L=collectBracketPairs$1(j,ie,z,i,r,g,y,k),!L))return!1}}return L}let BracketPairsTextModelPart$1=class extends Disposable$1{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new MutableDisposable$1),this.onDidChangeEmitter=new Emitter$3,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1}handleLanguageConfigurationServiceChange(e){var t;(!e.languageId||(t=this.bracketPairsTree.value)!=null&&t.object.didLanguageChange(e.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;(t=this.bracketPairsTree.value)==null||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;(e=this.bracketPairsTree.value)==null||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;(t=this.bracketPairsTree.value)==null||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new DisposableStore$1;this.bracketPairsTree.value=createDisposableRef$1(e.add(new BracketPairsTree$1(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)==null?void 0:t.object.getBracketPairsInRange(e,!1))||CallbackIterable$1.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)==null?void 0:t.object.getBracketPairsInRange(e,!0))||CallbackIterable$1.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((i=this.bracketPairsTree.value)==null?void 0:i.object.getBracketsInRange(e,t))||CallbackIterable$1.empty}findMatchingBracketUp(e,t,i){const r=this.textModel.validatePosition(t),g=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const y=this.languageConfigurationService.getLanguageConfiguration(g).bracketsNew.getClosingBracketInfo(e);if(!y)return null;const k=this.getBracketPairsInRange(Range$5.fromPositions(t,t)).findLast(L=>y.closes(L.openingBracketInfo));return k?k.openingBracketRange:null}else{const y=e.toLowerCase(),k=this.languageConfigurationService.getLanguageConfiguration(g).brackets;if(!k)return null;const L=k.textIsBracket[y];return L?stripBracketSearchCanceled$1(this._findMatchingBracketUp(L,r,createTimeBasedContinueBracketSearchPredicate$1(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(Range$5.fromPositions(e,e)).filter(r=>r.closingBracketRange!==void 0&&(r.openingBracketRange.containsPosition(e)||r.closingBracketRange.containsPosition(e))).findLastMaxBy(compareBy$1(r=>r.openingBracketRange.containsPosition(e)?r.openingBracketRange:r.closingBracketRange,Range$5.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=createTimeBasedContinueBracketSearchPredicate$1(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,r){const g=t.getCount(),y=t.getLanguageId(r);let k=Math.max(0,e.column-1-i.maxBracketLength);for(let V=r-1;V>=0;V--){const z=t.getEndOffset(V);if(z<=k)break;if(ignoreBracketsInToken$1(t.getStandardTokenType(V))||t.getLanguageId(V)!==y){k=z;break}}let L=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let V=r+1;V=L)break;if(ignoreBracketsInToken$1(t.getStandardTokenType(V))||t.getLanguageId(V)!==y){L=z;break}}return{searchStartOffset:k,searchEndOffset:L}}_matchBracket(e,t){const i=e.lineNumber,r=this.textModel.tokenization.getLineTokens(i),g=this.textModel.getLineContent(i),y=r.findTokenIndexAtOffset(e.column-1);if(y<0)return null;const k=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(y)).brackets;if(k&&!ignoreBracketsInToken$1(r.getStandardTokenType(y))){let{searchStartOffset:L,searchEndOffset:V}=this._establishBracketSearchOffsets(e,r,k,y),z=null;for(;;){const j=BracketsUtils$1.findNextBracketInRange(k.forwardRegex,i,g,L,V);if(!j)break;if(j.startColumn<=e.column&&e.column<=j.endColumn){const ie=g.substring(j.startColumn-1,j.endColumn-1).toLowerCase(),oe=this._matchFoundBracket(j,k.textIsBracket[ie],k.textIsOpenBracket[ie],t);if(oe){if(oe instanceof BracketSearchCanceled$1)return null;z=oe}}L=j.endColumn-1}if(z)return z}if(y>0&&r.getStartOffset(y)===e.column-1){const L=y-1,V=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(L)).brackets;if(V&&!ignoreBracketsInToken$1(r.getStandardTokenType(L))){const{searchStartOffset:z,searchEndOffset:j}=this._establishBracketSearchOffsets(e,r,V,L),ie=BracketsUtils$1.findPrevBracketInRange(V.reversedRegex,i,g,z,j);if(ie&&ie.startColumn<=e.column&&e.column<=ie.endColumn){const oe=g.substring(ie.startColumn-1,ie.endColumn-1).toLowerCase(),re=this._matchFoundBracket(ie,V.textIsBracket[oe],V.textIsOpenBracket[oe],t);if(re)return re instanceof BracketSearchCanceled$1?null:re}}}return null}_matchFoundBracket(e,t,i,r){if(!t)return null;const g=i?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return g?g instanceof BracketSearchCanceled$1?g:[e,g]:null}_findMatchingBracketUp(e,t,i){const r=e.languageId,g=e.reversedRegex;let y=-1,k=0;const L=(V,z,j,ie)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled$1.INSTANCE;const oe=BracketsUtils$1.findPrevBracketInRange(g,V,z,j,ie);if(!oe)break;const re=z.substring(oe.startColumn-1,oe.endColumn-1).toLowerCase();if(e.isOpen(re)?y++:e.isClose(re)&&y--,y===0)return oe;ie=oe.startColumn-1}return null};for(let V=t.lineNumber;V>=1;V--){const z=this.textModel.tokenization.getLineTokens(V),j=z.getCount(),ie=this.textModel.getLineContent(V);let oe=j-1,re=ie.length,ae=ie.length;V===t.lineNumber&&(oe=z.findTokenIndexAtOffset(t.column-1),re=t.column-1,ae=t.column-1);let le=!0;for(;oe>=0;oe--){const de=z.getLanguageId(oe)===r&&!ignoreBracketsInToken$1(z.getStandardTokenType(oe));if(de)le?re=z.getStartOffset(oe):(re=z.getStartOffset(oe),ae=z.getEndOffset(oe));else if(le&&re!==ae){const ue=L(V,ie,re,ae);if(ue)return ue}le=de}if(le&&re!==ae){const de=L(V,ie,re,ae);if(de)return de}}return null}_findMatchingBracketDown(e,t,i){const r=e.languageId,g=e.forwardRegex;let y=1,k=0;const L=(z,j,ie,oe)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled$1.INSTANCE;const re=BracketsUtils$1.findNextBracketInRange(g,z,j,ie,oe);if(!re)break;const ae=j.substring(re.startColumn-1,re.endColumn-1).toLowerCase();if(e.isOpen(ae)?y++:e.isClose(ae)&&y--,y===0)return re;ie=re.endColumn-1}return null},V=this.textModel.getLineCount();for(let z=t.lineNumber;z<=V;z++){const j=this.textModel.tokenization.getLineTokens(z),ie=j.getCount(),oe=this.textModel.getLineContent(z);let re=0,ae=0,le=0;z===t.lineNumber&&(re=j.findTokenIndexAtOffset(t.column-1),ae=t.column-1,le=t.column-1);let de=!0;for(;re=1;k--){const L=this.textModel.tokenization.getLineTokens(k),V=L.getCount(),z=this.textModel.getLineContent(k);let j=V-1,ie=z.length,oe=z.length;if(k===t.lineNumber){j=L.findTokenIndexAtOffset(t.column-1),ie=t.column-1,oe=t.column-1;const ae=L.getLanguageId(j);i!==ae&&(i=ae,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,g=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew)}let re=!0;for(;j>=0;j--){const ae=L.getLanguageId(j);if(i!==ae){if(r&&g&&re&&ie!==oe){const de=BracketsUtils$1.findPrevBracketInRange(r.reversedRegex,k,z,ie,oe);if(de)return this._toFoundBracket(g,de);re=!1}i=ae,r=this.languageConfigurationService.getLanguageConfiguration(i).brackets,g=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew}const le=!!r&&!ignoreBracketsInToken$1(L.getStandardTokenType(j));if(le)re?ie=L.getStartOffset(j):(ie=L.getStartOffset(j),oe=L.getEndOffset(j));else if(g&&r&&re&&ie!==oe){const de=BracketsUtils$1.findPrevBracketInRange(r.reversedRegex,k,z,ie,oe);if(de)return this._toFoundBracket(g,de)}re=le}if(g&&r&&re&&ie!==oe){const ae=BracketsUtils$1.findPrevBracketInRange(r.reversedRegex,k,z,ie,oe);if(ae)return this._toFoundBracket(g,ae)}}return null}findNextBracket(e){var k;const t=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((k=this.bracketPairsTree.value)==null?void 0:k.object.getFirstBracketAfter(t))||null;const i=this.textModel.getLineCount();let r=null,g=null,y=null;for(let L=t.lineNumber;L<=i;L++){const V=this.textModel.tokenization.getLineTokens(L),z=V.getCount(),j=this.textModel.getLineContent(L);let ie=0,oe=0,re=0;if(L===t.lineNumber){ie=V.findTokenIndexAtOffset(t.column-1),oe=t.column-1,re=t.column-1;const le=V.getLanguageId(ie);r!==le&&(r=le,g=this.languageConfigurationService.getLanguageConfiguration(r).brackets,y=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let ae=!0;for(;ieae.closingBracketRange!==void 0&&ae.range.strictContainsRange(oe));return re?[re.openingBracketRange,re.closingBracketRange]:null}const r=createTimeBasedContinueBracketSearchPredicate$1(t),g=this.textModel.getLineCount(),y=new Map;let k=[];const L=(oe,re)=>{if(!y.has(oe)){const ae=[];for(let le=0,de=re?re.brackets.length:0;le{for(;;){if(r&&++V%100===0&&!r())return BracketSearchCanceled$1.INSTANCE;const ue=BracketsUtils$1.findNextBracketInRange(oe.forwardRegex,re,ae,le,de);if(!ue)break;const he=ae.substring(ue.startColumn-1,ue.endColumn-1).toLowerCase(),pe=oe.textIsBracket[he];if(pe&&(pe.isOpen(he)?k[pe.index]++:pe.isClose(he)&&k[pe.index]--,k[pe.index]===-1))return this._matchFoundBracket(ue,pe,!1,r);le=ue.endColumn-1}return null};let j=null,ie=null;for(let oe=i.lineNumber;oe<=g;oe++){const re=this.textModel.tokenization.getLineTokens(oe),ae=re.getCount(),le=this.textModel.getLineContent(oe);let de=0,ue=0,he=0;if(oe===i.lineNumber){de=re.findTokenIndexAtOffset(i.column-1),ue=i.column-1,he=i.column-1;const Ce=re.getLanguageId(de);j!==Ce&&(j=Ce,ie=this.languageConfigurationService.getLanguageConfiguration(j).brackets,L(j,ie))}let pe=!0;for(;dee==null?void 0:e.dispose()}}function createTimeBasedContinueBracketSearchPredicate$1(n){if(typeof n>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=n}}var Rs;let BracketSearchCanceled$1=(Rs=class{constructor(){this._searchCanceledBrand=void 0}},Rs.INSTANCE=new Rs,Rs);function stripBracketSearchCanceled$1(n){return n instanceof BracketSearchCanceled$1?null:n}let ColorizedBracketPairsDecorationProvider$1=class extends Disposable$1{constructor(e){super(),this.textModel=e,this.colorProvider=new ColorProvider$1,this.onDidChangeEmitter=new Emitter$3,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,r){return r?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(y=>({id:"bracket".concat(y.range.toString(),"-").concat(y.nestingLevel),options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(y,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:y.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Range$5(1,1,this.textModel.getLineCount(),1),e,t):[]}},ColorProvider$1=class{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-".concat(e%30)}};registerThemingParticipant$1((n,e)=>{const t=[editorBracketHighlightingForeground1$1,editorBracketHighlightingForeground2$1,editorBracketHighlightingForeground3$1,editorBracketHighlightingForeground4$1,editorBracketHighlightingForeground5$1,editorBracketHighlightingForeground6$1],i=new ColorProvider$1;e.addRule(".monaco-editor .".concat(i.unexpectedClosingBracketClassName," { color: ").concat(n.getColor(editorBracketHighlightingUnexpectedBracketForeground$1),"; }"));const r=t.map(g=>n.getColor(g)).filter(g=>!!g).filter(g=>!g.isTransparent());for(let g=0;g<30;g++){const y=r[g%r.length];e.addRule(".monaco-editor .".concat(i.getInlineClassNameOfLevel(g)," { color: ").concat(y,"; }"))}});function escapeNewLine$1(n){return n.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}let TextChange$1=class Po{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,r){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=r}toString(){return this.oldText.length===0?"(insert@".concat(this.oldPosition,' "').concat(escapeNewLine$1(this.newText),'")'):this.newText.length===0?"(delete@".concat(this.oldPosition,' "').concat(escapeNewLine$1(this.oldText),'")'):"(replace@".concat(this.oldPosition,' "').concat(escapeNewLine$1(this.oldText),'" with "').concat(escapeNewLine$1(this.newText),'")')}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const r=t.length;writeUInt32BE$1(e,r,i),i+=4;for(let g=0;g0&&(this.changes=compressConsecutiveTextChanges$1(this.changes,t)),this.afterEOL=i,this.afterVersionId=r,this.afterCursorState=g}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(writeUInt32BE$1(e,t?t.length:0,i),i+=4,t)for(const r of t)writeUInt32BE$1(e,r.selectionStartLineNumber,i),i+=4,writeUInt32BE$1(e,r.selectionStartColumn,i),i+=4,writeUInt32BE$1(e,r.positionLineNumber,i),i+=4,writeUInt32BE$1(e,r.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const r=readUInt32BE$1(e,t);t+=4;for(let g=0;gt.toString()).join(", ")}matchesResource(e){return(URI$1.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof SingleModelEditStackData$1}append(e,t,i,r,g){this._data instanceof SingleModelEditStackData$1&&this._data.append(e,t,i,r,g)}close(){this._data instanceof SingleModelEditStackData$1&&(this._data=this._data.serialize())}open(){this._data instanceof SingleModelEditStackData$1||(this._data=SingleModelEditStackData$1.deserialize(this._data))}undo(){if(URI$1.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData$1&&(this._data=this._data.serialize());const e=SingleModelEditStackData$1.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(URI$1.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData$1&&(this._data=this._data.serialize());const e=SingleModelEditStackData$1.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof SingleModelEditStackData$1&&(this._data=this._data.serialize()),this._data.byteLength+168}},MultiModelEditStackElement$1=class{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const g=uriGetComparisonKey$1(r.resource);this._editStackElementsMap.set(g,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=uriGetComparisonKey$1(e);return this._editStackElementsMap.has(t)}setModel(e){const t=uriGetComparisonKey$1(URI$1.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=uriGetComparisonKey$1(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,r,g){const y=uriGetComparisonKey$1(e.uri);this._editStackElementsMap.get(y).append(e,t,i,r,g)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=uriGetComparisonKey$1(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push("".concat(basename$2(t.resource),": ").concat(t));return"{".concat(e.join(", "),"}")}};function getModelEOL$1(n){return n.getEOL()==="\n"?0:1}function isEditStackElement$1(n){return n?n instanceof SingleModelEditStackElement$1||n instanceof MultiModelEditStackElement$1:!1}let EditStack$1=class Qu{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement$1(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement$1(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement$1(i)&&i.canAppend(this._model))return i;const r=new SingleModelEditStackElement$1(localize$1("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],getModelEOL$1(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,r){const g=this._getOrCreateEditStackElement(e,r),y=this._model.applyEdits(t,!0),k=Qu._computeCursorState(i,y),L=y.map((V,z)=>({index:z,textChange:V.textChange}));return L.sort((V,z)=>V.textChange.oldPosition===z.textChange.oldPosition?V.index-z.index:V.textChange.oldPosition-z.textChange.oldPosition),g.append(this._model,L.map(V=>V.textChange),getModelEOL$1(this._model),this._model.getAlternativeVersionId(),k),k}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return onUnexpectedError$1(i),null}}},TextModelPart$1=class extends Disposable$1{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}};function computeIndentLevel$1(n,e){let t=0,i=0;const r=n.length;for(;ir)throw new BugIndicatingError$1("Illegal value for lineNumber");const g=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,y=!!(g&&g.offSide);let k=-2,L=-1,V=-2,z=-1;const j=xe=>{if(k!==-1&&(k===-2||k>xe-1)){k=-1,L=-1;for(let Ie=xe-2;Ie>=0;Ie--){const Ne=this._computeIndentLevel(Ie);if(Ne>=0){k=Ie,L=Ne;break}}}if(V===-2){V=-1,z=-1;for(let Ie=xe;Ie=0){V=Ie,z=Ne;break}}}};let ie=-2,oe=-1,re=-2,ae=-1;const le=xe=>{if(ie===-2){ie=-1,oe=-1;for(let Ie=xe-2;Ie>=0;Ie--){const Ne=this._computeIndentLevel(Ie);if(Ne>=0){ie=Ie,oe=Ne;break}}}if(re!==-1&&(re===-2||re=0){re=Ie,ae=Ne;break}}}};let de=0,ue=!0,he=0,pe=!0,Ce=0,$e=0;for(let xe=0;ue||pe;xe++){const Ie=e-xe,Ne=e+xe;xe>1&&(Ie<1||Ie1&&(Ne>r||Ne>i)&&(pe=!1),xe>5e4&&(ue=!1,pe=!1);let Fe=-1;if(ue&&Ie>=1){const Oe=this._computeIndentLevel(Ie-1);Oe>=0?(V=Ie-1,z=Oe,Fe=Math.ceil(Oe/this.textModel.getOptions().indentSize)):(j(Ie),Fe=this._getIndentLevelForWhitespaceLine(y,L,z))}let Ve=-1;if(pe&&Ne<=r){const Oe=this._computeIndentLevel(Ne-1);Oe>=0?(ie=Ne-1,oe=Oe,Ve=Math.ceil(Oe/this.textModel.getOptions().indentSize)):(le(Ne),Ve=this._getIndentLevelForWhitespaceLine(y,oe,ae))}if(xe===0){$e=Fe;continue}if(xe===1){if(Ne<=r&&Ve>=0&&$e+1===Ve){ue=!1,de=Ne,he=Ne,Ce=Ve;continue}if(Ie>=1&&Fe>=0&&Fe-1===$e){pe=!1,de=Ie,he=Ie,Ce=Fe;continue}if(de=e,he=e,Ce=$e,Ce===0)return{startLineNumber:de,endLineNumber:he,indent:Ce}}ue&&(Fe>=Ce?de=Ie:ue=!1),pe&&(Ve>=Ce?he=Ne:pe=!1)}return{startLineNumber:de,endLineNumber:he,indent:Ce}}getLinesBracketGuides(e,t,i,r){var j;const g=[];for(let ie=e;ie<=t;ie++)g.push([]);const y=!0,k=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Range$5(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let L;if(i&&k.length>0){const ie=(e<=i.lineNumber&&i.lineNumber<=t?k:this.textModel.bracketPairs.getBracketPairsInRange(Range$5.fromPositions(i)).toArray()).filter(oe=>Range$5.strictContainsPosition(oe.range,i));L=(j=findLast$2(ie,oe=>y))==null?void 0:j.range}const V=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,z=new BracketPairGuidesClassNames$1;for(const ie of k){if(!ie.closingBracketRange)continue;const oe=L&&ie.range.equalsRange(L);if(!oe&&!r.includeInactive)continue;const re=z.getInlineClassName(ie.nestingLevel,ie.nestingLevelOfEqualBracketType,V)+(r.highlightActive&&oe?" "+z.activeClassName:""),ae=ie.openingBracketRange.getStartPosition(),le=ie.closingBracketRange.getStartPosition(),de=r.horizontalGuides===HorizontalGuidesState$1.Enabled||r.horizontalGuides===HorizontalGuidesState$1.EnabledForActive&&oe;if(ie.range.startLineNumber===ie.range.endLineNumber){de&&g[ie.range.startLineNumber-e].push(new IndentGuide$1(-1,ie.openingBracketRange.getEndPosition().column,re,new IndentGuideHorizontalLine$1(!1,le.column),-1,-1));continue}const ue=this.getVisibleColumnFromPosition(le),he=this.getVisibleColumnFromPosition(ie.openingBracketRange.getStartPosition()),pe=Math.min(he,ue,ie.minVisibleColumnIndentation+1);let Ce=!1;firstNonWhitespaceIndex$1(this.textModel.getLineContent(ie.closingBracketRange.startLineNumber))=e&&he>pe&&g[ae.lineNumber-e].push(new IndentGuide$1(pe,-1,re,new IndentGuideHorizontalLine$1(!1,ae.column),-1,-1)),le.lineNumber<=t&&ue>pe&&g[le.lineNumber-e].push(new IndentGuide$1(pe,-1,re,new IndentGuideHorizontalLine$1(!Ce,le.column),-1,-1)))}for(const ie of g)ie.sort((oe,re)=>oe.visibleColumn-re.visibleColumn);return g}getVisibleColumnFromPosition(e){return CursorColumns$1.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),g=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,y=!!(g&&g.offSide),k=new Array(t-e+1);let L=-2,V=-1,z=-2,j=-1;for(let ie=e;ie<=t;ie++){const oe=ie-e,re=this._computeIndentLevel(ie-1);if(re>=0){L=ie-1,V=re,k[oe]=Math.ceil(re/r.indentSize);continue}if(L===-2){L=-1,V=-1;for(let ae=ie-2;ae>=0;ae--){const le=this._computeIndentLevel(ae);if(le>=0){L=ae,V=le;break}}}if(z!==-1&&(z===-2||z=0){z=ae,j=le;break}}}k[oe]=this._getIndentLevelForWhitespaceLine(y,V,j)}return k}_getIndentLevelForWhitespaceLine(e,t,i){const r=this.textModel.getOptions();return t===-1||i===-1?0:t0&&k>0||L>0&&V>0)return;const z=Math.abs(k-V),j=Math.abs(y-L);if(z===0){r.spacesDiff=j,j>0&&0<=L-1&&L-10?r++:pe>1&&g++,spacesDiff$1(y,k,le,he,j),j.looksLikeAlignment&&!(t&&e===j.spacesDiff)))continue;const $e=j.spacesDiff;$e<=V&&z[$e]++,y=le,k=he}let ie=t;r!==g&&(ie=r{const le=z[ae];le>re&&(re=le,oe=ae)}),oe===4&&z[4]>0&&z[2]>0&&z[2]>=z[4]/2&&(oe=2)}return{insertSpaces:ie,tabSize:oe}}function getNodeColor$1(n){return(n.metadata&1)>>>0}function setNodeColor$1(n,e){n.metadata=n.metadata&254|e<<0}function getNodeIsVisited$1(n){return(n.metadata&2)>>>1===1}function setNodeIsVisited$1(n,e){n.metadata=n.metadata&253|(e?1:0)<<1}function getNodeIsForValidation$1(n){return(n.metadata&4)>>>2===1}function setNodeIsForValidation$1(n,e){n.metadata=n.metadata&251|(e?1:0)<<2}function getNodeIsInGlyphMargin$1(n){return(n.metadata&64)>>>6===1}function setNodeIsInGlyphMargin$1(n,e){n.metadata=n.metadata&191|(e?1:0)<<6}function getNodeStickiness$1(n){return(n.metadata&24)>>>3}function _setNodeStickiness$1(n,e){n.metadata=n.metadata&231|e<<3}function getCollapseOnReplaceEdit$1(n){return(n.metadata&32)>>>5===1}function setCollapseOnReplaceEdit$1(n,e){n.metadata=n.metadata&223|(e?1:0)<<5}let IntervalNode$1=class{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,setNodeColor$1(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,setNodeIsForValidation$1(this,!1),setNodeIsInGlyphMargin$1(this,!1),_setNodeStickiness$1(this,1),setCollapseOnReplaceEdit$1(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,setNodeIsVisited$1(this,!1)}reset(e,t,i,r){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=r}setOptions(e){this.options=e;const t=this.options.className;setNodeIsForValidation$1(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),setNodeIsInGlyphMargin$1(this,this.options.glyphMarginClassName!==null),_setNodeStickiness$1(this,this.options.stickiness),setCollapseOnReplaceEdit$1(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}};const SENTINEL$3=new IntervalNode$1(null,0,0);SENTINEL$3.parent=SENTINEL$3;SENTINEL$3.left=SENTINEL$3;SENTINEL$3.right=SENTINEL$3;setNodeColor$1(SENTINEL$3,0);let IntervalTree$1=class{constructor(){this.root=SENTINEL$3,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,r,g,y){return this.root===SENTINEL$3?[]:intervalSearch$1(this,e,t,i,r,g,y)}search(e,t,i,r){return this.root===SENTINEL$3?[]:search$1(this,e,t,i,r)}collectNodesFromOwner(e){return collectNodesFromOwner$1(this,e)}collectNodesPostOrder(){return collectNodesPostOrder$1(this)}insert(e){rbTreeInsert$1(this,e),this._normalizeDeltaIfNecessary()}delete(e){rbTreeDelete$1(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const g=i.start+r,y=i.end+r;i.setCachedOffsets(g,y,t)}acceptReplace(e,t,i,r){const g=searchForEditing$1(this,e,e+t);for(let y=0,k=g.length;yt||i===1?!1:i===2?!0:e}function nodeAcceptEdit$1(n,e,t,i,r){const g=getNodeStickiness$1(n),y=g===0||g===2,k=g===1||g===2,L=t-e,V=i,z=Math.min(L,V),j=n.start;let ie=!1;const oe=n.end;let re=!1;e<=j&&oe<=t&&getCollapseOnReplaceEdit$1(n)&&(n.start=e,ie=!0,n.end=e,re=!0);{const le=r?1:L>0?2:0;!ie&&adjustMarkerBeforeColumn$1(j,y,e,le)&&(ie=!0),!re&&adjustMarkerBeforeColumn$1(oe,k,e,le)&&(re=!0)}if(z>0&&!r){const le=L>V?2:0;!ie&&adjustMarkerBeforeColumn$1(j,y,e+z,le)&&(ie=!0),!re&&adjustMarkerBeforeColumn$1(oe,k,e+z,le)&&(re=!0)}{const le=r?1:0;!ie&&adjustMarkerBeforeColumn$1(j,y,t,le)&&(n.start=e+V,ie=!0),!re&&adjustMarkerBeforeColumn$1(oe,k,t,le)&&(n.end=e+V,re=!0)}const ae=V-L;ie||(n.start=Math.max(0,j+ae)),re||(n.end=Math.max(0,oe+ae)),n.start>n.end&&(n.end=n.start)}function searchForEditing$1(n,e,t){let i=n.root,r=0,g=0,y=0,k=0;const L=[];let V=0;for(;i!==SENTINEL$3;){if(getNodeIsVisited$1(i)){setNodeIsVisited$1(i.left,!1),setNodeIsVisited$1(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;continue}if(!getNodeIsVisited$1(i.left)){if(g=r+i.maxEnd,gt){setNodeIsVisited$1(i,!0);continue}if(k=r+i.end,k>=e&&(i.setCachedOffsets(y,k,0),L[V++]=i),setNodeIsVisited$1(i,!0),i.right!==SENTINEL$3&&!getNodeIsVisited$1(i.right)){r+=i.delta,i=i.right;continue}}return setNodeIsVisited$1(n.root,!1),L}function noOverlapReplace$1(n,e,t,i){let r=n.root,g=0,y=0,k=0;const L=i-(t-e);for(;r!==SENTINEL$3;){if(getNodeIsVisited$1(r)){setNodeIsVisited$1(r.left,!1),setNodeIsVisited$1(r.right,!1),r===r.parent.right&&(g-=r.parent.delta),recomputeMaxEnd$1(r),r=r.parent;continue}if(!getNodeIsVisited$1(r.left)){if(y=g+r.maxEnd,yt){r.start+=L,r.end+=L,r.delta+=L,(r.delta<-1073741824||r.delta>1073741824)&&(n.requestNormalizeDelta=!0),setNodeIsVisited$1(r,!0);continue}if(setNodeIsVisited$1(r,!0),r.right!==SENTINEL$3&&!getNodeIsVisited$1(r.right)){g+=r.delta,r=r.right;continue}}setNodeIsVisited$1(n.root,!1)}function collectNodesFromOwner$1(n,e){let t=n.root;const i=[];let r=0;for(;t!==SENTINEL$3;){if(getNodeIsVisited$1(t)){setNodeIsVisited$1(t.left,!1),setNodeIsVisited$1(t.right,!1),t=t.parent;continue}if(t.left!==SENTINEL$3&&!getNodeIsVisited$1(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[r++]=t),setNodeIsVisited$1(t,!0),t.right!==SENTINEL$3&&!getNodeIsVisited$1(t.right)){t=t.right;continue}}return setNodeIsVisited$1(n.root,!1),i}function collectNodesPostOrder$1(n){let e=n.root;const t=[];let i=0;for(;e!==SENTINEL$3;){if(getNodeIsVisited$1(e)){setNodeIsVisited$1(e.left,!1),setNodeIsVisited$1(e.right,!1),e=e.parent;continue}if(e.left!==SENTINEL$3&&!getNodeIsVisited$1(e.left)){e=e.left;continue}if(e.right!==SENTINEL$3&&!getNodeIsVisited$1(e.right)){e=e.right;continue}t[i++]=e,setNodeIsVisited$1(e,!0)}return setNodeIsVisited$1(n.root,!1),t}function search$1(n,e,t,i,r){let g=n.root,y=0,k=0,L=0;const V=[];let z=0;for(;g!==SENTINEL$3;){if(getNodeIsVisited$1(g)){setNodeIsVisited$1(g.left,!1),setNodeIsVisited$1(g.right,!1),g===g.parent.right&&(y-=g.parent.delta),g=g.parent;continue}if(g.left!==SENTINEL$3&&!getNodeIsVisited$1(g.left)){g=g.left;continue}k=y+g.start,L=y+g.end,g.setCachedOffsets(k,L,i);let j=!0;if(e&&g.ownerId&&g.ownerId!==e&&(j=!1),t&&getNodeIsForValidation$1(g)&&(j=!1),r&&!getNodeIsInGlyphMargin$1(g)&&(j=!1),j&&(V[z++]=g),setNodeIsVisited$1(g,!0),g.right!==SENTINEL$3&&!getNodeIsVisited$1(g.right)){y+=g.delta,g=g.right;continue}}return setNodeIsVisited$1(n.root,!1),V}function intervalSearch$1(n,e,t,i,r,g,y){let k=n.root,L=0,V=0,z=0,j=0;const ie=[];let oe=0;for(;k!==SENTINEL$3;){if(getNodeIsVisited$1(k)){setNodeIsVisited$1(k.left,!1),setNodeIsVisited$1(k.right,!1),k===k.parent.right&&(L-=k.parent.delta),k=k.parent;continue}if(!getNodeIsVisited$1(k.left)){if(V=L+k.maxEnd,Vt){setNodeIsVisited$1(k,!0);continue}if(j=L+k.end,j>=e){k.setCachedOffsets(z,j,g);let re=!0;i&&k.ownerId&&k.ownerId!==i&&(re=!1),r&&getNodeIsForValidation$1(k)&&(re=!1),y&&!getNodeIsInGlyphMargin$1(k)&&(re=!1),re&&(ie[oe++]=k)}if(setNodeIsVisited$1(k,!0),k.right!==SENTINEL$3&&!getNodeIsVisited$1(k.right)){L+=k.delta,k=k.right;continue}}return setNodeIsVisited$1(n.root,!1),ie}function rbTreeInsert$1(n,e){if(n.root===SENTINEL$3)return e.parent=SENTINEL$3,e.left=SENTINEL$3,e.right=SENTINEL$3,setNodeColor$1(e,0),n.root=e,n.root;treeInsert$1(n,e),recomputeMaxEndWalkToRoot$1(e.parent);let t=e;for(;t!==n.root&&getNodeColor$1(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;getNodeColor$1(i)===1?(setNodeColor$1(t.parent,0),setNodeColor$1(i,0),setNodeColor$1(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,leftRotate$4(n,t)),setNodeColor$1(t.parent,0),setNodeColor$1(t.parent.parent,1),rightRotate$3(n,t.parent.parent))}else{const i=t.parent.parent.left;getNodeColor$1(i)===1?(setNodeColor$1(t.parent,0),setNodeColor$1(i,0),setNodeColor$1(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,rightRotate$3(n,t)),setNodeColor$1(t.parent,0),setNodeColor$1(t.parent.parent,1),leftRotate$4(n,t.parent.parent))}return setNodeColor$1(n.root,0),e}function treeInsert$1(n,e){let t=0,i=n.root;const r=e.start,g=e.end;for(;;)if(intervalCompare$1(r,g,i.start+t,i.end+t)<0)if(i.left===SENTINEL$3){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===SENTINEL$3){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=SENTINEL$3,e.right=SENTINEL$3,setNodeColor$1(e,1)}function rbTreeDelete$1(n,e){let t,i;if(e.left===SENTINEL$3?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===SENTINEL$3?(t=e.left,i=e):(i=leftest$3(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(n.requestNormalizeDelta=!0)),i===n.root){n.root=t,setNodeColor$1(t,0),e.detach(),resetSentinel$3(),recomputeMaxEnd$1(t),n.root.parent=SENTINEL$3;return}const r=getNodeColor$1(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,setNodeColor$1(i,getNodeColor$1(e)),e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==SENTINEL$3&&(i.left.parent=i),i.right!==SENTINEL$3&&(i.right.parent=i)),e.detach(),r){recomputeMaxEndWalkToRoot$1(t.parent),i!==e&&(recomputeMaxEndWalkToRoot$1(i),recomputeMaxEndWalkToRoot$1(i.parent)),resetSentinel$3();return}recomputeMaxEndWalkToRoot$1(t),recomputeMaxEndWalkToRoot$1(t.parent),i!==e&&(recomputeMaxEndWalkToRoot$1(i),recomputeMaxEndWalkToRoot$1(i.parent));let g;for(;t!==n.root&&getNodeColor$1(t)===0;)t===t.parent.left?(g=t.parent.right,getNodeColor$1(g)===1&&(setNodeColor$1(g,0),setNodeColor$1(t.parent,1),leftRotate$4(n,t.parent),g=t.parent.right),getNodeColor$1(g.left)===0&&getNodeColor$1(g.right)===0?(setNodeColor$1(g,1),t=t.parent):(getNodeColor$1(g.right)===0&&(setNodeColor$1(g.left,0),setNodeColor$1(g,1),rightRotate$3(n,g),g=t.parent.right),setNodeColor$1(g,getNodeColor$1(t.parent)),setNodeColor$1(t.parent,0),setNodeColor$1(g.right,0),leftRotate$4(n,t.parent),t=n.root)):(g=t.parent.left,getNodeColor$1(g)===1&&(setNodeColor$1(g,0),setNodeColor$1(t.parent,1),rightRotate$3(n,t.parent),g=t.parent.left),getNodeColor$1(g.left)===0&&getNodeColor$1(g.right)===0?(setNodeColor$1(g,1),t=t.parent):(getNodeColor$1(g.left)===0&&(setNodeColor$1(g.right,0),setNodeColor$1(g,1),leftRotate$4(n,g),g=t.parent.left),setNodeColor$1(g,getNodeColor$1(t.parent)),setNodeColor$1(t.parent,0),setNodeColor$1(g.left,0),rightRotate$3(n,t.parent),t=n.root));setNodeColor$1(t,0),resetSentinel$3()}function leftest$3(n){for(;n.left!==SENTINEL$3;)n=n.left;return n}function resetSentinel$3(){SENTINEL$3.parent=SENTINEL$3,SENTINEL$3.delta=0,SENTINEL$3.start=0,SENTINEL$3.end=0}function leftRotate$4(n,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==SENTINEL$3&&(t.left.parent=e),t.parent=e.parent,e.parent===SENTINEL$3?n.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,recomputeMaxEnd$1(e),recomputeMaxEnd$1(t)}function rightRotate$3(n,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(n.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==SENTINEL$3&&(t.right.parent=e),t.parent=e.parent,e.parent===SENTINEL$3?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,recomputeMaxEnd$1(e),recomputeMaxEnd$1(t)}function computeMaxEnd$1(n){let e=n.end;if(n.left!==SENTINEL$3){const t=n.left.maxEnd;t>e&&(e=t)}if(n.right!==SENTINEL$3){const t=n.right.maxEnd+n.delta;t>e&&(e=t)}return e}function recomputeMaxEnd$1(n){n.maxEnd=computeMaxEnd$1(n)}function recomputeMaxEndWalkToRoot$1(n){for(;n!==SENTINEL$3;){const e=computeMaxEnd$1(n);if(n.maxEnd===e)return;n.maxEnd=e,n=n.parent}}function intervalCompare$1(n,e,t,i){return n===t?e-i:n-t}let TreeNode$1=class{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==SENTINEL$2)return leftest$2(this.right);let e=this;for(;e.parent!==SENTINEL$2&&e.parent.left!==e;)e=e.parent;return e.parent===SENTINEL$2?SENTINEL$2:e.parent}prev(){if(this.left!==SENTINEL$2)return righttest$1(this.left);let e=this;for(;e.parent!==SENTINEL$2&&e.parent.right!==e;)e=e.parent;return e.parent===SENTINEL$2?SENTINEL$2:e.parent}detach(){this.parent=null,this.left=null,this.right=null}};const SENTINEL$2=new TreeNode$1(null,0);SENTINEL$2.parent=SENTINEL$2;SENTINEL$2.left=SENTINEL$2;SENTINEL$2.right=SENTINEL$2;SENTINEL$2.color=0;function leftest$2(n){for(;n.left!==SENTINEL$2;)n=n.left;return n}function righttest$1(n){for(;n.right!==SENTINEL$2;)n=n.right;return n}function calculateSize$1(n){return n===SENTINEL$2?0:n.size_left+n.piece.length+calculateSize$1(n.right)}function calculateLF$1(n){return n===SENTINEL$2?0:n.lf_left+n.piece.lineFeedCnt+calculateLF$1(n.right)}function resetSentinel$2(){SENTINEL$2.parent=SENTINEL$2}function leftRotate$3(n,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==SENTINEL$2&&(t.left.parent=e),t.parent=e.parent,e.parent===SENTINEL$2?n.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function rightRotate$2(n,e){const t=e.left;e.left=t.right,t.right!==SENTINEL$2&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===SENTINEL$2?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function rbDelete$1(n,e){let t,i;if(e.left===SENTINEL$2?(i=e,t=i.right):e.right===SENTINEL$2?(i=e,t=i.left):(i=leftest$2(e.right),t=i.right),i===n.root){n.root=t,t.color=0,e.detach(),resetSentinel$2(),n.root.parent=SENTINEL$2;return}const r=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,recomputeTreeMetadata$1(n,t)):(i.parent===e?t.parent=i:t.parent=i.parent,recomputeTreeMetadata$1(n,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==SENTINEL$2&&(i.left.parent=i),i.right!==SENTINEL$2&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,recomputeTreeMetadata$1(n,i)),e.detach(),t.parent.left===t){const y=calculateSize$1(t),k=calculateLF$1(t);if(y!==t.parent.size_left||k!==t.parent.lf_left){const L=y-t.parent.size_left,V=k-t.parent.lf_left;t.parent.size_left=y,t.parent.lf_left=k,updateTreeMetadata$1(n,t.parent,L,V)}}if(recomputeTreeMetadata$1(n,t.parent),r){resetSentinel$2();return}let g;for(;t!==n.root&&t.color===0;)t===t.parent.left?(g=t.parent.right,g.color===1&&(g.color=0,t.parent.color=1,leftRotate$3(n,t.parent),g=t.parent.right),g.left.color===0&&g.right.color===0?(g.color=1,t=t.parent):(g.right.color===0&&(g.left.color=0,g.color=1,rightRotate$2(n,g),g=t.parent.right),g.color=t.parent.color,t.parent.color=0,g.right.color=0,leftRotate$3(n,t.parent),t=n.root)):(g=t.parent.left,g.color===1&&(g.color=0,t.parent.color=1,rightRotate$2(n,t.parent),g=t.parent.left),g.left.color===0&&g.right.color===0?(g.color=1,t=t.parent):(g.left.color===0&&(g.right.color=0,g.color=1,leftRotate$3(n,g),g=t.parent.left),g.color=t.parent.color,t.parent.color=0,g.left.color=0,rightRotate$2(n,t.parent),t=n.root));t.color=0,resetSentinel$2()}function fixInsert$1(n,e){for(recomputeTreeMetadata$1(n,e);e!==n.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,leftRotate$3(n,e)),e.parent.color=0,e.parent.parent.color=1,rightRotate$2(n,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,rightRotate$2(n,e)),e.parent.color=0,e.parent.parent.color=1,leftRotate$3(n,e.parent.parent))}n.root.color=0}function updateTreeMetadata$1(n,e,t,i){for(;e!==n.root&&e!==SENTINEL$2;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function recomputeTreeMetadata$1(n,e){let t=0,i=0;if(e!==n.root){for(;e!==n.root&&e===e.parent.right;)e=e.parent;if(e!==n.root)for(e=e.parent,t=calculateSize$1(e.left)-e.size_left,i=calculateLF$1(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==n.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const AverageBufferSize$1=65535;function createUintArray$1(n){let e;return n[n.length-1]<65536?e=new Uint16Array(n.length):e=new Uint32Array(n.length),e.set(n,0),e}let LineStarts$1=class{constructor(e,t,i,r,g){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=r,this.isBasicASCII=g}};function createLineStartsFast$1(n,e=!0){const t=[0];let i=1;for(let r=0,g=n.length;r126)&&(y=!1)}const k=new LineStarts$1(createUintArray$1(n),i,r,g,y);return n.length=0,k}let Piece$1=class{constructor(e,t,i,r,g){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=r,this.length=g}},StringBuffer$1=class{constructor(e,t){this.buffer=e,this.lineStarts=t}},PieceTreeSnapshot$1=class{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==SENTINEL$2&&e.iterate(e.root,i=>(i!==SENTINEL$2&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}},PieceTreeSearchCache$1=class{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let r=0;r=e){i[r]=null,t=!0;continue}}if(t){const r=[];for(const g of i)g!==null&&r.push(g);this._cache=r}}},PieceTreeBase$1=class{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new StringBuffer$1("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=SENTINEL$2,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let r=null;for(let g=0,y=e.length;g0){e[g].lineStarts||(e[g].lineStarts=createLineStartsFast$1(e[g].buffer));const k=new Piece$1(g+1,{line:0,column:0},{line:e[g].lineStarts.length-1,column:e[g].buffer.length-e[g].lineStarts[e[g].lineStarts.length-1]},e[g].lineStarts.length-1,e[g].buffer.length);this._buffers.push(e[g]),r=this.rbInsertRight(r,k)}this._searchCache=new PieceTreeSearchCache$1(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=AverageBufferSize$1,i=t-Math.floor(t/3),r=i*2;let g="",y=0;const k=[];if(this.iterate(this.root,L=>{const V=this.getNodeContent(L),z=V.length;if(y<=i||y+z0){const L=g.replace(/\r\n|\r|\n/g,e);k.push(new StringBuffer$1(L,createLineStartsFast$1(L)))}this.create(k,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new PieceTreeSnapshot$1(this,e)}getOffsetAt(e,t){let i=0,r=this.root;for(;r!==SENTINEL$2;)if(r.left!==SENTINEL$2&&r.lf_left+1>=e)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt+1>=e){i+=r.size_left;const g=this.getAccumulatedValue(r,e-r.lf_left-2);return i+=g+t-1}else e-=r.lf_left+r.piece.lineFeedCnt,i+=r.size_left+r.piece.length,r=r.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const r=e;for(;t!==SENTINEL$2;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const g=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+g.index,g.index===0){const y=this.getOffsetAt(i+1,1),k=r-y;return new Position$3(i+1,k+1)}return new Position$3(i+1,g.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===SENTINEL$2){const g=this.getOffsetAt(i+1,1),y=r-e-g;return new Position$3(i+1,y+1)}else t=t.right;return new Position$3(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),g=this.getValueInRange2(i,r);return t?t!==this._EOL||!this._EOLNormalized?g.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?g:g.replace(/\r\n|\r|\n/g,t):g}getValueInRange2(e,t){if(e.node===t.node){const k=e.node,L=this._buffers[k.piece.bufferIndex].buffer,V=this.offsetInBuffer(k.piece.bufferIndex,k.piece.start);return L.substring(V+e.remainder,V+t.remainder)}let i=e.node;const r=this._buffers[i.piece.bufferIndex].buffer,g=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let y=r.substring(g+e.remainder,g+i.piece.length);for(i=i.next();i!==SENTINEL$2;){const k=this._buffers[i.piece.bufferIndex].buffer,L=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){y+=k.substring(L,L+t.remainder);break}else y+=k.substr(L,i.piece.length);i=i.next()}return y}getLinesContent(){const e=[];let t=0,i="",r=!1;return this.iterate(this.root,g=>{if(g===SENTINEL$2)return!0;const y=g.piece;let k=y.length;if(k===0)return!0;const L=this._buffers[y.bufferIndex].buffer,V=this._buffers[y.bufferIndex].lineStarts,z=y.start.line,j=y.end.line;let ie=V[z]+y.start.column;if(r&&(L.charCodeAt(ie)===10&&(ie++,k--),e[t++]=i,i="",r=!1,k===0))return!0;if(z===j)return!this._EOLNormalized&&L.charCodeAt(ie+k-1)===13?(r=!0,i+=L.substr(ie,k-1)):i+=L.substr(ie,k),!0;i+=this._EOLNormalized?L.substring(ie,Math.max(ie,V[z+1]-this._EOLLength)):L.substring(ie,V[z+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let oe=z+1;oepe+re,t.reset(0)):(ue=ie.buffer,he=pe=>pe,t.reset(re));do if(le=t.next(ue),le){if(he(le.index)>=ae)return z;this.positionInBuffer(e,he(le.index)-oe,de);const pe=this.getLineFeedCnt(e.piece.bufferIndex,g,de),Ce=de.line===g.line?de.column-g.column+r:de.column+1,$e=Ce+le[0].length;if(j[z++]=createFindMatch$1(new Range$5(i+pe,Ce,i+pe,$e),le,L),he(le.index)+le[0].length>=ae||z>=V)return z}while(le);return z}findMatchesLineByLine(e,t,i,r){const g=[];let y=0;const k=new Searcher$1(t.wordSeparators,t.regex);let L=this.nodeAt2(e.startLineNumber,e.startColumn);if(L===null)return[];const V=this.nodeAt2(e.endLineNumber,e.endColumn);if(V===null)return[];let z=this.positionInBuffer(L.node,L.remainder);const j=this.positionInBuffer(V.node,V.remainder);if(L.node===V.node)return this.findMatchesInNode(L.node,k,e.startLineNumber,e.startColumn,z,j,t,i,r,y,g),g;let ie=e.startLineNumber,oe=L.node;for(;oe!==V.node;){const ae=this.getLineFeedCnt(oe.piece.bufferIndex,z,oe.piece.end);if(ae>=1){const de=this._buffers[oe.piece.bufferIndex].lineStarts,ue=this.offsetInBuffer(oe.piece.bufferIndex,oe.piece.start),he=de[z.line+ae],pe=ie===e.startLineNumber?e.startColumn:1;if(y=this.findMatchesInNode(oe,k,ie,pe,z,this.positionInBuffer(oe,he-ue),t,i,r,y,g),y>=r)return g;ie+=ae}const le=ie===e.startLineNumber?e.startColumn-1:0;if(ie===e.endLineNumber){const de=this.getLineContent(ie).substring(le,e.endColumn-1);return y=this._findMatchesInLine(t,k,de,e.endLineNumber,le,y,g,i,r),g}if(y=this._findMatchesInLine(t,k,this.getLineContent(ie).substr(le),ie,le,y,g,i,r),y>=r)return g;ie++,L=this.nodeAt2(ie,1),oe=L.node,z=this.positionInBuffer(L.node,L.remainder)}if(ie===e.endLineNumber){const ae=ie===e.startLineNumber?e.startColumn-1:0,le=this.getLineContent(ie).substring(ae,e.endColumn-1);return y=this._findMatchesInLine(t,k,le,e.endLineNumber,ae,y,g,i,r),g}const re=ie===e.startLineNumber?e.startColumn:1;return y=this.findMatchesInNode(V.node,k,ie,re,z,j,t,i,r,y,g),g}_findMatchesInLine(e,t,i,r,g,y,k,L,V){const z=e.wordSeparators;if(!L&&e.simpleSearch){const ie=e.simpleSearch,oe=ie.length,re=i.length;let ae=-oe;for(;(ae=i.indexOf(ie,ae+oe))!==-1;)if((!z||isValidMatch$1(z,i,re,ae,oe))&&(k[y++]=new FindMatch$1(new Range$5(r,ae+1+g,r,ae+1+oe+g),null),y>=V))return y;return y}let j;t.reset(0);do if(j=t.next(i),j&&(k[y++]=createFindMatch$1(new Range$5(r,j.index+1+g,r,j.index+1+j[0].length+g),j,L),y>=V))return y;while(j);return y}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==SENTINEL$2){const{node:r,remainder:g,nodeStartOffset:y}=this.nodeAt(e),k=r.piece,L=k.bufferIndex,V=this.positionInBuffer(r,g);if(r.piece.bufferIndex===0&&k.end.line===this._lastChangeBufferPos.line&&k.end.column===this._lastChangeBufferPos.column&&y+k.length===e&&t.lengthe){const z=[];let j=new Piece$1(k.bufferIndex,V,k.end,this.getLineFeedCnt(k.bufferIndex,V,k.end),this.offsetInBuffer(L,k.end)-this.offsetInBuffer(L,V));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(r,g)===10){const ae={line:j.start.line+1,column:0};j=new Piece$1(j.bufferIndex,ae,j.end,this.getLineFeedCnt(j.bufferIndex,ae,j.end),j.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(r,g-1)===13){const ae=this.positionInBuffer(r,g-1);this.deleteNodeTail(r,ae),t="\r"+t,r.piece.length===0&&z.push(r)}else this.deleteNodeTail(r,V);else this.deleteNodeTail(r,V);const ie=this.createNewPieces(t);j.length>0&&this.rbInsertRight(r,j);let oe=r;for(let re=0;re=0;y--)g=this.rbInsertLeft(g,r[y]);this.validateCRLFWithPrevNode(g),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),r=this.rbInsertRight(t,i[0]);let g=r;for(let y=1;y=ie)V=j+1;else break;return i?(i.line=j,i.column=L-oe,null):{line:j,column:L-oe}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const r=this._buffers[e].lineStarts;if(i.line===r.length-1)return i.line-t.line;const g=r[i.line+1],y=r[i.line]+i.column;if(g>y+1)return i.line-t.line;const k=y-1;return this._buffers[e].buffer.charCodeAt(k)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tAverageBufferSize$1){const z=[];for(;e.length>AverageBufferSize$1;){const ie=e.charCodeAt(AverageBufferSize$1-1);let oe;ie===13||ie>=55296&&ie<=56319?(oe=e.substring(0,AverageBufferSize$1-1),e=e.substring(AverageBufferSize$1-1)):(oe=e.substring(0,AverageBufferSize$1),e=e.substring(AverageBufferSize$1));const re=createLineStartsFast$1(oe);z.push(new Piece$1(this._buffers.length,{line:0,column:0},{line:re.length-1,column:oe.length-re[re.length-1]},re.length-1,oe.length)),this._buffers.push(new StringBuffer$1(oe,re))}const j=createLineStartsFast$1(e);return z.push(new Piece$1(this._buffers.length,{line:0,column:0},{line:j.length-1,column:e.length-j[j.length-1]},j.length-1,e.length)),this._buffers.push(new StringBuffer$1(e,j)),z}let t=this._buffers[0].buffer.length;const i=createLineStartsFast$1(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let z=0;z=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const L=this.getAccumulatedValue(i,e-i.lf_left-2),V=this.getAccumulatedValue(i,e-i.lf_left-1),z=this._buffers[i.piece.bufferIndex].buffer,j=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return y+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:y,nodeStartLineNumber:k-(e-1-i.lf_left)}),z.substring(j+L,j+V-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const L=this.getAccumulatedValue(i,e-i.lf_left-2),V=this._buffers[i.piece.bufferIndex].buffer,z=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r=V.substring(z+L,z+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,y+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==SENTINEL$2;){const y=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const k=this.getAccumulatedValue(i,0),L=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=y.substring(L,L+k-t),r}else{const k=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r+=y.substr(k,i.piece.length)}i=i.next()}return r}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==SENTINEL$2;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,r=this.positionInBuffer(e,t),g=r.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const y=this.getLineFeedCnt(e.piece.bufferIndex,i.start,r);if(y!==g)return{index:y,remainder:0}}return{index:g,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,r=this._buffers[i.bufferIndex].lineStarts,g=i.start.line+t+1;return g>i.end.line?r[i.end.line]+i.end.column-r[i.start.line]-i.start.column:r[g]-r[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,r=i.lineFeedCnt,g=this.offsetInBuffer(i.bufferIndex,i.end),y=t,k=this.offsetInBuffer(i.bufferIndex,y),L=this.getLineFeedCnt(i.bufferIndex,i.start,y),V=L-r,z=k-g,j=i.length+z;e.piece=new Piece$1(i.bufferIndex,i.start,y,L,j),updateTreeMetadata$1(this,e,z,V)}deleteNodeHead(e,t){const i=e.piece,r=i.lineFeedCnt,g=this.offsetInBuffer(i.bufferIndex,i.start),y=t,k=this.getLineFeedCnt(i.bufferIndex,y,i.end),L=this.offsetInBuffer(i.bufferIndex,y),V=k-r,z=g-L,j=i.length+z;e.piece=new Piece$1(i.bufferIndex,y,i.end,k,j),updateTreeMetadata$1(this,e,z,V)}shrinkNode(e,t,i){const r=e.piece,g=r.start,y=r.end,k=r.length,L=r.lineFeedCnt,V=t,z=this.getLineFeedCnt(r.bufferIndex,r.start,V),j=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,g);e.piece=new Piece$1(r.bufferIndex,r.start,V,z,j),updateTreeMetadata$1(this,e,j-k,z-L);const ie=new Piece$1(r.bufferIndex,i,y,this.getLineFeedCnt(r.bufferIndex,i,y),this.offsetInBuffer(r.bufferIndex,y)-this.offsetInBuffer(r.bufferIndex,i)),oe=this.rbInsertRight(e,ie);this.validateCRLFWithPrevNode(oe)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const g=createLineStartsFast$1(t,!1);for(let oe=0;oee)t=t.left;else if(t.size_left+t.piece.length>=e){r+=t.size_left;const g={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(g),g}else e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,r=0;for(;i!==SENTINEL$2;)if(i.left!==SENTINEL$2&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const g=this.getAccumulatedValue(i,e-i.lf_left-2),y=this.getAccumulatedValue(i,e-i.lf_left-1);return r+=i.size_left,{node:i,remainder:Math.min(g+t-1,y),nodeStartOffset:r}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const g=this.getAccumulatedValue(i,e-i.lf_left-2);if(g+t-1<=i.piece.length)return{node:i,remainder:g+t-1,nodeStartOffset:r};t-=i.piece.length-g;break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==SENTINEL$2;){if(i.piece.lineFeedCnt>0){const g=this.getAccumulatedValue(i,0),y=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,g),nodeStartOffset:y}}else if(i.piece.length>=t-1){const g=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:g}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL==="\n")}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===SENTINEL$2||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,g=i[r]+t.start.column;return r===i.length-1||i[r+1]>g+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(g)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===SENTINEL$2||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let g;e.piece.end.column===0?g={line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:g={line:e.piece.end.line,column:e.piece.end.column-1};const y=e.piece.length-1,k=e.piece.lineFeedCnt-1;e.piece=new Piece$1(e.piece.bufferIndex,e.piece.start,g,k,y),updateTreeMetadata$1(this,e,-1,-1),e.piece.length===0&&i.push(e);const L={line:t.piece.start.line+1,column:0},V=t.piece.length-1,z=this.getLineFeedCnt(t.piece.bufferIndex,L,t.piece.end);t.piece=new Piece$1(t.piece.bufferIndex,L,t.piece.end,z,V),updateTreeMetadata$1(this,t,-1,-1),t.piece.length===0&&i.push(t);const j=this.createNewPieces("\r\n");this.rbInsertRight(e,j[0]);for(let ie=0;iele.sortIndex-de.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=g,this._mightContainNonBasicASCII=y;const oe=this._doApplyEdits(L);let re=null;if(t&&j.length>0){j.sort((ae,le)=>le.lineNumber-ae.lineNumber),re=[];for(let ae=0,le=j.length;ae0&&j[ae-1].lineNumber===de)continue;const ue=j[ae].oldContent,he=this.getLineContent(de);he.length===0||he===ue||firstNonWhitespaceIndex$1(he)!==-1||re.push(de)}}return this._onDidChangeContent.fire(),new ApplyEditsResult$1(ie,oe,re)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,r=e[e.length-1].range,g=new Range$5(i.startLineNumber,i.startColumn,r.endLineNumber,r.endColumn);let y=i.startLineNumber,k=i.startColumn;const L=[];for(let oe=0,re=e.length;oe0&&L.push(ae.text),y=le.endLineNumber,k=le.endColumn}const V=L.join(""),[z,j,ie]=countEOL$1(V);return{sortIndex:0,identifier:e[0].identifier,range:g,rangeOffset:this.getOffsetAt(g.startLineNumber,g.startColumn),rangeLength:this.getValueLengthInRange(g,0),text:V,eolCount:z,firstLineLength:j,lastLineLength:ie,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(zc._sortOpsDescending);const t=[];for(let i=0;i0){const ie=L.eolCount+1;ie===1?j=new Range$5(V,z,V,z+L.firstLineLength):j=new Range$5(V,z,V+ie-1,L.lastLineLength+1)}else j=new Range$5(V,z,V,z);i=j.endLineNumber,r=j.endColumn,t.push(j),g=L}return t}static _sortOpsAscending(e,t){const i=Range$5.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=Range$5.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}},PieceTreeTextBufferFactory$1=class{constructor(e,t,i,r,g,y,k,L,V){this._chunks=e,this._bom=t,this._cr=i,this._lf=r,this._crlf=g,this._containsRTL=y,this._containsUnusualLineTerminators=k,this._isBasicASCII=L,this._normalizeEOL=V}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t==="\r\n"&&(this._cr>0||this._lf>0)||t==="\n"&&(this._cr>0||this._crlf>0)))for(let g=0,y=i.length;g=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=createLineStarts$1(this._tmpLineStarts,e);this.chunks.push(new StringBuffer$1(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=containsRTL$1(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=containsUnusualLineTerminators$1(e)))}finish(e=!0){return this._finish(),new PieceTreeTextBufferFactory$1(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=createLineStartsFast$1(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}},FixedArray$1=class{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(t===0){this.insert(e,i);return}else if(i===0){this.delete(e,t);return}const r=this._store.slice(0,e),g=this._store.slice(e+t),y=arrayFill$1(i,this._default);this._store=r.concat(y,g)}delete(e,t){t===0||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(t===0||e>=this._store.length)return;const i=[];for(let r=0;r0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e){i.appendLineTokens(t);return}}this._tokens.push(new ContiguousMultilineTokens$1(e,[t]))}finalize(){return this._tokens}},TokenizerWithStateStore$1=class{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new TrackingTokenizationStateStore$1(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}},TokenizerWithStateStoreAndTextModel$1=class extends TokenizerWithStateStore$1{constructor(e,t,i,r){super(e,t),this._textModel=i,this._languageIdCodec=r}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const g=this._textModel.getLineContent(r.lineNumber),y=safeTokenize$1(this._languageIdCodec,i,this.tokenizationSupport,g,!0,r.startState);e.add(r.lineNumber,y.tokens),this.store.setEndState(r.lineNumber,y.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const r=this._textModel.getLanguageId(),g=this._textModel.getLineContent(e.lineNumber),y=g.substring(0,e.column-1)+t+g.substring(e.column-1),k=safeTokenize$1(this._languageIdCodec,r,this.tokenizationSupport,y,!0,i),L=new LineTokens$1(k.tokens,y,this._languageIdCodec);if(L.getCount()===0)return 0;const V=L.findTokenIndexAtOffset(e.column-1);return L.getStandardTokenType(V)}tokenizeLineWithEdit(e,t,i){const r=e.lineNumber,g=e.column,y=this.getStartState(r);if(!y)return null;const k=this._textModel.getLineContent(r),L=k.substring(0,g-1)+i+k.substring(g-1+t),V=this._textModel.getLanguageIdAtPosition(r,0),z=safeTokenize$1(this._languageIdCodec,V,this.tokenizationSupport,L,!0,y);return new LineTokens$1(z.tokens,L,this._languageIdCodec)}hasAccurateTokensForLine(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&k>=1;k--){const L=this._textModel.getLineFirstNonWhitespaceColumn(k);if(L!==0&&L0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}},RangePriorityQueueImpl$1=class{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(i=>i.contains(e));if(t!==-1){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new OffsetRange$1(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new OffsetRange$1(i.start,e):this._ranges.splice(t,1,new OffsetRange$1(i.start,e),new OffsetRange$1(e+1,i.endExclusive))}}addRange(e){OffsetRange$1.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let r=i;for(;!(r>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}};function safeTokenize$1(n,e,t,i,r,g){let y=null;if(t)try{y=t.tokenizeEncoded(i,r,g.clone())}catch(k){onUnexpectedError$1(k)}return y||(y=nullTokenizeEncoded$1(n.encodeLanguageId(e),g)),LineTokens$1.convertToEndOffset(y.tokens,i.length),y}let DefaultBackgroundTokenizer$1=class{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,runWhenGlobalIdle$1(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(e){var i;const t=(i=this._tokenizerWithStateStore)==null?void 0:i.getFirstInvalidLine();return t?(this._tokenizerWithStateStore.updateTokensUntilLine(e,t.lineNumber),t.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new LineRange$3(e,t))}},AttachedViews$1=class{constructor(){this._onDidChangeVisibleRanges=new Emitter$3,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new AttachedViewImpl$1(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}},AttachedViewImpl$1=class{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(r=>new LineRange$3(r.startLineNumber,r.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}},AttachedViewHandler$1=class extends Disposable$1{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new RunOnceScheduler$1(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){equals$5(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}};class AbstractTokens extends Disposable$1{get backgroundTokenizationState(){return this._backgroundTokenizationState}constructor(e,t,i){super(),this._languageIdCodec=e,this._textModel=t,this.getLanguageId=i,this._backgroundTokenizationState=1,this._onDidChangeBackgroundTokenizationState=this._register(new Emitter$3),this.onDidChangeBackgroundTokenizationState=this._onDidChangeBackgroundTokenizationState.event,this._onDidChangeTokens=this._register(new Emitter$3),this.onDidChangeTokens=this._onDidChangeTokens.event}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}}class TreeSitterTokens extends AbstractTokens{constructor(e,t,i,r){super(t,i,r),this._treeSitterService=e,this._tokenizationSupport=null,this._initialize()}_initialize(){const e=this.getLanguageId();(!this._tokenizationSupport||this._lastLanguageId!==e)&&(this._lastLanguageId=e,this._tokenizationSupport=TreeSitterTokenizationRegistry.get(e))}getLineTokens(e){const t=this._textModel.getLineContent(e);if(this._tokenizationSupport){const i=this._tokenizationSupport.tokenizeEncoded(e,this._textModel);if(i)return new LineTokens$1(i,t,this._languageIdCodec)}return LineTokens$1.createEmpty(t,this._languageIdCodec)}resetTokenization(e=!0){e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]}),this._initialize()}handleDidChangeAttached(){}handleDidChangeContent(e){e.isFlush&&this.resetTokenization(!1)}forceTokenization(e){}hasAccurateTokensForLine(e){return!0}isCheapToTokenize(e){return!0}getTokenTypeIfInsertingCharacter(e,t,i){return 0}tokenizeLineWithEdit(e,t,i){return null}get hasTokens(){return this._treeSitterService.getParseResult(this._textModel)!==void 0}}const ITreeSitterParserService=createDecorator$1("treeSitterParserService"),EMPTY_LINE_TOKENS$1=new Uint32Array(0).buffer;let ContiguousTokensEditing$1=class yd{static deleteBeginning(e,t){return e===null||e===EMPTY_LINE_TOKENS$1?e:yd.delete(e,0,t)}static deleteEnding(e,t){if(e===null||e===EMPTY_LINE_TOKENS$1)return e;const i=toUint32Array$1(e),r=i[i.length-2];return yd.delete(e,t,r)}static delete(e,t,i){if(e===null||e===EMPTY_LINE_TOKENS$1||t===i)return e;const r=toUint32Array$1(e),g=r.length>>>1;if(t===0&&r[r.length-2]===i)return EMPTY_LINE_TOKENS$1;const y=LineTokens$1.findIndexInTokensArray(r,t),k=y>0?r[y-1<<1]:0,L=r[y<<1];if(iz&&(r[V++]=re,r[V++]=r[(oe<<1)+1],z=re)}if(V===r.length)return e;const ie=new Uint32Array(V);return ie.set(r.subarray(0,V),0),ie.buffer}static append(e,t){if(t===EMPTY_LINE_TOKENS$1)return e;if(e===EMPTY_LINE_TOKENS$1)return t;if(e===null)return e;if(t===null)return null;const i=toUint32Array$1(e),r=toUint32Array$1(t),g=r.length>>>1,y=new Uint32Array(i.length+r.length);y.set(i,0);let k=i.length;const L=i[i.length-2];for(let V=0;V>>1;let y=LineTokens$1.findIndexInTokensArray(r,t);y>0&&r[y-1<<1]===t&&y--;for(let k=y;k0}getTokens(e,t,i){let r=null;if(t1&&(g=TokenMetadata$1.getLanguageId(r[1])!==e),!g)return EMPTY_LINE_TOKENS$1}if(!r||r.length===0){const g=new Uint32Array(2);return g[0]=t,g[1]=getDefaultMetadata$1(e),g.buffer}return r[r.length-2]=t,r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){t!==0&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(t===0)return;const i=[];for(let r=0;r=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=ContiguousTokensEditing$1.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=ContiguousTokensEditing$1.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let r=null;i=this._len)){if(t===0){this._lineTokens[r]=ContiguousTokensEditing$1.insert(this._lineTokens[r],e.column-1,i);return}this._lineTokens[r]=ContiguousTokensEditing$1.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=ContiguousTokensEditing$1.insert(this._lineTokens[r],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(e.length===0)return{changes:[]};const i=[];for(let r=0,g=e.length;r>>0}let SparseTokensStore$1=class Ju{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const g=t[0].getRange(),y=t[t.length-1].getRange();if(!g||!y)return e;i=e.plusRange(g).plusRange(y)}let r=null;for(let g=0,y=this._pieces.length;gi.endLineNumber){r=r||{index:g};break}if(k.removeTokens(i),k.isEmpty()){this._pieces.splice(g,1),g--,y--;continue}if(k.endLineNumberi.endLineNumber){r=r||{index:g};continue}const[L,V]=k.split(i);if(L.isEmpty()){r=r||{index:g};continue}V.isEmpty()||(this._pieces.splice(g,1,L,V),g++,y++,r=r||{index:g})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=arrayInsert$1(this._pieces,r.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(t.getLineContent().length===0)return t;const i=this._pieces;if(i.length===0)return t;const r=Ju._findFirstPieceWithLine(i,e),g=i[r].getLineTokens(e);if(!g)return t;const y=t.getCount(),k=g.getCount();let L=0;const V=[];let z=0,j=0;const ie=(oe,re)=>{oe!==j&&(j=oe,V[z++]=oe,V[z++]=re)};for(let oe=0;oe>>0,ue=~de>>>0;for(;Lt)r=g-1;else{for(;g>i&&e[g-1].startLineNumber<=t&&t<=e[g-1].endLineNumber;)g--;return g}}return i}acceptEdit(e,t,i,r,g){for(const y of this._pieces)y.acceptEdit(e,t,i,r,g)}};var __decorate$4L=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4y=function(n,e){return function(t,i){e(t,i,n)}},TokenizationTextModelPart_1;let TokenizationTextModelPart$1=TokenizationTextModelPart_1=class extends TextModelPart$1{constructor(e,t,i,r,g,y,k){super(),this._textModel=e,this._bracketPairsTextModelPart=t,this._languageId=i,this._attachedViews=r,this._languageService=g,this._languageConfigurationService=y,this._treeSitterService=k,this._semanticTokens=new SparseTokensStore$1(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new Emitter$3),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Emitter$3),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Emitter$3),this.onDidChangeTokens=this._onDidChangeTokens.event,this._tokensDisposables=this._register(new DisposableStore$1),this._register(this._languageConfigurationService.onDidChange(L=>{L.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(Event$2.filter(TreeSitterTokenizationRegistry.onDidChange,L=>L.changedLanguages.includes(this._languageId))(()=>{this.createPreferredTokenProvider()})),this.createPreferredTokenProvider()}createGrammarTokens(){return this._register(new GrammarTokens$1(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews))}createTreeSitterTokens(){return this._register(new TreeSitterTokens(this._treeSitterService,this._languageService.languageIdCodec,this._textModel,()=>this._languageId))}createTokens(e){var i;const t=this._tokens!==void 0;(i=this._tokens)==null||i.dispose(),this._tokens=e?this.createTreeSitterTokens():this.createGrammarTokens(),this._tokensDisposables.clear(),this._tokensDisposables.add(this._tokens.onDidChangeTokens(r=>{this._emitModelTokensChangedEvent(r)})),this._tokensDisposables.add(this._tokens.onDidChangeBackgroundTokenizationState(r=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()})),t&&this._tokens.resetTokenization()}createPreferredTokenProvider(){TreeSitterTokenizationRegistry.get(this._languageId)?this._tokens instanceof TreeSitterTokens||this.createTokens(!0):this._tokens instanceof GrammarTokens$1||this.createTokens(!1)}handleLanguageConfigurationServiceChange(e){e.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[i,r,g]=countEOL$1(t.text);this._semanticTokens.acceptEdit(t.range,i,r,g,t.text.length>0?t.text.charCodeAt(0):0)}this._tokens.handleDidChangeContent(e)}handleDidChangeAttached(){this._tokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this._tokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber")}get hasTokens(){return this._tokens.hasTokens}resetTokenization(){this._tokens.resetTokenization()}get backgroundTokenizationState(){return this._tokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this._tokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this._tokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this._tokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this._tokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this._tokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this._tokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:e!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),g=r.findTokenIndexAtOffset(t.column-1),[y,k]=TokenizationTextModelPart_1._findLanguageBoundaries(r,g),L=getWordAtText$1(t.column,this.getLanguageConfiguration(r.getLanguageId(g)).getWordDefinition(),i.substring(y,k),y);if(L&&L.startColumn<=e.column&&e.column<=L.endColumn)return L;if(g>0&&y===t.column-1){const[V,z]=TokenizationTextModelPart_1._findLanguageBoundaries(r,g-1),j=getWordAtText$1(t.column,this.getLanguageConfiguration(r.getLanguageId(g-1)).getWordDefinition(),i.substring(V,z),V);if(j&&j.startColumn<=e.column&&e.column<=j.endColumn)return j}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let r=0;for(let y=t;y>=0&&e.getLanguageId(y)===i;y--)r=e.getStartOffset(y);let g=e.getLineContent().length;for(let y=t,k=e.getCount();y{const y=this.getLanguageId();g.changedLanguages.indexOf(y)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges(({view:g,state:y})=>{if(y){let k=this._attachedViewStates.get(g);k||(k=new AttachedViewHandler$1(()=>this.refreshRanges(k.lineRanges)),this._attachedViewStates.set(g,k)),k.handleStateChange(y)}else this._attachedViewStates.deleteAndDispose(g)}))}resetTokenization(e=!0){var g;this._tokens.flush(),(g=this._debugBackgroundTokens)==null||g.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new TrackingTokenizationStateStore$1(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const t=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const y=TokenizationRegistry$2.get(this.getLanguageId());if(!y)return[null,null];let k;try{k=y.getInitialState()}catch(L){return onUnexpectedError$1(L),[null,null]}return[y,k]},[i,r]=t();if(i&&r?this._tokenizer=new TokenizerWithStateStoreAndTextModel$1(this._textModel.getLineCount(),i,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const y={setTokens:k=>{this.setTokens(k)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const k=2;this._backgroundTokenizationState=k,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(k,L)=>{var z;if(!this._tokenizer)return;const V=this._tokenizer.store.getFirstInvalidEndStateLineNumber();V!==null&&k>=V&&((z=this._tokenizer)==null||z.store.setEndState(k,L))}};i&&i.createBackgroundTokenizer&&!i.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,y)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new DefaultBackgroundTokenizer$1(this._tokenizer,y),this._defaultBackgroundTokenizer.handleChanges()),i!=null&&i.backgroundTokenizerShouldOnlyVerifyTokens&&i.createBackgroundTokenizer?(this._debugBackgroundTokens=new ContiguousTokensStore$1(this._languageIdCodec),this._debugBackgroundStates=new TrackingTokenizationStateStore$1(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=i.createBackgroundTokenizer(this._textModel,{setTokens:k=>{var L;(L=this._debugBackgroundTokens)==null||L.setMultilineTokens(k,this._textModel)},backgroundTokenizationFinished(){},setEndState:(k,L)=>{var V;(V=this._debugBackgroundStates)==null||V.setEndState(k,L)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;(e=this._defaultBackgroundTokenizer)==null||e.handleChanges()}handleDidChangeContent(e){var t,i,r;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const g of e.changes){const[y,k]=countEOL$1(g.text);this._tokens.acceptEdit(g.range,y,k),(t=this._debugBackgroundTokens)==null||t.acceptEdit(g.range,y,k)}(i=this._debugBackgroundStates)==null||i.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),(r=this._defaultBackgroundTokenizer)==null||r.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=LineRange$3.joinMany([...this._attachedViewStates].map(([t,i])=>i.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var y,k;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const i=new ContiguousMultilineTokensBuilder$1,{heuristicTokens:r}=this._tokenizer.tokenizeHeuristically(i,e,t),g=this.setTokens(i.finalize());if(r)for(const L of g.changes)(y=this._backgroundTokenizer.value)==null||y.requestTokens(L.fromLineNumber,L.toLineNumber+1);(k=this._defaultBackgroundTokenizer)==null||k.checkFinished()}forceTokenization(e){var i,r;const t=new ContiguousMultilineTokensBuilder$1;(i=this._tokenizer)==null||i.updateTokensUntilLine(t,e),this.setTokens(t.finalize()),(r=this._defaultBackgroundTokenizer)==null||r.checkFinished()}hasAccurateTokensForLine(e){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(e):!0}isCheapToTokenize(e){return this._tokenizer?this._tokenizer.isCheapToTokenize(e):!0}getLineTokens(e){var r;const t=this._textModel.getLineContent(e),i=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,t);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const g=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,t);!i.equals(g)&&((r=this._debugBackgroundTokenizer.value)!=null&&r.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return i}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new Position$3(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,i)}get hasTokens(){return this._tokens.hasTokens}},ModelRawFlush$1=class{constructor(){this.changeType=1}},LineInjectedText$1=class $d{static applyInjectedText(e,t){if(!t||t.length===0)return e;let i="",r=0;for(const g of t)i+=e.substring(r,g.column-1),r=g.column-1,i+=g.options.content;return i+=e.substring(r),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new $d(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new $d(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,r)=>i.lineNumber===r.lineNumber?i.column===r.column?i.order-r.order:i.column-r.column:i.lineNumber-r.lineNumber),t}constructor(e,t,i,r,g){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=r,this.order=g}},ModelRawLineChanged$1=class{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}},ModelRawLinesDeleted$1=class{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}},ModelRawLinesInserted$1=class{constructor(e,t,i,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}},ModelRawEOLChanged$1=class{constructor(){this.changeType=5}},ModelRawContentChangedEvent$1=class eh{constructor(e,t,i,r){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;t=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4x=function(n,e){return function(t,i){e(t,i,n)}},TextModel_1$1;function createTextBufferFactory$1(n){const e=new PieceTreeTextBufferBuilder$1;return e.acceptChunk(n),e.finish()}function createTextBufferFactoryFromSnapshot$1(n){const e=new PieceTreeTextBufferBuilder$1;let t;for(;typeof(t=n.read())=="string";)e.acceptChunk(t);return e.finish()}function createTextBuffer$1(n,e){let t;return typeof n=="string"?t=createTextBufferFactory$1(n):isITextSnapshot$1(n)?t=createTextBufferFactoryFromSnapshot$1(n):t=n,t.create(e)}let MODEL_ID$3=0;const LIMIT_FIND_COUNT$2=999,LONG_LINE_BOUNDARY$1=1e4;let TextModelSnapshot$1=class{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;do{const r=this._source.read();if(r===null)return this._eos=!0,t===0?null:e.join("");if(r.length>0&&(e[t++]=r,i+=r.length),i>=64*1024)return e.join("")}while(!0)}};const invalidFunc$3=()=>{throw new Error("Invalid change accessor")};var xo;let TextModel$1=(xo=class extends Disposable$1{static resolveOptions(e,t){if(t.detectIndentation){const i=guessIndentation$1(e,t.tabSize,t.insertSpaces);return new TextModelResolvedOptions$1({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new TextModelResolvedOptions$1(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return combinedDisposable$1(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,r=null,g,y,k,L){super(),this._undoRedoService=g,this._languageService=y,this._languageConfigurationService=k,this.instantiationService=L,this._onWillDispose=this._register(new Emitter$3),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new DidChangeDecorationsEmitter$1(re=>this.handleBeforeFireDecorationsChangedEvent(re))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Emitter$3),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Emitter$3),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Emitter$3),this._eventEmitter=this._register(new DidChangeContentEmitter$1),this._languageSelectionListener=this._register(new MutableDisposable$1),this._deltaDecorationCallCnt=0,this._attachedViews=new AttachedViews$1,MODEL_ID$3++,this.id="$model"+MODEL_ID$3,this.isForSimpleWidget=i.isForSimpleWidget,typeof r>"u"||r===null?this._associatedResource=URI$1.parse("inmemory://model/"+MODEL_ID$3):this._associatedResource=r,this._attachedEditorCount=0;const{textBuffer:V,disposable:z}=createTextBuffer$1(e,i.defaultEOL);this._buffer=V,this._bufferDisposable=z,this._options=TextModel_1$1.resolveOptions(this._buffer,i);const j=typeof t=="string"?t:t.languageId;typeof t!="string"&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new BracketPairsTextModelPart$1(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new GuidesTextModelPart$1(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ColorizedBracketPairsDecorationProvider$1(this)),this._tokenizationTextModelPart=this.instantiationService.createInstance(TokenizationTextModelPart$1,this,this._bracketPairs,j,this._attachedViews);const ie=this._buffer.getLineCount(),oe=this._buffer.getValueLengthInRange(new Range$5(1,1,ie,this._buffer.getLineLength(ie)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=oe>TextModel_1$1.LARGE_FILE_SIZE_THRESHOLD||ie>TextModel_1$1.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=oe>TextModel_1$1.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=oe>TextModel_1$1._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=singleLetterHash$1(MODEL_ID$3),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees$1,this._commandManager=new EditStack$1(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(j),this._register(this._languageConfigurationService.onDidChange(re=>{this._bracketPairs.handleLanguageConfigurationServiceChange(re),this._tokenizationTextModelPart.handleLanguageConfigurationServiceChange(re)}))}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new PieceTreeTextBuffer$1([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Disposable$1.None}_assertNotDisposed(){if(this._isDisposed)throw new BugIndicatingError$1("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new InternalModelContentChangeEvent$1(e,t)))}setValue(e){if(this._assertNotDisposed(),e==null)throw illegalArgument$1();const{textBuffer:t,disposable:i}=createTextBuffer$1(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,r,g,y,k,L){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:r}],eol:this._buffer.getEOL(),isEolChange:L,versionId:this.getVersionId(),isUndoing:g,isRedoing:y,isFlush:k}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),g=this.getLineCount(),y=this.getLineMaxColumn(g);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees$1,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ModelRawContentChangedEvent$1([new ModelRawFlush$1],this._versionId,!1,!1),this._createContentChanged2(new Range$5(1,1,g,y),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=e===1?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),g=this.getLineCount(),y=this.getLineMaxColumn(g);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ModelRawContentChangedEvent$1([new ModelRawEOLChanged$1],this._versionId,!1,!1),this._createContentChanged2(new Range$5(1,1,g,y),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,r=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let r=1;r<=i;r++){const g=this._buffer.getLineLength(r);g>=LONG_LINE_BOUNDARY$1?t+=g:e+=g}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,r=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,g=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,y=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,k=new TextModelResolvedOptions$1({tabSize:t,indentSize:i,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:g,bracketPairColorizationOptions:y});if(this._options.equals(k))return;const L=this._options.createChangeEvent(k);this._options=k,this._bracketPairs.handleDidChangeOptions(L),this._decorationProvider.handleDidChangeOptions(L),this._onDidChangeOptions.fire(L)}detectIndentation(e,t){this._assertNotDisposed();const i=guessIndentation$1(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),normalizeIndentation$1(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(UNUSUAL_LINE_TERMINATORS$1.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError$1("Operation would exceed heap memory limits");const i=this.getFullModelRange(),r=this.getValueInRange(i,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new TextModelSnapshot$1(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError$1("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()==="\n"?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError$1("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;let g=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),y=Math.floor(typeof r=="number"&&!isNaN(r)?r:1);if(g<1)g=1,y=1;else if(g>t)g=t,y=this.getLineMaxColumn(g);else if(y<=1)y=1;else{const j=this.getLineMaxColumn(g);y>=j&&(y=j)}const k=e.endLineNumber,L=e.endColumn;let V=Math.floor(typeof k=="number"&&!isNaN(k)?k:1),z=Math.floor(typeof L=="number"&&!isNaN(L)?L:1);if(V<1)V=1,z=1;else if(V>t)V=t,z=this.getLineMaxColumn(V);else if(z<=1)z=1;else{const j=this.getLineMaxColumn(V);z>=j&&(z=j)}return i===g&&r===y&&k===V&&L===z&&e instanceof Range$5&&!(e instanceof Selection$3)?e:new Range$5(g,y,V,z)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const r=this._buffer.getLineCount();if(e>r)return!1;if(t===1)return!0;const g=this.getLineMaxColumn(e);if(t>g)return!1;if(i===1){const y=this._buffer.getLineCharCode(e,t-2);if(isHighSurrogate$1(y))return!1}return!0}_validatePosition(e,t,i){const r=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),g=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),y=this._buffer.getLineCount();if(r<1)return new Position$3(1,1);if(r>y)return new Position$3(y,this.getLineMaxColumn(y));if(g<=1)return new Position$3(r,1);const k=this.getLineMaxColumn(r);if(g>=k)return new Position$3(r,k);if(i===1){const L=this._buffer.getLineCharCode(r,g-2);if(isHighSurrogate$1(L))return new Position$3(r,g-1)}return new Position$3(r,g)}validatePosition(e){return this._assertNotDisposed(),e instanceof Position$3&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn;if(!this._isValidPosition(i,r,0)||!this._isValidPosition(g,y,0))return!1;if(t===1){const k=r>1?this._buffer.getLineCharCode(i,r-2):0,L=y>1&&y<=this._buffer.getLineLength(g)?this._buffer.getLineCharCode(g,y-2):0,V=isHighSurrogate$1(k),z=isHighSurrogate$1(L);return!V&&!z}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof Range$5&&!(e instanceof Selection$3)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),r=this._validatePosition(e.endLineNumber,e.endColumn,0),g=i.lineNumber,y=i.column,k=r.lineNumber,L=r.column;{const V=y>1?this._buffer.getLineCharCode(g,y-2):0,z=L>1&&L<=this._buffer.getLineLength(k)?this._buffer.getLineCharCode(k,L-2):0,j=isHighSurrogate$1(V),ie=isHighSurrogate$1(z);return!j&&!ie?new Range$5(g,y,k,L):g===k&&y===L?new Range$5(g,y-1,k,L-1):j&&ie?new Range$5(g,y-1,k,L+1):j?new Range$5(g,y-1,k,L):new Range$5(g,y,k,L+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new Range$5(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,r){return this._buffer.findMatchesLineByLine(e,t,i,r)}findMatches(e,t,i,r,g,y,k=LIMIT_FIND_COUNT$2){this._assertNotDisposed();let L=null;t!==null&&(Array.isArray(t)||(t=[t]),t.every(j=>Range$5.isIRange(j))&&(L=t.map(j=>this.validateRange(j)))),L===null&&(L=[this.getFullModelRange()]),L=L.sort((j,ie)=>j.startLineNumber-ie.startLineNumber||j.startColumn-ie.startColumn);const V=[];V.push(L.reduce((j,ie)=>Range$5.areIntersecting(j,ie)?j.plusRange(ie):(V.push(j),ie)));let z;if(!i&&e.indexOf("\n")<0){const ie=new SearchParams$1(e,i,r,g).parseSearchRequest();if(!ie)return[];z=oe=>this.findMatchesLineByLine(oe,ie,y,k)}else z=j=>TextModelSearch$1.findMatches(this,new SearchParams$1(e,i,r,g),j,y,k);return V.map(z).reduce((j,ie)=>j.concat(ie),[])}findNextMatch(e,t,i,r,g,y){this._assertNotDisposed();const k=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const V=new SearchParams$1(e,i,r,g).parseSearchRequest();if(!V)return null;const z=this.getLineCount();let j=new Range$5(k.lineNumber,k.column,z,this.getLineMaxColumn(z)),ie=this.findMatchesLineByLine(j,V,y,1);return TextModelSearch$1.findNextMatch(this,new SearchParams$1(e,i,r,g),k,y),ie.length>0||(j=new Range$5(1,1,k.lineNumber,this.getLineMaxColumn(k.lineNumber)),ie=this.findMatchesLineByLine(j,V,y,1),ie.length>0)?ie[0]:null}return TextModelSearch$1.findNextMatch(this,new SearchParams$1(e,i,r,g),k,y)}findPreviousMatch(e,t,i,r,g,y){this._assertNotDisposed();const k=this.validatePosition(t);return TextModelSearch$1.findPreviousMatch(this,new SearchParams$1(e,i,r,g),k,y)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()==="\n"?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof ValidAnnotatedEditOperation$1?e:new ValidAnnotatedEditOperation$1(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,r=e.length;i({range:this.validateRange(k.range),text:k.text}));let y=!0;if(e)for(let k=0,L=e.length;kV.endLineNumber,ae=V.startLineNumber>oe.endLineNumber;if(!re&&!ae){z=!0;break}}if(!z){y=!1;break}}if(y)for(let k=0,L=this._trimAutoWhitespaceLines.length;kre.endLineNumber)&&!(V===re.startLineNumber&&re.startColumn===z&&re.isEmpty()&&ae&&ae.length>0&&ae.charAt(0)==="\n")&&!(V===re.startLineNumber&&re.startColumn===1&&re.isEmpty()&&ae&&ae.length>0&&ae.charAt(ae.length-1)==="\n")){j=!1;break}}if(j){const ie=new Range$5(V,1,V,z);t.push(new ValidAnnotatedEditOperation$1(null,ie,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,r)}_applyUndo(e,t,i,r){const g=e.map(y=>{const k=this.getPositionAt(y.newPosition),L=this.getPositionAt(y.newEnd);return{range:new Range$5(k.lineNumber,k.column,L.lineNumber,L.column),text:y.oldText}});this._applyUndoRedoEdits(g,t,!0,!1,i,r)}_applyRedo(e,t,i,r){const g=e.map(y=>{const k=this.getPositionAt(y.oldPosition),L=this.getPositionAt(y.oldEnd);return{range:new Range$5(k.lineNumber,k.column,L.lineNumber,L.column),text:y.newText}});this._applyUndoRedoEdits(g,t,!1,!0,i,r)}_applyUndoRedoEdits(e,t,i,r,g,y){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(g)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(y),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),g=this._buffer.getLineCount(),y=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,y.length!==0){for(let V=0,z=y.length;V=0;Ne--){const Fe=oe+Ne,Ve=he+Ne;Ie.takeFromEndWhile(ze=>ze.lineNumber>Ve);const Oe=Ie.takeFromEndWhile(ze=>ze.lineNumber===Ve);k.push(new ModelRawLineChanged$1(Fe,this.getLineContent(Ve),Oe))}if(deAt.lineNumberAt.lineNumber===Et)}k.push(new ModelRawLinesInserted$1(Fe+1,oe+le,qe,ze))}L+=ue}this._emitContentChangedEvent(new ModelRawContentChangedEvent$1(k,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:y,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return r.reverseEdits===null?void 0:r.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(e===null||e.size===0)return;const i=Array.from(e).map(r=>new ModelRawLineChanged$1(r,this.getLineContent(r),this._getInjectedTextInLine(r)));this._onDidChangeInjectedText.fire(new ModelInjectedTextChangedEvent$1(i))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(g,y)=>this._deltaDecorationsImpl(e,[],[{range:g,options:y}])[0],changeDecoration:(g,y)=>{this._changeDecorationImpl(g,y)},changeDecorationOptions:(g,y)=>{this._changeDecorationOptionsImpl(g,_normalizeOptions$1(y))},removeDecoration:g=>{this._deltaDecorationsImpl(e,[g],[])},deltaDecorations:(g,y)=>g.length===0&&y.length===0?[]:this._deltaDecorationsImpl(e,g,y)};let r=null;try{r=t(i)}catch(g){onUnexpectedError$1(g)}return i.addDecoration=invalidFunc$3,i.changeDecoration=invalidFunc$3,i.changeDecorationOptions=invalidFunc$3,i.removeDecoration=invalidFunc$3,i.deltaDecorations=invalidFunc$3,r}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),onUnexpectedError$1(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:TRACKED_RANGE_OPTIONS$1[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const g=this._validateRangeRelaxedNoAllocations(t),y=this._buffer.getOffsetAt(g.startLineNumber,g.startColumn),k=this._buffer.getOffsetAt(g.endLineNumber,g.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),y,k,g),r.setOptions(TRACKED_RANGE_OPTIONS$1[i]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,r=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,r=!1,g=!1){const y=this.getLineCount(),k=Math.min(y,Math.max(1,e)),L=Math.min(y,Math.max(1,t)),V=this.getLineMaxColumn(L),z=new Range$5(k,1,L,V),j=this._getDecorationsInRange(z,i,r,g);return pushMany$1(j,this._decorationProvider.getDecorationsInRange(z,i,r)),j}getDecorationsInRange(e,t=0,i=!1,r=!1,g=!1){const y=this.validateRange(e),k=this._getDecorationsInRange(y,t,i,g);return pushMany$1(k,this._decorationProvider.getDecorationsInRange(y,t,i,r)),k}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return LineInjectedText$1.fromDecorations(r).filter(g=>g.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,r){const g=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),y=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,g,y,t,i,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const k=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(k.endLineNumber)}if(i.options.before){const k=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(k.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),g=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),y=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),g,y,r),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const r=!!(i.options.overviewRuler&&i.options.overviewRuler.color),g=!!(t.overviewRuler&&t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const L=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(L.endLineNumber)}if(i.options.before||t.before){const L=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(L.startLineNumber)}const y=r!==g,k=isOptionsInjectedText$1(t)!==isNodeInjectedText$1(i);y||k?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,r=!1){const g=this.getVersionId(),y=t.length;let k=0;const L=i.length;let V=0;this._onDidChangeDecorations.beginDeferredEmit();try{const z=new Array(L);for(;kthis._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return indentOfLine$1(this.getLineContent(e))+1}},TextModel_1$1=xo,xo._MODEL_SYNC_LIMIT=50*1024*1024,xo.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024,xo.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3,xo.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024,xo.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:EDITOR_MODEL_DEFAULTS$1.tabSize,indentSize:EDITOR_MODEL_DEFAULTS$1.indentSize,insertSpaces:EDITOR_MODEL_DEFAULTS$1.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:EDITOR_MODEL_DEFAULTS$1.trimAutoWhitespace,largeFileOptimizations:EDITOR_MODEL_DEFAULTS$1.largeFileOptimizations,bracketPairColorizationOptions:EDITOR_MODEL_DEFAULTS$1.bracketPairColorizationOptions},xo);TextModel$1=TextModel_1$1=__decorate$4K([__param$4x(4,IUndoRedoService$1),__param$4x(5,ILanguageService$1),__param$4x(6,ILanguageConfigurationService$1),__param$4x(7,IInstantiationService$1)],TextModel$1);function indentOfLine$1(n){let e=0;for(const t of n)if(t===" "||t===" ")e++;else break;return e}function isNodeInOverviewRuler$1(n){return!!(n.options.overviewRuler&&n.options.overviewRuler.color)}function isOptionsInjectedText$1(n){return!!n.after||!!n.before}function isNodeInjectedText$1(n){return!!n.options.after||!!n.options.before}let DecorationsTrees$1=class{constructor(){this._decorationsTree0=new IntervalTree$1,this._decorationsTree1=new IntervalTree$1,this._injectedTextDecorationsTree=new IntervalTree$1}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)i.range===null&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,r,g,y){const k=e.getVersionId(),L=this._intervalSearch(t,i,r,g,k,y);return this._ensureNodesHaveRanges(e,L)}_intervalSearch(e,t,i,r,g,y){const k=this._decorationsTree0.intervalSearch(e,t,i,r,g,y),L=this._decorationsTree1.intervalSearch(e,t,i,r,g,y),V=this._injectedTextDecorationsTree.intervalSearch(e,t,i,r,g,y);return k.concat(L).concat(V)}getInjectedTextInInterval(e,t,i,r){const g=e.getVersionId(),y=this._injectedTextDecorationsTree.intervalSearch(t,i,r,!1,g,!1);return this._ensureNodesHaveRanges(e,y).filter(k=>k.options.showIfCollapsed||!k.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,r).filter(g=>g.options.showIfCollapsed||!g.range.isEmpty())}getAll(e,t,i,r,g){const y=e.getVersionId(),k=this._search(t,i,r,y,g);return this._ensureNodesHaveRanges(e,k)}_search(e,t,i,r,g){if(i)return this._decorationsTree1.search(e,t,r,g);{const y=this._decorationsTree0.search(e,t,r,g),k=this._decorationsTree1.search(e,t,r,g),L=this._injectedTextDecorationsTree.search(e,t,r,g);return y.concat(k).concat(L)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){isNodeInjectedText$1(e)?this._injectedTextDecorationsTree.insert(e):isNodeInOverviewRuler$1(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){isNodeInjectedText$1(e)?this._injectedTextDecorationsTree.delete(e):isNodeInOverviewRuler$1(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){isNodeInjectedText$1(e)?this._injectedTextDecorationsTree.resolveNode(e,t):isNodeInOverviewRuler$1(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,r){this._decorationsTree0.acceptReplace(e,t,i,r),this._decorationsTree1.acceptReplace(e,t,i,r),this._injectedTextDecorationsTree.acceptReplace(e,t,i,r)}};function cleanClassName$1(n){return n.replace(/[^a-z0-9\-_]/gi," ")}let DecorationOptions$1=class{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}},ModelDecorationOverviewRulerOptions$1=class extends DecorationOptions$1{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position=="number"?e.position:OverviewRulerLane$2.Center}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e=="string")return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}},ModelDecorationGlyphMarginOptions$1=class{constructor(e){var t;this.position=(t=e==null?void 0:e.position)!=null?t:GlyphMarginLane$2.Center,this.persistLane=e==null?void 0:e.persistLane}},ModelDecorationMinimapOptions$1=class extends DecorationOptions$1{constructor(e){var t,i;super(e),this.position=e.position,this.sectionHeaderStyle=(t=e.sectionHeaderStyle)!=null?t:null,this.sectionHeaderText=(i=e.sectionHeaderText)!=null?i:null}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e=="string"?Color$2.fromHex(e):t.getColor(e.id)}},ModelDecorationInjectedTextOptions$1=class xd{static from(e){return e instanceof xd?e:new xd(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}},ModelDecorationOptions$1=class kd{static register(e){return new kd(e)}static createDynamic(e){return new kd(e)}constructor(e){var t,i,r,g,y,k;this.description=e.description,this.blockClassName=e.blockClassName?cleanClassName$1(e.blockClassName):null,this.blockDoesNotCollapse=(t=e.blockDoesNotCollapse)!=null?t:null,this.blockIsAfterEnd=(i=e.blockIsAfterEnd)!=null?i:null,this.blockPadding=(r=e.blockPadding)!=null?r:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?cleanClassName$1(e.className):null,this.shouldFillLineOnLineBreak=(g=e.shouldFillLineOnLineBreak)!=null?g:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ModelDecorationOverviewRulerOptions$1(e.overviewRuler):null,this.minimap=e.minimap?new ModelDecorationMinimapOptions$1(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ModelDecorationGlyphMarginOptions$1(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?cleanClassName$1(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?cleanClassName$1(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?cleanClassName$1(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?htmlAttributeEncodeValue$1(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?cleanClassName$1(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?cleanClassName$1(e.marginClassName):null,this.inlineClassName=e.inlineClassName?cleanClassName$1(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?cleanClassName$1(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?cleanClassName$1(e.afterContentClassName):null,this.after=e.after?ModelDecorationInjectedTextOptions$1.from(e.after):null,this.before=e.before?ModelDecorationInjectedTextOptions$1.from(e.before):null,this.hideInCommentTokens=(y=e.hideInCommentTokens)!=null?y:!1,this.hideInStringTokens=(k=e.hideInStringTokens)!=null?k:!1}};ModelDecorationOptions$1.EMPTY=ModelDecorationOptions$1.register({description:"empty"});const TRACKED_RANGE_OPTIONS$1=[ModelDecorationOptions$1.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ModelDecorationOptions$1.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ModelDecorationOptions$1.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ModelDecorationOptions$1.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function _normalizeOptions$1(n){return n instanceof ModelDecorationOptions$1?n:ModelDecorationOptions$1.createDynamic(n)}let DidChangeDecorationsEmitter$1=class extends Disposable$1{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Emitter$3),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),(e=this._affectedInjectedTextLines)==null||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,i;this._affectsMinimap||(this._affectsMinimap=!!((t=e.minimap)!=null&&t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!((i=e.overviewRuler)!=null&&i.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}},DidChangeContentEmitter$1=class extends Disposable$1{constructor(){super(),this._fastEmitter=this._register(new Emitter$3),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Emitter$3),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}};var __decorate$4J=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4w=function(n,e){return function(t,i){e(t,i,n)}},ModelService_1$1;function MODEL_ID$2(n){return n.toString()}let ModelData$3=class{constructor(e,t,i){this.model=e,this._modelEventListeners=new DisposableStore$1,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(r=>i(e,r)))}dispose(){this._modelEventListeners.dispose()}};const DEFAULT_EOL$1=isLinux$1||isMacintosh$1?1:2;let DisposedModelInfo$1=class{constructor(e,t,i,r,g,y,k,L){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=r,this.heapSize=g,this.sha1=y,this.versionId=k,this.alternativeVersionId=L}};var Ms;let ModelService$1=(Ms=class extends Disposable$1{constructor(e,t,i,r){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._instantiationService=r,this._onModelAdded=this._register(new Emitter$3),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new Emitter$3),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new Emitter$3),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(g=>this._updateModelOptions(g))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var ie;let i=EDITOR_MODEL_DEFAULTS$1.tabSize;if(e.editor&&typeof e.editor.tabSize<"u"){const oe=parseInt(e.editor.tabSize,10);isNaN(oe)||(i=oe),i<1&&(i=1)}let r="tabSize";if(e.editor&&typeof e.editor.indentSize<"u"&&e.editor.indentSize!=="tabSize"){const oe=parseInt(e.editor.indentSize,10);isNaN(oe)||(r=Math.max(oe,1))}let g=EDITOR_MODEL_DEFAULTS$1.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(g=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let y=DEFAULT_EOL$1;const k=e.eol;k==="\r\n"?y=2:k==="\n"&&(y=1);let L=EDITOR_MODEL_DEFAULTS$1.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(L=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let V=EDITOR_MODEL_DEFAULTS$1.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(V=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let z=EDITOR_MODEL_DEFAULTS$1.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(z=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let j=EDITOR_MODEL_DEFAULTS$1.bracketPairColorizationOptions;return(ie=e.editor)!=null&&ie.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"&&(j={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:i,indentSize:r,insertSpaces:g,detectIndentation:V,defaultEOL:y,trimAutoWhitespace:L,largeFileOptimizations:z,bracketPairColorizationOptions:j}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:OS$1===3||OS$1===2?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const r=typeof e=="string"?e:e.languageId;let g=this._modelCreationOptionsByLanguageAndResource[r+t];if(!g){const y=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),k=this._getEOL(t,r);g=ModelService_1$1._readModelOptions({editor:y,eol:k},i),this._modelCreationOptionsByLanguageAndResource[r+t]=g}return g}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let r=0,g=i.length;re){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,r)=>i.time-r.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,r){const g=this.getCreationOptions(t,i,r),y=this._instantiationService.createInstance(TextModel$1,e,t,g,i);if(i&&this._disposedModels.has(MODEL_ID$2(i))){const V=this._removeDisposedModel(i),z=this._undoRedoService.getElements(i),j=this._getSHA1Computer(),ie=j.canComputeSHA1(y)?j.computeSHA1(y)===V.sha1:!1;if(ie||V.sharesUndoRedoStack){for(const oe of z.past)isEditStackElement$1(oe)&&oe.matchesResource(i)&&oe.setModel(y);for(const oe of z.future)isEditStackElement$1(oe)&&oe.matchesResource(i)&&oe.setModel(y);this._undoRedoService.setElementsValidFlag(i,!0,oe=>isEditStackElement$1(oe)&&oe.matchesResource(i)),ie&&(y._overwriteVersionId(V.versionId),y._overwriteAlternativeVersionId(V.alternativeVersionId),y._overwriteInitialUndoRedoSnapshot(V.initialUndoRedoSnapshot))}else V.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(V.initialUndoRedoSnapshot)}const k=MODEL_ID$2(y.uri);if(this._models[k])throw new Error("ModelService: Cannot add model because it already exists!");const L=new ModelData$3(y,V=>this._onWillDispose(V),(V,z)=>this._onDidChangeLanguage(V,z));return this._models[k]=L,L}createModel(e,t,i,r=!1){let g;return t?g=this._createModelData(e,t,i,r):g=this._createModelData(e,PLAINTEXT_LANGUAGE_ID$1,i,r),this._onModelAdded.fire(g.model),g.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,r=t.length;i0||V.future.length>0){for(const z of V.past)isEditStackElement$1(z)&&z.matchesResource(e.uri)&&(g=!0,y+=z.heapSize(e.uri),z.setModel(e.uri));for(const z of V.future)isEditStackElement$1(z)&&z.matchesResource(e.uri)&&(g=!0,y+=z.heapSize(e.uri),z.setModel(e.uri))}}const k=ModelService_1$1.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,L=this._getSHA1Computer();if(g)if(!r&&(y>k||!L.canComputeSHA1(e))){const V=i.model.getInitialUndoRedoSnapshot();V!==null&&this._undoRedoService.restoreSnapshot(V)}else this._ensureDisposedModelsHeapSize(k-y),this._undoRedoService.setElementsValidFlag(e.uri,!1,V=>isEditStackElement$1(V)&&V.matchesResource(e.uri)),this._insertDisposedModel(new DisposedModelInfo$1(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),r,y,L.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else if(!r){const V=i.model.getInitialUndoRedoSnapshot();V!==null&&this._undoRedoService.restoreSnapshot(V)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,r=e.getLanguageId(),g=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),y=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);ModelService_1$1._setModelOptionsForModel(e,y,g),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new DefaultModelSHA1Computer$1}},ModelService_1$1=Ms,Ms.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024,Ms);ModelService$1=ModelService_1$1=__decorate$4J([__param$4w(0,IConfigurationService$1),__param$4w(1,ITextResourcePropertiesService$1),__param$4w(2,IUndoRedoService$1),__param$4w(3,IInstantiationService$1)],ModelService$1);var As;let DefaultModelSHA1Computer$1=(As=class{canComputeSHA1(e){return e.getValueLength()<=As.MAX_MODEL_SIZE}computeSHA1(e){const t=new StringSHA1$1,i=e.createSnapshot();let r;for(;r=i.read();)t.update(r);return t.digest()}},As.MAX_MODEL_SIZE=10*1024*1024,As);var DefaultQuickAccessFilterValue$1;(function(n){n[n.PRESERVE=0]="PRESERVE",n[n.LAST=1]="LAST"})(DefaultQuickAccessFilterValue$1||(DefaultQuickAccessFilterValue$1={}));const Extensions$c={Quickaccess:"workbench.contributions.quickaccess"};let QuickAccessRegistry$1=class{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((t,i)=>i.prefix.length-t.prefix.length),toDisposable$1(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return coalesce$1([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(i=>e.startsWith(i.prefix))||void 0||this.defaultProvider}};Registry$1.add(Extensions$c.Quickaccess,new QuickAccessRegistry$1);const NO_KEY_MODS$1={ctrlCmd:!1,alt:!1};var QuickInputHideReason$1;(function(n){n[n.Blur=1]="Blur",n[n.Gesture=2]="Gesture",n[n.Other=3]="Other"})(QuickInputHideReason$1||(QuickInputHideReason$1={}));var ItemActivation$1;(function(n){n[n.NONE=0]="NONE",n[n.FIRST=1]="FIRST",n[n.SECOND=2]="SECOND",n[n.LAST=3]="LAST"})(ItemActivation$1||(ItemActivation$1={}));var QuickPickFocus;(function(n){n[n.First=1]="First",n[n.Second=2]="Second",n[n.Last=3]="Last",n[n.Next=4]="Next",n[n.Previous=5]="Previous",n[n.NextPage=6]="NextPage",n[n.PreviousPage=7]="PreviousPage",n[n.NextSeparator=8]="NextSeparator",n[n.PreviousSeparator=9]="PreviousSeparator"})(QuickPickFocus||(QuickPickFocus={}));var QuickInputButtonLocation;(function(n){n[n.Title=1]="Title",n[n.Inline=2]="Inline"})(QuickInputButtonLocation||(QuickInputButtonLocation={}));const IQuickInputService$1=createDecorator$1("quickInputService");var __decorate$4I=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4v=function(n,e){return function(t,i){e(t,i,n)}};let QuickAccessController$1=class extends Disposable$1{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Registry$1.as(Extensions$c.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){var re,ae,le,de;const[r,g]=this.getOrInstantiateProvider(e,i==null?void 0:i.enabledProviderPrefixes),y=this.visibleQuickAccess,k=y==null?void 0:y.descriptor;if(y&&g&&k===g){e!==g.prefix&&!(i!=null&&i.preserveValue)&&(y.picker.value=e),this.adjustValueSelection(y.picker,g,i);return}if(g&&!(i!=null&&i.preserveValue)){let ue;if(y&&k&&k!==g){const he=y.value.substr(k.prefix.length);he&&(ue="".concat(g.prefix).concat(he))}if(!ue){const he=r==null?void 0:r.defaultFilterValue;he===DefaultQuickAccessFilterValue$1.LAST?ue=this.lastAcceptedPickerValues.get(g):typeof he=="string"&&(ue="".concat(g.prefix).concat(he))}typeof ue=="string"&&(e=ue)}const L=(re=y==null?void 0:y.picker)==null?void 0:re.valueSelection,V=(ae=y==null?void 0:y.picker)==null?void 0:ae.value,z=new DisposableStore$1,j=z.add(this.quickInputService.createQuickPick({useSeparators:!0}));j.value=e,this.adjustValueSelection(j,g,i),j.placeholder=(le=i==null?void 0:i.placeholder)!=null?le:g==null?void 0:g.placeholder,j.quickNavigate=i==null?void 0:i.quickNavigateConfiguration,j.hideInput=!!j.quickNavigate&&!y,(typeof(i==null?void 0:i.itemActivation)=="number"||i!=null&&i.quickNavigateConfiguration)&&(j.itemActivation=(de=i==null?void 0:i.itemActivation)!=null?de:ItemActivation$1.SECOND),j.contextKey=g==null?void 0:g.contextKey,j.filterValue=ue=>ue.substring(g?g.prefix.length:0);let ie;t&&(ie=new DeferredPromise$1,z.add(Event$2.once(j.onWillAccept)(ue=>{ue.veto(),j.hide()}))),z.add(this.registerPickerListeners(j,r,g,e,i));const oe=z.add(new CancellationTokenSource$3);if(r&&z.add(r.provide(j,oe.token,i==null?void 0:i.providerOptions)),Event$2.once(j.onDidHide)(()=>{j.selectedItems.length===0&&oe.cancel(),z.dispose(),ie==null||ie.complete(j.selectedItems.slice(0))}),j.show(),L&&V===e&&(j.valueSelection=L),t)return ie==null?void 0:ie.p}adjustValueSelection(e,t,i){var g;let r;i!=null&&i.preserveValue?r=[e.value.length,e.value.length]:r=[(g=t==null?void 0:t.prefix.length)!=null?g:0,e.value.length],e.valueSelection=r}registerPickerListeners(e,t,i,r,g){const y=new DisposableStore$1,k=this.visibleQuickAccess={picker:e,descriptor:i,value:r};return y.add(toDisposable$1(()=>{k===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),y.add(e.onDidChangeValue(L=>{const[V]=this.getOrInstantiateProvider(L,g==null?void 0:g.enabledProviderPrefixes);V!==t?this.show(L,{enabledProviderPrefixes:g==null?void 0:g.enabledProviderPrefixes,preserveValue:!0,providerOptions:g==null?void 0:g.providerOptions}):k.value=L})),i&&y.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),y}getOrInstantiateProvider(e,t){const i=this.registry.getQuickAccessProvider(e);if(!i||t&&!(t!=null&&t.includes(i.prefix)))return[void 0,void 0];let r=this.mapProviderToDescriptor.get(i);return r||(r=this.instantiationService.createInstance(i.ctor),this.mapProviderToDescriptor.set(i,r)),[r,i]}};QuickAccessController$1=__decorate$4I([__param$4v(0,IQuickInputService$1),__param$4v(1,IInstantiationService$1)],QuickAccessController$1);let Toggle$1=class extends Widget$3{constructor(e){var i;super(),this._onChange=this._register(new Emitter$3),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Emitter$3),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const t=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,t.push(...ThemeIcon$1.asClassNameArray(this._icon))),this._opts.actionClassName&&t.push(...this._opts.actionClassName.split(" ")),this._checked&&t.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover((i=e.hoverDelegate)!=null?i:getDefaultHoverDelegate$1("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...t),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,r=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),r.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,r=>{if(r.keyCode===10||r.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),r.preventDefault(),r.stopPropagation();return}this._onKeyDown.fire(r)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}};var __decorate$4H=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};let LinkedText$1=class{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}};__decorate$4H([memoize$2],LinkedText$1.prototype,"toString",null);const LINK_REGEX$1=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function parseLinkedText$1(n){const e=[];let t=0,i;for(;i=LINK_REGEX$1.exec(n);){i.index-t>0&&e.push(n.substring(t,i.index));const[,r,g,,y]=i;y?e.push({label:r,href:g,title:y}):e.push({label:r,href:g}),t=i.index+i[0].length}return t{isEventLike$1(oe)&&EventHelper$2.stop(oe,!0),t.callback(g.href)},V=t.disposables.add(new DomEmitter$1(k,EventType$3.CLICK)).event,z=t.disposables.add(new DomEmitter$1(k,EventType$3.KEY_DOWN)).event,j=Event$2.chain(z,oe=>oe.filter(re=>{const ae=new StandardKeyboardEvent$1(re);return ae.equals(10)||ae.equals(3)}));t.disposables.add(Gesture$1.addTarget(k));const ie=t.disposables.add(new DomEmitter$1(k,EventType$2.Tap)).event;Event$2.any(V,ie,j)(L,null,t.disposables),e.appendChild(k)}}var __decorate$4G=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4u=function(n,e){return function(t,i){e(t,i,n)}};const inQuickInputContextKeyValue="inQuickInput",InQuickInputContextKey=new RawContextKey$1(inQuickInputContextKeyValue,!1,localize$1("inQuickInput","Whether keyboard focus is inside the quick input control")),inQuickInputContext=ContextKeyExpr$1.has(inQuickInputContextKeyValue),quickInputTypeContextKeyValue="quickInputType",QuickInputTypeContextKey=new RawContextKey$1(quickInputTypeContextKeyValue,void 0,localize$1("quickInputType","The type of the currently visible quick input")),endOfQuickInputBoxContextKeyValue="cursorAtEndOfQuickInputBox",EndOfQuickInputBoxContextKey=new RawContextKey$1(endOfQuickInputBoxContextKeyValue,!1,localize$1("cursorAtEndOfQuickInputBox","Whether the cursor in the quick input is at the end of the input box")),endOfQuickInputBoxContext=ContextKeyExpr$1.has(endOfQuickInputBoxContextKeyValue),backButton$1={iconClass:ThemeIcon$1.asClassName(Codicon$1.quickInputBack),tooltip:localize$1("quickInput.back","Back")};var Ps;let QuickInput$1=(Ps=class extends Disposable$1{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._leftButtons=[],this._rightButtons=[],this._inlineButtons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=Ps.noPromptMessage,this._severity=Severity$5.Ignore,this.onDidTriggerButtonEmitter=this._register(new Emitter$3),this.onDidHideEmitter=this._register(new Emitter$3),this.onWillHideEmitter=this._register(new Emitter$3),this.onDisposeEmitter=this._register(new Emitter$3),this.visibleDisposables=this._register(new DisposableStore$1),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!isIOS$3;this._ignoreFocusOut=e&&!isIOS$3,t&&this.update()}get titleButtons(){return this._leftButtons.length?[...this._leftButtons,this._rightButtons]:this._rightButtons}get buttons(){return[...this._leftButtons,...this._rightButtons,...this._inlineButtons]}set buttons(e){this._leftButtons=e.filter(t=>t===backButton$1),this._rightButtons=e.filter(t=>t!==backButton$1&&t.location!==QuickInputButtonLocation.Inline),this._inlineButtons=e.filter(t=>t.location===QuickInputButtonLocation.Inline),this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e!=null?e:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=QuickInputHideReason$1.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=QuickInputHideReason$1.Other){this.onWillHideEmitter.fire({reason:e})}update(){var r,g;if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:!e&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText=" ");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?reset$1(this.ui.widget,this._widget):reset$1(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new TimeoutTimer$1,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const y=this._leftButtons.map((V,z)=>quickInputButtonToAction$1(V,"id-".concat(z),async()=>this.onDidTriggerButtonEmitter.fire(V)));this.ui.leftActionBar.push(y,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const k=this._rightButtons.map((V,z)=>quickInputButtonToAction$1(V,"id-".concat(z),async()=>this.onDidTriggerButtonEmitter.fire(V)));this.ui.rightActionBar.push(k,{icon:!0,label:!1}),this.ui.inlineActionBar.clear();const L=this._inlineButtons.map((V,z)=>quickInputButtonToAction$1(V,"id-".concat(z),async()=>this.onDidTriggerButtonEmitter.fire(V)));this.ui.inlineActionBar.push(L,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const y=(g=(r=this.toggles)==null?void 0:r.filter(k=>k instanceof Toggle$1))!=null?g:[];this.ui.inputBox.toggles=y}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const i=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==i&&(this._lastValidationMessage=i,reset$1(this.ui.message),renderQuickInputDescription$1(i,this.ui.message,{callback:y=>{this.ui.linkOpenerDelegate(y)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?"".concat(this.title," (").concat(this.getSteps(),")"):this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?localize$1("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==Severity$5.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?"".concat(t.foreground):"",this.ui.message.style.backgroundColor=t.background?"".concat(t.background):"",this.ui.message.style.border=t.border?"1px solid ".concat(t.border):"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}},Ps.noPromptMessage=localize$1("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel"),Ps);var Os;let QuickPick$1=(Os=class extends QuickInput$1{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new Emitter$3),this.onWillAcceptEmitter=this._register(new Emitter$3),this.onDidAcceptEmitter=this._register(new Emitter$3),this.onDidCustomEmitter=this._register(new Emitter$3),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=ItemActivation$1.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new Emitter$3),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new Emitter$3),this.onDidTriggerItemButtonEmitter=this._register(new Emitter$3),this.onDidTriggerSeparatorButtonEmitter=this._register(new Emitter$3),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this._focusEventBufferer=new EventBufferer$1,this.type="quickPick",this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?NO_KEY_MODS$1:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(QuickPickFocus.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this._focusEventBufferer.wrapEvent(this.ui.list.onDidChangeFocus,(e,t)=>t)(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&equals$5(e,this._activeItems,(t,i)=>t===i)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&equals$5(e,this._selectedItems,(i,r)=>i===r)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(isMouseEvent$2(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{!this.canSelectMany||!this.visible||this.selectedItemsToConfirm!==this._selectedItems&&equals$5(e,this._selectedItems,(t,i)=>t===i)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return addDisposableListener$1(this.ui.container,EventType$3.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new StandardKeyboardEvent$1(e),i=t.keyCode;this._quickNavigate.keybindings.some(y=>{const k=y.getChords();return k.length>1?!1:k[0].shiftKey&&i===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(k[0].altKey&&i===6||k[0].ctrlKey&&i===5||k[0].metaKey&&i===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.titleButtons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let r=this.ariaLabel;!r&&i.inputBox&&(r=this.placeholder||Os.DEFAULT_ARIA_LABEL,this.title&&(r+=" - ".concat(this.title))),this.ui.list.ariaLabel!==r&&(this.ui.list.ariaLabel=r!=null?r:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated&&(this.itemsUpdated=!1,this._focusEventBufferer.bufferEvents(()=>{switch(this.ui.list.setElements(this.items),this.ui.list.shouldLoop=!this.canSelectMany,this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this._itemActivation){case ItemActivation$1.NONE:this._itemActivation=ItemActivation$1.FIRST;break;case ItemActivation$1.SECOND:this.ui.list.focus(QuickPickFocus.Second),this._itemActivation=ItemActivation$1.FIRST;break;case ItemActivation$1.LAST:this.ui.list.focus(QuickPickFocus.Last),this._itemActivation=ItemActivation$1.FIRST;break;default:this.trySelectFirst();break}})),this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(QuickPickFocus.First)),this.keepScrollPosition&&(this.scrollTop=e)}focus(e){this.ui.list.focus(e),this.canSelectMany&&this.ui.list.domFocus()}accept(e){e&&!this._canAcceptInBackground||this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(e!=null?e:!1))}},Os.DEFAULT_ARIA_LABEL=localize$1("quickInputBox.ariaLabel","Type to narrow down results."),Os),InputBox$3=class extends QuickInput$1{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new Emitter$3),this.onDidAcceptEmitter=this._register(new Emitter$3),this.type="inputBox",this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.titleButtons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}},QuickInputHoverDelegate$1=class extends WorkbenchHoverDelegate$1{constructor(e,t){super("element",!1,i=>this.getOverrideOptions(i),e,t)}getOverrideOptions(e){var i;const t=(isHTMLElement$1(e.content)?(i=e.content.textContent)!=null?i:"":typeof e.content=="string"?e.content:e.content.value).includes("\n");return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:t,skipFadeInAnimation:!0}}}};QuickInputHoverDelegate$1=__decorate$4G([__param$4u(0,IConfigurationService$1),__param$4u(1,IHoverService$1)],QuickInputHoverDelegate$1);Color$2.white.toString(),Color$2.white.toString();let Button$2=class extends Disposable$1{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new Emitter$3),this._onDidEscape=this._register(new Emitter$3),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,r=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=r||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof t.title=="string"&&this.setTitle(t.title),typeof t.ariaLabel=="string"&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(Gesture$1.addTarget(this._element)),[EventType$3.CLICK,EventType$2.Tap].forEach(g=>{this._register(addDisposableListener$1(this._element,g,y=>{if(!this.enabled){EventHelper$2.stop(y);return}this._onDidClick.fire(y)}))}),this._register(addDisposableListener$1(this._element,EventType$3.KEY_DOWN,g=>{const y=new StandardKeyboardEvent$1(g);let k=!1;this.enabled&&(y.equals(3)||y.equals(10))?(this._onDidClick.fire(g),k=!0):y.equals(9)&&(this._onDidEscape.fire(g),this._element.blur(),k=!0),k&&EventHelper$2.stop(y,!0)})),this._register(addDisposableListener$1(this._element,EventType$3.MOUSE_OVER,g=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register(addDisposableListener$1(this._element,EventType$3.MOUSE_OUT,g=>{this.updateBackground(!1)})),this.focusTracker=this._register(trackFocus$1(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of renderLabelWithIcons$1(e))if(typeof i=="string"){if(i=i.trim(),i==="")continue;const r=document.createElement("span");r.textContent=i,t.push(r)}else t.push(i);return t}updateBackground(e){let t;this.options.secondary?t=e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t=e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var r;if(this._label===e||isMarkdownString$1(this._label)&&isMarkdownString$1(e)&&markdownStringEqual$1(this._label,e))return;this._element.classList.add("monaco-text-button");const t=this.options.supportShortLabel?this._labelElement:this._element;if(isMarkdownString$1(e)){const g=renderMarkdown$1(e,{inline:!0});g.dispose();const y=(r=g.element.querySelector("p"))==null?void 0:r.innerHTML;if(y){const k=sanitize$3(y,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});t.innerHTML=k}else reset$1(t)}else this.options.supportIcons?reset$1(t,...this.getContentElements(e)):t.textContent=e;let i="";typeof this.options.title=="string"?i=this.options.title:this.options.title&&(i=renderStringAsPlaintext$1(e)),this.setTitle(i),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",i),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...ThemeIcon$1.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;!this._hover&&e!==""?this._hover=this._register(getBaseLayerHoverDelegate().setupManagedHover((t=this.options.hoverDelegate)!=null?t:getDefaultHoverDelegate$1("mouse"),this._element,e)):this._hover&&this._hover.update(e)}},CountBadge$1=class{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=append$4(e,$$u(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=format$2(this.countFormat,this.count),this.element.title=format$2(this.titleFormat,this.count),this.element.style.backgroundColor=(e=this.styles.badgeBackground)!=null?e:"",this.element.style.color=(t=this.styles.badgeForeground)!=null?t:"",this.styles.badgeBorder&&(this.element.style.border="1px solid ".concat(this.styles.badgeBorder))}};const CSS_DONE$1="done",CSS_ACTIVE$1="active",CSS_INFINITE$1="infinite",CSS_INFINITE_LONG_RUNNING$1="infinite-long-running",CSS_DISCRETE$1="discrete";var Fs;let ProgressBar$1=(Fs=class extends Disposable$1{constructor(e,t){super(),this.progressSignal=this._register(new MutableDisposable$1),this.workedVal=0,this.showDelayedScheduler=this._register(new RunOnceScheduler$1(()=>show$1(this.element),0)),this.longRunningScheduler=this._register(new RunOnceScheduler$1(()=>this.infiniteLongRunning(),Fs.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(t==null?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(CSS_ACTIVE$1,CSS_INFINITE$1,CSS_INFINITE_LONG_RUNNING$1,CSS_DISCRETE$1),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel(),this.progressSignal.clear()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(CSS_DONE$1),this.element.classList.contains(CSS_INFINITE$1)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(CSS_DISCRETE$1,CSS_DONE$1,CSS_INFINITE_LONG_RUNNING$1),this.element.classList.add(CSS_ACTIVE$1,CSS_INFINITE$1),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(CSS_INFINITE_LONG_RUNNING$1)}getContainer(){return this.element}},Fs.LONG_RUNNING_INFINITE_THRESHOLD=1e4,Fs);const NLS_CASE_SENSITIVE_TOGGLE_LABEL$1=localize$1("caseDescription","Match Case"),NLS_WHOLE_WORD_TOGGLE_LABEL$1=localize$1("wordsDescription","Match Whole Word"),NLS_REGEX_TOGGLE_LABEL$1=localize$1("regexDescription","Use Regular Expression");let CaseSensitiveToggle$1=class extends Toggle$1{constructor(e){var t;super({icon:Codicon$1.caseSensitive,title:NLS_CASE_SENSITIVE_TOGGLE_LABEL$1+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!=null?t:getDefaultHoverDelegate$1("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},WholeWordsToggle$1=class extends Toggle$1{constructor(e){var t;super({icon:Codicon$1.wholeWord,title:NLS_WHOLE_WORD_TOGGLE_LABEL$1+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!=null?t:getDefaultHoverDelegate$1("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},RegexToggle$1=class extends Toggle$1{constructor(e){var t;super({icon:Codicon$1.regex,title:NLS_REGEX_TOGGLE_LABEL$1+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!=null?t:getDefaultHoverDelegate$1("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},ArrayNavigator$1=class{constructor(e,t=0,i=e.length,r=t-1){this.items=e,this.start=t,this.end=i,this.index=r}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}},HistoryNavigator$1=class{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new ArrayNavigator$1(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}};const $$q=$$u;let InputBox$2=class extends Widget$3{constructor(e,t,i){var y;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Emitter$3),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(y=this.options.tooltip)!=null?y:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=append$4(e,$$q(".monaco-inputbox.idle"));const r=this.options.flexibleHeight?"textarea":"input",g=append$4(this.element,$$q(".ibwrapper"));if(this.input=append$4(g,$$q(r+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=append$4(g,$$q("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new ScrollableElement$1(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),append$4(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(V=>this.input.scrollTop=V.scrollTop));const k=this._register(new DomEmitter$1(e.ownerDocument,"selectionchange")),L=Event$2.filter(k.event,()=>{const V=e.ownerDocument.getSelection();return(V==null?void 0:V.anchorNode)===g});this._register(L(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new ActionBar$1(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate$1("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:getTotalHeight$1(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return isActiveElement$1(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var i;const e=this.input.selectionStart;if(e===null)return null;const t=(i=this.input.selectionEnd)!=null?i:e;return{start:e,end:t}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width="calc(100% - ".concat(e,"px)"),this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if(this.state==="open"&&equals$4(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border="1px solid ".concat(asCssValueWithDefault$1(i.border,"transparent")),this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e==null?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=getTotalWidth$1(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:r=>{var L,V;if(!this.message)return null;e=append$4(r,$$q(".monaco-inputbox-container")),t();const g={inline:!0,className:"monaco-inputbox-message"},y=this.message.formatContent?renderFormattedText$1(this.message.content,g):renderText$1(this.message.content,g);y.classList.add(this.classForType(this.message.type));const k=this.stylesForType(this.message.type);return y.style.backgroundColor=(L=k.background)!=null?L:"",y.style.color=(V=k.foreground)!=null?V:"",y.style.border=k.border?"1px solid ".concat(k.border):"",append$4(e,y),null},onHide:()=>{this.state="closed"},layout:t});let i;this.message.type===3?i=localize$1("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?i=localize$1("alertWarningMessage","Warning: {0}",this.message.content):i=localize$1("alertInfoMessage","Info: {0}",this.message.content),alert$1(i),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,i=e.charCodeAt(e.length-1)===10?" ":"";(e+i).replace(/\u000c/g,"")?this.mirror.textContent=e+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var g,y,k;const e=this.options.inputBoxStyles,t=(g=e.inputBackground)!=null?g:"",i=(y=e.inputForeground)!=null?y:"",r=(k=e.inputBorder)!=null?k:"";this.element.style.backgroundColor=t,this.element.style.color=i,this.input.style.backgroundColor="inherit",this.input.style.color=i,this.element.style.border="1px solid ".concat(asCssValueWithDefault$1(r,"transparent"))}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=getTotalHeight$1(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,r=t.selectionEnd,g=t.value;i!==null&&r!==null&&(this.value=g.substr(0,i)+e+g.substr(r),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,(e=this.actionbar)==null||e.dispose(),super.dispose()}},HistoryInputBox$1=class extends InputBox$2{constructor(e,t,i){const r=localize$1({key:"history.inputbox.hint.suffix.noparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field ends in a closing parenthesis ")", for example "Filter (e.g. text, !exclude)". The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," or {0} for history","⇅"),g=localize$1({key:"history.inputbox.hint.suffix.inparens",comment:['Text is the suffix of an input field placeholder coming after the action the input field performs, this will be used when the input field does NOT end in a closing parenthesis (eg. "Find"). The character inserted into the final string is ⇅ to represent the up and down arrow keys.']}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new Emitter$3),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$3),this.onDidBlur=this._onDidBlur.event,this.history=new HistoryNavigator$1(i.history,100);const y=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(r)&&!this.placeholder.endsWith(g)&&this.history.getHistory().length){const k=this.placeholder.endsWith(")")?r:g,L=this.placeholder+k;i.showPlaceholderOnFocus&&!isActiveElement$1(this.input)?this.placeholder=L:this.setPlaceHolder(L)}};this.observer=new MutationObserver((k,L)=>{k.forEach(V=>{V.target.textContent||y()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>y()),this.onblur(this.input,()=>{const k=L=>{if(this.placeholder.endsWith(L)){const V=this.placeholder.slice(0,this.placeholder.length-L.length);return i.showPlaceholderOnFocus?this.placeholder=V:this.setPlaceHolder(V),!0}else return!1};k(g)||k(r)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e!=null?e:"",status$1(this.value?this.value:localize$1("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,status$1(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}};const NLS_DEFAULT_LABEL$3=localize$1("defaultLabel","input");let FindInput$1=class extends Widget$3{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new MutableDisposable$1),this.additionalToggles=[],this._onDidOptionChange=this._register(new Emitter$3),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$3),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$3),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Emitter$3),this._onKeyUp=this._register(new Emitter$3),this._onCaseSensitiveKeyDown=this._register(new Emitter$3),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Emitter$3),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||NLS_DEFAULT_LABEL$3,this.showCommonFindToggles=!!i.showCommonFindToggles;const r=i.appendCaseSensitiveLabel||"",g=i.appendWholeWordsLabel||"",y=i.appendRegexLabel||"",k=i.history||[],L=!!i.flexibleHeight,V=!!i.flexibleWidth,z=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox$1(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:k,showHistoryHint:i.showHistoryHint,flexibleHeight:L,flexibleWidth:V,flexibleMaxHeight:z,inputBoxStyles:i.inputBoxStyles}));const j=this._register(createInstantHoverDelegate$1());if(this.showCommonFindToggles){this.regex=this._register(new RegexToggle$1({appendTitle:y,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.regex.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(oe=>{this._onRegexKeyDown.fire(oe)})),this.wholeWords=this._register(new WholeWordsToggle$1({appendTitle:g,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.wholeWords.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new CaseSensitiveToggle$1({appendTitle:r,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.caseSensitive.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(oe=>{this._onCaseSensitiveKeyDown.fire(oe)}));const ie=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,oe=>{if(oe.equals(15)||oe.equals(17)||oe.equals(9)){const re=ie.indexOf(this.domNode.ownerDocument.activeElement);if(re>=0){let ae=-1;oe.equals(17)?ae=(re+1)%ie.length:oe.equals(15)&&(re===0?ae=ie.length-1:ae=re-1),oe.equals(9)?(ie[re].blur(),this.inputBox.focus()):ae>=0&&ie[ae].focus(),EventHelper$2.stop(oe,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i==null?void 0:i.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e==null||e.appendChild(this.domNode),this._register(addDisposableListener$1(this.inputBox.inputElement,"compositionstart",ie=>{this.imeSessionInProgress=!0})),this._register(addDisposableListener$1(this.inputBox.inputElement,"compositionend",ie=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,ie=>this._onKeyDown.fire(ie)),this.onkeyup(this.inputBox.inputElement,ie=>this._onKeyUp.fire(ie)),this.oninput(this.inputBox.inputElement,ie=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,ie=>this._onMouseDown.fire(ie))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,i;this.domNode.classList.remove("disabled"),this.inputBox.enable(),(e=this.regex)==null||e.enable(),(t=this.wholeWords)==null||t.enable(),(i=this.caseSensitive)==null||i.enable();for(const r of this.additionalToggles)r.enable()}disable(){var e,t,i;this.domNode.classList.add("disabled"),this.inputBox.disable(),(e=this.regex)==null||e.disable(),(t=this.wholeWords)==null||t.disable(),(i=this.caseSensitive)==null||i.disable();for(const r of this.additionalToggles)r.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new DisposableStore$1;for(const t of e!=null?e:[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(i=>{this._onDidOptionChange.fire(i),!i&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,i,r,g,y,k;e?this.inputBox.paddingRight=0:this.inputBox.paddingRight=((i=(t=this.caseSensitive)==null?void 0:t.width())!=null?i:0)+((g=(r=this.wholeWords)==null?void 0:r.width())!=null?g:0)+((k=(y=this.regex)==null?void 0:y.width())!=null?k:0)+this.additionalToggles.reduce((L,V)=>L+V.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return(t=(e=this.caseSensitive)==null?void 0:e.checked)!=null?t:!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return(t=(e=this.wholeWords)==null?void 0:e.checked)!=null?t:!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return(t=(e=this.regex)==null?void 0:e.checked)!=null?t:!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;(e=this.caseSensitive)==null||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}};const $$p=$$u;let QuickInputBox$1=class extends Disposable$1{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=g=>addStandardDisposableListener$1(this.findInput.inputBox.inputElement,EventType$3.KEY_DOWN,g),this.onDidChange=g=>this.findInput.onDidChange(g),this.container=append$4(this.parent,$$p(".quick-input-box")),this.findInput=this._register(new FindInput$1(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const r=this.findInput.inputBox.inputElement;r.role="combobox",r.ariaHasPopup="menu",r.ariaAutoComplete="list",r.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===Severity$5.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===Severity$5.Info?1:e===Severity$5.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===Severity$5.Info?1:e===Severity$5.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}},PagedRenderer$1=class{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Disposable$1.None}}renderElement(e,t,i,r){var L;if((L=i.disposable)==null||L.dispose(),!i.data)return;const g=this.modelProvider();if(g.isResolved(e))return this.renderer.renderElement(g.get(e),e,i.data,r);const y=new CancellationTokenSource$3,k=g.resolve(e,y.token);i.disposable={dispose:()=>y.cancel()},this.renderer.renderPlaceholder(e,i.data),k.then(V=>this.renderer.renderElement(V,e,i.data,r))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}},PagedAccessibilityProvider$1=class{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}};function fromPagedListOptions$1(n,e){return{...e,accessibilityProvider:e.accessibilityProvider&&new PagedAccessibilityProvider$1(n,e.accessibilityProvider)}}let PagedList$1=class{constructor(e,t,i,r,g={}){const y=()=>this.model,k=r.map(L=>new PagedRenderer$1(L,y));this.list=new List$1(e,t,i,k,fromPagedListOptions$1(y,g))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Event$2.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return Event$2.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return Event$2.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(r=>this._model.get(r)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,range$3(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}};var __decorate$4F=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};const DEBUG$1=!1;var OrthogonalEdge$1;(function(n){n.North="north",n.South="south",n.East="east",n.West="west"})(OrthogonalEdge$1||(OrthogonalEdge$1={}));let globalSize$1=4;const onDidChangeGlobalSize$1=new Emitter$3;let globalHoverDelay$1=300;const onDidChangeHoverDelay$1=new Emitter$3;let MouseEventFactory$1=class{constructor(e){this.el=e,this.disposables=new DisposableStore$1}get onPointerMove(){return this.disposables.add(new DomEmitter$1(getWindow$3(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new DomEmitter$1(getWindow$3(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}};__decorate$4F([memoize$2],MouseEventFactory$1.prototype,"onPointerMove",null);__decorate$4F([memoize$2],MouseEventFactory$1.prototype,"onPointerUp",null);let GestureEventFactory$1=class{get onPointerMove(){return this.disposables.add(new DomEmitter$1(this.el,EventType$2.Change)).event}get onPointerUp(){return this.disposables.add(new DomEmitter$1(this.el,EventType$2.End)).event}constructor(e){this.el=e,this.disposables=new DisposableStore$1}dispose(){this.disposables.dispose()}};__decorate$4F([memoize$2],GestureEventFactory$1.prototype,"onPointerMove",null);__decorate$4F([memoize$2],GestureEventFactory$1.prototype,"onPointerUp",null);let OrthogonalPointerEventFactory$1=class{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}};__decorate$4F([memoize$2],OrthogonalPointerEventFactory$1.prototype,"onPointerMove",null);__decorate$4F([memoize$2],OrthogonalPointerEventFactory$1.prototype,"onPointerUp",null);const PointerEventsDisabledCssClass$1="pointer-events-disabled";let Sash$1=class Oo extends Disposable$1{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",e===0),this.el.classList.toggle("minimum",e===1),this.el.classList.toggle("maximum",e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=i=>{this.orthogonalStartDragHandleDisposables.clear(),i!==0&&(this._orthogonalStartDragHandle=append$4(this.el,$$u(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(toDisposable$1(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new DomEmitter$1(this._orthogonalStartDragHandle,"mouseenter")).event(()=>Oo.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new DomEmitter$1(this._orthogonalStartDragHandle,"mouseleave")).event(()=>Oo.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=i=>{this.orthogonalEndDragHandleDisposables.clear(),i!==0&&(this._orthogonalEndDragHandle=append$4(this.el,$$u(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(toDisposable$1(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new DomEmitter$1(this._orthogonalEndDragHandle,"mouseenter")).event(()=>Oo.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new DomEmitter$1(this._orthogonalEndDragHandle,"mouseleave")).event(()=>Oo.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=globalHoverDelay$1,this.hoverDelayer=this._register(new Delayer$1(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Emitter$3),this._onDidStart=this._register(new Emitter$3),this._onDidChange=this._register(new Emitter$3),this._onDidReset=this._register(new Emitter$3),this._onDidEnd=this._register(new Emitter$3),this.orthogonalStartSashDisposables=this._register(new DisposableStore$1),this.orthogonalStartDragHandleDisposables=this._register(new DisposableStore$1),this.orthogonalEndSashDisposables=this._register(new DisposableStore$1),this.orthogonalEndDragHandleDisposables=this._register(new DisposableStore$1),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=append$4(e,$$u(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add("orthogonal-edge-".concat(i.orthogonalEdge)),isMacintosh$1&&this.el.classList.add("mac");const r=this._register(new DomEmitter$1(this.el,"mousedown")).event;this._register(r(j=>this.onPointerStart(j,new MouseEventFactory$1(e)),this));const g=this._register(new DomEmitter$1(this.el,"dblclick")).event;this._register(g(this.onPointerDoublePress,this));const y=this._register(new DomEmitter$1(this.el,"mouseenter")).event;this._register(y(()=>Oo.onMouseEnter(this)));const k=this._register(new DomEmitter$1(this.el,"mouseleave")).event;this._register(k(()=>Oo.onMouseLeave(this))),this._register(Gesture$1.addTarget(this.el));const L=this._register(new DomEmitter$1(this.el,EventType$2.Start)).event;this._register(L(j=>this.onPointerStart(j,new GestureEventFactory$1(this.el)),this));const V=this._register(new DomEmitter$1(this.el,EventType$2.Tap)).event;let z;this._register(V(j=>{if(z){clearTimeout(z),z=void 0,this.onPointerDoublePress(j);return}clearTimeout(z),z=setTimeout(()=>z=void 0,250)},this)),typeof i.size=="number"?(this.size=i.size,i.orientation===0?this.el.style.width="".concat(this.size,"px"):this.el.style.height="".concat(this.size,"px")):(this.size=globalSize$1,this._register(onDidChangeGlobalSize$1.event(j=>{this.size=j,this.layout()}))),this._register(onDidChangeHoverDelay$1.event(j=>this.hoverDelay=j)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",DEBUG$1),this.layout()}onPointerStart(e,t){EventHelper$2.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const re=this.getOrthogonalSash(e);re&&(i=!0,e.__orthogonalSashEvent=!0,re.onPointerStart(e,new OrthogonalPointerEventFactory$1(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new OrthogonalPointerEventFactory$1(t))),!this.state)return;const r=this.el.ownerDocument.getElementsByTagName("iframe");for(const re of r)re.classList.add(PointerEventsDisabledCssClass$1);const g=e.pageX,y=e.pageY,k=e.altKey,L={startX:g,currentX:g,startY:y,currentY:y,altKey:k};this.el.classList.add("active"),this._onDidStart.fire(L);const V=createStyleSheet$1(this.el),z=()=>{let re="";i?re="all-scroll":this.orientation===1?this.state===1?re="s-resize":this.state===2?re="n-resize":re=isMacintosh$1?"row-resize":"ns-resize":this.state===1?re="e-resize":this.state===2?re="w-resize":re=isMacintosh$1?"col-resize":"ew-resize",V.textContent="* { cursor: ".concat(re," !important; }")},j=new DisposableStore$1;z(),i||this.onDidEnablementChange.event(z,null,j);const ie=re=>{EventHelper$2.stop(re,!1);const ae={startX:g,currentX:re.pageX,startY:y,currentY:re.pageY,altKey:k};this._onDidChange.fire(ae)},oe=re=>{EventHelper$2.stop(re,!1),V.remove(),this.el.classList.remove("active"),this._onDidEnd.fire(),j.dispose();for(const ae of r)ae.classList.remove(PointerEventsDisabledCssClass$1)};t.onPointerMove(ie,null,j),t.onPointerUp(oe,null,j),j.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&Oo.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&Oo.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){Oo.onMouseLeave(this)}layout(){if(this.orientation===0){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var i;const t=(i=e.initialTarget)!=null?i:e.target;if(!(!t||!isHTMLElement$1(t))&&t.classList.contains("orthogonal-drag-handle"))return t.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}};const defaultStyles$1={separatorBorder:Color$2.transparent};let ViewItem$1=class{set size(e){this._size=e}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(e,t){var i,r;if(e!==this.visible){e?(this.size=clamp$1(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t=="number"?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{(r=(i=this.view).setVisible)==null||r.call(i,e)}catch(g){console.error("Splitview: Failed to set visible view"),console.error(g)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return(e=this.view.proportionalLayout)!=null?e:!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof i=="number"?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(i){console.error("Splitview: Failed to layout view"),console.error(i)}}dispose(){this.disposable.dispose()}},VerticalViewItem$1=class extends ViewItem$1{layoutContainer(e){this.container.style.top="".concat(e,"px"),this.container.style.height="".concat(this.size,"px")}},HorizontalViewItem$1=class extends ViewItem$1{layoutContainer(e){this.container.style.left="".concat(e,"px"),this.container.style.width="".concat(this.size,"px")}};var State$1;(function(n){n[n.Idle=0]="Idle",n[n.Busy=1]="Busy"})(State$1||(State$1={}));var Sizing$1;(function(n){n.Distribute={type:"distribute"};function e(r){return{type:"split",index:r}}n.Split=e;function t(r){return{type:"auto",index:r}}n.Auto=t;function i(r){return{type:"invisible",cachedVisibleSize:r}}n.Invisible=i})(Sizing$1||(Sizing$1={}));let SplitView$1=class extends Disposable$1{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var r,g,y,k,L;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=State$1.Idle,this._onDidSashChange=this._register(new Emitter$3),this._onDidSashReset=this._register(new Emitter$3),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(r=t.orientation)!=null?r:0,this.inverseAltBehavior=(g=t.inverseAltBehavior)!=null?g:!1,this.proportionalLayout=(y=t.proportionalLayout)!=null?y:!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=append$4(this.el,$$u(".sash-container")),this.viewContainer=$$u(".split-view-container"),this.scrollable=this._register(new Scrollable$2({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:V=>scheduleAtNextAnimationFrame$1(getWindow$3(this.el),V)})),this.scrollableElement=this._register(new SmoothScrollableElement$1(this.viewContainer,{vertical:this.orientation===0?(k=t.scrollbarVisibility)!=null?k:1:2,horizontal:this.orientation===1?(L=t.scrollbarVisibility)!=null?L:1:2},this.scrollable));const i=this._register(new DomEmitter$1(this.viewContainer,"scroll")).event;this._register(i(V=>{const z=this.scrollableElement.getScrollPosition(),j=Math.abs(this.viewContainer.scrollLeft-z.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,ie=Math.abs(this.viewContainer.scrollTop-z.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(j!==void 0||ie!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:j,scrollTop:ie})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(V=>{V.scrollTopChanged&&(this.viewContainer.scrollTop=V.scrollTop),V.scrollLeftChanged&&(this.viewContainer.scrollLeft=V.scrollLeft)})),append$4(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||defaultStyles$1),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((V,z)=>{const j=isUndefined$5(V.visible)||V.visible?V.size:{type:"invisible",cachedVisibleSize:V.size},ie=V.view;this.doAddView(ie,j,z,!0)}),this._contentSize=this.viewItems.reduce((V,z)=>V+z.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,r){this.doAddView(e,t,i,r)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let r=0;for(let g=0;g0&&(y.size=clamp$1(Math.round(k*e/r),y.minimumSize,y.maximumSize))}}else{const r=range$3(this.viewItems.length),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);this.resize(this.viewItems.length-1,e-i,void 0,g,y)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const k of this.viewItems)k.enabled=!1;const r=this.sashItems.findIndex(k=>k.sash===e),g=combinedDisposable$1(addDisposableListener$1(this.el.ownerDocument.body,"keydown",k=>y(this.sashDragState.current,k.altKey)),addDisposableListener$1(this.el.ownerDocument.body,"keyup",()=>y(this.sashDragState.current,!1))),y=(k,L)=>{const V=this.viewItems.map(re=>re.size);let z=Number.NEGATIVE_INFINITY,j=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(L=!L),L)if(r===this.sashItems.length-1){const ae=this.viewItems[r];z=(ae.minimumSize-ae.size)/2,j=(ae.maximumSize-ae.size)/2}else{const ae=this.viewItems[r+1];z=(ae.size-ae.maximumSize)/2,j=(ae.size-ae.minimumSize)/2}let ie,oe;if(!L){const re=range$3(r,-1),ae=range$3(r+1,this.viewItems.length),le=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].minimumSize-V[Ne]),0),de=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].viewMaximumSize-V[Ne]),0),ue=ae.length===0?Number.POSITIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(V[Ne]-this.viewItems[Ne].minimumSize),0),he=ae.length===0?Number.NEGATIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(V[Ne]-this.viewItems[Ne].viewMaximumSize),0),pe=Math.max(le,he),Ce=Math.min(ue,de),$e=this.findFirstSnapIndex(re),xe=this.findFirstSnapIndex(ae);if(typeof $e=="number"){const Ie=this.viewItems[$e],Ne=Math.floor(Ie.viewMinimumSize/2);ie={index:$e,limitDelta:Ie.visible?pe-Ne:pe+Ne,size:Ie.size}}if(typeof xe=="number"){const Ie=this.viewItems[xe],Ne=Math.floor(Ie.viewMinimumSize/2);oe={index:xe,limitDelta:Ie.visible?Ce+Ne:Ce-Ne,size:Ie.size}}}this.sashDragState={start:k,current:k,index:r,sizes:V,minDelta:z,maxDelta:j,alt:L,snapBefore:ie,snapAfter:oe,disposable:g}};y(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:r,alt:g,minDelta:y,maxDelta:k,snapBefore:L,snapAfter:V}=this.sashDragState;this.sashDragState.current=e;const z=e-i,j=this.resize(t,z,r,void 0,void 0,y,k,L,V);if(g){const ie=t===this.sashItems.length-1,oe=this.viewItems.map(he=>he.size),re=ie?t:t+1,ae=this.viewItems[re],le=ae.size-ae.maximumSize,de=ae.size-ae.minimumSize,ue=ie?t-1:t+1;this.resize(ue,-j,oe,void 0,void 0,le,de)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=typeof t=="number"?t:e.size,t=clamp$1(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==State$1.Idle)throw new Error("Cant modify splitview");this.state=State$1.Busy;try{const i=range$3(this.viewItems.length).filter(k=>k!==e),r=[...i.filter(k=>this.viewItems[k].priority===1),e],g=i.filter(k=>this.viewItems[k].priority===2),y=this.viewItems[e];t=Math.round(t),t=clamp$1(t,y.minimumSize,Math.min(y.maximumSize,this.size)),y.size=t,this.relayout(r,g)}finally{this.state=State$1.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const k of this.viewItems)k.maximumSize-k.minimumSize>0&&(e.push(k),t+=k.size);const i=Math.floor(t/e.length);for(const k of e)k.size=clamp$1(i,k.minimumSize,k.maximumSize);const r=range$3(this.viewItems.length),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);this.relayout(g,y)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,r){if(this.state!==State$1.Idle)throw new Error("Cant modify splitview");this.state=State$1.Busy;try{const g=$$u(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(g):this.viewContainer.insertBefore(g,this.viewContainer.children.item(i));const y=e.onDidChange(ie=>this.onViewChange(z,ie)),k=toDisposable$1(()=>g.remove()),L=combinedDisposable$1(y,k);let V;typeof t=="number"?V=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?V=this.getViewSize(t.index)/2:t.type==="invisible"?V={cachedVisibleSize:t.cachedVisibleSize}:V=e.minimumSize);const z=this.orientation===0?new VerticalViewItem$1(g,e,V,L):new HorizontalViewItem$1(g,e,V,L);if(this.viewItems.splice(i,0,z),this.viewItems.length>1){const ie={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},oe=this.orientation===0?new Sash$1(this.sashContainer,{getHorizontalSashTop:Ie=>this.getSashPosition(Ie),getHorizontalSashWidth:this.getSashOrthogonalSize},{...ie,orientation:1}):new Sash$1(this.sashContainer,{getVerticalSashLeft:Ie=>this.getSashPosition(Ie),getVerticalSashHeight:this.getSashOrthogonalSize},{...ie,orientation:0}),re=this.orientation===0?Ie=>({sash:oe,start:Ie.startY,current:Ie.currentY,alt:Ie.altKey}):Ie=>({sash:oe,start:Ie.startX,current:Ie.currentX,alt:Ie.altKey}),le=Event$2.map(oe.onDidStart,re)(this.onSashStart,this),ue=Event$2.map(oe.onDidChange,re)(this.onSashChange,this),pe=Event$2.map(oe.onDidEnd,()=>this.sashItems.findIndex(Ie=>Ie.sash===oe))(this.onSashEnd,this),Ce=oe.onDidReset(()=>{const Ie=this.sashItems.findIndex(ze=>ze.sash===oe),Ne=range$3(Ie,-1),Fe=range$3(Ie+1,this.viewItems.length),Ve=this.findFirstSnapIndex(Ne),Oe=this.findFirstSnapIndex(Fe);typeof Ve=="number"&&!this.viewItems[Ve].visible||typeof Oe=="number"&&!this.viewItems[Oe].visible||this._onDidSashReset.fire(Ie)}),$e=combinedDisposable$1(le,ue,pe,Ce,oe),xe={sash:oe,disposable:$e};this.sashItems.splice(i-1,0,xe)}g.appendChild(e.element);let j;typeof t!="number"&&t.type==="split"&&(j=[t.index]),r||this.relayout([i],j),!r&&typeof t!="number"&&t.type==="distribute"&&this.distributeViewSizes()}finally{this.state=State$1.Idle}}relayout(e,t){const i=this.viewItems.reduce((r,g)=>r+g.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(z=>z.size),r,g,y=Number.NEGATIVE_INFINITY,k=Number.POSITIVE_INFINITY,L,V){if(e<0||e>=this.viewItems.length)return 0;const z=range$3(e,-1),j=range$3(e+1,this.viewItems.length);if(g)for(const xe of g)pushToStart$1(z,xe),pushToStart$1(j,xe);if(r)for(const xe of r)pushToEnd$1(z,xe),pushToEnd$1(j,xe);const ie=z.map(xe=>this.viewItems[xe]),oe=z.map(xe=>i[xe]),re=j.map(xe=>this.viewItems[xe]),ae=j.map(xe=>i[xe]),le=z.reduce((xe,Ie)=>xe+(this.viewItems[Ie].minimumSize-i[Ie]),0),de=z.reduce((xe,Ie)=>xe+(this.viewItems[Ie].maximumSize-i[Ie]),0),ue=j.length===0?Number.POSITIVE_INFINITY:j.reduce((xe,Ie)=>xe+(i[Ie]-this.viewItems[Ie].minimumSize),0),he=j.length===0?Number.NEGATIVE_INFINITY:j.reduce((xe,Ie)=>xe+(i[Ie]-this.viewItems[Ie].maximumSize),0),pe=Math.max(le,he,y),Ce=Math.min(ue,de,k);let $e=!1;if(L){const xe=this.viewItems[L.index],Ie=t>=L.limitDelta;$e=Ie!==xe.visible,xe.setVisible(Ie,L.size)}if(!$e&&V){const xe=this.viewItems[V.index],Ie=tk+L.size,0);let i=this.size-t;const r=range$3(this.viewItems.length-1,-1),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);for(const k of y)pushToStart$1(r,k);for(const k of g)pushToEnd$1(r,k);typeof e=="number"&&pushToEnd$1(r,e);for(let k=0;i!==0&&kt+i.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(t=>t.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(L=>e=L.size-L.minimumSize>0||e);e=!1;const i=this.viewItems.map(L=>e=L.maximumSize-L.size>0||e),r=[...this.viewItems].reverse();e=!1;const g=r.map(L=>e=L.size-L.minimumSize>0||e).reverse();e=!1;const y=r.map(L=>e=L.maximumSize-L.size>0||e).reverse();let k=0;for(let L=0;L0||this.startSnappingEnabled)?V.state=1:ue&&t[L]&&(k0)return;if(!i.visible&&i.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=e===void 0?i.size:Math.min(e,i.size),t=t===void 0?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){var e;(e=this.sashDragState)==null||e.disposable.dispose(),dispose$1(this.viewItems),this.viewItems=[],this.sashItems.forEach(t=>t.disposable.dispose()),this.sashItems=[],super.dispose()}};var Bs;let TableListRenderer$1=(Bs=class{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=Bs.TemplateId,this.renderedTemplates=new Set;const r=new Map(t.map(g=>[g.templateId,g]));this.renderers=[];for(const g of e){const y=r.get(g.templateId);if(!y)throw new Error("Table cell renderer for template id ".concat(g.templateId," not found."));this.renderers.push(y)}}renderTemplate(e){const t=append$4(e,$$u(".monaco-table-tr")),i=[],r=[];for(let y=0;ythis.disposables.add(new ColumnHeader$1(z,j))),L={size:k.reduce((z,j)=>z+j.column.weight,0),views:k.map(z=>({size:z.column.weight,view:z}))};this.splitview=this.disposables.add(new SplitView$1(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:L})),this.splitview.el.style.height="".concat(i.headerRowHeight,"px"),this.splitview.el.style.lineHeight="".concat(i.headerRowHeight,"px");const V=new TableListRenderer$1(r,g,z=>this.splitview.getViewSize(z));this.list=this.disposables.add(new List$1(e,this.domNode,asListVirtualDelegate$1(i),[V],y)),Event$2.any(...k.map(z=>z.onDidLayout))(([z,j])=>V.layoutColumn(z,j),null,this.disposables),this.splitview.onDidSashReset(z=>{const j=r.reduce((oe,re)=>oe+re.weight,0),ie=r[z].weight/j*this.cachedWidth;this.splitview.resizeView(z,ie)},null,this.disposables),this.styleElement=createStyleSheet$1(this.domNode),this.style(unthemedListStyles$1)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(".monaco-table.".concat(this.domId," > .monaco-split-view2 .monaco-sash.vertical::before {\n top: ").concat(this.virtualDelegate.headerRowHeight+1,"px;\n height: calc(100% - ").concat(this.virtualDelegate.headerRowHeight,"px);\n }")),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}},Ws.InstanceCount=0,Ws);var ObjectTreeElementCollapseState$1;(function(n){n[n.Expanded=0]="Expanded",n[n.Collapsed=1]="Collapsed",n[n.PreserveOrExpanded=2]="PreserveOrExpanded",n[n.PreserveOrCollapsed=3]="PreserveOrCollapsed"})(ObjectTreeElementCollapseState$1||(ObjectTreeElementCollapseState$1={}));var TreeMouseEventTarget$1;(function(n){n[n.Unknown=0]="Unknown",n[n.Twistie=1]="Twistie",n[n.Element=2]="Element",n[n.Filter=3]="Filter"})(TreeMouseEventTarget$1||(TreeMouseEventTarget$1={}));let TreeError$1=class extends Error{constructor(e,t){super("TreeError [".concat(e,"] ").concat(t))}},WeakMapper$1=class{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}};function isFilterResult$1(n){return typeof n=="object"&&"visibility"in n&&"data"in n}function getVisibleState$1(n){switch(n){case!0:return 1;case!1:return 0;default:return n}}function isCollapsibleStateUpdate$1(n){return typeof n.collapsible=="boolean"}let IndexTreeModel$1=class{constructor(e,t,i,r={}){var g;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new EventBufferer$1,this._onDidChangeCollapseState=new Emitter$3,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Emitter$3,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Emitter$3,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Delayer$1(MicrotaskDelay$1),this.collapseByDefault=typeof r.collapseByDefault>"u"?!1:r.collapseByDefault,this.allowNonCollapsibleParents=(g=r.allowNonCollapsibleParents)!=null?g:!1,this.filter=r.filter,this.autoExpandSingleChildren=typeof r.autoExpandSingleChildren>"u"?!1:r.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Iterable$1.empty(),r={}){if(e.length===0)throw new TreeError$1(this.user,"Invalid tree location");r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,i,r):this.spliceSimple(e,t,i,r)}spliceSmart(e,t,i,r=Iterable$1.empty(),g,y=(k=>(k=g.diffDepth)!=null?k:0)()){const{parentNode:L}=this.getParentNodeWithListIndex(t);if(!L.lastDiffIds)return this.spliceSimple(t,i,r,g);const V=[...r],z=t[t.length-1],j=new LcsDiff$1({getElements:()=>L.lastDiffIds},{getElements:()=>[...L.children.slice(0,z),...V,...L.children.slice(z+i)].map(le=>e.getId(le.element).toString())}).ComputeDiff(!1);if(j.quitEarly)return L.lastDiffIds=void 0,this.spliceSimple(t,i,V,g);const ie=t.slice(0,-1),oe=(le,de,ue)=>{if(y>0)for(let he=0;heue.originalStart-de.originalStart))oe(re,ae,re-(le.originalStart+le.originalLength)),re=le.originalStart,ae=le.modifiedStart-z,this.spliceSimple([...ie,re],le.originalLength,Iterable$1.slice(V,ae,ae+le.modifiedLength),g);oe(re,ae,re)}spliceSimple(e,t,i=Iterable$1.empty(),{onDidCreateNode:r,onDidDeleteNode:g,diffIdentityProvider:y}){const{parentNode:k,listIndex:L,revealed:V,visible:z}=this.getParentNodeWithListIndex(e),j=[],ie=Iterable$1.map(i,Ce=>this.createTreeNode(Ce,k,k.visible?1:0,V,j,r)),oe=e[e.length-1];let re=0;for(let Ce=oe;Ce>=0&&Cey.getId(Ce.element).toString())):k.lastDiffIds=k.children.map(Ce=>y.getId(Ce.element).toString()):k.lastDiffIds=void 0;let he=0;for(const Ce of ue)Ce.visible&&he++;if(he!==0)for(let Ce=oe+ae.length;Ce$e+(xe.visible?xe.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(k,de-Ce),this.list.splice(L,Ce,j)}if(ue.length>0&&g){const Ce=$e=>{g($e),$e.children.forEach(Ce)};ue.forEach(Ce)}this._onDidSplice.fire({insertedNodes:ae,deletedNodes:ue});let pe=k;for(;pe;){if(pe.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}pe=pe.parent}}rerender(e){if(e.length===0)throw new TreeError$1(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:r}=this.getTreeNodeWithListIndex(e);return i&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);typeof t>"u"&&(t=!i.collapsible);const r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const r=this.getTreeNode(e);typeof t>"u"&&(t=!r.collapsed);const g={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,g))}_setCollapseState(e,t){const{node:i,listIndex:r,revealed:g}=this.getTreeNodeWithListIndex(e),y=this._setListNodeCollapseState(i,r,g,t);if(i!==this.root&&this.autoExpandSingleChildren&&y&&!isCollapsibleStateUpdate$1(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let k=-1;for(let L=0;L-1){k=-1;break}else k=L;k>-1&&this._setCollapseState([...e,k],t)}return y}_setListNodeCollapseState(e,t,i,r){const g=this._setNodeCollapseState(e,r,!1);if(!i||!e.visible||!g)return g;const y=e.renderNodeCount,k=this.updateNodeAfterCollapseChange(e),L=y-(t===-1?0:1);return this.list.splice(t+1,L,k.slice(1)),g}_setNodeCollapseState(e,t,i){let r;if(e===this.root?r=!1:(isCollapsibleStateUpdate$1(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!isCollapsibleStateUpdate$1(t)&&t.recursive)for(const g of e.children)r=this._setNodeCollapseState(g,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,r,g,y){const k={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible=="boolean"?e.collapsible:typeof e.collapsed<"u",collapsed:typeof e.collapsed>"u"?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},L=this._filterNode(k,i);k.visibility=L,r&&g.push(k);const V=e.children||Iterable$1.empty(),z=r&&L!==0&&!k.collapsed;let j=0,ie=1;for(const oe of V){const re=this.createTreeNode(oe,k,L,z,g,y);k.children.push(re),ie+=re.renderNodeCount,re.visible&&(re.visibleChildIndex=j++)}return this.allowNonCollapsibleParents||(k.collapsible=k.collapsible||k.children.length>0),k.visibleChildrenCount=j,k.visible=L===2?j>0:L===1,k.visible?k.collapsed||(k.renderNodeCount=ie):(k.renderNodeCount=0,r&&g.pop()),y==null||y(k),k}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,r=!0){let g;if(e!==this.root){if(g=this._filterNode(e,t),g===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&i.push(e)}const y=i.length;e.renderNodeCount=e===this.root?0:1;let k=!1;if(!e.collapsed||g!==0){let L=0;for(const V of e.children)k=this._updateNodeAfterFilterChange(V,g,i,r&&!e.collapsed)||k,V.visible&&(V.visibleChildIndex=L++);e.visibleChildrenCount=L}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=g===2?k:g===1,e.visibility=g),e.visible?e.collapsed||(e.renderNodeCount+=i.length-y):(e.renderNodeCount=0,r&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return typeof i=="boolean"?(e.filterData=void 0,i?1:0):isFilterResult$1(i)?(e.filterData=i.data,getVisibleState$1(i.visibility)):(e.filterData=void 0,getVisibleState$1(i))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;const[i,...r]=e;return i<0||i>t.children.length?!1:this.hasTreeNode(r,t.children[i])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;const[i,...r]=e;if(i<0||i>t.children.length)throw new TreeError$1(this.user,"Invalid tree location");return this.getTreeNode(r,t.children[i])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:r,visible:g}=this.getParentNodeWithListIndex(e),y=e[e.length-1];if(y<0||y>t.children.length)throw new TreeError$1(this.user,"Invalid tree location");const k=t.children[y];return{node:k,listIndex:i,revealed:r,visible:g&&k.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,r=!0,g=!0){const[y,...k]=e;if(y<0||y>t.children.length)throw new TreeError$1(this.user,"Invalid tree location");for(let L=0;Lt.element)),this.data=e}};function asTreeDragAndDropData$1(n){return n instanceof ElementsDragAndDropData$1?new TreeElementsDragAndDropData$1(n):n}let TreeNodeListDragAndDrop$1=class{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Disposable$1.None,this.disposables=new DisposableStore$1}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)==null||r.call(i,asTreeDragAndDropData$1(e),t)}onDragOver(e,t,i,r,g,y=!0){const k=this.dnd.onDragOver(asTreeDragAndDropData$1(e),t&&t.element,i,r,g),L=this.autoExpandNode!==t;if(L&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),typeof t>"u")return k;if(L&&typeof k!="boolean"&&k.autoExpand&&(this.autoExpandDisposable=disposableTimeout$1(()=>{const oe=this.modelProvider(),re=oe.getNodeLocation(t);oe.isCollapsed(re)&&oe.setCollapsed(re,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof k=="boolean"||!k.accept||typeof k.bubble>"u"||k.feedback){if(!y){const oe=typeof k=="boolean"?k:k.accept,re=typeof k=="boolean"?void 0:k.effect;return{accept:oe,effect:re,feedback:[i]}}return k}if(k.bubble===1){const oe=this.modelProvider(),re=oe.getNodeLocation(t),ae=oe.getParentNodeLocation(re),le=oe.getNode(ae),de=ae&&oe.getListIndex(ae);return this.onDragOver(e,le,de,r,g,!1)}const V=this.modelProvider(),z=V.getNodeLocation(t),j=V.getListIndex(z),ie=V.getListRenderCount(z);return{...k,feedback:range$3(j,j+ie)}}drop(e,t,i,r,g){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(asTreeDragAndDropData$1(e),t&&t.element,i,r,g)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)==null||i.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}};function asListOptions$1(n,e){return e&&{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new TreeNodeListDragAndDrop$1(n,e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getSetSize(t){const i=n(),r=i.getNodeLocation(t),g=i.getParentNodeLocation(r);return i.getNode(g).visibleChildrenCount},getPosInSet(t){return t.visibleChildIndex+1},isChecked:e.accessibilityProvider&&e.accessibilityProvider.isChecked?t=>e.accessibilityProvider.isChecked(t.element):void 0,getRole:e.accessibilityProvider&&e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider&&e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider&&e.accessibilityProvider.getAriaLevel?t=>e.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}}}let ComposedTreeDelegate$1=class{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var i,r;(r=(i=this.delegate).setDynamicHeight)==null||r.call(i,e.element,t)}};var RenderIndentGuides$1;(function(n){n.None="none",n.OnHover="onHover",n.Always="always"})(RenderIndentGuides$1||(RenderIndentGuides$1={}));let EventCollection$1=class{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new DisposableStore$1,this.onDidChange=Event$2.forEach(e,i=>this._elements=i,this.disposables)}dispose(){this.disposables.dispose()}};var Nr;let TreeRenderer$1=(Nr=class{constructor(e,t,i,r,g,y={}){var k;this.renderer=e,this.modelProvider=t,this.activeNodes=r,this.renderedIndentGuides=g,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=Nr.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Disposable$1.None,this.disposables=new DisposableStore$1,this.templateId=e.templateId,this.updateOptions(y),Event$2.map(i,L=>L.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(k=e.onDidChangeTwistieState)==null||k.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(typeof e.indent<"u"){const t=clamp$1(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[i,r]of this.renderedNodes)this.renderTreeElement(i,r)}}if(typeof e.renderIndentGuides<"u"){const t=e.renderIndentGuides!==RenderIndentGuides$1.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[i,r]of this.renderedNodes)this._renderIndentGuides(i,r);if(this.indentGuidesDisposable.dispose(),t){const i=new DisposableStore$1;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,i),this.indentGuidesDisposable=i,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof e.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=append$4(e,$$u(".monaco-tl-row")),i=append$4(t,$$u(".monaco-tl-indent")),r=append$4(t,$$u(".monaco-tl-twistie")),g=append$4(t,$$u(".monaco-tl-contents")),y=this.renderer.renderTemplate(g);return{container:e,indent:i,twistie:r,indentGuidesDisposable:Disposable$1.None,templateData:y}}renderElement(e,t,i,r){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,r)}disposeElement(e,t,i,r){var g,y;i.indentGuidesDisposable.dispose(),(y=(g=this.renderer).disposeElement)==null||y.call(g,e,t,i.templateData,r),typeof r=="number"&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=Nr.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft="".concat(i,"px"),t.indent.style.width="".concat(i+this.indent-16,"px"),e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemExpanded));let r=!1;this.renderer.renderTwistie&&(r=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(r||t.twistie.classList.add(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(clearNode$1(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new DisposableStore$1,r=this.modelProvider();for(;;){const g=r.getNodeLocation(e),y=r.getParentNodeLocation(g);if(!y)break;const k=r.getNode(y),L=$$u(".indent-guide",{style:"width: ".concat(this.indent,"px")});this.activeIndentNodes.has(k)&&L.classList.add("active"),t.indent.childElementCount===0?t.indent.appendChild(L):t.indent.insertBefore(L,t.indent.firstElementChild),this.renderedIndentGuides.add(k,L),i.add(toDisposable$1(()=>this.renderedIndentGuides.delete(k,L))),e=k}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(r=>{const g=i.getNodeLocation(r);try{const y=i.getParentNodeLocation(g);r.collapsible&&r.children.length>0&&!r.collapsed?t.add(r):y&&t.add(i.getNode(y))}catch(y){}}),this.activeIndentNodes.forEach(r=>{t.has(r)||this.renderedIndentGuides.forEach(r,g=>g.classList.remove("active"))}),t.forEach(r=>{this.activeIndentNodes.has(r)||this.renderedIndentGuides.forEach(r,g=>g.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),dispose$1(this.disposables)}},Nr.DefaultIndent=8,Nr),FindFilter$1=class{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new DisposableStore$1,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const y=this._filter.filter(e,t);if(typeof y=="boolean"?i=y?1:0:isFilterResult$1(y)?i=getVisibleState$1(y.visibility):i=y,i===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:FuzzyScore$1.Default,visibility:i};const r=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),g=Array.isArray(r)?r:[r];for(const y of g){const k=y&&y.toString();if(typeof k>"u")return{data:FuzzyScore$1.Default,visibility:i};let L;if(this.tree.findMatchType===TreeFindMatchType$1.Contiguous){const V=k.toLowerCase().indexOf(this._lowercasePattern);if(V>-1){L=[Number.MAX_SAFE_INTEGER,0];for(let z=this._lowercasePattern.length;z>0;z--)L.push(V+z-1)}}else L=fuzzyScore$1(this._pattern,this._lowercasePattern,0,k,k.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(L)return this._matchCount++,g.length===1?{data:L,visibility:i}:{data:{label:k,score:L},visibility:i}}return this.tree.findMode===TreeFindMode$1.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:FuzzyScore$1.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){dispose$1(this.disposables)}};var TreeFindMode$1;(function(n){n[n.Highlight=0]="Highlight",n[n.Filter=1]="Filter"})(TreeFindMode$1||(TreeFindMode$1={}));var TreeFindMatchType$1;(function(n){n[n.Fuzzy=0]="Fuzzy",n[n.Contiguous=1]="Contiguous"})(TreeFindMatchType$1||(TreeFindMatchType$1={}));let FindController$3=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,r,g,y={}){var k,L;this.tree=e,this.view=i,this.filter=r,this.contextViewProvider=g,this.options=y,this._pattern="",this.width=0,this._onDidChangeMode=new Emitter$3,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new Emitter$3,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new Emitter$3,this._onDidChangeOpenState=new Emitter$3,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new DisposableStore$1,this.disposables=new DisposableStore$1,this._mode=(k=e.options.defaultFindMode)!=null?k:TreeFindMode$1.Highlight,this._matchType=(L=e.options.defaultFindMatchType)!=null?L:TreeFindMatchType$1.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var t,i,r,g;const e=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&e?(alert$1(localize$1("replFindNoResults","No results")),(t=this.tree.options.showNotFoundMessage)==null||t?(i=this.widget)==null||i.showMessage({type:2,content:localize$1("not found","No elements found.")}):(r=this.widget)==null||r.showMessage({type:2})):((g=this.widget)==null||g.clearMessage(),this.pattern&&alert$1(localize$1("replFindResults","{0} results",this.filter.matchCount)))}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!FuzzyScore$1.isDefault(e.filterData)}layout(e){var t;this.width=e,(t=this.widget)==null||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function stickyScrollNodeStateEquals$1(n,e){return n.position===e.position&&stickyScrollNodeEquals$1(n,e)}function stickyScrollNodeEquals$1(n,e){return n.node.element===e.node.element&&n.startIndex===e.startIndex&&n.height===e.height&&n.endIndex===e.endIndex}let StickyScrollState$1=class{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return equals$5(this.stickyNodes,e.stickyNodes,stickyScrollNodeStateEquals$1)}lastNodePartiallyVisible(){if(this.count===0)return!1;const e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!equals$5(this.stickyNodes,e.stickyNodes,stickyScrollNodeEquals$1)||this.count===0)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}},DefaultStickyScrollDelegate$1=class{constrainStickyScrollNodes(e,t,i){for(let r=0;ri||r>=t)return e.slice(0,r)}return e}},StickyScrollController$3=class extends Disposable$1{constructor(e,t,i,r,g,y={}){var L;super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=g,this.maxWidgetViewRatio=.4;const k=this.validateStickySettings(y);this.stickyScrollMaxItemCount=k.stickyScrollMaxItemCount,this.stickyScrollDelegate=(L=y.stickyScrollDelegate)!=null?L:new DefaultStickyScrollDelegate$1,this._widget=this._register(new StickyScrollWidget$3(i.getScrollableElement(),i,e,r,g,y.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(e===0?t=this.view.firstVisibleIndex:t=this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||this.tree.scrollTop===0){this._widget.setState(void 0);return}const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,r=0,g=this.getNextStickyNode(i,void 0,r);for(;g&&(t.push(g),r+=g.height,!(t.length<=this.stickyScrollMaxItemCount&&(i=this.getNextVisibleNode(g),!i)));)g=this.getNextStickyNode(i,g.node,r);const y=this.constrainStickyNodes(t);return y.length?new StickyScrollState$1(y):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const r=this.getAncestorUnderPrevious(e,t);if(r&&!(r===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,i))))return this.createStickyScrollNode(r,i)}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),r=this.view.getElementTop(i),g=t;return this.view.scrollTop===r-g}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:r,endIndex:g}=this.getNodeRange(e),y=this.calculateStickyNodePosition(g,t,i);return{node:e,position:y,height:i,startIndex:r,endIndex:g}}getAncestorUnderPrevious(e,t=void 0){let i=e,r=this.getParentNode(i);for(;r;){if(r===t)return i;i=r,r=this.getParentNode(i)}if(t===void 0)return i}calculateStickyNodePosition(e,t,i){let r=this.view.getRelativeTop(e);if(r===null&&this.view.firstVisibleIndex===e&&e+1L&&t<=L?L-i:t}constrainStickyNodes(e){if(e.length===0)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const r=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!r.length)return[];const g=r[r.length-1];if(r.length>this.stickyScrollMaxItemCount||g.position+g.height>t)throw new Error("stickyScrollDelegate violates constraints");return r}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");const r=this.model.getListRenderCount(t),g=i+r-1;return{startIndex:i,endIndex:g}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let r=0;for(let g=0;g0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const r=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top="".concat(r.position,"px");else{this._previousStateDisposables.clear();const g=Array(e.count);for(let y=e.count-1;y>=0;y--){const k=e.stickyNodes[y],{element:L,disposable:V}=this.createElement(k,y,e.count);g[y]=L,this._rootDomNode.appendChild(L),this._previousStateDisposables.add(V)}this.stickyScrollFocus.updateElements(g,e),this._previousElements=g}this._previousState=e,this._rootDomNode.style.height="".concat(r.position+r.height,"px")}createElement(e,t,i){const r=e.startIndex,g=document.createElement("div");g.style.top="".concat(e.position,"px"),this.tree.options.setRowHeight!==!1&&(g.style.height="".concat(e.height,"px")),this.tree.options.setRowLineHeight!==!1&&(g.style.lineHeight="".concat(e.height,"px")),g.classList.add("monaco-tree-sticky-row"),g.classList.add("monaco-list-row"),g.setAttribute("data-index","".concat(r)),g.setAttribute("data-parity",r%2===0?"even":"odd"),g.setAttribute("id",this.view.getElementID(r));const y=this.setAccessibilityAttributes(g,e.node.element,t,i),k=this.treeDelegate.getTemplateId(e.node),L=this.treeRenderers.find(ie=>ie.templateId===k);if(!L)throw new Error("No renderer found for template id ".concat(k));let V=e.node;V===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(V=new Proxy(e.node,{}));const z=L.renderTemplate(g);L.renderElement(V,e.startIndex,z,e.height);const j=toDisposable$1(()=>{y.dispose(),L.disposeElement(V,e.startIndex,z,e.height),L.disposeTemplate(z),g.remove()});return{element:g,disposable:j}}setAccessibilityAttributes(e,t,i,r){var V;if(!this.accessibilityProvider)return Disposable$1.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,r))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",(V=this.accessibilityProvider.getRole(t))!=null?V:"treeitem");const g=this.accessibilityProvider.getAriaLabel(t),y=g&&typeof g!="string"?g:constObservable$1(g),k=autorun$1(z=>{const j=z.readObservable(y);j?e.setAttribute("aria-label",j):e.removeAttribute("aria-label")});typeof g=="string"||g&&e.setAttribute("aria-label",g.get());const L=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof L=="number"&&e.setAttribute("aria-level","".concat(L)),e.setAttribute("aria-selected",String(!1)),k}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}},StickyScrollFocus$1=class extends Disposable$1{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new Emitter$3,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new Emitter$3,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this._register(addDisposableListener$1(this.container,"focus",()=>this.onFocus())),this._register(addDisposableListener$1(this.container,"blur",()=>this.onBlur())),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(i=>this.onKeyDown(i))),this._register(this.view.onMouseDown(i=>this.onMouseDown(i))),this._register(this.view.onContextMenu(i=>this.handleContextMenu(i)))}handleContextMenu(e){const t=e.browserEvent.target;if(!isStickyScrollContainer$1(t)&&!isStickyScrollElement$1(t)){this.focusedLast()&&this.view.domFocus();return}if(!isKeyboardEvent$1(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const y=this.state.stickyNodes.findIndex(k=>{var L;return k.node.element===((L=e.element)==null?void 0:L.element)});if(y===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(y);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const r=this.state.stickyNodes[this.focusedIndex].node.element,g=this.elements[this.focusedIndex];this._onContextMenu.fire({element:r,anchor:g,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key==="ArrowDown"||e.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const t=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([t]),this.scrollNodeUnderWidget(t,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){const t=e.browserEvent.target;!isStickyScrollContainer$1(t)&&!isStickyScrollElement$1(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const r=clamp$1(i,0,t.count-1);this.setFocus(r)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,g=this.view.getElementTop(e),y=r?r.position+r.height+i.height:i.height;this.view.scrollTop=g-y}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}};function asTreeMouseEvent$3(n){let e=TreeMouseEventTarget$1.Unknown;return hasParentWithClass$1(n.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?e=TreeMouseEventTarget$1.Twistie:hasParentWithClass$1(n.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?e=TreeMouseEventTarget$1.Element:hasParentWithClass$1(n.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(e=TreeMouseEventTarget$1.Filter),{browserEvent:n.browserEvent,element:n.element?n.element.element:null,target:e}}function asTreeContextMenuEvent$1(n){const e=isStickyScrollContainer$1(n.browserEvent.target);return{element:n.element?n.element.element:null,browserEvent:n.browserEvent,anchor:n.anchor,isStickyScroll:e}}function dfs$3(n,e){e(n),n.children.forEach(t=>dfs$3(t,e))}let Trait$2=class{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event}set(e,t){!(t!=null&&t.__forceEvent)&&equals$5(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const r=this;this._onDidChange.fire({get elements(){return r.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const L=this.createNodeSet(),V=z=>L.delete(z);t.forEach(z=>dfs$3(z,V)),this.set([...L.values()]);return}const i=new Set,r=L=>i.add(this.identityProvider.getId(L.element).toString());t.forEach(L=>dfs$3(L,r));const g=new Map,y=L=>g.set(this.identityProvider.getId(L.element).toString(),L);e.forEach(L=>dfs$3(L,y));const k=[];for(const L of this.nodes){const V=this.identityProvider.getId(L.element).toString();if(!i.has(V))k.push(L);else{const j=g.get(V);j&&j.visible&&k.push(j)}}if(this.nodes.length>0&&k.length===0){const L=this.getFirstViewElementWithTrait();L&&k.push(L)}this._set(k,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}},TreeNodeListMouseController$1=class extends MouseController$1{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(isButton$1(e.browserEvent.target)||isInputElement$1(e.browserEvent.target)||isMonacoEditor$1(e.browserEvent.target)||e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,r=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,g=isStickyScrollElement$1(e.browserEvent.target);let y=!1;if(g?y=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?y=this.tree.expandOnlyOnTwistieClick(t.element):y=!!this.tree.expandOnlyOnTwistieClick,g)this.handleStickyScrollMouseEvent(e,t);else{if(y&&!r&&e.browserEvent.detail!==2)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e)}if(t.collapsible&&(!g||r)){const k=this.tree.getNodeLocation(t),L=e.browserEvent.altKey;if(this.tree.setFocus([k]),this.tree.toggleCollapsed(k,L),r){e.browserEvent.isHandledByList=!0;return}}g||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(isMonacoCustomToggle$1(e.browserEvent.target)||isActionItem$1(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const r=this.list.indexOf(t),g=this.list.getElementTop(r),y=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=g-y,this.list.domFocus(),this.list.setFocus([r]),this.list.setSelection([r])}onDoubleClick(e){e.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){const t=e.browserEvent.target;if(!isStickyScrollContainer$1(t)&&!isStickyScrollElement$1(t)){super.onMouseDown(e);return}}onContextMenu(e){const t=e.browserEvent.target;if(!isStickyScrollContainer$1(t)&&!isStickyScrollElement$1(t)){super.onContextMenu(e);return}}},TreeNodeList$1=class extends List$1{constructor(e,t,i,r,g,y,k,L){super(e,t,i,r,L),this.focusTrait=g,this.selectionTrait=y,this.anchorTrait=k}createMouseController(e){return new TreeNodeListMouseController$1(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),i.length===0)return;const r=[],g=[];let y;i.forEach((k,L)=>{this.focusTrait.has(k)&&r.push(e+L),this.selectionTrait.has(k)&&g.push(e+L),this.anchorTrait.has(k)&&(y=e+L)}),r.length>0&&super.setFocus(distinct$1([...super.getFocus(),...r])),g.length>0&&super.setSelection(distinct$1([...super.getSelection(),...g])),typeof y=="number"&&super.setAnchor(y)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(r=>this.element(r)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(r=>this.element(r)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(typeof e>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}},AbstractTree$1=class{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Event$2.filter(Event$2.map(this.view.onMouseDblClick,asTreeMouseEvent$3),e=>e.target!==TreeMouseEventTarget$1.Filter)}get onMouseOver(){return Event$2.map(this.view.onMouseOver,asTreeMouseEvent$3)}get onMouseOut(){return Event$2.map(this.view.onMouseOut,asTreeMouseEvent$3)}get onContextMenu(){var e,t;return Event$2.any(Event$2.filter(Event$2.map(this.view.onContextMenu,asTreeContextMenuEvent$1),i=>!i.isStickyScroll),(t=(e=this.stickyScrollController)==null?void 0:e.onContextMenu)!=null?t:Event$2.None)}get onPointer(){return Event$2.map(this.view.onPointer,asTreeMouseEvent$3)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Event$2.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return(t=(e=this.findController)==null?void 0:e.mode)!=null?t:TreeFindMode$1.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return(t=(e=this.findController)==null?void 0:e.matchType)!=null?t:TreeFindMatchType$1.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,r,g={}){var re;this._user=e,this._options=g,this.eventBufferer=new EventBufferer$1,this.onDidChangeFindOpenState=Event$2.None,this.onDidChangeStickyScrollFocused=Event$2.None,this.disposables=new DisposableStore$1,this._onWillRefilter=new Emitter$3,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Emitter$3,this.treeDelegate=new ComposedTreeDelegate$1(i);const y=new Relay$1,k=new Relay$1,L=this.disposables.add(new EventCollection$1(k.event)),V=new SetMap$1;this.renderers=r.map(ae=>new TreeRenderer$1(ae,()=>this.model,y.event,L,V,g));for(const ae of this.renderers)this.disposables.add(ae);let z;g.keyboardNavigationLabelProvider&&(z=new FindFilter$1(this,g.keyboardNavigationLabelProvider,g.filter),g={...g,filter:z},this.disposables.add(z)),this.focus=new Trait$2(()=>this.view.getFocusedElements()[0],g.identityProvider),this.selection=new Trait$2(()=>this.view.getSelectedElements()[0],g.identityProvider),this.anchor=new Trait$2(()=>this.view.getAnchorElement(),g.identityProvider),this.view=new TreeNodeList$1(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...asListOptions$1(()=>this.model,g),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,g),y.input=this.model.onDidChangeCollapseState;const j=Event$2.forEach(this.model.onDidSplice,ae=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(ae),this.selection.onDidModelSplice(ae)})},this.disposables);j(()=>null,null,this.disposables);const ie=this.disposables.add(new Emitter$3),oe=this.disposables.add(new Delayer$1(0));if(this.disposables.add(Event$2.any(j,this.focus.onDidChange,this.selection.onDidChange)(()=>{oe.trigger(()=>{const ae=new Set;for(const le of this.focus.getNodes())ae.add(le);for(const le of this.selection.getNodes())ae.add(le);ie.fire([...ae.values()])})})),k.input=ie.event,g.keyboardSupport!==!1){const ae=Event$2.chain(this.view.onKeyDown,le=>le.filter(de=>!isInputElement$1(de.target)).map(de=>new StandardKeyboardEvent$1(de)));Event$2.chain(ae,le=>le.filter(de=>de.keyCode===15))(this.onLeftArrow,this,this.disposables),Event$2.chain(ae,le=>le.filter(de=>de.keyCode===17))(this.onRightArrow,this,this.disposables),Event$2.chain(ae,le=>le.filter(de=>de.keyCode===10))(this.onSpace,this,this.disposables)}if(((re=g.findWidgetEnabled)==null||re)&&g.keyboardNavigationLabelProvider&&g.contextViewProvider){const ae=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new FindController$3(this,this.model,this.view,z,g.contextViewProvider,ae),this.focusNavigationFilter=le=>this.findController.shouldAllowFocus(le),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=Event$2.None,this.onDidChangeFindMatchType=Event$2.None;g.enableStickyScroll&&(this.stickyScrollController=new StickyScrollController$3(this,this.model,this.view,this.renderers,this.treeDelegate,g),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=createStyleSheet$1(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides$1.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const i of this.renderers)i.updateOptions(e);this.view.updateOptions(this._options),(t=this.findController)==null||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides$1.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new StickyScrollController$3(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=Event$2.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),(t=this.stickyScrollController)==null||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;(e=this.stickyScrollController)!=null&&e.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var i;this.view.layout(e,t),isNumber$8(t)&&((i=this.findController)==null||i.layout(t))}style(e){var y,k;const t=".".concat(this.view.domId),i=[];e.treeIndentGuidesStroke&&(i.push(".monaco-list".concat(t,":hover .monaco-tl-indent > .indent-guide, .monaco-list").concat(t,".always .monaco-tl-indent > .indent-guide { border-color: ").concat(e.treeInactiveIndentGuidesStroke,"; }")),i.push(".monaco-list".concat(t," .monaco-tl-indent > .indent-guide.active { border-color: ").concat(e.treeIndentGuidesStroke,"; }")));const r=(y=e.treeStickyScrollBackground)!=null?y:e.listBackground;r&&(i.push(".monaco-list".concat(t," .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ").concat(r,"; }")),i.push(".monaco-list".concat(t," .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ").concat(r,"; }"))),e.treeStickyScrollBorder&&i.push(".monaco-list".concat(t," .monaco-scrollable-element .monaco-tree-sticky-container { border-bottom: 1px solid ").concat(e.treeStickyScrollBorder,"; }")),e.treeStickyScrollShadow&&i.push(".monaco-list".concat(t," .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-container-shadow { box-shadow: ").concat(e.treeStickyScrollShadow," 0 6px 6px -6px inset; height: 3px; }")),e.listFocusForeground&&(i.push(".monaco-list".concat(t,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ").concat(e.listFocusForeground,"; }")),i.push(".monaco-list".concat(t,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }")));const g=asCssValueWithDefault$1(e.listFocusAndSelectionOutline,asCssValueWithDefault$1(e.listSelectionOutline,(k=e.listFocusOutline)!=null?k:""));g&&(i.push(".monaco-list".concat(t,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ").concat(g,"; outline-offset: -1px;}")),i.push(".monaco-list".concat(t,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}"))),e.listFocusOutline&&(i.push(".monaco-list".concat(t,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }")),i.push(".monaco-list".concat(t,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }")),i.push(".monaco-workbench.context-menu-visible .monaco-list".concat(t,".last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }")),i.push(".monaco-workbench.context-menu-visible .monaco-list".concat(t,".last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }")),i.push(".monaco-workbench.context-menu-visible .monaco-list".concat(t,".last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }"))),this.styleElement.textContent=i.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(g=>this.model.getNode(g));this.selection.set(i,t);const r=e.map(g=>this.model.getListIndex(g)).filter(g=>g>-1);this.view.setSelection(r,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(g=>this.model.getNode(g));this.focus.set(i,t);const r=e.map(g=>this.model.getListIndex(g)).filter(g=>g>-1);this.view.setFocus(r,t,!0)})}focusNext(e=1,t=!1,i,r=isKeyboardEvent$1(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,r)}focusPrevious(e=1,t=!1,i,r=isKeyboardEvent$1(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,r)}focusNextPage(e,t=isKeyboardEvent$1(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=isKeyboardEvent$1(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>{var i,r;return(r=(i=this.stickyScrollController)==null?void 0:i.height)!=null?r:0})}focusLast(e,t=isKeyboardEvent$1(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusLast(e,t)}focusFirst(e,t=isKeyboardEvent$1(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const r=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,r)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!0)){const y=this.model.getParentNodeLocation(r);if(!y)return;const k=this.model.getListIndex(y);this.view.reveal(k),this.view.setFocus([k])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!1)){if(!i.children.some(L=>L.visible))return;const[y]=this.view.getFocus(),k=y+1;this.view.reveal(k),this.view.setFocus([k])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i),g=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,g)}dispose(){var e;dispose$1(this.disposables),(e=this.stickyScrollController)==null||e.dispose(),this.view.dispose()}},ObjectTreeModel$1=class{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new IndexTreeModel$1(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare(r,g){return i.sorter.compare(r.element,g.element)}}),this.identityProvider=i.identityProvider}setChildren(e,t=Iterable$1.empty(),i={}){const r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),i)}_setChildren(e,t=Iterable$1.empty(),i){const r=new Set,g=new Set,y=L=>{var z;if(L.element===null)return;const V=L;if(r.add(V.element),this.nodes.set(V.element,V),this.identityProvider){const j=this.identityProvider.getId(V.element).toString();g.add(j),this.nodesByIdentity.set(j,V)}(z=i.onDidCreateNode)==null||z.call(i,V)},k=L=>{var z;if(L.element===null)return;const V=L;if(r.has(V.element)||this.nodes.delete(V.element),this.identityProvider){const j=this.identityProvider.getId(V.element).toString();g.has(j)||this.nodesByIdentity.delete(j)}(z=i.onDidDeleteNode)==null||z.call(i,V)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:y,onDidDeleteNode:k})}preserveCollapseState(e=Iterable$1.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Iterable$1.map(e,t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const y=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(y)}if(!i){let y;return typeof t.collapsed>"u"?y=void 0:t.collapsed===ObjectTreeElementCollapseState$1.Collapsed||t.collapsed===ObjectTreeElementCollapseState$1.PreserveOrCollapsed?y=!0:t.collapsed===ObjectTreeElementCollapseState$1.Expanded||t.collapsed===ObjectTreeElementCollapseState$1.PreserveOrExpanded?y=!1:y=!!t.collapsed,{...t,children:this.preserveCollapseState(t.children),collapsed:y}}const r=typeof t.collapsible=="boolean"?t.collapsible:i.collapsible;let g;return typeof t.collapsed>"u"||t.collapsed===ObjectTreeElementCollapseState$1.PreserveOrCollapsed||t.collapsed===ObjectTreeElementCollapseState$1.PreserveOrExpanded?g=i.collapsed:t.collapsed===ObjectTreeElementCollapseState$1.Collapsed?g=!0:t.collapsed===ObjectTreeElementCollapseState$1.Expanded?g=!1:g=!!t.collapsed,{...t,collapsible:r,collapsed:g,children:this.preserveCollapseState(t.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getElementLocation(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new TreeError$1(this.user,"Tree element not found: ".concat(e));return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new TreeError$1(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new TreeError$1(this.user,"Tree element not found: ".concat(e));const i=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(i);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];const t=this.nodes.get(e);if(!t)throw new TreeError$1(this.user,"Tree element not found: ".concat(e));return this.model.getNodeLocation(t)}};function noCompress$1(n){const e=[n.element],t=n.incompressible||!1;return{element:{elements:e,incompressible:t},children:Iterable$1.map(Iterable$1.from(n.children),noCompress$1),collapsible:n.collapsible,collapsed:n.collapsed}}function compress$1(n){const e=[n.element],t=n.incompressible||!1;let i,r;for(;[r,i]=Iterable$1.consume(Iterable$1.from(n.children),2),!(r.length!==1||r[0].incompressible);)n=r[0],e.push(n.element);return{element:{elements:e,incompressible:t},children:Iterable$1.map(Iterable$1.concat(r,i),compress$1),collapsible:n.collapsible,collapsed:n.collapsed}}function _decompress$1(n,e=0){let t;return e_decompress$1(i,0)),e===0&&n.element.incompressible?{element:n.element.elements[e],children:t,incompressible:!0,collapsible:n.collapsible,collapsed:n.collapsed}:{element:n.element.elements[e],children:t,collapsible:n.collapsible,collapsed:n.collapsed}}function decompress$1(n){return _decompress$1(n,0)}function splice$3(n,e,t){return n.element===e?{...n,children:t}:{...n,children:Iterable$1.map(Iterable$1.from(n.children),i=>splice$3(i,e,t))}}const wrapIdentityProvider$1=n=>({getId(e){return e.elements.map(t=>n.getId(t).toString()).join("\0")}});let CompressedObjectTreeModel$1=class{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new ObjectTreeModel$1(e,t,i),this.enabled=typeof i.compressionEnabled>"u"?!0:i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Iterable$1.empty(),i){const r=i.diffIdentityProvider&&wrapIdentityProvider$1(i.diffIdentityProvider);if(e===null){const re=Iterable$1.map(t,this.enabled?compress$1:noCompress$1);this._setChildren(null,re,{diffIdentityProvider:r,diffDepth:1/0});return}const g=this.nodes.get(e);if(!g)throw new TreeError$1(this.user,"Unknown compressed tree node");const y=this.model.getNode(g),k=this.model.getParentNodeLocation(g),L=this.model.getNode(k),V=decompress$1(y),z=splice$3(V,e,t),j=(this.enabled?compress$1:noCompress$1)(z),ie=i.diffIdentityProvider?(re,ae)=>i.diffIdentityProvider.getId(re)===i.diffIdentityProvider.getId(ae):void 0;if(equals$5(j.element.elements,y.element.elements,ie)){this._setChildren(g,j.children||Iterable$1.empty(),{diffIdentityProvider:r,diffDepth:1});return}const oe=L.children.map(re=>re===y?j:re);this._setChildren(L.element,oe,{diffIdentityProvider:r,diffDepth:y.depth-L.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const i=this.model.getNode().children,r=Iterable$1.map(i,decompress$1),g=Iterable$1.map(r,e?compress$1:noCompress$1);this._setChildren(null,g,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const r=new Set,g=k=>{for(const L of k.element.elements)r.add(L),this.nodes.set(L,k.element)},y=k=>{for(const L of k.element.elements)r.has(L)||this.nodes.delete(L)};this.model.setChildren(e,t,{...i,onDidCreateNode:g,onDidDeleteNode:y})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(typeof e>"u")return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return i===null?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;const t=this.nodes.get(e);if(!t)throw new TreeError$1(this.user,"Tree element not found: ".concat(e));return t}};const DefaultElementMapper$1=n=>n[n.length-1];let CompressedTreeNodeWrapper$1=class th{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new th(this.unwrapper,e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}};function mapList$1(n,e){return{splice(t,i,r){e.splice(t,i,r.map(g=>n.map(g)))},updateElementHeight(t,i){e.updateElementHeight(t,i)}}}function mapOptions$1(n,e){return{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(n(t))}},sorter:e.sorter&&{compare(t,i){return e.sorter.compare(t.elements[0],i.elements[0])}},filter:e.filter&&{filter(t,i){return e.filter.filter(n(t),i)}}}}let CompressibleObjectTreeModel$1=class{get onDidSplice(){return Event$2.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(i=>this.nodeMapper.map(i)),deletedNodes:t.map(i=>this.nodeMapper.map(i))}))}get onDidChangeCollapseState(){return Event$2.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return Event$2.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||DefaultElementMapper$1;const r=g=>this.elementMapper(g.elements);this.nodeMapper=new WeakMapper$1(g=>new CompressedTreeNodeWrapper$1(r,g)),this.model=new CompressedObjectTreeModel$1(e,mapList$1(this.nodeMapper,t),mapOptions$1(r,i))}setChildren(e,t=Iterable$1.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return t===null||typeof t>"u"?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}};var __decorate$4E=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};let ObjectTree$1=class extends AbstractTree$1{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,r,g={}){super(e,t,i,r,g),this.user=e}setChildren(e,t=Iterable$1.empty(),i){this.model.setChildren(e,t,i)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new ObjectTreeModel$1(e,t,i)}},CompressibleRenderer$1=class{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){let g=this.stickyScrollDelegate.getCompressedNode(e);g||(g=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),g.element.elements.length===1?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,r)):(i.compressedTreeNode=g,this.renderer.renderCompressedElements(g,t,i.data,r))}disposeElement(e,t,i,r){var g,y,k,L;i.compressedTreeNode?(y=(g=this.renderer).disposeCompressedElements)==null||y.call(g,i.compressedTreeNode,t,i.data,r):(L=(k=this.renderer).disposeElement)==null||L.call(k,e,t,i.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}};__decorate$4E([memoize$2],CompressibleRenderer$1.prototype,"compressedTreeNodeProvider",null);let CompressibleStickyScrollDelegate$1=class{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let r=0;ri||r>=t-1&&tthis,k=new CompressibleStickyScrollDelegate$1(()=>this.model),L=r.map(V=>new CompressibleRenderer$1(y,k,V));super(e,t,i,L,{...asObjectTreeOptions$3(y,g),stickyScrollDelegate:k})}setChildren(e,t=Iterable$1.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new CompressibleObjectTreeModel$1(e,t,i)}updateOptions(e={}){super.updateOptions(e),typeof e.compressionEnabled<"u"&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}};function createAsyncDataTreeNode$1(n){return{...n,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function isAncestor$2(n,e){return e.parent?e.parent===n?!0:isAncestor$2(n,e.parent):!1}function intersects$1(n,e){return n===e||isAncestor$2(n,e)||isAncestor$2(e,n)}let AsyncDataTreeNodeWrapper$1=class ih{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new ih(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}},AsyncDataTreeRenderer$1=class{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemLoading)),!1)}disposeElement(e,t,i,r){var g,y;(y=(g=this.renderer).disposeElement)==null||y.call(g,this.nodeMapper.map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}};function asTreeEvent$1(n){return{browserEvent:n.browserEvent,elements:n.elements.map(e=>e.element)}}function asTreeMouseEvent$2(n){return{browserEvent:n.browserEvent,element:n.element&&n.element.element,target:n.target}}let AsyncDataTreeElementsDragAndDropData$1=class extends ElementsDragAndDropData$1{constructor(e){super(e.elements.map(t=>t.element)),this.data=e}};function asAsyncDataTreeDragAndDropData$1(n){return n instanceof ElementsDragAndDropData$1?new AsyncDataTreeElementsDragAndDropData$1(n):n}let AsyncDataTreeNodeListDragAndDrop$1=class{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)==null||r.call(i,asAsyncDataTreeDragAndDropData$1(e),t)}onDragOver(e,t,i,r,g,y=!0){return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData$1(e),t&&t.element,i,r,g)}drop(e,t,i,r,g){this.dnd.drop(asAsyncDataTreeDragAndDropData$1(e),t&&t.element,i,r,g)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)==null||i.call(t,e)}dispose(){this.dnd.dispose()}};function asObjectTreeOptions$2(n){return n&&{...n,collapseByDefault:!0,identityProvider:n.identityProvider&&{getId(e){return n.identityProvider.getId(e.element)}},dnd:n.dnd&&new AsyncDataTreeNodeListDragAndDrop$1(n.dnd),multipleSelectionController:n.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return n.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return n.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:n.accessibilityProvider&&{...n.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:n.accessibilityProvider.getRole?e=>n.accessibilityProvider.getRole(e.element):()=>"treeitem",isChecked:n.accessibilityProvider.isChecked?e=>{var t;return!!((t=n.accessibilityProvider)!=null&&t.isChecked(e.element))}:void 0,getAriaLabel(e){return n.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return n.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:n.accessibilityProvider.getWidgetRole?()=>n.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:n.accessibilityProvider.getAriaLevel&&(e=>n.accessibilityProvider.getAriaLevel(e.element)),getActiveDescendantId:n.accessibilityProvider.getActiveDescendantId&&(e=>n.accessibilityProvider.getActiveDescendantId(e.element))},filter:n.filter&&{filter(e,t){return n.filter.filter(e.element,t)}},keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{...n.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof n.expandOnlyOnTwistieClick>"u"?void 0:typeof n.expandOnlyOnTwistieClick!="function"?n.expandOnlyOnTwistieClick:e=>n.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>e.hasChildren&&e.stale?1:typeof n.defaultFindVisibility=="number"?n.defaultFindVisibility:typeof n.defaultFindVisibility>"u"?2:n.defaultFindVisibility(e.element)}}function dfs$2(n,e){e(n),n.children.forEach(t=>dfs$2(t,e))}let AsyncDataTree$1=class{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return Event$2.map(this.tree.onDidChangeFocus,asTreeEvent$1)}get onDidChangeSelection(){return Event$2.map(this.tree.onDidChangeSelection,asTreeEvent$1)}get onMouseDblClick(){return Event$2.map(this.tree.onMouseDblClick,asTreeMouseEvent$2)}get onPointer(){return Event$2.map(this.tree.onPointer,asTreeMouseEvent$2)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,r,g,y={}){this.user=e,this.dataSource=g,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Emitter$3,this._onDidChangeNodeSlowState=new Emitter$3,this.nodeMapper=new WeakMapper$1(k=>new AsyncDataTreeNodeWrapper$1(k)),this.disposables=new DisposableStore$1,this.identityProvider=y.identityProvider,this.autoExpandSingleChildren=typeof y.autoExpandSingleChildren>"u"?!1:y.autoExpandSingleChildren,this.sorter=y.sorter,this.getDefaultCollapseState=k=>y.collapseByDefault?y.collapseByDefault(k)?ObjectTreeElementCollapseState$1.PreserveOrCollapsed:ObjectTreeElementCollapseState$1.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,r,y),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=createAsyncDataTreeNode$1({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,r,g){const y=new ComposedTreeDelegate$1(i),k=r.map(V=>new AsyncDataTreeRenderer$1(V,this.nodeMapper,this._onDidChangeNodeSlowState.event)),L=asObjectTreeOptions$2(g)||{};return new ObjectTree$1(e,t,y,k,L)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(r=>r.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&typeof t.scrollTop=="number"&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,r,g){if(typeof this.root.element>"u")throw new TreeError$1(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$2.toPromise(this._onDidRender.event));const y=this.getDataNode(e);if(await this.refreshAndRenderNode(y,t,r,g),i)try{this.tree.rerender(y)}catch(k){}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(typeof this.root.element>"u")throw new TreeError$1(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$2.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i)||(i.refreshPromise&&(await this.root.refreshPromise,await Event$2.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i)))return!1;const r=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await Event$2.toPromise(this._onDidRender.event)),r}setSelection(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(t=>t.element)}setFocus(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(t=>t.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new TreeError$1(this.user,"Data tree node not found: ".concat(e));return t}async refreshAndRenderNode(e,t,i,r){await this.refreshNode(e,t,i),!this.disposables.isDisposed&&this.render(e,i,r)}async refreshNode(e,t,i){let r;if(this.subTreeRefreshPromises.forEach((g,y)=>{!r&&intersects$1(y,e)&&(r=g.then(()=>this.refreshNode(e,t,i)))}),r)return r;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,i);return}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let r;e.refreshPromise=new Promise(g=>r=g),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const g=await this.doRefreshNode(e,t,i);e.stale=!1,await Promises$1.settled(g.map(y=>this.doRefreshSubTree(y,t,i)))}finally{r()}}async doRefreshNode(e,t,i){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(Iterable$1.empty());else{const g=this.doGetChildren(e);if(isIterable$1(g))r=Promise.resolve(g);else{const y=timeout$1(800);y.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},k=>null),r=g.finally(()=>y.cancel())}}try{const g=await r;return this.setChildren(e,g,t,i)}catch(g){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),isCancellationError$1(g))return[];throw g}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return isIterable$1(i)?this.processChildren(i):(t=createCancelablePromise$1(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(onUnexpectedError$1))}setChildren(e,t,i,r){const g=[...t];if(e.children.length===0&&g.length===0)return[];const y=new Map,k=new Map;for(const z of e.children)y.set(z.element,z),this.identityProvider&&k.set(z.id,{node:z,collapsed:this.tree.hasElement(z)&&this.tree.isCollapsed(z)});const L=[],V=g.map(z=>{const j=!!this.dataSource.hasChildren(z);if(!this.identityProvider){const ae=createAsyncDataTreeNode$1({element:z,parent:e,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(z)});return j&&ae.defaultCollapseState===ObjectTreeElementCollapseState$1.PreserveOrExpanded&&L.push(ae),ae}const ie=this.identityProvider.getId(z).toString(),oe=k.get(ie);if(oe){const ae=oe.node;return y.delete(ae.element),this.nodes.delete(ae.element),this.nodes.set(z,ae),ae.element=z,ae.hasChildren=j,i?oe.collapsed?(ae.children.forEach(le=>dfs$2(le,de=>this.nodes.delete(de.element))),ae.children.splice(0,ae.children.length),ae.stale=!0):L.push(ae):j&&!oe.collapsed&&L.push(ae),ae}const re=createAsyncDataTreeNode$1({element:z,parent:e,id:ie,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(z)});return r&&r.viewState.focus&&r.viewState.focus.indexOf(ie)>-1&&r.focus.push(re),r&&r.viewState.selection&&r.viewState.selection.indexOf(ie)>-1&&r.selection.push(re),(r&&r.viewState.expanded&&r.viewState.expanded.indexOf(ie)>-1||j&&re.defaultCollapseState===ObjectTreeElementCollapseState$1.PreserveOrExpanded)&&L.push(re),re});for(const z of y.values())dfs$2(z,j=>this.nodes.delete(j.element));for(const z of V)this.nodes.set(z.element,z);return e.children.splice(0,e.children.length,...V),e!==this.root&&this.autoExpandSingleChildren&&V.length===1&&L.length===0&&(V[0].forceExpanded=!0,L.push(V[0])),L}render(e,t,i){const r=e.children.map(y=>this.asTreeElement(y,t)),g=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId(y){return i.diffIdentityProvider.getId(y.element)}}};this.tree.setChildren(e===this.root?null:e,r,g),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Iterable$1.map(e.children,r=>this.asTreeElement(r,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}},CompressibleAsyncDataTreeNodeWrapper$1=class nh{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new nh(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}},CompressibleAsyncDataTreeRenderer$1=class{constructor(e,t,i,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderCompressedElements(e,t,i,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon$1.asClassNameArray(Codicon$1.treeItemLoading)),!1)}disposeElement(e,t,i,r){var g,y;(y=(g=this.renderer).disposeElement)==null||y.call(g,this.nodeMapper.map(e),t,i.templateData,r)}disposeCompressedElements(e,t,i,r){var g,y;(y=(g=this.renderer).disposeCompressedElements)==null||y.call(g,this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=dispose$1(this.disposables)}};function asCompressibleObjectTreeOptions$1(n){const e=n&&asObjectTreeOptions$2(n);return e&&{...e,keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return n.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(i=>i.element))}}}}let CompressibleAsyncDataTree$1=class extends AsyncDataTree$1{constructor(e,t,i,r,g,y,k={}){super(e,t,i,g,y,k),this.compressionDelegate=r,this.compressibleNodeMapper=new WeakMapper$1(L=>new CompressibleAsyncDataTreeNodeWrapper$1(L)),this.filter=k.filter}createTree(e,t,i,r,g){const y=new ComposedTreeDelegate$1(i),k=r.map(V=>new CompressibleAsyncDataTreeRenderer$1(V,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),L=asCompressibleObjectTreeOptions$1(g)||{};return new CompressibleObjectTree$1(e,t,y,k,L)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const r=oe=>this.identityProvider.getId(oe).toString(),g=oe=>{const re=new Set;for(const ae of oe){const le=this.tree.getCompressedTreeNode(ae===this.root?null:ae);if(le.element)for(const de of le.element.elements)re.add(r(de.element))}return re},y=g(this.tree.getSelection()),k=g(this.tree.getFocus());super.render(e,t,i);const L=this.getSelection();let V=!1;const z=this.getFocus();let j=!1;const ie=oe=>{const re=oe.element;if(re)for(let ae=0;ae{const i=this.filter.filter(t,1),r=getVisibility$1(i);if(r===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return r===1})),super.processChildren(e)}};function getVisibility$1(n){return typeof n=="boolean"?n?1:0:isFilterResult$1(n)?getVisibleState$1(n.visibility):getVisibleState$1(n)}let DataTree$1=class extends AbstractTree$1{constructor(e,t,i,r,g,y={}){super(e,t,i,r,y),this.user=e,this.dataSource=g,this.identityProvider=y.identityProvider}createModel(e,t,i){return new ObjectTreeModel$1(e,t,i)}};new RawContextKey$1("isMac",isMacintosh$1,localize$1("isMac","Whether the operating system is macOS"));new RawContextKey$1("isLinux",isLinux$1,localize$1("isLinux","Whether the operating system is Linux"));const IsWindowsContext$1=new RawContextKey$1("isWindows",isWindows$1,localize$1("isWindows","Whether the operating system is Windows")),IsWebContext$1=new RawContextKey$1("isWeb",isWeb$1,localize$1("isWeb","Whether the platform is a web browser"));new RawContextKey$1("isMacNative",isMacintosh$1&&!isWeb$1,localize$1("isMacNative","Whether the operating system is macOS on a non-browser platform"));new RawContextKey$1("isIOS",isIOS$3,localize$1("isIOS","Whether the operating system is iOS"));new RawContextKey$1("isMobile",isMobile$1,localize$1("isMobile","Whether the platform is a mobile web browser"));new RawContextKey$1("isDevelopment",!1,!0);new RawContextKey$1("productQualityType","",localize$1("productQualityType","Quality type of VS Code"));const InputFocusedContextKey$1="inputFocus",InputFocusedContext$1=new RawContextKey$1(InputFocusedContextKey$1,!1,localize$1("inputFocus","Whether keyboard focus is inside an input box"));var __decorate$4D=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4t=function(n,e){return function(t,i){e(t,i,n)}};const IListService$1=createDecorator$1("listService");let ListService$1=class{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new DisposableStore$1,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,i;e!==this._lastFocusedWidget&&((t=this._lastFocusedWidget)==null||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,(i=this._lastFocusedWidget)==null||i.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new DefaultStyleController$1(createStyleSheet$1(),"").style(defaultListStyles$1)),this.lists.some(r=>r.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),isActiveElement$1(e.getHTMLElement())&&this.setLastFocusedList(e),combinedDisposable$1(e.onDidFocus(()=>this.setLastFocusedList(e)),toDisposable$1(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(r=>r!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}};const RawWorkbenchListScrollAtBoundaryContextKey$1=new RawContextKey$1("listScrollAtBoundary","none");ContextKeyExpr$1.or(RawWorkbenchListScrollAtBoundaryContextKey$1.isEqualTo("top"),RawWorkbenchListScrollAtBoundaryContextKey$1.isEqualTo("both"));ContextKeyExpr$1.or(RawWorkbenchListScrollAtBoundaryContextKey$1.isEqualTo("bottom"),RawWorkbenchListScrollAtBoundaryContextKey$1.isEqualTo("both"));const RawWorkbenchListFocusContextKey$1=new RawContextKey$1("listFocus",!0),WorkbenchTreeStickyScrollFocused$1=new RawContextKey$1("treestickyScrollFocused",!1),WorkbenchListSupportsMultiSelectContextKey$1=new RawContextKey$1("listSupportsMultiselect",!0),WorkbenchListFocusContextKey$1=ContextKeyExpr$1.and(RawWorkbenchListFocusContextKey$1,ContextKeyExpr$1.not(InputFocusedContextKey$1),WorkbenchTreeStickyScrollFocused$1.negate()),WorkbenchListHasSelectionOrFocus$1=new RawContextKey$1("listHasSelectionOrFocus",!1),WorkbenchListDoubleSelection$1=new RawContextKey$1("listDoubleSelection",!1),WorkbenchListMultiSelection$1=new RawContextKey$1("listMultiSelection",!1),WorkbenchListSelectionNavigation$1=new RawContextKey$1("listSelectionNavigation",!1),WorkbenchListSupportsFind$1=new RawContextKey$1("listSupportsFind",!0),WorkbenchTreeElementCanCollapse$1=new RawContextKey$1("treeElementCanCollapse",!1),WorkbenchTreeElementHasParent$1=new RawContextKey$1("treeElementHasParent",!1),WorkbenchTreeElementCanExpand$1=new RawContextKey$1("treeElementCanExpand",!1),WorkbenchTreeElementHasChild$1=new RawContextKey$1("treeElementHasChild",!1),WorkbenchTreeFindOpen$1=new RawContextKey$1("treeFindOpen",!1),WorkbenchListTypeNavigationModeKey$1="listTypeNavigationMode",WorkbenchListAutomaticKeyboardNavigationLegacyKey$1="listAutomaticKeyboardNavigation";function createScopedContextKeyService$1(n,e){const t=n.createScoped(e.getHTMLElement());return RawWorkbenchListFocusContextKey$1.bindTo(t),t}function createScrollObserver$1(n,e){const t=RawWorkbenchListScrollAtBoundaryContextKey$1.bindTo(n),i=()=>{const r=e.scrollTop===0,g=e.scrollHeight-e.renderHeight-e.scrollTop<1;r&&g?t.set("both"):r?t.set("top"):g?t.set("bottom"):t.set("none")};return i(),e.onDidScroll(i)}const multiSelectModifierSettingKey$1="workbench.list.multiSelectModifier",openModeSettingKey$1="workbench.list.openMode",horizontalScrollingKey$1="workbench.list.horizontalScrolling",defaultFindModeSettingKey$1="workbench.list.defaultFindMode",typeNavigationModeSettingKey$1="workbench.list.typeNavigationMode",keyboardNavigationSettingKey$1="workbench.list.keyboardNavigation",scrollByPageKey$1="workbench.list.scrollByPage",defaultFindMatchTypeSettingKey$1="workbench.list.defaultFindMatchType",treeIndentKey$1="workbench.tree.indent",treeRenderIndentGuidesKey$1="workbench.tree.renderIndentGuides",listSmoothScrolling$1="workbench.list.smoothScrolling",mouseWheelScrollSensitivityKey$1="workbench.list.mouseWheelScrollSensitivity",fastScrollSensitivityKey$1="workbench.list.fastScrollSensitivity",treeExpandMode$1="workbench.tree.expandMode",treeStickyScroll$1="workbench.tree.enableStickyScroll",treeStickyScrollMaxElements$1="workbench.tree.stickyScrollMaxItemCount";function useAltAsMultipleSelectionModifier$1(n){return n.getValue(multiSelectModifierSettingKey$1)==="alt"}let MultipleSelectionController$1=class extends Disposable$1{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey$1)&&(this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:isSelectionSingleChangeEvent$1(e)}isSelectionRangeChangeEvent(e){return isSelectionRangeChangeEvent$1(e)}};function toWorkbenchListOptions$1(n,e){var y;const t=n.get(IConfigurationService$1),i=n.get(IKeybindingService$1),r=new DisposableStore$1;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(k){return i.mightProducePrintableCharacter(k)}},smoothScrolling:!!t.getValue(listSmoothScrolling$1),mouseWheelScrollSensitivity:t.getValue(mouseWheelScrollSensitivityKey$1),fastScrollSensitivity:t.getValue(fastScrollSensitivityKey$1),multipleSelectionController:(y=e.multipleSelectionController)!=null?y:r.add(new MultipleSelectionController$1(t)),keyboardNavigationEventFilter:createKeyboardNavigationEventFilter$1(i),scrollByPage:!!t.getValue(scrollByPageKey$1)},r]}let WorkbenchList$1=class extends List$1{constructor(e,t,i,r,g,y,k,L,V){const z=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey$1),[j,ie]=V.invokeFunction(toWorkbenchListOptions$1,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:z}),this.disposables.add(ie),this.contextKeyService=createScopedContextKeyService$1(y,this),this.disposables.add(createScrollObserver$1(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey$1.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(g.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation$1.bindTo(this.contextKeyService).set(!!g.selectionNavigation),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus$1.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection$1.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection$1.bindTo(this.contextKeyService),this.horizontalScrolling=g.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(L),this.disposables.add(this.contextKeyService),this.disposables.add(k.register(this)),this.updateStyles(g.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const re=this.getSelection(),ae=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(re.length>0||ae.length>0),this.listMultiSelection.set(re.length>1),this.listDoubleSelection.set(re.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const re=this.getSelection(),ae=this.getFocus();this.listHasSelectionOrFocus.set(re.length>0||ae.length>0)})),this.disposables.add(L.onDidChangeConfiguration(re=>{re.affectsConfiguration(multiSelectModifierSettingKey$1)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(L));let ae={};if(re.affectsConfiguration(horizontalScrollingKey$1)&&this.horizontalScrolling===void 0){const le=!!L.getValue(horizontalScrollingKey$1);ae={...ae,horizontalScrolling:le}}if(re.affectsConfiguration(scrollByPageKey$1)){const le=!!L.getValue(scrollByPageKey$1);ae={...ae,scrollByPage:le}}if(re.affectsConfiguration(listSmoothScrolling$1)){const le=!!L.getValue(listSmoothScrolling$1);ae={...ae,smoothScrolling:le}}if(re.affectsConfiguration(mouseWheelScrollSensitivityKey$1)){const le=L.getValue(mouseWheelScrollSensitivityKey$1);ae={...ae,mouseWheelScrollSensitivity:le}}if(re.affectsConfiguration(fastScrollSensitivityKey$1)){const le=L.getValue(fastScrollSensitivityKey$1);ae={...ae,fastScrollSensitivity:le}}Object.keys(ae).length>0&&this.updateOptions(ae)})),this.navigator=new ListResourceNavigator$1(this,{configurationService:L,...g}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles$1(e):defaultListStyles$1)}};WorkbenchList$1=__decorate$4D([__param$4t(5,IContextKeyService$1),__param$4t(6,IListService$1),__param$4t(7,IConfigurationService$1),__param$4t(8,IInstantiationService$1)],WorkbenchList$1);let WorkbenchPagedList$1=class extends PagedList$1{constructor(e,t,i,r,g,y,k,L,V){const z=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey$1),[j,ie]=V.invokeFunction(toWorkbenchListOptions$1,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:z}),this.disposables=new DisposableStore$1,this.disposables.add(ie),this.contextKeyService=createScopedContextKeyService$1(y,this),this.disposables.add(createScrollObserver$1(this.contextKeyService,this.widget)),this.horizontalScrolling=g.horizontalScrolling,this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey$1.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(g.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation$1.bindTo(this.contextKeyService).set(!!g.selectionNavigation),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(L),this.disposables.add(this.contextKeyService),this.disposables.add(k.register(this)),this.updateStyles(g.overrideStyles),this.disposables.add(L.onDidChangeConfiguration(re=>{re.affectsConfiguration(multiSelectModifierSettingKey$1)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(L));let ae={};if(re.affectsConfiguration(horizontalScrollingKey$1)&&this.horizontalScrolling===void 0){const le=!!L.getValue(horizontalScrollingKey$1);ae={...ae,horizontalScrolling:le}}if(re.affectsConfiguration(scrollByPageKey$1)){const le=!!L.getValue(scrollByPageKey$1);ae={...ae,scrollByPage:le}}if(re.affectsConfiguration(listSmoothScrolling$1)){const le=!!L.getValue(listSmoothScrolling$1);ae={...ae,smoothScrolling:le}}if(re.affectsConfiguration(mouseWheelScrollSensitivityKey$1)){const le=L.getValue(mouseWheelScrollSensitivityKey$1);ae={...ae,mouseWheelScrollSensitivity:le}}if(re.affectsConfiguration(fastScrollSensitivityKey$1)){const le=L.getValue(fastScrollSensitivityKey$1);ae={...ae,fastScrollSensitivity:le}}Object.keys(ae).length>0&&this.updateOptions(ae)})),this.navigator=new ListResourceNavigator$1(this,{configurationService:L,...g}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles$1(e):defaultListStyles$1)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchPagedList$1=__decorate$4D([__param$4t(5,IContextKeyService$1),__param$4t(6,IListService$1),__param$4t(7,IConfigurationService$1),__param$4t(8,IInstantiationService$1)],WorkbenchPagedList$1);let WorkbenchTable$1=class extends Table$2{constructor(e,t,i,r,g,y,k,L,V,z){const j=typeof y.horizontalScrolling<"u"?y.horizontalScrolling:!!V.getValue(horizontalScrollingKey$1),[ie,oe]=z.invokeFunction(toWorkbenchListOptions$1,y);super(e,t,i,r,g,{keyboardSupport:!1,...ie,horizontalScrolling:j}),this.disposables.add(oe),this.contextKeyService=createScopedContextKeyService$1(k,this),this.disposables.add(createScrollObserver$1(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey$1.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(y.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation$1.bindTo(this.contextKeyService).set(!!y.selectionNavigation),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus$1.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection$1.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection$1.bindTo(this.contextKeyService),this.horizontalScrolling=y.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(V),this.disposables.add(this.contextKeyService),this.disposables.add(L.register(this)),this.updateStyles(y.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const ae=this.getSelection(),le=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(ae.length>0||le.length>0),this.listMultiSelection.set(ae.length>1),this.listDoubleSelection.set(ae.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const ae=this.getSelection(),le=this.getFocus();this.listHasSelectionOrFocus.set(ae.length>0||le.length>0)})),this.disposables.add(V.onDidChangeConfiguration(ae=>{ae.affectsConfiguration(multiSelectModifierSettingKey$1)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(V));let le={};if(ae.affectsConfiguration(horizontalScrollingKey$1)&&this.horizontalScrolling===void 0){const de=!!V.getValue(horizontalScrollingKey$1);le={...le,horizontalScrolling:de}}if(ae.affectsConfiguration(scrollByPageKey$1)){const de=!!V.getValue(scrollByPageKey$1);le={...le,scrollByPage:de}}if(ae.affectsConfiguration(listSmoothScrolling$1)){const de=!!V.getValue(listSmoothScrolling$1);le={...le,smoothScrolling:de}}if(ae.affectsConfiguration(mouseWheelScrollSensitivityKey$1)){const de=V.getValue(mouseWheelScrollSensitivityKey$1);le={...le,mouseWheelScrollSensitivity:de}}if(ae.affectsConfiguration(fastScrollSensitivityKey$1)){const de=V.getValue(fastScrollSensitivityKey$1);le={...le,fastScrollSensitivity:de}}Object.keys(le).length>0&&this.updateOptions(le)})),this.navigator=new TableResourceNavigator$1(this,{configurationService:V,...y}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles$1(e):defaultListStyles$1)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchTable$1=__decorate$4D([__param$4t(6,IContextKeyService$1),__param$4t(7,IListService$1),__param$4t(8,IConfigurationService$1),__param$4t(9,IInstantiationService$1)],WorkbenchTable$1);let ResourceNavigator$1=class extends Disposable$1{constructor(e,t){var i;super(),this.widget=e,this._onDidOpen=this._register(new Emitter$3),this.onDidOpen=this._onDidOpen.event,this._register(Event$2.filter(this.widget.onDidChangeSelection,r=>isKeyboardEvent$1(r.browserEvent))(r=>this.onSelectionFromKeyboard(r))),this._register(this.widget.onPointer(r=>this.onPointer(r.element,r.browserEvent))),this._register(this.widget.onMouseDblClick(r=>this.onMouseDblClick(r.element,r.browserEvent))),typeof(t==null?void 0:t.openOnSingleClick)!="boolean"&&(t!=null&&t.configurationService)?(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(openModeSettingKey$1))!=="doubleClick",this._register(t==null?void 0:t.configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration(openModeSettingKey$1)&&(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(openModeSettingKey$1))!=="doubleClick")}))):this.openOnSingleClick=(i=t==null?void 0:t.openOnSingleClick)!=null?i:!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;const t=e.browserEvent,i=typeof t.preserveFocus=="boolean"?t.preserveFocus:!0,r=typeof t.pinned=="boolean"?t.pinned:!i;this._open(this.getSelectedElement(),i,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;const r=t.button===1,g=!0,y=r,k=t.ctrlKey||t.metaKey||t.altKey;this._open(e,g,y,k,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const g=!1,y=!0,k=t.ctrlKey||t.metaKey||t.altKey;this._open(e,g,y,k,t)}_open(e,t,i,r,g){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:g})}},ListResourceNavigator$1=class extends ResourceNavigator$1{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}},TableResourceNavigator$1=class extends ResourceNavigator$1{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}},TreeResourceNavigator$1=class extends ResourceNavigator$1{constructor(e,t){super(e,t)}getSelectedElement(){var e;return(e=this.widget.getSelection()[0])!=null?e:void 0}};function createKeyboardNavigationEventFilter$1(n){let e=!1;return t=>{if(t.toKeyCodeChord().isModifierKey())return!1;if(e)return e=!1,!1;const i=n.softDispatch(t,t.target);return i.kind===1?(e=!0,!1):(e=!1,i.kind===0)}}let WorkbenchObjectTree$1=class extends ObjectTree$1{constructor(e,t,i,r,g,y,k,L,V){const{options:z,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble$1,g);super(e,t,i,r,z),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals$1(this,g,j,g.overrideStyles,k,L,V),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchObjectTree$1=__decorate$4D([__param$4t(5,IInstantiationService$1),__param$4t(6,IContextKeyService$1),__param$4t(7,IListService$1),__param$4t(8,IConfigurationService$1)],WorkbenchObjectTree$1);let WorkbenchCompressibleObjectTree$1=class extends CompressibleObjectTree$1{constructor(e,t,i,r,g,y,k,L,V){const{options:z,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble$1,g);super(e,t,i,r,z),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals$1(this,g,j,g.overrideStyles,k,L,V),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchCompressibleObjectTree$1=__decorate$4D([__param$4t(5,IInstantiationService$1),__param$4t(6,IContextKeyService$1),__param$4t(7,IListService$1),__param$4t(8,IConfigurationService$1)],WorkbenchCompressibleObjectTree$1);let WorkbenchDataTree$1=class extends DataTree$1{constructor(e,t,i,r,g,y,k,L,V,z){const{options:j,getTypeNavigationMode:ie,disposable:oe}=k.invokeFunction(workbenchTreeDataPreamble$1,y);super(e,t,i,r,g,j),this.disposables.add(oe),this.internals=new WorkbenchTreeInternals$1(this,y,ie,y.overrideStyles,L,V,z),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchDataTree$1=__decorate$4D([__param$4t(6,IInstantiationService$1),__param$4t(7,IContextKeyService$1),__param$4t(8,IListService$1),__param$4t(9,IConfigurationService$1)],WorkbenchDataTree$1);let WorkbenchAsyncDataTree$1=class extends AsyncDataTree$1{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,r,g,y,k,L,V,z){const{options:j,getTypeNavigationMode:ie,disposable:oe}=k.invokeFunction(workbenchTreeDataPreamble$1,y);super(e,t,i,r,g,j),this.disposables.add(oe),this.internals=new WorkbenchTreeInternals$1(this,y,ie,y.overrideStyles,L,V,z),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchAsyncDataTree$1=__decorate$4D([__param$4t(6,IInstantiationService$1),__param$4t(7,IContextKeyService$1),__param$4t(8,IListService$1),__param$4t(9,IConfigurationService$1)],WorkbenchAsyncDataTree$1);let WorkbenchCompressibleAsyncDataTree$1=class extends CompressibleAsyncDataTree$1{constructor(e,t,i,r,g,y,k,L,V,z,j){const{options:ie,getTypeNavigationMode:oe,disposable:re}=L.invokeFunction(workbenchTreeDataPreamble$1,k);super(e,t,i,r,g,y,ie),this.disposables.add(re),this.internals=new WorkbenchTreeInternals$1(this,k,oe,k.overrideStyles,V,z,j),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchCompressibleAsyncDataTree$1=__decorate$4D([__param$4t(7,IInstantiationService$1),__param$4t(8,IContextKeyService$1),__param$4t(9,IListService$1),__param$4t(10,IConfigurationService$1)],WorkbenchCompressibleAsyncDataTree$1);function getDefaultTreeFindMode$1(n){const e=n.getValue(defaultFindModeSettingKey$1);if(e==="highlight")return TreeFindMode$1.Highlight;if(e==="filter")return TreeFindMode$1.Filter;const t=n.getValue(keyboardNavigationSettingKey$1);if(t==="simple"||t==="highlight")return TreeFindMode$1.Highlight;if(t==="filter")return TreeFindMode$1.Filter}function getDefaultTreeFindMatchType$1(n){const e=n.getValue(defaultFindMatchTypeSettingKey$1);if(e==="fuzzy")return TreeFindMatchType$1.Fuzzy;if(e==="contiguous")return TreeFindMatchType$1.Contiguous}function workbenchTreeDataPreamble$1(n,e){var ie;const t=n.get(IConfigurationService$1),i=n.get(IContextViewService$1),r=n.get(IContextKeyService$1),g=n.get(IInstantiationService$1),y=()=>{const oe=r.getContextKeyValue(WorkbenchListTypeNavigationModeKey$1);if(oe==="automatic")return TypeNavigationMode$1.Automatic;if(oe==="trigger"||r.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey$1)===!1)return TypeNavigationMode$1.Trigger;const ae=t.getValue(typeNavigationModeSettingKey$1);if(ae==="automatic")return TypeNavigationMode$1.Automatic;if(ae==="trigger")return TypeNavigationMode$1.Trigger},k=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!t.getValue(horizontalScrollingKey$1),[L,V]=g.invokeFunction(toWorkbenchListOptions$1,e),z=e.paddingBottom,j=e.renderIndentGuides!==void 0?e.renderIndentGuides:t.getValue(treeRenderIndentGuidesKey$1);return{getTypeNavigationMode:y,disposable:V,options:{keyboardSupport:!1,...L,indent:typeof t.getValue(treeIndentKey$1)=="number"?t.getValue(treeIndentKey$1):void 0,renderIndentGuides:j,smoothScrolling:!!t.getValue(listSmoothScrolling$1),defaultFindMode:getDefaultTreeFindMode$1(t),defaultFindMatchType:getDefaultTreeFindMatchType$1(t),horizontalScrolling:k,scrollByPage:!!t.getValue(scrollByPageKey$1),paddingBottom:z,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(ie=e.expandOnlyOnTwistieClick)!=null?ie:t.getValue(treeExpandMode$1)==="doubleClick",contextViewProvider:i,findWidgetStyles:defaultFindWidgetStyles$1,enableStickyScroll:!!t.getValue(treeStickyScroll$1),stickyScrollMaxItemCount:Number(t.getValue(treeStickyScrollMaxElements$1))}}}let WorkbenchTreeInternals$1=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,r,g,y,k){var j;this.tree=e,this.disposables=[],this.contextKeyService=createScopedContextKeyService$1(g,e),this.disposables.push(createScrollObserver$1(this.contextKeyService,e)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey$1.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation$1.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=WorkbenchListSupportsFind$1.bindTo(this.contextKeyService),this.listSupportFindWidget.set((j=t.findWidgetEnabled)!=null?j:!0),this.hasSelectionOrFocus=WorkbenchListHasSelectionOrFocus$1.bindTo(this.contextKeyService),this.hasDoubleSelection=WorkbenchListDoubleSelection$1.bindTo(this.contextKeyService),this.hasMultiSelection=WorkbenchListMultiSelection$1.bindTo(this.contextKeyService),this.treeElementCanCollapse=WorkbenchTreeElementCanCollapse$1.bindTo(this.contextKeyService),this.treeElementHasParent=WorkbenchTreeElementHasParent$1.bindTo(this.contextKeyService),this.treeElementCanExpand=WorkbenchTreeElementCanExpand$1.bindTo(this.contextKeyService),this.treeElementHasChild=WorkbenchTreeElementHasChild$1.bindTo(this.contextKeyService),this.treeFindOpen=WorkbenchTreeFindOpen$1.bindTo(this.contextKeyService),this.treeStickyScrollFocused=WorkbenchTreeStickyScrollFocused$1.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(k),this.updateStyleOverrides(r);const V=()=>{const ie=e.getFocus()[0];if(!ie)return;const oe=e.getNode(ie);this.treeElementCanCollapse.set(oe.collapsible&&!oe.collapsed),this.treeElementHasParent.set(!!e.getParentElement(ie)),this.treeElementCanExpand.set(oe.collapsible&&oe.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(ie))},z=new Set;z.add(WorkbenchListTypeNavigationModeKey$1),z.add(WorkbenchListAutomaticKeyboardNavigationLegacyKey$1),this.disposables.push(this.contextKeyService,y.register(e),e.onDidChangeSelection(()=>{const ie=e.getSelection(),oe=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(ie.length>0||oe.length>0),this.hasMultiSelection.set(ie.length>1),this.hasDoubleSelection.set(ie.length===2)})}),e.onDidChangeFocus(()=>{const ie=e.getSelection(),oe=e.getFocus();this.hasSelectionOrFocus.set(ie.length>0||oe.length>0),V()}),e.onDidChangeCollapseState(V),e.onDidChangeModel(V),e.onDidChangeFindOpenState(ie=>this.treeFindOpen.set(ie)),e.onDidChangeStickyScrollFocused(ie=>this.treeStickyScrollFocused.set(ie)),k.onDidChangeConfiguration(ie=>{let oe={};if(ie.affectsConfiguration(multiSelectModifierSettingKey$1)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier$1(k)),ie.affectsConfiguration(treeIndentKey$1)){const re=k.getValue(treeIndentKey$1);oe={...oe,indent:re}}if(ie.affectsConfiguration(treeRenderIndentGuidesKey$1)&&t.renderIndentGuides===void 0){const re=k.getValue(treeRenderIndentGuidesKey$1);oe={...oe,renderIndentGuides:re}}if(ie.affectsConfiguration(listSmoothScrolling$1)){const re=!!k.getValue(listSmoothScrolling$1);oe={...oe,smoothScrolling:re}}if(ie.affectsConfiguration(defaultFindModeSettingKey$1)||ie.affectsConfiguration(keyboardNavigationSettingKey$1)){const re=getDefaultTreeFindMode$1(k);oe={...oe,defaultFindMode:re}}if(ie.affectsConfiguration(typeNavigationModeSettingKey$1)||ie.affectsConfiguration(keyboardNavigationSettingKey$1)){const re=i();oe={...oe,typeNavigationMode:re}}if(ie.affectsConfiguration(defaultFindMatchTypeSettingKey$1)){const re=getDefaultTreeFindMatchType$1(k);oe={...oe,defaultFindMatchType:re}}if(ie.affectsConfiguration(horizontalScrollingKey$1)&&t.horizontalScrolling===void 0){const re=!!k.getValue(horizontalScrollingKey$1);oe={...oe,horizontalScrolling:re}}if(ie.affectsConfiguration(scrollByPageKey$1)){const re=!!k.getValue(scrollByPageKey$1);oe={...oe,scrollByPage:re}}if(ie.affectsConfiguration(treeExpandMode$1)&&t.expandOnlyOnTwistieClick===void 0&&(oe={...oe,expandOnlyOnTwistieClick:k.getValue(treeExpandMode$1)==="doubleClick"}),ie.affectsConfiguration(treeStickyScroll$1)){const re=k.getValue(treeStickyScroll$1);oe={...oe,enableStickyScroll:re}}if(ie.affectsConfiguration(treeStickyScrollMaxElements$1)){const re=Math.max(1,k.getValue(treeStickyScrollMaxElements$1));oe={...oe,stickyScrollMaxItemCount:re}}if(ie.affectsConfiguration(mouseWheelScrollSensitivityKey$1)){const re=k.getValue(mouseWheelScrollSensitivityKey$1);oe={...oe,mouseWheelScrollSensitivity:re}}if(ie.affectsConfiguration(fastScrollSensitivityKey$1)){const re=k.getValue(fastScrollSensitivityKey$1);oe={...oe,fastScrollSensitivity:re}}Object.keys(oe).length>0&&e.updateOptions(oe)}),this.contextKeyService.onDidChangeContext(ie=>{ie.affectsSome(z)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new TreeResourceNavigator$1(e,{configurationService:k,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?getListStyles$1(e):defaultListStyles$1)}dispose(){this.disposables=dispose$1(this.disposables)}};WorkbenchTreeInternals$1=__decorate$4D([__param$4t(4,IContextKeyService$1),__param$4t(5,IListService$1),__param$4t(6,IConfigurationService$1)],WorkbenchTreeInternals$1);const configurationRegistry$3=Registry$1.as(Extensions$g.Configuration);configurationRegistry$3.registerConfiguration({id:"workbench",order:7,title:localize$1("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[multiSelectModifierSettingKey$1]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[localize$1("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize$1("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:localize$1({key:"multiSelectModifier",comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[openModeSettingKey$1]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize$1({key:"openModeModifier",comment:["`singleClick` and `doubleClick` refers to a value the setting can take and should not be localized."]},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[horizontalScrollingKey$1]:{type:"boolean",default:!1,description:localize$1("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[scrollByPageKey$1]:{type:"boolean",default:!1,description:localize$1("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[treeIndentKey$1]:{type:"number",default:8,minimum:4,maximum:40,description:localize$1("tree indent setting","Controls tree indentation in pixels.")},[treeRenderIndentGuidesKey$1]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:localize$1("render tree indent guides","Controls whether the tree should render indent guides.")},[listSmoothScrolling$1]:{type:"boolean",default:!1,description:localize$1("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[mouseWheelScrollSensitivityKey$1]:{type:"number",default:1,markdownDescription:localize$1("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[fastScrollSensitivityKey$1]:{type:"number",default:5,markdownDescription:localize$1("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[defaultFindModeSettingKey$1]:{type:"string",enum:["highlight","filter"],enumDescriptions:[localize$1("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),localize$1("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:localize$1("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[keyboardNavigationSettingKey$1]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[localize$1("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),localize$1("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),localize$1("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:localize$1("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:localize$1("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[defaultFindMatchTypeSettingKey$1]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[localize$1("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),localize$1("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:localize$1("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[treeExpandMode$1]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize$1("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[treeStickyScroll$1]:{type:"boolean",default:!0,description:localize$1("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[treeStickyScrollMaxElements$1]:{type:"number",minimum:1,default:7,markdownDescription:localize$1("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when {0} is enabled.","`#workbench.tree.enableStickyScroll#`")},[typeNavigationModeSettingKey$1]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:localize$1("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});let HighlightedLabel$1=class oh extends Disposable$1{constructor(e,t){var i;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(i=t==null?void 0:t.supportIcons)!=null?i:!1,this.domNode=append$4(e,$$u("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",r){e||(e=""),r&&(e=oh.escapeNewLines(e,t)),!(this.didEverRender&&this.text===e&&this.title===i&&equals$4(this.highlights,t))&&(this.text=e,this.title=i,this.highlights=t,this.render())}render(){var i,r,g,y;const e=[];let t=0;for(const k of this.highlights){if(k.end===k.start)continue;if(t{r=g==="\r\n"?-1:0,y+=i;for(const k of t)k.end<=y||(k.start>=y&&(k.start+=r),k.end>=y&&(k.end+=r));return i+=r,"⏎"})}},FastLabelNode$1=class{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set classNames(e){this.disposed||equals$4(e,this._classNames)||(this._classNames=e,this._element.classList.value="",this._element.classList.add(...e))}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}},IconLabel$1=class extends Disposable$1{constructor(e,t){var i;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new FastLabelNode$1(append$4(e,$$u(".monaco-icon-label")))),this.labelContainer=append$4(this.domNode.element,$$u(".monaco-icon-label-container")),this.nameContainer=append$4(this.labelContainer,$$u("span.monaco-icon-name-container")),t!=null&&t.supportHighlights||t!=null&&t.supportIcons?this.nameNode=this._register(new LabelWithHighlights$1(this.nameContainer,!!t.supportIcons)):this.nameNode=new Label$1(this.nameContainer),this.hoverDelegate=(i=t==null?void 0:t.hoverDelegate)!=null?i:getDefaultHoverDelegate$1("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){var L;const r=["monaco-icon-label"],g=["monaco-icon-label-container"];let y="";i&&(i.extraClasses&&r.push(...i.extraClasses),i.italic&&r.push("italic"),i.strikethrough&&r.push("strikethrough"),i.disabledCommand&&g.push("disabled"),i.title&&(typeof i.title=="string"?y+=i.title:y+=e));const k=this.domNode.element.querySelector(".monaco-icon-label-iconpath");if(i!=null&&i.iconPath){let V;!k||!isHTMLElement$1(k)?(V=$$u(".monaco-icon-label-iconpath"),this.domNode.element.prepend(V)):V=k,V.style.backgroundImage=asCSSUrl$1(i==null?void 0:i.iconPath)}else k&&k.remove();if(this.domNode.classNames=r,this.domNode.element.setAttribute("aria-label",y),this.labelContainer.classList.value="",this.labelContainer.classList.add(...g),this.setupHover(i!=null&&i.descriptionTitle?this.labelContainer:this.element,i==null?void 0:i.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const V=this.getOrCreateDescriptionNode();V instanceof HighlightedLabel$1?(V.set(t||"",i?i.descriptionMatches:void 0,void 0,i==null?void 0:i.labelEscapeNewLines),this.setupHover(V.element,i==null?void 0:i.descriptionTitle)):(V.textContent=t&&(i!=null&&i.labelEscapeNewLines)?HighlightedLabel$1.escapeNewLines(t,[]):t||"",this.setupHover(V.element,(i==null?void 0:i.descriptionTitle)||""),V.empty=!t)}if(i!=null&&i.suffix||this.suffixNode){const V=this.getOrCreateSuffixNode();V.textContent=(L=i==null?void 0:i.suffix)!=null?L:""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)(function(g,y){isString$7(y)?g.title=stripIcons$1(y):y!=null&&y.markdownNotSupportedFallback?g.title=y.markdownNotSupportedFallback:g.removeAttribute("title")})(e,t);else{const r=getBaseLayerHoverDelegate().setupManagedHover(this.hoverDelegate,e,t);r&&this.customHovers.set(e,r)}}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new FastLabelNode$1(after$1(this.nameContainer,$$u("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new FastLabelNode$1(append$4(e.element,$$u("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new FastLabelNode$1(append$4(this.labelContainer,$$u("span.monaco-icon-description-container"))));(e=this.creationOptions)!=null&&e.supportDescriptionHighlights?this.descriptionNode=this._register(new HighlightedLabel$1(append$4(t.element,$$u("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new FastLabelNode$1(append$4(t.element,$$u("span.label-description"))))}return this.descriptionNode}},Label$1=class{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&equals$4(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=append$4(this.container,$$u("a.label-name",{id:t==null?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const g={start:i,end:i+r.length},y=t.map(k=>Range$4.intersect(g,k)).filter(k=>!Range$4.isEmpty(k)).map(({start:k,end:L})=>({start:k-i,end:L-i}));return i=g.end+e.length,y})}let LabelWithHighlights$1=class extends Disposable$1{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&equals$4(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new HighlightedLabel$1(append$4(this.container,$$u("a.label-name",{id:t==null?void 0:t.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t==null?void 0:t.matches,void 0,t==null?void 0:t.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=(t==null?void 0:t.separator)||"/",r=splitMatches$1(e,i,t==null?void 0:t.matches);for(let g=0;g{const n=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:n,collatorIsNumeric:n.resolvedOptions().numeric}});function compareFileNames$1(n,e,t=!1){const i=n||"",r=e||"",g=intlFileNameCollatorBaseNumeric$1.value.collator.compare(i,r);return intlFileNameCollatorBaseNumeric$1.value.collatorIsNumeric&&g===0&&i!==r?ir.length)return 1}return 0}var __decorate$4C=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4s=function(n,e){return function(t,i){e(t,i,n)}},QuickPickItemElementRenderer_1$1;const $$n=$$u;let BaseQuickPickItemElement$1=class{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Lazy$1(()=>{var k;const r=(k=i.label)!=null?k:"",g=parseLabelWithIcons$1(r).text.trim(),y=i.ariaLabel||[r,this.saneDescription,this.saneDetail].map(L=>getCodiconAriaLabel$1(L)).filter(L=>!!L).join(", ");return{saneLabel:r,saneSortLabel:g,saneAriaLabel:y}}),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}},QuickPickItemElement$1=class extends BaseQuickPickItemElement$1{constructor(e,t,i,r,g,y){var k,L,V;super(e,t,g),this.fireButtonTriggered=i,this._onChecked=r,this.item=g,this._separator=y,this._checked=!1,this.onChecked=t?Event$2.map(Event$2.filter(this._onChecked.event,z=>z.element===this),z=>z.checked):Event$2.None,this._saneDetail=g.detail,this._labelHighlights=(k=g.highlights)==null?void 0:k.label,this._descriptionHighlights=(L=g.highlights)==null?void 0:L.description,this._detailHighlights=(V=g.highlights)==null?void 0:V.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}};var QuickPickSeparatorFocusReason$1;(function(n){n[n.NONE=0]="NONE",n[n.MOUSE_HOVER=1]="MOUSE_HOVER",n[n.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(QuickPickSeparatorFocusReason$1||(QuickPickSeparatorFocusReason$1={}));let QuickPickSeparatorElement$1=class extends BaseQuickPickItemElement$1{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=QuickPickSeparatorFocusReason$1.NONE}},QuickInputItemDelegate$1=class{getHeight(e){return e instanceof QuickPickSeparatorElement$1?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof QuickPickItemElement$1?QuickPickItemElementRenderer$1.ID:QuickPickSeparatorElementRenderer$1.ID}},QuickInputAccessibilityProvider$1=class{getWidgetAriaLabel(){return localize$1("quickInput","Quick Input")}getAriaLabel(e){var t;return(t=e.separator)!=null&&t.label?"".concat(e.saneAriaLabel,", ").concat(e.separator.label):e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof QuickPickItemElement$1)))return{get value(){return e.checked},onDidChange:t=>e.onChecked(()=>t())}}},BaseQuickInputListRenderer$1=class{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new DisposableStore$1,t.toDisposeTemplate=new DisposableStore$1,t.entry=append$4(e,$$n(".quick-input-list-entry"));const i=append$4(t.entry,$$n("label.quick-input-list-label"));t.toDisposeTemplate.add(addStandardDisposableListener$1(i,EventType$3.CLICK,V=>{t.checkbox.offsetParent||V.preventDefault()})),t.checkbox=append$4(i,$$n("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const r=append$4(i,$$n(".quick-input-list-rows")),g=append$4(r,$$n(".quick-input-list-row")),y=append$4(r,$$n(".quick-input-list-row"));t.label=new IconLabel$1(g,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=prepend$3(t.label.element,$$n(".quick-input-list-icon"));const k=append$4(g,$$n(".quick-input-list-entry-keybinding"));t.keybinding=new KeybindingLabel$1(k,OS$1),t.toDisposeTemplate.add(t.keybinding);const L=append$4(y,$$n(".quick-input-list-label-meta"));return t.detail=new IconLabel$1(L,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=append$4(t.entry,$$n(".quick-input-list-separator")),t.actionBar=new ActionBar$1(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}};var Vs;let QuickPickItemElementRenderer$1=(Vs=class extends BaseQuickInputListRenderer$1{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return QuickPickItemElementRenderer_1$1.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(addStandardDisposableListener$1(t.checkbox,EventType$3.CHANGE,i=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){var ie,oe,re;const r=e.element;i.element=r,r.element=(ie=i.entry)!=null?ie:void 0;const g=r.item;i.checkbox.checked=r.checked,i.toDisposeElement.add(r.onChecked(ae=>i.checkbox.checked=ae)),i.checkbox.disabled=r.checkboxDisabled;const{labelHighlights:y,descriptionHighlights:k,detailHighlights:L}=r;if(g.iconPath){const ae=isDark$1(this.themeService.getColorTheme().type)?g.iconPath.dark:(oe=g.iconPath.light)!=null?oe:g.iconPath.dark,le=URI$1.revive(ae);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=asCSSUrl$1(le)}else i.icon.style.backgroundImage="",i.icon.className=g.iconClass?"quick-input-list-icon ".concat(g.iconClass):"";let V;!r.saneTooltip&&r.saneDescription&&(V={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const z={matches:y||[],descriptionTitle:V,descriptionMatches:k||[],labelEscapeNewLines:!0};if(z.extraClasses=g.iconClasses,z.italic=g.italic,z.strikethrough=g.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(r.saneLabel,r.saneDescription,z),i.keybinding.set(g.keybinding),r.saneDetail){let ae;r.saneTooltip||(ae={markdown:{value:r.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(r.saneDetail,void 0,{matches:L,title:ae,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";(re=r.separator)!=null&&re.label?(i.separator.textContent=r.separator.label,i.separator.style.display="",this.addItemWithSeparator(r)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!r.separator);const j=g.buttons;j&&j.length?(i.actionBar.push(j.map((ae,le)=>quickInputButtonToAction$1(ae,"id-".concat(le),()=>r.fireButtonTriggered({button:ae,item:r.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}},QuickPickItemElementRenderer_1$1=Vs,Vs.ID="quickpickitem",Vs);QuickPickItemElementRenderer$1=QuickPickItemElementRenderer_1$1=__decorate$4C([__param$4s(1,IThemeService$1)],QuickPickItemElementRenderer$1);var zs;let QuickPickSeparatorElementRenderer$1=(zs=class extends BaseQuickInputListRenderer$1{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return zs.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderTemplate(e){const t=super.renderTemplate(e);return t.checkbox.style.display="none",t}renderElement(e,t,i){var ie;const r=e.element;i.element=r,r.element=(ie=i.entry)!=null?ie:void 0,r.element.classList.toggle("focus-inside",!!r.focusInsideSeparator);const g=r.separator,{labelHighlights:y,descriptionHighlights:k,detailHighlights:L}=r;i.icon.style.backgroundImage="",i.icon.className="";let V;!r.saneTooltip&&r.saneDescription&&(V={markdown:{value:r.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDescription});const z={matches:y||[],descriptionTitle:V,descriptionMatches:k||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(r.saneLabel,r.saneDescription,z),r.saneDetail){let oe;r.saneTooltip||(oe={markdown:{value:r.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:r.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(r.saneDetail,void 0,{matches:L,title:oe,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const j=g.buttons;j&&j.length?(i.actionBar.push(j.map((oe,re)=>quickInputButtonToAction$1(oe,"id-".concat(re),()=>r.fireSeparatorButtonTriggered({button:oe,separator:r.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(r)}disposeElement(e,t,i){var r;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||(r=e.element.element)==null||r.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}},zs.ID="quickpickseparator",zs),QuickInputTree$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this.accessibilityService=y,this._onKeyDown=new Emitter$3,this._onLeave=new Emitter$3,this.onLeave=this._onLeave.event,this._visibleCountObservable=observableValue$1("VisibleCount",0),this.onChangedVisibleCount=Event$2.fromObservable(this._visibleCountObservable,this._store),this._allVisibleCheckedObservable=observableValue$1("AllVisibleChecked",!1),this.onChangedAllVisibleChecked=Event$2.fromObservable(this._allVisibleCheckedObservable,this._store),this._checkedCountObservable=observableValue$1("CheckedCount",0),this.onChangedCheckedCount=Event$2.fromObservable(this._checkedCountObservable,this._store),this._checkedElementsObservable=observableValueOpts({equalsFn:equals$5},new Array),this.onChangedCheckedElements=Event$2.fromObservable(this._checkedElementsObservable,this._store),this._onButtonTriggered=new Emitter$3,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Emitter$3,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._elementChecked=new Emitter$3,this._elementCheckedEventBufferer=new EventBufferer$1,this._hasCheckboxes=!1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new DisposableStore$1),this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._shouldLoop=!0,this._container=append$4(this.parent,$$n(".quick-input-list")),this._separatorRenderer=new QuickPickSeparatorElementRenderer$1(t),this._itemRenderer=g.createInstance(QuickPickItemElementRenderer$1,t),this._tree=this._register(g.createInstance(WorkbenchObjectTree$1,"QuickInput",this._container,new QuickInputItemDelegate$1,[this._itemRenderer,this._separatorRenderer],{filter:{filter(k){return k.hidden?0:k instanceof QuickPickSeparatorElement$1?2:1}},sorter:{compare:(k,L)=>{if(!this.sortByLabel||!this._lastQueryString)return 0;const V=this._lastQueryString.toLowerCase();return compareEntries$1(k,L,V)}},accessibilityProvider:new QuickInputAccessibilityProvider$1,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:RenderIndentGuides$1.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._registerListeners()}get onDidChangeFocus(){return Event$2.map(this._tree.onDidChangeFocus,e=>e.elements.filter(t=>t instanceof QuickPickItemElement$1).map(t=>t.item),this._store)}get onDidChangeSelection(){return Event$2.map(this._tree.onDidChangeSelection,e=>({items:e.elements.filter(t=>t instanceof QuickPickItemElement$1).map(t=>t.item),event:e.browserEvent}),this._store)}get displayed(){return this._container.style.display!=="none"}set displayed(e){this._container.style.display=e?"":"none"}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e!=null?e:""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}get shouldLoop(){return this._shouldLoop}set shouldLoop(e){this._shouldLoop=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnTreeModelChanged(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(e=>{const t=new StandardKeyboardEvent$1(e);switch(t.keyCode){case 10:this.toggleCheckbox();break}this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register(addDisposableListener$1(this._container,EventType$3.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(addDisposableListener$1(this._container,EventType$3.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnTreeModelChanged(){this._register(this._tree.onDidChangeModel(()=>{const e=this._itemElements.filter(t=>!t.hidden).length;this._visibleCountObservable.set(e,void 0),this._hasCheckboxes&&this._updateCheckedObservables()}))}_registerOnElementChecked(){this._register(this._elementCheckedEventBufferer.wrapEvent(this._elementChecked.event,(e,t)=>t)(e=>this._updateCheckedObservables()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new ThrottledDelayer$1(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{var i;if(isHTMLAnchorElement(t.browserEvent.target)){e.cancel();return}if(!(!isHTMLAnchorElement(t.browserEvent.relatedTarget)&&isAncestor$3(t.browserEvent.relatedTarget,(i=t.element)==null?void 0:i.element)))try{await e.trigger(async()=>{t.element instanceof QuickPickItemElement$1&&this.showHover(t.element)})}catch(r){if(!isCancellationError$1(r))throw r}})),this._register(this._tree.onMouseOut(t=>{var i;isAncestor$3(t.browserEvent.relatedTarget,(i=t.element)==null?void 0:i.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const r=i===t;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason$1.ACTIVE_ITEM)!==r&&(r?i.focusInsideSeparator|=QuickPickSeparatorFocusReason$1.ACTIVE_ITEM:i.focusInsideSeparator&=~QuickPickSeparatorFocusReason$1.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason$1.MOUSE_HOVER)||(i.focusInsideSeparator|=QuickPickSeparatorFocusReason$1.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason$1.MOUSE_HOVER)&&(i.focusInsideSeparator&=~QuickPickSeparatorFocusReason$1.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(i=>i instanceof QuickPickItemElement$1);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof QuickPickSeparatorElement$1&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}setAllVisibleChecked(e){this._elementCheckedEventBufferer.bufferEvents(()=>{this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&(t.checked=e)})})}setElements(e){this._elementDisposable.clear(),this._lastQueryString=void 0,this._inputElements=e,this._hasCheckboxes=this.parent.classList.contains("show-checkboxes");let t;this._itemElements=new Array,this._elementTree=e.reduce((i,r,g)=>{let y;if(r.type==="separator"){if(!r.buttons)return i;t=new QuickPickSeparatorElement$1(g,k=>this._onSeparatorButtonTriggered.fire(k),r),y=t}else{const k=g>0?e[g-1]:void 0;let L;k&&k.type==="separator"&&!k.buttons&&(t=void 0,L=k);const V=new QuickPickItemElement$1(g,this._hasCheckboxes,z=>this._onButtonTriggered.fire(z),this._elementChecked,r,L);if(this._itemElements.push(V),t)return t.children.push(V),i;y=V}return i.push(y),i},new Array),this._setElementsToTree(this._elementTree),this.accessibilityService.isScreenReaderOptimized()&&setTimeout(()=>{const i=this._tree.getHTMLElement().querySelector(".monaco-list-row.focused"),r=i==null?void 0:i.parentNode;if(i&&r){const g=i.nextSibling;i.remove(),r.insertBefore(i,g)}},0)}setFocusedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i).filter(i=>!i.hidden);if(this._tree.setFocus(t),e.length>0){const i=this._tree.getFocus()[0];i&&this._tree.reveal(i)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){this._elementCheckedEventBufferer.bufferEvents(()=>{const t=new Set;for(const i of e)t.add(i);for(const i of this._itemElements)i.checked=t.has(i.item)})}focus(e){var t;if(this._itemElements.length)switch(e===QuickPickFocus.Second&&this._itemElements.length<2&&(e=QuickPickFocus.First),e){case QuickPickFocus.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,i=>i.element instanceof QuickPickItemElement$1);break;case QuickPickFocus.Second:{this._tree.scrollTop=0;let i=!1;this._tree.focusFirst(void 0,r=>r.element instanceof QuickPickItemElement$1?i?!0:(i=!i,!1):!1);break}case QuickPickFocus.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,i=>i.element instanceof QuickPickItemElement$1);break;case QuickPickFocus.Next:{const i=this._tree.getFocus();this._tree.focusNext(void 0,this._shouldLoop,void 0,g=>g.element instanceof QuickPickItemElement$1?(this._tree.reveal(g.element),!0):!1);const r=this._tree.getFocus();i.length&&i[0]===r[0]&&i[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}case QuickPickFocus.Previous:{const i=this._tree.getFocus();this._tree.focusPrevious(void 0,this._shouldLoop,void 0,g=>{if(!(g.element instanceof QuickPickItemElement$1))return!1;const y=this._tree.getParentElement(g.element);return y===null||y.children[0]!==g.element?this._tree.reveal(g.element):this._tree.reveal(y),!0});const r=this._tree.getFocus();i.length&&i[0]===r[0]&&i[0]===this._itemElements[0]&&this._onLeave.fire();break}case QuickPickFocus.NextPage:this._tree.focusNextPage(void 0,i=>i.element instanceof QuickPickItemElement$1?(this._tree.reveal(i.element),!0):!1);break;case QuickPickFocus.PreviousPage:this._tree.focusPreviousPage(void 0,i=>{if(!(i.element instanceof QuickPickItemElement$1))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case QuickPickFocus.NextSeparator:{let i=!1;const r=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,y=>{if(i)return!0;if(y.element instanceof QuickPickSeparatorElement$1)i=!0,this._separatorRenderer.isSeparatorVisible(y.element)?this._tree.reveal(y.element.children[0]):this._tree.reveal(y.element,0);else if(y.element instanceof QuickPickItemElement$1){if(y.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(y.element)?this._tree.reveal(y.element):this._tree.reveal(y.element,0),!0;if(y.element===this._elementTree[0])return this._tree.reveal(y.element,0),!0}return!1});const g=this._tree.getFocus()[0];r===g&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.focusLast(void 0,y=>y.element instanceof QuickPickItemElement$1));break}case QuickPickFocus.PreviousSeparator:{let i,r=!!((t=this._tree.getFocus()[0])!=null&&t.separator);this._tree.focusPrevious(void 0,!0,void 0,g=>{if(g.element instanceof QuickPickSeparatorElement$1)r?i||(this._separatorRenderer.isSeparatorVisible(g.element)?this._tree.reveal(g.element):this._tree.reveal(g.element,0),i=g.element.children[0]):r=!0;else if(g.element instanceof QuickPickItemElement$1&&!i){if(g.element.separator)this._itemRenderer.isItemWithSeparatorVisible(g.element)?this._tree.reveal(g.element):this._tree.reveal(g.element,0),i=g.element;else if(g.element===this._elementTree[0])return this._tree.reveal(g.element,0),!0}return!1}),i&&this._tree.setFocus([i]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?"".concat(Math.floor(e/44)*44+6,"px"):"",this._tree.layout()}filter(e){if(this._lastQueryString=e,!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(i=>{i.labelHighlights=void 0,i.descriptionHighlights=void 0,i.detailHighlights=void 0,i.hidden=!1;const r=i.index&&this._inputElements[i.index-1];i.item&&(i.separator=r&&r.type==="separator"&&!r.buttons?r:void 0)});else{let i;this._itemElements.forEach(r=>{var L,V,z,j;let g;this.matchOnLabelMode==="fuzzy"?g=this.matchOnLabel&&(L=matchesFuzzyIconAware$1(e,parseLabelWithIcons$1(r.saneLabel)))!=null?L:void 0:g=this.matchOnLabel&&(V=matchesContiguousIconAware$1(t,parseLabelWithIcons$1(r.saneLabel)))!=null?V:void 0;const y=this.matchOnDescription&&(z=matchesFuzzyIconAware$1(e,parseLabelWithIcons$1(r.saneDescription||"")))!=null?z:void 0,k=this.matchOnDetail&&(j=matchesFuzzyIconAware$1(e,parseLabelWithIcons$1(r.saneDetail||"")))!=null?j:void 0;if(g||y||k?(r.labelHighlights=g,r.descriptionHighlights=y,r.detailHighlights=k,r.hidden=!1):(r.labelHighlights=void 0,r.descriptionHighlights=void 0,r.detailHighlights=void 0,r.hidden=r.item?!r.item.alwaysShow:!0),r.item?r.separator=void 0:r.separator&&(r.hidden=!0),!this.sortByLabel){const ie=r.index&&this._inputElements[r.index-1]||void 0;(ie==null?void 0:ie.type)==="separator"&&!ie.buttons&&(i=ie),i&&!r.hidden&&(r.separator=i,i=void 0)}})}return this._setElementsToTree(this._sortByLabel&&e?this._itemElements:this._elementTree),this._tree.layout(),!0}toggleCheckbox(){this._elementCheckedEventBufferer.bufferEvents(()=>{const e=this._tree.getFocus().filter(i=>i instanceof QuickPickItemElement$1),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)})}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e!=null&&e.saneTooltip)||!(e instanceof QuickPickItemElement$1))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);const t=new DisposableStore$1;t.add(this._tree.onDidChangeFocus(i=>{i.elements[0]instanceof QuickPickItemElement$1&&this.showHover(i.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_setElementsToTree(e){const t=new Array;for(const i of e)i instanceof QuickPickSeparatorElement$1?t.push({element:i,collapsible:!1,collapsed:!1,children:i.children.map(r=>({element:r,collapsible:!1,collapsed:!1}))}):t.push({element:i,collapsible:!1,collapsed:!1});this._tree.setChildren(null,t)}_allVisibleChecked(e,t=!0){for(let i=0,r=e.length;i{this._allVisibleCheckedObservable.set(this._allVisibleChecked(this._itemElements,!1),e);const t=this._itemElements.filter(i=>i.checked).length;this._checkedCountObservable.set(t,e),this._checkedElementsObservable.set(this.getCheckedElements(),e)})}showHover(e){var t,i,r;this._lastHover&&!this._lastHover.isDisposed&&((i=(t=this.hoverDelegate).onDidHideHover)==null||i.call(t),(r=this._lastHover)==null||r.dispose()),!(!e.element||!e.saneTooltip)&&(this._lastHover=this.hoverDelegate.showHover({content:e.saneTooltip,target:e.element,linkHandler:g=>{this.linkOpenerDelegate(g)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};__decorate$4C([memoize$2],QuickInputTree$1.prototype,"onDidChangeFocus",null);__decorate$4C([memoize$2],QuickInputTree$1.prototype,"onDidChangeSelection",null);QuickInputTree$1=__decorate$4C([__param$4s(4,IInstantiationService$1),__param$4s(5,IAccessibilityService$1)],QuickInputTree$1);function matchesContiguousIconAware$1(n,e){const{text:t,iconOffsets:i}=e;if(!i||i.length===0)return matchesContiguous$1(n,t);const r=ltrim$1(t," "),g=t.length-r.length,y=matchesContiguous$1(n,r);if(y)for(const k of y){const L=i[k.start+g]+g;k.start+=L,k.end+=L}return y}function matchesContiguous$1(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t!==-1?[{start:t,end:t+n.length}]:null}function compareEntries$1(n,e,t){const i=n.labelHighlights||[],r=e.labelHighlights||[];return i.length&&!r.length?-1:!i.length&&r.length?1:i.length===0&&r.length===0?0:compareAnything$1(n.saneSortLabel,e.saneSortLabel,t)}const defaultCommandAndKeybindingRule={weight:200,when:ContextKeyExpr$1.and(ContextKeyExpr$1.equals(quickInputTypeContextKeyValue,"quickPick"),inQuickInputContext),metadata:{description:localize$1("quickPick","Used while in the context of the quick pick. If you change one keybinding for this command, you should change all of the other keybindings (modifier variants) of this command as well.")}};function registerQuickPickCommandAndKeybindingRule(n,e={}){var t;KeybindingsRegistry$1.registerCommandAndKeybindingRule({...defaultCommandAndKeybindingRule,...n,secondary:getSecondary(n.primary,(t=n.secondary)!=null?t:[],e)})}const ctrlKeyMod$3=isMacintosh$1?256:2048;function getSecondary(n,e,t={}){return t.withAltMod&&e.push(512+n),t.withCtrlMod&&(e.push(ctrlKeyMod$3+n),t.withAltMod&&e.push(512+ctrlKeyMod$3+n)),t.withCmdMod&&isMacintosh$1&&(e.push(2048+n),t.withCtrlMod&&e.push(2304+n),t.withAltMod&&(e.push(2560+n),t.withCtrlMod&&e.push(2816+n))),e}function focusHandler(n,e){return t=>{const i=t.get(IQuickInputService$1).currentQuickInput;if(i)return e&&i.quickNavigate?i.focus(e):i.focus(n)}}registerQuickPickCommandAndKeybindingRule({id:"quickInput.pageNext",primary:12,handler:focusHandler(QuickPickFocus.NextPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.pagePrevious",primary:11,handler:focusHandler(QuickPickFocus.PreviousPage)},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.first",primary:ctrlKeyMod$3+14,handler:focusHandler(QuickPickFocus.First)},{withAltMod:!0,withCmdMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.last",primary:ctrlKeyMod$3+13,handler:focusHandler(QuickPickFocus.Last)},{withAltMod:!0,withCmdMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.next",primary:18,handler:focusHandler(QuickPickFocus.Next)},{withCtrlMod:!0});registerQuickPickCommandAndKeybindingRule({id:"quickInput.previous",primary:16,handler:focusHandler(QuickPickFocus.Previous)},{withCtrlMod:!0});const nextSeparatorFallbackDesc=localize$1("quickInput.nextSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the next item. If we are not in quick access mode, this will navigate to the next separator."),prevSeparatorFallbackDesc=localize$1("quickInput.previousSeparatorWithQuickAccessFallback","If we're in quick access mode, this will navigate to the previous item. If we are not in quick access mode, this will navigate to the previous separator.");isMacintosh$1?(registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:2066,handler:focusHandler(QuickPickFocus.NextSeparator,QuickPickFocus.Next),metadata:{description:nextSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparator",primary:2578,secondary:[2322],handler:focusHandler(QuickPickFocus.NextSeparator)},{withCtrlMod:!0}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:2064,handler:focusHandler(QuickPickFocus.PreviousSeparator,QuickPickFocus.Previous),metadata:{description:prevSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparator",primary:2576,secondary:[2320],handler:focusHandler(QuickPickFocus.PreviousSeparator)},{withCtrlMod:!0})):(registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparatorWithQuickAccessFallback",primary:530,handler:focusHandler(QuickPickFocus.NextSeparator,QuickPickFocus.Next),metadata:{description:nextSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.nextSeparator",primary:2578,handler:focusHandler(QuickPickFocus.NextSeparator)}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparatorWithQuickAccessFallback",primary:528,handler:focusHandler(QuickPickFocus.PreviousSeparator,QuickPickFocus.Previous),metadata:{description:prevSeparatorFallbackDesc}}),registerQuickPickCommandAndKeybindingRule({id:"quickInput.previousSeparator",primary:2576,handler:focusHandler(QuickPickFocus.PreviousSeparator)}));registerQuickPickCommandAndKeybindingRule({id:"quickInput.acceptInBackground",when:ContextKeyExpr$1.and(defaultCommandAndKeybindingRule.when,ContextKeyExpr$1.or(InputFocusedContext$1.negate(),endOfQuickInputBoxContext)),primary:17,weight:250,handler:n=>{const e=n.get(IQuickInputService$1).currentQuickInput;e==null||e.accept(!0)}},{withAltMod:!0,withCtrlMod:!0,withCmdMod:!0});var __decorate$4B=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4r=function(n,e){return function(t,i){e(t,i,n)}},QuickInputController_1$1;const $$m=$$u;var Hs;let QuickInputController$1=(Hs=class extends Disposable$1{get currentQuickInput(){var e;return(e=this.controller)!=null?e:void 0}get container(){return this._container}constructor(e,t,i,r){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.contextKeyService=r,this.enabled=!0,this.onDidAcceptEmitter=this._register(new Emitter$3),this.onDidCustomEmitter=this._register(new Emitter$3),this.onDidTriggerButtonEmitter=this._register(new Emitter$3),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new Emitter$3),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new Emitter$3),this.onHide=this.onHideEmitter.event,this.inQuickInputContext=InQuickInputContextKey.bindTo(this.contextKeyService),this.quickInputTypeContext=QuickInputTypeContextKey.bindTo(this.contextKeyService),this.endOfQuickInputBoxContext=EndOfQuickInputBoxContextKey.bindTo(this.contextKeyService),this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(Event$2.runAndSubscribe(onDidRegisterWindow$1,({window:g,disposables:y})=>this.registerKeyModsListeners(g,y),{window:mainWindow$1,disposables:this._store})),this._register(onWillUnregisterWindow$1(g=>{this.ui&&getWindow$3(this.ui.container)===g&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=r=>{this.keyMods.ctrlCmd=r.ctrlKey||r.metaKey,this.keyMods.alt=r.altKey};for(const r of[EventType$3.KEY_DOWN,EventType$3.KEY_UP,EventType$3.MOUSE_DOWN])t.add(addDisposableListener$1(e,r,i,!0))}getUI(e){if(this.ui)return e&&getWindow$3(this._container)!==getWindow$3(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=append$4(this._container,$$m(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=createStyleSheet$1(t),r=append$4(t,$$m(".quick-input-titlebar")),g=this._register(new ActionBar$1(r,{hoverDelegate:this.options.hoverDelegate}));g.domNode.classList.add("quick-input-left-action-bar");const y=append$4(r,$$m(".quick-input-title")),k=this._register(new ActionBar$1(r,{hoverDelegate:this.options.hoverDelegate}));k.domNode.classList.add("quick-input-right-action-bar");const L=append$4(t,$$m(".quick-input-header")),V=append$4(L,$$m("input.quick-input-check-all"));V.type="checkbox",V.setAttribute("aria-label",localize$1("quickInput.checkAll","Toggle all checkboxes")),this._register(addStandardDisposableListener$1(V,EventType$3.CHANGE,qe=>{const Ue=V.checked;Oe.setAllVisibleChecked(Ue)})),this._register(addDisposableListener$1(V,EventType$3.CLICK,qe=>{(qe.x||qe.y)&&oe.setFocus()}));const z=append$4(L,$$m(".quick-input-description")),j=append$4(L,$$m(".quick-input-and-message")),ie=append$4(j,$$m(".quick-input-filter")),oe=this._register(new QuickInputBox$1(ie,this.styles.inputBox,this.styles.toggle));oe.setAttribute("aria-describedby","".concat(this.idPrefix,"message"));const re=append$4(ie,$$m(".quick-input-visible-count"));re.setAttribute("aria-live","polite"),re.setAttribute("aria-atomic","true");const ae=new CountBadge$1(re,{countFormat:localize$1({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")},this.styles.countBadge),le=append$4(ie,$$m(".quick-input-count"));le.setAttribute("aria-live","polite");const de=new CountBadge$1(le,{countFormat:localize$1({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")},this.styles.countBadge),ue=this._register(new ActionBar$1(L,{hoverDelegate:this.options.hoverDelegate}));ue.domNode.classList.add("quick-input-inline-action-bar");const he=append$4(L,$$m(".quick-input-action")),pe=this._register(new Button$2(he,this.styles.button));pe.label=localize$1("ok","OK"),this._register(pe.onDidClick(qe=>{this.onDidAcceptEmitter.fire()}));const Ce=append$4(L,$$m(".quick-input-action")),$e=this._register(new Button$2(Ce,{...this.styles.button,supportIcons:!0}));$e.label=localize$1("custom","Custom"),this._register($e.onDidClick(qe=>{this.onDidCustomEmitter.fire()}));const xe=append$4(j,$$m("#".concat(this.idPrefix,"message.quick-input-message"))),Ie=this._register(new ProgressBar$1(t,this.styles.progressBar));Ie.getContainer().classList.add("quick-input-progress");const Ne=append$4(t,$$m(".quick-input-html-widget"));Ne.tabIndex=-1;const Fe=append$4(t,$$m(".quick-input-description")),Ve=this.idPrefix+"list",Oe=this._register(this.instantiationService.createInstance(QuickInputTree$1,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,Ve));oe.setAttribute("aria-controls",Ve),this._register(Oe.onDidChangeFocus(()=>{var qe;oe.setAttribute("aria-activedescendant",(qe=Oe.getActiveDescendant())!=null?qe:"")})),this._register(Oe.onChangedAllVisibleChecked(qe=>{V.checked=qe})),this._register(Oe.onChangedVisibleCount(qe=>{ae.setCount(qe)})),this._register(Oe.onChangedCheckedCount(qe=>{de.setCount(qe)})),this._register(Oe.onLeave(()=>{setTimeout(()=>{this.controller&&(oe.setFocus(),this.controller instanceof QuickPick$1&&this.controller.canSelectMany&&Oe.clearFocus())},0)}));const ze=trackFocus$1(t);return this._register(ze),this._register(addDisposableListener$1(t,EventType$3.FOCUS,qe=>{const Ue=this.getUI();if(isAncestor$3(qe.relatedTarget,Ue.inputContainer)){const Et=Ue.inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==Et&&this.endOfQuickInputBoxContext.set(Et)}isAncestor$3(qe.relatedTarget,Ue.container)||(this.inQuickInputContext.set(!0),this.previousFocusElement=isHTMLElement$1(qe.relatedTarget)?qe.relatedTarget:void 0)},!0)),this._register(ze.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(QuickInputHideReason$1.Blur),this.inQuickInputContext.set(!1),this.endOfQuickInputBoxContext.set(!1),this.previousFocusElement=void 0})),this._register(oe.onKeyDown(qe=>{const Ue=this.getUI().inputBox.isSelectionAtEnd();this.endOfQuickInputBoxContext.get()!==Ue&&this.endOfQuickInputBoxContext.set(Ue)})),this._register(addDisposableListener$1(t,EventType$3.FOCUS,qe=>{oe.setFocus()})),this._register(addStandardDisposableListener$1(t,EventType$3.KEY_DOWN,qe=>{if(!isAncestor$3(qe.target,Ne))switch(qe.keyCode){case 3:EventHelper$2.stop(qe,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:EventHelper$2.stop(qe,!0),this.hide(QuickInputHideReason$1.Gesture);break;case 2:if(!qe.altKey&&!qe.ctrlKey&&!qe.metaKey){const Ue=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?Ue.push("input"):Ue.push("input[type=text]"),this.getUI().list.displayed&&Ue.push(".monaco-list"),this.getUI().message&&Ue.push(".quick-input-message a"),this.getUI().widget){if(isAncestor$3(qe.target,this.getUI().widget))break;Ue.push(".quick-input-html-widget")}const Et=t.querySelectorAll(Ue.join(", "));qe.shiftKey&&qe.target===Et[0]?(EventHelper$2.stop(qe,!0),Oe.clearFocus()):!qe.shiftKey&&isAncestor$3(qe.target,Et[Et.length-1])&&(EventHelper$2.stop(qe,!0),Et[0].focus())}break;case 10:qe.ctrlKey&&(EventHelper$2.stop(qe,!0),this.getUI().list.toggleHover());break}})),this.ui={container:t,styleSheet:i,leftActionBar:g,titleBar:r,title:y,description1:Fe,description2:z,widget:Ne,rightActionBar:k,inlineActionBar:ue,checkAll:V,inputContainer:j,filterContainer:ie,inputBox:oe,visibleCountContainer:re,visibleCount:ae,countContainer:le,count:de,okContainer:he,ok:pe,message:xe,customButtonContainer:Ce,customButton:$e,list:Oe,progressBar:Ie,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:qe=>this.show(qe),hide:()=>this.hide(),setVisibilities:qe=>this.setVisibilities(qe),setEnabled:qe=>this.setEnabled(qe),setContextKey:qe=>this.options.setContextKey(qe),linkOpenerDelegate:qe=>this.options.linkOpenerDelegate(qe)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,append$4(this._container,this.ui.container))}pick(e,t={},i=CancellationToken$1.None){return new Promise((r,g)=>{let y=z=>{var j;y=r,(j=t.onKeyMods)==null||j.call(t,k.keyMods),r(z)};if(i.isCancellationRequested){y(void 0);return}const k=this.createQuickPick({useSeparators:!0});let L;const V=[k,k.onDidAccept(()=>{if(k.canSelectMany)y(k.selectedItems.slice()),k.hide();else{const z=k.activeItems[0];z&&(y(z),k.hide())}}),k.onDidChangeActive(z=>{const j=z[0];j&&t.onDidFocus&&t.onDidFocus(j)}),k.onDidChangeSelection(z=>{if(!k.canSelectMany){const j=z[0];j&&(y(j),k.hide())}}),k.onDidTriggerItemButton(z=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...z,removeItem:()=>{const j=k.items.indexOf(z.item);if(j!==-1){const ie=k.items.slice(),oe=ie.splice(j,1),re=k.activeItems.filter(le=>le!==oe[0]),ae=k.keepScrollPosition;k.keepScrollPosition=!0,k.items=ie,re&&(k.activeItems=re),k.keepScrollPosition=ae}}})),k.onDidTriggerSeparatorButton(z=>{var j;return(j=t.onDidTriggerSeparatorButton)==null?void 0:j.call(t,z)}),k.onDidChangeValue(z=>{L&&!z&&(k.activeItems.length!==1||k.activeItems[0]!==L)&&(k.activeItems=[L])}),i.onCancellationRequested(()=>{k.hide()}),k.onDidHide(()=>{dispose$1(V),y(void 0)})];k.title=t.title,t.value&&(k.value=t.value),k.canSelectMany=!!t.canPickMany,k.placeholder=t.placeHolder,k.ignoreFocusOut=!!t.ignoreFocusLost,k.matchOnDescription=!!t.matchOnDescription,k.matchOnDetail=!!t.matchOnDetail,k.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,k.quickNavigate=t.quickNavigate,k.hideInput=!!t.hideInput,k.contextKey=t.contextKey,k.busy=!0,Promise.all([e,t.activeItem]).then(([z,j])=>{L=j,k.busy=!1,k.items=z,k.canSelectMany&&(k.selectedItems=z.filter(ie=>ie.type!=="separator"&&ie.picked)),L&&(k.activeItems=[L])}),k.show(),Promise.resolve(e).then(void 0,z=>{g(z),k.hide()})})}createQuickPick(e={useSeparators:!1}){const t=this.getUI(!0);return new QuickPick$1(t)}createInputBox(){const e=this.getUI(!0);return new InputBox$3(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i==null||i.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",reset$1(t.widget),t.rightActionBar.clear(),t.inlineActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Severity$5.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),reset$1(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const r=this.options.backKeybindingLabel();backButton$1.tooltip=r?localize$1("quickInput.backWithKeybinding","Back ({0})",r):localize$1("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus(),this.quickInputTypeContext.set(e.type)}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?"":"none",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.displayed=!!e.list,t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var g,y;const t=this.controller;if(!t)return;t.willHide(e);const i=(g=this.ui)==null?void 0:g.container,r=i&&!isAncestorOfActiveElement$1(i);if(this.controller=null,this.onHideEmitter.fire(),i&&(i.style.display="none"),!r){let k=this.previousFocusElement;for(;k&&!k.offsetParent;)k=(y=k.parentElement)!=null?y:void 0;k!=null&&k.offsetParent?(k.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}t.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top="".concat(this.titleBarOffset,"px");const e=this.ui.container.style,t=Math.min(this.dimension.width*.62,QuickInputController_1$1.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:r,widgetShadow:g}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e!=null?e:"",this.ui.container.style.backgroundColor=t!=null?t:"",this.ui.container.style.color=i!=null?i:"",this.ui.container.style.border=r?"1px solid ".concat(r):"",this.ui.container.style.boxShadow=g?"0 0 8px 2px ".concat(g):"",this.ui.list.style(this.styles.list);const y=[];this.styles.pickerGroup.pickerGroupBorder&&y.push(".quick-input-list .quick-input-list-entry { border-top-color: ".concat(this.styles.pickerGroup.pickerGroupBorder,"; }")),this.styles.pickerGroup.pickerGroupForeground&&y.push(".quick-input-list .quick-input-list-separator { color: ".concat(this.styles.pickerGroup.pickerGroupForeground,"; }")),this.styles.pickerGroup.pickerGroupForeground&&y.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(y.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&y.push("background-color: ".concat(this.styles.keybindingLabel.keybindingLabelBackground,";")),this.styles.keybindingLabel.keybindingLabelBorder&&y.push("border-color: ".concat(this.styles.keybindingLabel.keybindingLabelBorder,";")),this.styles.keybindingLabel.keybindingLabelBottomBorder&&y.push("border-bottom-color: ".concat(this.styles.keybindingLabel.keybindingLabelBottomBorder,";")),this.styles.keybindingLabel.keybindingLabelShadow&&y.push("box-shadow: inset 0 -1px 0 ".concat(this.styles.keybindingLabel.keybindingLabelShadow,";")),this.styles.keybindingLabel.keybindingLabelForeground&&y.push("color: ".concat(this.styles.keybindingLabel.keybindingLabelForeground,";")),y.push("}"));const k=y.join("\n");k!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=k)}}},QuickInputController_1$1=Hs,Hs.MAX_WIDTH=600,Hs);QuickInputController$1=QuickInputController_1$1=__decorate$4B([__param$4r(1,ILayoutService$1),__param$4r(2,IInstantiationService$1),__param$4r(3,IContextKeyService$1)],QuickInputController$1);var __decorate$4A=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4q=function(n,e){return function(t,i){e(t,i,n)}};let QuickInputService$1=class extends Themable$1{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get currentQuickInput(){return this.controller.currentQuickInput}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(QuickAccessController$1))),this._quickAccess}constructor(e,t,i,r,g){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=g,this._onShow=this._register(new Emitter$3),this._onHide=this._register(new Emitter$3),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:g=>this.setContextKey(g),linkOpenerDelegate:g=>{this.instantiationService.invokeFunction(y=>{y.get(IOpenerService$1).open(g,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(QuickInputHoverDelegate$1))},r=this._register(this.instantiationService.createInstance(QuickInputController$1,{...i,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(g=>{getWindow$3(e.activeContainer)===getWindow$3(r.container)&&r.layout(g,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new RawContextKey$1(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t==null||t.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t,i=CancellationToken$1.None){return this.controller.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.controller.createQuickPick(e)}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:asCssVariable$1(quickInputBackground$1),quickInputForeground:asCssVariable$1(quickInputForeground$1),quickInputTitleBackground:asCssVariable$1(quickInputTitleBackground$1),widgetBorder:asCssVariable$1(widgetBorder$1),widgetShadow:asCssVariable$1(widgetShadow$1)},inputBox:defaultInputBoxStyles$1,toggle:defaultToggleStyles$1,countBadge:defaultCountBadgeStyles$1,button:defaultButtonStyles$1,progressBar:defaultProgressBarStyles$1,keybindingLabel:defaultKeybindingLabelStyles$1,list:getListStyles$1({listBackground:quickInputBackground$1,listFocusBackground:quickInputListFocusBackground$1,listFocusForeground:quickInputListFocusForeground$1,listInactiveFocusForeground:quickInputListFocusForeground$1,listInactiveSelectionIconForeground:quickInputListFocusIconForeground$1,listInactiveFocusBackground:quickInputListFocusBackground$1,listFocusOutline:activeContrastBorder$1,listInactiveFocusOutline:activeContrastBorder$1}),pickerGroup:{pickerGroupBorder:asCssVariable$1(pickerGroupBorder$1),pickerGroupForeground:asCssVariable$1(pickerGroupForeground$1)}}}};QuickInputService$1=__decorate$4A([__param$4q(0,IInstantiationService$1),__param$4q(1,IContextKeyService$1),__param$4q(2,IThemeService$1),__param$4q(3,ILayoutService$1),__param$4q(4,IConfigurationService$1)],QuickInputService$1);var __decorate$4z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4p=function(n,e){return function(t,i){e(t,i,n)}};let EditorScopedQuickInputService$1=class extends QuickInputService$1{constructor(e,t,i,r,g,y){super(t,i,r,new EditorScopedLayoutService$1(e.getContainerDomNode(),g),y),this.host=void 0;const k=QuickInputEditorContribution$1.get(e);if(k){const L=k.widget;this.host={_serviceBrand:void 0,get mainContainer(){return L.getDomNode()},getContainer(){return L.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[L.getDomNode()]},get activeContainer(){return L.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return Event$2.map(e.onDidLayoutChange,V=>({container:L.getDomNode(),dimension:V}))},get onDidChangeActiveContainer(){return Event$2.None},get onDidAddContainer(){return Event$2.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};EditorScopedQuickInputService$1=__decorate$4z([__param$4p(1,IInstantiationService$1),__param$4p(2,IContextKeyService$1),__param$4p(3,IThemeService$1),__param$4p(4,ICodeEditorService$1),__param$4p(5,IConfigurationService$1)],EditorScopedQuickInputService$1);let StandaloneQuickInputService$1=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(EditorScopedQuickInputService$1,e);this.mapEditorToService.set(e,t),createSingleCallFunction$1(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get currentQuickInput(){return this.activeService.currentQuickInput}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t,i=CancellationToken$1.None){return this.activeService.pick(e,t,i)}createQuickPick(e={useSeparators:!1}){return this.activeService.createQuickPick(e)}createInputBox(){return this.activeService.createInputBox()}};StandaloneQuickInputService$1=__decorate$4z([__param$4p(0,IInstantiationService$1),__param$4p(1,ICodeEditorService$1)],StandaloneQuickInputService$1);var Us;let QuickInputEditorContribution$1=(Us=class{static get(e){return e.getContribution(Us.ID)}constructor(e){this.editor=e,this.widget=new QuickInputEditorWidget$1(this.editor)}dispose(){this.widget.dispose()}},Us.ID="editor.controller.quickInput",Us);var Ks;let QuickInputEditorWidget$1=(Ks=class{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Ks.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}},Ks.ID="editor.contrib.quickInputWidget",Ks);registerEditorContribution$1(QuickInputEditorContribution$1.ID,QuickInputEditorContribution$1,4);let ParsedTokenThemeRule$1=class{constructor(e,t,i,r,g){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=r,this.background=g}};function parseTokenTheme$1(n){if(!n||!Array.isArray(n))return[];const e=[];let t=0;for(let i=0,r=n.length;i{const ie=strcmp$1(z.token,j.token);return ie!==0?ie:z.index-j.index});let t=0,i="000000",r="ffffff";for(;n.length>=1&&n[0].token==="";){const z=n.shift();z.fontStyle!==-1&&(t=z.fontStyle),z.foreground!==null&&(i=z.foreground),z.background!==null&&(r=z.background)}const g=new ColorMap$1;for(const z of e)g.getId(z);const y=g.getId(i),k=g.getId(r),L=new ThemeTrieElementRule$1(t,y,k),V=new ThemeTrieElement$1(L);for(let z=0,j=n.length;z"u"){const r=this._match(t),g=toStandardTokenType$1(t);i=(r.metadata|g<<8)>>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}};const STANDARD_TOKEN_TYPE_REGEXP$1=/\b(comment|string|regex|regexp)\b/;function toStandardTokenType$1(n){const e=n.match(STANDARD_TOKEN_TYPE_REGEXP$1);if(!e)return 0;switch(e[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function strcmp$1(n,e){return ne?1:0}let ThemeTrieElementRule$1=class sh{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new sh(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),i!==0&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}},ThemeTrieElement$1=class ah{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e==="")return this._mainRule;const t=e.indexOf(".");let i,r;t===-1?(i=e,r=""):(i=e.substring(0,t),r=e.substring(t+1));const g=this._children.get(i);return typeof g<"u"?g.match(r):this._mainRule}insert(e,t,i,r){if(e===""){this._mainRule.acceptOverwrite(t,i,r);return}const g=e.indexOf(".");let y,k;g===-1?(y=e,k=""):(y=e.substring(0,g),k=e.substring(g+1));let L=this._children.get(y);typeof L>"u"&&(L=new ah(this._mainRule.clone()),this._children.set(y,L)),L.insert(k,t,i,r)}};function generateTokensCSSForColorMap$1(n){const e=[];for(let t=1,i=n.length;t({format:r.format,location:r.location.toString()}))}}n.toJSONObject=e;function t(i){const r=g=>isString$7(g)?g:void 0;if(i&&Array.isArray(i.src)&&i.src.every(g=>isString$7(g.format)&&isString$7(g.location)))return{weight:r(i.weight),style:r(i.style),src:i.src.map(g=>({format:g.format,location:URI$1.parse(g.location)}))}}n.fromJSONObject=t})(IconFontDefinition$1||(IconFontDefinition$1={}));let IconRegistry$1=class{constructor(){this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:localize$1("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:localize$1("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:"^".concat(ThemeIcon$1.iconNameExpression,"$"),enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,r){const g=this.iconsById[e];if(g){if(i&&!g.description){g.description=i,this.iconSchema.properties[e].markdownDescription="".concat(i," $(").concat(e,")");const L=this.iconReferenceSchema.enum.indexOf(e);L!==-1&&(this.iconReferenceSchema.enumDescriptions[L]=i),this._onDidChange.fire()}return g}const y={id:e,description:i,defaults:t,deprecationMessage:r};this.iconsById[e]=y;const k={$ref:"#/definitions/icons"};return r&&(k.deprecationMessage=r),i&&(k.markdownDescription="".concat(i,": $(").concat(e,")")),this.iconSchema.properties[e]=k,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(g,y)=>g.id.localeCompare(y.id),t=g=>{for(;ThemeIcon$1.isThemeIcon(g.defaults);)g=this.iconsById[g.defaults.id];return"codicon codicon-".concat(g?g.id:"")},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const r=Object.keys(this.iconsById).map(g=>this.iconsById[g]);for(const g of r.filter(y=>!!y.description).sort(e))i.push('||').concat(g.id,"|").concat(ThemeIcon$1.isThemeIcon(g.defaults)?g.defaults.id:g.id,"|").concat(g.description||"","|"));i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const g of r.filter(y=>!ThemeIcon$1.isThemeIcon(y.defaults)).sort(e))i.push('||').concat(g.id,"|"));return i.join("\n")}};const iconRegistry$1=new IconRegistry$1;Registry$1.add(Extensions$b.IconContribution,iconRegistry$1);function registerIcon$1(n,e,t,i){return iconRegistry$1.registerIcon(n,e,t,i)}function getIconRegistry$1(){return iconRegistry$1}function initialize$1(){const n=getCodiconFontCharacters$1();for(const e in n){const t="\\"+n[e].toString(16);iconRegistry$1.registerIcon(e,{fontCharacter:t})}}initialize$1();const iconsSchemaId$1="vscode://schemas/icons",schemaRegistry$2=Registry$1.as(Extensions$h.JSONContribution);schemaRegistry$2.registerSchema(iconsSchemaId$1,iconRegistry$1.getIconSchema());const delayer$2=new RunOnceScheduler$1(()=>schemaRegistry$2.notifySchemaChanged(iconsSchemaId$1),200);iconRegistry$1.onDidChange(()=>{delayer$2.isScheduled()||delayer$2.schedule()});const widgetClose$1=registerIcon$1("widget-close",Codicon$1.close,localize$1("widgetClose","Icon for the close action in widgets."));registerIcon$1("goto-previous-location",Codicon$1.arrowUp,localize$1("previousChangeIcon","Icon for goto previous editor location."));registerIcon$1("goto-next-location",Codicon$1.arrowDown,localize$1("nextChangeIcon","Icon for goto next editor location."));ThemeIcon$1.modify(Codicon$1.sync,"spin");ThemeIcon$1.modify(Codicon$1.loading,"spin");function getIconsStyleSheet$1(n){const e=new DisposableStore$1,t=e.add(new Emitter$3),i=getIconRegistry$1();return e.add(i.onDidChange(()=>t.fire())),n&&e.add(n.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const r=n?n.getProductIconTheme():new UnthemedProductIconTheme$1,g={},y=[],k=[];for(const L of i.getIcons()){const V=r.getIcon(L);if(!V)continue;const z=V.font,j="--vscode-icon-".concat(L.id,"-font-family"),ie="--vscode-icon-".concat(L.id,"-content");z?(g[z.id]=z.definition,k.push("".concat(j,": ").concat(asCSSPropertyValue$1(z.id),";"),"".concat(ie,": '").concat(V.fontCharacter,"';")),y.push(".codicon-".concat(L.id,":before { content: '").concat(V.fontCharacter,"'; font-family: ").concat(asCSSPropertyValue$1(z.id),"; }"))):(k.push("".concat(ie,": '").concat(V.fontCharacter,"'; ").concat(j,": 'codicon';")),y.push(".codicon-".concat(L.id,":before { content: '").concat(V.fontCharacter,"'; }")))}for(const L in g){const V=g[L],z=V.weight?"font-weight: ".concat(V.weight,";"):"",j=V.style?"font-style: ".concat(V.style,";"):"",ie=V.src.map(oe=>"".concat(asCSSUrl$1(oe.location)," format('").concat(oe.format,"')")).join(", ");y.push("@font-face { src: ".concat(ie,"; font-family: ").concat(asCSSPropertyValue$1(L),";").concat(z).concat(j," font-display: block; }"))}return y.push(":root { ".concat(k.join(" ")," }")),y.join("\n")}}}let UnthemedProductIconTheme$1=class{getIcon(e){const t=getIconRegistry$1();let i=e.defaults;for(;ThemeIcon$1.isThemeIcon(i);){const r=t.getIcon(i.id);if(!r)return;i=r.defaults}return i}};const VS_LIGHT_THEME_NAME$1="vs",VS_DARK_THEME_NAME$1="vs-dark",HC_BLACK_THEME_NAME$1="hc-black",HC_LIGHT_THEME_NAME$1="hc-light",colorRegistry$2=Registry$1.as(Extensions$d.ColorContribution),themingRegistry$2=Registry$1.as(Extensions$e.ThemingContribution);let StandaloneTheme$1=class{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(isBuiltinTheme$1(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,Color$2.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=getBuiltinRules$1(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Color$2.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=colorRegistry$2.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case VS_LIGHT_THEME_NAME$1:return ColorScheme$1.LIGHT;case HC_BLACK_THEME_NAME$1:return ColorScheme$1.HIGH_CONTRAST_DARK;case HC_LIGHT_THEME_NAME$1:return ColorScheme$1.HIGH_CONTRAST_LIGHT;default:return ColorScheme$1.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const g=getBuiltinRules$1(this.themeData.base);e=g.rules,g.encodedTokensColors&&(t=g.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],r=this.themeData.colors["editor.background"];if(i||r){const g={token:""};i&&(g.foreground=i),r&&(g.background=r),e.push(g)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=TokenTheme$1.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const g=this.tokenTheme._match([e].concat(t).join(".")).metadata,y=TokenMetadata$1.getForeground(g),k=TokenMetadata$1.getFontStyle(g);return{foreground:y,italic:!!(k&1),bold:!!(k&2),underline:!!(k&4),strikethrough:!!(k&8)}}};function isBuiltinTheme$1(n){return n===VS_LIGHT_THEME_NAME$1||n===VS_DARK_THEME_NAME$1||n===HC_BLACK_THEME_NAME$1||n===HC_LIGHT_THEME_NAME$1}function getBuiltinRules$1(n){switch(n){case VS_LIGHT_THEME_NAME$1:return vs$1;case VS_DARK_THEME_NAME$1:return vs_dark$1;case HC_BLACK_THEME_NAME$1:return hc_black$1;case HC_LIGHT_THEME_NAME$1:return hc_light$1}}function newBuiltInTheme$1(n){const e=getBuiltinRules$1(n);return new StandaloneTheme$1(n,e)}let StandaloneThemeService$1=class extends Disposable$1{constructor(){super(),this._onColorThemeChange=this._register(new Emitter$3),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Emitter$3),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new UnthemedProductIconTheme$1,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(VS_LIGHT_THEME_NAME$1,newBuiltInTheme$1(VS_LIGHT_THEME_NAME$1)),this._knownThemes.set(VS_DARK_THEME_NAME$1,newBuiltInTheme$1(VS_DARK_THEME_NAME$1)),this._knownThemes.set(HC_BLACK_THEME_NAME$1,newBuiltInTheme$1(HC_BLACK_THEME_NAME$1)),this._knownThemes.set(HC_LIGHT_THEME_NAME$1,newBuiltInTheme$1(HC_LIGHT_THEME_NAME$1));const e=this._register(getIconsStyleSheet$1(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS="".concat(this._codiconCSS,"\n").concat(this._themeCSS),this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(VS_LIGHT_THEME_NAME$1),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),addMatchMediaChangeListener$1(mainWindow$1,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return isInShadowDOM$1(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=createStyleSheet$1(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),Disposable$1.None}_registerShadowDomContainer(e){const t=createStyleSheet$1(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(VS_LIGHT_THEME_NAME$1),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=mainWindow$1.matchMedia("(forced-colors: active)").matches;if(e!==isHighContrast$1(this._theme.type)){let t;isDark$1(this._theme.type)?t=e?HC_BLACK_THEME_NAME$1:VS_DARK_THEME_NAME$1:t=e?HC_LIGHT_THEME_NAME$1:VS_LIGHT_THEME_NAME$1,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:y=>{t[y]||(e.push(y),t[y]=!0)}};themingRegistry$2.getThemingParticipants().forEach(y=>y(this._theme,i,this._environment));const r=[];for(const y of colorRegistry$2.getColors()){const k=this._theme.getColor(y.id,!0);k&&r.push("".concat(asCssVariableName$1(y.id),": ").concat(k.toString(),";"))}i.addRule(".monaco-editor, .monaco-diff-editor, .monaco-component { ".concat(r.join("\n")," }"));const g=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(generateTokensCSSForColorMap$1(g)),this._themeCSS=e.join("\n"),this._updateCSS(),TokenizationRegistry$2.setColorMap(g),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS="".concat(this._codiconCSS,"\n").concat(this._themeCSS),this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}};const IStandaloneThemeService$1=createDecorator$1("themeService");var __decorate$4y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4o=function(n,e){return function(t,i){e(t,i,n)}};let AccessibilityService$1=class extends Disposable$1{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new Emitter$3,this._onDidChangeReducedMotion=new Emitter$3,this._onDidChangeLinkUnderline=new Emitter$3,this._accessibilityModeEnabledContext=CONTEXT_ACCESSIBILITY_MODE_ENABLED$1.bindTo(this._contextKeyService);const r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(y=>{y.affectsConfiguration("editor.accessibilitySupport")&&(r(),this._onDidChangeScreenReaderOptimized.fire()),y.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));const g=mainWindow$1.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=g.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._linkUnderlinesEnabled=this._configurationService.getValue("accessibility.underlineLinks"),this.initReducedMotionListeners(g),this.initLinkUnderlineListeners()}initReducedMotionListeners(e){this._register(addDisposableListener$1(e,"change",()=>{this._systemMotionReduced=e.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}initLinkUnderlineListeners(){this._register(this._configurationService.onDidChangeConfiguration(t=>{if(t.affectsConfiguration("accessibility.underlineLinks")){const i=this._configurationService.getValue("accessibility.underlineLinks");this._linkUnderlinesEnabled=i,this._onDidChangeLinkUnderline.fire()}}));const e=()=>{const t=this._linkUnderlinesEnabled;this._layoutService.mainContainer.classList.toggle("underline-links",t)};e(),this._register(this.onDidChangeLinkUnderlines(()=>e()))}onDidChangeLinkUnderlines(e){return this._onDidChangeLinkUnderline.event(e)}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return e==="on"||e==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return e==="on"||e==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};AccessibilityService$1=__decorate$4y([__param$4o(0,IContextKeyService$1),__param$4o(1,ILayoutService$1),__param$4o(2,IConfigurationService$1)],AccessibilityService$1);var __decorate$4x=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4n=function(n,e){return function(t,i){e(t,i,n)}},PersistedMenuHideState_1$1,MenuInfo_1$1;let MenuService$1=class{constructor(e,t,i){this._commandService=e,this._keybindingService=t,this._hiddenStates=new PersistedMenuHideState$1(i)}createMenu(e,t,i){return new MenuImpl$1(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t)}getMenuActions(e,t,i){const r=new MenuImpl$1(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,this._keybindingService,t),g=r.getActions(i);return r.dispose(),g}resetHiddenStates(e){this._hiddenStates.reset(e)}};MenuService$1=__decorate$4x([__param$4n(0,ICommandService$1),__param$4n(1,IKeybindingService$1),__param$4n(2,IStorageService$1)],MenuService$1);var js;let PersistedMenuHideState$1=(js=class{constructor(e){this._storageService=e,this._disposables=new DisposableStore$1,this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(PersistedMenuHideState_1$1._key,0,"{}");this._data=JSON.parse(t)}catch(t){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,PersistedMenuHideState_1$1._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(PersistedMenuHideState_1$1._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var i;return(i=this._hiddenByDefaultCache.get("".concat(e.id,"/").concat(t)))!=null?i:!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set("".concat(e.id,"/").concat(t),i)}isHidden(e,t){var g,y;const i=this._isHiddenByDefault(e,t),r=(y=(g=this._data[e.id])==null?void 0:g.includes(t))!=null?y:!1;return i?!r:r}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const g=this._data[e.id];if(i)g?g.indexOf(t)<0&&g.push(t):this._data[e.id]=[t];else if(g){const y=g.indexOf(t);y>=0&&removeFastWithoutKeepingOrder$1(g,y),g.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(PersistedMenuHideState_1$1._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}},PersistedMenuHideState_1$1=js,js._key="menu.hiddenCommands",js);PersistedMenuHideState$1=PersistedMenuHideState_1$1=__decorate$4x([__param$4n(0,IStorageService$1)],PersistedMenuHideState$1);class MenuInfoSnapshot{constructor(e,t){this._id=e,this._collectContextKeysForSubmenus=t,this._menuGroups=[],this._allMenuIds=new Set,this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get allMenuIds(){return this._allMenuIds}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._allMenuIds.clear(),this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=this._sort(MenuRegistry$1.getMenuItems(this._id));let t;for(const i of e){const r=i.group||"";(!t||t[0]!==r)&&(t=[r,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeysAndSubmenuIds(i)}this._allMenuIds.add(this._id)}_sort(e){return e}_collectContextKeysAndSubmenuIds(e){if(MenuInfoSnapshot._fillInKbExprKeys(e.when,this._structureContextKeys),isIMenuItem$1(e)){if(e.command.precondition&&MenuInfoSnapshot._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;MenuInfoSnapshot._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&(MenuRegistry$1.getMenuItems(e.submenu).forEach(this._collectContextKeysAndSubmenuIds,this),this._allMenuIds.add(e.submenu))}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}}let MenuInfo$1=MenuInfo_1$1=class extends MenuInfoSnapshot{constructor(e,t,i,r,g,y){super(e,i),this._hiddenStates=t,this._commandService=r,this._keybindingService=g,this._contextKeyService=y,this.refresh()}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[r,g]=i;let y;for(const k of g)if(this._contextKeyService.contextMatchesRules(k.when)){const L=isIMenuItem$1(k);L&&this._hiddenStates.setDefaultState(this._id,k.command.id,!!k.isHiddenByDefault);const V=createMenuHide$1(this._id,L?k.command:k,this._hiddenStates);if(L){const z=createConfigureKeybindingAction(this._commandService,this._keybindingService,k.command.id,k.when);(y!=null?y:y=[]).push(new MenuItemAction$1(k.command,k.alt,e,V,z,this._contextKeyService,this._commandService))}else{const z=new MenuInfo_1$1(k.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._keybindingService,this._contextKeyService).createActionGroups(e),j=Separator$1.join(...z.map(ie=>ie[1]));j.length>0&&(y!=null?y:y=[]).push(new SubmenuItemAction$1(k,V,j))}}y&&y.length>0&&t.push([r,y])}return t}_sort(e){return e.sort(MenuInfo_1$1._compareMenuItems)}static _compareMenuItems(e,t){const i=e.group,r=t.group;if(i!==r){if(i){if(!r)return-1}else return 1;if(i==="navigation")return-1;if(r==="navigation")return 1;const k=i.localeCompare(r);if(k!==0)return k}const g=e.order||0,y=t.order||0;return gy?1:MenuInfo_1$1._compareTitles(isIMenuItem$1(e)?e.command.title:e.title,isIMenuItem$1(t)?t.command.title:t.title)}static _compareTitles(e,t){const i=typeof e=="string"?e:e.original,r=typeof t=="string"?t:t.original;return i.localeCompare(r)}};MenuInfo$1=MenuInfo_1$1=__decorate$4x([__param$4n(3,ICommandService$1),__param$4n(4,IKeybindingService$1),__param$4n(5,IContextKeyService$1)],MenuInfo$1);let MenuImpl$1=class{constructor(e,t,i,r,g,y){this._disposables=new DisposableStore$1,this._menuInfo=new MenuInfo$1(e,t,i.emitEventsForSubmenuChanges,r,g,y);const k=new RunOnceScheduler$1(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(k),this._disposables.add(MenuRegistry$1.onDidChangeMenu(j=>{for(const ie of this._menuInfo.allMenuIds)if(j.has(ie)){k.schedule();break}}));const L=this._disposables.add(new DisposableStore$1),V=j=>{let ie=!1,oe=!1,re=!1;for(const ae of j)if(ie=ie||ae.isStructuralChange,oe=oe||ae.isEnablementChange,re=re||ae.isToggleChange,ie&&oe&&re)break;return{menu:this,isStructuralChange:ie,isEnablementChange:oe,isToggleChange:re}},z=()=>{L.add(y.onDidChangeContext(j=>{const ie=j.affectsSome(this._menuInfo.structureContextKeys),oe=j.affectsSome(this._menuInfo.preconditionContextKeys),re=j.affectsSome(this._menuInfo.toggledContextKeys);(ie||oe||re)&&this._onDidChange.fire({menu:this,isStructuralChange:ie,isEnablementChange:oe,isToggleChange:re})})),L.add(t.onDidChange(j=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new DebounceEmitter$1({onWillAddFirstListener:z,onDidRemoveLastListener:L.clear.bind(L),delay:i.eventDebounceDelay,merge:V}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};MenuImpl$1=__decorate$4x([__param$4n(3,ICommandService$1),__param$4n(4,IKeybindingService$1),__param$4n(5,IContextKeyService$1)],MenuImpl$1);function createMenuHide$1(n,e,t){const i=isISubmenuItem$1(e)?e.submenu.id:e.id,r=typeof e.title=="string"?e.title:e.title.value,g=toAction$1({id:"hide/".concat(n.id,"/").concat(i),label:localize$1("hide.label","Hide '{0}'",r),run(){t.updateHidden(n,i,!0)}}),y=toAction$1({id:"toggle/".concat(n.id,"/").concat(i),label:r,get checked(){return!t.isHidden(n,i)},run(){t.updateHidden(n,i,!!this.checked)}});return{hide:g,toggle:y,get isHidden(){return!y.checked}}}function createConfigureKeybindingAction(n,e,t,i=void 0,r=!0){return toAction$1({id:"configureKeybinding/".concat(t),label:localize$1("configure keybinding","Configure Keybinding"),enabled:r,run(){const y=!!!e.lookupKeybinding(t)&&i?i.serialize():void 0;n.executeCommand("workbench.action.openGlobalKeybindings","@command:".concat(t)+(y?" +when:".concat(y):""))}})}var __decorate$4w=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4m=function(n,e){return function(t,i){e(t,i,n)}},BrowserClipboardService_1$1;const vscodeResourcesMime="application/vnd.code.resources";var Gs;let BrowserClipboardService$1=(Gs=class extends Disposable$1{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(isSafari$2||isWebkitWebView$1)&&this.installWebKitWriteTextWorkaround(),this._register(Event$2.runAndSubscribe(onDidRegisterWindow$1,({window:i,disposables:r})=>{r.add(addDisposableListener$1(i.document,"copy",()=>this.clearResourcesState()))},{window:mainWindow$1,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new DeferredPromise$1;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,getActiveWindow$1().navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(async i=>{(!(i instanceof Error)||i.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(i)})};this._register(Event$2.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add(addDisposableListener$1(t,"click",e)),i.add(addDisposableListener$1(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.clearResourcesState(),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await getActiveWindow$1().navigator.clipboard.writeText(e)}catch(i){console.error(i)}this.fallbackWriteText(e)}fallbackWriteText(e){const t=getActiveDocument$1(),i=t.activeElement,r=t.body.appendChild($$u("textarea",{"aria-hidden":!0}));r.style.height="1px",r.style.width="1px",r.style.position="absolute",r.value=e,r.focus(),r.select(),t.execCommand("copy"),isHTMLElement$1(i)&&i.focus(),r.remove()}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await getActiveWindow$1().navigator.clipboard.readText()}catch(t){console.error(t)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async readResources(){try{const t=await getActiveWindow$1().navigator.clipboard.read();for(const i of t)if(i.types.includes("web ".concat(vscodeResourcesMime))){const r=await i.getType("web ".concat(vscodeResourcesMime));return JSON.parse(await r.text()).map(y=>URI$1.from(y))}}catch(t){}const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResourcesState(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const e=await this.readText();return hash$4(e.substring(0,BrowserClipboardService_1$1.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearInternalState(){this.clearResourcesState()}clearResourcesState(){this.resources=[],this.resourcesStateHash=void 0}},BrowserClipboardService_1$1=Gs,Gs.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3,Gs);BrowserClipboardService$1=BrowserClipboardService_1$1=__decorate$4w([__param$4m(0,ILayoutService$1),__param$4m(1,ILogService$1)],BrowserClipboardService$1);const IClipboardService$1=createDecorator$1("clipboardService");var __decorate$4v=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4l=function(n,e){return function(t,i){e(t,i,n)}};const KEYBINDING_CONTEXT_ATTR$1="data-keybinding-context";let Context$5=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t?(this._value[e]=t,!0):!1}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){const t=this._value[e];return typeof t>"u"&&this._parent?this._parent.getValue(e):t}};var qs;let NullContext$1=(qs=class extends Context$5{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}},qs.INSTANCE=new qs,qs);var Rr;let ConfigAwareContextValuesContainer$1=(Rr=class extends Context$5{constructor(e,t,i){super(e,null),this._configurationService=t,this._values=TernarySearchTree$1.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(r=>{if(r.source===7){const g=Array.from(this._values,([y])=>y);this._values.clear(),i.fire(new ArrayContextKeyChangeEvent$1(g))}else{const g=[];for(const y of r.affectedKeys){const k="config.".concat(y),L=this._values.findSuperstr(k);L!==void 0&&(g.push(...Iterable$1.map(L,([V])=>V)),this._values.deleteSuperstr(k)),this._values.has(k)&&(g.push(k),this._values.delete(k))}i.fire(new ArrayContextKeyChangeEvent$1(g))}})}dispose(){this._listener.dispose()}getValue(e){if(e.indexOf(Rr._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(Rr._keyPrefix.length),i=this._configurationService.getValue(t);let r;switch(typeof i){case"number":case"boolean":case"string":r=i;break;default:Array.isArray(i)?r=JSON.stringify(i):r=i}return this._values.set(e,r),r}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}},Rr._keyPrefix="config.",Rr),ContextKey$1=class{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}},SimpleContextKeyChangeEvent$1=class{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}},ArrayContextKeyChangeEvent$1=class{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}},CompositeContextKeyChangeEvent$1=class{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}};function allEventKeysInContext$1(n,e){return n.allKeysContainedIn(new Set(Object.keys(e)))}let AbstractContextKeyService$1=class extends Disposable$1{constructor(e){super(),this._onDidChangeContext=this._register(new PauseableEmitter$1({merge:t=>new CompositeContextKeyChangeEvent$1(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ContextKey$1(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ScopedContextKeyService$1(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent$1(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent$1(e))}getContext(e){return this._isDisposed?NullContext$1.INSTANCE:this.getContextValuesContainer(findContextAttr$1(e))}dispose(){super.dispose(),this._isDisposed=!0}},ContextKeyService$1=class extends AbstractContextKeyService$1{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new ConfigAwareContextValuesContainer$1(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?NullContext$1.INSTANCE:this._contexts.get(e)||NullContext$1.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new Context$5(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};ContextKeyService$1=__decorate$4v([__param$4l(0,IConfigurationService$1)],ContextKeyService$1);let ScopedContextKeyService$1=class extends AbstractContextKeyService$1{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new MutableDisposable$1),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR$1)){let i="";this._domNode.classList&&(i=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute".concat(i?": "+i:""))}this._domNode.setAttribute(KEYBINDING_CONTEXT_ATTR$1,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{const i=this._parent.getContextValuesContainer(this._myContextId).value;allEventKeysInContext$1(e,i)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(KEYBINDING_CONTEXT_ATTR$1),super.dispose())}getContextValuesContainer(e){return this._isDisposed?NullContext$1.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}};function findContextAttr$1(n){for(;n;){if(n.hasAttribute(KEYBINDING_CONTEXT_ATTR$1)){const e=n.getAttribute(KEYBINDING_CONTEXT_ATTR$1);return e?parseInt(e,10):NaN}n=n.parentElement}return 0}function setContext$1(n,e,t){n.get(IContextKeyService$1).createKey(String(e),stringifyURIs$1(t))}function stringifyURIs$1(n){return cloneAndChange$1(n,e=>{if(typeof e=="object"&&e.$mid===1)return URI$1.revive(e).toString();if(e instanceof URI$1)return e.toString()})}CommandsRegistry$1.registerCommand("_setContext",setContext$1);CommandsRegistry$1.registerCommand({id:"getContextKeyInfo",handler(){return[...RawContextKey$1.all()].sort((n,e)=>n.key.localeCompare(e.key))},metadata:{description:localize$1("getContextKeyInfo","A command that returns information about context keys"),args:[]}});CommandsRegistry$1.registerCommand("_generateContextKeyInfo",function(){const n=[],e=new Set;for(const t of RawContextKey$1.all())e.has(t.key)||(e.add(t.key),n.push(t));n.sort((t,i)=>t.key.localeCompare(i.key)),console.log(JSON.stringify(n,void 0,2))});let Node$6=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}},Graph$1=class{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);i.outgoing.set(r.key,r),r.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new Node$6(t,e),this._nodes.set(t,i)),i}isEmpty(){return this._nodes.size===0}toString(){const e=[];for(const[t,i]of this._nodes)e.push("".concat(t,"\n (-> incoming)[").concat([...i.incoming.keys()].join(", "),"]\n (outgoing ->)[").concat([...i.outgoing.keys()].join(","),"]\n"));return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),r=this._findCycle(t,i);if(r)return r}}_findCycle(e,t){for(const[i,r]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const g=this._findCycle(r,t);if(g)return g;t.delete(i)}}},ServiceCollection$1=class{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}get(e){return this._entries.get(e)}};const _enableAllTracing$1=!1;let CyclicDependencyError$1=class extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=(t=e.findCycleSlow())!=null?t:"UNABLE to detect cycle, dumping graph: \n".concat(e.toString())}},InstantiationService$1=class Ld{constructor(e=new ServiceCollection$1,t=!1,i,r=_enableAllTracing$1){var g;this._services=e,this._strict=t,this._parent=i,this._enableTracing=r,this._isDisposed=!1,this._servicesToMaybeDispose=new Set,this._children=new Set,this._activeInstantiations=new Set,this._services.set(IInstantiationService$1,this),this._globalGraph=r?(g=i==null?void 0:i._globalGraph)!=null?g:new Graph$1(y=>y):void 0}dispose(){if(!this._isDisposed){this._isDisposed=!0,dispose$1(this._children),this._children.clear();for(const e of this._servicesToMaybeDispose)isDisposable$1(e)&&e.dispose();this._servicesToMaybeDispose.clear()}}_throwIfDisposed(){if(this._isDisposed)throw new Error("InstantiationService has been disposed")}createChild(e,t){this._throwIfDisposed();const i=this,r=new class extends Ld{dispose(){i._children.delete(r),super.dispose()}}(e,this._strict,this,this._enableTracing);return this._children.add(r),t==null||t.add(r),r}invokeFunction(e,...t){this._throwIfDisposed();const i=Trace$1.traceInvocation(this._enableTracing,e);let r=!1;try{return e({get:y=>{if(r)throw illegalState$1("service accessor is only valid during the invocation of its target method");const k=this._getOrCreateServiceInstance(y,i);if(!k)throw new Error("[invokeFunction] unknown service '".concat(y,"'"));return k}},...t)}finally{r=!0,i.stop()}}createInstance(e,...t){this._throwIfDisposed();let i,r;return e instanceof SyncDescriptor$1?(i=Trace$1.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Trace$1.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,i)),i.stop(),r}_createInstance(e,t=[],i){const r=_util$1.getServiceDependencies(e).sort((k,L)=>k.index-L.index),g=[];for(const k of r){const L=this._getOrCreateServiceInstance(k.id,i);L||this._throwIfStrict("[createInstance] ".concat(e.name," depends on UNKNOWN service ").concat(k.id,"."),!1),g.push(L)}const y=r.length>0?r[0].index:t.length;if(t.length!==y){console.trace("[createInstance] First service dependency of ".concat(e.name," at position ").concat(y+1," conflicts with ").concat(t.length," static arguments"));const k=y-t.length;k>0?t=t.concat(new Array(k)):t=t.slice(0,y)}return Reflect.construct(e,t.concat(g))}_setCreatedServiceInstance(e,t){if(this._services.get(e)instanceof SyncDescriptor$1)this._services.set(e,t);else if(this._parent)this._parent._setCreatedServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof SyncDescriptor$1?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error("illegal state - RECURSIVELY instantiating service '".concat(e,"'"));this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){var L;const r=new Graph$1(V=>V.id.toString());let g=0;const y=[{id:e,desc:t,_trace:i}],k=new Set;for(;y.length;){const V=y.pop();if(!k.has(String(V.id))){if(k.add(String(V.id)),r.lookupOrInsertNode(V),g++>1e3)throw new CyclicDependencyError$1(r);for(const z of _util$1.getServiceDependencies(V.desc.ctor)){const j=this._getServiceInstanceOrDescriptor(z.id);if(j||this._throwIfStrict("[createInstance] ".concat(e," depends on ").concat(z.id," which is NOT registered."),!0),(L=this._globalGraph)==null||L.insertEdge(String(V.id),String(z.id)),j instanceof SyncDescriptor$1){const ie={id:z.id,desc:j,_trace:V._trace.branch(z.id,!0)};r.insertEdge(V,ie),y.push(ie)}}}}for(;;){const V=r.roots();if(V.length===0){if(!r.isEmpty())throw new CyclicDependencyError$1(r);break}for(const{data:z}of V){if(this._getServiceInstanceOrDescriptor(z.id)instanceof SyncDescriptor$1){const ie=this._createServiceInstanceWithOwner(z.id,z.desc.ctor,z.desc.staticArguments,z.desc.supportsDelayedInstantiation,z._trace);this._setCreatedServiceInstance(z.id,ie)}r.removeNode(z)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],r,g){if(this._services.get(e)instanceof SyncDescriptor$1)return this._createServiceInstance(e,t,i,r,g,this._servicesToMaybeDispose);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,r,g);throw new Error("illegalState - creating UNKNOWN service instance ".concat(t.name))}_createServiceInstance(e,t,i=[],r,g,y){if(r){const k=new Ld(void 0,this._strict,this,this._enableTracing);k._globalGraphImplicitDependency=String(e);const L=new Map,V=new GlobalIdleValue$1(()=>{const z=k._createInstance(t,i,g);for(const[j,ie]of L){const oe=z[j];if(typeof oe=="function")for(const re of ie)re.disposable=oe.apply(z,re.listener)}return L.clear(),y.add(z),z});return new Proxy(Object.create(null),{get(z,j){if(!V.isInitialized&&typeof j=="string"&&(j.startsWith("onDid")||j.startsWith("onWill"))){let re=L.get(j);return re||(re=new LinkedList$1,L.set(j,re)),(le,de,ue)=>{if(V.isInitialized)return V.value[j](le,de,ue);{const he={listener:[le,de,ue],disposable:void 0},pe=re.push(he);return toDisposable$1(()=>{var $e;pe(),($e=he.disposable)==null||$e.dispose()})}}}if(j in z)return z[j];const ie=V.value;let oe=ie[j];return typeof oe!="function"||(oe=oe.bind(ie),z[j]=oe),oe},set(z,j,ie){return V.value[j]=ie,!0},getPrototypeOf(z){return t.prototype}})}else{const k=this._createInstance(t,i,g);return y.add(k),k}}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}};var Yn;let Trace$1=(Yn=class{static traceInvocation(e,t){return e?new Yn(2,t.name||new Error().stack.split("\n").slice(3,4).join("\n")):Yn._None}static traceCreation(e,t){return e?new Yn(1,t.name):Yn._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new Yn(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;Yn._totals+=e;let t=!1;function i(g,y){const k=[],L=new Array(g+1).join(" ");for(const[V,z,j]of y._dep)if(z&&j){t=!0,k.push("".concat(L,"CREATES -> ").concat(V));const ie=i(g+1,j);ie&&k.push(ie)}else k.push("".concat(L,"uses -> ").concat(V));return k.join("\n")}const r=["".concat(this.type===1?"CREATE":"CALL"," ").concat(this.name),"".concat(i(1,this)),"DONE, took ".concat(e.toFixed(2),"ms (grand total ").concat(Yn._totals.toFixed(2),"ms)")];(e>2||t)&&Yn.all.add(r.join("\n"))}},Yn.all=new Set,Yn._None=new class extends Yn{constructor(){super(0,null)}stop(){}branch(){return this}},Yn._totals=0,Yn);const unsupportedSchemas$1=new Set([Schemas$1.inMemory,Schemas$1.vscodeSourceControl,Schemas$1.walkThrough,Schemas$1.walkThroughSnippet,Schemas$1.vscodeChatCodeBlock]);let DoubleResourceMap$1=class{constructor(){this._byResource=new ResourceMap$1,this._byOwner=new Map}set(e,t,i){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,i);let g=this._byOwner.get(t);g||(g=new ResourceMap$1,this._byOwner.set(t,g)),g.set(e,i)}get(e,t){const i=this._byResource.get(e);return i==null?void 0:i.get(t)}delete(e,t){let i=!1,r=!1;const g=this._byResource.get(e);g&&(i=g.delete(t));const y=this._byOwner.get(t);if(y&&(r=y.delete(e)),i!==r)throw new Error("illegal state");return i&&r}values(e){var t,i,r,g;return typeof e=="string"?(i=(t=this._byOwner.get(e))==null?void 0:t.values())!=null?i:Iterable$1.empty():URI$1.isUri(e)?(g=(r=this._byResource.get(e))==null?void 0:r.values())!=null?g:Iterable$1.empty():Iterable$1.map(Iterable$1.concat(...this._byOwner.values()),y=>y[1])}},MarkerStats$1=class{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new ResourceMap$1,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const r=this._resourceStats(t);this._add(r),this._data.set(t,r)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(unsupportedSchemas$1.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===MarkerSeverity$4.Error?t.errors+=1:i===MarkerSeverity$4.Warning?t.warnings+=1:i===MarkerSeverity$4.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}},MarkerService$1=class ls{constructor(){this._onMarkerChanged=new DebounceEmitter$1({delay:0,merge:ls._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new DoubleResourceMap$1,this._stats=new MarkerStats$1(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(isFalsyOrEmpty$1(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const r=[];for(const g of i){const y=ls._toMarker(e,t,g);y&&r.push(y)}this._data.set(t,e,r),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:r,severity:g,message:y,source:k,startLineNumber:L,startColumn:V,endLineNumber:z,endColumn:j,relatedInformation:ie,tags:oe}=i;if(y)return L=L>0?L:1,V=V>0?V:1,z=z>=L?z:L,j=j>0?j:V,{resource:t,owner:e,code:r,severity:g,message:y,source:k,startLineNumber:L,startColumn:V,endLineNumber:z,endColumn:j,relatedInformation:ie,tags:oe}}changeAll(e,t){const i=[],r=this._data.values(e);if(r)for(const g of r){const y=Iterable$1.first(g);y&&(i.push(y.resource),this._data.delete(y.resource,e))}if(isNonEmptyArray$1(t)){const g=new ResourceMap$1;for(const{resource:y,marker:k}of t){const L=ls._toMarker(e,y,k);if(!L)continue;const V=g.get(y);V?V.push(L):(g.set(y,[L]),i.push(y))}for(const[y,k]of g)this._data.set(y,e,k)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:r,take:g}=e;if((!g||g<0)&&(g=-1),t&&i){const y=this._data.get(i,t);if(y){const k=[];for(const L of y)if(ls._accept(L,r)){const V=k.push(L);if(g>0&&V===g)break}return k}else return[]}else if(!t&&!i){const y=[];for(const k of this._data.values())for(const L of k)if(ls._accept(L,r)){const V=y.push(L);if(g>0&&V===g)return y}return y}else{const y=this._data.values(i!=null?i:t),k=[];for(const L of y)for(const V of L)if(ls._accept(V,r)){const z=k.push(V);if(g>0&&z===g)return k}return k}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new ResourceMap$1;for(const i of e)for(const r of i)t.set(r,!0);return Array.from(t.keys())}},DefaultConfiguration$1=class extends Disposable$1{get configurationModel(){return this._configurationModel}constructor(e){super(),this.logService=e,this._configurationModel=ConfigurationModel$1.createEmptyModel(this.logService)}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=ConfigurationModel$1.createEmptyModel(this.logService);const e=Registry$1.as(Extensions$g.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const r of e){const g=i[r],y=t[r];g!==void 0?this._configurationModel.setValue(r,g):y?this._configurationModel.setValue(r,y.default):this._configurationModel.removeValue(r)}}};const IAccessibilitySignalService$1=createDecorator$1("accessibilitySignalService");var xn;let Sound$1=(xn=class{static register(e){return new xn(e.fileName)}constructor(e){this.fileName=e}},xn.error=xn.register({fileName:"error.mp3"}),xn.warning=xn.register({fileName:"warning.mp3"}),xn.success=xn.register({fileName:"success.mp3"}),xn.foldedArea=xn.register({fileName:"foldedAreas.mp3"}),xn.break=xn.register({fileName:"break.mp3"}),xn.quickFixes=xn.register({fileName:"quickFixes.mp3"}),xn.taskCompleted=xn.register({fileName:"taskCompleted.mp3"}),xn.taskFailed=xn.register({fileName:"taskFailed.mp3"}),xn.terminalBell=xn.register({fileName:"terminalBell.mp3"}),xn.diffLineInserted=xn.register({fileName:"diffLineInserted.mp3"}),xn.diffLineDeleted=xn.register({fileName:"diffLineDeleted.mp3"}),xn.diffLineModified=xn.register({fileName:"diffLineModified.mp3"}),xn.chatRequestSent=xn.register({fileName:"chatRequestSent.mp3"}),xn.chatResponseReceived1=xn.register({fileName:"chatResponseReceived1.mp3"}),xn.chatResponseReceived2=xn.register({fileName:"chatResponseReceived2.mp3"}),xn.chatResponseReceived3=xn.register({fileName:"chatResponseReceived3.mp3"}),xn.chatResponseReceived4=xn.register({fileName:"chatResponseReceived4.mp3"}),xn.clear=xn.register({fileName:"clear.mp3"}),xn.save=xn.register({fileName:"save.mp3"}),xn.format=xn.register({fileName:"format.mp3"}),xn.voiceRecordingStarted=xn.register({fileName:"voiceRecordingStarted.mp3"}),xn.voiceRecordingStopped=xn.register({fileName:"voiceRecordingStopped.mp3"}),xn.progress=xn.register({fileName:"progress.mp3"}),xn),SoundSource$1=class{constructor(e){this.randomOneOf=e}};var $n;let AccessibilitySignal$1=($n=class{constructor(e,t,i,r,g,y){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=r,this.legacyAnnouncementSettingsKey=g,this.announcementMessage=y}static register(e){const t=new SoundSource$1("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new $n(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return $n._signals.add(i),i}},$n._signals=new Set,$n.errorAtPosition=$n.register({name:localize$1("accessibilitySignals.positionHasError.name","Error at Position"),sound:Sound$1.error,announcementMessage:localize$1("accessibility.signals.positionHasError","Error"),settingsKey:"accessibility.signals.positionHasError",delaySettingsKey:"accessibility.signalOptions.delays.errorAtPosition"}),$n.warningAtPosition=$n.register({name:localize$1("accessibilitySignals.positionHasWarning.name","Warning at Position"),sound:Sound$1.warning,announcementMessage:localize$1("accessibility.signals.positionHasWarning","Warning"),settingsKey:"accessibility.signals.positionHasWarning",delaySettingsKey:"accessibility.signalOptions.delays.warningAtPosition"}),$n.errorOnLine=$n.register({name:localize$1("accessibilitySignals.lineHasError.name","Error on Line"),sound:Sound$1.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:localize$1("accessibility.signals.lineHasError","Error on Line"),settingsKey:"accessibility.signals.lineHasError"}),$n.warningOnLine=$n.register({name:localize$1("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:Sound$1.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:localize$1("accessibility.signals.lineHasWarning","Warning on Line"),settingsKey:"accessibility.signals.lineHasWarning"}),$n.foldedArea=$n.register({name:localize$1("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:Sound$1.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:localize$1("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"}),$n.break=$n.register({name:localize$1("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:Sound$1.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:localize$1("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"}),$n.inlineSuggestion=$n.register({name:localize$1("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Sound$1.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"}),$n.terminalQuickFix=$n.register({name:localize$1("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:Sound$1.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:localize$1("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"}),$n.onDebugBreak=$n.register({name:localize$1("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:Sound$1.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:localize$1("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"}),$n.noInlayHints=$n.register({name:localize$1("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:Sound$1.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:localize$1("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"}),$n.taskCompleted=$n.register({name:localize$1("accessibilitySignals.taskCompleted","Task Completed"),sound:Sound$1.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:localize$1("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"}),$n.taskFailed=$n.register({name:localize$1("accessibilitySignals.taskFailed","Task Failed"),sound:Sound$1.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:localize$1("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"}),$n.terminalCommandFailed=$n.register({name:localize$1("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:Sound$1.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:localize$1("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"}),$n.terminalCommandSucceeded=$n.register({name:localize$1("accessibilitySignals.terminalCommandSucceeded","Terminal Command Succeeded"),sound:Sound$1.success,announcementMessage:localize$1("accessibility.signals.terminalCommandSucceeded","Command Succeeded"),settingsKey:"accessibility.signals.terminalCommandSucceeded"}),$n.terminalBell=$n.register({name:localize$1("accessibilitySignals.terminalBell","Terminal Bell"),sound:Sound$1.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:localize$1("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"}),$n.notebookCellCompleted=$n.register({name:localize$1("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:Sound$1.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:localize$1("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"}),$n.notebookCellFailed=$n.register({name:localize$1("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:Sound$1.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:localize$1("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"}),$n.diffLineInserted=$n.register({name:localize$1("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:Sound$1.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"}),$n.diffLineDeleted=$n.register({name:localize$1("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:Sound$1.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"}),$n.diffLineModified=$n.register({name:localize$1("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:Sound$1.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"}),$n.chatRequestSent=$n.register({name:localize$1("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:Sound$1.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:localize$1("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"}),$n.chatResponseReceived=$n.register({name:localize$1("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[Sound$1.chatResponseReceived1,Sound$1.chatResponseReceived2,Sound$1.chatResponseReceived3,Sound$1.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"}),$n.progress=$n.register({name:localize$1("accessibilitySignals.progress","Progress"),sound:Sound$1.progress,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.progress",announcementMessage:localize$1("accessibility.signals.progress","Progress"),settingsKey:"accessibility.signals.progress"}),$n.clear=$n.register({name:localize$1("accessibilitySignals.clear","Clear"),sound:Sound$1.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:localize$1("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"}),$n.save=$n.register({name:localize$1("accessibilitySignals.save","Save"),sound:Sound$1.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:localize$1("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"}),$n.format=$n.register({name:localize$1("accessibilitySignals.format","Format"),sound:Sound$1.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:localize$1("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"}),$n.voiceRecordingStarted=$n.register({name:localize$1("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:Sound$1.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"}),$n.voiceRecordingStopped=$n.register({name:localize$1("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:Sound$1.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"}),$n),LogService$1=class extends Disposable$1{constructor(e,t=[]){super(),this.logger=new MultiplexLogger$1([e,...t]),this._register(e.onDidChangeLogLevel(i=>this.setLevel(i)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}};const editorFeatures$1=[];function registerEditorFeature$1(n){editorFeatures$1.push(n)}function getEditorFeatures$1(){return editorFeatures$1.slice(0)}class StandaloneTreeSitterParserService{getParseResult(e){}}var __decorate$4u=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4k=function(n,e){return function(t,i){e(t,i,n)}};let SimpleModel$1=class{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new Emitter$3}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}},StandaloneTextModelService$1=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new ImmortalReference$1(new SimpleModel$1(t))):Promise.reject(new Error("Model not found"))}};StandaloneTextModelService$1=__decorate$4u([__param$4k(0,IModelService$1)],StandaloneTextModelService$1);var Ys;let StandaloneEditorProgressService$1=(Ys=class{show(){return Ys.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}},Ys.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}},Ys),StandaloneProgressService$1=class{withProgress(e,t,i){return t({report:()=>{}})}},StandaloneEnvironmentService$1=class{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}},StandaloneDialogService$1=class{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+"\n\n"+t),mainWindow$1.confirm(i)}async prompt(e){var r,g;let t;if(this.doConfirm(e.message,e.detail)){const y=[...(r=e.buttons)!=null?r:[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&y.push(e.cancelButton),t=await((g=y[0])==null?void 0:g.run({checkboxChecked:!1}))}return{result:t}}async error(e,t){await this.prompt({type:Severity$5.Error,message:e,detail:t})}};var Mr;let StandaloneNotificationService$1=(Mr=class{info(e){return this.notify({severity:Severity$5.Info,message:e})}warn(e){return this.notify({severity:Severity$5.Warning,message:e})}error(e){return this.notify({severity:Severity$5.Error,message:e})}notify(e){switch(e.severity){case Severity$5.Error:console.error(e.message);break;case Severity$5.Warning:console.warn(e.message);break;default:console.log(e.message);break}return Mr.NO_OP}prompt(e,t,i,r){return Mr.NO_OP}status(e,t){return Disposable$1.None}},Mr.NO_OP=new NoOpNotification$1,Mr),StandaloneCommandService$1=class{constructor(e){this._onWillExecuteCommand=new Emitter$3,this._onDidExecuteCommand=new Emitter$3,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=CommandsRegistry$1.getCommand(e);if(!i)return Promise.reject(new Error("command '".concat(e,"' not found")));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const r=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(r){return Promise.reject(r)}}};StandaloneCommandService$1=__decorate$4u([__param$4k(0,IInstantiationService$1)],StandaloneCommandService$1);let StandaloneKeybindingService$1=class extends AbstractKeybindingService$1{constructor(e,t,i,r,g,y){super(e,t,i,r,g),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const k=oe=>{const re=new DisposableStore$1;re.add(addDisposableListener$1(oe,EventType$3.KEY_DOWN,ae=>{const le=new StandardKeyboardEvent$1(ae);this._dispatch(le,le.target)&&(le.preventDefault(),le.stopPropagation())})),re.add(addDisposableListener$1(oe,EventType$3.KEY_UP,ae=>{const le=new StandardKeyboardEvent$1(ae);this._singleModifierDispatch(le,le.target)&&le.preventDefault()})),this._domNodeListeners.push(new DomNodeListeners$1(oe,re))},L=oe=>{for(let re=0;re{oe.getOption(61)||k(oe.getContainerDomNode())},z=oe=>{oe.getOption(61)||L(oe.getContainerDomNode())};this._register(y.onCodeEditorAdd(V)),this._register(y.onCodeEditorRemove(z)),y.listCodeEditors().forEach(V);const j=oe=>{k(oe.getContainerDomNode())},ie=oe=>{L(oe.getContainerDomNode())};this._register(y.onDiffEditorAdd(j)),this._register(y.onDiffEditorRemove(ie)),y.listDiffEditors().forEach(j)}addDynamicKeybinding(e,t,i,r){return combinedDisposable$1(CommandsRegistry$1.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){const t=e.map(i=>{var g;return{keybinding:decodeKeybinding$1(i.keybinding,OS$1),command:(g=i.command)!=null?g:null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}});return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),toDisposable$1(()=>{for(let i=0;ithis._log(i))}return this._cachedResolver}_documentHasFocus(){return mainWindow$1.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let r=0;for(const g of e){const y=g.when||void 0,k=g.keybinding;if(!k)i[r++]=new ResolvedKeybindingItem$1(void 0,g.command,g.commandArgs,y,t,null,!1);else{const L=USLayoutResolvedKeybinding$1.resolveKeybinding(k,OS$1);for(const V of L)i[r++]=new ResolvedKeybindingItem$1(V,g.command,g.commandArgs,y,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new KeyCodeChord$1(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new USLayoutResolvedKeybinding$1([t],OS$1)}};StandaloneKeybindingService$1=__decorate$4u([__param$4k(0,IContextKeyService$1),__param$4k(1,ICommandService$1),__param$4k(2,ITelemetryService$1),__param$4k(3,INotificationService$1),__param$4k(4,ILogService$1),__param$4k(5,ICodeEditorService$1)],StandaloneKeybindingService$1);let DomNodeListeners$1=class extends Disposable$1{constructor(e,t){super(),this.domNode=e,this._register(t)}};function isConfigurationOverrides$1(n){return n&&typeof n=="object"&&(!n.overrideIdentifier||typeof n.overrideIdentifier=="string")&&(!n.resource||n.resource instanceof URI$1)}let StandaloneConfigurationService$1=class{constructor(e){this.logService=e,this._onDidChangeConfiguration=new Emitter$3,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const t=new DefaultConfiguration$1(e);this._configuration=new Configuration$1(t.reload(),ConfigurationModel$1.createEmptyModel(e),ConfigurationModel$1.createEmptyModel(e),ConfigurationModel$1.createEmptyModel(e),ConfigurationModel$1.createEmptyModel(e),ConfigurationModel$1.createEmptyModel(e),new ResourceMap$1,ConfigurationModel$1.createEmptyModel(e),new ResourceMap$1,e),t.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,r=isConfigurationOverrides$1(e)?e:isConfigurationOverrides$1(t)?t:{};return this._configuration.getValue(i,r,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const r of e){const[g,y]=r;this.getValue(g)!==y&&(this._configuration.updateValue(g,y),i.push(g))}if(i.length>0){const r=new ConfigurationChangeEvent$1({keys:i,overrides:[]},t,this._configuration,void 0,this.logService);r.source=8,this._onDidChangeConfiguration.fire(r)}return Promise.resolve()}updateValue(e,t,i,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}};StandaloneConfigurationService$1=__decorate$4u([__param$4k(0,ILogService$1)],StandaloneConfigurationService$1);let StandaloneResourceConfigurationService$1=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new Emitter$3,this.configurationService.onDidChangeConfiguration(r=>{this._onDidChangeConfiguration.fire({affectedKeys:r.affectedKeys,affectsConfiguration:(g,y)=>r.affectsConfiguration(y)})})}getValue(e,t,i){const r=Position$3.isIPosition(t)?t:null,g=r?typeof i=="string"?i:void 0:typeof t=="string"?t:void 0,y=e?this.getLanguage(e,r):void 0;return typeof g>"u"?this.configurationService.getValue({resource:e,overrideIdentifier:y}):this.configurationService.getValue(g,{resource:e,overrideIdentifier:y})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};StandaloneResourceConfigurationService$1=__decorate$4u([__param$4k(0,IConfigurationService$1),__param$4k(1,IModelService$1),__param$4k(2,ILanguageService$1)],StandaloneResourceConfigurationService$1);let StandaloneResourcePropertiesService$1=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&typeof i=="string"&&i!=="auto"?i:isLinux$1||isMacintosh$1?"\n":"\r\n"}};StandaloneResourcePropertiesService$1=__decorate$4u([__param$4k(0,IConfigurationService$1)],StandaloneResourcePropertiesService$1);let StandaloneTelemetryService$1=class{publicLog2(){}};var Ar;let StandaloneWorkspaceContextService$1=(Ar=class{constructor(){const e=URI$1.from({scheme:Ar.SCHEME,authority:"model",path:"/"});this.workspace={id:STANDALONE_EDITOR_WORKSPACE_ID$1,folders:[new WorkspaceFolder$1({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===Ar.SCHEME?this.workspace.folders[0]:null}},Ar.SCHEME="inmemory",Ar);function updateConfigurationService$1(n,e,t){if(!e||!(n instanceof StandaloneConfigurationService$1))return;const i=[];Object.keys(e).forEach(r=>{isEditorConfigurationKey$1(r)&&i.push(["editor.".concat(r),e[r]]),t&&isDiffEditorConfigurationKey$1(r)&&i.push(["diffEditor.".concat(r),e[r]])}),i.length>0&&n.updateValues(i)}let StandaloneBulkEditService$1=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:ResourceEdit$1.convert(e),r=new Map;for(const k of i){if(!(k instanceof ResourceTextEdit$1))throw new Error("bad edit - only text edits are supported");const L=this._modelService.getModel(k.resource);if(!L)throw new Error("bad edit - model not found");if(typeof k.versionId=="number"&&L.getVersionId()!==k.versionId)throw new Error("bad state - model changed in the meantime");let V=r.get(L);V||(V=[],r.set(L,V)),V.push(EditOperation$1.replaceMove(Range$5.lift(k.textEdit.range),k.textEdit.text))}let g=0,y=0;for(const[k,L]of r)k.pushStackElement(),k.pushEditOperations([],L,()=>[]),k.pushStackElement(),y+=1,g+=L.length;return{ariaSummary:format$2(StandaloneServicesNLS$1.bulkEditServiceSummary,g,y),isApplied:g>0}}};StandaloneBulkEditService$1=__decorate$4u([__param$4k(0,IModelService$1)],StandaloneBulkEditService$1);let StandaloneUriLabelService$1=class{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return basename$2(e)}},StandaloneContextViewService$1=class extends ContextViewService$1{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const r=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();r&&(t=r.getContainerDomNode())}return super.showContextView(e,t,i)}};StandaloneContextViewService$1=__decorate$4u([__param$4k(0,ILayoutService$1),__param$4k(1,ICodeEditorService$1)],StandaloneContextViewService$1);let StandaloneWorkspaceTrustManagementService$1=class{constructor(){this._neverEmitter=new Emitter$3,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}},StandaloneLanguageService$1=class extends LanguageService$1{constructor(){super()}},StandaloneLogService$1=class extends LogService$1{constructor(){super(new ConsoleLogger$1)}},StandaloneContextMenuService$1=class extends ContextMenuService$1{constructor(e,t,i,r,g,y){super(e,t,i,r,g,y),this.configure({blockMouse:!1})}};StandaloneContextMenuService$1=__decorate$4u([__param$4k(0,ITelemetryService$1),__param$4k(1,INotificationService$1),__param$4k(2,IContextViewService$1),__param$4k(3,IKeybindingService$1),__param$4k(4,IMenuService$1),__param$4k(5,IContextKeyService$1)],StandaloneContextMenuService$1);const standaloneEditorWorkerDescriptor={amdModuleId:"vs/editor/common/services/editorSimpleWorker",esmModuleLocation:void 0,label:"editorWorkerService"};let StandaloneEditorWorkerService=class extends EditorWorkerService$1{constructor(e,t,i,r,g){super(standaloneEditorWorkerDescriptor,e,t,i,r,g)}};StandaloneEditorWorkerService=__decorate$4u([__param$4k(0,IModelService$1),__param$4k(1,ITextResourceConfigurationService$1),__param$4k(2,ILogService$1),__param$4k(3,ILanguageConfigurationService$1),__param$4k(4,ILanguageFeaturesService$1)],StandaloneEditorWorkerService);let StandaloneAccessbilitySignalService$1=class{async playSignal(e,t){}};registerSingleton$1(ILogService$1,StandaloneLogService$1,0);registerSingleton$1(IConfigurationService$1,StandaloneConfigurationService$1,0);registerSingleton$1(ITextResourceConfigurationService$1,StandaloneResourceConfigurationService$1,0);registerSingleton$1(ITextResourcePropertiesService$1,StandaloneResourcePropertiesService$1,0);registerSingleton$1(IWorkspaceContextService$1,StandaloneWorkspaceContextService$1,0);registerSingleton$1(ILabelService$1,StandaloneUriLabelService$1,0);registerSingleton$1(ITelemetryService$1,StandaloneTelemetryService$1,0);registerSingleton$1(IDialogService$1,StandaloneDialogService$1,0);registerSingleton$1(IEnvironmentService$1,StandaloneEnvironmentService$1,0);registerSingleton$1(INotificationService$1,StandaloneNotificationService$1,0);registerSingleton$1(IMarkerService$1,MarkerService$1,0);registerSingleton$1(ILanguageService$1,StandaloneLanguageService$1,0);registerSingleton$1(IStandaloneThemeService$1,StandaloneThemeService$1,0);registerSingleton$1(IModelService$1,ModelService$1,0);registerSingleton$1(IMarkerDecorationsService$1,MarkerDecorationsService$1,0);registerSingleton$1(IContextKeyService$1,ContextKeyService$1,0);registerSingleton$1(IProgressService$1,StandaloneProgressService$1,0);registerSingleton$1(IEditorProgressService$1,StandaloneEditorProgressService$1,0);registerSingleton$1(IStorageService$1,InMemoryStorageService$1,0);registerSingleton$1(IEditorWorkerService$1,StandaloneEditorWorkerService,0);registerSingleton$1(IBulkEditService$1,StandaloneBulkEditService$1,0);registerSingleton$1(IWorkspaceTrustManagementService$1,StandaloneWorkspaceTrustManagementService$1,0);registerSingleton$1(ITextModelService$1,StandaloneTextModelService$1,0);registerSingleton$1(IAccessibilityService$1,AccessibilityService$1,0);registerSingleton$1(IListService$1,ListService$1,0);registerSingleton$1(ICommandService$1,StandaloneCommandService$1,0);registerSingleton$1(IKeybindingService$1,StandaloneKeybindingService$1,0);registerSingleton$1(IQuickInputService$1,StandaloneQuickInputService$1,0);registerSingleton$1(IContextViewService$1,StandaloneContextViewService$1,0);registerSingleton$1(IOpenerService$1,OpenerService$1,0);registerSingleton$1(IClipboardService$1,BrowserClipboardService$1,0);registerSingleton$1(IContextMenuService$1,StandaloneContextMenuService$1,0);registerSingleton$1(IMenuService$1,MenuService$1,0);registerSingleton$1(IAccessibilitySignalService$1,StandaloneAccessbilitySignalService$1,0);registerSingleton$1(ITreeSitterParserService,StandaloneTreeSitterParserService,0);var StandaloneServices$1;(function(n){const e=new ServiceCollection$1;for(const[L,V]of getSingletonServiceDescriptors$1())e.set(L,V);const t=new InstantiationService$1(e,!0);e.set(IInstantiationService$1,t);function i(L){r||y({});const V=e.get(L);if(!V)throw new Error("Missing service "+L);return V instanceof SyncDescriptor$1?t.invokeFunction(z=>z.get(L)):V}n.get=i;let r=!1;const g=new Emitter$3;function y(L){if(r)return t;r=!0;for(const[z,j]of getSingletonServiceDescriptors$1())e.get(z)||e.set(z,j);for(const z in L)if(L.hasOwnProperty(z)){const j=createDecorator$1(z);e.get(j)instanceof SyncDescriptor$1&&e.set(j,L[z])}const V=getEditorFeatures$1();for(const z of V)try{t.createInstance(z)}catch(j){onUnexpectedError$1(j)}return g.fire(),t}n.initialize=y;function k(L){if(r)return L();const V=new DisposableStore$1,z=V.add(g.event(()=>{z.dispose(),V.add(L())}));return V}n.withServices=k})(StandaloneServices$1||(StandaloneServices$1={}));function createWebWorker$3(n,e){return new MonacoWebWorkerImpl$1(n,e)}let MonacoWebWorkerImpl$1=class extends EditorWorkerClient$1{constructor(e,t){const i={amdModuleId:standaloneEditorWorkerDescriptor.amdModuleId,esmModuleLocation:standaloneEditorWorkerDescriptor.esmModuleLocation,label:t.label};super(i,t.keepIdleModels||!1,e),this._foreignModuleId=t.moduleId,this._foreignModuleCreateData=t.createData||null,this._foreignModuleHost=t.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?getAllMethodNames$1(this._foreignModuleHost):[];return e.$loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const r=(k,L)=>e.$fmr(k,L),g=(k,L)=>function(){const V=Array.prototype.slice.call(arguments,0);return L(k,V)},y={};for(const k of i)y[k]=g(k,r);return y})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this.workerWithSyncedResources(e).then(t=>this.getProxy())}};const EditorType$1={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"};let LineDecoration$1=class yc{constructor(e,t,i,r){this.startColumn=e,this.endColumn=t,this.className=i,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,r=t.length;if(i!==r)return!1;for(let g=0;g=g||(k[L++]=new yc(Math.max(1,V.startColumn-r+1),Math.min(y+1,V.endColumn-r+1),V.className,V.type));return k}static filter(e,t,i,r){if(e.length===0)return[];const g=[];let y=0;for(let k=0,L=e.length;kt||z.isEmpty()&&(V.type===0||V.type===3))continue;const j=z.startLineNumber===t?z.startColumn:i,ie=z.endLineNumber===t?z.endColumn:r;g[y++]=new yc(j,ie,V.inlineClassName,V.type)}return g}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=yc._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,i);break}this.count++}},LineDecorationsNormalizer$1=class{static normalize(e,t){if(t.length===0)return[];const i=[],r=new Stack$2;let g=0;for(let y=0,k=t.length;y1){const ae=e.charCodeAt(V-2);isHighSurrogate$1(ae)&&V--}if(z>1){const ae=e.charCodeAt(z-2);isHighSurrogate$1(ae)&&z--}const oe=V-1,re=z-2;g=r.consumeLowerThan(oe,g,i),r.count===0&&(g=oe),r.insert(re,j,ie)}return r.consumeLowerThan(1073741824,g,i),i}},LinePart$1=class{constructor(e,t,i,r){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},LineRange$2=class{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}},RenderLineInput$1=class{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le,de,ue,he){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=r,this.isBasicASCII=g,this.containsRTL=y,this.fauxIndentLength=k,this.lineTokens=L,this.lineDecorations=V.sort(LineDecoration$1.compare),this.tabSize=z,this.startVisibleColumn=j,this.spaceWidth=ie,this.stopRenderingLineAfter=ae,this.renderWhitespace=le==="all"?4:le==="boundary"?1:le==="selection"?2:le==="trailing"?3:0,this.renderControlCharacters=de,this.fontLigatures=ue,this.selectionsOnLine=he&&he.sort(($e,xe)=>$e.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,r){const g=(t<<16|i<<0)>>>0;this._data[e-1]=g,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=cs.getPartIndex(t),r=cs.getCharIndex(t);return new DomPosition$1(i,r)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const r=(e<<16|i<<0)>>>0;let g=0,y=this.length-1;for(;g+1>>1,le=this._data[ae];if(le===r)return ae;le>r?y=ae:g=ae}if(g===y)return g;const k=this._data[g],L=this._data[y];if(k===r)return g;if(L===r)return y;const V=cs.getPartIndex(k),z=cs.getCharIndex(k),j=cs.getPartIndex(L);let ie;V!==j?ie=t:ie=cs.getCharIndex(L);const oe=i-z,re=ie-i;return oe<=re?g:y}},RenderLineOutput$1=class{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}};function renderViewLine$1(n,e){if(n.lineContent.length===0){if(n.lineDecorations.length>0){e.appendString("");let t=0,i=0,r=0;for(const y of n.lineDecorations)(y.type===1||y.type===2)&&(e.appendString(''),y.type===1&&(r|=1,t++),y.type===2&&(r|=2,i++));e.appendString("");const g=new CharacterMapping$1(1,t+i);return g.setColumnInfo(1,t,0,0),new RenderLineOutput$1(g,!1,r)}return e.appendString(""),new RenderLineOutput$1(new CharacterMapping$1(0,0),!1,0)}return _renderLine$1(resolveRenderLineInput$1(n),e)}let RenderLineOutput2$1=class{constructor(e,t,i,r){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=r}};function renderViewLine2$1(n){const e=new StringBuilder$1(1e4),t=renderViewLine$1(n,e);return new RenderLineOutput2$1(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}let ResolvedRenderLineInput$1=class{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=r,this.isOverflowing=g,this.overflowingCharCount=y,this.parts=k,this.containsForeignElements=L,this.fauxIndentLength=V,this.tabSize=z,this.startVisibleColumn=j,this.containsRTL=ie,this.spaceWidth=oe,this.renderSpaceCharCode=re,this.renderWhitespace=ae,this.renderControlCharacters=le}};function resolveRenderLineInput$1(n){const e=n.lineContent;let t,i,r;n.stopRenderingLineAfter!==-1&&n.stopRenderingLineAfter0){for(let k=0,L=n.lineDecorations.length;k0&&(g[y++]=new LinePart$1(i,"",0,!1));let k=i;for(let L=0,V=t.getCount();L=r){const oe=e?containsRTL$1(n.substring(k,r)):!1;g[y++]=new LinePart$1(r,j,0,oe);break}const ie=e?containsRTL$1(n.substring(k,z)):!1;g[y++]=new LinePart$1(z,j,0,ie),k=z}return g}function splitLargeTokens$1(n,e,t){let i=0;const r=[];let g=0;if(t)for(let y=0,k=e.length;y=50&&(r[g++]=new LinePart$1(oe+1,z,j,ie),re=oe+1,oe=-1);re!==V&&(r[g++]=new LinePart$1(V,z,j,ie))}else r[g++]=L;i=V}else for(let y=0,k=e.length;y50){const j=L.type,ie=L.metadata,oe=L.containsRTL,re=Math.ceil(z/50);for(let ae=1;ae=8234&&n<=8238||n>=8294&&n<=8297||n>=8206&&n<=8207||n===1564}function extractControlCharacters$1(n,e){const t=[];let i=new LinePart$1(0,"",0,!1),r=0;for(const g of e){const y=g.endIndex;for(;ri.endIndex&&(i=new LinePart$1(r,g.type,g.metadata,g.containsRTL),t.push(i)),i=new LinePart$1(r+1,"mtkcontrol",g.metadata,!1),t.push(i))}r>i.endIndex&&(i=new LinePart$1(y,g.type,g.metadata,g.containsRTL),t.push(i))}return t}function _applyRenderWhitespace$1(n,e,t,i){const r=n.continuesWithWrappedLine,g=n.fauxIndentLength,y=n.tabSize,k=n.startVisibleColumn,L=n.useMonospaceOptimizations,V=n.selectionsOnLine,z=n.renderWhitespace===1,j=n.renderWhitespace===3,ie=n.renderSpaceWidth!==n.spaceWidth,oe=[];let re=0,ae=0,le=i[ae].type,de=i[ae].containsRTL,ue=i[ae].endIndex;const he=i.length;let pe=!1,Ce=firstNonWhitespaceIndex$1(e),$e;Ce===-1?(pe=!0,Ce=t,$e=t):$e=lastNonWhitespaceIndex$1(e);let xe=!1,Ie=0,Ne=V&&V[Ie],Fe=k%y;for(let Oe=g;Oe=Ne.endOffset&&(Ie++,Ne=V&&V[Ie]);let qe;if(Oe$e)qe=!0;else if(ze===9)qe=!0;else if(ze===32)if(z)if(xe)qe=!0;else{const Ue=Oe+1Oe),qe&&j&&(qe=pe||Oe>$e),qe&&de&&Oe>=Ce&&Oe<=$e&&(qe=!1),xe){if(!qe||!L&&Fe>=y){if(ie){const Ue=re>0?oe[re-1].endIndex:g;for(let Et=Ue+1;Et<=Oe;Et++)oe[re++]=new LinePart$1(Et,"mtkw",1,!1)}else oe[re++]=new LinePart$1(Oe,"mtkw",1,!1);Fe=Fe%y}}else(Oe===ue||qe&&Oe>g)&&(oe[re++]=new LinePart$1(Oe,le,0,de),Fe=Fe%y);for(ze===9?Fe=y:isFullWidthCharacter$1(ze)?Fe+=2:Fe++,xe=qe;Oe===ue&&(ae++,ae0?e.charCodeAt(t-1):0,ze=t>1?e.charCodeAt(t-2):0;Oe===32&&ze!==32&&ze!==9||(Ve=!0)}else Ve=!0;if(Ve)if(ie){const Oe=re>0?oe[re-1].endIndex:g;for(let ze=Oe+1;ze<=t;ze++)oe[re++]=new LinePart$1(ze,"mtkw",1,!1)}else oe[re++]=new LinePart$1(t,"mtkw",1,!1);else oe[re++]=new LinePart$1(t,le,0,de);return oe}function _applyInlineDecorations$1(n,e,t,i){i.sort(LineDecoration$1.compare);const r=LineDecorationsNormalizer$1.normalize(n,i),g=r.length;let y=0;const k=[];let L=0,V=0;for(let j=0,ie=t.length;jV&&(V=ue.startOffset,k[L++]=new LinePart$1(V,ae,le,de)),ue.endOffset+1<=re)V=ue.endOffset+1,k[L++]=new LinePart$1(V,ae+" "+ue.className,le|ue.metadata,de),y++;else{V=re,k[L++]=new LinePart$1(V,ae+" "+ue.className,le|ue.metadata,de);break}}re>V&&(V=re,k[L++]=new LinePart$1(V,ae,le,de))}const z=t[t.length-1].endIndex;if(y'):e.appendString("");for(let Ne=0,Fe=V.length;Ne=z&&(ei+=ri)}}for(Et&&(e.appendString(' style="width:'),e.appendString(String(re*Lt)),e.appendString('px"')),e.appendASCIICharCode(62);pe1?e.appendCharCode(8594):e.appendCharCode(65515);for(let ri=2;ri<=jt;ri++)e.appendCharCode(160)}else ei=2,jt=1,e.appendCharCode(ae),e.appendCharCode(8204);$e+=ei,xe+=jt,pe>=z&&(Ce+=jt)}}else for(e.appendASCIICharCode(62);pe=z&&(Ce+=ei)}At?Ie++:Ie=0,pe>=y&&!he&&Ve.isPseudoAfter()&&(he=!0,ue.setColumnInfo(pe+1,Ne,$e,xe)),e.appendString("")}return he||ue.setColumnInfo(y+1,V.length-1,$e,xe),k&&(e.appendString(''),e.appendString(localize$1("showMore","Show more ({0})",renderOverflowingCharCount$1(L))),e.appendString("")),e.appendString(""),new RenderLineOutput$1(ue,oe,r)}function to4CharHex$1(n){return n.toString(16).toUpperCase().padStart(4,"0")}function renderOverflowingCharCount$1(n){return n<1024?localize$1("overflow.chars","{0} chars",n):n<1024*1024?"".concat((n/1024).toFixed(1)," KB"):"".concat((n/1024/1024).toFixed(1)," MB")}let Viewport$1=class{constructor(e,t,i,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=r|0}},MinimapLinesRenderingData$1=class{constructor(e,t){this.tabSize=e,this.data=t}},ViewLineData$1=class{constructor(e,t,i,r,g,y,k){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=r,this.startVisibleColumn=g,this.tokens=y,this.inlineDecorations=k}},ViewLineRenderingData$1=class Dd{constructor(e,t,i,r,g,y,k,L,V,z){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=r,this.isBasicASCII=Dd.isBasicASCII(i,y),this.containsRTL=Dd.containsRTL(i,this.isBasicASCII,g),this.tokens=k,this.inlineDecorations=L,this.tabSize=V,this.startVisibleColumn=z}static isBasicASCII(e,t){return t?isBasicASCII$1(e):!0}static containsRTL(e,t,i){return!t&&i?containsRTL$1(e):!1}},InlineDecoration$1=class{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}},SingleLineInlineDecoration$1=class{constructor(e,t,i,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new InlineDecoration$1(new Range$5(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}},ViewModelDecoration$1=class{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}},OverviewRulerDecorationsGroup$1=class lh{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&equals$5(e.data,t.data)}static equalsArr(e,t){return equals$5(e,t,lh.equals)}};function isFuzzyActionArr$1(n){return Array.isArray(n)}function isFuzzyAction$1(n){return!isFuzzyActionArr$1(n)}function isString$6(n){return typeof n=="string"}function isIAction$1(n){return!isString$6(n)}function empty$1(n){return!n}function fixCase$1(n,e){return n.ignoreCase&&e?e.toLowerCase():e}function sanitize$2(n){return n.replace(/[&<>'"_]/g,"-")}function log$1(n,e){console.log("".concat(n.languageId,": ").concat(e))}function createError$1(n,e){return new Error("".concat(n.languageId,": ").concat(e))}function substituteMatches$1(n,e,t,i,r){const g=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let y=null;return e.replace(g,function(k,L,V,z,j,ie,oe,re,ae){return empty$1(V)?empty$1(z)?!empty$1(j)&&j0;){const i=n.tokenizer[t];if(i)return i;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return null}function stateExists$1(n,e){let t=e;for(;t&&t.length>0;){if(n.stateNames[t])return!0;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return!1}var __decorate$4t=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4j=function(n,e){return function(t,i){e(t,i,n)}},MonarchTokenizer_1$1;const CACHE_STACK_DEPTH$1=5;var Xs;let MonarchStackElementFactory$1=(Xs=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new MonarchStackElement$1(e,t);let i=MonarchStackElement$1.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let r=this._entries[i];return r||(r=new MonarchStackElement$1(e,t),this._entries[i]=r,r)}},Xs._INSTANCE=new Xs(CACHE_STACK_DEPTH$1),Xs),MonarchStackElement$1=class ch{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return ch._equals(this,e)}push(e){return MonarchStackElementFactory$1.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return MonarchStackElementFactory$1.create(this.parent,e)}},EmbeddedLanguageData$1=class dh{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new dh(this.languageId,this.state)}};var Zs;let MonarchLineStateFactory$1=(Zs=class{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new MonarchLineState$1(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new MonarchLineState$1(e,t);const i=MonarchStackElement$1.getStackElementId(e);let r=this._entries[i];return r||(r=new MonarchLineState$1(e,null),this._entries[i]=r,r)}},Zs._INSTANCE=new Zs(CACHE_STACK_DEPTH$1),Zs),MonarchLineState$1=class uh{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:MonarchLineStateFactory$1.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof uh)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}},MonarchClassicTokensCollector$1=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Token$5(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,r){const g=i.languageId,y=i.state,k=TokenizationRegistry$2.get(g);if(!k)return this.enterLanguage(g),this.emit(r,""),y;const L=k.tokenize(e,t,y);if(r!==0)for(const V of L.tokens)this._tokens.push(new Token$5(V.offset+r,V.type,V.language));else this._tokens=this._tokens.concat(L.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,L.endState}finalize(e){return new TokenizationResult$1(this._tokens,e)}},MonarchModernTokensCollector$1=class Td{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const r=e!==null?e.length:0,g=t.length,y=i!==null?i.length:0;if(r===0&&g===0&&y===0)return new Uint32Array(0);if(r===0&&g===0)return i;if(g===0&&y===0)return e;const k=new Uint32Array(r+g+y);e!==null&&k.set(e);for(let L=0;L{if(y)return;let L=!1;for(let V=0,z=k.changedLanguages.length;V{k.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=TokenizationRegistry$2.get(t);if(i){if(i instanceof MonarchTokenizer_1$1){const r=i.getLoadStatus();r.loaded===!1&&e.push(r.promise)}continue}TokenizationRegistry$2.isResolved(t)||e.push(TokenizationRegistry$2.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=MonarchStackElementFactory$1.create(null,this._lexer.start);return MonarchLineStateFactory$1.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenize$1(this._languageId,i);const r=new MonarchClassicTokensCollector$1,g=this._tokenize(e,t,i,r);return r.finalize(g)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenizeEncoded$1(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const r=new MonarchModernTokensCollector$1(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),g=this._tokenize(e,t,i,r);return r.finalize(g)}_tokenize(e,t,i,r){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,r):this._myTokenize(e,t,i,0,r)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=findRules$1(this._lexer,t.stack.state),!i))throw createError$1(this._lexer,"tokenizer state is not defined: "+t.stack.state);let r=-1,g=!1;for(const y of i){if(!isIAction$1(y.action)||y.action.nextEmbedded!=="@pop")continue;g=!0;let k=y.resolveRegex(t.stack.state);const L=k.source;if(L.substr(0,4)==="^(?:"&&L.substr(L.length-1,1)===")"){const z=(k.ignoreCase?"i":"")+(k.unicode?"u":"");k=new RegExp(L.substr(4,L.length-5),z)}const V=e.search(k);V===-1||V!==0&&y.matchOnlyAtLineStart||(r===-1||V0&&g.nestedLanguageTokenize(k,!1,i.embeddedLanguageData,r);const L=e.substring(y);return this._myTokenize(L,t,i,r+y,g)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,r,g){g.enterLanguage(this._languageId);const y=e.length,k=t&&this._lexer.includeLF?e+"\n":e,L=k.length;let V=i.embeddedLanguageData,z=i.stack,j=0,ie=null,oe=!0;for(;oe||j=L)break;oe=!1;let Ne=this._lexer.tokenizer[de];if(!Ne&&(Ne=findRules$1(this._lexer,de),!Ne))throw createError$1(this._lexer,"tokenizer state is not defined: "+de);const Fe=k.substr(j);for(const Ve of Ne)if((j===0||!Ve.matchOnlyAtLineStart)&&(ue=Fe.match(Ve.resolveRegex(de)),ue)){he=ue[0],pe=Ve.action;break}}if(ue||(ue=[""],he=""),pe||(j=this._lexer.maxStack)throw createError$1(this._lexer,"maximum tokenizer stack size reached: ["+z.state+","+z.parent.state+",...]");z=z.push(de)}else if(pe.next==="@pop"){if(z.depth<=1)throw createError$1(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(Ce));z=z.pop()}else if(pe.next==="@popall")z=z.popall();else{let Ne=substituteMatches$1(this._lexer,pe.next,he,ue,de);if(Ne[0]==="@"&&(Ne=Ne.substr(1)),findRules$1(this._lexer,Ne))z=z.push(Ne);else throw createError$1(this._lexer,"trying to set a next state '"+Ne+"' that is undefined in rule: "+this._safeRuleName(Ce))}}pe.log&&typeof pe.log=="string"&&log$1(this._lexer,this._lexer.languageId+": "+substituteMatches$1(this._lexer,pe.log,he,ue,de))}if(xe===null)throw createError$1(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(Ce));const Ie=Ne=>{const Fe=this._languageService.getLanguageIdByLanguageName(Ne)||this._languageService.getLanguageIdByMimeType(Ne)||Ne,Ve=this._getNestedEmbeddedLanguageData(Fe);if(j0)throw createError$1(this._lexer,"groups cannot be nested: "+this._safeRuleName(Ce));if(ue.length!==xe.length+1)throw createError$1(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(Ce));let Ne=0;for(let Fe=1;Fen});let Colorizer$1=class{static colorizeElement(e,t,i,r){r=r||{};const g=r.theme||"vs",y=r.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!y)return console.error("Mode not detected"),Promise.resolve();const k=t.getLanguageIdByMimeType(y)||y;e.setTheme(g);const L=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+g;const V=z=>{var ie;const j=(ie=ttPolicy$8==null?void 0:ttPolicy$8.createHTML(z))!=null?ie:z;i.innerHTML=j};return this.colorize(t,L||"",k,r).then(V,z=>console.error(z))}static async colorize(e,t,i,r){const g=e.languageIdCodec;let y=4;r&&typeof r.tabSize=="number"&&(y=r.tabSize),startsWithUTF8BOM$1(t)&&(t=t.substr(1));const k=splitLines$1(t);if(!e.isRegisteredLanguageId(i))return _fakeColorize$1(k,y,g);const L=await TokenizationRegistry$2.getOrCreate(i);return L?_colorize$1(k,y,L,g):_fakeColorize$1(k,y,g)}static colorizeLine(e,t,i,r,g=4){const y=ViewLineRenderingData$1.isBasicASCII(e,t),k=ViewLineRenderingData$1.containsRTL(e,y,i);return renderViewLine2$1(new RenderLineInput$1(!1,!0,e,!1,y,k,0,r,[],g,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const r=e.getLineContent(t);e.tokenization.forceTokenization(t);const y=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),y,i)}};function _colorize$1(n,e,t,i){return new Promise((r,g)=>{const y=()=>{const k=_actualColorize$1(n,e,t,i);if(t instanceof MonarchTokenizer$1){const L=t.getLoadStatus();if(L.loaded===!1){L.promise.then(y,g);return}}r(k)};y()})}function _fakeColorize$1(n,e,t){let i=[];const g=new Uint32Array(2);g[0]=0,g[1]=33587200;for(let y=0,k=n.length;y")}return i.join("")}function _actualColorize$1(n,e,t,i){let r=[],g=t.getInitialState();for(let y=0,k=n.length;y"),g=V.endState}return r.join("")}var __decorate$4s=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4i=function(n,e){return function(t,i){e(t,i,n)}},Ql;let MarkerDecorationsContribution$1=(Ql=class{constructor(e,t){}dispose(){}},Ql.ID="editor.contrib.markerDecorations",Ql);MarkerDecorationsContribution$1=__decorate$4s([__param$4i(1,IMarkerDecorationsService$1)],MarkerDecorationsContribution$1);registerEditorContribution$1(MarkerDecorationsContribution$1.ID,MarkerDecorationsContribution$1,0);let ElementSizeObserver$1=class extends Disposable$1{constructor(e,t){super(),this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,r=!1;const g=()=>{if(i&&!r)try{i=!1,r=!0,t()}finally{scheduleAtNextAnimationFrame$1(getWindow$3(this._referenceDomElement),()=>{r=!1,g()})}};this._resizeObserver=new ResizeObserver(y=>{y&&y[0]&&y[0].contentRect?e={width:y[0].contentRect.width,height:y[0].contentRect.height}:e=null,i=!0,g()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,r=0;t?(i=t.width,r=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),i=Math.max(5,i),r=Math.max(5,r),(this._width!==i||this._height!==r)&&(this._width=i,this._height=r,e&&this._onDidChange.fire())}};var hr;let EditorSettingMigration$1=(hr=class{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=hr._read(e,this.key),i=g=>hr._read(e,g),r=(g,y)=>hr._write(e,g,y);this.migrate(t,i,r)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const r=t.substring(0,i);return this._read(e[r],t.substring(i+1))}return e[t]}static _write(e,t,i){const r=t.indexOf(".");if(r>=0){const g=t.substring(0,r);e[g]=e[g]||{},this._write(e[g],t.substring(r+1),i);return}e[t]=i}},hr.items=[],hr);function registerEditorSettingMigration$1(n,e){EditorSettingMigration$1.items.push(new EditorSettingMigration$1(n,e))}function registerSimpleEditorSettingMigration$1(n,e){registerEditorSettingMigration$1(n,(t,i,r)=>{if(typeof t<"u"){for(const[g,y]of e)if(t===g){r(n,y);return}}})}function migrateOptions$1(n){EditorSettingMigration$1.items.forEach(e=>e.apply(n))}registerSimpleEditorSettingMigration$1("wordWrap",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("lineNumbers",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("cursorBlinking",[["visible","solid"]]);registerSimpleEditorSettingMigration$1("renderWhitespace",[[!0,"boundary"],[!1,"none"]]);registerSimpleEditorSettingMigration$1("renderLineHighlight",[[!0,"line"],[!1,"none"]]);registerSimpleEditorSettingMigration$1("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]);registerSimpleEditorSettingMigration$1("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);registerSimpleEditorSettingMigration$1("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);registerSimpleEditorSettingMigration$1("autoIndent",[[!1,"advanced"],[!0,"full"]]);registerSimpleEditorSettingMigration$1("matchBrackets",[[!0,"always"],[!1,"never"]]);registerSimpleEditorSettingMigration$1("renderFinalNewline",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]);registerSimpleEditorSettingMigration$1("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]);registerEditorSettingMigration$1("autoClosingBrackets",(n,e,t)=>{n===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))});registerEditorSettingMigration$1("renderIndentGuides",(n,e,t)=>{typeof n<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!n))});registerEditorSettingMigration$1("highlightActiveIndentGuide",(n,e,t)=>{typeof n<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!n))});const suggestFilteredTypesMapping$1={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};registerEditorSettingMigration$1("suggest.filteredTypes",(n,e,t)=>{if(n&&typeof n=="object"){for(const i of Object.entries(suggestFilteredTypesMapping$1))n[i[0]]===!1&&typeof e("suggest.".concat(i[1]))>"u"&&t("suggest.".concat(i[1]),!1);t("suggest.filteredTypes",void 0)}});registerEditorSettingMigration$1("quickSuggestions",(n,e,t)=>{if(typeof n=="boolean"){const i=n?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}});registerEditorSettingMigration$1("experimental.stickyScroll.enabled",(n,e,t)=>{typeof n=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",n))});registerEditorSettingMigration$1("experimental.stickyScroll.maxLineCount",(n,e,t)=>{typeof n=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",n))});registerEditorSettingMigration$1("codeActionsOnSave",(n,e,t)=>{if(n&&typeof n=="object"){let i=!1;const r={};for(const g of Object.entries(n))typeof g[1]=="boolean"?(i=!0,r[g[0]]=g[1]?"explicit":"never"):r[g[0]]=g[1];i&&t("codeActionsOnSave",r)}});registerEditorSettingMigration$1("codeActionWidget.includeNearbyQuickfixes",(n,e,t)=>{typeof n=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",n))});registerEditorSettingMigration$1("lightbulb.enabled",(n,e,t)=>{typeof n=="boolean"&&t("lightbulb.enabled",n?void 0:"off")});let TabFocusImpl$1=class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Emitter$3,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}};const TabFocus$1=new TabFocusImpl$1;var __decorate$4r=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4h=function(n,e){return function(t,i){e(t,i,n)}};let EditorConfiguration$1=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._accessibilityService=g,this._onDidChange=this._register(new Emitter$3),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Emitter$3),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new ComputeOptionsMemory$1,this.isSimpleWidget=e,this.contextMenuId=t,this._containerObserver=this._register(new ElementSizeObserver$1(r,i.dimension)),this._targetWindowId=getWindow$3(r).vscodeWindowId,this._rawOptions=deepCloneAndMigrateOptions$1(i),this._validatedOptions=EditorOptionsUtil$1.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(EditorZoom$1.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(TabFocus$1.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(FontMeasurements$1.onDidChange(()=>this._recomputeOptions())),this._register(PixelRatio$1.getInstance(getWindow$3(r)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=EditorOptionsUtil$1.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=BareFontInfo$1.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:TabFocus$1.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return EditorOptionsUtil$1.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:getExtraEditorClassName$1(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:isWebKit$1||isFirefox$3,pixelRatio:PixelRatio$1.getInstance(getWindowById$1(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return FontMeasurements$1.readFontInfo(getWindowById$1(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=deepCloneAndMigrateOptions$1(e);EditorOptionsUtil$1.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=EditorOptionsUtil$1.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=digitCount$1(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};EditorConfiguration$1=__decorate$4r([__param$4h(4,IAccessibilityService$1)],EditorConfiguration$1);function digitCount$1(n){let e=0;for(;n;)n=Math.floor(n/10),e++;return e||1}function getExtraEditorClassName$1(){let n="";return!isSafari$2&&!isWebkitWebView$1&&(n+="no-user-select "),isSafari$2&&(n+="no-minimap-shadow ",n+="enable-user-select "),isMacintosh$1&&(n+="mac "),n}let ValidatedEditorOptions$1=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},ComputedEditorOptions$1=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},EditorOptionsUtil$1=class Nd{static validateOptions(e){const t=new ValidatedEditorOptions$1;for(const i of editorOptionsRegistry$1){const r=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(r))}return t}static computeOptions(e,t){const i=new ComputedEditorOptions$1;for(const r of editorOptionsRegistry$1)i._write(r.id,r.compute(t,i,e._read(r.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?equals$5(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!Nd._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let r=!1;for(const g of editorOptionsRegistry$1){const y=!Nd._deepEquals(e._read(g.id),t._read(g.id));i[g.id]=y,y&&(r=!0)}return r?new ConfigurationChangedEvent$1(i):null}static applyUpdate(e,t){let i=!1;for(const r of editorOptionsRegistry$1)if(t.hasOwnProperty(r.name)){const g=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=g.newValue,i=i||g.didChange}return i}};function deepCloneAndMigrateOptions$1(n){const e=deepClone$1(n);return migrateOptions$1(e),e}var inputLatency$1;(function(n){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},r={...e};let g=0;const y={keydown:0,input:0,render:0};function k(){de(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),y.keydown=1,queueMicrotask(L)}n.onKeyDown=k;function L(){y.keydown===1&&(performance.mark("keydown/end"),y.keydown=2)}function V(){performance.mark("input/start"),y.input=1,le()}n.onBeforeInput=V;function z(){y.input===0&&V(),queueMicrotask(j)}n.onInput=z;function j(){y.input===1&&(performance.mark("input/end"),y.input=2)}function ie(){de()}n.onKeyUp=ie;function oe(){de()}n.onSelectionChange=oe;function re(){y.keydown===2&&y.input===2&&y.render===0&&(performance.mark("render/start"),y.render=1,queueMicrotask(ae),le())}n.onRenderStart=re;function ae(){y.render===1&&(performance.mark("render/end"),y.render=2)}function le(){setTimeout(de)}function de(){y.keydown===2&&y.input===2&&y.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),ue("keydown",e),ue("input",t),ue("render",i),ue("inputlatency",r),g++,he())}function ue(xe,Ie){const Ne=performance.getEntriesByName(xe)[0].duration;Ie.total+=Ne,Ie.min=Math.min(Ie.min,Ne),Ie.max=Math.max(Ie.max,Ne)}function he(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),y.keydown=0,y.input=0,y.render=0}function pe(){if(g===0)return;const xe={keydown:Ce(e),input:Ce(t),render:Ce(i),total:Ce(r),sampleCount:g};return $e(e),$e(t),$e(i),$e(r),g=0,xe}n.getAndClearMeasurements=pe;function Ce(xe){return{average:xe.total/g,max:xe.max,min:xe.min}}function $e(xe){xe.total=0,xe.min=Number.MAX_VALUE,xe.max=0}})(inputLatency$1||(inputLatency$1={}));let PageCoordinates$1=class{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new ClientCoordinates$1(this.x-e.scrollX,this.y-e.scrollY)}},ClientCoordinates$1=class{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new PageCoordinates$1(this.clientX+e.scrollX,this.clientY+e.scrollY)}},EditorPagePosition$1=class{constructor(e,t,i,r){this.x=e,this.y=t,this.width=i,this.height=r,this._editorPagePositionBrand=void 0}},CoordinatesRelativeToEditor$1=class{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}};function createEditorPagePosition$1(n){const e=getDomNodePagePosition$1(n);return new EditorPagePosition$1(e.left,e.top,e.width,e.height)}function createCoordinatesRelativeToEditor$1(n,e,t){const i=e.width/n.offsetWidth,r=e.height/n.offsetHeight,g=(t.x-e.x)/i,y=(t.y-e.y)/r;return new CoordinatesRelativeToEditor$1(g,y)}let EditorMouseEvent$1=class extends StandardMouseEvent$1{constructor(e,t,i){super(getWindow$3(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new PageCoordinates$1(this.posx,this.posy),this.editorPos=createEditorPagePosition$1(i),this.relativePos=createCoordinatesRelativeToEditor$1(i,this.editorPos,this.pos)}},EditorMouseEventFactory$1=class{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent$1(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return addDisposableListener$1(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return addDisposableListener$1(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return addDisposableListener$1(e,EventType$3.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return addDisposableListener$1(e,EventType$3.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return addDisposableListener$1(e,EventType$3.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return addDisposableListener$1(e,"mousemove",i=>t(this._create(i)))}},EditorPointerEventFactory$1=class{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent$1(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return addDisposableListener$1(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return addDisposableListener$1(e,EventType$3.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return addDisposableListener$1(e,EventType$3.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return addDisposableListener$1(e,"pointermove",i=>t(this._create(i)))}},GlobalEditorPointerMoveMonitor$1=class extends Disposable$1{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new GlobalPointerMoveMonitor$1),this._keydownListener=null}startMonitoring(e,t,i,r,g){this._keydownListener=addStandardDisposableListener$1(e.ownerDocument,"keydown",y=>{y.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,y.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,y=>{r(new EditorMouseEvent$1(y,!0,this._editorViewDomNode))},y=>{this._keydownListener.dispose(),g(y)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}};var Qs;let DynamicCssRules$1=(Qs=class{constructor(e){this._editor=e,this._instanceId=++Qs._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new RunOnceScheduler$1(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const r=this._counter++;i=new RefCountedCssRule$1(t,"dyn-rule-".concat(this._instanceId,"-").concat(r),isInShadowDOM$1(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}},Qs._idPool=0,Qs),RefCountedCssRule$1=class{constructor(e,t,i,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new DisposableStore$1,this._styleElement=createStyleSheet$1(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=".".concat(e," {");for(const r in t){const g=t[r];let y;typeof g=="object"?y=asCssVariable$1(g.id):y=g;const k=camelToDashes$1(r);i+="\n ".concat(k,": ").concat(y,";")}return i+="\n}",i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}};function camelToDashes$1(n){return n.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>"-".concat(e.toLowerCase()))}let ViewEventHandler$1=class extends Disposable$1{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,r=e.length;i=k.left?r.width=Math.max(r.width,k.left+k.width-r.left):(t[i++]=r,r=k)}return t[i++]=r,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const r=[];for(let g=0,y=e.length;gL)return null;if(t=Math.min(L,Math.max(0,t)),r=Math.min(L,Math.max(0,r)),t===r&&i===g&&i===0&&!e.children[t].firstChild){const ie=e.children[t].getClientRects();return y.markDidDomLayout(),this._createHorizontalRangesFromClientRects(ie,y.clientRectDeltaLeft,y.clientRectScale)}t!==r&&r>0&&g===0&&(r--,g=1073741824);let V=e.children[t].firstChild,z=e.children[r].firstChild;if((!V||!z)&&(!V&&i===0&&t>0&&(V=e.children[t-1].firstChild,i=1073741824),!z&&g===0&&r>0&&(z=e.children[r-1].firstChild,g=1073741824)),!V||!z)return null;i=Math.min(V.textContent.length,Math.max(0,i)),g=Math.min(z.textContent.length,Math.max(0,g));const j=this._readClientRects(V,i,z,g,y.endNode);return y.markDidDomLayout(),this._createHorizontalRangesFromClientRects(j,y.clientRectDeltaLeft,y.clientRectScale)}};const canUseFastRenderedViewLine$1=function(){return isNative$1?!0:!(isLinux$1||isFirefox$3||isSafari$2)}();let monospaceAssumptionsAreValid$1=!0,ViewLineOptions$1=class{constructor(e,t){this.themeType=t;const i=e.options,r=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(100):this.renderWhitespace="none",this.renderControlCharacters=i.get(95),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(118),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}};var Js;let ViewLine$1=(Js=class{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=createFastDomNode$1(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return isHighContrast$1(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,r,g){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const y=r.getViewLineRenderingData(e),k=this._options,L=LineDecoration$1.filter(y.inlineDecorations,e,y.minColumn,y.maxColumn);let V=null;if(isHighContrast$1(k.themeType)||this._options.renderWhitespace==="selection"){const oe=r.selections;for(const re of oe){if(re.endLineNumbere)continue;const ae=re.startLineNumber===e?re.startColumn:y.minColumn,le=re.endLineNumber===e?re.endColumn:y.maxColumn;ae');const j=renderViewLine$1(z,g);g.appendString("");let ie=null;return monospaceAssumptionsAreValid$1&&canUseFastRenderedViewLine$1&&y.isBasicASCII&&k.useMonospaceOptimizations&&j.containsForeignElements===0&&(ie=new FastRenderedViewLine$1(this._renderedViewLine?this._renderedViewLine.domNode:null,z,j.characterMapping)),ie||(ie=createRenderedLine$1(this._renderedViewLine?this._renderedViewLine.domNode:null,z,j.characterMapping,j.containsRTL,j.containsForeignElements)),this._renderedViewLine=ie,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof FastRenderedViewLine$1:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine$1?this._renderedViewLine.monospaceAssumptionsAreValid():monospaceAssumptionsAreValid$1}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine$1&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const g=this._renderedViewLine.input.stopRenderingLineAfter;if(g!==-1&&t>g+1&&i>g+1)return new VisibleRanges$1(!0,[new FloatHorizontalRange$1(this.getWidth(r),0)]);g!==-1&&t>g+1&&(t=g+1),g!==-1&&i>g+1&&(i=g+1);const y=this._renderedViewLine.getVisibleRangesForRange(e,t,i,r);return y&&y.length>0?new VisibleRanges$1(!1,y):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}},Js.CLASS_NAME="view-line",Js),FastRenderedViewLine$1=class{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const r=Math.floor(t.lineContent.length/300);if(r>0){this._keyColumnPixelOffsetCache=new Float32Array(r);for(let g=0;g=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),monospaceAssumptionsAreValid$1=!1)}return monospaceAssumptionsAreValid$1}toSlowRenderedLine(){return createRenderedLine$1(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,r){const g=this._getColumnPixelOffset(e,t,r),y=this._getColumnPixelOffset(e,i,r);return[new FloatHorizontalRange$1(g,y-g)]}_getColumnPixelOffset(e,t,i){if(t<=300){const V=this._characterMapping.getHorizontalOffset(t);return this._charWidth*V}const r=Math.floor((t-1)/300)-1,g=(r+1)*300+1;let y=-1;if(this._keyColumnPixelOffsetCache&&(y=this._keyColumnPixelOffsetCache[r],y===-1&&(y=this._actualReadPixelOffset(e,g,i),this._keyColumnPixelOffsetCache[r]=y)),y===-1){const V=this._characterMapping.getHorizontalOffset(t);return this._charWidth*V}const k=this._characterMapping.getHorizontalOffset(g),L=this._characterMapping.getHorizontalOffset(t);return y+this._charWidth*(L-k)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const r=this._characterMapping.getDomPosition(t),g=RangeUtil$1.readHorizontalRanges(this._getReadingTarget(this.domNode),r.partIndex,r.charIndex,r.partIndex,r.charIndex,i);return!g||g.length===0?-1:g[0].left}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset$1(this._characterMapping,e,t)}},RenderedViewLine$1=class{constructor(e,t,i,r,g){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=g,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let y=0,k=this._characterMapping.length;y<=k;y++)this._pixelOffsetCache[y]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e==null||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const g=this._readPixelOffset(this.domNode,e,t,r);if(g===-1)return null;const y=this._readPixelOffset(this.domNode,e,i,r);return y===-1?null:[new FloatHorizontalRange$1(g,y-g)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,r)}_readVisibleRangesForRange(e,t,i,r,g){if(i===r){const y=this._readPixelOffset(e,t,i,g);return y===-1?null:[new FloatHorizontalRange$1(y,0)]}else return this._readRawVisibleRangesForRange(e,i,r,g)}_readPixelOffset(e,t,i,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(r);const g=this._getReadingTarget(e);return g.firstChild?(r.markDidDomLayout(),g.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const g=this._pixelOffsetCache[i];if(g!==-1)return g;const y=this._actualReadPixelOffset(e,t,i,r);return this._pixelOffsetCache[i]=y,y}return this._actualReadPixelOffset(e,t,i,r)}_actualReadPixelOffset(e,t,i,r){if(this._characterMapping.length===0){const L=RangeUtil$1.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r);return!L||L.length===0?-1:L[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(r);const g=this._characterMapping.getDomPosition(i),y=RangeUtil$1.readHorizontalRanges(this._getReadingTarget(e),g.partIndex,g.charIndex,g.partIndex,g.charIndex,r);if(!y||y.length===0)return-1;const k=y[0].left;if(this.input.isBasicASCII){const L=this._characterMapping.getHorizontalOffset(i),V=Math.round(this.input.spaceWidth*L);if(Math.abs(V-k)<=1)return V}return k}_readRawVisibleRangesForRange(e,t,i,r){if(t===1&&i===this._characterMapping.length)return[new FloatHorizontalRange$1(0,this.getWidth(r))];const g=this._characterMapping.getDomPosition(t),y=this._characterMapping.getDomPosition(i);return RangeUtil$1.readHorizontalRanges(this._getReadingTarget(e),g.partIndex,g.charIndex,y.partIndex,y.charIndex,r)}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset$1(this._characterMapping,e,t)}},WebKitRenderedViewLine$1=class extends RenderedViewLine$1{_readVisibleRangesForRange(e,t,i,r,g){const y=super._readVisibleRangesForRange(e,t,i,r,g);if(!y||y.length===0||i===r||i===1&&r===this._characterMapping.length)return y;if(!this.input.containsRTL){const k=this._readPixelOffset(e,t,r,g);if(k!==-1){const L=y[y.length-1];L.left=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}},HitTestContext$1=class Rd{constructor(e,t,i){this.viewModel=e.viewModel;const r=e.configuration.options;this.layoutInfo=r.get(146),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(67),this.stickyTabStops=r.get(117),this.typicalHalfwidthCharacterWidth=r.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return Rd.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const r=i.verticalOffset+i.height/2,g=e.viewModel.getLineCount();let y=null,k,L=null;return i.afterLineNumber!==g&&(L=new Position$3(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(y=new Position$3(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),L===null?k=y:y===null?k=L:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,MouseTargetFactory$1._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}},HitTestRequest$1=class extends BareHitTestRequest$1{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=PartFingerprints$1.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,r,g){super(e,t,i,r),this.hitTestResult=new Lazy$1(()=>MouseTargetFactory$1.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=g;const y=!!this._eventTarget;this._useHitTestTarget=!y}toString(){return"pos(".concat(this.pos.x,",").concat(this.pos.y,"), editorPos(").concat(this.editorPos.x,",").concat(this.editorPos.y,"), relativePos(").concat(this.relativePos.x,",").concat(this.relativePos.y,"), mouseVerticalOffset: ").concat(this.mouseVerticalOffset,", mouseContentHorizontalOffset: ").concat(this.mouseContentHorizontalOffset,"\n target: ").concat(this.target?this.target.outerHTML:null)}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columny.contentLeft+y.width)continue;const k=e.getVerticalOffsetForLineNumber(y.position.lineNumber);if(k<=g&&g<=k+y.height)return t.fulfillContentText(y.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const r=t.isInContentArea?8:5;return t.fulfillViewZone(r,i.position,i)}return null}static _hitTestTextArea(e,t){return ElementPath$1.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=i.range.getStartPosition();let g=Math.abs(t.relativePos.x);const y={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:g};if(g-=e.layoutInfo.glyphMarginLeft,g<=e.layoutInfo.glyphMarginWidth){const k=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),L=e.viewModel.glyphLanes.getLanesAtLine(k.lineNumber);return y.glyphMarginLane=L[Math.floor(g/e.lineHeight)],t.fulfillMargin(2,r,i.range,y)}return g-=e.layoutInfo.glyphMarginWidth,g<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,i.range,y):(g-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,i.range,y))}return null}static _hitTestViewLines(e,t){if(!ElementPath$1.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Position$3(1,1),EMPTY_CONTENT_AFTER_LINES$1);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const r=e.viewModel.getLineCount(),g=e.viewModel.getLineMaxColumn(r);return t.fulfillContentEmpty(new Position$3(r,g),EMPTY_CONTENT_AFTER_LINES$1)}if(ElementPath$1.isStrictChildOfViewLines(t.targetPath)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(r)===0){const y=e.getLineWidth(r),k=createEmptyContentDataInLines$1(t.mouseContentHorizontalOffset-y);return t.fulfillContentEmpty(new Position$3(r,1),k)}const g=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>=g){const y=createEmptyContentDataInLines$1(t.mouseContentHorizontalOffset-g),k=new Position$3(r,e.viewModel.getLineMaxColumn(r));return t.fulfillContentEmpty(k,y)}}const i=t.hitTestResult.value;return i.type===1?eo.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(ElementPath$1.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$3(i,r))}return null}static _hitTestScrollbarSlider(e,t){if(ElementPath$1.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),g=e.viewModel.getLineMaxColumn(r);return t.fulfillScrollbar(new Position$3(r,g))}}return null}static _hitTestScrollbar(e,t){if(ElementPath$1.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$3(i,r))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(146),r=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return eo._getMouseColumn(r,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,r,g){const y=r.lineNumber,k=r.column,L=e.getLineWidth(y);if(t.mouseContentHorizontalOffset>L){const de=createEmptyContentDataInLines$1(t.mouseContentHorizontalOffset-L);return t.fulfillContentEmpty(r,de)}const V=e.visibleRangeForPosition(y,k);if(!V)return t.fulfillUnknown(r);const z=V.left;if(Math.abs(t.mouseContentHorizontalOffset-z)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!g,injectedText:g});const j=[];if(j.push({offset:V.left,column:k}),k>1){const de=e.visibleRangeForPosition(y,k-1);de&&j.push({offset:de.left,column:k-1})}const ie=e.viewModel.getLineMaxColumn(y);if(kde.offset-ue.offset);const oe=t.pos.toClientCoordinates(getWindow$3(e.viewDomNode)),re=i.getBoundingClientRect(),ae=re.left<=oe.clientX&&oe.clientX<=re.right;let le=null;for(let de=1;deg)){const k=Math.floor((r+g)/2);let L=t.pos.y+(k-t.mouseVerticalOffset);L<=t.editorPos.y&&(L=t.editorPos.y+1),L>=t.editorPos.y+t.editorPos.height&&(L=t.editorPos.y+t.editorPos.height-1);const V=new PageCoordinates$1(t.pos.x,L),z=this._actualDoHitTestWithCaretRangeFromPoint(e,V.toClientCoordinates(getWindow$3(e.viewDomNode)));if(z.type===1)return z}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(getWindow$3(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=getShadowRoot$3(e.viewDomNode);let r;if(i?typeof i.caretRangeFromPoint>"u"?r=shadowCaretRangeFromPoint$1(i,t.clientX,t.clientY):r=i.caretRangeFromPoint(t.clientX,t.clientY):r=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new UnknownHitTestResult$1;const g=r.startContainer;if(g.nodeType===g.TEXT_NODE){const y=g.parentNode,k=y?y.parentNode:null,L=k?k.parentNode:null;return(L&&L.nodeType===L.ELEMENT_NODE?L.className:null)===ViewLine$1.CLASS_NAME?HitTestResult$1.createFromDOMInfo(e,y,r.startOffset):new UnknownHitTestResult$1(g.parentNode)}else if(g.nodeType===g.ELEMENT_NODE){const y=g.parentNode,k=y?y.parentNode:null;return(k&&k.nodeType===k.ELEMENT_NODE?k.className:null)===ViewLine$1.CLASS_NAME?HitTestResult$1.createFromDOMInfo(e,g,g.textContent.length):new UnknownHitTestResult$1(g)}return new UnknownHitTestResult$1}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const r=i.offsetNode.parentNode,g=r?r.parentNode:null,y=g?g.parentNode:null;return(y&&y.nodeType===y.ELEMENT_NODE?y.className:null)===ViewLine$1.CLASS_NAME?HitTestResult$1.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new UnknownHitTestResult$1(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const r=i.offsetNode.parentNode,g=r&&r.nodeType===r.ELEMENT_NODE?r.className:null,y=r?r.parentNode:null,k=y&&y.nodeType===y.ELEMENT_NODE?y.className:null;if(g===ViewLine$1.CLASS_NAME){const L=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(L)return HitTestResult$1.createFromDOMInfo(e,L,0)}else if(k===ViewLine$1.CLASS_NAME)return HitTestResult$1.createFromDOMInfo(e,i.offsetNode,0)}return new UnknownHitTestResult$1(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),g=AtomicTabMoveOperations$1.atomicPosition(i,e.column-1,r,2);return g!==-1?new Position$3(e.lineNumber,g+1):e}static doHitTest(e,t){let i=new UnknownHitTestResult$1;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(getWindow$3(e.viewDomNode)))),i.type===1){const r=e.viewModel.getInjectedTextAt(i.position),g=e.viewModel.normalizePosition(i.position,2);(r||!g.equals(i.position))&&(i=new ContentHitTestResult$1(g,i.spanNode,r))}return i}};function shadowCaretRangeFromPoint$1(n,e,t){const i=document.createRange();let r=n.elementFromPoint(e,t);if(r!==null){for(;r&&r.firstChild&&r.firstChild.nodeType!==r.firstChild.TEXT_NODE&&r.lastChild&&r.lastChild.firstChild;)r=r.lastChild;const g=r.getBoundingClientRect(),y=getWindow$3(r),k=y.getComputedStyle(r,null).getPropertyValue("font-style"),L=y.getComputedStyle(r,null).getPropertyValue("font-variant"),V=y.getComputedStyle(r,null).getPropertyValue("font-weight"),z=y.getComputedStyle(r,null).getPropertyValue("font-size"),j=y.getComputedStyle(r,null).getPropertyValue("line-height"),ie=y.getComputedStyle(r,null).getPropertyValue("font-family"),oe="".concat(k," ").concat(L," ").concat(V," ").concat(z,"/").concat(j," ").concat(ie),re=r.innerText;let ae=g.left,le=0,de;if(e>g.left+g.width)le=re.length;else{const ue=CharWidthReader$1.getInstance();for(let he=0;hethis._createMouseTarget(y,k),y=>this._getMouseColumn(y))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(146).height;const r=new EditorMouseEventFactory$1(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,y=>this._onContextMenu(y,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,y=>{this._onMouseMove(y),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=addDisposableListener$1(this.viewHelper.viewDomNode.ownerDocument,"mousemove",k=>{this.viewHelper.viewDomNode.contains(k.target)||this._onMouseLeave(new EditorMouseEvent$1(k,!1,this.viewHelper.viewDomNode))}))})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,y=>this._onMouseUp(y))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,y=>this._onMouseLeave(y)));let g=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(y,k)=>{g=k})),this._register(addDisposableListener$1(this.viewHelper.viewDomNode,EventType$3.POINTER_UP,y=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,y=>this._onMouseDown(y,g))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=MouseWheelClassifier$1.INSTANCE;let t=0,i=EditorZoom$1.getZoomLevel(),r=!1,g=0;const y=L=>{if(this.viewController.emitMouseWheel(L),!this._context.configuration.options.get(76))return;const V=new StandardWheelEvent$1(L);if(e.acceptStandardWheelEvent(V),e.isPhysicalMouseWheel()){if(k(L)){const z=EditorZoom$1.getZoomLevel(),j=V.deltaY>0?1:-1;EditorZoom$1.setZoomLevel(z+j),V.preventDefault(),V.stopPropagation()}}else Date.now()-t>50&&(i=EditorZoom$1.getZoomLevel(),r=k(L),g=0),t=Date.now(),g+=V.deltaY,r&&(EditorZoom$1.setZoomLevel(i+g/5),V.preventDefault(),V.stopPropagation())};this._register(addDisposableListener$1(this.viewHelper.viewDomNode,EventType$3.MOUSE_WHEEL,y,{capture:!0,passive:!1}));function k(L){return isMacintosh$1?(L.metaKey||L.ctrlKey)&&!L.shiftKey&&!L.altKey:L.ctrlKey&&!L.metaKey&&!L.shiftKey&&!L.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(146)){const t=this._context.configuration.options.get(146).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const r=new ClientCoordinates$1(e,t).toPageCoordinates(getWindow$3(this.viewHelper.viewDomNode)),g=createEditorPagePosition$1(this.viewHelper.viewDomNode);if(r.yg.y+g.height||r.xg.x+g.width)return null;const y=createCoordinatesRelativeToEditor$1(this.viewHelper.viewDomNode,g,r);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),g,r,y,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const r=getShadowRoot$3(this.viewHelper.viewDomNode);r&&(i=r.elementsFromPoint(e.posx,e.posy).find(g=>this.viewHelper.viewDomNode.contains(g)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(z&&(r||y&&k))j(),this._mouseDownOperation.start(i.type,e,t);else if(g)e.preventDefault();else if(L){const ie=i.detail;z&&this.viewHelper.shouldSuppressMouseDownOnViewZone(ie.viewZoneId)&&(j(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else V&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(j(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}},MouseDownOperation$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=r,this._createMouseTarget=g,this._getMouseColumn=y,this._mouseMoveMonitor=this._register(new GlobalEditorPointerMoveMonitor$1(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new TopBottomDragScrolling$1(this._context,this._viewHelper,this._mouseTargetFactory,(k,L,V)=>this._dispatchMouse(k,L,V))),this._mouseState=new MouseDownState$1,this._currentSelection=new Selection$3(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;const g=this._context.configuration.options;if(!g.get(92)&&g.get(35)&&!g.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,y=>this._onMouseDownThenMove(y),y=>{const k=this._findMousePosition(this._lastMouseEvent,!1);isKeyboardEvent$1(y)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:k?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,y=>this._onMouseDownThenMove(y),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,r=this._context.viewLayout,g=this._getMouseColumn(e);if(e.posyt.y+t.height){const k=e.posy-t.y-t.height,L=r.getCurrentScrollTop()+e.relativePos.y,V=HitTestContext$1.getZoneAtCoord(this._context,L);if(V){const j=this._helpPositionJumpOverViewZone(V);if(j)return MouseTarget$1.createOutsideEditor(g,j,"below",k)}const z=r.getLineNumberAtVerticalOffset(L);return MouseTarget$1.createOutsideEditor(g,new Position$3(z,i.getLineMaxColumn(z)),"below",k)}const y=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const k=e.posx-t.x-t.width;return MouseTarget$1.createOutsideEditor(g,new Position$3(y,i.getLineMaxColumn(y)),"right",k)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){const y=this._helpPositionJumpOverViewZone(r.detail);if(y)return MouseTarget$1.createViewZone(r.type,r.element,r.mouseColumn,y,r.detail)}return r}_helpPositionJumpOverViewZone(e){const t=new Position$3(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,r=e.positionAfter;return i&&r?i.isBefore(t)?i:r:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}},TopBottomDragScrolling$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new TopBottomDragScrollingOperation$1(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}},TopBottomDragScrollingOperation$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._position=g,this._mouseEvent=y,this._lastTime=Date.now(),this._animationFrameDisposable=scheduleAtNextAnimationFrame$1(getWindow$3(y.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(146).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed(),i=this._tick(),r=t*(i/1e3)*e,g=this._position.outsidePosition==="above"?-r:r;this._context.viewModel.viewLayout.deltaScrollNow(0,g),this._viewHelper.renderNow();const y=this._context.viewLayout.getLinesViewportData(),k=this._position.outsidePosition==="above"?y.startLineNumber:y.endLineNumber;let L;{const V=createEditorPagePosition$1(this._viewHelper.viewDomNode),z=this._context.configuration.options.get(146).horizontalScrollbarHeight,j=new PageCoordinates$1(this._mouseEvent.pos.x,V.y+V.height-z-.1),ie=createCoordinatesRelativeToEditor$1(this._viewHelper.viewDomNode,V,j);L=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),V,j,ie,null)}(!L.position||L.position.lineNumber!==k)&&(this._position.outsidePosition==="above"?L=MouseTarget$1.createOutsideEditor(this._position.mouseColumn,new Position$3(k,1),"above",this._position.outsideDistance):L=MouseTarget$1.createOutsideEditor(this._position.mouseColumn,new Position$3(k,this._context.viewModel.getLineMaxColumn(k)),"below",this._position.outsideDistance)),this._dispatchMouse(L,!0,2),this._animationFrameDisposable=scheduleAtNextAnimationFrame$1(getWindow$3(L.element),()=>this._execute())}};var ea;let MouseDownState$1=(ea=class{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=new Date().getTime();i-this._lastSetMouseDownCountTime>ea.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}},ea.CLEAR_MOUSE_DOWN_COUNT_TIME=400,ea);var gr;let TextAreaState$1=(gr=class{constructor(e,t,i,r,g){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=r,this.newlineCountBeforeSelection=g}toString(){return"[ <".concat(this.value,">, selectionStart: ").concat(this.selectionStart,", selectionEnd: ").concat(this.selectionEnd,"]")}static readFromTextArea(e,t){const i=e.getValue(),r=e.getSelectionStart(),g=e.getSelectionEnd();let y;if(t){const k=i.substring(0,r),L=t.value.substring(0,t.selectionStart);k===L&&(y=t.newlineCountBeforeSelection)}return new gr(i,r,g,null,y)}collapseSelection(){return this.selectionStart===this.value.length?this:new gr(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var r,g,y,k,L,V,z,j;if(e<=this.selectionStart){const ie=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition((g=(r=this.selection)==null?void 0:r.getStartPosition())!=null?g:null,ie,-1)}if(e>=this.selectionEnd){const ie=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition((k=(y=this.selection)==null?void 0:y.getEndPosition())!=null?k:null,ie,1)}const t=this.value.substring(this.selectionStart,e);if(t.indexOf("…")===-1)return this._finishDeduceEditorPosition((V=(L=this.selection)==null?void 0:L.getStartPosition())!=null?V:null,t,1);const i=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition((j=(z=this.selection)==null?void 0:z.getEndPosition())!=null?j:null,i,-1)}_finishDeduceEditorPosition(e,t,i){let r=0,g=-1;for(;(g=t.indexOf("\n",g+1))!==-1;)r++;return[e,i*t.length,r]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const r=Math.min(commonPrefixLength$1(e.value,t.value),e.selectionStart,t.selectionStart),g=Math.min(commonSuffixLength$1(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-g);const y=t.value.substring(r,t.value.length-g),k=e.selectionStart-r,L=e.selectionEnd-r,V=t.selectionStart-r,z=t.selectionEnd-r;if(V===z){const ie=e.selectionStart-r;return{text:y,replacePrevCharCnt:ie,replaceNextCharCnt:0,positionDelta:0}}const j=L-k;return{text:y,replacePrevCharCnt:j,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(commonPrefixLength$1(e.value,t.value),e.selectionEnd),r=Math.min(commonSuffixLength$1(e.value,t.value),e.value.length-e.selectionEnd),g=e.value.substring(i,e.value.length-r),y=t.value.substring(i,t.value.length-r);e.selectionStart-i;const k=e.selectionEnd-i;t.selectionStart-i;const L=t.selectionEnd-i;return{text:y,replacePrevCharCnt:k,replaceNextCharCnt:g.length-k,positionDelta:L-y.length}}},gr.EMPTY=new gr("",0,0,null,void 0),gr),PagedScreenReaderStrategy$1=class wc{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,r=i+1,g=i+t;return new Range$5(r,1,g+1,1)}static fromEditorSelection(e,t,i,r){const y=wc._getPageOfLine(t.startLineNumber,i),k=wc._getRangeForPage(y,i),L=wc._getPageOfLine(t.endLineNumber,i),V=wc._getRangeForPage(L,i);let z=k.intersectRanges(new Range$5(1,1,t.startLineNumber,t.startColumn));if(r&&e.getValueLengthInRange(z,1)>500){const de=e.modifyPosition(z.getEndPosition(),-500);z=Range$5.fromPositions(de,z.getEndPosition())}const j=e.getValueInRange(z,1),ie=e.getLineCount(),oe=e.getLineMaxColumn(ie);let re=V.intersectRanges(new Range$5(t.endLineNumber,t.endColumn,ie,oe));if(r&&e.getValueLengthInRange(re,1)>500){const de=e.modifyPosition(re.getStartPosition(),500);re=Range$5.fromPositions(re.getStartPosition(),de)}const ae=e.getValueInRange(re,1);let le;if(y===L||y+1===L)le=e.getValueInRange(t,1);else{const de=k.intersectRanges(t),ue=V.intersectRanges(t);le=e.getValueInRange(de,1)+"…"+e.getValueInRange(ue,1)}return r&&le.length>2*500&&(le=le.substring(0,500)+"…"+le.substring(le.length-500,le.length)),new TextAreaState$1(j+le+ae,j.length,j.length+le.length,t,z.endLineNumber-z.startLineNumber)}};var __decorate$4q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4g=function(n,e){return function(t,i){e(t,i,n)}},TextAreaSyntethicEvents$1;(function(n){n.Tap="-monaco-textarea-synthetic-tap"})(TextAreaSyntethicEvents$1||(TextAreaSyntethicEvents$1={}));const CopyOptions$1={forceCopyWithSyntaxHighlighting:!1};var ta;let InMemoryClipboardMetadataManager$1=(ta=class{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}},ta.INSTANCE=new ta,ta),CompositionContext$1=class{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}},TextAreaInput$1=class extends Disposable$1{get textAreaState(){return this._textAreaState}constructor(e,t,i,r,g,y){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=r,this._accessibilityService=g,this._logService=y,this._onFocus=this._register(new Emitter$3),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Emitter$3),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Emitter$3),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Emitter$3),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Emitter$3),this.onCut=this._onCut.event,this._onPaste=this._register(new Emitter$3),this.onPaste=this._onPaste.event,this._onType=this._register(new Emitter$3),this.onType=this._onType.event,this._onCompositionStart=this._register(new Emitter$3),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Emitter$3),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Emitter$3),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Emitter$3),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new MutableDisposable$1),this._asyncTriggerCut=this._register(new RunOnceScheduler$1(()=>this._onCut.fire(),0)),this._textAreaState=TextAreaState$1.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(Event$2.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new RunOnceScheduler$1(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let k=null;this._register(this._textArea.onKeyDown(L=>{const V=new StandardKeyboardEvent$1(L);(V.keyCode===114||this._currentComposition&&V.keyCode===1)&&V.stopPropagation(),V.equals(9)&&V.preventDefault(),k=V,this._onKeyDown.fire(V)})),this._register(this._textArea.onKeyUp(L=>{const V=new StandardKeyboardEvent$1(L);this._onKeyUp.fire(V)})),this._register(this._textArea.onCompositionStart(L=>{const V=new CompositionContext$1;if(this._currentComposition){this._currentComposition=V;return}if(this._currentComposition=V,this._OS===2&&k&&k.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===L.data&&(k.code==="ArrowRight"||k.code==="ArrowLeft")){V.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:L.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:L.data});return}this._onCompositionStart.fire({data:L.data})})),this._register(this._textArea.onCompositionUpdate(L=>{const V=this._currentComposition;if(!V)return;if(this._browser.isAndroid){const j=TextAreaState$1.readFromTextArea(this._textArea,this._textAreaState),ie=TextAreaState$1.deduceAndroidCompositionInput(this._textAreaState,j);this._textAreaState=j,this._onType.fire(ie),this._onCompositionUpdate.fire(L);return}const z=V.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState$1.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(z),this._onCompositionUpdate.fire(L)})),this._register(this._textArea.onCompositionEnd(L=>{const V=this._currentComposition;if(!V)return;if(this._currentComposition=null,this._browser.isAndroid){const j=TextAreaState$1.readFromTextArea(this._textArea,this._textAreaState),ie=TextAreaState$1.deduceAndroidCompositionInput(this._textAreaState,j);this._textAreaState=j,this._onType.fire(ie),this._onCompositionEnd.fire();return}const z=V.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState$1.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(z),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(L=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const V=TextAreaState$1.readFromTextArea(this._textArea,this._textAreaState),z=TextAreaState$1.deduceInput(this._textAreaState,V,this._OS===2);z.replacePrevCharCnt===0&&z.text.length===1&&(isHighSurrogate$1(z.text.charCodeAt(0))||z.text.charCodeAt(0)===127)||(this._textAreaState=V,(z.text!==""||z.replacePrevCharCnt!==0||z.replaceNextCharCnt!==0||z.positionDelta!==0)&&this._onType.fire(z))})),this._register(this._textArea.onCut(L=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(L),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(L=>{this._ensureClipboardGetsEditorSelection(L)})),this._register(this._textArea.onPaste(L=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),L.preventDefault(),!L.clipboardData)return;let[V,z]=ClipboardEventUtils$1.getTextData(L.clipboardData);V&&(z=z||InMemoryClipboardMetadataManager$1.INSTANCE.get(V),this._onPaste.fire({text:V,metadata:z}))})),this._register(this._textArea.onFocus(()=>{const L=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!L&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new RunOnceScheduler$1(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return addDisposableListener$1(this._textArea.ownerDocument,"selectionchange",t=>{if(inputLatency$1.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const i=Date.now(),r=i-e;if(e=i,r<5)return;const g=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),g<100||!this._textAreaState.selection)return;const y=this._textArea.getValue();if(this._textAreaState.value!==y)return;const k=this._textArea.getSelectionStart(),L=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===k&&this._textAreaState.selectionEnd===L)return;const V=this._textAreaState.deduceEditorPosition(k),z=this._host.deduceModelPosition(V[0],V[1],V[2]),j=this._textAreaState.deduceEditorPosition(L),ie=this._host.deduceModelPosition(j[0],j[1],j[2]),oe=new Selection$3(z.lineNumber,z.column,ie.lineNumber,ie.column);this._onSelectionChangeRequest.fire(oe)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&e==="render"||this._currentComposition||(this._logService.trace("writeTextAreaState(reason: ".concat(e,")")),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};InMemoryClipboardMetadataManager$1.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&ClipboardEventUtils$1.setTextData(e.clipboardData,t.text,t.html,i)}};TextAreaInput$1=__decorate$4q([__param$4g(4,IAccessibilityService$1),__param$4g(5,ILogService$1)],TextAreaInput$1);const ClipboardEventUtils$1={getTextData(n){const e=n.getData(Mimes$1.text);let t=null;const i=n.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch(r){}return e.length===0&&t===null&&n.files.length>0?[Array.prototype.slice.call(n.files,0).map(g=>g.name).join("\n"),null]:[e,t]},setTextData(n,e,t,i){n.setData(Mimes$1.text,e),typeof t=="string"&&n.setData("text/html",t),n.setData("vscode-editor-data",JSON.stringify(i))}};let TextAreaWrapper$1=class extends Disposable$1{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new DomEmitter$1(this._actual,"keydown")).event,this.onKeyUp=this._register(new DomEmitter$1(this._actual,"keyup")).event,this.onCompositionStart=this._register(new DomEmitter$1(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new DomEmitter$1(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new DomEmitter$1(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new DomEmitter$1(this._actual,"beforeinput")).event,this.onInput=this._register(new DomEmitter$1(this._actual,"input")).event,this.onCut=this._register(new DomEmitter$1(this._actual,"cut")).event,this.onCopy=this._register(new DomEmitter$1(this._actual,"copy")).event,this.onPaste=this._register(new DomEmitter$1(this._actual,"paste")).event,this.onFocus=this._register(new DomEmitter$1(this._actual,"focus")).event,this.onBlur=this._register(new DomEmitter$1(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Emitter$3),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>inputLatency$1.onKeyDown())),this._register(this.onBeforeInput(()=>inputLatency$1.onBeforeInput())),this._register(this.onInput(()=>inputLatency$1.onInput())),this._register(this.onKeyUp(()=>inputLatency$1.onKeyUp())),this._register(addDisposableListener$1(this._actual,TextAreaSyntethicEvents$1.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=getShadowRoot$3(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?getActiveElement$1()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const r=this._actual;let g=null;const y=getShadowRoot$3(r);y?g=y.activeElement:g=getActiveElement$1();const k=getWindow$3(g),L=g===r,V=r.selectionStart,z=r.selectionEnd;if(L&&V===t&&z===i){isFirefox$3&&k.parent!==k&&r.focus();return}if(L){this.setIgnoreSelectionChangeTime("setSelectionRange"),r.setSelectionRange(t,i),isFirefox$3&&k.parent!==k&&r.focus();return}try{const j=saveParentsScrollTop$1(r);this.setIgnoreSelectionChangeTime("setSelectionRange"),r.focus(),r.setSelectionRange(t,i),restoreParentsScrollTop$1(r,j)}catch(j){}}},PointerEventHandler$1=class extends MouseHandler$1{constructor(e,t,i){super(e,t,i),this._register(Gesture$1.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Tap,g=>this.onTap(g))),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Change,g=>this.onChange(g))),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Contextmenu,g=>this._onContextMenu(new EditorMouseEvent$1(g,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,"pointerdown",g=>{const y=g.pointerType;if(y==="mouse"){this._lastPointerType="mouse";return}else y==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const r=new EditorPointerEventFactory$1(this.viewHelper.viewDomNode);this._register(r.onPointerMove(this.viewHelper.viewDomNode,g=>this._onMouseMove(g))),this._register(r.onPointerUp(this.viewHelper.viewDomNode,g=>this._onMouseUp(g))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,g=>this._onMouseLeave(g))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,(g,y)=>this._onMouseDown(g,y)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new EditorMouseEvent$1(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}},TouchHandler$1=class extends MouseHandler$1{constructor(e,t,i){super(e,t,i),this._register(Gesture$1.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Tap,r=>this.onTap(r))),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Change,r=>this.onChange(r))),this._register(addDisposableListener$1(this.viewHelper.linesContentDomNode,EventType$2.Contextmenu,r=>this._onContextMenu(new EditorMouseEvent$1(r,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new EditorMouseEvent$1(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const i=document.createEvent("CustomEvent");i.initEvent(TextAreaSyntethicEvents$1.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(i),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}},PointerHandler$1=class extends Disposable$1{constructor(e,t,i){super(),(isIOS$3||isAndroid$3&&isMobile$1)&&BrowserFeatures$1.pointerEvents?this.handler=this._register(new PointerEventHandler$1(e,t,i)):mainWindow$1.TouchEvent?this.handler=this._register(new TouchHandler$1(e,t,i)):this.handler=this._register(new MouseHandler$1(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}},DynamicViewOverlay$1=class extends ViewEventHandler$1{};var ia;let LineNumbersOverlay$1=(ia=class extends DynamicViewOverlay$1{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Position$3(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(96);const i=e.get(146);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$3(e,1));if(t.column!==1)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(this._renderLineNumbers===2){const r=Math.abs(this._lastCursorModelPosition.lineNumber-i);return r===0?''+i+"":String(r)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===i||i%10===0)return String(i);const r=this._context.viewModel.getLineCount();return i===r?String(i):""}return String(i)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const t=isLinux$1?this._lineHeight%2===0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,g=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(V=>!!V.options.lineNumberClassName);g.sort((V,z)=>Range$5.compareRangesUsingEnds(V.range,z.range));let y=0;const k=this._context.viewModel.getLineCount(),L=[];for(let V=i;V<=r;V++){const z=V-i;let j=this._getLineRenderLineNumber(V),ie="";for(;y').concat(j,"")}this._renderResult=L}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}},ia.CLASS_NAME="line-numbers",ia);registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorLineNumbers$1),i=n.getColor(editorDimmedLineNumber$1);i?e.addRule(".monaco-editor .line-numbers.dimmed-line-number { color: ".concat(i,"; }")):t&&e.addRule(".monaco-editor .line-numbers.dimmed-line-number { color: ".concat(t.transparent(.4),"; }"))});var fr;let Margin$1=(fr=class extends ViewPart$1{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=createFastDomNode$1(document.createElement("div")),this._domNode.setClassName(fr.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=createFastDomNode$1(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(fr.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}},fr.CLASS_NAME="glyph-margin",fr.OUTER_CLASS_NAME="margin",fr);const MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1="monaco-mouse-cursor-text";var __decorate$4p=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4f=function(n,e){return function(t,i){e(t,i,n)}};let VisibleTextAreaData$1=class{constructor(e,t,i,r,g){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=r,this.distanceToModelLineEnd=g,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Position$3(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Position$3(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}};const canUseZeroSizeTextarea$1=isFirefox$3;let TextAreaHandler$1=class extends ViewPart$1{constructor(e,t,i,r,g){super(e),this._keybindingService=r,this._instantiationService=g,this._primaryCursorPosition=new Position$3(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const y=this._context.configuration.options,k=y.get(146);this._setAccessibilityOptions(y),this._contentLeft=k.contentLeft,this._contentWidth=k.contentWidth,this._contentHeight=k.height,this._fontInfo=y.get(50),this._lineHeight=y.get(67),this._emptySelectionClipboard=y.get(37),this._copyWithSyntaxHighlighting=y.get(25),this._visibleTextArea=null,this._selections=[new Selection$3(1,1,1,1)],this._modelSelections=[new Selection$3(1,1,1,1)],this._lastRenderPosition=null,this.textArea=createFastDomNode$1(document.createElement("textarea")),PartFingerprints$1.write(this.textArea,7),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1)),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:L}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize="".concat(L*this._fontInfo.spaceWidth,"px"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(y)),this.textArea.setAttribute("aria-required",y.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(y.get(125))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",localize$1("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",y.get(92)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=createFastDomNode$1(document.createElement("div")),this.textAreaCover.setPosition("absolute");const V={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:ie=>this._context.viewModel.getLineMaxColumn(ie),getValueInRange:(ie,oe)=>this._context.viewModel.getValueInRange(ie,oe),getValueLengthInRange:(ie,oe)=>this._context.viewModel.getValueLengthInRange(ie,oe),modifyPosition:(ie,oe)=>this._context.viewModel.modifyPosition(ie,oe)},z={getDataToCopy:()=>{const ie=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,isWindows$1),oe=this._context.viewModel.model.getEOL(),re=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),ae=Array.isArray(ie)?ie:null,le=Array.isArray(ie)?ie.join(oe):ie;let de,ue=null;if(CopyOptions$1.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&le.length<65536){const he=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);he&&(de=he.html,ue=he.mode)}return{isFromEmptySelection:re,multicursorText:ae,text:le,html:de,mode:ue}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const ie=this._selections[0];if(isMacintosh$1&&ie.isEmpty()){const re=ie.getStartPosition();let ae=this._getWordBeforePosition(re);if(ae.length===0&&(ae=this._getCharacterBeforePosition(re)),ae.length>0)return new TextAreaState$1(ae,ae.length,ae.length,Range$5.fromPositions(re),0)}if(isMacintosh$1&&!ie.isEmpty()&&V.getValueLengthInRange(ie,0)<500){const re=V.getValueInRange(ie,0);return new TextAreaState$1(re,0,re.length,ie,0)}if(isSafari$2&&!ie.isEmpty()){const re="vscode-placeholder";return new TextAreaState$1(re,0,re.length,null,void 0)}return TextAreaState$1.EMPTY}if(isAndroid$2){const ie=this._selections[0];if(ie.isEmpty()){const oe=ie.getStartPosition(),[re,ae]=this._getAndroidWordAtPosition(oe);if(re.length>0)return new TextAreaState$1(re,ae,ae,Range$5.fromPositions(oe),0)}return TextAreaState$1.EMPTY}return PagedScreenReaderStrategy$1.fromEditorSelection(V,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(ie,oe,re)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(ie,oe,re)},j=this._register(new TextAreaWrapper$1(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(TextAreaInput$1,z,j,OS$1,{isAndroid:isAndroid$2,isChrome:isChrome$2,isFirefox:isFirefox$3,isSafari:isSafari$2})),this._register(this._textAreaInput.onKeyDown(ie=>{this._viewController.emitKeyDown(ie)})),this._register(this._textAreaInput.onKeyUp(ie=>{this._viewController.emitKeyUp(ie)})),this._register(this._textAreaInput.onPaste(ie=>{let oe=!1,re=null,ae=null;ie.metadata&&(oe=this._emptySelectionClipboard&&!!ie.metadata.isFromEmptySelection,re=typeof ie.metadata.multicursorText<"u"?ie.metadata.multicursorText:null,ae=ie.metadata.mode),this._viewController.paste(ie.text,oe,re,ae)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(ie=>{ie.replacePrevCharCnt||ie.replaceNextCharCnt||ie.positionDelta?this._viewController.compositionType(ie.text,ie.replacePrevCharCnt,ie.replaceNextCharCnt,ie.positionDelta):this._viewController.type(ie.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(ie=>{this._viewController.setSelection(ie)})),this._register(this._textAreaInput.onCompositionStart(ie=>{const oe=this.textArea.domNode,re=this._modelSelections[0],{distanceToModelLineStart:ae,widthOfHiddenTextBefore:le}=(()=>{const ue=oe.value.substring(0,Math.min(oe.selectionStart,oe.selectionEnd)),he=ue.lastIndexOf("\n"),pe=ue.substring(he+1),Ce=pe.lastIndexOf(" "),$e=pe.length-Ce-1,xe=re.getStartPosition(),Ie=Math.min(xe.column-1,$e),Ne=xe.column-1-Ie,Fe=pe.substring(0,pe.length-Ie),{tabSize:Ve}=this._context.viewModel.model.getOptions(),Oe=measureText$1(this.textArea.domNode.ownerDocument,Fe,this._fontInfo,Ve);return{distanceToModelLineStart:Ne,widthOfHiddenTextBefore:Oe}})(),{distanceToModelLineEnd:de}=(()=>{const ue=oe.value.substring(Math.max(oe.selectionStart,oe.selectionEnd)),he=ue.indexOf("\n"),pe=he===-1?ue:ue.substring(0,he),Ce=pe.indexOf(" "),$e=Ce===-1?pe.length:pe.length-Ce-1,xe=re.getEndPosition(),Ie=Math.min(this._context.viewModel.model.getLineMaxColumn(xe.lineNumber)-xe.column,$e);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(xe.lineNumber)-xe.column-Ie}})();this._context.viewModel.revealRange("keyboard",!0,Range$5.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new VisibleTextAreaData$1(this._context,re.startLineNumber,ae,le,de),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1," ime-input")),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(ie=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1)),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(IME$1.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),r=getMapForWordSeparators$1(t,[]);let g=!0,y=e.column,k=!0,L=e.column,V=0;for(;V<50&&(g||k);){if(g&&y<=1&&(g=!1),g){const z=i.charCodeAt(y-2);r.get(z)!==0?g=!1:y--}if(k&&L>i.length&&(k=!1),k){const z=i.charCodeAt(L-1);r.get(z)!==0?k=!1:L++}V++}return[i.substring(y-1,L-1),e.column-y]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=getMapForWordSeparators$1(this._context.configuration.options.get(132),[]);let r=e.column,g=0;for(;r>1;){const y=t.charCodeAt(r-2);if(i.get(y)!==0||g>50)return t.substring(r-1,e.column-1);g++,r--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!isHighSurrogate$1(i.charCodeAt(0)))return i}return""}_getAriaLabel(e){var i,r,g;if(e.get(2)===1){const y=(i=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))==null?void 0:i.getAriaLabel(),k=(r=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))==null?void 0:r.getAriaLabel(),L=(g=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))==null?void 0:g.getAriaLabel(),V=localize$1("accessibilityModeOff","The editor is not accessible at this time.");return y?localize$1("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",V,y):k?localize$1("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",V,k):L?localize$1("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",V,L):V}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===EditorOptions$1.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const r=e.get(146).wrappingColumn;if(r!==-1&&this._accessibilitySupport!==1){const g=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(r*g.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=canUseZeroSizeTextarea$1?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:r}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize="".concat(r*this._fontInfo.spaceWidth,"px"),this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(125))),(e.hasChanged(34)||e.hasChanged(92))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!IME$1.enabled||e.get(34)&&e.get(92)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new Position$3(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),(t=this._visibleTextArea)==null||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var i;if(this._visibleTextArea){const r=this._visibleTextArea.visibleTextareaStart,g=this._visibleTextArea.visibleTextareaEnd,y=this._visibleTextArea.startPosition,k=this._visibleTextArea.endPosition;if(y&&k&&r&&g&&g.left>=this._scrollLeft&&r.left<=this._scrollLeft+this._contentWidth){const L=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,V=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let z=this._visibleTextArea.widthOfHiddenLineTextBefore,j=this._contentLeft+r.left-this._scrollLeft,ie=g.left-r.left+1;if(jthis._contentWidth&&(ie=this._contentWidth);const oe=this._context.viewModel.getViewLineData(y.lineNumber),re=oe.tokens.findTokenIndexAtOffset(y.column-1),ae=oe.tokens.findTokenIndexAtOffset(k.column-1),le=re===ae,de=this._visibleTextArea.definePresentation(le?oe.tokens.getPresentation(re):null);this.textArea.domNode.scrollTop=V*this._lineHeight,this.textArea.domNode.scrollLeft=z,this._doRender({lastRenderPosition:null,top:L,left:j,width:ie,height:this._lineHeight,useCover:!1,color:(TokenizationRegistry$2.getColorMap()||[])[de.foreground],italic:de.italic,bold:de.bold,underline:de.underline,strikethrough:de.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const e=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(ethis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const t=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(t<0||t>this._contentHeight){this._renderAtTopLeft();return}if(isMacintosh$1||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const r=(i=this._textAreaInput.textAreaState.newlineCountBeforeSelection)!=null?i:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=r*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:t,left:this._textAreaWrapping?this._contentLeft:e,width:this._textAreaWidth,height:canUseZeroSizeTextarea$1?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;do{if(i=e.indexOf("\n",i+1),i===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:canUseZeroSizeTextarea$1?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;applyFontInfo$1(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Color$2.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration("".concat(e.underline?" underline":"").concat(e.strikethrough?" line-through":"")),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const r=this._context.configuration.options;r.get(57)?i.setClassName("monaco-editor-background textAreaCover "+Margin$1.OUTER_CLASS_NAME):r.get(68).renderType!==0?i.setClassName("monaco-editor-background textAreaCover "+LineNumbersOverlay$1.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};TextAreaHandler$1=__decorate$4p([__param$4f(3,IKeybindingService$1),__param$4f(4,IInstantiationService$1)],TextAreaHandler$1);function measureText$1(n,e,t,i){if(e.length===0)return 0;const r=n.createElement("div");r.style.position="absolute",r.style.top="-50000px",r.style.width="50000px";const g=n.createElement("span");applyFontInfo$1(g,t),g.style.whiteSpace="pre",g.style.tabSize="".concat(i*t.spaceWidth,"px"),g.append(e),r.appendChild(g),n.body.appendChild(r);const y=g.offsetWidth;return r.remove(),y}const autoCloseAlways$1=()=>!0,autoCloseNever$1=()=>!1,autoCloseBeforeWhitespace$1=n=>n===" "||n===" ";let CursorConfiguration$1=class{static shouldRecreate(e){return e.hasChanged(146)||e.hasChanged(132)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(129)||e.hasChanged(50)||e.hasChanged(92)||e.hasChanged(131)}constructor(e,t,i,r){var z;this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const g=i.options,y=g.get(146),k=g.get(50);this.readOnly=g.get(92),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=g.get(117),this.lineHeight=k.lineHeight,this.typicalHalfwidthCharacterWidth=k.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(y.height/this.lineHeight)-2),this.useTabStops=g.get(129),this.wordSeparators=g.get(132),this.emptySelectionClipboard=g.get(37),this.copyWithSyntaxHighlighting=g.get(25),this.multiCursorMergeOverlapping=g.get(77),this.multiCursorPaste=g.get(79),this.multiCursorLimit=g.get(80),this.autoClosingBrackets=g.get(6),this.autoClosingComments=g.get(7),this.autoClosingQuotes=g.get(11),this.autoClosingDelete=g.get(9),this.autoClosingOvertype=g.get(10),this.autoSurround=g.get(14),this.autoIndent=g.get(12),this.wordSegmenterLocales=g.get(131),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const L=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(L)for(const j of L)this.surroundingPairs[j.open]=j.close;const V=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=(z=V==null?void 0:V.blockCommentStartToken)!=null?z:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)==null?void 0:e.getElectricCharacters();if(t)for(const i of t)this._electricChars[i]=!0}return this._electricChars}onElectricCharacter(e,t,i){const r=createScopedLineTokens$1(t,i-1),g=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return g?g.onElectricCharacter(e,r,i-r.firstCharOffset):null}normalizeIndentation(e){return normalizeIndentation$1(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return autoCloseBeforeWhitespace$1;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return autoCloseAlways$1;case"never":return autoCloseNever$1}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return r=>i.indexOf(r)!==-1}visibleColumnFromColumn(e,t){return CursorColumns$1.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const r=CursorColumns$1.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),g=e.getLineMinColumn(t);if(ry?y:r}},CursorState$3=class fh{static fromModelState(e){return new PartialModelCursorState$1(e)}static fromViewState(e){return new PartialViewCursorState$1(e)}static fromModelSelection(e){const t=Selection$3.liftSelection(e),i=new SingleCursorState$1(Range$5.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return fh.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,r=e.length;ig,V=r>y,z=ry||der||le0&&r--,ph.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)}static columnSelectRight(e,t,i){let r=0;const g=Math.min(i.fromViewLineNumber,i.toViewLineNumber),y=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let L=g;L<=y;L++){const V=t.getLineMaxColumn(L),z=e.visibleColumnFromColumn(t,new Position$3(L,V));r=Math.max(r,z)}let k=i.toViewVisualColumn;return ke.getLineMinColumn(t.lineNumber))return t.delta(void 0,-prevCharLength$1(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Position$3(i,e.getLineMaxColumn(i))}else return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const r=e.getLineMinColumn(t.lineNumber),g=e.getLineContent(t.lineNumber),y=AtomicTabMoveOperations$1.atomicPosition(g,t.column-1,i,0);if(y!==-1&&y+1>=r)return new Position$3(t.lineNumber,y+1)}return this.leftPosition(e,t)}static left(e,t,i){const r=e.stickyTabStops?Xn.leftPositionAtomicSoftTabs(t,i,e.tabSize):Xn.leftPosition(t,i);return new CursorPosition$1(r.lineNumber,r.column,0)}static moveLeft(e,t,i,r,g){let y,k;if(i.hasSelection()&&!r)y=i.selection.startLineNumber,k=i.selection.startColumn;else{const L=i.position.delta(void 0,-(g-1)),V=t.normalizePosition(Xn.clipPositionColumn(L,t),0),z=Xn.left(e,t,V);y=z.lineNumber,k=z.column}return i.move(r,y,k,0)}static clipPositionColumn(e,t){return new Position$3(e.lineNumber,Xn.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return iz?(i=z,k?r=t.getLineMaxColumn(i):r=Math.min(t.getLineMaxColumn(i),r)):r=e.columnFromVisibleColumn(t,i,V),oe?g=0:g=V-CursorColumns$1.visibleColumnFromColumn(t.getLineContent(i),r,e.tabSize),L!==void 0){const re=new Position$3(i,r),ae=t.normalizePosition(re,L);g=g+(r-ae.column),i=ae.lineNumber,r=ae.column}return new CursorPosition$1(i,r,g)}static down(e,t,i,r,g,y,k){return this.vertical(e,t,i,r,g,i+y,k,4)}static moveDown(e,t,i,r,g){let y,k;i.hasSelection()&&!r?(y=i.selection.endLineNumber,k=i.selection.endColumn):(y=i.position.lineNumber,k=i.position.column);let L=0,V;do if(V=Xn.down(e,t,y+L,k,i.leftoverVisibleColumns,g,!0),t.normalizePosition(new Position$3(V.lineNumber,V.column),2).lineNumber>y)break;while(L++<10&&y+L1&&this._isBlankLine(t,g);)g--;for(;g>1&&!this._isBlankLine(t,g);)g--;return i.move(r,g,t.getLineMinColumn(g),0)}static moveToNextBlankLine(e,t,i,r){const g=t.getLineCount();let y=i.position.lineNumber;for(;y=ie.length+1)return!1;const oe=ie.charAt(j.column-2),re=r.get(oe);if(!re)return!1;if(isQuote$4(oe)){if(i==="never")return!1}else if(t==="never")return!1;const ae=ie.charAt(j.column-1);let le=!1;for(const de of re)de.open===oe&&de.close===ae&&(le=!0);if(!le)return!1;if(e==="auto"){let de=!1;for(let ue=0,he=k.length;ue1){const g=t.getLineContent(r.lineNumber),y=firstNonWhitespaceIndex$1(g),k=y===-1?g.length+1:y+1;if(r.column<=k){const L=i.visibleColumnFromColumn(t,r),V=CursorColumns$1.prevIndentTabStop(L,i.indentSize),z=i.columnFromVisibleColumn(t,r.lineNumber,V);return new Range$5(r.lineNumber,z,r.lineNumber,r.column)}}return Range$5.fromPositions(Md.getPositionAfterDeleteLeft(r,t),r)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=getLeftDeleteOffset$1(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}else if(e.lineNumber>1){const i=e.lineNumber-1;return new Position$3(i,t.getLineMaxColumn(i))}else return e}static cut(e,t,i){const r=[];let g=null;i.sort((y,k)=>Position$3.compare(y.getStartPosition(),k.getEndPosition()));for(let y=0,k=i.length;y1&&(g==null?void 0:g.endLineNumber)!==V.lineNumber?(z=V.lineNumber-1,j=t.getLineMaxColumn(V.lineNumber-1),ie=V.lineNumber,oe=t.getLineMaxColumn(V.lineNumber)):(z=V.lineNumber,j=1,ie=V.lineNumber,oe=t.getLineMaxColumn(V.lineNumber));const re=new Range$5(z,j,ie,oe);g=re,re.isEmpty()?r[y]=null:r[y]=new ReplaceCommand$1(re,"")}else r[y]=null;else r[y]=new ReplaceCommand$1(L,"")}return new EditOperationResult$1(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}},WordOperations$1=class Fn{static _createWord(e,t,i,r,g){return{start:r,end:g,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const r=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(r,e,i)}static _doFindPreviousWordOnLine(e,t,i){let r=0;const g=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let y=i.column-2;y>=0;y--){const k=e.charCodeAt(y),L=t.get(k);if(g&&y===g.index)return this._createIntlWord(g,L);if(L===0){if(r===2)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1));r=1}else if(L===2){if(r===1)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1));r=2}else if(L===1&&r!==0)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1))}return r!==0?this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0)):null}static _findEndOfWord(e,t,i,r){const g=t.findNextIntlWordAtOrAfterOffset(e,r),y=e.length;for(let k=r;k=0;y--){const k=e.charCodeAt(y),L=t.get(k);if(g&&y===g.index)return y;if(L===1||i===1&&L===2||i===2&&L===0)return y+1}return 0}static moveWordLeft(e,t,i,r,g){let y=i.lineNumber,k=i.column;k===1&&y>1&&(y=y-1,k=t.getLineMaxColumn(y));let L=Fn._findPreviousWordOnLine(e,t,new Position$3(y,k));if(r===0)return new Position$3(y,L?L.start+1:1);if(r===1)return!g&&L&&L.wordType===2&&L.end-L.start===1&&L.nextCharClass===0&&(L=Fn._findPreviousWordOnLine(e,t,new Position$3(y,L.start+1))),new Position$3(y,L?L.start+1:1);if(r===3){for(;L&&L.wordType===2;)L=Fn._findPreviousWordOnLine(e,t,new Position$3(y,L.start+1));return new Position$3(y,L?L.start+1:1)}return L&&k<=L.end+1&&(L=Fn._findPreviousWordOnLine(e,t,new Position$3(y,L.start+1))),new Position$3(y,L?L.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===1)return i>1?new Position$3(i-1,e.getLineMaxColumn(i-1)):t;const g=e.getLineContent(i);for(let y=t.column-1;y>1;y--){const k=g.charCodeAt(y-2),L=g.charCodeAt(y-1);if(k===95&&L!==95)return new Position$3(i,y);if(k===45&&L!==45)return new Position$3(i,y);if((isLowerAsciiLetter$1(k)||isAsciiDigit$1(k))&&isUpperAsciiLetter$1(L))return new Position$3(i,y);if(isUpperAsciiLetter$1(k)&&isUpperAsciiLetter$1(L)&&y+1=L.start+1&&(L=Fn._findNextWordOnLine(e,t,new Position$3(g,L.end+1))),L?y=L.start+1:y=t.getLineMaxColumn(g);return new Position$3(g,y)}static _moveWordPartRight(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===r)return i1?V=1:(L--,V=r.getLineMaxColumn(L)):(z&&V<=z.end+1&&(z=Fn._findPreviousWordOnLine(i,r,new Position$3(L,z.start+1))),z?V=z.end+1:V>1?V=1:(L--,V=r.getLineMaxColumn(L))),new Range$5(L,V,k.lineNumber,k.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const r=new Position$3(i.positionLineNumber,i.positionColumn),g=this._deleteInsideWordWhitespace(t,r);return g||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),r=i.length;if(r===0)return null;let g=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,g))return null;let y=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(i,y))return null;for(;g>0&&this._charAtIsWhitespace(i,g-1);)g--;for(;y+11?new Range$5(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberj.start+1<=i.column&&i.column<=j.end+1,k=(j,ie)=>(j=Math.min(j,i.column),ie=Math.max(ie,i.column),new Range$5(i.lineNumber,j,i.lineNumber,ie)),L=j=>{let ie=j.start+1,oe=j.end+1,re=!1;for(;oe-11&&this._charAtIsWhitespace(r,ie-2);)ie--;return k(ie,oe)},V=Fn._findPreviousWordOnLine(e,t,i);if(V&&y(V))return L(V);const z=Fn._findNextWordOnLine(e,t,i);return z&&y(z)?L(z):V&&z?k(V.end+1,z.start+1):V?k(V.start+1,V.end+1):z?k(z.start+1,z.end+1):k(1,g+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),r=Fn._moveWordPartLeft(e,i);return new Range$5(i.lineNumber,i.column,r.lineNumber,r.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let r=t;r=ie.start+1&&(ie=Fn._findNextWordOnLine(i,r,new Position$3(L,ie.end+1))),ie?V=ie.start+1:V!!e)}let CursorMoveCommands$1=class{static addCursorDown(e,t,i){const r=[];let g=0;for(let y=0,k=t.length;yV&&(z=V,j=e.model.getLineMaxColumn(z)),CursorState$3.fromModelState(new SingleCursorState$1(new Range$5(y.lineNumber,1,z,j),2,0,new Position$3(z,j),0))}const L=t.modelState.selectionStart.getStartPosition().lineNumber;if(y.lineNumberL){const V=e.getLineCount();let z=k.lineNumber+1,j=1;return z>V&&(z=V,j=e.getLineMaxColumn(z)),CursorState$3.fromViewState(t.viewState.move(!0,z,j,0))}else{const V=t.modelState.selectionStart.getEndPosition();return CursorState$3.fromModelState(t.modelState.move(!0,V.lineNumber,V.column,0))}}static word(e,t,i,r){const g=e.model.validatePosition(r);return CursorState$3.fromModelState(WordOperations$1.word(e.cursorConfig,e.model,t.modelState,i,g))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new CursorState$3(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,r=t.viewState.position.column;return CursorState$3.fromViewState(new SingleCursorState$1(new Range$5(i,r,i,r),0,0,new Position$3(i,r),0))}static moveTo(e,t,i,r,g){if(i){if(t.modelState.selectionStartKind===1)return this.word(e,t,i,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,i,r,g)}const y=e.model.validatePosition(r),k=g?e.coordinatesConverter.validateViewPosition(new Position$3(g.lineNumber,g.column),y):e.coordinatesConverter.convertModelPositionToViewPosition(y);return CursorState$3.fromViewState(t.viewState.move(i,k.lineNumber,k.column,0))}static simpleMove(e,t,i,r,g,y){switch(i){case 0:return y===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,g);case 1:return y===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,g);case 2:return y===2?this._moveUpByViewLines(e,t,r,g):this._moveUpByModelLines(e,t,r,g);case 3:return y===2?this._moveDownByViewLines(e,t,r,g):this._moveDownByModelLines(e,t,r,g);case 4:return y===2?t.map(k=>CursorState$3.fromViewState(MoveOperations$1.moveToPrevBlankLine(e.cursorConfig,e,k.viewState,r))):t.map(k=>CursorState$3.fromModelState(MoveOperations$1.moveToPrevBlankLine(e.cursorConfig,e.model,k.modelState,r)));case 5:return y===2?t.map(k=>CursorState$3.fromViewState(MoveOperations$1.moveToNextBlankLine(e.cursorConfig,e,k.viewState,r))):t.map(k=>CursorState$3.fromModelState(MoveOperations$1.moveToNextBlankLine(e.cursorConfig,e.model,k.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,i,r,g){const y=e.getCompletelyVisibleViewRange(),k=e.coordinatesConverter.convertViewRangeToModelRange(y);switch(i){case 11:{const L=this._firstLineNumberInRange(e.model,k,g),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 13:{const L=this._lastLineNumberInRange(e.model,k,g),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 12:{const L=Math.round((k.startLineNumber+k.endLineNumber)/2),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 14:{const L=[];for(let V=0,z=t.length;Vi.endLineNumber-1?y=i.endLineNumber-1:gCursorState$3.fromViewState(MoveOperations$1.moveLeft(e.cursorConfig,e,g.viewState,i,r)))}static _moveHalfLineLeft(e,t,i){const r=[];for(let g=0,y=t.length;gCursorState$3.fromViewState(MoveOperations$1.moveRight(e.cursorConfig,e,g.viewState,i,r)))}static _moveHalfLineRight(e,t,i){const r=[];for(let g=0,y=t.length;g{this.model.tokenization.forceTokenization(oe);const re=this.model.tokenization.getLineTokens(oe),ae=this.model.getLineMaxColumn(oe)-1;return createScopedLineTokens$1(re,ae)};this.model.tokenization.forceTokenization(e.startLineNumber);const i=this.model.tokenization.getLineTokens(e.startLineNumber),r=createScopedLineTokens$1(i,e.startColumn-1),g=LineTokens$1.createEmpty("",r.languageIdCodec),y=e.startLineNumber-1;if(y===0||!(r.firstCharOffset===0))return g;const V=t(y);if(!(r.languageId===V.languageId))return g;const j=V.toIViewLineTokens();return this.indentationLineProcessor.getProcessedTokens(j)}}class IndentationLineProcessor{constructor(e,t){this.model=e,this.languageConfigurationService=t}getProcessedLine(e,t){var y,k;const i=(L,V)=>{const z=getLeadingWhitespace$1(L);return V+L.substring(z.length)};(k=(y=this.model.tokenization).forceTokenization)==null||k.call(y,e);const r=this.model.tokenization.getLineTokens(e);let g=this.getProcessedTokens(r).getLineContent();return t!==void 0&&(g=i(g,t)),g}getProcessedTokens(e){const t=L=>L===2||L===3||L===1,i=e.getLanguageId(0),g=this.languageConfigurationService.getLanguageConfiguration(i).bracketsNew.getBracketRegExp({global:!0}),y=[];return e.forEach(L=>{const V=e.getStandardTokenType(L);let z=e.getTokenText(L);t(V)&&(z=z.replace(g,""));const j=e.getMetadata(L);y.push({text:z,metadata:j})}),LineTokens$1.createFromTextAndMetadata(y,e.languageIdCodec)}}function isLanguageDifferentFromLineStart(n,e){n.tokenization.forceTokenization(e.lineNumber);const t=n.tokenization.getLineTokens(e.lineNumber),i=createScopedLineTokens$1(t,e.column-1),r=i.firstCharOffset===0,g=t.getLanguageId(0)===i.languageId;return!r&&!g}function getEnterAction$1(n,e,t,i){e.tokenization.forceTokenization(t.startLineNumber);const r=e.getLanguageIdAtPosition(t.startLineNumber,t.startColumn),g=i.getLanguageConfiguration(r);if(!g)return null;const k=new IndentationContextProcessor(e,i).getProcessedTokenContextAroundRange(t),L=k.previousLineProcessedTokens.getLineContent(),V=k.beforeRangeProcessedTokens.getLineContent(),z=k.afterRangeProcessedTokens.getLineContent(),j=g.onEnter(n,L,V,z);if(!j)return null;const ie=j.indentAction;let oe=j.appendText;const re=j.removeText||0;oe?ie===IndentAction$2.Indent&&(oe=" "+oe):ie===IndentAction$2.Indent||ie===IndentAction$2.IndentOutdent?oe=" ":oe="";let ae=getIndentationAtPosition$1(e,t.startLineNumber,t.startColumn);return re&&(ae=ae.substring(0,ae.length-re)),{indentAction:ie,appendText:oe,removeText:re,indentation:ae}}var __decorate$4o=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4e=function(n,e){return function(t,i){e(t,i,n)}},ShiftCommand_1$1;const repeatCache$1=Object.create(null);function cachedStringRepeat$1(n,e){if(e<=0)return"";repeatCache$1[n]||(repeatCache$1[n]=["",n]);const t=repeatCache$1[n];for(let i=t.length;i<=e;i++)t[i]=t[i-1]+n;return t[e]}let ShiftCommand$1=ShiftCommand_1$1=class{static unshiftIndent(e,t,i,r,g){const y=CursorColumns$1.visibleColumnFromColumn(e,t,i);if(g){const k=cachedStringRepeat$1(" ",r),V=CursorColumns$1.prevIndentTabStop(y,r)/r;return cachedStringRepeat$1(k,V)}else{const k=" ",V=CursorColumns$1.prevRenderTabStop(y,i)/i;return cachedStringRepeat$1(k,V)}}static shiftIndent(e,t,i,r,g){const y=CursorColumns$1.visibleColumnFromColumn(e,t,i);if(g){const k=cachedStringRepeat$1(" ",r),V=CursorColumns$1.nextIndentTabStop(y,r)/r;return cachedStringRepeat$1(k,V)}else{const k=" ",V=CursorColumns$1.nextRenderTabStop(y,i)/i;return cachedStringRepeat$1(k,V)}}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let r=this._selection.endLineNumber;this._selection.endColumn===1&&i!==r&&(r=r-1);const{tabSize:g,indentSize:y,insertSpaces:k}=this._opts,L=i===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let V=0,z=0;for(let j=i;j<=r;j++,V=z){z=0;const ie=e.getLineContent(j);let oe=firstNonWhitespaceIndex$1(ie);if(this._opts.isUnshift&&(ie.length===0||oe===0)||!L&&!this._opts.isUnshift&&ie.length===0)continue;if(oe===-1&&(oe=ie.length),j>1&&CursorColumns$1.visibleColumnFromColumn(ie,oe+1,g)%y!==0&&e.tokenization.isCheapToTokenize(j-1)){const le=getEnterAction$1(this._opts.autoIndent,e,new Range$5(j-1,e.getLineMaxColumn(j-1),j-1,e.getLineMaxColumn(j-1)),this._languageConfigurationService);if(le){if(z=V,le.appendText)for(let de=0,ue=le.appendText.length;de1){let r,g=-1;for(r=e-1;r>=1;r--){if(n.tokenization.getLanguageIdAtPosition(r,0)!==i)return g;const y=n.getLineContent(r);if(t.shouldIgnore(r)||/^\s+$/.test(y)||y===""){g=r;continue}return r}}return-1}function getInheritIndentForLine$1(n,e,t,i=!0,r){if(n<4)return null;const g=r.getLanguageConfiguration(e.tokenization.getLanguageId()).indentRulesSupport;if(!g)return null;const y=new ProcessedIndentRulesSupport(e,g,r);if(t<=1)return{indentation:"",action:null};for(let L=t-1;L>0&&e.getLineContent(L)==="";L--)if(L===1)return{indentation:"",action:null};const k=getPrecedingValidLine$1(e,t,y);if(k<0)return null;if(k<1)return{indentation:"",action:null};if(y.shouldIncrease(k)||y.shouldIndentNextLine(k)){const L=e.getLineContent(k);return{indentation:getLeadingWhitespace$1(L),action:IndentAction$2.Indent,line:k}}else if(y.shouldDecrease(k)){const L=e.getLineContent(k);return{indentation:getLeadingWhitespace$1(L),action:null,line:k}}else{if(k===1)return{indentation:getLeadingWhitespace$1(e.getLineContent(k)),action:null,line:k};const L=k-1,V=g.getIndentMetadata(e.getLineContent(L));if(!(V&3)&&V&4){let z=0;for(let j=L-1;j>0;j--)if(!y.shouldIndentNextLine(j)){z=j;break}return{indentation:getLeadingWhitespace$1(e.getLineContent(z+1)),action:null,line:z+1}}if(i)return{indentation:getLeadingWhitespace$1(e.getLineContent(k)),action:null,line:k};for(let z=k;z>0;z--){if(y.shouldIncrease(z))return{indentation:getLeadingWhitespace$1(e.getLineContent(z)),action:IndentAction$2.Indent,line:z};if(y.shouldIndentNextLine(z)){let j=0;for(let ie=z-1;ie>0;ie--)if(!y.shouldIndentNextLine(z)){j=ie;break}return{indentation:getLeadingWhitespace$1(e.getLineContent(j+1)),action:null,line:j+1}}else if(y.shouldDecrease(z))return{indentation:getLeadingWhitespace$1(e.getLineContent(z)),action:null,line:z}}return{indentation:getLeadingWhitespace$1(e.getLineContent(1)),action:null,line:1}}}function getGoodIndentForLine$1(n,e,t,i,r,g){if(n<4)return null;const y=g.getLanguageConfiguration(t);if(!y)return null;const k=g.getLanguageConfiguration(t).indentRulesSupport;if(!k)return null;const L=new ProcessedIndentRulesSupport(e,k,g),V=getInheritIndentForLine$1(n,e,i,void 0,g);if(V){const z=V.line;if(z!==void 0){let j=!0;for(let ie=z;ie0){const de=e.getLineContent(le);if(V.shouldIndentNextLine(de)&&V.shouldIncrease(ae)){const ue=getInheritIndentForLine$1(y,e,t.startLineNumber,!1,g),he=ue==null?void 0:ue.indentation;if(he!==void 0){const pe=e.getLineContent(t.startLineNumber),Ce=getLeadingWhitespace$1(pe),xe=r.shiftIndent(he)===Ce,Ie=/^\s*$/.test(re),Ne=n.autoClosingPairs.autoClosingPairsOpenByEnd.get(i),Ve=Ne&&Ne.length>0&&Ie;if(xe&&Ve)return he}}}return null}function getIndentMetadata$1(n,e,t){const i=t.getLanguageConfiguration(n.getLanguageId()).indentRulesSupport;return!i||e<1||e>n.getLineCount()?null:i.getIndentMetadata(n.getLineContent(e))}function createVirtualModelWithModifiedTokensAtLine(n,e,t){return{tokenization:{getLineTokens:r=>r===e?t:n.tokenization.getLineTokens(r),getLanguageId:()=>n.getLanguageId(),getLanguageIdAtPosition:(r,g)=>n.getLanguageIdAtPosition(r,g)},getLineContent:r=>r===e?t.getLineContent():n.getLineContent(r)}}class AutoIndentOperation{static getEdits(e,t,i,r,g){if(!g&&this._isAutoIndentType(e,t,i)){const y=[];for(const L of i){const V=this._findActualIndentationForSelection(e,t,L,r);if(V===null)return;y.push({selection:L,indentation:V})}const k=AutoClosingOpenCharTypeOperation.getAutoClosingPairClose(e,t,i,r,!1);return this._getIndentationAndAutoClosingPairEdits(e,t,y,r,k)}}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let r=0,g=i.length;rshiftIndent(e,k),unshiftIndent:k=>unshiftIndent(e,k)},e.languageConfigurationService);if(g===null)return null;const y=getIndentationAtPosition$1(t,i.startLineNumber,i.startColumn);return g===e.normalizeIndentation(y)?null:g}static _getIndentationAndAutoClosingPairEdits(e,t,i,r,g){const y=i.map(({selection:L,indentation:V})=>{if(g!==null){const z=this._getEditFromIndentationAndSelection(e,t,V,L,r,!1);return new TypeWithIndentationAndAutoClosingCommand(z,L,r,g)}else{const z=this._getEditFromIndentationAndSelection(e,t,V,L,r,!0);return typeCommand(z.range,z.text,!1)}}),k={shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1};return new EditOperationResult$1(4,y,k)}static _getEditFromIndentationAndSelection(e,t,i,r,g,y=!0){const k=r.startLineNumber,L=t.getLineFirstNonWhitespaceColumn(k);let V=e.normalizeIndentation(i);if(L!==0){const j=t.getLineContent(k);V+=j.substring(L-1,r.startColumn-1)}return V+=y?g:"",{range:new Range$5(k,1,r.endLineNumber,r.endColumn),text:V}}}class AutoClosingOvertypeOperation{static getEdits(e,t,i,r,g,y){if(isAutoClosingOvertype(t,i,r,g,y))return this._runAutoClosingOvertype(e,r,y)}static _runAutoClosingOvertype(e,t,i){const r=[];for(let g=0,y=t.length;gnew ReplaceCommand$1(new Range$5(k.positionLineNumber,k.positionColumn,k.positionLineNumber,k.positionColumn+1),"",!1));return new EditOperationResult$1(4,y,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}}}class AutoClosingOpenCharTypeOperation{static getEdits(e,t,i,r,g,y){if(!y){const k=this.getAutoClosingPairClose(e,t,i,r,g);if(k!==null)return this._runAutoClosingOpenCharType(i,r,g,k)}}static _runAutoClosingOpenCharType(e,t,i,r){const g=[];for(let y=0,k=e.length;y{const ae=re.getPosition();return g?{lineNumber:ae.lineNumber,beforeColumn:ae.column-r.length,afterColumn:ae.column}:{lineNumber:ae.lineNumber,beforeColumn:ae.column,afterColumn:ae.column}}),k=this._findAutoClosingPairOpen(e,t,y.map(re=>new Position$3(re.lineNumber,re.beforeColumn)),r);if(!k)return null;let L,V;if(isQuote$4(r)?(L=e.autoClosingQuotes,V=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?k.open.includes(e.blockCommentStartToken):!1)?(L=e.autoClosingComments,V=e.shouldAutoCloseBefore.comment):(L=e.autoClosingBrackets,V=e.shouldAutoCloseBefore.bracket),L==="never")return null;const j=this._findContainedAutoClosingPair(e,k),ie=j?j.close:"";let oe=!0;for(const re of y){const{lineNumber:ae,beforeColumn:le,afterColumn:de}=re,ue=t.getLineContent(ae),he=ue.substring(0,le-1),pe=ue.substring(de-1);if(pe.startsWith(ie)||(oe=!1),pe.length>0){const Ie=pe.charAt(0);if(!this._isBeforeClosingBrace(e,pe)&&!V(Ie))return null}if(k.open.length===1&&(r==="'"||r==='"')&&L!=="always"){const Ie=getMapForWordSeparators$1(e.wordSeparators,[]);if(he.length>0){const Ne=he.charCodeAt(he.length-1);if(Ie.get(Ne)===0)return null}}if(!t.tokenization.isCheapToTokenize(ae))return null;t.tokenization.forceTokenization(ae);const Ce=t.tokenization.getLineTokens(ae),$e=createScopedLineTokens$1(Ce,le-1);if(!k.shouldAutoClose($e,le-$e.firstCharOffset))return null;const xe=k.findNeutralCharacter();if(xe){const Ie=t.tokenization.getTokenTypeIfInsertingCharacter(ae,le,xe);if(!k.isOK(Ie))return null}}return oe?k.close.substring(0,k.close.length-ie.length):k.close}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let g=null;for(const y of r)y.open!==t.open&&t.open.includes(y.open)&&t.close.endsWith(y.close)&&(!g||y.open.length>g.open.length)&&(g=y);return g}static _findAutoClosingPairOpen(e,t,i,r){const g=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!g)return null;let y=null;for(const k of g)if(y===null||k.open.length>y.open.length){let L=!0;for(const V of i)if(t.getValueInRange(new Range$5(V.lineNumber,V.column-k.open.length+1,V.lineNumber,V.column))+r!==k.open){L=!1;break}L&&(y=k)}return y}static _isBeforeClosingBrace(e,t){const i=t.charAt(0),r=e.autoClosingPairs.autoClosingPairsOpenByStart.get(i)||[],g=e.autoClosingPairs.autoClosingPairsCloseByStart.get(i)||[],y=r.some(L=>t.startsWith(L.open)),k=g.some(L=>t.startsWith(L.close));return!y&&k}}class SurroundSelectionOperation{static getEdits(e,t,i,r,g){if(!g&&this._isSurroundSelectionType(e,t,i,r))return this._runSurroundSelectionType(e,i,r)}static _runSurroundSelectionType(e,t,i){const r=[];for(let g=0,y=t.length;g=4){const L=getIndentForEnter$1(e.autoIndent,t,r,{unshiftIndent:V=>unshiftIndent(e,V),shiftIndent:V=>shiftIndent(e,V),normalizeIndentation:V=>e.normalizeIndentation(V)},e.languageConfigurationService);if(L){let V=e.visibleColumnFromColumn(t,r.getEndPosition());const z=r.endColumn,j=t.getLineContent(r.endLineNumber),ie=firstNonWhitespaceIndex$1(j);if(ie>=0?r=r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,ie+1)):r=r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),i)return new ReplaceCommandWithoutChangingPosition$1(r,"\n"+e.normalizeIndentation(L.afterEnter),!0);{let oe=0;return z<=ie+1&&(e.insertSpaces||(V=Math.ceil(V/e.indentSize)),oe=Math.min(V+1-e.normalizeIndentation(L.afterEnter).length-1,0)),new ReplaceCommandWithOffsetCursorState$1(r,"\n"+e.normalizeIndentation(L.afterEnter),0,oe,!0)}}}return typeCommand(r,"\n"+e.normalizeIndentation(k),i)}static lineInsertBefore(e,t,i){if(t===null||i===null)return[];const r=[];for(let g=0,y=i.length;gthis._compositionType(i,z,g,y,k,L));return new EditOperationResult$1(4,V,{shouldPushStackElementBefore:shouldPushStackElementBetween$1(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,r,g,y){if(!t.isEmpty())return null;const k=t.getPosition(),L=Math.max(1,k.column-r),V=Math.min(e.getLineMaxColumn(k.lineNumber),k.column+g),z=new Range$5(k.lineNumber,L,k.lineNumber,V);return e.getValueInRange(z)===i&&y===0?null:new ReplaceCommandWithOffsetCursorState$1(z,i,0,y)}}class TypeWithoutInterceptorsOperation{static getEdits(e,t,i){const r=[];for(let y=0,k=t.length;y1){let k;for(k=i-1;k>=1;k--){const z=t.getLineContent(k);if(lastNonWhitespaceIndex$1(z)>=0)break}if(k<1)return null;const L=t.getLineMaxColumn(k),V=getEnterAction$1(e.autoIndent,t,new Range$5(k,L,k,L),e.languageConfigurationService);V&&(g=V.indentation+V.appendText)}return r&&(r===IndentAction$2.Indent&&(g=shiftIndent(e,g)),r===IndentAction$2.Outdent&&(g=unshiftIndent(e,g)),g=e.normalizeIndentation(g)),g||null}static _replaceJumpToNextIndent(e,t,i,r){let g="";const y=i.getStartPosition();if(e.insertSpaces){const k=e.visibleColumnFromColumn(t,y),L=e.indentSize,V=L-k%L;for(let z=0;z2?V.charCodeAt(L.column-2):0)===92&&j)return!1;if(n.autoClosingOvertype==="auto"){let oe=!1;for(let re=0,ae=i.length;re{const r=t.get(ICodeEditorService$1).getFocusedCodeEditor();return r&&r.hasTextFocus()?this._runEditorCommand(t,r,i):!1}),e.addImplementation(1e3,"generic-dom-input-textarea",(t,i)=>{const r=getActiveElement$1();return r&&["input","textarea"].indexOf(r.tagName.toLowerCase())>=0?(this.runDOMCommand(r),!0):!1}),e.addImplementation(0,"generic-dom",(t,i)=>{const r=t.get(ICodeEditorService$1).getActiveCodeEditor();return r?(r.focus(),this._runEditorCommand(t,r,i)):!1})}_runEditorCommand(e,t,i){const r=this.runEditorCommand(e,t,i);return r||!0}};var CoreNavigationCommands$1;(function(n){class e extends CoreEditorCommand$1{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,he){if(!he.position)return;ue.model.pushStackElement(),ue.setCursorStates(he.source,3,[CursorMoveCommands$1.moveTo(ue,ue.getPrimaryCursorState(),this._inSelectionMode,he.position,he.viewPosition)])&&he.revealType!==2&&ue.revealAllCursors(he.source,!0,!0)}}n.MoveTo=registerEditorCommand$1(new e({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),n.MoveToSelect=registerEditorCommand$1(new e({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class t extends CoreEditorCommand$1{runCoreEditorCommand(ue,he){ue.model.pushStackElement();const pe=this._getColumnSelectResult(ue,ue.getPrimaryCursorState(),ue.getCursorColumnSelectData(),he);pe!==null&&(ue.setCursorStates(he.source,3,pe.viewStates.map(Ce=>CursorState$3.fromViewState(Ce))),ue.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:pe.fromLineNumber,fromViewVisualColumn:pe.fromVisualColumn,toViewLineNumber:pe.toLineNumber,toViewVisualColumn:pe.toVisualColumn}),pe.reversed?ue.revealTopMostCursor(he.source):ue.revealBottomMostCursor(he.source))}}n.ColumnSelect=registerEditorCommand$1(new class extends t{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(de,ue,he,pe){if(typeof pe.position>"u"||typeof pe.viewPosition>"u"||typeof pe.mouseColumn>"u")return null;const Ce=de.model.validatePosition(pe.position),$e=de.coordinatesConverter.validateViewPosition(new Position$3(pe.viewPosition.lineNumber,pe.viewPosition.column),Ce),xe=pe.doColumnSelect?he.fromViewLineNumber:$e.lineNumber,Ie=pe.doColumnSelect?he.fromViewVisualColumn:pe.mouseColumn-1;return ColumnSelection$1.columnSelect(de.cursorConfig,de,xe,Ie,$e.lineNumber,pe.mouseColumn-1)}}),n.CursorColumnSelectLeft=registerEditorCommand$1(new class extends t{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(de,ue,he,pe){return ColumnSelection$1.columnSelectLeft(de.cursorConfig,de,he)}}),n.CursorColumnSelectRight=registerEditorCommand$1(new class extends t{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(de,ue,he,pe){return ColumnSelection$1.columnSelectRight(de.cursorConfig,de,he)}});class i extends t{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,he,pe,Ce){return ColumnSelection$1.columnSelectUp(ue.cursorConfig,ue,pe,this._isPaged)}}n.CursorColumnSelectUp=registerEditorCommand$1(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3600,linux:{primary:0}}})),n.CursorColumnSelectPageUp=registerEditorCommand$1(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3595,linux:{primary:0}}}));class r extends t{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,he,pe,Ce){return ColumnSelection$1.columnSelectDown(ue.cursorConfig,ue,pe,this._isPaged)}}n.CursorColumnSelectDown=registerEditorCommand$1(new r({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3602,linux:{primary:0}}})),n.CursorColumnSelectPageDown=registerEditorCommand$1(new r({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:3596,linux:{primary:0}}}));class g extends CoreEditorCommand$1{constructor(){super({id:"cursorMove",precondition:void 0,metadata:CursorMove$1.metadata})}runCoreEditorCommand(ue,he){const pe=CursorMove$1.parse(he);pe&&this._runCursorMove(ue,he.source,pe)}_runCursorMove(ue,he,pe){ue.model.pushStackElement(),ue.setCursorStates(he,3,g._move(ue,ue.getCursorStates(),pe)),ue.revealAllCursors(he,!0)}static _move(ue,he,pe){const Ce=pe.select,$e=pe.value;switch(pe.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return CursorMoveCommands$1.simpleMove(ue,he,pe.direction,Ce,$e,pe.unit);case 11:case 13:case 12:case 14:return CursorMoveCommands$1.viewportMove(ue,he,pe.direction,Ce,$e);default:return null}}}n.CursorMoveImpl=g,n.CursorMove=registerEditorCommand$1(new g);class y extends CoreEditorCommand$1{constructor(ue){super(ue),this._staticArgs=ue.args}runCoreEditorCommand(ue,he){let pe=this._staticArgs;this._staticArgs.value===-1&&(pe={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:he.pageSize||ue.cursorConfig.pageSize}),ue.model.pushStackElement(),ue.setCursorStates(he.source,3,CursorMoveCommands$1.simpleMove(ue,ue.getCursorStates(),pe.direction,pe.select,pe.value,pe.unit)),ue.revealAllCursors(he.source,!0)}}n.CursorLeft=registerEditorCommand$1(new y({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),n.CursorLeftSelect=registerEditorCommand$1(new y({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1039}})),n.CursorRight=registerEditorCommand$1(new y({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),n.CursorRightSelect=registerEditorCommand$1(new y({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1041}})),n.CursorUp=registerEditorCommand$1(new y({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),n.CursorUpSelect=registerEditorCommand$1(new y({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),n.CursorPageUp=registerEditorCommand$1(new y({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:11}})),n.CursorPageUpSelect=registerEditorCommand$1(new y({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1035}})),n.CursorDown=registerEditorCommand$1(new y({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),n.CursorDownSelect=registerEditorCommand$1(new y({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),n.CursorPageDown=registerEditorCommand$1(new y({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:12}})),n.CursorPageDownSelect=registerEditorCommand$1(new y({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1036}})),n.CreateCursor=registerEditorCommand$1(new class extends CoreEditorCommand$1{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(de,ue){if(!ue.position)return;let he;ue.wholeLine?he=CursorMoveCommands$1.line(de,de.getPrimaryCursorState(),!1,ue.position,ue.viewPosition):he=CursorMoveCommands$1.moveTo(de,de.getPrimaryCursorState(),!1,ue.position,ue.viewPosition);const pe=de.getCursorStates();if(pe.length>1){const Ce=he.modelState?he.modelState.position:null,$e=he.viewState?he.viewState.position:null;for(let xe=0,Ie=pe.length;xe$e&&(Ce=$e);const xe=new Range$5(Ce,1,Ce,de.model.getLineMaxColumn(Ce));let Ie=0;if(he.at)switch(he.at){case RevealLine_$1.RawAtArgument.Top:Ie=3;break;case RevealLine_$1.RawAtArgument.Center:Ie=1;break;case RevealLine_$1.RawAtArgument.Bottom:Ie=4;break}const Ne=de.coordinatesConverter.convertModelRangeToViewRange(xe);de.revealRange(ue.source,!1,Ne,Ie,0)}}),n.SelectAll=new class extends EditorOrNativeTextInputCommand$1{constructor(){super(SelectAllCommand$1)}runDOMCommand(de){isFirefox$3&&(de.focus(),de.select()),de.ownerDocument.execCommand("selectAll")}runEditorCommand(de,ue,he){const pe=ue._getViewModel();pe&&this.runCoreEditorCommand(pe,he)}runCoreEditorCommand(de,ue){de.model.pushStackElement(),de.setCursorStates("keyboard",3,[CursorMoveCommands$1.selectAll(de,de.getPrimaryCursorState())])}},n.SetSelection=registerEditorCommand$1(new class extends CoreEditorCommand$1{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(de,ue){ue.selection&&(de.model.pushStackElement(),de.setCursorStates(ue.source,3,[CursorState$3.fromModelSelection(ue.selection)]))}})})(CoreNavigationCommands$1||(CoreNavigationCommands$1={}));const columnSelectionCondition$1=ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,EditorContextKeys$1.columnSelection);function registerColumnSelection$1(n,e){KeybindingsRegistry$1.registerKeybindingRule({id:n,primary:e,when:columnSelectionCondition$1,weight:CORE_WEIGHT$1+1})}registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectLeft.id,1039);registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectRight.id,1041);registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectUp.id,1040);registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectPageUp.id,1035);registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectDown.id,1042);registerColumnSelection$1(CoreNavigationCommands$1.CursorColumnSelectPageDown.id,1036);function registerCommand$6(n){return n.register(),n}var CoreEditingCommands$1;(function(n){class e extends EditorCommand$1{runEditorCommand(i,r,g){const y=r._getViewModel();y&&this.runCoreEditingCommand(r,y,g||{})}}n.CoreEditingCommand=e,n.LineBreakInsert=registerEditorCommand$1(new class extends e{constructor(){super({id:"lineBreakInsert",precondition:EditorContextKeys$1.writable,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,EnterOperation.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection)))}}),n.Outdent=registerEditorCommand$1(new class extends e{constructor(){super({id:"outdent",precondition:EditorContextKeys$1.writable,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.editorTextFocus,EditorContextKeys$1.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,TypeOperations$1.outdent(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection))),t.pushUndoStop()}}),n.Tab=registerEditorCommand$1(new class extends e{constructor(){super({id:"tab",precondition:EditorContextKeys$1.writable,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.editorTextFocus,EditorContextKeys$1.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,TypeOperations$1.tab(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection))),t.pushUndoStop()}}),n.DeleteLeft=registerEditorCommand$1(new class extends e{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,r){const[g,y]=DeleteOperations$1.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(k=>k.modelState.selection),i.getCursorAutoClosedCharacters());g&&t.pushUndoStop(),t.executeCommands(this.id,y),i.setPrevEditOperationType(2)}}),n.DeleteRight=registerEditorCommand$1(new class extends e{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT$1,kbExpr:EditorContextKeys$1.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,r){const[g,y]=DeleteOperations$1.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(k=>k.modelState.selection));g&&t.pushUndoStop(),t.executeCommands(this.id,y),i.setPrevEditOperationType(3)}}),n.Undo=new class extends EditorOrNativeTextInputCommand$1{constructor(){super(UndoCommand$1)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(92)===!0))return i.getModel().undo()}},n.Redo=new class extends EditorOrNativeTextInputCommand$1{constructor(){super(RedoCommand$1)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(92)===!0))return i.getModel().redo()}}})(CoreEditingCommands$1||(CoreEditingCommands$1={}));let EditorHandlerCommand$1=class extends Command$2{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(ICodeEditorService$1).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}};function registerOverwritableCommand$1(n,e){registerCommand$6(new EditorHandlerCommand$1("default:"+n,n)),registerCommand$6(new EditorHandlerCommand$1(n,n,e))}registerOverwritableCommand$1("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]});registerOverwritableCommand$1("replacePreviousChar");registerOverwritableCommand$1("compositionType");registerOverwritableCommand$1("compositionStart");registerOverwritableCommand$1("compositionEnd");registerOverwritableCommand$1("paste");registerOverwritableCommand$1("cut");let ViewController$1=class{constructor(e,t,i,r){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=r}paste(e,t,i,r){this.commandDelegate.paste(e,t,i,r)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,r){this.commandDelegate.compositionType(e,t,i,r)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){CoreNavigationCommands$1.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):r?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){CoreNavigationCommands$1.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){CoreNavigationCommands$1.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),CoreNavigationCommands$1.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),CoreNavigationCommands$1.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){CoreNavigationCommands$1.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){CoreNavigationCommands$1.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){CoreNavigationCommands$1.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){CoreNavigationCommands$1.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){CoreNavigationCommands$1.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){CoreNavigationCommands$1.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){CoreNavigationCommands$1.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){CoreNavigationCommands$1.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){CoreNavigationCommands$1.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}},RenderedLinesCollection$1=class{constructor(e){this._lineFactory=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new BugIndicatingError$1("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;const i=this.getStartLineNumber(),r=this.getEndLineNumber();if(tr)return null;let g=0,y=0;for(let L=i;L<=r;L++){const V=L-this._rendLineNumberStart;e<=L&&L<=t&&(y===0?(g=V,y=1):y++)}if(e=r&&k<=g&&(this._lines[k-this._rendLineNumberStart].onContentChanged(),y=!0);return y}onLinesInserted(e,t){if(this.getCount()===0)return null;const i=t-e+1,r=this.getStartLineNumber(),g=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=i,null;if(e>g)return null;if(i+e>g)return this._lines.splice(e-this._rendLineNumberStart,g-e+1);const y=[];for(let j=0;ji)continue;const L=Math.max(t,k.fromLineNumber),V=Math.min(i,k.toLineNumber);for(let z=L;z<=V;z++){const j=z-this._rendLineNumberStart;this._lines[j].onTokensChanged(),r=!0}}return r}},VisibleLinesCollection$1=class{constructor(e){this._lineFactory=e,this.domNode=this._createDomNode(),this._linesCollection=new RenderedLinesCollection$1(this._lineFactory)}_createDomNode(){const e=createFastDomNode$1(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(146)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,r=t.length;it){const y=t,k=Math.min(i,g.rendLineNumberStart-1);y<=k&&(this._insertLinesBefore(g,y,k,r,t),g.linesLength+=k-y+1)}else if(g.rendLineNumberStart0&&(this._removeLinesBefore(g,y),g.linesLength-=y)}if(g.rendLineNumberStart=t,g.rendLineNumberStart+g.linesLength-1i){const y=Math.max(0,i-g.rendLineNumberStart+1),L=g.linesLength-1-y+1;L>0&&(this._removeLinesAfter(g,L),g.linesLength-=L)}return this._finishRendering(g,!1,r),g}_renderUntouchedLines(e,t,i,r,g){const y=e.rendLineNumberStart,k=e.lines;for(let L=t;L<=i;L++){const V=y+L;k[L].layoutLine(V,r[V-g],this._viewportData.lineHeight)}}_insertLinesBefore(e,t,i,r,g){const y=[];let k=0;for(let L=t;L<=i;L++)y[k++]=this._lineFactory.createLine();e.lines=y.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;k--){const L=e.lines[k];r[k]&&(L.setDomNode(y),y=y.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const r=document.createElement("div");yo._ttPolicy&&(t=yo._ttPolicy.createHTML(t)),r.innerHTML=t;for(let g=0;ge}),yo._sb=new StringBuilder$1(1e5),yo),ViewOverlays$1=class extends ViewPart$1{constructor(e){super(e),this._dynamicOverlays=[],this._isFocused=!1,this._visibleLines=new VisibleLinesCollection$1({createLine:()=>new ViewOverlayLine$1(this._dynamicOverlays)}),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);applyFontInfo$1(this.domNode,i),this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ei.shouldRender());for(let i=0,r=t.length;i'),g.appendString(y),g.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}},ContentViewOverlays$1=class extends ViewOverlays$1{constructor(e){super(e);const i=this._context.configuration.options.get(146);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}},MarginViewOverlays$1=class extends ViewOverlays$1{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),applyFontInfo$1(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;applyFontInfo$1(this.domNode,t.get(50));const i=t.get(146);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}},ViewUserInputEvents$1=class mh{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;(t=this.onKeyDown)==null||t.call(this,e)}emitKeyUp(e){var t;(t=this.onKeyUp)==null||t.call(this,e)}emitContextMenu(e){var t;(t=this.onContextMenu)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;(t=this.onMouseMove)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;(t=this.onMouseLeave)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;(t=this.onMouseDown)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;(t=this.onMouseUp)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;(t=this.onMouseDrag)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;(t=this.onMouseDrop)==null||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;(e=this.onMouseDropCanceled)==null||e.call(this)}emitMouseWheel(e){var t;(t=this.onMouseWheel)==null||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return mh.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(i.type===5||i.type===8)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new Position$3(e.afterLineNumber,1)).lineNumber}}},BlockDecorations$1=class extends ViewPart$1{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=createFastDomNode$1(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const i=this._context.configuration.options.get(146),r=i.contentWidth-i.verticalScrollbarWidth;this.contentWidth!==r&&(this.contentWidth=r,e=!0);const g=i.contentLeft;return this.contentLeft!==g&&(this.contentLeft=g,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var r;let t=0;const i=e.getDecorationsInViewport();for(const g of i){if(!g.options.blockClassName)continue;let y=this.blocks[t];y||(y=this.blocks[t]=createFastDomNode$1(document.createElement("div")),this.domNode.appendChild(y));let k,L;g.options.blockIsAfterEnd?(k=e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!1),L=e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!0)):(k=e.getVerticalOffsetForLineNumber(g.range.startLineNumber,!0),L=g.range.isEmpty()&&!g.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(g.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!0));const[V,z,j,ie]=(r=g.options.blockPadding)!=null?r:[0,0,0,0];y.setClassName("blockDecorations-block "+g.options.blockClassName),y.setLeft(this.contentLeft-ie),y.setWidth(this.contentWidth+ie+z),y.setTop(k-e.scrollTop-V),y.setHeight(L-k+V+j),t++}for(let g=t;g0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,r){const g=e.top,y=g,k=e.top+e.height,L=r.viewportHeight-k,V=g-i,z=y>=i,j=k,ie=L>=i;let oe=e.left;return oe+t>r.scrollLeft+r.viewportWidth&&(oe=r.scrollLeft+r.viewportWidth-t),oeL){const oe=j-(L-r);j-=oe,i-=oe}if(j=ae,ue=j+i<=ie.height-le;return this._fixedOverflowWidgets?{fitsAbove:de,aboveTop:Math.max(z,ae),fitsBelow:ue,belowTop:j,left:re}:{fitsAbove:de,aboveTop:g,fitsBelow:ue,belowTop:y,left:oe}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new Coordinate$1(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var y,k;const t=g(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),i=((y=this._secondaryAnchor.viewPosition)==null?void 0:y.lineNumber)===((k=this._primaryAnchor.viewPosition)==null?void 0:k.lineNumber)?this._secondaryAnchor.viewPosition:null,r=g(i,this._affinity,this._lineHeight);return{primary:t,secondary:r};function g(L,V,z){if(!L)return null;const j=e.visibleRangeForPosition(L);if(!j)return null;const ie=L.column===1&&V===3?0:j.left,oe=e.getVerticalOffsetForLineNumber(L.lineNumber)-e.scrollTop;return new AnchorCoordinate$1(oe,ie,z)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const r=this._context.configuration.options.get(50);let g=t.left;return ge.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){var t;if(!this._renderData||this._renderData.kind==="offViewport"){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,((t=this._renderData)==null?void 0:t.kind)==="offViewport"&&this._renderData.preserveFocus?this.domNode.setTop(-1e3):this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&safeInvoke$1(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&safeInvoke$1(this._actual.afterRender,this._actual,this._renderData.position)}},PositionPair$1=class{constructor(e,t){this.modelPosition=e,this.viewPosition=t}},Coordinate$1=class{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}},AnchorCoordinate$1=class{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}};function safeInvoke$1(n,e,...t){try{return n.call(e,...t)}catch(i){return null}}let AbstractLineHighlightOverlay$1=class extends DynamicViewOverlay$1{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(146);this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Selection$3(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const g of this._selections)t.add(g.positionLineNumber);const i=Array.from(t);i.sort((g,y)=>g-y),equals$5(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const r=this._selections.every(g=>g.isEmpty());return this._selectionIsEmpty!==r&&(this._selectionIsEmpty=r,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(146);return this._renderLineHighlight=t.get(97),this._renderLineHighlightOnlyWhenFocus=t.get(98),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r=[];for(let y=t;y<=i;y++){const k=y-t;r[k]=""}if(this._wordWrap){const y=this._renderOne(e,!1);for(const k of this._cursorLineNumbers){const L=this._context.viewModel.coordinatesConverter,V=L.convertViewPositionToModelPosition(new Position$3(k,1)).lineNumber,z=L.convertModelPositionToViewPosition(new Position$3(V,1)).lineNumber,j=L.convertModelPositionToViewPosition(new Position$3(V,this._context.viewModel.model.getLineMaxColumn(V))).lineNumber,ie=Math.max(z,t),oe=Math.min(j,i);for(let re=ie;re<=oe;re++){const ae=re-t;r[ae]=y}}}const g=this._renderOne(e,!0);for(const y of this._cursorLineNumbers){if(yi)continue;const k=y-t;r[k]=g}this._renderData=r}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}},CurrentLineHighlightOverlay$1=class extends AbstractLineHighlightOverlay$1{_renderOne(e,t){const i="current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(t?" current-line-exact":"");return'
    ')}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}},CurrentLineMarginHighlightOverlay$1=class extends AbstractLineHighlightOverlay$1{_renderOne(e,t){const i="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&t?" current-line-exact-margin":"");return'
    ')}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}};registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorLineHighlight$1);if(t&&(e.addRule(".monaco-editor .view-overlays .current-line { background-color: ".concat(t,"; }")),e.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: ".concat(t,"; border: none; }"))),!t||t.isTransparent()||n.defines(editorLineHighlightBorder$1)){const i=n.getColor(editorLineHighlightBorder$1);i&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border: 2px solid ".concat(i,"; }")),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ".concat(i,"; }")),isHighContrast$1(n.type)&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});let DecorationsOverlay$1=class extends DynamicViewOverlay$1{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],r=0;for(let L=0,V=t.length;L{if(L.options.zIndexV.options.zIndex)return 1;const z=L.options.className,j=V.options.className;return zj?1:Range$5.compareRangesUsingStarts(L.range,V.range)});const g=e.visibleRange.startLineNumber,y=e.visibleRange.endLineNumber,k=[];for(let L=g;L<=y;L++){const V=L-g;k[V]=""}this._renderWholeLineDecorations(e,i,k),this._renderNormalDecorations(e,i,k),this._renderResult=k}_renderWholeLineDecorations(e,t,i){const r=e.visibleRange.startLineNumber,g=e.visibleRange.endLineNumber;for(let y=0,k=t.length;y',z=Math.max(L.range.startLineNumber,r),j=Math.min(L.range.endLineNumber,g);for(let ie=z;ie<=j;ie++){const oe=ie-r;i[oe]+=V}}}_renderNormalDecorations(e,t,i){var V;const r=e.visibleRange.startLineNumber;let g=null,y=!1,k=null,L=!1;for(let z=0,j=t.length;z';k[ie]+=de}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}},EditorScrollbar$2=class extends ViewPart$1{constructor(e,t,i,r){super(e);const g=this._context.configuration.options,y=g.get(104),k=g.get(75),L=g.get(40),V=g.get(107),z={listenOnDomNode:i.domNode,className:"editor-scrollable "+getThemeTypeSelector$1(e.theme.type),useShadows:!1,lazyRender:!0,vertical:y.vertical,horizontal:y.horizontal,verticalHasArrows:y.verticalHasArrows,horizontalHasArrows:y.horizontalHasArrows,verticalScrollbarSize:y.verticalScrollbarSize,verticalSliderSize:y.verticalSliderSize,horizontalScrollbarSize:y.horizontalScrollbarSize,horizontalSliderSize:y.horizontalSliderSize,handleMouseWheel:y.handleMouseWheel,alwaysConsumeMouseWheel:y.alwaysConsumeMouseWheel,arrowSize:y.arrowSize,mouseWheelScrollSensitivity:k,fastScrollSensitivity:L,scrollPredominantAxis:V,scrollByPage:y.scrollByPage};this.scrollbar=this._register(new SmoothScrollableElement$1(t.domNode,z,this._context.viewLayout.getScrollable())),PartFingerprints$1.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=createFastDomNode$1(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const j=(ie,oe,re)=>{const ae={};{const le=ie.scrollTop;le&&(ae.scrollTop=this._context.viewLayout.getCurrentScrollTop()+le,ie.scrollTop=0)}if(re){const le=ie.scrollLeft;le&&(ae.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+le,ie.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(ae,1)};this._register(addDisposableListener$1(i.domNode,"scroll",ie=>j(i.domNode,!0,!0))),this._register(addDisposableListener$1(t.domNode,"scroll",ie=>j(t.domNode,!0,!1))),this._register(addDisposableListener$1(r.domNode,"scroll",ie=>j(r.domNode,!0,!1))),this._register(addDisposableListener$1(this.scrollbarDomNode.domNode,"scroll",ie=>j(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(146);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(73).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(104)||e.hasChanged(75)||e.hasChanged(40)){const t=this._context.configuration.options,i=t.get(104),r=t.get(75),g=t.get(40),y=t.get(107),k={vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:r,fastScrollSensitivity:g,scrollPredominantAxis:y};this.scrollbar.updateOptions(k)}return e.hasChanged(146)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+getThemeTypeSelector$1(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}},DecorationToRender$1=class{constructor(e,t,i,r,g){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=r,this._decorationToRenderBrand=void 0,this.zIndex=g!=null?g:0}},LineDecorationToRender$1=class{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}},VisibleLineDecorationsToRender$1=class{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}},DedupOverlay$1=class extends DynamicViewOverlay$1{_render(e,t,i){const r=[];for(let k=e;k<=t;k++){const L=k-e;r[L]=new VisibleLineDecorationsToRender$1}if(i.length===0)return r;i.sort((k,L)=>k.className===L.className?k.startLineNumber===L.startLineNumber?k.endLineNumber-L.endLineNumber:k.startLineNumber-L.startLineNumber:k.classNamer)continue;const V=Math.max(k,i),z=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$3(V,0)),j=this._context.viewModel.glyphLanes.getLanesAtLine(z.lineNumber).indexOf(g.preference.lane);t.push(new WidgetBasedGlyphRenderRequest$1(V,j,g.preference.zIndex,g))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((i,r)=>i.lineNumber===r.lineNumber?i.laneIndex===r.laneIndex?i.zIndex===r.zIndex?r.type===i.type?i.type===0&&r.type===0?i.className0;){const r=t.peek();if(!r)break;const g=t.takeWhile(k=>k.lineNumber===r.lineNumber&&k.laneIndex===r.laneIndex);if(!g||g.length===0)break;const y=g[0];if(y.type===0){const k=[];for(const L of g){if(L.zIndex!==y.zIndex||L.type!==y.type)break;(k.length===0||k[k.length-1]!==L.className)&&k.push(L.className)}i.push(y.accept(k.join(" ")))}else y.widget.renderInfo={lineNumber:y.lineNumber,laneIndex:y.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const i of Object.values(this._widgets))i.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(!i.renderInfo)i.domNode.setDisplay("none");else{const r=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],g=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(r),i.domNode.setLeft(g),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}for(let i=0;ithis._decorationGlyphsToRender.length;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}}},DecorationBasedGlyphRenderRequest$1=class{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=r,this.type=0}accept(e){return new DecorationBasedGlyph$1(this.lineNumber,this.laneIndex,e)}},WidgetBasedGlyphRenderRequest$1=class{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=r,this.type=1}},DecorationBasedGlyph$1=class{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}},IndentGuidesOverlay$1=class extends DynamicViewOverlay$1{constructor(e){super(),this._context=e,this._primaryPosition=null;const t=this._context.configuration.options,i=t.get(147),r=t.get(50);this._spaceWidth=r.spaceWidth,this._maxIndentLeft=i.wrappingColumn===-1?-1:i.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(147),r=t.get(50);return this._spaceWidth=r.spaceWidth,this._maxIndentLeft=i.wrappingColumn===-1?-1:i.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(16),!0}onCursorStateChanged(e){var r;const i=e.selections[0].getPosition();return(r=this._primaryPosition)!=null&&r.equals(i)?!1:(this._primaryPosition=i,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){var L,V,z,j;if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r=e.scrollWidth,g=this._primaryPosition,y=this.getGuidesByLine(t,Math.min(i+1,this._context.viewModel.getLineCount()),g),k=[];for(let ie=t;ie<=i;ie++){const oe=ie-t,re=y[oe];let ae="";const le=(V=(L=e.visibleRangeForPosition(new Position$3(ie,1)))==null?void 0:L.left)!=null?V:0;for(const de of re){const ue=de.column===-1?le+(de.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new Position$3(ie,de.column)).left;if(ue>r||this._maxIndentLeft>0&&ue>this._maxIndentLeft)break;const he=de.horizontalLine?de.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",pe=de.horizontalLine?((j=(z=e.visibleRangeForPosition(new Position$3(ie,de.horizontalLine.endColumn)))==null?void 0:z.left)!=null?j:ue+this._spaceWidth)-ue:this._spaceWidth;ae+='
    ')}k[oe]=ae}this._renderResult=k}getGuidesByLine(e,t,i){const r=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?HorizontalGuidesState$1.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?HorizontalGuidesState$1.EnabledForActive:HorizontalGuidesState$1.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,g=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let y=0,k=0,L=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&i){const j=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);y=j.startLineNumber,k=j.endLineNumber,L=j.indent}const{indentSize:V}=this._context.viewModel.model.getOptions(),z=[];for(let j=e;j<=t;j++){const ie=new Array;z.push(ie);const oe=r?r[j-e]:[],re=new ArrayQueue$1(oe),ae=g?g[j-e]:0;for(let le=1;le<=ae;le++){const de=(le-1)*V+1,ue=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||oe.length===0)&&y<=j&&j<=k&&le===L;ie.push(...re.takeWhile(pe=>pe.visibleColumn!0)||[])}return z}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}};function transparentToUndefined$1(n){if(!(n&&n.isTransparent()))return n}registerThemingParticipant$1((n,e)=>{const t=[{bracketColor:editorBracketHighlightingForeground1$1,guideColor:editorBracketPairGuideBackground1$1,guideColorActive:editorBracketPairGuideActiveBackground1$1},{bracketColor:editorBracketHighlightingForeground2$1,guideColor:editorBracketPairGuideBackground2$1,guideColorActive:editorBracketPairGuideActiveBackground2$1},{bracketColor:editorBracketHighlightingForeground3$1,guideColor:editorBracketPairGuideBackground3$1,guideColorActive:editorBracketPairGuideActiveBackground3$1},{bracketColor:editorBracketHighlightingForeground4$1,guideColor:editorBracketPairGuideBackground4$1,guideColorActive:editorBracketPairGuideActiveBackground4$1},{bracketColor:editorBracketHighlightingForeground5$1,guideColor:editorBracketPairGuideBackground5$1,guideColorActive:editorBracketPairGuideActiveBackground5$1},{bracketColor:editorBracketHighlightingForeground6$1,guideColor:editorBracketPairGuideBackground6$1,guideColorActive:editorBracketPairGuideActiveBackground6$1}],i=new BracketPairGuidesClassNames$1,r=[{indentColor:editorIndentGuide1$1,indentColorActive:editorActiveIndentGuide1$1},{indentColor:editorIndentGuide2$1,indentColorActive:editorActiveIndentGuide2$1},{indentColor:editorIndentGuide3$1,indentColorActive:editorActiveIndentGuide3$1},{indentColor:editorIndentGuide4$1,indentColorActive:editorActiveIndentGuide4$1},{indentColor:editorIndentGuide5$1,indentColorActive:editorActiveIndentGuide5$1},{indentColor:editorIndentGuide6$1,indentColorActive:editorActiveIndentGuide6$1}],g=t.map(k=>{var oe,re;const L=n.getColor(k.bracketColor),V=n.getColor(k.guideColor),z=n.getColor(k.guideColorActive),j=transparentToUndefined$1((oe=transparentToUndefined$1(V))!=null?oe:L==null?void 0:L.transparent(.3)),ie=transparentToUndefined$1((re=transparentToUndefined$1(z))!=null?re:L);if(!(!j||!ie))return{guideColor:j,guideColorActive:ie}}).filter(isDefined$1),y=r.map(k=>{const L=n.getColor(k.indentColor),V=n.getColor(k.indentColorActive),z=transparentToUndefined$1(L),j=transparentToUndefined$1(V);if(!(!z||!j))return{indentColor:z,indentColorActive:j}}).filter(isDefined$1);if(g.length>0){for(let k=0;k<30;k++){const L=g[k%g.length];e.addRule(".monaco-editor .".concat(i.getInlineClassNameOfLevel(k).replace(/ /g,".")," { --guide-color: ").concat(L.guideColor,"; --guide-color-active: ").concat(L.guideColorActive,"; }"))}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .vertical.".concat(i.activeClassName," { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }")),e.addRule(".monaco-editor .horizontal-top.".concat(i.activeClassName," { border-top: 1px solid var(--guide-color-active); }")),e.addRule(".monaco-editor .horizontal-bottom.".concat(i.activeClassName," { border-bottom: 1px solid var(--guide-color-active); }"))}if(y.length>0){for(let k=0;k<30;k++){const L=y[k%y.length];e.addRule(".monaco-editor .lines-content .core-guide-indent.lvl-".concat(k," { --indent-color: ").concat(L.indentColor,"; --indent-color-active: ").concat(L.indentColorActive,"; }"))}e.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),e.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});let DomReadingContext$1=class{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}},LastRenderedData$1=class{constructor(){this._currentVisibleRange=new Range$5(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}},HorizontalRevealRangeRequest$1=class{constructor(e,t,i,r,g,y,k){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=r,this.startScrollTop=g,this.stopScrollTop=y,this.scrollType=k,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}},HorizontalRevealSelectionsRequest$1=class{constructor(e,t,i,r,g){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=g,this.type="selections";let y=t[0].startLineNumber,k=t[0].endLineNumber;for(let L=1,V=t.length;Lnew ViewLine$1(this._viewLineOptions)}),this.domNode=this._visibleLines.domNode,PartFingerprints$1.write(this.domNode,8),this.domNode.setClassName("view-lines ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1)),applyFontInfo$1(this.domNode,g),this._maxLineWidth=0,this._asyncUpdateLineWidths=new RunOnceScheduler$1(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new RunOnceScheduler$1(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new LastRenderedData$1,this._horizontalRevealRequest=null,this._stickyScrollEnabled=r.get(116).enabled,this._maxNumberStickyLines=r.get(116).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(147)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),r=t.get(147);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(101),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(116).enabled,this._maxNumberStickyLines=t.get(116).maxLineCount,applyFontInfo$1(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(146)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new ViewLineOptions$1(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++)this._visibleLines.getVisibleLine(g).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=!1;for(let g=t;g<=i;g++)r=this._visibleLines.getVisibleLine(g).onSelectionChanged()||r;return r}onDecorationsChanged(e){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let r=t;r<=i;r++)this._visibleLines.getVisibleLine(r).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new HorizontalRevealRangeRequest$1(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new HorizontalRevealSelectionsRequest$1(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const g=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,g),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(i===null)return null;const r=this._getLineNumberFor(i);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new Position$3(r,1);const g=this._visibleLines.getStartLineNumber(),y=this._visibleLines.getEndLineNumber();if(ry)return null;let k=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(e,t);const L=this._context.viewModel.getLineMinColumn(r);return ki)return-1;const r=new DomReadingContext$1(this.domNode.domNode,this._textRangeRestingSpot),g=this._visibleLines.getVisibleLine(e).getWidth(r);return this._updateLineWidthsSlowIfDomDidLayout(r),g}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,r=Range$5.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;const g=[];let y=0;const k=new DomReadingContext$1(this.domNode.domNode,this._textRangeRestingSpot);let L=0;t&&(L=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$3(r.startLineNumber,1)).lineNumber);const V=this._visibleLines.getStartLineNumber(),z=this._visibleLines.getEndLineNumber();for(let j=r.startLineNumber;j<=r.endLineNumber;j++){if(jz)continue;const ie=j===r.startLineNumber?r.startColumn:1,oe=j!==r.endLineNumber,re=oe?this._context.viewModel.getLineMaxColumn(j):r.endColumn,ae=this._visibleLines.getVisibleLine(j).getVisibleRangesForRange(j,ie,re,k);if(ae){if(t&&jthis._visibleLines.getEndLineNumber())return null;const r=new DomReadingContext$1(this.domNode.domNode,this._textRangeRestingSpot),g=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,r);return this._updateLineWidthsSlowIfDomDidLayout(r),g}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new HorizontalPosition$1(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=1,g=!0;for(let y=t;y<=i;y++){const k=this._visibleLines.getVisibleLine(y);if(e&&!k.getWidthIsFast()){g=!1;continue}r=Math.max(r,k.getWidth(null))}return g&&t===1&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),g}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++){const y=this._visibleLines.getVisibleLine(g);if(y.needsMonospaceFontCheck()){const k=y.getWidth(null);k>t&&(t=k,e=g)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let g=i;g<=r;g++)this._visibleLines.getVisibleLine(g).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(e.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const r=this._computeScrollLeftToReveal(i);r&&(this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:r.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),isLinux$1&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++)if(this._visibleLines.getVisibleLine(g).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let de=g[0].startLineNumber,ue=g[0].endLineNumber;for(let he=1,pe=g.length;heL){if(!z)return-1;le=j}else if(y===5||y===6)if(y===6&&k<=j&&ie<=V)le=k;else{const de=Math.max(5*this._lineHeight,L*.2),ue=j-de,he=ie-L;le=Math.max(he,ue)}else if(y===1||y===2)if(y===2&&k<=j&&ie<=V)le=k;else{const de=(j+ie)/2;le=Math.max(0,de-L/2)}else le=this._computeMinimumScrolling(k,V,j,ie,y===3,y===4);return le}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(146),r=t.left,g=r+t.width-i.verticalScrollbarWidth;let y=1073741824,k=0;if(e.type==="range"){const V=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!V)return null;for(const z of V.ranges)y=Math.min(y,Math.round(z.left)),k=Math.max(k,Math.round(z.left+z.width))}else for(const V of e.selections){if(V.startLineNumber!==V.endLineNumber)return null;const z=this._visibleRangesForLineRange(V.startLineNumber,V.startColumn,V.endColumn);if(!z)return null;for(const j of z.ranges)y=Math.min(y,Math.round(j.left)),k=Math.max(k,Math.round(j.left+j.width))}return e.minimalReveal||(y=Math.max(0,y-na.HORIZONTAL_EXTRA_PX),k+=this._revealHorizontalRightPadding),e.type==="selections"&&k-y>t.width?null:{scrollLeft:this._computeMinimumScrolling(r,g,y,k),maxHorizontalOffset:k}}_computeMinimumScrolling(e,t,i,r,g,y){e=e|0,t=t|0,i=i|0,r=r|0,g=!!g,y=!!y;const k=t-e;if(r-it)return Math.max(0,r-k)}else return i;return e}},na.HORIZONTAL_EXTRA_PX=30,na),LinesDecorationsOverlay$1=class extends DedupOverlay$1{constructor(e){super(),this._context=e;const i=this._context.configuration.options.get(146);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var g,y;const t=e.getDecorationsInViewport(),i=[];let r=0;for(let k=0,L=t.length;k',L=[];for(let V=t;V<=i;V++){const z=V-t,j=r[z].getDecorations();let ie="";for(const oe of j){let re='
    ';g[k]=V}this._renderResult=g}render(e,t){return this._renderResult?this._renderResult[t-e]:""}};var ko;let RGBA8$1=(ko=class{constructor(e,t,i,r){this._rgba8Brand=void 0,this.r=ko._clamp(e),this.g=ko._clamp(t),this.b=ko._clamp(i),this.a=ko._clamp(r)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}},ko.Empty=new ko(0,0,0,0),ko);var oa;let MinimapTokensColorTracker$1=(oa=class extends Disposable$1{static getInstance(){return this._INSTANCE||(this._INSTANCE=new oa),this._INSTANCE}constructor(){super(),this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(TokenizationRegistry$2.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=TokenizationRegistry$2.getColorMap();if(!e){this._colors=[RGBA8$1.Empty],this._backgroundIsLight=!0;return}this._colors=[RGBA8$1.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}},oa._INSTANCE=null,oa);const allCharCodes$1=(()=>{const n=[];for(let e=32;e<=126;e++)n.push(e);return n.push(65533),n})(),getCharIndex$1=(n,e)=>(n-=32,n<0||n>96?e<=2?(n+96)%96:95:n);let MinimapCharRenderer$1=class Ad{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=Ad.soften(e,12/15),this.charDataLight=Ad.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let r=0,g=e.length;re.width||i+re>e.height){console.warn("bad render request outside image data");return}const ae=z?this.charDataLight:this.charDataNormal,le=getCharIndex$1(r,V),de=e.width*4,ue=k.r,he=k.g,pe=k.b,Ce=g.r-ue,$e=g.g-he,xe=g.b-pe,Ie=Math.max(y,L),Ne=e.data;let Fe=le*ie*oe,Ve=i*de+t*4;for(let Oe=0;Oee.width||i+j>e.height){console.warn("bad render request outside image data");return}const ie=e.width*4,oe=.5*(g/255),re=y.r,ae=y.g,le=y.b,de=r.r-re,ue=r.g-ae,he=r.b-le,pe=re+de*oe,Ce=ae+ue*oe,$e=le+he*oe,xe=Math.max(g,k),Ie=e.data;let Ne=i*ie+t*4;for(let Fe=0;Fe{const e=new Uint8ClampedArray(n.length/2);for(let t=0;t>1]=charTable$1[n[t]]<<4|charTable$1[n[t+1]]&15;return e},prebakedMiniMaps$1={1:createSingleCallFunction$1(()=>decodeData$1("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:createSingleCallFunction$1(()=>decodeData$1("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};let MinimapCharRendererFactory$1=class Uc{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return prebakedMiniMaps$1[e]?i=new MinimapCharRenderer$1(prebakedMiniMaps$1[e](),e):i=Uc.createFromSampleData(Uc.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=96*10,t.style.width=96*10+"px",i.fillStyle="#ffffff",i.font="bold 16px ".concat(e),i.textBaseline="middle";let r=0;for(const g of allCharCodes$1)i.fillText(String.fromCharCode(g),r,16/2),r+=10;return i.getImageData(0,0,96*10,16)}static createFromSampleData(e,t){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const r=Uc._downsample(e,t);return new MinimapCharRenderer$1(r,t)}static _downsampleChar(e,t,i,r,g){const y=1*g,k=2*g;let L=r,V=0;for(let z=0;z0){const V=255/L;for(let z=0;zMinimapCharRendererFactory$1.create(this.fontScale,L.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=Kc._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=Kc._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(minimapBackground$1);return i?new RGBA8$1(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(minimapForegroundOpacity$1);return t?RGBA8$1._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(editorForeground$1);return i?new RGBA8$1(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.sectionHeaderLetterSpacing===e.sectionHeaderLetterSpacing&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}},MinimapLayout$1=class jc{constructor(e,t,i,r,g,y,k,L,V){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=r,this.sliderTop=g,this.sliderHeight=y,this.topPaddingLineCount=k,this.startLineNumber=L,this.endLineNumber=V}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,r,g,y,k,L,V,z,j){const ie=e.pixelRatio,oe=e.minimapLineHeight,re=Math.floor(e.canvasInnerHeight/oe),ae=e.lineHeight;if(e.minimapHeightIsEditorHeight){let $e=L*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&($e+=Math.max(0,g-e.lineHeight-e.paddingBottom));const xe=Math.max(1,Math.floor(g*g/$e)),Ie=Math.max(0,e.minimapHeight-xe),Ne=Ie/(z-g),Fe=V*Ne,Ve=Ie>0,Oe=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),ze=Math.floor(e.paddingTop/e.lineHeight);return new jc(V,z,Ve,Ne,Fe,xe,ze,1,Math.min(k,Oe))}let le;if(y&&i!==k){const $e=i-t+1;le=Math.floor($e*oe/ie)}else{const $e=g/ae;le=Math.floor($e*oe/ie)}const de=Math.floor(e.paddingTop/ae);let ue=Math.floor(e.paddingBottom/ae);if(e.scrollBeyondLastLine){const $e=g/ae;ue=Math.max(ue,$e-1)}let he;if(ue>0){const $e=g/ae;he=(de+k+ue-$e-1)*oe/ie}else he=Math.max(0,(de+k)*oe/ie-le);he=Math.min(e.minimapHeight-le,he);const pe=he/(z-g),Ce=V*pe;if(re>=de+k+ue){const $e=he>0;return new jc(V,z,$e,pe,Ce,le,de,1,k)}else{let $e;t>1?$e=t+de:$e=Math.max(1,V/ae);let xe,Ie=Math.max(1,Math.floor($e-Ce*ie/oe));IeV&&(Ie=Math.min(Ie,j.startLineNumber),xe=Math.max(xe,j.topPaddingLineCount)),j.scrollTop=e.paddingTop?Ve=(t-Ie+xe+Fe)*oe/ie:Ve=V/e.paddingTop*(xe+Fe)*oe/ie,new jc(V,z,!0,pe,Ve,le,xe,Ie,Ne)}}};var ra;let MinimapLine$1=(ra=class{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}},ra.INVALID=new ra(-1),ra),RenderData$1=class{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new RenderedLinesCollection$1({createLine:()=>MinimapLine$1.INVALID}),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const i=this._renderedLines._get().lines;for(let r=0,g=i.length;r1){for(let de=0,ue=r-1;de0&&this.minimapLines[i-1]>=e;)i--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1t)return null}return[i+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===i&&(r===this.minimapLines.length?i>1&&i--:r++),[i,r]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,r=0;for(let g=this.minimapLines.length-1;g>=0&&!(this.minimapLines[g]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[t,i]=MinimapSamplingState$1.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const r of i)switch(r.type){case"deleted":this._actual.onLinesDeleted(r.deleteFromLineNumber,r.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(r.insertFromLineNumber,r.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const r=[];for(let g=0,y=t-e+1;g{var g;return!((g=r.options.minimap)!=null&&g.sectionHeaderStyle)});if(this._samplingState){const r=[];for(const g of i){if(!g.options.minimap)continue;const y=g.range,k=this._samplingState.modelLineToMinimapLine(y.startLineNumber),L=this._samplingState.modelLineToMinimapLine(y.endLineNumber);r.push(new ViewModelDecoration$1(new Range$5(k,y.startColumn,L,y.endColumn),g.options))}return r}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,g=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-g)),this._getMinimapDecorationsInViewport(e,t).filter(y=>{var k;return!!((k=y.options.minimap)!=null&&k.sectionHeaderStyle)})}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const r=this._samplingState.minimapLines[e-1],g=this._samplingState.minimapLines[t-1];i=new Range$5(r,1,g,this._context.viewModel.getLineMaxColumn(g))}else i=new Range$5(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){var y;const i=(y=e.options.minimap)==null?void 0:y.sectionHeaderText;if(!i)return null;const r=this._sectionHeaderCache.get(i);if(r)return r;const g=t(i);return this._sectionHeaderCache.set(i,g),g}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new Range$5(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}},InnerMinimap$1=class $c extends Disposable$1{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(minimapSelection$1),this._domNode=createFastDomNode$1(document.createElement("div")),PartFingerprints$1.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=createFastDomNode$1(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=createFastDomNode$1(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=createFastDomNode$1(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=createFastDomNode$1(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=createFastDomNode$1(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=addStandardDisposableListener$1(this._domNode.domNode,EventType$3.POINTER_DOWN,i=>{if(i.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(i.button===0&&this._lastRenderData){const V=getDomNodePagePosition$1(this._slider.domNode),z=V.top+V.height/2;this._startSliderDragging(i,z,this._lastRenderData.renderedLayout)}return}const g=this._model.options.minimapLineHeight,y=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*i.offsetY;let L=Math.floor(y/g)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;L=Math.min(L,this._model.getLineCount()),this._model.revealLineNumber(L)}),this._sliderPointerMoveMonitor=new GlobalPointerMoveMonitor$1,this._sliderPointerDownListener=addStandardDisposableListener$1(this._slider.domNode,EventType$3.POINTER_DOWN,i=>{i.preventDefault(),i.stopPropagation(),i.button===0&&this._lastRenderData&&this._startSliderDragging(i,i.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=Gesture$1.addTarget(this._domNode.domNode),this._sliderTouchStartListener=addDisposableListener$1(this._domNode.domNode,EventType$2.Start,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(i))},{passive:!1}),this._sliderTouchMoveListener=addDisposableListener$1(this._domNode.domNode,EventType$2.Change,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(i)},{passive:!1}),this._sliderTouchEndListener=addStandardDisposableListener$1(this._domNode.domNode,EventType$2.End,i=>{i.preventDefault(),i.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;const r=e.pageX;this._slider.toggleClassName("active",!0);const g=(y,k)=>{const L=getDomNodePagePosition$1(this._domNode.domNode),V=Math.min(Math.abs(k-r),Math.abs(k-L.left),Math.abs(k-L.left-L.width));if(isWindows$1&&V>POINTER_DRAG_RESET_DISTANCE$2){this._model.setScrollTop(i.scrollTop);return}const z=y-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(z))};e.pageY!==t&&g(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,y=>g(y.pageY,y.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return this._model.options.showSlider==="always"?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new MinimapBuffers$1(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var i;return(i=this._lastRenderData)==null||i.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var i;return(i=this._lastRenderData)==null||i.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(minimapSelection$1),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const i=MinimapLayout$1.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(Range$5.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((ie,oe)=>(ie.options.zIndex||0)-(oe.options.zIndex||0));const{canvasInnerWidth:r,canvasInnerHeight:g}=this._model.options,y=this._model.options.minimapLineHeight,k=this._model.options.minimapCharWidth,L=this._model.getOptions().tabSize,V=this._decorationsCanvas.domNode.getContext("2d");V.clearRect(0,0,r,g);const z=new ContiguousLineMap$1(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(V,t,z,e,y),this._renderDecorationsLineHighlights(V,i,z,e,y);const j=new ContiguousLineMap$1(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(V,t,j,e,y,L,k,r),this._renderDecorationsHighlights(V,i,j,e,y,L,k,r),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,r,g){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let y=0,k=0;for(const L of t){const V=r.intersectWithViewport(L);if(!V)continue;const[z,j]=V;for(let re=z;re<=j;re++)i.set(re,!0);const ie=r.getYForLineNumber(z,g),oe=r.getYForLineNumber(j,g);k>=ie||(k>y&&e.fillRect(MINIMAP_GUTTER_WIDTH$1,y,e.canvas.width,k-y),y=ie),k=oe}k>y&&e.fillRect(MINIMAP_GUTTER_WIDTH$1,y,e.canvas.width,k-y)}_renderDecorationsLineHighlights(e,t,i,r,g){const y=new Map;for(let k=t.length-1;k>=0;k--){const L=t[k],V=L.options.minimap;if(!V||V.position!==1)continue;const z=r.intersectWithViewport(L.range);if(!z)continue;const[j,ie]=z,oe=V.getColor(this._theme.value);if(!oe||oe.isTransparent())continue;let re=y.get(oe.toString());re||(re=oe.transparent(.5).toString(),y.set(oe.toString(),re)),e.fillStyle=re;for(let ae=j;ae<=ie;ae++){if(i.has(ae))continue;i.set(ae,!0);const le=r.getYForLineNumber(j,g);e.fillRect(MINIMAP_GUTTER_WIDTH$1,le,e.canvas.width,g)}}}_renderSelectionsHighlights(e,t,i,r,g,y,k,L){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const V of t){const z=r.intersectWithViewport(V);if(!z)continue;const[j,ie]=z;for(let oe=j;oe<=ie;oe++)this.renderDecorationOnLine(e,i,V,this._selectionColor,r,oe,g,g,y,k,L)}}_renderDecorationsHighlights(e,t,i,r,g,y,k,L){for(const V of t){const z=V.options.minimap;if(!z)continue;const j=r.intersectWithViewport(V.range);if(!j)continue;const[ie,oe]=j,re=z.getColor(this._theme.value);if(!(!re||re.isTransparent()))for(let ae=ie;ae<=oe;ae++)switch(z.position){case 1:this.renderDecorationOnLine(e,i,V.range,re,r,ae,g,g,y,k,L);continue;case 2:{const le=r.getYForLineNumber(ae,g);this.renderDecoration(e,re,2,le,GUTTER_DECORATION_WIDTH$1,g);continue}}}}renderDecorationOnLine(e,t,i,r,g,y,k,L,V,z,j){const ie=g.getYForLineNumber(y,L);if(ie+k<0||ie>this._model.options.canvasInnerHeight)return;const{startLineNumber:oe,endLineNumber:re}=i,ae=oe===y?i.startColumn:1,le=re===y?i.endColumn:this._model.getLineMaxColumn(y),de=this.getXOffsetForPosition(t,y,ae,V,z,j),ue=this.getXOffsetForPosition(t,y,le,V,z,j);this.renderDecoration(e,r,de,ie,ue-de,k)}getXOffsetForPosition(e,t,i,r,g,y){if(i===1)return MINIMAP_GUTTER_WIDTH$1;if((i-1)*g>=y)return y;let L=e.get(t);if(!L){const V=this._model.getLineContent(t);L=[MINIMAP_GUTTER_WIDTH$1];let z=MINIMAP_GUTTER_WIDTH$1;for(let j=1;j=y){L[j]=y;break}L[j]=re,z=re}e.set(t,L)}return i-1le.range.startLineNumber-de.range.startLineNumber);const re=$c._fitSectionHeader.bind(null,ie,y-MINIMAP_GUTTER_WIDTH$1);for(const le of oe){const de=e.getYForLineNumber(le.range.startLineNumber,t)+i,ue=de-i,he=ue+2,pe=this._model.getSectionHeaderText(le,re);$c._renderSectionLabel(ie,pe,((ae=le.options.minimap)==null?void 0:ae.sectionHeaderStyle)===2,L,z,y,ue,g,de,he)}}static _fitSectionHeader(e,t,i){if(!i)return i;const r="…",g=e.measureText(i).width,y=e.measureText(r).width;if(g<=t||g<=y)return i;const k=i.length,L=g/i.length,V=Math.floor((t-y)/L)-1;let z=Math.ceil(V/2);for(;z>0&&/\s/.test(i[z-1]);)--z;return i.substring(0,z)+r+i.substring(k-(V-z))}static _renderSectionLabel(e,t,i,r,g,y,k,L,V,z){t&&(e.fillStyle=r,e.fillRect(0,k,y,L),e.fillStyle=g,e.fillText(t,MINIMAP_GUTTER_WIDTH$1,V)),i&&(e.beginPath(),e.moveTo(0,z),e.lineTo(y,z),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,r=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const Ue=this._lastRenderData._get();return new RenderData$1(e,Ue.imageData,Ue.lines)}const g=this._getBuffer();if(!g)return null;const[y,k,L]=$c._renderUntouchedLines(g,e.topPaddingLineCount,t,i,r,this._lastRenderData),V=this._model.getMinimapLinesRenderingData(t,i,L),z=this._model.getOptions().tabSize,j=this._model.options.defaultBackgroundColor,ie=this._model.options.backgroundColor,oe=this._model.options.foregroundAlpha,re=this._model.tokensColorTracker,ae=re.backgroundIsLight(),le=this._model.options.renderMinimap,de=this._model.options.charRenderer(),ue=this._model.options.fontScale,he=this._model.options.minimapCharWidth,Ce=(le===1?2:3)*ue,$e=r>Ce?Math.floor((r-Ce)/2):0,xe=ie.a/255,Ie=new RGBA8$1(Math.round((ie.r-j.r)*xe+j.r),Math.round((ie.g-j.g)*xe+j.g),Math.round((ie.b-j.b)*xe+j.b),255);let Ne=e.topPaddingLineCount*r;const Fe=[];for(let Ue=0,Et=i-t+1;Ue=0&&Veue)return;const Oe=le.charCodeAt(Ce);if(Oe===9){const ze=ie-(Ce+$e)%ie;$e+=ze-1,pe+=ze*y}else if(Oe===32)pe+=y;else{const ze=isFullWidthCharacter$1(Oe)?2:1;for(let qe=0;qeue)return}}}}},ContiguousLineMap$1=class{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let r=0,g=this._endLineNumber-this._startLineNumber+1;rthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}},ViewOverlayWidgets$1=class extends ViewPart$1{constructor(e,t){super(e),this._viewDomNode=t;const r=this._context.configuration.options.get(146);this._widgets={},this._verticalScrollbarWidth=r.verticalScrollbarWidth,this._minimapWidth=r.minimap.minimapWidth,this._horizontalScrollbarHeight=r.horizontalScrollbarHeight,this._editorHeight=r.height,this._editorWidth=r.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=createFastDomNode$1(document.createElement("div")),PartFingerprints$1.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=createFastDomNode$1(document.createElement("div")),PartFingerprints$1.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const i=this._context.configuration.options.get(146);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(e){const t=createFastDomNode$1(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()],r=t?t.preference:null,g=t==null?void 0:t.stackOridinal;return i.preference===r&&i.stack===g?(this._updateMaxMinWidth(),!1):(i.preference=r,i.stack=g,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const r=this._widgets[t].domNode.domNode;delete this._widgets[t],r.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var i,r;let e=0;const t=Object.keys(this._widgets);for(let g=0,y=t.length;g0);t.sort((r,g)=>(this._widgets[r].stack||0)-(this._widgets[g].stack||0));for(let r=0,g=t.length;r=3){const g=Math.floor(r/3),y=Math.floor(r/3),k=r-g-y,L=e,V=L+g,z=L+g+k;return[[0,L,V,L,z,L,V,L],[0,g,k,g+k,y,g+k+y,k+y,g+k+y]]}else if(i===2){const g=Math.floor(r/2),y=r-g,k=e,L=k+g;return[[0,k,k,k,L,k,k,k],[0,g,g,g,y,g+y,g+y,g+y]]}else{const g=e,y=r;return[[0,g,g,g,g,g,g,g],[0,y,y,y,y,y,y,y]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Color$2.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}},DecorationsOverviewRuler$1=class extends ViewPart$1{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=createFastDomNode$1(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=TokenizationRegistry$2.onDidChange(t=>{t.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new Position$3(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Settings$1(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(r=t===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:r})}return this._cursorPositions.sort((t,i)=>Position$3.compare(t.position,i.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return e.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return e.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(e?Color$2.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(OverviewRulerDecorationsGroup$1.compareByRenderingProps),this._actualShouldRender===1&&!OverviewRulerDecorationsGroup$1.equalsArr(this._renderedDecorations,t)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!equals$5(this._renderedCursorPositions,this._cursorPositions,(re,ae)=>re.position.lineNumber===ae.position.lineNumber&&re.color===ae.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,r=this._settings.canvasHeight,g=this._settings.lineHeight,y=this._context.viewLayout,k=this._context.viewLayout.getScrollHeight(),L=r/k,V=6*this._settings.pixelRatio|0,z=V/2|0,j=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(j.fillStyle=Color$2.Format.CSS.formatHexA(e),j.fillRect(0,0,i,r)):(j.clearRect(0,0,i,r),j.fillStyle=Color$2.Format.CSS.formatHexA(e),j.fillRect(0,0,i,r)):j.clearRect(0,0,i,r);const ie=this._settings.x,oe=this._settings.w;for(const re of t){const ae=re.color,le=re.data;j.fillStyle=ae;let de=0,ue=0,he=0;for(let pe=0,Ce=le.length/3;per&&(Oe=r-z),Ne=Oe-z,Fe=Oe+z}Ne>he+1||$e!==de?(pe!==0&&j.fillRect(ie[de],ue,oe[de],he-ue),de=$e,ue=Ne,he=Fe):Fe>he&&(he=Fe)}j.fillRect(ie[de],ue,oe[de],he-ue)}if(!this._settings.hideCursor){const re=2*this._settings.pixelRatio|0,ae=re/2|0,le=this._settings.x[7],de=this._settings.w[7];let ue=-100,he=-100,pe=null;for(let Ce=0,$e=this._cursorPositions.length;Ce<$e;Ce++){const xe=this._cursorPositions[Ce].color;if(!xe)continue;const Ie=this._cursorPositions[Ce].position;let Ne=y.getVerticalOffsetForLineNumber(Ie.lineNumber)*L|0;Ner&&(Ne=r-ae);const Fe=Ne-ae,Ve=Fe+re;Fe>he+1||xe!==pe?(Ce!==0&&pe&&j.fillRect(le,ue,de,he-ue),ue=Fe,he=Ve):Ve>he&&(he=Ve),pe=xe,j.fillStyle=xe}pe&&j.fillRect(le,ue,de,he-ue)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(j.beginPath(),j.lineWidth=1,j.strokeStyle=this._settings.borderColor,j.moveTo(0,0),j.lineTo(0,r),j.moveTo(1,0),j.lineTo(i,0),j.stroke())}},ColorZone$1=class{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=i|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}},OverviewRulerZone$1=class{constructor(e,t,i,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(ae=i-le);const de=z.color;let ue=this._color2Id[de];ue||(ue=++this._lastAssignedId,this._color2Id[de]=ue,this._id2Color[ue]=de);const he=new ColorZone$1(ae-le,ae+le,ue);z.setColorZone(he),k.push(he)}return this._colorZonesInvalid=!1,k.sort(ColorZone$1.compare),k}},OverviewRuler$1=class extends ViewEventHandler$1{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=createFastDomNode$1(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new OverviewZoneManager$1(r=>this._context.viewLayout.getVerticalOffsetForLineNumber(r)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(144)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(144)&&(this._zoneManager.setPixelRatio(t.get(144)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),g=this._domNode.domNode.getContext("2d");return g.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(g,i,r,e),!0}_renderOneLane(e,t,i,r){let g=0,y=0,k=0;for(const L of t){const V=L.colorId,z=L.from,j=L.to;V!==g?(e.fillRect(0,y,r,k-y),g=V,e.fillStyle=i[g],y=z,k=j):k>=z?k=Math.max(k,j):(e.fillRect(0,y,r,k-y),y=z,k=j)}e.fillRect(0,y,r,k-y)}},Rulers$1=class extends ViewPart$1{constructor(e){super(e),this.domNode=createFastDomNode$1(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(103),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const k=createFastDomNode$1(document.createElement("div"));k.setClassName("view-ruler"),k.setWidth(g),this.domNode.appendChild(k),this._renderedRulers.push(k),y--}return}let i=e-t;for(;i>0;){const r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(146);t.minimap.renderMinimap===0||t.minimap.minimapWidth>0&&t.minimap.minimapLeft===0?this._width=t.width:this._width=t.width-t.verticalScrollbarWidth}onConfigurationChanged(e){const i=this._context.configuration.options.get(104);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}},HorizontalRangeWithStyle$1=class{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}},LineVisibleRangesWithStyle$1=class{constructor(e,t){this.lineNumber=e,this.ranges=t}};function toStyledRange$1(n){return new HorizontalRangeWithStyle$1(n)}function toStyled$1(n){return new LineVisibleRangesWithStyle$1(n.lineNumber,n.ranges.map(toStyledRange$1))}var An;let SelectionsOverlay$1=(An=class extends DynamicViewOverlay$1{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const r=this._typicalHalfwidthCharacterWidth/4;let g=null,y=null;if(i&&i.length>0&&t.length>0){const k=t[0].lineNumber;if(k===e.startLineNumber)for(let V=0;!g&&V=0;V--)i[V].lineNumber===L&&(y=i[V].ranges[0]);g&&!g.startStyle&&(g=null),y&&!y.startStyle&&(y=null)}for(let k=0,L=t.length;k0){const re=t[k-1].ranges[0].left,ae=t[k-1].ranges[0].left+t[k-1].ranges[0].width;abs$2(z-re)re&&(ie.top=1),abs$2(j-ae)'}_actualRenderOneSelection(e,t,i,r){if(r.length===0)return;const g=!!r[0].ranges[0].startStyle,y=r[0].lineNumber,k=r[r.length-1].lineNumber;for(let L=0,V=r.length;L1,V)}this._previousFrameVisibleRangesWithStyle=g,this._renderResult=t.map(([y,k])=>y+k)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}},An.SELECTION_CLASS_NAME="selected-text",An.SELECTION_TOP_LEFT="top-left-radius",An.SELECTION_BOTTOM_LEFT="bottom-left-radius",An.SELECTION_TOP_RIGHT="top-right-radius",An.SELECTION_BOTTOM_RIGHT="bottom-right-radius",An.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background",An.ROUNDED_PIECE_WIDTH=10,An);registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorSelectionForeground$1);t&&!t.isTransparent()&&e.addRule(".monaco-editor .view-line span.inline-selected-text { color: ".concat(t,"; }"))});function abs$2(n){return n<0?-n:n}let ViewCursorRenderData$1=class{constructor(e,t,i,r,g,y,k){this.top=e,this.left=t,this.paddingLeft=i,this.width=r,this.height=g,this.textContent=y,this.textContentClassName=k}};var CursorPlurality$1;(function(n){n[n.Single=0]="Single",n[n.MultiPrimary=1]="MultiPrimary",n[n.MultiSecondary=2]="MultiSecondary"})(CursorPlurality$1||(CursorPlurality$1={}));let ViewCursor$1=class{constructor(e,t){this._context=e;const i=this._context.configuration.options,r=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=createFastDomNode$1(document.createElement("div")),this._domNode.setClassName("cursor ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1)),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),applyFontInfo$1(this._domNode,r),this._domNode.setDisplay("none"),this._position=new Position$3(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case CursorPlurality$1.Single:this._pluralityClass="";break;case CursorPlurality$1.MultiPrimary:this._pluralityClass="cursor-primary";break;case CursorPlurality$1.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),applyFontInfo$1(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[r,g]=getCharContainingOffset$1(i,t-1);return[new Position$3(e,r+1),i.substring(r,g)]}_prepareRender(e){let t="",i="";const[r,g]=this._getGraphemeAwarePosition();if(this._cursorStyle===TextEditorCursorStyle$3.Line||this._cursorStyle===TextEditorCursorStyle$3.LineThin){const ie=e.visibleRangeForPosition(r);if(!ie||ie.outsideRenderedLine)return null;const oe=getWindow$3(this._domNode.domNode);let re;this._cursorStyle===TextEditorCursorStyle$3.Line?(re=computeScreenAwareSize$1(oe,this._lineCursorWidth>0?this._lineCursorWidth:2),re>2&&(t=g,i=this._getTokenClassName(r))):re=computeScreenAwareSize$1(oe,1);let ae=ie.left,le=0;re>=2&&ae>=1&&(le=1,ae-=le);const de=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta;return new ViewCursorRenderData$1(de,ae,le,re,this._lineHeight,t,i)}const y=e.linesVisibleRangesForRange(new Range$5(r.lineNumber,r.column,r.lineNumber,r.column+g.length),!1);if(!y||y.length===0)return null;const k=y[0];if(k.outsideRenderedLine||k.ranges.length===0)return null;const L=k.ranges[0],V=g===" "?this._typicalHalfwidthCharacterWidth:L.width<1?this._typicalHalfwidthCharacterWidth:L.width;this._cursorStyle===TextEditorCursorStyle$3.Block&&(t=g,i=this._getTokenClassName(r));let z=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta,j=this._lineHeight;return(this._cursorStyle===TextEditorCursorStyle$3.Underline||this._cursorStyle===TextEditorCursorStyle$3.UnderlineThin)&&(z+=this._lineHeight-2,j=2),new ViewCursorRenderData$1(z,L.left,0,V,j,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName("cursor ".concat(this._pluralityClass," ").concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME$1," ").concat(this._renderData.textContentClassName)),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}};var Pr;let ViewCursors$1=(Pr=class extends ViewPart$1{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ViewCursor$1(this._context,CursorPlurality$1.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=createFastDomNode$1(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new TimeoutTimer$1,this._cursorFlatBlinkInterval=new WindowIntervalTimer$1,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(92),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,r=this._secondaryCursors.length;it.length){const g=this._secondaryCursors.length-t.length;for(let y=0;y{for(let r=0,g=e.ranges.length;r{this._isVisible?this._hide():this._show()},Pr.BLINK_INTERVAL,getWindow$3(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},Pr.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case TextEditorCursorStyle$3.Line:e+=" cursor-line-style";break;case TextEditorCursorStyle$3.Block:e+=" cursor-block-style";break;case TextEditorCursorStyle$3.Underline:e+=" cursor-underline-style";break;case TextEditorCursorStyle$3.LineThin:e+=" cursor-line-thin-style";break;case TextEditorCursorStyle$3.BlockOutline:e+=" cursor-block-outline-style";break;case TextEditorCursorStyle$3.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const t=[{class:".cursor",foreground:editorCursorForeground$1,background:editorCursorBackground$1},{class:".cursor-primary",foreground:editorMultiCursorPrimaryForeground$1,background:editorMultiCursorPrimaryBackground$1},{class:".cursor-secondary",foreground:editorMultiCursorSecondaryForeground$1,background:editorMultiCursorSecondaryBackground$1}];for(const i of t){const r=n.getColor(i.foreground);if(r){let g=n.getColor(i.background);g||(g=r.opposite()),e.addRule(".monaco-editor .cursors-layer ".concat(i.class," { background-color: ").concat(r,"; border-color: ").concat(r,"; color: ").concat(g,"; }")),isHighContrast$1(n.type)&&e.addRule(".monaco-editor .cursors-layer.has-selection ".concat(i.class," { border-left: 1px solid ").concat(g,"; border-right: 1px solid ").concat(g,"; }"))}}});const invalidFunc$2=()=>{throw new Error("Invalid change accessor")};let ViewZones$1=class extends ViewPart$1{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(146);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=createFastDomNode$1(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=createFastDomNode$1(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const r of e)t.set(r.id,r);let i=!1;return this._context.viewModel.changeWhitespace(r=>{const g=Object.keys(this._zones);for(let y=0,k=g.length;y{const r={addZone:g=>(t=!0,this._addZone(i,g)),removeZone:g=>{g&&(t=this._removeZone(i,g)||t)},layoutZone:g=>{g&&(t=this._layoutZone(i,g)||t)}};safeInvoke1Arg$1(e,r),r.addZone=invalidFunc$2,r.removeZone=invalidFunc$2,r.layoutZone=invalidFunc$2}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),g={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:createFastDomNode$1(t.domNode),marginDomNode:t.marginDomNode?createFastDomNode$1(t.marginDomNode):null};return this._safeCallOnComputedHeight(g.delegate,i.heightInPx),g.domNode.setPosition("absolute"),g.domNode.domNode.style.width="100%",g.domNode.setDisplay("none"),g.domNode.setAttribute("monaco-view-zone",g.whitespaceId),this.domNode.appendChild(g.domNode),g.marginDomNode&&(g.marginDomNode.setPosition("absolute"),g.marginDomNode.domNode.style.width="100%",g.marginDomNode.setDisplay("none"),g.marginDomNode.setAttribute("monaco-view-zone",g.whitespaceId),this.marginDomNode.appendChild(g.marginDomNode)),this._zones[g.whitespaceId]=g,this.setShouldRender(),g.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.remove(),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.remove()),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],r=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(i.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(t)}catch(i){onUnexpectedError$1(i)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(t)}catch(i){onUnexpectedError$1(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let r=!1;for(const y of t)this._zones[y.id].isInHiddenArea||(i[y.id]=y,r=!0);const g=Object.keys(this._zones);for(let y=0,k=g.length;yk)continue;const oe=ie.startLineNumber===k?ie.startColumn:V.minColumn,re=ie.endLineNumber===k?ie.endColumn:V.maxColumn;oe=Fe.endOffset&&(Ne++,Fe=i&&i[Ne]),ze!==9&&ze!==32||ie&&!$e&&Oe<=Ie)continue;if(j&&Oe>=xe&&Oe<=Ie&&ze===32){const Ue=Oe-1>=0?k.charCodeAt(Oe-1):0,Et=Oe+1=0?k.charCodeAt(Oe-1):0;if(ze===32&&Ue!==32&&Ue!==9)continue}if(i&&(!Fe||Fe.startOffset>Oe||Fe.endOffset<=Oe))continue;const qe=e.visibleRangeForPosition(new Position$3(t,Oe+1));qe&&(y?(Ve=Math.max(Ve,qe.left),ze===9?Ce+=this._renderArrow(oe,le,qe.left):Ce+='')):ze===9?Ce+='
    ').concat(pe?"→":"→","
    "):Ce+='
    ').concat(String.fromCharCode(he),"
    "))}return y?(Ve=Math.round(Ve+le),'')+Ce+""):Ce}_renderArrow(e,t,i){const r=t/7,g=t,y=e/2,k=i,L={x:0,y:r/2},V={x:100/125*g,y:L.y},z={x:V.x-.2*V.x,y:V.y+.2*V.x},j={x:z.x+.1*V.x,y:z.y+.1*V.x},ie={x:j.x+.35*V.x,y:j.y-.35*V.x},oe={x:ie.x,y:-ie.y},re={x:j.x,y:-j.y},ae={x:z.x,y:-z.y},le={x:V.x,y:-V.y},de={x:L.x,y:-L.y},he=[L,V,z,j,ie,oe,re,ae,le,de].map(pe=>"".concat((k+pe.x).toFixed(2)," ").concat((y+pe.y).toFixed(2))).join(" L ");return'')}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}},WhitespaceOptions$1=class{constructor(e){const t=e.options,i=t.get(50),r=t.get(38);r==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):r==="svg"?(this.renderWhitespace=t.get(100),this.renderWithSVG=!0):(this.renderWhitespace=t.get(100),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(118)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}},ViewportData$1=class{constructor(e,t,i,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.lineHeight=t.lineHeight|0,this.whitespaceViewportData=i,this._model=r,this.visibleRange=new Range$5(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}},EditorTheme$1=class{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}},ViewContext$1=class{constructor(e,t,i){this.configuration=e,this.theme=new EditorTheme$1(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}};var __decorate$4n=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4d=function(n,e){return function(t,i){e(t,i,n)}};let View$3=class extends ViewEventHandler$1{constructor(e,t,i,r,g,y,k){super(),this._instantiationService=k,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Selection$3(1,1,1,1)],this._renderAnimationFrame=null;const L=new ViewController$1(t,r,g,e);this._context=new ViewContext$1(t,i,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(TextAreaHandler$1,this._context,L,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=createFastDomNode$1(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=createFastDomNode$1(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=createFastDomNode$1(document.createElement("div")),PartFingerprints$1.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new EditorScrollbar$2(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new ViewLines$1(this._context,this._linesContent),this._viewZones=new ViewZones$1(this._context),this._viewParts.push(this._viewZones);const V=new DecorationsOverviewRuler$1(this._context);this._viewParts.push(V);const z=new ScrollDecorationViewPart$1(this._context);this._viewParts.push(z);const j=new ContentViewOverlays$1(this._context);this._viewParts.push(j),j.addDynamicOverlay(new CurrentLineHighlightOverlay$1(this._context)),j.addDynamicOverlay(new SelectionsOverlay$1(this._context)),j.addDynamicOverlay(new IndentGuidesOverlay$1(this._context)),j.addDynamicOverlay(new DecorationsOverlay$1(this._context)),j.addDynamicOverlay(new WhitespaceOverlay$1(this._context));const ie=new MarginViewOverlays$1(this._context);this._viewParts.push(ie),ie.addDynamicOverlay(new CurrentLineMarginHighlightOverlay$1(this._context)),ie.addDynamicOverlay(new MarginViewLineDecorationsOverlay$1(this._context)),ie.addDynamicOverlay(new LinesDecorationsOverlay$1(this._context)),ie.addDynamicOverlay(new LineNumbersOverlay$1(this._context)),this._glyphMarginWidgets=new GlyphMarginWidgets$1(this._context),this._viewParts.push(this._glyphMarginWidgets);const oe=new Margin$1(this._context);oe.getDomNode().appendChild(this._viewZones.marginDomNode),oe.getDomNode().appendChild(ie.getDomNode()),oe.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(oe),this._contentWidgets=new ViewContentWidgets$1(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new ViewCursors$1(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new ViewOverlayWidgets$1(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const re=new Rulers$1(this._context);this._viewParts.push(re);const ae=new BlockDecorations$1(this._context);this._viewParts.push(ae);const le=new Minimap$1(this._context);if(this._viewParts.push(le),V){const de=this._scrollbar.getOverviewRulerLayoutInfo();de.parent.insertBefore(V.getDomNode(),de.insertBefore)}this._linesContent.appendChild(j.getDomNode()),this._linesContent.appendChild(re.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(oe.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(z.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(le.getDomNode()),this._overflowGuardContainer.appendChild(ae.domNode),this.domNode.appendChild(this._overflowGuardContainer),y?(y.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),y.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new PointerHandler$1(this._context,L,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],r=0;i=i.concat(e.getAllMarginDecorations().map(g=>{var k,L,V;const y=(L=(k=g.options.glyphMargin)==null?void 0:k.position)!=null?L:GlyphMarginLane$2.Center;return r=Math.max(r,g.range.endLineNumber),{range:g.range,lane:y,persist:(V=g.options.glyphMargin)==null?void 0:V.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(g=>{const y=e.validateRange(g.preference.range);return r=Math.max(r,y.endLineNumber),{range:y,lane:g.preference.lane}})),i.sort((g,y)=>Range$5.compareRangesUsingStarts(g.range,y.range)),t.reset(r);for(const g of i)t.push(g.lane,g.range,g.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new PointerHandlerLastRenderData$1(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Position$3(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const t=this._context.configuration.options.get(146);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(143)+" "+getThemeTypeSelector$1(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){var e;if(this._store.isDisposed)throw new BugIndicatingError$1;if(this._renderAnimationFrame===null){const t=this._createCoordinatedRendering();this._renderAnimationFrame=EditorRenderingCoordinator$1.INSTANCE.scheduleCoordinatedRendering({window:getWindow$3((e=this.domNode)==null?void 0:e.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError$1;try{return t.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError$1;return t.renderText()},prepareRender:(i,r)=>{if(this._store.isDisposed)throw new BugIndicatingError$1;return t.prepareRender(i,r)},render:(i,r)=>{if(this._store.isDisposed)throw new BugIndicatingError$1;return t.render(i,r)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();safeInvokeNoArg$1(()=>e.prepareRenderText());const t=safeInvokeNoArg$1(()=>e.renderText());if(t){const[i,r]=t;safeInvokeNoArg$1(()=>e.prepareRender(i,r)),safeInvokeNoArg$1(()=>e.render(i,r))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}inputLatency$1.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new ViewportData$1(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new RenderingContext$1(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const g=this._viewLines.visibleRangeForPosition(new Position$3(r.lineNumber,r.column));return g?g.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?ViewUserInputEvents$1.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new OverviewRuler$1(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const i of this._viewParts)i.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,i,r,g,y,k,L,V;this._contentWidgets.setWidgetPosition(e.widget,(i=(t=e.position)==null?void 0:t.position)!=null?i:null,(g=(r=e.position)==null?void 0:r.secondaryPosition)!=null?g:null,(k=(y=e.position)==null?void 0:y.preference)!=null?k:null,(V=(L=e.position)==null?void 0:L.positionAffinity)!=null?V:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){this._overlayWidgets.setWidgetPosition(e.widget,e.position)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};View$3=__decorate$4n([__param$4d(6,IInstantiationService$1)],View$3);function safeInvokeNoArg$1(n){try{return n()}catch(e){return onUnexpectedError$1(e),null}}var sa;let EditorRenderingCoordinator$1=(sa=class{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(t!==-1&&(this._coordinatedRenderings.splice(t,1),this._coordinatedRenderings.length===0)){for(const[i,r]of this._animationFrameRunners)r.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,runAtThisOrScheduleAtNextAnimationFrame$1(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)safeInvokeNoArg$1(()=>i.prepareRenderText());const t=[];for(let i=0,r=e.length;ig.renderText())}for(let i=0,r=e.length;ig.prepareRender(k,L))}for(let i=0,r=e.length;ig.render(k,L))}}},sa.INSTANCE=new sa,sa),ModelLineProjectionData$1=class{constructor(e,t,i,r,g){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=g}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let r=this.breakOffsets[e]-t;return e>0&&(r+=this.wrappedTextIndentLength),r}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let r=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let g=0;gthis.injectionOffsets[g];g++)r0?this.breakOffsets[g-1]:0,t===0)if(e<=y)r=g-1;else if(e>L)i=g+1;else break;else if(e=L)i=g+1;else break}let k=e-y;return g>0&&(k+=this.wrappedTextIndentLength),new OutputPosition$1(g,k)}normalizeOutputPosition(e,t,i){if(this.injectionOffsets!==null){const r=this.outputPositionToOffsetInInputWithInjections(e,t),g=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,i);if(g!==r)return this.offsetInInputWithInjectionsToOutputPosition(g,i)}if(i===0){if(e>0&&t===this.getMinOutputOffset(e))return new OutputPosition$1(e-1,this.getMaxOutputOffset(e-1))}else if(i===1){const r=this.getOutputLineCount()-1;if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(t===2){if(e===i.offsetInInputWithInjections+i.length&&hasRightCursorStop$1(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let r=i.offsetInInputWithInjections;if(hasLeftCursorStop$1(this.injectionOptions[i.injectedTextIndex].cursorStops))return r;let g=i.injectedTextIndex-1;for(;g>=0&&this.injectionOffsets[g]===this.injectionOffsets[i.injectedTextIndex]&&!(hasRightCursorStop$1(this.injectionOptions[g].cursorStops)||(r-=this.injectionOptions[g].content.length,hasLeftCursorStop$1(this.injectionOptions[g].cursorStops)));)g--;return r}}else if(t===1||t===4){let r=i.offsetInInputWithInjections+i.length,g=i.injectedTextIndex;for(;g+1=0&&this.injectionOffsets[g-1]===this.injectionOffsets[g];)r-=this.injectionOptions[g-1].content.length,g--;return r}assertNever$1()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(i);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(t!==null){let r=0;for(let g=0;ge)break;if(e<=L)return{injectedTextIndex:g,offsetInInputWithInjections:k,length:y};r+=y}}}};function hasRightCursorStop$1(n){return n==null?!0:n===InjectedTextCursorStops$2.Right||n===InjectedTextCursorStops$2.Both}function hasLeftCursorStop$1(n){return n==null?!0:n===InjectedTextCursorStops$2.Left||n===InjectedTextCursorStops$2.Both}let OutputPosition$1=class{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return"".concat(this.outputLineIndex,":").concat(this.outputOffset)}toPosition(e){return new Position$3(e+this.outputLineIndex,this.outputOffset+1)}};const ttPolicy$7=createTrustedTypesPolicy$1("domLineBreaksComputer",{createHTML:n=>n});let DOMLineBreaksComputerFactory$1=class bh{static create(e){return new bh(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,r,g){const y=[],k=[];return{addRequest:(L,V,z)=>{y.push(L),k.push(V)},finalize:()=>createLineBreaks$3(assertIsDefined$1(this.targetWindow.deref()),y,e,t,i,r,g,k)}}};function createLineBreaks$3(n,e,t,i,r,g,y,k){var Ne;function L(Fe){const Ve=k[Fe];if(Ve){const Oe=LineInjectedText$1.applyInjectedText(e[Fe],Ve),ze=Ve.map(Ue=>Ue.options),qe=Ve.map(Ue=>Ue.column-1);return new ModelLineProjectionData$1(qe,ze,[Oe.length],[],0)}else return null}if(r===-1){const Fe=[];for(let Ve=0,Oe=e.length;VeV?(Oe=0,ze=0):qe=V-At}const Ue=Ve.substr(Oe),Et=renderLine$2(Ue,ze,i,qe,re,ie);ae[Fe]=Oe,le[Fe]=ze,de[Fe]=Ue,ue[Fe]=Et[0],he[Fe]=Et[1]}const pe=re.build(),Ce=(Ne=ttPolicy$7==null?void 0:ttPolicy$7.createHTML(pe))!=null?Ne:pe;oe.innerHTML=Ce,oe.style.position="absolute",oe.style.top="10000",y==="keepAll"?(oe.style.wordBreak="keep-all",oe.style.overflowWrap="anywhere"):(oe.style.wordBreak="inherit",oe.style.overflowWrap="break-word"),n.document.body.appendChild(oe);const $e=document.createRange(),xe=Array.prototype.slice.call(oe.children,0),Ie=[];for(let Fe=0;Feei.options),Lt=kt.map(ei=>ei.column-1)):(At=null,Lt=null),Ie[Fe]=new ModelLineProjectionData$1(Lt,At,Oe,Et,qe)}return oe.remove(),Ie}function renderLine$2(n,e,t,i,r,g){if(g!==0){const ie=String(g);r.appendString('
    ');const y=n.length;let k=e,L=0;const V=[],z=[];let j=0");for(let ie=0;ie"),V[ie]=L,z[ie]=k;const oe=j;j=ie+1"),V[n.length]=L,z[n.length]=k,r.appendString("
    "),[V,z]}function readLineBreaks$1(n,e,t,i){if(t.length<=1)return null;const r=Array.prototype.slice.call(e.children,0),g=[];try{discoverBreaks$1(n,r,i,0,null,t.length-1,null,g)}catch(y){return console.log(y),null}return g.length===0?null:(g.push(t.length),g)}function discoverBreaks$1(n,e,t,i,r,g,y,k){if(i===g||(r=r||readClientRect$1(n,e,t[i],t[i+1]),y=y||readClientRect$1(n,e,t[g],t[g+1]),Math.abs(r[0].top-y[0].top)<=.1))return;if(i+1===g){k.push(g);return}const L=i+(g-i)/2|0,V=readClientRect$1(n,e,t[L],t[L+1]);discoverBreaks$1(n,e,t,i,r,L,V,k),discoverBreaks$1(n,e,t,L,V,g,y,k)}function readClientRect$1(n,e,t,i){return n.setStart(e[t/16384|0].firstChild,t%16384),n.setEnd(e[i/16384|0].firstChild,i%16384),n.getClientRects()}let CodeEditorContributions$1=class extends Disposable$1{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new DisposableMap$1),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const r of t){if(this._pending.has(r.id)){onUnexpectedError$1(new Error("Cannot have two contributions with the same id ".concat(r.id)));continue}this._pending.set(r.id,r)}this._instantiateSome(0),this._register(runWhenWindowIdle$1(getWindow$3(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(runWhenWindowIdle$1(getWindow$3(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(runWhenWindowIdle$1(getWindow$3(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)typeof i.saveViewState=="function"&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)typeof i.restoreViewState=="function"&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return runWhenWindowIdle$1(getWindow$3((e=this._editor)==null?void 0:e.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const i=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,i),typeof i.restoreViewState=="function"&&t.instantiation!==0&&console.warn("Editor contribution '".concat(t.id,"' should be eager instantiated because it uses saveViewState / restoreViewState."))}catch(i){onUnexpectedError$1(i)}}}},InternalEditorAction$1=class{constructor(e,t,i,r,g,y,k){this.id=e,this.label=t,this.alias=i,this.metadata=r,this._precondition=g,this._run=y,this._contextKeyService=k}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}},MonospaceLineBreaksComputerFactory$1=class Ch{static create(e){return new Ch(e.get(135),e.get(134))}constructor(e,t){this.classifier=new WrappingCharacterClassifier$1(e,t)}createLineBreaksComputer(e,t,i,r,g){const y=[],k=[],L=[];return{addRequest:(V,z,j)=>{y.push(V),k.push(z),L.push(j)},finalize:()=>{const V=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,z=[];for(let j=0,ie=y.length;j=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},arrPool1$1=[],arrPool2$1=[];function createLineBreaksFromPreviousLineBreaks$1(n,e,t,i,r,g,y,k){if(r===-1)return null;const L=t.length;if(L<=1)return null;const V=k==="keepAll",z=e.breakOffsets,j=e.breakOffsetsVisibleColumn,ie=computeWrappedTextIndentLength$1(t,i,r,g,y),oe=r-ie,re=arrPool1$1,ae=arrPool2$1;let le=0,de=0,ue=0,he=r;const pe=z.length;let Ce=0;if(Ce>=0){let $e=Math.abs(j[Ce]-he);for(;Ce+1=$e)break;$e=xe,Ce++}}for(;Ce$e&&($e=de,xe=ue);let Ie=0,Ne=0,Fe=0,Ve=0;if(xe<=he){let ze=xe,qe=$e===0?0:t.charCodeAt($e-1),Ue=$e===0?0:n.get(qe),Et=!0;for(let At=$e;Atde&&canBreak$1(qe,Ue,kt,ei,V)&&(Ie=Lt,Ne=ze),ze+=jt,ze>he){Lt>de?(Fe=Lt,Ve=ze-jt):(Fe=At+1,Ve=ze),ze-Ne>oe&&(Ie=0),Et=!1;break}qe=kt,Ue=ei}if(Et){le>0&&(re[le]=z[z.length-1],ae[le]=j[z.length-1],le++);break}}if(Ie===0){let ze=xe,qe=t.charCodeAt($e),Ue=n.get(qe),Et=!1;for(let At=$e-1;At>=de;At--){const Lt=At+1,kt=t.charCodeAt(At);if(kt===9){Et=!0;break}let ei,jt;if(isLowSurrogate$1(kt)?(At--,ei=0,jt=2):(ei=n.get(kt),jt=isFullWidthCharacter$1(kt)?g:1),ze<=he){if(Fe===0&&(Fe=Lt,Ve=ze),ze<=he-oe)break;if(canBreak$1(kt,ei,qe,Ue,V)){Ie=Lt,Ne=ze;break}}ze-=jt,qe=kt,Ue=ei}if(Ie!==0){const At=oe-(Ve-Ne);if(At<=i){const Lt=t.charCodeAt(Fe);let kt;isHighSurrogate$1(Lt)?kt=2:kt=computeCharWidth$1(Lt,Ve,i,g),At-kt<0&&(Ie=0)}}if(Et){Ce--;continue}}if(Ie===0&&(Ie=Fe,Ne=Ve),Ie<=de){const ze=t.charCodeAt(de);isHighSurrogate$1(ze)?(Ie=de+2,Ne=ue+2):(Ie=de+1,Ne=ue+computeCharWidth$1(ze,ue,i,g))}for(de=Ie,re[le]=Ie,ue=Ne,ae[le]=Ne,le++,he=Ne+oe;Ce<0||Ce=Oe)break;Oe=ze,Ce++}}return le===0?null:(re.length=le,ae.length=le,arrPool1$1=e.breakOffsets,arrPool2$1=e.breakOffsetsVisibleColumn,e.breakOffsets=re,e.breakOffsetsVisibleColumn=ae,e.wrappedTextIndentLength=ie,e)}function createLineBreaks$2(n,e,t,i,r,g,y,k){const L=LineInjectedText$1.applyInjectedText(e,t);let V,z;if(t&&t.length>0?(V=t.map(Ne=>Ne.options),z=t.map(Ne=>Ne.column-1)):(V=null,z=null),r===-1)return V?new ModelLineProjectionData$1(z,V,[L.length],[],0):null;const j=L.length;if(j<=1)return V?new ModelLineProjectionData$1(z,V,[L.length],[],0):null;const ie=k==="keepAll",oe=computeWrappedTextIndentLength$1(L,i,r,g,y),re=r-oe,ae=[],le=[];let de=0,ue=0,he=0,pe=r,Ce=L.charCodeAt(0),$e=n.get(Ce),xe=computeCharWidth$1(Ce,0,i,g),Ie=1;isHighSurrogate$1(Ce)&&(xe+=1,Ce=L.charCodeAt(1),$e=n.get(Ce),Ie++);for(let Ne=Ie;Nepe&&((ue===0||xe-he>re)&&(ue=Fe,he=xe-ze),ae[de]=ue,le[de]=he,de++,pe=he+re,ue=0),Ce=Ve,$e=Oe}return de===0&&(!t||t.length===0)?null:(ae[de]=j,le[de]=xe,new ModelLineProjectionData$1(z,V,ae,le,oe))}function computeCharWidth$1(n,e,t,i){return n===9?t-e%t:isFullWidthCharacter$1(n)||n<32?i:1}function tabCharacterWidth$1(n,e){return e-n%e}function canBreak$1(n,e,t,i,r){return t!==32&&(e===2&&i!==2||e!==1&&i===1||!r&&e===3&&i!==2||!r&&i===3&&e!==1)}function computeWrappedTextIndentLength$1(n,e,t,i,r){let g=0;if(r!==0){const y=firstNonWhitespaceIndex$1(n);if(y!==-1){for(let L=0;Lt&&(g=0)}}return g}let Cursor$1=class Sh{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new SingleCursorState$1(new Range$5(1,1,1,1),0,0,new Position$3(1,1),0),new SingleCursorState$1(new Range$5(1,1,1,1),0,0,new Position$3(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new CursorState$3(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Selection$3.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Selection$3.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,r){return t.equals(i)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,r=t.selectionStart.getStartPosition(),g=t.selectionStart.getEndPosition(),y=e.normalizePosition(i,2),k=this._validatePositionWithCache(e,r,i,y),L=this._validatePositionWithCache(e,g,r,k);return i.equals(y)&&r.equals(k)&&g.equals(L)?t:new SingleCursorState$1(Range$5.fromPositions(k,L),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-k.column,y,t.leftoverVisibleColumns+i.column-y.column)}_setState(e,t,i){if(i&&(i=Sh._validateViewState(e.viewModel,i)),t){const r=e.model.validateRange(t.selectionStart),g=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,y=e.model.validatePosition(t.position),k=t.position.equals(y)?t.leftoverVisibleColumns:0;t=new SingleCursorState$1(r,t.selectionStartKind,g,y,k)}else{if(!i)return;const r=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),g=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new SingleCursorState$1(r,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,g,i.leftoverVisibleColumns)}if(i){const r=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),g=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new SingleCursorState$1(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,g,t.leftoverVisibleColumns)}else{const r=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$3(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),g=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$3(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),y=new Range$5(r.lineNumber,r.column,g.lineNumber,g.column),k=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new SingleCursorState$1(y,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,k,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}},CursorCollection$1=class{constructor(e){this.context=e,this.cursors=[new Cursor$1(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return findFirstMin(this.cursors,compareBy$1(e=>e.viewState.position,Position$3.compare)).viewState.position}getBottomMostViewPosition(){return findLastMax(this.cursors,compareBy$1(e=>e.viewState.position,Position$3.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(CursorState$3.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const r=t-i;for(let g=0;g=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;const e=this.cursors.slice(0),t=[];for(let i=0,r=e.length;ii.selection,Range$5.compareRangesUsingStarts));for(let i=0;ij&&ae.index--;e.splice(j,1),t.splice(z,1),this._removeSecondaryCursor(j-1),i--}}}},CursorContext$1=class{constructor(e,t,i,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=r}},ViewCompositionStartEvent$1=class{constructor(){this.type=0}},ViewCompositionEndEvent$1=class{constructor(){this.type=1}},ViewConfigurationChangedEvent$1=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},ViewCursorStateChangedEvent$1=class{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}},ViewDecorationsChangedEvent$1=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}},ViewFlushedEvent$1=class{constructor(){this.type=5}},ViewFocusChangedEvent$1=class{constructor(e){this.type=6,this.isFocused=e}},ViewLanguageConfigurationEvent$1=class{constructor(){this.type=7}},ViewLineMappingChangedEvent$1=class{constructor(){this.type=8}},ViewLinesChangedEvent$1=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},ViewLinesDeletedEvent$1=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},ViewLinesInsertedEvent$1=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},ViewRevealRangeRequestEvent$1=class{constructor(e,t,i,r,g,y,k){this.source=e,this.minimalReveal=t,this.range=i,this.selections=r,this.verticalType=g,this.revealHorizontal=y,this.scrollType=k,this.type=12}},ViewScrollChangedEvent$1=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},ViewThemeChangedEvent$1=class{constructor(e){this.theme=e,this.type=14}},ViewTokensChangedEvent$1=class{constructor(e){this.type=15,this.ranges=e}},ViewTokensColorsChangedEvent$1=class{constructor(){this.type=16}},ViewZonesChangedEvent$3=class{constructor(){this.type=17}},ViewModelEventDispatcher$1=class extends Disposable$1{constructor(){super(),this._onEvent=this._register(new Emitter$3),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}},ViewModelEventsCollector$1=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},ContentSizeChangedEvent$1=class yh{constructor(e,t,i,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new yh(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}},FocusChangedEvent$1=class wh{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new wh(this.oldHasFocus,e.hasFocus)}},ScrollChangedEvent$1=class $h{constructor(e,t,i,r,g,y,k,L){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=r,this.scrollWidth=g,this.scrollLeft=y,this.scrollHeight=k,this.scrollTop=L,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(e){return e.kind!==this.kind?null:new $h(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}},ViewZonesChangedEvent$2=class{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}},HiddenAreasChangedEvent$1=class{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}},CursorStateChangedEvent$1=class Od{constructor(e,t,i,r,g,y,k){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=r,this.source=g,this.reason=y,this.reachedMaxCursorCount=k}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length,r=t.length;if(i!==r)return!1;for(let g=0;g0){const e=this._cursors.getSelections();for(let t=0;ty&&(r=r.slice(0,y),g=!0);const k=CursorModelState$1.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,k,g)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,r,g,y){const k=this._cursors.getViewPositions();let L=null,V=null;k.length>1?V=this._cursors.getViewSelections():L=Range$5.fromPositions(k[0],k[0]),e.emitViewEvent(new ViewRevealRangeRequestEvent$1(t,i,L,V,r,g,y))}revealPrimary(e,t,i,r,g,y){const L=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new ViewRevealRangeRequestEvent$1(t,i,null,L,r,g,y))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,r=t.length;i0){const g=CursorState$3.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,g)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const g=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,CursorState$3.fromModelSelections(g))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,r){this.setStates(e,t,r,CursorState$3.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],r=[];for(let k=0,L=e.length;k0&&this._pushAutoClosedAction(i,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,r,g){const y=CursorModelState$1.from(this._model,this);if(y.equals(r))return!1;const k=this._cursors.getSelections(),L=this._cursors.getViewSelections();if(e.emitViewEvent(new ViewCursorStateChangedEvent$1(L,k,i)),!r||r.cursorState.length!==y.cursorState.length||y.cursorState.some((V,z)=>!V.modelState.equals(r.cursorState[z].modelState))){const V=r?r.cursorState.map(j=>j.modelState.selection):null,z=r?r.modelVersionId:0;e.emitOutgoingEvent(new CursorStateChangedEvent$1(V,k,z,y.modelVersionId,t||"keyboard",i,g))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,r=e.length;i=0)return null;const y=g.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!y)return null;const k=y[1],L=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(k);if(!L||L.length!==1)return null;const V=L[0].open,z=g.text.length-y[2].length-1,j=g.text.lastIndexOf(V,z-1);if(j===-1)return null;t.push([j,z])}return t}executeEdits(e,t,i,r){let g=null;t==="snippet"&&(g=this._findAutoClosingPairs(i)),g&&(i[0]._isTracked=!0);const y=[],k=[],L=this._model.pushEditOperations(this.getSelections(),i,V=>{if(g)for(let j=0,ie=g.length;j0&&this._pushAutoClosedAction(y,k)}_executeEdit(e,t,i,r=0){if(this.context.cursorConfig.readOnly)return;const g=CursorModelState$1.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(y){onUnexpectedError$1(y)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,r,g,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return AutoClosedAction$1.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new CompositionState$1(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(TypeOperations$1.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if(i==="keyboard"){const r=t.length;let g=0;for(;g{const V=L.getPosition();return new Selection$3(V.lineNumber,V.column+g,V.lineNumber,V.column+g)});this.setSelections(e,y,k,0)}return}this._executeEdit(()=>{this._executeEditOperation(TypeOperations$1.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,r,g))},e,y)}paste(e,t,i,r,g){this._executeEdit(()=>{this._executeEditOperation(TypeOperations$1.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,r||[]))},e,g,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(DeleteOperations$1.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new EditOperationResult$1(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new EditOperationResult$1(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}},CursorModelState$1=class Eh{static from(e,t){return new Eh(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length||!t[i].strictContainsRange(e[i]))return!1;return!0}},CommandExecutor$1=class{static executeCommands(e,t,i){const r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},g=this._innerExecuteCommands(r,i);for(let y=0,k=r.trackedRanges.length;y0&&(y[0]._isTracked=!0);let k=e.model.pushEditOperations(e.selectionsBefore,y,V=>{const z=[];for(let oe=0;oeoe.identifier.minor-re.identifier.minor,ie=[];for(let oe=0;oe0?(z[oe].sort(j),ie[oe]=t[oe].computeCursorState(e.model,{getInverseEditOperations:()=>z[oe],getTrackedSelection:re=>{const ae=parseInt(re,10),le=e.model._getTrackedRange(e.trackedRanges[ae]);return e.trackedRangesDirection[ae]===0?new Selection$3(le.startLineNumber,le.startColumn,le.endLineNumber,le.endColumn):new Selection$3(le.endLineNumber,le.endColumn,le.startLineNumber,le.startColumn)}})):ie[oe]=e.selectionsBefore[oe];return ie});k||(k=e.selectionsBefore);const L=[];for(const V in g)g.hasOwnProperty(V)&&L.push(parseInt(V,10));L.sort((V,z)=>z-V);for(const V of L)k.splice(V,1);return k}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{Range$5.isEmpty(j)&&ie===""||r.push({identifier:{major:t,minor:g++},range:j,text:ie,forceMoveMarkers:oe,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let k=!1;const z={addEditOperation:y,addTrackedEditOperation:(j,ie,oe)=>{k=!0,y(j,ie,oe)},trackSelection:(j,ie)=>{const oe=Selection$3.liftSelection(j);let re;if(oe.isEmpty())if(typeof ie=="boolean")ie?re=2:re=3;else{const de=e.model.getLineMaxColumn(oe.startLineNumber);oe.startColumn===de?re=2:re=3}else re=1;const ae=e.trackedRanges.length,le=e.model._setTrackedRange(null,oe,re);return e.trackedRanges[ae]=le,e.trackedRangesDirection[ae]=oe.getDirection(),ae.toString()}};try{i.getEditOperations(e.model,z)}catch(j){return onUnexpectedError$1(j),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:k}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((i,r)=>-Range$5.compareRangesUsingEnds(i.range,r.range));const t={};for(let i=1;ig.identifier.major?y=r.identifier.major:y=g.identifier.major,t[y.toString()]=!0;for(let k=0;k0&&i--}}return t}},CompositionLineState$1=class{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}},CompositionState$1=class Gc{static _capture(e,t){const i=[];for(const r of t){if(r.startLineNumber!==r.endLineNumber)return null;i.push(new CompositionLineState$1(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return i}constructor(e,t){this._original=Gc._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=Gc._capture(e,t);if(!i||this._original.length!==i.length)return null;const r=[];for(let g=0,y=this._original.length;g>>1;t===e[y].afterLineNumber?i{t=!0,r=r|0,g=g|0,y=y|0,k=k|0;const L=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new EditorWhitespace$1(L,r,g,y,k)),L},changeOneWhitespace:(r,g,y)=>{t=!0,g=g|0,y=y|0,this._pendingChanges.change({id:r,newAfterLineNumber:g,newHeight:y})},removeWhitespace:r=>{t=!0,this._pendingChanges.remove({id:r})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const L of e)this._insertWhitespace(L);for(const L of t)this._changeOneWhitespace(L.id,L.newAfterLineNumber,L.newHeight);for(const L of i){const V=this._findWhitespaceIndex(L.id);V!==-1&&this._removeWhitespace(V)}return}const r=new Set;for(const L of i)r.add(L.id);const g=new Map;for(const L of t)g.set(L.id,L);const y=L=>{const V=[];for(const z of L)if(!r.has(z.id)){if(g.has(z.id)){const j=g.get(z.id);z.afterLineNumber=j.newAfterLineNumber,z.height=j.newHeight}V.push(z)}return V},k=y(this._arr).concat(y(e));k.sort((L,V)=>L.afterLineNumber===V.afterLineNumber?L.ordinal-V.ordinal:L.afterLineNumber-V.afterLineNumber),this._arr=k,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=Or.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,r=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e=e|0,t=t|0,this._lineCount+=t-e+1;for(let i=0,r=this._arr.length;i=t.length||t[k+1].afterLineNumber>=e)return k;i=k+1|0}else r=k-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const i=this._findLastWhitespaceBeforeLineNumber(e)+1;return i1?i=this._lineHeight*(e-1):i=0;const r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return i+r+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e=e|0;const i=this._lineHeight*e,r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0));return i+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,i=this._arr.length;tt}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e=t-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const t=this._lineCount|0,i=this._lineHeight;let r=1,g=t;for(;r=k+i)r=y+1;else{if(e>=k)return y;g=y}}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,g=this.getVerticalOffsetForLineNumber(r)|0;let y=this._lineCount|0,k=this.getFirstWhitespaceIndexAfterLineNumber(r)|0;const L=this.getWhitespacesCount()|0;let V,z;k===-1?(k=L,z=y+1,V=0):(z=this.getAfterLineNumberForWhitespaceIndex(k)|0,V=this.getHeightForWhitespaceIndex(k)|0);let j=g,ie=j;const oe=5e5;let re=0;g>=oe&&(re=Math.floor(g/oe)*oe,re=Math.floor(re/i)*i,ie-=re);const ae=[],le=e+(t-e)/2;let de=-1;for(let Ce=r;Ce<=y;Ce++){if(de===-1){const $e=j,xe=j+i;($e<=le&&lele)&&(de=Ce)}for(j+=i,ae[Ce-r]=ie,ie+=i;z===Ce;)ie+=V,j+=V,k++,k>=L?z=y+1:(z=this.getAfterLineNumberForWhitespaceIndex(k)|0,V=this.getHeightForWhitespaceIndex(k)|0);if(j>=t){y=Ce;break}}de===-1&&(de=y);const ue=this.getVerticalOffsetForLineNumber(y)|0;let he=r,pe=y;return het&&pe--,{bigNumbersDelta:re,startLineNumber:r,endLineNumber:y,relativeVerticalOffset:ae,centeredLineNumber:de,completelyVisibleStartLineNumber:he,completelyVisibleEndLineNumber:pe,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i;t>=1?i=this._lineHeight*t:i=0;let r;return e>0?r=this.getWhitespacesAccumulatedHeight(e-1):r=0,i+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;const r=this.getVerticalOffsetForWhitespaceIndex(i),g=this.getHeightForWhitespaceIndex(i);if(e>=r+g)return-1;for(;t=k+L)t=y+1;else{if(e>=k)return y;i=y}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const r=this.getHeightForWhitespaceIndex(t),g=this.getIdForWhitespaceIndex(t),y=this.getAfterLineNumberForWhitespaceIndex(t);return{id:g,afterLineNumber:y,verticalOffset:i,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(i<0)return[];const g=[];for(let y=i;y<=r;y++){const k=this.getVerticalOffsetForWhitespaceIndex(y),L=this.getHeightForWhitespaceIndex(y);if(k>=t)break;g.push({id:this.getIdForWhitespaceIndex(y),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(y),verticalOffset:k,height:L})}return g}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}},Or.INSTANCE_COUNT=0,Or);const SMOOTH_SCROLLING_TIME$1=125;let EditorScrollDimensions$1=class{constructor(e,t,i,r){e=e|0,t=t|0,i=i|0,r=r|0,e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=r,this.scrollHeight=Math.max(i,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},EditorScrollable$1=class extends Disposable$1{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Emitter$3),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new EditorScrollDimensions$1(0,0,0,0),this._scrollable=this._register(new Scrollable$2({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(i||r)&&this._onDidContentSizeChange.fire(new ContentSizeChangedEvent$1(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}},ViewLayout$1=class extends Disposable$1{constructor(e,t,i){super(),this._configuration=e;const r=this._configuration.options,g=r.get(146),y=r.get(84);this._linesLayout=new LinesLayout$3(t,r.get(67),y.top,y.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new EditorScrollable$1(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new EditorScrollDimensions$1(g.contentWidth,0,g.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(115)?SMOOTH_SCROLLING_TIME$1:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const i=t.get(84);this._linesLayout.setPadding(i.top,i.bottom)}if(e.hasChanged(146)){const i=t.get(146),r=i.contentWidth,g=i.height,y=this._scrollable.getScrollDimensions(),k=y.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions$1(r,y.contentWidth,g,this._getContentHeight(r,g,k)))}else this._updateHeight();e.hasChanged(115)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const r=this._configuration.options.get(104);return r.horizontal===2||e>=t?0:r.horizontalScrollbarSize}_getContentHeight(e,t,i){const r=this._configuration.options;let g=this._linesLayout.getLinesTotalHeight();return r.get(106)?g+=Math.max(0,t-r.get(67)-r.get(84).bottom):r.get(104).ignoreHorizontalScrollbarInContentHeight||(g+=this._getHorizontalScrollbarHeight(e,i)),g}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions$1(t,e.contentWidth,i,this._getContentHeight(t,i,r)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Viewport$1(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Viewport$1(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(147),r=e.get(50),g=e.get(146);if(i.isViewportWrapping){const y=e.get(73);return t>g.contentWidth+r.typicalHalfwidthCharacterWidth&&y.enabled&&y.side==="right"?t+g.verticalScrollbarWidth:t}else{const y=e.get(105)*r.typicalHalfwidthCharacterWidth,k=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+y+g.verticalScrollbarWidth,k,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new EditorScrollDimensions$1(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t),r=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i);return{scrollTop:t,scrollTopWithoutViewZones:t-r,scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}},ViewModelDecorations$1=class{constructor(e,t,i,r,g){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=r,this._coordinatesConverter=g,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const r=e.range,g=e.options;let y;if(g.isWholeLine){const k=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$3(r.startLineNumber,1),0,!1,!0),L=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$3(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);y=new Range$5(k.lineNumber,k.column,L.lineNumber,L.column)}else y=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new ViewModelDecoration$1(y,g),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const r=new Range$5(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const r=this._linesCollection.getDecorationsInRange(e,this.editorId,filterValidationDecorations$1(this.configuration.options),t,i),g=e.startLineNumber,y=e.endLineNumber,k=[];let L=0;const V=[];for(let z=g;z<=y;z++)V[z-g]=[];for(let z=0,j=r.length;zt===1)}function isModelDecorationInString$1(n,e){return testTokensInRange$1(n,e.range,t=>t===2)}function testTokensInRange$1(n,e,t){for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const r=n.tokenization.getLineTokens(i),g=i===e.startLineNumber,y=i===e.endLineNumber;let k=g?r.findTokenIndexAtOffset(e.startColumn-1):0;for(;ke.endColumn-1);){if(!t(r.getStandardTokenType(k)))return!1;k++}}return!0}function createModelLineProjection$1(n,e){return n===null?e?IdentityModelLineProjection$1.INSTANCE:HiddenModelLineProjection$1.INSTANCE:new ModelLineProjection$1(n,e)}let ModelLineProjection$1=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const r=i>0?this._projectionData.breakOffsets[i-1]:0,g=this._projectionData.breakOffsets[i];let y;if(this._projectionData.injectionOffsets!==null){const k=this._projectionData.injectionOffsets.map((V,z)=>new LineInjectedText$1(0,0,V+1,this._projectionData.injectionOptions[z],0));y=LineInjectedText$1.applyInjectedText(e.getLineContent(t),k).substring(r,g)}else y=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:g+1});return i>0&&(y=spaces$1(this._projectionData.wrappedTextIndentLength)+y),y}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const r=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],r),r[0]}getViewLinesData(e,t,i,r,g,y,k){this._assertVisible();const L=this._projectionData,V=L.injectionOffsets,z=L.injectionOptions;let j=null;if(V){j=[];let oe=0,re=0;for(let ae=0;ae0?L.breakOffsets[ae-1]:0,ue=L.breakOffsets[ae];for(;reue)break;if(de0?L.wrappedTextIndentLength:0,Ie=xe+Math.max(pe-de,0),Ne=xe+Math.min(Ce-de,ue-de);Ie!==Ne&&le.push(new SingleLineInlineDecoration$1(Ie,Ne,$e.inlineClassName,$e.inlineClassNameAffectsLetterSpacing))}}if(Ce<=ue)oe+=he,re++;else break}}}let ie;V?ie=e.tokenization.getLineTokens(t).withInserted(V.map((oe,re)=>({offset:oe,text:z[re].content,tokenMetadata:LineTokens$1.defaultTokenMetadata}))):ie=e.tokenization.getLineTokens(t);for(let oe=i;oe0?r.wrappedTextIndentLength:0,y=i>0?r.breakOffsets[i-1]:0,k=r.breakOffsets[i],L=e.sliceAndInflate(y,k,g);let V=L.getLineContent();i>0&&(V=spaces$1(r.wrappedTextIndentLength)+V);const z=this._projectionData.getMinOutputOffset(i)+1,j=V.length+1,ie=i+1=_spaces$1.length)for(let e=1;e<=n;e++)_spaces$1[e]=_makeSpaces$1(e);return _spaces$1[n]}function _makeSpaces$1(n){return new Array(n+1).join(" ")}let ViewModelLinesFromProjectedModel$1=class{constructor(e,t,i,r,g,y,k,L,V,z){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=g,this.tabSize=y,this.wrappingStrategy=k,this.wrappingColumn=L,this.wrappingIndent=V,this.wordBreak=z,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new CoordinatesConverter$1(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),g=i.length,y=this.createLineBreaksComputer(),k=new ArrayQueue$1(LineInjectedText$1.fromDecorations(r));for(let ae=0;aede.lineNumber===ae+1);y.addRequest(i[ae],le,t?t[ae]:null)}const L=y.finalize(),V=[],z=this.hiddenAreasDecorationIds.map(ae=>this.model.getDecorationRange(ae)).sort(Range$5.compareRangesUsingStarts);let j=1,ie=0,oe=-1,re=oe+1=j&&le<=ie,ue=createModelLineProjection$1(L[ae],!de);V[ae]=ue.getViewLineCount(),this.modelLineProjections[ae]=ue}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new ConstantTimePrefixSumComputer$1(V)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=e.map(ie=>this.model.validateRange(ie)),i=normalizeLineRanges$1(t),r=this.hiddenAreasDecorationIds.map(ie=>this.model.getDecorationRange(ie)).sort(Range$5.compareRangesUsingStarts);if(i.length===r.length){let ie=!1;for(let oe=0;oe({range:ie,options:ModelDecorationOptions$1.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,g);const y=i;let k=1,L=0,V=-1,z=V+1=k&&oe<=L?this.modelLineProjections[ie].isVisible()&&(this.modelLineProjections[ie]=this.modelLineProjections[ie].setVisible(!1),re=!0):(j=!0,this.modelLineProjections[ie].isVisible()||(this.modelLineProjections[ie]=this.modelLineProjections[ie].setVisible(!0),re=!0)),re){const ae=this.modelLineProjections[ie].getViewLineCount();this.projectedModelLineLineCounts.setValue(ie,ae)}}return j||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,r,g){const y=this.fontInfo.equals(e),k=this.wrappingStrategy===t,L=this.wrappingColumn===i,V=this.wrappingIndent===r,z=this.wordBreak===g;if(y&&k&&L&&V&&z)return!1;const j=y&&k&&!L&&V&&z;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=r,this.wordBreak=g;let ie=null;if(j){ie=[];for(let oe=0,re=this.modelLineProjections.length;oe2&&!this.modelLineProjections[t-2].isVisible(),y=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let k=0;const L=[],V=[];for(let z=0,j=r.length;zL?(z=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,j=z+L-1,re=j+1,ae=re+(g-L)-1,V=!0):gt?t:e|0}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),g=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),y=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),k=this.model.guides.getActiveIndentGuide(r.lineNumber,g.lineNumber,y.lineNumber),L=this.convertModelPositionToViewPosition(k.startLineNumber,1),V=this.convertModelPositionToViewPosition(k.endLineNumber,this.model.getLineMaxColumn(k.endLineNumber));return{startLineNumber:L.lineNumber,endLineNumber:V.lineNumber,indent:k.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,r=t.remainder;return new ViewLineInfo$1(i+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$3(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$3(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),r=this.getViewLineInfo(t),g=new Array;let y=this.getModelStartPositionOfViewLine(i),k=new Array;for(let L=i.modelLineNumber;L<=r.modelLineNumber;L++){const V=this.modelLineProjections[L-1];if(V.isVisible()){const z=L===i.modelLineNumber?i.modelLineWrappedLineIdx:0,j=L===r.modelLineNumber?r.modelLineWrappedLineIdx+1:V.getViewLineCount();for(let ie=z;ie{if(oe.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesAfterColumn).lineNumber>=z.modelLineWrappedLineIdx||oe.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesBeforeOrAtColumn).lineNumberz.modelLineWrappedLineIdx)return}const ae=this.convertModelPositionToViewPosition(z.modelLineNumber,oe.horizontalLine.endColumn),le=this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.horizontalLine.endColumn);return le.lineNumber===z.modelLineWrappedLineIdx?new IndentGuide$1(oe.visibleColumn,re,oe.className,new IndentGuideHorizontalLine$1(oe.horizontalLine.top,ae.column),-1,-1):le.lineNumber!!oe))}}return y}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let g=[];const y=[],k=[],L=i.lineNumber-1,V=r.lineNumber-1;let z=null;for(let re=L;re<=V;re++){const ae=this.modelLineProjections[re];if(ae.isVisible()){const le=ae.getViewLineNumberOfModelPosition(0,re===L?i.column:1),de=ae.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(re+1)),ue=de-le+1;let he=0;ue>1&&ae.getViewLineMinColumn(this.model,re+1,de)===1&&(he=le===0?1:2),y.push(ue),k.push(he),z===null&&(z=new Position$3(re+1,0))}else z!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(z.lineNumber,re)),z=null)}z!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(z.lineNumber,r.lineNumber)),z=null);const j=t-e+1,ie=new Array(j);let oe=0;for(let re=0,ae=g.length;ret&&(re=!0,oe=t-g+1),j.getViewLinesData(this.model,V+1,ie,oe,g-e,i,L),g+=oe,re)break}return L}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const r=this.projectedModelLineLineCounts.getIndexOf(e-1),g=r.index,y=r.remainder,k=this.modelLineProjections[g],L=k.getViewLineMinColumn(this.model,g+1,y),V=k.getViewLineMaxColumn(this.model,g+1,y);tV&&(t=V);const z=k.getModelColumnOfViewPosition(y,t);return this.model.validatePosition(new Position$3(g+1,z)).equals(i)?new Position$3(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new Range$5(i.lineNumber,i.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),r=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Position$3(i.modelLineNumber,r))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new Range$5(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,r=!1,g=!1){const y=this.model.validatePosition(new Position$3(e,t)),k=y.lineNumber,L=y.column;let V=k-1,z=!1;if(g)for(;V0&&!this.modelLineProjections[V].isVisible();)V--,z=!0;if(V===0&&!this.modelLineProjections[V].isVisible())return new Position$3(r?0:1,1);const j=1+this.projectedModelLineLineCounts.getPrefixSum(V);let ie;return z?g?ie=this.modelLineProjections[V].getViewPositionOfModelPosition(j,1,i):ie=this.modelLineProjections[V].getViewPositionOfModelPosition(j,this.model.getLineMaxColumn(V+1),i):ie=this.modelLineProjections[k-1].getViewPositionOfModelPosition(j,L,i),ie}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return Range$5.fromPositions(i)}else{const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),r=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new Range$5(i.lineNumber,i.column,r.lineNumber,r.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const g=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(g,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(i===0&&!this.modelLineProjections[i].isVisible())return 1;const r=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,r,g){const y=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),k=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(k.lineNumber-y.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new Range$5(y.lineNumber,1,k.lineNumber,k.column),t,i,r,g);let L=[];const V=y.lineNumber-1,z=k.lineNumber-1;let j=null;for(let ae=V;ae<=z;ae++)if(this.modelLineProjections[ae].isVisible())j===null&&(j=new Position$3(ae+1,ae===V?y.column:1));else if(j!==null){const de=this.model.getLineMaxColumn(ae);L=L.concat(this.model.getDecorationsInRange(new Range$5(j.lineNumber,j.column,ae,de),t,i,r)),j=null}j!==null&&(L=L.concat(this.model.getDecorationsInRange(new Range$5(j.lineNumber,j.column,k.lineNumber,k.column),t,i,r)),j=null),L.sort((ae,le)=>{const de=Range$5.compareRangesUsingStarts(ae.range,le.range);return de===0?ae.idle.id?1:0:de});const ie=[];let oe=0,re=null;for(const ae of L){const le=ae.id;re!==le&&(re=le,ie[oe++]=ae)}return ie}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function normalizeLineRanges$1(n){if(n.length===0)return[];const e=n.slice();e.sort(Range$5.compareRangesUsingStarts);const t=[];let i=e[0].startLineNumber,r=e[0].endLineNumber;for(let g=1,y=e.length;gr+1?(t.push(new Range$5(i,1,r,1)),i=k.startLineNumber,r=k.endLineNumber):k.endLineNumber>r&&(r=k.endLineNumber)}return t.push(new Range$5(i,1,r,1)),t}let ViewLineInfo$1=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},ViewLineInfoGroupedByModelRange$1=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},CoordinatesConverter$1=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,i,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},ViewModelLinesFromModelAsIs$1=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new IdentityCoordinatesConverter$1(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,r){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new ViewLinesDeletedEvent$1(t,i)}onModelLinesInserted(e,t,i,r){return new ViewLinesInsertedEvent$1(t,i)}onModelLineChanged(e,t,i){return[!1,new ViewLinesChangedEvent$1(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,r=new Array(i);for(let g=0;gt)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}};const MAX_LANE$1=GlyphMarginLane$2.Right;let GlyphMarginLanesModel$1=class{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*MAX_LANE$1/8))}reset(e){const t=Math.ceil((e+1)*MAX_LANE$1/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=ViewportStart$1.create(this.model),this.glyphLanes=new GlyphMarginLanesModel$1(0),this.model.isTooLargeForTokenization())this._lines=new ViewModelLinesFromModelAsIs$1(this.model);else{const j=this._configuration.options,ie=j.get(50),oe=j.get(140),re=j.get(147),ae=j.get(139),le=j.get(130);this._lines=new ViewModelLinesFromProjectedModel$1(this._editorId,this.model,r,g,ie,this.model.getOptions().tabSize,oe,re.wrappingColumn,ae,le)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new CursorsController$1(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ViewLayout$1(this._configuration,this.getLineCount(),y)),this._register(this.viewLayout.onDidScroll(j=>{j.scrollTopChanged&&this._handleVisibleLinesChanged(),j.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new ViewScrollChangedEvent$1(j)),this._eventDispatcher.emitOutgoingEvent(new ScrollChangedEvent$1(j.oldScrollWidth,j.oldScrollLeft,j.oldScrollHeight,j.oldScrollTop,j.scrollWidth,j.scrollLeft,j.scrollHeight,j.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(j=>{this._eventDispatcher.emitOutgoingEvent(j)})),this._decorations=new ViewModelDecorations$1(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(j=>{try{const ie=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(ie,j)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(MinimapTokensColorTracker$1.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent$1)})),this._register(this._themeService.onDidColorThemeChange(j=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent$1(j))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new Range$5(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new ViewFocusChangedEvent$1(e)),this._eventDispatcher.emitOutgoingEvent(new FocusChangedEvent$1(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionStartEvent$1)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionEndEvent$1)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new Position$3(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new StableViewport$1(t,this._viewportStart.startLineDelta)}return new StableViewport$1(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),r=this._configuration.options,g=r.get(50),y=r.get(140),k=r.get(147),L=r.get(139),V=r.get(130);this._lines.setWrappingSettings(g,y,k.wrappingColumn,L,V)&&(e.emitViewEvent(new ViewFlushedEvent$1),e.emitViewEvent(new ViewLineMappingChangedEvent$1),e.emitViewEvent(new ViewDecorationsChangedEvent$1(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(92)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent$1(null))),t.hasChanged(99)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent$1(null))),e.emitViewEvent(new ViewConfigurationChangedEvent$1(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),CursorConfiguration$1.shouldRecreate(t)&&(this.cursorConfig=new CursorConfiguration$1(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let r=!1,g=!1;const y=e instanceof InternalModelContentChangeEvent$1?e.rawContentChangedEvent.changes:e.changes,k=e instanceof InternalModelContentChangeEvent$1?e.rawContentChangedEvent.versionId:null,L=this._lines.createLineBreaksComputer();for(const j of y)switch(j.changeType){case 4:{for(let ie=0;ie!ae.ownerId||ae.ownerId===this._editorId)),L.addRequest(oe,re,null)}break}case 2:{let ie=null;j.injectedText&&(ie=j.injectedText.filter(oe=>!oe.ownerId||oe.ownerId===this._editorId)),L.addRequest(j.detail,ie,null);break}}const V=L.finalize(),z=new ArrayQueue$1(V);for(const j of y)switch(j.changeType){case 1:{this._lines.onModelFlushed(),i.emitViewEvent(new ViewFlushedEvent$1),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),r=!0;break}case 3:{const ie=this._lines.onModelLinesDeleted(k,j.fromLineNumber,j.toLineNumber);ie!==null&&(i.emitViewEvent(ie),this.viewLayout.onLinesDeleted(ie.fromLineNumber,ie.toLineNumber)),r=!0;break}case 4:{const ie=z.takeCount(j.detail.length),oe=this._lines.onModelLinesInserted(k,j.fromLineNumber,j.toLineNumber,ie);oe!==null&&(i.emitViewEvent(oe),this.viewLayout.onLinesInserted(oe.fromLineNumber,oe.toLineNumber)),r=!0;break}case 2:{const ie=z.dequeue(),[oe,re,ae,le]=this._lines.onModelLineChanged(k,j.lineNumber,ie);g=oe,re&&i.emitViewEvent(re),ae&&(i.emitViewEvent(ae),this.viewLayout.onLinesInserted(ae.fromLineNumber,ae.toLineNumber)),le&&(i.emitViewEvent(le),this.viewLayout.onLinesDeleted(le.fromLineNumber,le.toLineNumber));break}case 5:break}k!==null&&this._lines.acceptVersionId(k),this.viewLayout.onHeightMaybeChanged(),!r&&g&&(i.emitViewEvent(new ViewLineMappingChangedEvent$1),i.emitViewEvent(new ViewDecorationsChangedEvent$1(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const i=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(i){const r=this.coordinatesConverter.convertModelPositionToViewPosition(i.getStartPosition()),g=this.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber);this.viewLayout.setScrollPosition({scrollTop:g+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();e instanceof InternalModelContentChangeEvent$1&&i.emitOutgoingEvent(new ModelContentChangedEvent$1(e.contentChangedEvent)),this._cursor.onModelContentChanged(i,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,r=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new ViewLanguageConfigurationEvent$1),this.cursorConfig=new CursorConfiguration$1(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageConfigurationChangedEvent$1(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new CursorConfiguration$1(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageChangedEvent$1(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new ViewFlushedEvent$1),t.emitViewEvent(new ViewLineMappingChangedEvent$1),t.emitViewEvent(new ViewDecorationsChangedEvent$1(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new CursorConfiguration$1(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelOptionsChangedEvent$1(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new ViewDecorationsChangedEvent$1(e)),this._eventDispatcher.emitOutgoingEvent(new ModelDecorationsChangedEvent$1(e))}))}setHiddenAreas(e,t){var y;this.hiddenAreasModel.setHiddenAreas(t,e);const i=this.hiddenAreasModel.getMergedRanges();if(i===this.previousHiddenAreas)return;this.previousHiddenAreas=i;const r=this._captureStableViewport();let g=!1;try{const k=this._eventDispatcher.beginEmitViewEvents();g=this._lines.setHiddenAreas(i),g&&(k.emitViewEvent(new ViewFlushedEvent$1),k.emitViewEvent(new ViewLineMappingChangedEvent$1),k.emitViewEvent(new ViewDecorationsChangedEvent$1(null)),this._cursor.onLineMappingChanged(k),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const L=(y=r.viewportStartModelPosition)==null?void 0:y.lineNumber;L&&i.some(z=>z.startLineNumber<=L&&L<=z.endLineNumber)||r.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),g&&this._eventDispatcher.emitOutgoingEvent(new HiddenAreasChangedEvent$1)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(146),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),g=Math.max(1,r.completelyVisibleStartLineNumber-i),y=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new Range$5(g,this.getLineMinColumn(g),y,this.getLineMaxColumn(y)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(i.length===0)return[t];const r=[];let g=0,y=t.startLineNumber,k=t.startColumn;const L=t.endLineNumber,V=t.endColumn;for(let z=0,j=i.length;zL||(y"u")return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,r){return this._lines.getViewLinesBracketGuides(e,t,i,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const t=firstNonWhitespaceIndex$1(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=lastNonWhitespaceIndex$1(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){const r=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r)}getViewLineRenderingData(e){const t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),g=this.getTabSize(),y=this._lines.getViewLineData(e);return y.inlineDecorations&&(t=[...t,...y.inlineDecorations.map(k=>k.toInlineDecoration(e))]),new ViewLineRenderingData$1(y.minColumn,y.maxColumn,y.content,y.continuesWithWrappedLine,i,r,y.tokens,t,g,y.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const r=this._lines.getViewLinesData(e,t,i);return new MinimapLinesRenderingData$1(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,filterValidationDecorations$1(this._configuration.options)),i=new OverviewRulerDecorations$1;for(const r of t){const g=r.options,y=g.overviewRuler;if(!y)continue;const k=y.position;if(k===0)continue;const L=y.getColor(e.value),V=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),z=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);i.accept(L,g.zIndex,V,z,k)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const i=t.options.overviewRuler;i==null||i.invalidateCachedColor();const r=t.options.minimap;r==null||r.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,i){const r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=i:t+=i);const y=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(y)}getPlainTextToCopy(e,t,i){const r=i?"\r\n":this.model.getEOL();e=e.slice(0),e.sort(Range$5.compareRangesUsingStarts);let g=!1,y=!1;for(const L of e)L.isEmpty()?g=!0:y=!0;if(!y){if(!t)return"";const L=e.map(z=>z.startLineNumber);let V="";for(let z=0;z0&&L[z-1]===L[z]||(V+=this.model.getLineContent(L[z])+r);return V}if(g&&t){const L=[];let V=0;for(const z of e){const j=z.startLineNumber;z.isEmpty()?j!==V&&L.push(this.model.getLineContent(j)):L.push(this.model.getValueInRange(z,i?2:0)),V=j}return L.length===1?L[0]:L}const k=[];for(const L of e)L.isEmpty()||k.push(this.model.getValueInRange(L,i?2:0));return k.length===1?k[0]:k}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===PLAINTEXT_LANGUAGE_ID$1||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;const z=r.startLineNumber;r=new Range$5(z,this.model.getLineMinColumn(z),z,this.model.getLineMaxColumn(z))}const g=this._configuration.options.get(50),y=this._getColorMap(),L=/[:;\\\/<>]/.test(g.fontFamily)||g.fontFamily===EDITOR_FONT_DEFAULTS$1.fontFamily;let V;return L?V=EDITOR_FONT_DEFAULTS$1.fontFamily:(V=g.fontFamily,V=V.replace(/"/g,"'"),/[,']/.test(V)||/[+ ]/.test(V)&&(V="'".concat(V,"'")),V="".concat(V,", ").concat(EDITOR_FONT_DEFAULTS$1.fontFamily)),{mode:i,html:'
    '+this._getHTMLToCopy(r,y)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn,k=this.getTabSize();let L="";for(let V=i;V<=g;V++){const z=this.model.tokenization.getLineTokens(V),j=z.getLineContent(),ie=V===i?r-1:0,oe=V===g?y-1:j.length;j===""?L+="
    ":L+=tokenizeLineToHTML$1(j,z.inflate(),t,ie,oe,k,isWindows$1)}return L}_getColorMap(){const e=TokenizationRegistry$2.getColorMap(),t=["#000000"];if(e)for(let i=1,r=e.length;ithis._cursor.setStates(r,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new ReadOnlyEditAttemptEvent$1);return}this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,r,g){this._executeCursorEdit(y=>this._cursor.compositionType(y,e,t,i,r,g))}paste(e,t,i,r){this._executeCursorEdit(g=>this._cursor.paste(g,e,t,i,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new Range$5(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new ViewRevealRangeRequestEvent$1(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new Range$5(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new ViewRevealRangeRequestEvent$1(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,r,g){this._withViewEventsCollector(y=>y.emitViewEvent(new ViewRevealRangeRequestEvent$1(e,!1,i,null,r,t,g)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new ViewZonesChangedEvent$3),this._eventDispatcher.emitOutgoingEvent(new ViewZonesChangedEvent$2))}_withViewEventsCollector(e){return this._transactionalTarget.batchChanges(()=>{try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}})}batchEvents(e){this._withViewEventsCollector(()=>{e()})}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},ViewportStart$1=class xh{static create(e){const t=e._setTrackedRange(null,new Range$5(1,1,1,1),1);return new xh(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,r,g){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=r,this._startLineDelta=g}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new Position$3(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new Range$5(i.lineNumber,i.column,i.lineNumber,i.column),1),g=e.viewLayout.getVerticalOffsetForLineNumber(t),y=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=y-g}invalidate(){this._isValid=!1}},OverviewRulerDecorations$1=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,r,g){const y=this._asMap[e];if(y){const k=y.data,L=k[k.length-3],V=k[k.length-1];if(L===g&&V+1>=i){r>V&&(k[k.length-1]=r);return}k.push(g,i,r)}else{const k=new OverviewRulerDecorationsGroup$1(e,t,[g,i,r]);this._asMap[e]=k,this.asArray.push(k)}}},HiddenAreasModel$1=class{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&rangeArraysEqual$1(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((t,i)=>mergeLineRangeArray$1(t,i),[]);return rangeArraysEqual$1(this.ranges,e)?this.ranges:(this.ranges=e,this.ranges)}};function mergeLineRangeArray$1(n,e){const t=[];let i=0,r=0;for(;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4c=function(n,e){return function(t,i){e(t,i,n)}},CodeEditorWidget_1$1,ca;let CodeEditorWidget$1=(ca=class extends Disposable$1{get isSimpleWidget(){return this._configuration.isSimpleWidget}get contextMenuId(){return this._configuration.contextMenuId}constructor(e,t,i,r,g,y,k,L,V,z,j,ie){var le,de;super(),this.languageConfigurationService=j,this._deliveryQueue=createEventDeliveryQueue$1(),this._contributions=this._register(new CodeEditorContributions$1),this._onDidDispose=this._register(new Emitter$3),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new BooleanEventEmitter$1({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new BooleanEventEmitter$1({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new InteractionEmitter$1(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Emitter$3({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._updateCounter=0,this._onBeginUpdate=this._register(new Emitter$3),this.onBeginUpdate=this._onBeginUpdate.event,this._onEndUpdate=this._register(new Emitter$3),this.onEndUpdate=this._onEndUpdate.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),g.willCreateCodeEditor();const oe={...t};this._domElement=e,this._overflowWidgetsDomNode=oe.overflowWidgetsDomNode,delete oe.overflowWidgetsDomNode,this._id=++EDITOR_ID$1,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,(le=i.contextMenuId)!=null?le:i.isSimpleWidget?MenuId$1.SimpleEditorContext:MenuId$1.EditorContext,oe,z)),this._register(this._configuration.onDidChange(ue=>{this._onDidChangeConfiguration.fire(ue);const he=this._configuration.options;if(ue.hasChanged(146)){const pe=he.get(146);this._onDidLayoutChange.fire(pe)}})),this._contextKeyService=this._register(k.createScoped(this._domElement)),this._notificationService=V,this._codeEditorService=g,this._commandService=y,this._themeService=L,this._register(new EditorContextKeysManager$1(this,this._contextKeyService)),this._register(new EditorModeContext$1(this,this._contextKeyService,ie)),this._instantiationService=this._register(r.createChild(new ServiceCollection$1([IContextKeyService$1,this._contextKeyService]))),this._modelData=null,this._focusTracker=new CodeEditorWidgetFocusTracker$1(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let re;Array.isArray(i.contributions)?re=i.contributions:re=EditorExtensionsRegistry$1.getEditorContributions(),this._contributions.initialize(this,re,this._instantiationService);for(const ue of EditorExtensionsRegistry$1.getEditorActions()){if(this._actions.has(ue.id)){onUnexpectedError$1(new Error("Cannot have two actions with the same id ".concat(ue.id)));continue}const he=new InternalEditorAction$1(ue.id,ue.label,ue.alias,ue.metadata,(de=ue.precondition)!=null?de:void 0,pe=>this._instantiationService.invokeFunction(Ce=>Promise.resolve(ue.runEditorCommand(Ce,this,pe))),this._contextKeyService);this._actions.set(he.id,he)}const ae=()=>!this._configuration.options.get(92)&&this._configuration.options.get(36).enabled;this._register(new DragAndDropObserver$1(this._domElement,{onDragOver:ue=>{if(!ae())return;const he=this.getTargetAtClientPoint(ue.clientX,ue.clientY);he!=null&&he.position&&this.showDropIndicatorAt(he.position)},onDrop:async ue=>{if(!ae()||(this.removeDropIndicator(),!ue.dataTransfer))return;const he=this.getTargetAtClientPoint(ue.clientX,ue.clientY);he!=null&&he.position&&this._onDropIntoEditor.fire({position:he.position,event:ue})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;(t=this._modelData)==null||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i,r){return new EditorConfiguration$1(e,t,i,this._domElement,r)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return EditorType$1.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?WordOperations$1.getWordAtPosition(this._modelData.model,this._configuration.options.get(132),this._configuration.options.get(131),e):null}getValue(e=null){if(!this._modelData)return"";const t=!!(e&&e.preserveBOM);let i=0;return e&&e.lineEnding&&e.lineEnding==="\n"?i=1:e&&e.lineEnding&&e.lineEnding==="\r\n"&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){try{if(this._beginUpdate(),!this._modelData)return;this._modelData.model.setValue(e)}finally{this._endUpdate()}}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;try{this._beginUpdate();const i=e;if(this._modelData===null&&i===null||this._modelData&&this._modelData.model===i)return;const r={oldModelUrl:((t=this._modelData)==null?void 0:t.model.uri)||null,newModelUrl:(i==null?void 0:i.uri)||null};this._onWillChangeModel.fire(r);const g=this.hasTextFocus(),y=this._detachModel();this._attachModel(i),g&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(r),this._postDetachModelCleanup(y),this._contributionsDisposable=this._contributions.onAfterModelAttached()}finally{this._endUpdate()}}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,r){const g=e.model.validatePosition({lineNumber:t,column:i}),y=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(y.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?CodeEditorWidget_1$1._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?CodeEditorWidget_1$1._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,r=!1){const g=e.model.validatePosition({lineNumber:t,column:i}),y=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(y.lineNumber,r)}getBottomForLineNumber(e,t=!1){if(!this._modelData)return-1;const i=this._modelData.model.getLineMaxColumn(e);return CodeEditorWidget_1$1._getVerticalOffsetAfterPosition(this._modelData,e,i,t)}setHiddenAreas(e,t){var i;(i=this._modelData)==null||i.viewModel.setHiddenAreas(e.map(r=>Range$5.lift(r)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return CursorColumns$1.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Position$3.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,r){if(!this._modelData)return;if(!Range$5.isIRange(e))throw new Error("Invalid arguments");const g=this._modelData.model.validateRange(e),y=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(g);this._modelData.viewModel.revealRange("api",i,y,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Range$5(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,r){if(!Position$3.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new Range$5(e.lineNumber,e.column,e.lineNumber,e.column),t,i,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=Selection$3.isISelection(e),r=Range$5.isIRange(e);if(!i&&!r)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(r){const g={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(g,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new Selection$3(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,r){if(typeof e!="number"||typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Range$5(e,1,t,1),i,!1,r)}revealRange(e,t=0,i=!1,r=!0){this._revealRange(e,i?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,r){if(!Range$5.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(Range$5.lift(e),t,i,r)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let r=0,g=e.length;r0&&this._modelData.viewModel.restoreCursorState(i):this._modelData.viewModel.restoreCursorState([i]),this._contributions.restoreViewState(t.contributionsState||{});const r=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(r)}}handleInitialized(){var e;(e=this._getViewModel())==null||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(t=>t.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){i=i||{};try{switch(this._beginUpdate(),t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const g=i;this._type(e,g.text||"");return}case"replacePreviousChar":{const g=i;this._compositionType(e,g.text||"",g.replaceCharCnt||0,0,0);return}case"compositionType":{const g=i;this._compositionType(e,g.text||"",g.replacePrevCharCnt||0,g.replaceNextCharCnt||0,g.positionDelta||0);return}case"paste":{const g=i;this._paste(e,g.text||"",g.pasteOnNewLine||!1,g.multicursorText||null,g.mode||null,g.clipboardEvent);return}case"cut":this._cut(e);return}const r=this.getAction(t);if(r){Promise.resolve(r.run(i)).then(void 0,onUnexpectedError$1);return}if(!this._modelData||this._triggerEditorCommand(e,t,i))return;this._triggerCommand(t,i)}finally{this._endUpdate()}}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e==="keyboard"&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e==="keyboard"&&this._onDidType.fire(t))}_compositionType(e,t,i,r,g){this._modelData&&this._modelData.viewModel.compositionType(t,i,r,g,e)}_paste(e,t,i,r,g,y){if(!this._modelData)return;const k=this._modelData.viewModel,L=k.getSelection().getStartPosition();k.paste(t,i,r,e);const V=k.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:y,range:new Range$5(L.lineNumber,L.column,V.lineNumber,V.column),languageId:g})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const r=EditorExtensionsRegistry$1.getEditorCommand(t);return r?(i=i||{},i.source=e,this._instantiationService.invokeFunction(g=>{Promise.resolve(r.runEditorCommand(g,this,i)).then(void 0,onUnexpectedError$1)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(92)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData||this._configuration.options.get(92))return!1;let r;return i?Array.isArray(i)?r=()=>i:r=i:r=()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new EditorDecorationsCollection$1(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,filterValidationDecorations$1(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,filterValidationDecorations$1(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(i=>i.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(146)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(i)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(i)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(i)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,r=i.get(146),g=CodeEditorWidget_1$1._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),y=this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+r.glyphMarginWidth+r.lineNumbersWidth+r.decorationsWidth-this.getScrollLeft();return{top:g,left:y,height:i.get(67)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.viewModel.batchEvents(()=>{this._modelData.view.render(!0,e)})}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){applyFontInfo$1(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),r=new ViewModel$3(this._id,this._configuration,e,DOMLineBreaksComputerFactory$1.create(getWindow$3(this._domElement)),MonospaceLineBreaksComputerFactory$1.create(this._configuration.options),k=>scheduleAtNextAnimationFrame$1(getWindow$3(this._domElement),k),this.languageConfigurationService,this._themeService,i,{batchChanges:k=>{try{return this._beginUpdate(),k()}finally{this._endUpdate()}}});t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(k=>{switch(k.kind){case 0:this._onDidContentSizeChange.fire(k);break;case 1:this._editorTextFocus.setValue(k.hasFocus);break;case 2:this._onDidScrollChange.fire(k);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(k.reachedMaxCursorCount){const j=this.getOption(80),ie=localize$1("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",j);this._notificationService.prompt(Severity$3.Warning,ie,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:localize$1("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const L=[];for(let j=0,ie=k.selections.length;j{this._paste("keyboard",g,y,k,L)},type:g=>{this._type("keyboard",g)},compositionType:(g,y,k,L)=>{this._compositionType("keyboard",g,y,k,L)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:t={paste:(g,y,k,L)=>{const V={text:g,pasteOnNewLine:y,multicursorText:k,mode:L};this._commandService.executeCommand("paste",V)},type:g=>{const y={text:g};this._commandService.executeCommand("type",y)},compositionType:(g,y,k,L)=>{if(k||L){const V={text:g,replacePrevCharCnt:y,replaceNextCharCnt:k,positionDelta:L};this._commandService.executeCommand("compositionType",V)}else{const V={text:g,replaceCharCnt:y};this._commandService.executeCommand("replacePreviousChar",V)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new ViewUserInputEvents$1(e.coordinatesConverter);return i.onKeyDown=g=>this._onKeyDown.fire(g),i.onKeyUp=g=>this._onKeyUp.fire(g),i.onContextMenu=g=>this._onContextMenu.fire(g),i.onMouseMove=g=>this._onMouseMove.fire(g),i.onMouseLeave=g=>this._onMouseLeave.fire(g),i.onMouseDown=g=>this._onMouseDown.fire(g),i.onMouseUp=g=>this._onMouseUp.fire(g),i.onMouseDrag=g=>this._onMouseDrag.fire(g),i.onMouseDrop=g=>this._onMouseDrop.fire(g),i.onMouseDropCanceled=g=>this._onMouseDropCanceled.fire(g),i.onMouseWheel=g=>this._onMouseWheel.fire(g),[new View$3(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e==null||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var i;if((i=this._contributionsDisposable)==null||i.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),t&&this._domElement.contains(t)&&t.remove(),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._bannerDomNode.remove(),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){const t=[{range:new Range$5(e.lineNumber,e.column,e.lineNumber,e.column),options:CodeEditorWidget_1$1.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&this._onBeginUpdate.fire()}_endUpdate(){this._updateCounter--,this._updateCounter===0&&this._onEndUpdate.fire()}},CodeEditorWidget_1$1=ca,ca.dropIntoEditorDecorationOptions=ModelDecorationOptions$1.register({description:"workbench-dnd-target",className:"dnd-target"}),ca);CodeEditorWidget$1=CodeEditorWidget_1$1=__decorate$4m([__param$4c(3,IInstantiationService$1),__param$4c(4,ICodeEditorService$1),__param$4c(5,ICommandService$1),__param$4c(6,IContextKeyService$1),__param$4c(7,IThemeService$1),__param$4c(8,INotificationService$1),__param$4c(9,IAccessibilityService$1),__param$4c(10,ILanguageConfigurationService$1),__param$4c(11,ILanguageFeaturesService$1)],CodeEditorWidget$1);let EDITOR_ID$1=0,ModelData$2=class{constructor(e,t,i,r,g,y){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=r,this.listenersToRemove=g,this.attachedView=y}dispose(){dispose$1(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},BooleanEventEmitter$1=class extends Disposable$1{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Emitter$3(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Emitter$3(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},InteractionEmitter$1=class extends Emitter$3{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}},EditorContextKeysManager$1=class extends Disposable$1{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=EditorContextKeys$1.editorSimpleInput.bindTo(t),this._editorFocus=EditorContextKeys$1.focus.bindTo(t),this._textInputFocus=EditorContextKeys$1.textInputFocus.bindTo(t),this._editorTextFocus=EditorContextKeys$1.editorTextFocus.bindTo(t),this._tabMovesFocus=EditorContextKeys$1.tabMovesFocus.bindTo(t),this._editorReadonly=EditorContextKeys$1.readOnly.bindTo(t),this._inDiffEditor=EditorContextKeys$1.inDiffEditor.bindTo(t),this._editorColumnSelection=EditorContextKeys$1.columnSelection.bindTo(t),this._hasMultipleSelections=EditorContextKeys$1.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=EditorContextKeys$1.hasNonEmptySelection.bindTo(t),this._canUndo=EditorContextKeys$1.canUndo.bindTo(t),this._canRedo=EditorContextKeys$1.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(TabFocus$1.onDidChangeTabFocus(i=>this._tabMovesFocus.set(i))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(TabFocus$1.getTabFocusMode()),this._editorReadonly.set(e.get(92)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(t=>!t.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},EditorModeContext$1=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=EditorContextKeys$1.languageId.bindTo(t),this._hasCompletionItemProvider=EditorContextKeys$1.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=EditorContextKeys$1.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=EditorContextKeys$1.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=EditorContextKeys$1.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=EditorContextKeys$1.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=EditorContextKeys$1.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=EditorContextKeys$1.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=EditorContextKeys$1.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=EditorContextKeys$1.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=EditorContextKeys$1.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=EditorContextKeys$1.hasReferenceProvider.bindTo(t),this._hasRenameProvider=EditorContextKeys$1.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=EditorContextKeys$1.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=EditorContextKeys$1.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=EditorContextKeys$1.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=EditorContextKeys$1.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=EditorContextKeys$1.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=EditorContextKeys$1.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=EditorContextKeys$1.isInEmbeddedEditor.bindTo(t);const r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(i.completionProvider.onDidChange(r)),this._register(i.codeActionProvider.onDidChange(r)),this._register(i.codeLensProvider.onDidChange(r)),this._register(i.definitionProvider.onDidChange(r)),this._register(i.declarationProvider.onDidChange(r)),this._register(i.implementationProvider.onDidChange(r)),this._register(i.typeDefinitionProvider.onDidChange(r)),this._register(i.hoverProvider.onDidChange(r)),this._register(i.documentHighlightProvider.onDidChange(r)),this._register(i.documentSymbolProvider.onDidChange(r)),this._register(i.referenceProvider.onDidChange(r)),this._register(i.renameProvider.onDidChange(r)),this._register(i.documentFormattingEditProvider.onDidChange(r)),this._register(i.documentRangeFormattingEditProvider.onDidChange(r)),this._register(i.signatureHelpProvider.onDidChange(r)),this._register(i.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Schemas$1.walkThroughSnippet||e.uri.scheme===Schemas$1.vscodeChatCodeBlock)})}},CodeEditorWidgetFocusTracker$1=class extends Disposable$1{constructor(e,t){super(),this._onChange=this._register(new Emitter$3),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(trackFocus$1(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(trackFocus$1(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return(e=this._hadFocus)!=null?e:!1}},EditorDecorationsCollection$1=class{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(r=>{this._isChangingDecorations||e.call(t,r)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const r=e.getDecorationRange(i);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}};const squigglyStart$1=encodeURIComponent("");function getSquigglySVGData$1(n){return squigglyStart$1+encodeURIComponent(n.toString())+squigglyEnd$1}const dotdotdotStart$1=encodeURIComponent('');function getDotDotDotSVGData$1(n){return dotdotdotStart$1+encodeURIComponent(n.toString())+dotdotdotEnd$1}registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorErrorForeground$1);t&&e.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'.concat(getSquigglySVGData$1(t),'") repeat-x bottom left; }'));const i=n.getColor(editorWarningForeground$1);i&&e.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'.concat(getSquigglySVGData$1(i),'") repeat-x bottom left; }'));const r=n.getColor(editorInfoForeground$1);r&&e.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'.concat(getSquigglySVGData$1(r),'") repeat-x bottom left; }'));const g=n.getColor(editorHintForeground$1);g&&e.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'.concat(getDotDotDotSVGData$1(g),'") no-repeat bottom left; }'));const y=n.getColor(editorUnnecessaryCodeOpacity$1);y&&e.addRule(".monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ".concat(y.rgba.a,"; }"))});let StableEditorScrollState$1=class Fd{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new Fd(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const r=e.getVisibleRanges();if(r.length>0){t=r[0].getStartPosition();const g=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-g}return new Fd(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,r,g){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=r,this._cursorPosition=g}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i,1)}};function joinCombine$1(n,e,t,i){if(n.length===0)return e;if(e.length===0)return n;const r=[];let g=0,y=0;for(;gz?(r.push(L),y++):(r.push(i(k,L)),g++,y++)}for(;g"Apply decorations from ".concat(e.debugName)},r=>{const g=e.read(r);i.set(g)})),t.add({dispose:()=>{i.clear()}}),t}function appendRemoveOnDispose$1(n,e){return n.appendChild(e),toDisposable$1(()=>{e.remove()})}function prependRemoveOnDispose$1(n,e){return n.prepend(e),toDisposable$1(()=>{e.remove()})}let ObservableElementSizeObserver$1=class extends Disposable$1{get width(){return this._width}get height(){return this._height}get automaticLayout(){return this._automaticLayout}constructor(e,t){super(),this._automaticLayout=!1,this.elementSizeObserver=this._register(new ElementSizeObserver$1(e,t)),this._width=observableValue$1(this,this.elementSizeObserver.getWidth()),this._height=observableValue$1(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(i=>transaction$1(r=>{this._width.set(this.elementSizeObserver.getWidth(),r),this._height.set(this.elementSizeObserver.getHeight(),r)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){this._automaticLayout=e,e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}};function animatedObservable$1(n,e,t){let i=e.get(),r=i,g=i;const y=observableValue$1("animatedValue",i);let k=-1;const L=300;let V;t.add(autorunHandleChanges$1({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(j,ie)=>(j.didChange(e)&&(ie.animate=ie.animate||j.change),!0)},(j,ie)=>{V!==void 0&&(n.cancelAnimationFrame(V),V=void 0),r=g,i=e.read(j),k=Date.now()-(ie.animate?0:L),z()}));function z(){const j=Date.now()-k;g=Math.floor(easeOutExpo$1(j,r,i-r,L)),j{this._actualTop.set(i,void 0)},this.onComputedHeight=i=>{this._actualHeight.set(i,void 0)}}};var da;let ManagedOverlayWidget$1=(da=class{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-".concat(da._counter++),this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}},da._counter=0,da);function applyStyle$1(n,e){return autorun$1(t=>{for(let[i,r]of Object.entries(e))r&&typeof r=="object"&&"read"in r&&(r=r.read(t)),typeof r=="number"&&(r="".concat(r,"px")),i=i.replace(/[A-Z]/g,g=>"-"+g.toLowerCase()),n.style[i]=r})}function applyViewZones$1(n,e,t,i){const r=new DisposableStore$1,g=[];return r.add(autorunWithStore$1((y,k)=>{const L=e.read(y),V=new Map,z=new Map;t&&t(!0),n.changeViewZones(j=>{for(const ie of g)j.removeZone(ie),i==null||i.delete(ie);g.length=0;for(const ie of L){const oe=j.addZone(ie);ie.setZoneId&&ie.setZoneId(oe),g.push(oe),i==null||i.add(oe),V.set(ie,oe)}}),t&&t(!1),k.add(autorunHandleChanges$1({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(j,ie){const oe=z.get(j.changedObservable);return oe!==void 0&&ie.zoneIds.push(oe),!0}},(j,ie)=>{for(const oe of L)oe.onChange&&(z.set(oe.onChange,V.get(oe)),oe.onChange.read(j));t&&t(!0),n.changeViewZones(oe=>{for(const re of ie.zoneIds)oe.layoutZone(re)}),t&&t(!1)}))})),r.add({dispose(){t&&t(!0),n.changeViewZones(y=>{for(const k of g)y.removeZone(k)}),i==null||i.clear(),t&&t(!1)}}),r}let DisposableCancellationTokenSource$1=class extends CancellationTokenSource$3{dispose(){super.dispose(!0)}};function translatePosition$1(n,e){const t=findLast$2(e,r=>r.original.startLineNumber<=n.lineNumber);if(!t)return Range$5.fromPositions(n);if(t.original.endLineNumberExclusive<=n.lineNumber){const r=n.lineNumber-t.original.endLineNumberExclusive+t.modified.endLineNumberExclusive;return Range$5.fromPositions(new Position$3(r,n.column))}if(!t.innerChanges)return Range$5.fromPositions(new Position$3(t.modified.startLineNumber,1));const i=findLast$2(t.innerChanges,r=>r.originalRange.getStartPosition().isBeforeOrEqual(n));if(!i){const r=n.lineNumber-t.original.startLineNumber+t.modified.startLineNumber;return Range$5.fromPositions(new Position$3(r,n.column))}if(i.originalRange.containsPosition(n))return i.modifiedRange;{const r=lengthBetweenPositions$1(i.originalRange.getEndPosition(),n);return Range$5.fromPositions(r.addToPosition(i.modifiedRange.getEndPosition()))}}function lengthBetweenPositions$1(n,e){return n.lineNumber===e.lineNumber?new TextLength$1(0,e.column-n.column):new TextLength$1(e.lineNumber-n.lineNumber,e.column-1)}function filterWithPrevious$1(n,e){let t;return n.filter(i=>{const r=e(i,t);return t=i,r})}class RefCounted{static create(e,t=void 0){return new BaseRefCounted(e,e,t)}static createWithDisposable(e,t,i=void 0){const r=new DisposableStore$1;return r.add(t),r.add(e),new BaseRefCounted(e,r,i)}}class BaseRefCounted extends RefCounted{constructor(e,t,i){super(),this.object=e,this._disposable=t,this._debugOwner=i,this._refCount=1,this._isDisposed=!1,this._owners=[],i&&this._addOwner(i)}_addOwner(e){e&&this._owners.push(e)}createNewRef(e){return this._refCount++,e&&this._addOwner(e),new ClonedRefCounted(this,e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._decreaseRefCount(this._debugOwner))}_decreaseRefCount(e){if(this._refCount--,this._refCount===0&&this._disposable.dispose(),e){const t=this._owners.indexOf(e);t!==-1&&this._owners.splice(t,1)}}}class ClonedRefCounted extends RefCounted{constructor(e,t){super(),this._base=e,this._debugOwner=t,this._isDisposed=!1}get object(){return this._base.object}createNewRef(e){return this._base.createNewRef(e)}dispose(){this._isDisposed||(this._isDisposed=!0,this._base._decreaseRefCount(this._debugOwner))}}var __decorate$4l=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4b=function(n,e){return function(t,i){e(t,i,n)}};const accessibleDiffViewerInsertIcon$1=registerIcon$1("diff-review-insert",Codicon$1.add,localize$1("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),accessibleDiffViewerRemoveIcon$1=registerIcon$1("diff-review-remove",Codicon$1.remove,localize$1("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),accessibleDiffViewerCloseIcon$1=registerIcon$1("diff-review-close",Codicon$1.close,localize$1("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));var Jl;let AccessibleDiffViewer$1=(Jl=class extends Disposable$1{constructor(e,t,i,r,g,y,k,L,V){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=r,this._width=g,this._height=y,this._diffs=k,this._models=L,this._instantiationService=V,this._state=derivedWithStore$1(this,(z,j)=>{const ie=this._visible.read(z);if(this._parentNode.style.visibility=ie?"visible":"hidden",!ie)return null;const oe=j.add(this._instantiationService.createInstance(ViewModel$2,this._diffs,this._models,this._setVisible,this._canClose)),re=j.add(this._instantiationService.createInstance(View$2,this._parentNode,oe,this._width,this._height,this._models));return{model:oe,view:re}}).recomputeInitiallyAndOnChange(this._store)}next(){transaction$1(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){transaction$1(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){transaction$1(e=>{this._setVisible(!1,e)})}},Jl._ttPolicy=createTrustedTypesPolicy$1("diffReview",{createHTML:e=>e}),Jl);AccessibleDiffViewer$1=__decorate$4l([__param$4b(8,IInstantiationService$1)],AccessibleDiffViewer$1);let ViewModel$2=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=r,this._accessibilitySignalService=g,this._groups=observableValue$1(this,[]),this._currentGroupIdx=observableValue$1(this,0),this._currentElementIdx=observableValue$1(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((y,k)=>this._groups.read(k)[y]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((y,k)=>{var L;return(L=this.currentGroup.read(k))==null?void 0:L.lines[y]}),this._register(autorun$1(y=>{const k=this._diffs.read(y);if(!k){this._groups.set([],void 0);return}const L=computeViewElementGroups$1(k,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());transaction$1(V=>{const z=this._models.getModifiedPosition();if(z){const j=L.findIndex(ie=>(z==null?void 0:z.lineNumber){const k=this.currentElement.read(y);(k==null?void 0:k.type)===LineType$1.Deleted?this._accessibilitySignalService.playSignal(AccessibilitySignal$1.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(k==null?void 0:k.type)===LineType$1.Added&&this._accessibilitySignalService.playSignal(AccessibilitySignal$1.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(autorun$1(y=>{var L;const k=this.currentElement.read(y);if(k&&k.type!==LineType$1.Header){const V=(L=k.modifiedLineNumber)!=null?L:k.diff.modified.startLineNumber;this._models.modifiedSetSelection(Range$5.fromPositions(new Position$3(V,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||subtransaction$1(t,r=>{this._currentGroupIdx.set(OffsetRange$1.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),r),this._currentElementIdx.set(0,r)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||transaction$1(i=>{this._currentElementIdx.set(OffsetRange$1.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&transaction$1(r=>{this._currentElementIdx.set(i,r)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===LineType$1.Deleted?this._models.originalReveal(Range$5.fromPositions(new Position$3(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==LineType$1.Header?Range$5.fromPositions(new Position$3(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};ViewModel$2=__decorate$4l([__param$4b(4,IAccessibilitySignalService$1)],ViewModel$2);const viewElementGroupLineMargin$1=3;function computeViewElementGroups$1(n,e,t){const i=[];for(const r of groupAdjacentBy$1(n,(g,y)=>y.modified.startLineNumber-g.modified.endLineNumberExclusive<2*viewElementGroupLineMargin$1)){const g=[];g.push(new HeaderViewElement$1);const y=new LineRange$3(Math.max(1,r[0].original.startLineNumber-viewElementGroupLineMargin$1),Math.min(r[r.length-1].original.endLineNumberExclusive+viewElementGroupLineMargin$1,e+1)),k=new LineRange$3(Math.max(1,r[0].modified.startLineNumber-viewElementGroupLineMargin$1),Math.min(r[r.length-1].modified.endLineNumberExclusive+viewElementGroupLineMargin$1,t+1));forEachAdjacent$1(r,(z,j)=>{const ie=new LineRange$3(z?z.original.endLineNumberExclusive:y.startLineNumber,j?j.original.startLineNumber:y.endLineNumberExclusive),oe=new LineRange$3(z?z.modified.endLineNumberExclusive:k.startLineNumber,j?j.modified.startLineNumber:k.endLineNumberExclusive);ie.forEach(re=>{g.push(new UnchangedLineViewElement$1(re,oe.startLineNumber+(re-ie.startLineNumber)))}),j&&(j.original.forEach(re=>{g.push(new DeletedLineViewElement$1(j,re))}),j.modified.forEach(re=>{g.push(new AddedLineViewElement$1(j,re))}))});const L=r[0].modified.join(r[r.length-1].modified),V=r[0].original.join(r[r.length-1].original);i.push(new ViewElementGroup$1(new LineRangeMapping$1(L,V),g))}return i}var LineType$1;(function(n){n[n.Header=0]="Header",n[n.Unchanged=1]="Unchanged",n[n.Deleted=2]="Deleted",n[n.Added=3]="Added"})(LineType$1||(LineType$1={}));let ViewElementGroup$1=class{constructor(e,t){this.range=e,this.lines=t}},HeaderViewElement$1=class{constructor(){this.type=LineType$1.Header}},DeletedLineViewElement$1=class{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=LineType$1.Deleted,this.modifiedLineNumber=void 0}},AddedLineViewElement$1=class{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=LineType$1.Added,this.originalLineNumber=void 0}},UnchangedLineViewElement$1=class{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=LineType$1.Unchanged}},View$2=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._element=e,this._model=t,this._width=i,this._height=r,this._models=g,this._languageService=y,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const k=document.createElement("div");k.className="diff-review-actions",this._actionBar=this._register(new ActionBar$1(k)),this._register(autorun$1(L=>{this._actionBar.clear(),this._model.canClose.read(L)&&this._actionBar.push(new Action$1("diffreview.close",localize$1("label.close","Close"),"close-diff-review "+ThemeIcon$1.asClassName(accessibleDiffViewerCloseIcon$1),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new DomScrollableElement$1(this._content,{})),reset$1(this.domNode,this._scrollbar.getDomNode(),k),this._register(autorun$1(L=>{this._height.read(L),this._width.read(L),this._scrollbar.scanDomNode()})),this._register(toDisposable$1(()=>{reset$1(this.domNode)})),this._register(applyStyle$1(this.domNode,{width:this._width,height:this._height})),this._register(applyStyle$1(this._content,{width:this._width,height:this._height})),this._register(autorunWithStore$1((L,V)=>{this._model.currentGroup.read(L),this._render(V)})),this._register(addStandardDisposableListener$1(this.domNode,"keydown",L=>{(L.equals(18)||L.equals(2066)||L.equals(530))&&(L.preventDefault(),this._model.goToNextLine()),(L.equals(16)||L.equals(2064)||L.equals(528))&&(L.preventDefault(),this._model.goToPreviousLine()),(L.equals(9)||L.equals(2057)||L.equals(521)||L.equals(1033))&&(L.preventDefault(),this._model.close()),(L.equals(10)||L.equals(3))&&(L.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),r=document.createElement("div");r.className="diff-review-table",r.setAttribute("role","list"),r.setAttribute("aria-label",localize$1("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),applyFontInfo$1(r,i.get(50)),reset$1(this._content,r);const g=this._models.getOriginalModel(),y=this._models.getModifiedModel();if(!g||!y)return;const k=g.getOptions(),L=y.getOptions(),V=i.get(67),z=this._model.currentGroup.get();for(const j of(z==null?void 0:z.lines)||[]){if(!z)break;let ie;if(j.type===LineType$1.Header){const re=document.createElement("div");re.className="diff-review-row",re.setAttribute("role","listitem");const ae=z.range,le=this._model.currentGroupIndex.get(),de=this._model.groups.get().length,ue=$e=>$e===0?localize$1("no_lines_changed","no lines changed"):$e===1?localize$1("one_line_changed","1 line changed"):localize$1("more_lines_changed","{0} lines changed",$e),he=ue(ae.original.length),pe=ue(ae.modified.length);re.setAttribute("aria-label",localize$1({key:"header",comment:["This is the ARIA label for a git diff header.","A git diff header looks like this: @@ -154,12 +159,39 @@.","That encodes that at original line 154 (which is now line 159), 12 lines were removed/changed with 39 lines.","Variables 0 and 1 refer to the diff index out of total number of diffs.","Variables 2 and 4 will be numbers (a line number).",'Variables 3 and 5 will be "no lines changed", "1 line changed" or "X lines changed", localized separately.']},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",le+1,de,ae.original.startLineNumber,he,ae.modified.startLineNumber,pe));const Ce=document.createElement("div");Ce.className="diff-review-cell diff-review-summary",Ce.appendChild(document.createTextNode("".concat(le+1,"/").concat(de,": @@ -").concat(ae.original.startLineNumber,",").concat(ae.original.length," +").concat(ae.modified.startLineNumber,",").concat(ae.modified.length," @@"))),re.appendChild(Ce),ie=re}else ie=this._createRow(j,V,this._width.get(),t,g,k,i,y,L);r.appendChild(ie);const oe=derived$1(re=>this._model.currentElement.read(re)===j);e.add(autorun$1(re=>{const ae=oe.read(re);ie.tabIndex=ae?0:-1,ae&&ie.focus()})),e.add(addDisposableListener$1(ie,"focus",()=>{this._model.goToLine(j)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,r,g,y,k,L,V){const z=r.get(146),j=z.glyphMarginWidth+z.lineNumbersWidth,ie=k.get(146),oe=10+ie.glyphMarginWidth+ie.lineNumbersWidth;let re="diff-review-row",ae="";const le="diff-review-spacer";let de=null;switch(e.type){case LineType$1.Added:re="diff-review-row line-insert",ae=" char-insert",de=accessibleDiffViewerInsertIcon$1;break;case LineType$1.Deleted:re="diff-review-row line-delete",ae=" char-delete",de=accessibleDiffViewerRemoveIcon$1;break}const ue=document.createElement("div");ue.style.minWidth=i+"px",ue.className=re,ue.setAttribute("role","listitem"),ue.ariaLevel="";const he=document.createElement("div");he.className="diff-review-cell",he.style.height="".concat(t,"px"),ue.appendChild(he);const pe=document.createElement("span");pe.style.width=j+"px",pe.style.minWidth=j+"px",pe.className="diff-review-line-number"+ae,e.originalLineNumber!==void 0?pe.appendChild(document.createTextNode(String(e.originalLineNumber))):pe.innerText=" ",he.appendChild(pe);const Ce=document.createElement("span");Ce.style.width=oe+"px",Ce.style.minWidth=oe+"px",Ce.style.paddingRight="10px",Ce.className="diff-review-line-number"+ae,e.modifiedLineNumber!==void 0?Ce.appendChild(document.createTextNode(String(e.modifiedLineNumber))):Ce.innerText=" ",he.appendChild(Ce);const $e=document.createElement("span");if($e.className=le,de){const Ne=document.createElement("span");Ne.className=ThemeIcon$1.asClassName(de),Ne.innerText="  ",$e.appendChild(Ne)}else $e.innerText="  ";he.appendChild($e);let xe;if(e.modifiedLineNumber!==void 0){let Ne=this._getLineHtml(L,k,V.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer$1._ttPolicy&&(Ne=AccessibleDiffViewer$1._ttPolicy.createHTML(Ne)),he.insertAdjacentHTML("beforeend",Ne),xe=L.getLineContent(e.modifiedLineNumber)}else{let Ne=this._getLineHtml(g,r,y.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer$1._ttPolicy&&(Ne=AccessibleDiffViewer$1._ttPolicy.createHTML(Ne)),he.insertAdjacentHTML("beforeend",Ne),xe=g.getLineContent(e.originalLineNumber)}xe.length===0&&(xe=localize$1("blankLine","blank"));let Ie="";switch(e.type){case LineType$1.Unchanged:e.originalLineNumber===e.modifiedLineNumber?Ie=localize$1({key:"unchangedLine",comment:["The placeholders are contents of the line and should not be translated."]},"{0} unchanged line {1}",xe,e.originalLineNumber):Ie=localize$1("equalLine","{0} original line {1} modified line {2}",xe,e.originalLineNumber,e.modifiedLineNumber);break;case LineType$1.Added:Ie=localize$1("insertLine","+ {0} modified line {1}",xe,e.modifiedLineNumber);break;case LineType$1.Deleted:Ie=localize$1("deleteLine","- {0} original line {1}",xe,e.originalLineNumber);break}return ue.setAttribute("aria-label",Ie),ue}_getLineHtml(e,t,i,r,g){const y=e.getLineContent(r),k=t.get(50),L=LineTokens$1.createEmpty(y,g),V=ViewLineRenderingData$1.isBasicASCII(y,e.mightContainNonBasicASCII()),z=ViewLineRenderingData$1.containsRTL(y,V,e.mightContainRTL());return renderViewLine2$1(new RenderLineInput$1(k.isMonospace&&!t.get(33),k.canUseHalfwidthRightwardsArrow,y,!1,V,z,0,L,[],i,0,k.spaceWidth,k.middotWidth,k.wsmiddotWidth,t.get(118),t.get(100),t.get(95),t.get(51)!==EditorFontLigatures$1.OFF,null)).html}};View$2=__decorate$4l([__param$4b(5,ILanguageService$1)],View$2);let AccessibleDiffViewerModelFromEditors$1=class{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return(e=this.editors.modified.getPosition())!=null?e:void 0}};registerColor$1("diffEditor.move.border","#8b8b8b9c",localize$1("diffEditor.move.border","The border color for text that got moved in the diff editor."));registerColor$1("diffEditor.moveActive.border","#FFA500",localize$1("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor."));registerColor$1("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},localize$1("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const diffInsertIcon$1=registerIcon$1("diff-insert",Codicon$1.add,localize$1("diffInsertIcon","Line decoration for inserts in the diff editor.")),diffRemoveIcon$1=registerIcon$1("diff-remove",Codicon$1.remove,localize$1("diffRemoveIcon","Line decoration for removals in the diff editor.")),diffLineAddDecorationBackgroundWithIndicator$1=ModelDecorationOptions$1.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+ThemeIcon$1.asClassName(diffInsertIcon$1),marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackgroundWithIndicator$1=ModelDecorationOptions$1.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+ThemeIcon$1.asClassName(diffRemoveIcon$1),marginClassName:"gutter-delete"}),diffLineAddDecorationBackground$1=ModelDecorationOptions$1.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackground$1=ModelDecorationOptions$1.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),diffAddDecoration$1=ModelDecorationOptions$1.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),diffWholeLineAddDecoration$1=ModelDecorationOptions$1.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),diffAddDecorationEmpty$1=ModelDecorationOptions$1.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),diffDeleteDecoration$1=ModelDecorationOptions$1.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),diffWholeLineDeleteDecoration$1=ModelDecorationOptions$1.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),diffDeleteDecorationEmpty$1=ModelDecorationOptions$1.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});var __decorate$4k=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4a=function(n,e){return function(t,i){e(t,i,n)}},WorkerBasedDocumentDiffProvider_1$1;const IDiffProviderFactoryService$1=createDecorator$1("diffProviderFactoryService");let WorkerBasedDiffProviderFactoryService$1=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WorkerBasedDocumentDiffProvider$1,e)}};WorkerBasedDiffProviderFactoryService$1=__decorate$4k([__param$4a(0,IInstantiationService$1)],WorkerBasedDiffProviderFactoryService$1);registerSingleton$1(IDiffProviderFactoryService$1,WorkerBasedDiffProviderFactoryService$1,1);var ua;let WorkerBasedDocumentDiffProvider$1=(ua=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new Emitter$3,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;(e=this.diffAlgorithmOnDidChangeSubscription)==null||e.dispose()}async computeDiff(e,t,i,r){var j,ie;if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(e,t,i,r);if(e.isDisposed()||t.isDisposed())return{changes:[],identical:!0,quitEarly:!1,moves:[]};if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new DetailedLineRangeMapping$1(new LineRange$3(1,2),new LineRange$3(1,t.getLineCount()+1),[new RangeMapping$1(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const g=JSON.stringify([e.uri.toString(),t.uri.toString()]),y=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),k=WorkerBasedDocumentDiffProvider_1$1.diffCache.get(g);if(k&&k.context===y)return k.result;const L=StopWatch$1.create(),V=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),z=L.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:z,timedOut:(j=V==null?void 0:V.quitEarly)!=null?j:!0,detectedMoves:i.computeMoves?(ie=V==null?void 0:V.moves.length)!=null?ie:0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!V)throw new Error("no diff result available");return WorkerBasedDocumentDiffProvider_1$1.diffCache.size>10&&WorkerBasedDocumentDiffProvider_1$1.diffCache.delete(WorkerBasedDocumentDiffProvider_1$1.diffCache.keys().next().value),WorkerBasedDocumentDiffProvider_1$1.diffCache.set(g,{result:V,context:y}),V}setOptions(e){var i;let t=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&((i=this.diffAlgorithmOnDidChangeSubscription)==null||i.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),t=!0),t&&this.onDidChangeEventEmitter.fire()}},WorkerBasedDocumentDiffProvider_1$1=ua,ua.diffCache=new Map,ua);WorkerBasedDocumentDiffProvider$1=WorkerBasedDocumentDiffProvider_1$1=__decorate$4k([__param$4a(1,IEditorWorkerService$1),__param$4a(2,ITelemetryService$1)],WorkerBasedDocumentDiffProvider$1);function isHotReloadEnabled$1(){return env$1&&!!env$1.VSCODE_DEV}function registerHotReloadHandler$1(n){if(isHotReloadEnabled$1()){const e=registerGlobalHotReloadHandler$1();return e.add(n),{dispose(){e.delete(n)}}}else return{dispose(){}}}function registerGlobalHotReloadHandler$1(){hotReloadHandlers$1||(hotReloadHandlers$1=new Set);const n=globalThis;return n.$hotReload_applyNewExports||(n.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e},i=[];for(const r of hotReloadHandlers$1){const g=r(t);g&&i.push(g)}if(i.length>0)return r=>{let g=!1;for(const y of i)y(r)&&(g=!0);return g}}),hotReloadHandlers$1}let hotReloadHandlers$1;isHotReloadEnabled$1()&®isterHotReloadHandler$1(({oldExports:n,newSrc:e,config:t})=>{if(t.mode==="patch-prototype")return i=>{var r,g;for(const y in i){const k=i[y];if(console.log("[hot-reload] Patching prototype methods of '".concat(y,"'"),{exportedItem:k}),typeof k=="function"&&k.prototype){const L=n[y];if(L){for(const V of Object.getOwnPropertyNames(k.prototype)){const z=Object.getOwnPropertyDescriptor(k.prototype,V),j=Object.getOwnPropertyDescriptor(L.prototype,V);((r=z==null?void 0:z.value)==null?void 0:r.toString())!==((g=j==null?void 0:j.value)==null?void 0:g.toString())&&console.log("[hot-reload] Patching prototype method '".concat(y,".").concat(V,"'")),Object.defineProperty(L.prototype,V,z)}i[y]=L}}}return!0}});function readHotReloadableExport$1(n,e){return observeHotReloadableExports$1([n],e),n}function observeHotReloadableExports$1(n,e){isHotReloadEnabled$1()&&observableSignalFromEvent$1("reload",i=>registerHotReloadHandler$1(({oldExports:r})=>{if([...Object.values(r)].some(g=>n.includes(g)))return g=>(i(void 0),!0)})).read(e)}var __decorate$4j=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$49=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorViewModel$1=class extends Disposable$1{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=observableValue$1(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=observableValue$1(this,void 0),this.diff=this._diff,this._unchangedRegions=observableValue$1(this,void 0),this.unchangedRegions=derived$1(this,k=>{var L,V;return this._options.hideUnchangedRegions.read(k)?(V=(L=this._unchangedRegions.read(k))==null?void 0:L.regions)!=null?V:[]:(transaction$1(z=>{var j;for(const ie of((j=this._unchangedRegions.get())==null?void 0:j.regions)||[])ie.collapseAll(z)}),[])}),this.movedTextToCompare=observableValue$1(this,void 0),this._activeMovedText=observableValue$1(this,void 0),this._hoveredMovedText=observableValue$1(this,void 0),this.activeMovedText=derived$1(this,k=>{var L,V;return(V=(L=this.movedTextToCompare.read(k))!=null?L:this._hoveredMovedText.read(k))!=null?V:this._activeMovedText.read(k)}),this._cancellationTokenSource=new CancellationTokenSource$3,this._diffProvider=derived$1(this,k=>{const L=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(k)}),V=observableSignalFromEvent$1("onDidChange",L.onDidChange);return{diffProvider:L,onChangeSignal:V}}),this._register(toDisposable$1(()=>this._cancellationTokenSource.cancel()));const r=observableSignal$1("contentChangedSignal"),g=this._register(new RunOnceScheduler$1(()=>r.trigger(void 0),200));this._register(autorun$1(k=>{const L=this._unchangedRegions.read(k);if(!L||L.regions.some(re=>re.isDragged.read(k)))return;const V=L.originalDecorationIds.map(re=>e.original.getDecorationRange(re)).map(re=>re?LineRange$3.fromRangeInclusive(re):void 0),z=L.modifiedDecorationIds.map(re=>e.modified.getDecorationRange(re)).map(re=>re?LineRange$3.fromRangeInclusive(re):void 0),j=L.regions.map((re,ae)=>!V[ae]||!z[ae]?void 0:new UnchangedRegion$1(V[ae].startLineNumber,z[ae].startLineNumber,V[ae].length,re.visibleLineCountTop.read(k),re.visibleLineCountBottom.read(k))).filter(isDefined$1),ie=[];let oe=!1;for(const re of groupAdjacentBy$1(j,(ae,le)=>ae.getHiddenModifiedRange(k).endLineNumberExclusive===le.getHiddenModifiedRange(k).startLineNumber))if(re.length>1){oe=!0;const ae=re.reduce((de,ue)=>de+ue.lineCount,0),le=new UnchangedRegion$1(re[0].originalLineNumber,re[0].modifiedLineNumber,ae,re[0].visibleLineCountTop.get(),re[re.length-1].visibleLineCountBottom.get());ie.push(le)}else ie.push(re[0]);if(oe){const re=e.original.deltaDecorations(L.originalDecorationIds,ie.map(le=>({range:le.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),ae=e.modified.deltaDecorations(L.modifiedDecorationIds,ie.map(le=>({range:le.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));transaction$1(le=>{this._unchangedRegions.set({regions:ie,originalDecorationIds:re,modifiedDecorationIds:ae},le)})}}));const y=(k,L,V)=>{const z=UnchangedRegion$1.fromDiffs(k.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(V),this._options.hideUnchangedRegionsContextLineCount.read(V));let j;const ie=this._unchangedRegions.get();if(ie){const le=ie.originalDecorationIds.map(pe=>e.original.getDecorationRange(pe)).map(pe=>pe?LineRange$3.fromRangeInclusive(pe):void 0),de=ie.modifiedDecorationIds.map(pe=>e.modified.getDecorationRange(pe)).map(pe=>pe?LineRange$3.fromRangeInclusive(pe):void 0);let he=filterWithPrevious$1(ie.regions.map((pe,Ce)=>{if(!le[Ce]||!de[Ce])return;const $e=le[Ce].length;return new UnchangedRegion$1(le[Ce].startLineNumber,de[Ce].startLineNumber,$e,Math.min(pe.visibleLineCountTop.get(),$e),Math.min(pe.visibleLineCountBottom.get(),$e-pe.visibleLineCountTop.get()))}).filter(isDefined$1),(pe,Ce)=>!Ce||pe.modifiedLineNumber>=Ce.modifiedLineNumber+Ce.lineCount&&pe.originalLineNumber>=Ce.originalLineNumber+Ce.lineCount).map(pe=>new LineRangeMapping$1(pe.getHiddenOriginalRange(V),pe.getHiddenModifiedRange(V)));he=LineRangeMapping$1.clip(he,LineRange$3.ofLength(1,e.original.getLineCount()),LineRange$3.ofLength(1,e.modified.getLineCount())),j=LineRangeMapping$1.inverse(he,e.original.getLineCount(),e.modified.getLineCount())}const oe=[];if(j)for(const le of z){const de=j.filter(ue=>ue.original.intersectsStrict(le.originalUnchangedRange)&&ue.modified.intersectsStrict(le.modifiedUnchangedRange));oe.push(...le.setVisibleRanges(de,L))}else oe.push(...z);const re=e.original.deltaDecorations((ie==null?void 0:ie.originalDecorationIds)||[],oe.map(le=>({range:le.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),ae=e.modified.deltaDecorations((ie==null?void 0:ie.modifiedDecorationIds)||[],oe.map(le=>({range:le.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:oe,originalDecorationIds:re,modifiedDecorationIds:ae},L)};this._register(e.modified.onDidChangeContent(k=>{if(this._diff.get()){const V=TextEditInfo$1.fromModelContentChanges(k.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),g.schedule()})),this._register(e.original.onDidChangeContent(k=>{if(this._diff.get()){const V=TextEditInfo$1.fromModelContentChanges(k.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),g.schedule()})),this._register(autorunWithStore$1(async(k,L)=>{var oe,re;this._options.hideUnchangedRegionsMinimumLineCount.read(k),this._options.hideUnchangedRegionsContextLineCount.read(k),g.cancel(),r.read(k);const V=this._diffProvider.read(k);V.onChangeSignal.read(k),readHotReloadableExport$1(DefaultLinesDiffComputer$1,k),readHotReloadableExport$1(optimizeSequenceDiffs$1,k),this._isDiffUpToDate.set(!1,void 0);let z=[];L.add(e.original.onDidChangeContent(ae=>{const le=TextEditInfo$1.fromModelContentChanges(ae.changes);z=combineTextEditInfos$1(z,le)}));let j=[];L.add(e.modified.onDidChangeContent(ae=>{const le=TextEditInfo$1.fromModelContentChanges(ae.changes);j=combineTextEditInfos$1(j,le)}));let ie=await V.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(k),maxComputationTimeMs:this._options.maxComputationTimeMs.read(k),computeMoves:this._options.showMoves.read(k)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||e.original.isDisposed()||e.modified.isDisposed()||(ie=normalizeDocumentDiff$1(ie,e.original,e.modified),ie=(oe=(e.original,e.modified,void 0))!=null?oe:ie,ie=(re=(e.original,e.modified,void 0))!=null?re:ie,transaction$1(ae=>{y(ie,ae),this._lastDiff=ie;const le=DiffState$1.fromDiffResult(ie);this._diff.set(le,ae),this._isDiffUpToDate.set(!0,ae);const de=this.movedTextToCompare.get();this.movedTextToCompare.set(de?this._lastDiff.moves.find(ue=>ue.lineRangeMapping.modified.intersect(de.lineRangeMapping.modified)):void 0,ae)}))}))}ensureModifiedLineIsVisible(e,t,i){var g,y;if(((g=this.diff.get())==null?void 0:g.mappings.length)===0)return;const r=((y=this._unchangedRegions.get())==null?void 0:y.regions)||[];for(const k of r)if(k.getHiddenModifiedRange(void 0).contains(e)){k.showModifiedLine(e,t,i);return}}ensureOriginalLineIsVisible(e,t,i){var g,y;if(((g=this.diff.get())==null?void 0:g.mappings.length)===0)return;const r=((y=this._unchangedRegions.get())==null?void 0:y.regions)||[];for(const k of r)if(k.getHiddenOriginalRange(void 0).contains(e)){k.showOriginalLine(e,t,i);return}}async waitForDiff(){await waitForState$1(this.isDiffUpToDate,e=>e)}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e==null?void 0:e.regions.map(t=>({range:t.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){var r;const t=(r=e.collapsedRegions)==null?void 0:r.map(g=>LineRange$3.deserialize(g.range)),i=this._unchangedRegions.get();!i||!t||transaction$1(g=>{for(const y of i.regions)for(const k of t)if(y.modifiedUnchangedRange.intersect(k)){y.setHiddenModifiedRange(k,g);break}})}};DiffEditorViewModel$1=__decorate$4j([__param$49(2,IDiffProviderFactoryService$1)],DiffEditorViewModel$1);function normalizeDocumentDiff$1(n,e,t){return{changes:n.changes.map(i=>new DetailedLineRangeMapping$1(i.original,i.modified,i.innerChanges?i.innerChanges.map(r=>normalizeRangeMapping$1(r,e,t)):void 0)),moves:n.moves,identical:n.identical,quitEarly:n.quitEarly}}function normalizeRangeMapping$1(n,e,t){let i=n.originalRange,r=n.modifiedRange;return i.startColumn===1&&r.startColumn===1&&(i.endColumn!==1||r.endColumn!==1)&&i.endColumn===e.getLineMaxColumn(i.endLineNumber)&&r.endColumn===t.getLineMaxColumn(r.endLineNumber)&&i.endLineNumbernew DiffMapping$1(t)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,r){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=r}},DiffMapping$1=class{constructor(e){this.lineRangeMapping=e}},UnchangedRegion$1=class qc{static fromDiffs(e,t,i,r,g){const y=DetailedLineRangeMapping$1.inverse(e,t,i),k=[];for(const L of y){let V=L.original.startLineNumber,z=L.modified.startLineNumber,j=L.original.length;const ie=V===1&&z===1,oe=V+j===t+1&&z+j===i+1;(ie||oe)&&j>=g+r?(ie&&!oe&&(j-=g),oe&&!ie&&(V+=g,z+=g,j-=g),k.push(new qc(V,z,j,0,0))):j>=g*2+r&&(V+=g,z+=g,j-=g*2,k.push(new qc(V,z,j,0,0)))}return k}get originalUnchangedRange(){return LineRange$3.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return LineRange$3.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,r,g){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=observableValue$1(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=observableValue$1(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=derived$1(this,L=>this.visibleLineCountTop.read(L)+this.visibleLineCountBottom.read(L)===this.lineCount&&!this.isDragged.read(L)),this.isDragged=observableValue$1(this,void 0);const y=Math.max(Math.min(r,this.lineCount),0),k=Math.max(Math.min(g,this.lineCount-r),0);softAssert$1(r===y),softAssert$1(g===k),this._visibleLineCountTop.set(y,void 0),this._visibleLineCountBottom.set(k,void 0)}setVisibleRanges(e,t){const i=[],r=new LineRangeSet$1(e.map(L=>L.modified)).subtractFrom(this.modifiedUnchangedRange);let g=this.originalLineNumber,y=this.modifiedLineNumber;const k=this.modifiedLineNumber+this.lineCount;if(r.ranges.length===0)this.showAll(t),i.push(this);else{let L=0;for(const V of r.ranges){const z=L===r.ranges.length-1;L++;const j=(z?k:V.endLineNumberExclusive)-y,ie=new qc(g,y,j,0,0);ie.setHiddenModifiedRange(V,t),i.push(ie),g=ie.originalUnchangedRange.endLineNumberExclusive,y=ie.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return LineRange$3.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return LineRange$3.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,r,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const r=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),g=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&r{var le;this._contextMenuService.showContextMenu({domForShadowRoot:ie&&(le=i.getDomNode())!=null?le:void 0,getAnchor:()=>({x:re,y:ae}),getActions:()=>{const de=[],ue=r.modified.isEmpty;return de.push(new Action$1("diff.clipboard.copyDeletedContent",ue?r.original.length>1?localize$1("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):localize$1("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):r.original.length>1?localize$1("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):localize$1("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const pe=this._originalTextModel.getValueInRange(r.original.toExclusiveRange());await this._clipboardService.writeText(pe)})),r.original.length>1&&de.push(new Action$1("diff.clipboard.copyDeletedLineContent",ue?localize$1("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.original.startLineNumber+j):localize$1("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",r.original.startLineNumber+j),void 0,!0,async()=>{let pe=this._originalTextModel.getLineContent(r.original.startLineNumber+j);pe===""&&(pe=this._originalTextModel.getEndOfLineSequence()===0?"\n":"\r\n"),await this._clipboardService.writeText(pe)})),i.getOption(92)||de.push(new Action$1("diff.inline.revertChange",localize$1("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),de},autoSelectFirstItem:!0})};this._register(addStandardDisposableListener$1(this._diffActions,"mousedown",re=>{if(!re.leftButton)return;const{top:ae,height:le}=getDomNodePagePosition$1(this._diffActions),de=Math.floor(z/3);re.preventDefault(),oe(re.posx,ae+le+de)})),this._register(i.onMouseMove(re=>{(re.target.type===8||re.target.type===5)&&re.target.detail.viewZoneId===this._getViewZoneId()?(j=this._updateLightBulbPosition(this._marginDomNode,re.event.browserEvent.y,z),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(re=>{re.event.leftButton&&(re.target.type===8||re.target.type===5)&&re.target.detail.viewZoneId===this._getViewZoneId()&&(re.event.preventDefault(),j=this._updateLightBulbPosition(this._marginDomNode,re.event.browserEvent.y,z),oe(re.event.posx,re.event.posy+z))}))}_updateLightBulbPosition(e,t,i){const{top:r}=getDomNodePagePosition$1(e),g=t-r,y=Math.floor(g/i),k=y*i;if(this._diffActions.style.top="".concat(k,"px"),this._viewLineCounts){let L=0;for(let V=0;Vn});function renderLines$3(n,e,t,i){applyFontInfo$1(i,e.fontInfo);const r=t.length>0,g=new StringBuilder$1(1e4);let y=0,k=0;const L=[];for(let ie=0;ie');const L=e.getLineContent(),V=ViewLineRenderingData$1.isBasicASCII(L,r),z=ViewLineRenderingData$1.containsRTL(L,V,g),j=renderViewLine$1(new RenderLineInput$1(y.fontInfo.isMonospace&&!y.disableMonospaceOptimizations,y.fontInfo.canUseHalfwidthRightwardsArrow,L,!1,V,z,0,e,t,y.tabSize,0,y.fontInfo.spaceWidth,y.fontInfo.middotWidth,y.fontInfo.wsmiddotWidth,y.stopRenderingLineAfter,y.renderWhitespace,y.renderControlCharacters,y.fontLigatures!==EditorFontLigatures$1.OFF,null),k);return k.appendString(""),j.characterMapping.getHorizontalOffset(j.characterMapping.length)}var __decorate$4i=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$48=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorViewZones$1=class extends Disposable$1{constructor(e,t,i,r,g,y,k,L,V,z){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=r,this._diffEditorWidget=g,this._canIgnoreViewZoneUpdateEvent=y,this._origViewZonesToIgnore=k,this._modViewZonesToIgnore=L,this._clipboardService=V,this._contextMenuService=z,this._originalTopPadding=observableValue$1(this,0),this._originalScrollOffset=observableValue$1(this,0),this._originalScrollOffsetAnimated=animatedObservable$1(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=observableValue$1(this,0),this._modifiedScrollOffset=observableValue$1(this,0),this._modifiedScrollOffsetAnimated=animatedObservable$1(this._targetWindow,this._modifiedScrollOffset,this._store);const j=observableValue$1("invalidateAlignmentsState",0),ie=this._register(new RunOnceScheduler$1(()=>{j.set(j.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(he=>{this._canIgnoreViewZoneUpdateEvent()||ie.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(he=>{this._canIgnoreViewZoneUpdateEvent()||ie.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(he=>{(he.hasChanged(147)||he.hasChanged(67))&&ie.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(he=>{(he.hasChanged(147)||he.hasChanged(67))&&ie.schedule()}));const oe=this._diffModel.map(he=>he?observableFromEvent$1(this,he.model.original.onDidChangeTokens,()=>he.model.original.tokenization.backgroundTokenizationState===2):void 0).map((he,pe)=>he==null?void 0:he.read(pe)),re=derived$1(he=>{const pe=this._diffModel.read(he),Ce=pe==null?void 0:pe.diff.read(he);if(!pe||!Ce)return null;j.read(he);const xe=this._options.renderSideBySide.read(he);return computeRangeAlignment$1(this._editors.original,this._editors.modified,Ce.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,xe)}),ae=derived$1(he=>{var $e;const pe=($e=this._diffModel.read(he))==null?void 0:$e.movedTextToCompare.read(he);if(!pe)return null;j.read(he);const Ce=pe.changes.map(xe=>new DiffMapping$1(xe));return computeRangeAlignment$1(this._editors.original,this._editors.modified,Ce,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function le(){const he=document.createElement("div");return he.className="diagonal-fill",he}const de=this._register(new DisposableStore$1);this.viewZones=derivedWithStore$1(this,(he,pe)=>{var kt,ei,jt,ri,ni,Ci,wi,Ri;de.clear();const Ce=re.read(he)||[],$e=[],xe=[],Ie=this._modifiedTopPadding.read(he);Ie>0&&xe.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:Ie,showInHiddenAreas:!0,suppressMouseDown:!0});const Ne=this._originalTopPadding.read(he);Ne>0&&$e.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:Ne,showInHiddenAreas:!0,suppressMouseDown:!0});const Fe=this._options.renderSideBySide.read(he),Ve=Fe||(kt=this._editors.modified._getViewModel())==null?void 0:kt.createLineBreaksComputer();if(Ve){const ai=this._editors.original.getModel();for(const hi of Ce)if(hi.diff)for(let xi=hi.originalRange.startLineNumber;xiai.getLineCount())return{orig:$e,mod:xe};Ve==null||Ve.addRequest(ai.getLineContent(xi),null,null)}}const Oe=(ei=Ve==null?void 0:Ve.finalize())!=null?ei:[];let ze=0;const qe=this._editors.modified.getOption(67),Ue=(jt=this._diffModel.read(he))==null?void 0:jt.movedTextToCompare.read(he),Et=(ni=(ri=this._editors.original.getModel())==null?void 0:ri.mightContainNonBasicASCII())!=null?ni:!1,At=(wi=(Ci=this._editors.original.getModel())==null?void 0:Ci.mightContainRTL())!=null?wi:!1,Lt=RenderOptions$1.fromEditor(this._editors.modified);for(const ai of Ce)if(ai.diff&&!Fe&&(!this._options.useTrueInlineDiffRendering.read(he)||!allowsTrueInlineDiffRendering(ai.diff))){if(!ai.originalRange.isEmpty){oe.read(he);const xi=document.createElement("div");xi.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const Oi=this._editors.original.getModel();if(ai.originalRange.endLineNumberExclusive-1>Oi.getLineCount())return{orig:$e,mod:xe};const Ei=new LineSource$1(ai.originalRange.mapToLineArray(ki=>Oi.tokenization.getLineTokens(ki)),ai.originalRange.mapToLineArray(ki=>Oe[ze++]),Et,At),si=[];for(const ki of ai.diff.innerChanges||[])si.push(new InlineDecoration$1(ki.originalRange.delta(-(ai.diff.original.startLineNumber-1)),diffDeleteDecoration$1.className,0));const fi=renderLines$3(Ei,Lt,si,xi),li=document.createElement("div");if(li.className="inline-deleted-margin-view-zone",applyFontInfo$1(li,Lt.fontInfo),this._options.renderIndicators.read(he))for(let ki=0;kiassertIsDefined$1(Di),li,this._editors.modified,ai.diff,this._diffEditorWidget,fi.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let ki=0;ki1&&$e.push({afterLineNumber:ai.originalRange.startLineNumber+ki,domNode:le(),heightInPx:(Ai-1)*qe,showInHiddenAreas:!0,suppressMouseDown:!0})}xe.push({afterLineNumber:ai.modifiedRange.startLineNumber-1,domNode:xi,heightInPx:fi.heightInLines*qe,minWidthInPx:fi.minWidthInPx,marginDomNode:li,setZoneId(ki){Di=ki},showInHiddenAreas:!0,suppressMouseDown:!0})}const hi=document.createElement("div");hi.className="gutter-delete",$e.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:ai.modifiedHeightInPx,marginDomNode:hi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const hi=ai.modifiedHeightInPx-ai.originalHeightInPx;if(hi>0){if(Ue!=null&&Ue.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ai.originalRange.endLineNumberExclusive-1))continue;$e.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:hi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let xi=function(){const Ei=document.createElement("div");return Ei.className="arrow-revert-change "+ThemeIcon$1.asClassName(Codicon$1.arrowRight),pe.add(addDisposableListener$1(Ei,"mousedown",si=>si.stopPropagation())),pe.add(addDisposableListener$1(Ei,"click",si=>{si.stopPropagation(),g.revert(ai.diff)})),$$u("div",{},Ei)};if(Ue!=null&&Ue.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ai.modifiedRange.endLineNumberExclusive-1))continue;let Oi;ai.diff&&ai.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(he)&&(Oi=xi()),xe.push({afterLineNumber:ai.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-hi,marginDomNode:Oi,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ai of(Ri=ae.read(he))!=null?Ri:[]){if(!(Ue!=null&&Ue.lineRangeMapping.original.intersect(ai.originalRange))||!(Ue!=null&&Ue.lineRangeMapping.modified.intersect(ai.modifiedRange)))continue;const hi=ai.modifiedHeightInPx-ai.originalHeightInPx;hi>0?$e.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:hi,showInHiddenAreas:!0,suppressMouseDown:!0}):xe.push({afterLineNumber:ai.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-hi,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:$e,mod:xe}});let ue=!1;this._register(this._editors.original.onDidScrollChange(he=>{he.scrollLeftChanged&&!ue&&(ue=!0,this._editors.modified.setScrollLeft(he.scrollLeft),ue=!1)})),this._register(this._editors.modified.onDidScrollChange(he=>{he.scrollLeftChanged&&!ue&&(ue=!0,this._editors.original.setScrollLeft(he.scrollLeft),ue=!1)})),this._originalScrollTop=observableFromEvent$1(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent$1(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(autorun$1(he=>{const pe=this._originalScrollTop.read(he)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(he))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(he));pe!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(pe,1)})),this._register(autorun$1(he=>{const pe=this._modifiedScrollTop.read(he)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(he))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(he));pe!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(pe,1)})),this._register(autorun$1(he=>{var $e;const pe=($e=this._diffModel.read(he))==null?void 0:$e.movedTextToCompare.read(he);let Ce=0;if(pe){const xe=this._editors.original.getTopForLineNumber(pe.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();Ce=this._editors.modified.getTopForLineNumber(pe.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-xe}Ce>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(Ce,void 0)):Ce<0?(this._modifiedTopPadding.set(-Ce,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-Ce,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+Ce,void 0,!0)}))}};DiffEditorViewZones$1=__decorate$4i([__param$48(8,IClipboardService$1),__param$48(9,IContextMenuService$1)],DiffEditorViewZones$1);function computeRangeAlignment$1(n,e,t,i,r,g){const y=new ArrayQueue$1(getAdditionalLineHeights$1(n,i)),k=new ArrayQueue$1(getAdditionalLineHeights$1(e,r)),L=n.getOption(67),V=e.getOption(67),z=[];let j=0,ie=0;function oe(re,ae){for(;;){let le=y.peek(),de=k.peek();if(le&&le.lineNumber>=re&&(le=void 0),de&&de.lineNumber>=ae&&(de=void 0),!le&&!de)break;const ue=le?le.lineNumber-j:Number.MAX_VALUE,he=de?de.lineNumber-ie:Number.MAX_VALUE;uehe?(k.dequeue(),le={lineNumber:de.lineNumber-ie+j,heightInPx:0}):(y.dequeue(),k.dequeue()),z.push({originalRange:LineRange$3.ofLength(le.lineNumber,1),modifiedRange:LineRange$3.ofLength(de.lineNumber,1),originalHeightInPx:L+le.heightInPx,modifiedHeightInPx:V+de.heightInPx,diff:void 0})}}for(const re of t){let he=function(pe,Ce,$e=!1){var Ve,Oe,ze,qe;if(peUe.lineNumberUe+Et.heightInPx,0))!=null?Oe:0,Fe=(qe=(ze=k.takeWhile(Ue=>Ue.lineNumberUe+Et.heightInPx,0))!=null?qe:0;z.push({originalRange:xe,modifiedRange:Ie,originalHeightInPx:xe.length*L+Ne,modifiedHeightInPx:Ie.length*V+Fe,diff:re.lineRangeMapping}),ue=pe,de=Ce};const ae=re.lineRangeMapping;oe(ae.original.startLineNumber,ae.modified.startLineNumber);let le=!0,de=ae.modified.startLineNumber,ue=ae.original.startLineNumber;if(g)for(const pe of ae.innerChanges||[]){pe.originalRange.startColumn>1&&pe.modifiedRange.startColumn>1&&he(pe.originalRange.startLineNumber,pe.modifiedRange.startLineNumber);const Ce=n.getModel(),$e=pe.originalRange.endLineNumber<=Ce.getLineCount()?Ce.getLineMaxColumn(pe.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;pe.originalRange.endColumn<$e&&he(pe.originalRange.endLineNumber,pe.modifiedRange.endLineNumber)}he(ae.original.endLineNumberExclusive,ae.modified.endLineNumberExclusive,!0),j=ae.original.endLineNumberExclusive,ie=ae.modified.endLineNumberExclusive}return oe(Number.MAX_VALUE,Number.MAX_VALUE),z}function getAdditionalLineHeights$1(n,e){const t=[],i=[],r=n.getOption(147).wrappingColumn!==-1,g=n._getViewModel().coordinatesConverter,y=n.getOption(67);if(r)for(let L=1;L<=n.getModel().getLineCount();L++){const V=g.getModelLineViewLineCount(L);V>1&&i.push({lineNumber:L,heightInPx:y*(V-1)})}for(const L of n.getWhitespaces()){if(e.has(L.id))continue;const V=L.afterLineNumber===0?0:g.convertViewPositionToModelPosition(new Position$3(L.afterLineNumber,1)).lineNumber;t.push({lineNumber:V,heightInPx:L.height})}return joinCombine$1(t,i,L=>L.lineNumber,(L,V)=>({lineNumber:L.lineNumber,heightInPx:L.heightInPx+V.heightInPx}))}function allowsTrueInlineDiffRendering(n){return n.innerChanges?n.innerChanges.every(e=>rangeIsSingleLine(e.modifiedRange)&&rangeIsSingleLine(e.originalRange)||e.originalRange.equalsRange(new Range$5(1,1,1,1))):!1}function rangeIsSingleLine(n){return n.startLineNumber===n.endLineNumber}var Fr;let MovedBlocksLinesFeature$1=(Fr=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=r,this._editors=g,this._originalScrollTop=observableFromEvent$1(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent$1(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=observableSignalFromEvent$1("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=observableValue$1(this,0),this._modifiedViewZonesChangedSignal=observableSignalFromEvent$1("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=observableSignalFromEvent$1("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=derivedWithStore$1(this,(z,j)=>{var xe;this._element.replaceChildren();const ie=this._diffModel.read(z),oe=(xe=ie==null?void 0:ie.diff.read(z))==null?void 0:xe.movedTexts;if(!oe||oe.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(z);const re=this._originalEditorLayoutInfo.read(z),ae=this._modifiedEditorLayoutInfo.read(z);if(!re||!ae){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(z),this._originalViewZonesChangedSignal.read(z);const le=oe.map(Ie=>{function Ne(Lt,kt){const ei=kt.getTopForLineNumber(Lt.startLineNumber,!0),jt=kt.getTopForLineNumber(Lt.endLineNumberExclusive,!0);return(ei+jt)/2}const Fe=Ne(Ie.lineRangeMapping.original,this._editors.original),Ve=this._originalScrollTop.read(z),Oe=Ne(Ie.lineRangeMapping.modified,this._editors.modified),ze=this._modifiedScrollTop.read(z),qe=Fe-Ve,Ue=Oe-ze,Et=Math.min(Fe,Oe),At=Math.max(Fe,Oe);return{range:new OffsetRange$1(Et,At),from:qe,to:Ue,fromWithoutScroll:Fe,toWithoutScroll:Oe,move:Ie}});le.sort(tieBreakComparators$1(compareBy$1(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll,booleanComparator$1),compareBy$1(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll?Ie.fromWithoutScroll:-Ie.toWithoutScroll,numberComparator$1)));const de=LinesLayout$2.compute(le.map(Ie=>Ie.range)),ue=10,he=re.verticalScrollbarWidth,pe=(de.getTrackCount()-1)*10+ue*2,Ce=he+pe+(ae.contentLeft-Fr.movedCodeBlockPadding);let $e=0;for(const Ie of le){const Ne=de.getTrack($e),Fe=he+ue+Ne*10,Ve=15,Oe=15,ze=Ce,qe=ae.glyphMarginWidth+ae.lineNumbersWidth,Ue=18,Et=document.createElementNS("http://www.w3.org/2000/svg","rect");Et.classList.add("arrow-rectangle"),Et.setAttribute("x","".concat(ze-qe)),Et.setAttribute("y","".concat(Ie.to-Ue/2)),Et.setAttribute("width","".concat(qe)),Et.setAttribute("height","".concat(Ue)),this._element.appendChild(Et);const At=document.createElementNS("http://www.w3.org/2000/svg","g"),Lt=document.createElementNS("http://www.w3.org/2000/svg","path");Lt.setAttribute("d","M 0 ".concat(Ie.from," L ").concat(Fe," ").concat(Ie.from," L ").concat(Fe," ").concat(Ie.to," L ").concat(ze-Oe," ").concat(Ie.to)),Lt.setAttribute("fill","none"),At.appendChild(Lt);const kt=document.createElementNS("http://www.w3.org/2000/svg","polygon");kt.classList.add("arrow"),j.add(autorun$1(ei=>{Lt.classList.toggle("currentMove",Ie.move===ie.activeMovedText.read(ei)),kt.classList.toggle("currentMove",Ie.move===ie.activeMovedText.read(ei))})),kt.setAttribute("points","".concat(ze-Oe,",").concat(Ie.to-Ve/2," ").concat(ze,",").concat(Ie.to," ").concat(ze-Oe,",").concat(Ie.to+Ve/2)),At.appendChild(kt),this._element.appendChild(At),$e++}this.width.set(pe,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(toDisposable$1(()=>this._element.remove())),this._register(autorun$1(z=>{const j=this._originalEditorLayoutInfo.read(z),ie=this._modifiedEditorLayoutInfo.read(z);!j||!ie||(this._element.style.left="".concat(j.width-j.verticalScrollbarWidth,"px"),this._element.style.height="".concat(j.height,"px"),this._element.style.width="".concat(j.verticalScrollbarWidth+j.contentLeft-Fr.movedCodeBlockPadding+this.width.read(z),"px"))})),this._register(recomputeInitiallyAndOnChange$1(this._state));const y=derived$1(z=>{const j=this._diffModel.read(z),ie=j==null?void 0:j.diff.read(z);return ie?ie.movedTexts.map(oe=>({move:oe,original:new PlaceholderViewZone$1(constObservable$1(oe.lineRangeMapping.original.startLineNumber-1),18),modified:new PlaceholderViewZone$1(constObservable$1(oe.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(applyViewZones$1(this._editors.original,y.map(z=>z.map(j=>j.original)))),this._register(applyViewZones$1(this._editors.modified,y.map(z=>z.map(j=>j.modified)))),this._register(autorunWithStore$1((z,j)=>{const ie=y.read(z);for(const oe of ie)j.add(new MovedBlockOverlayWidget$1(this._editors.original,oe.original,oe.move,"original",this._diffModel.get())),j.add(new MovedBlockOverlayWidget$1(this._editors.modified,oe.modified,oe.move,"modified",this._diffModel.get()))}));const k=observableSignalFromEvent$1("original.onDidFocusEditorWidget",z=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>z(void 0),0))),L=observableSignalFromEvent$1("modified.onDidFocusEditorWidget",z=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>z(void 0),0)));let V="modified";this._register(autorunHandleChanges$1({createEmptyChangeSummary:()=>{},handleChange:(z,j)=>(z.didChange(k)&&(V="original"),z.didChange(L)&&(V="modified"),!0)},z=>{k.read(z),L.read(z);const j=this._diffModel.read(z);if(!j)return;const ie=j.diff.read(z);let oe;if(ie&&V==="original"){const re=this._editors.originalCursor.read(z);re&&(oe=ie.movedTexts.find(ae=>ae.lineRangeMapping.original.contains(re.lineNumber)))}if(ie&&V==="modified"){const re=this._editors.modifiedCursor.read(z);re&&(oe=ie.movedTexts.find(ae=>ae.lineRangeMapping.modified.contains(re.lineNumber)))}oe!==j.movedTextToCompare.get()&&j.movedTextToCompare.set(void 0,void 0),j.setActiveMovedText(oe)}))}},Fr.movedCodeBlockPadding=4,Fr),LinesLayout$2=class Ih{static compute(e){const t=[],i=[];for(const r of e){let g=t.findIndex(y=>!y.intersectsStrict(r));g===-1&&(t.length>=6?g=findMaxIdx(t,compareBy$1(k=>k.intersectWithRangeLength(r),numberComparator$1)):(g=t.length,t.push(new OffsetRangeSet$1))),t[g].addRange(r),i.push(g)}return new Ih(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}},MovedBlockOverlayWidget$1=class extends ViewZoneOverlayWidget$1{constructor(e,t,i,r,g){const y=h$2("div.diff-hidden-lines-widget");super(e,t,y.root),this._editor=e,this._move=i,this._kind=r,this._diffModel=g,this._nodes=h$2("div.diff-moved-code-block",{style:{marginRight:"4px"}},[h$2("div.text-content@textContent"),h$2("div.action-bar@actionBar")]),y.root.appendChild(this._nodes.root);const k=observableFromEvent$1(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(applyStyle$1(this._nodes.root,{paddingRight:k.map(ie=>ie.verticalScrollbarWidth)}));let L;i.changes.length>0?L=this._kind==="original"?localize$1("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize$1("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):L=this._kind==="original"?localize$1("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize$1("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const V=this._register(new ActionBar$1(this._nodes.actionBar,{highlightToggledItems:!0})),z=new Action$1("",L,"",!1);V.push(z,{icon:!1,label:!0});const j=new Action$1("","Compare",ThemeIcon$1.asClassName(Codicon$1.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(autorun$1(ie=>{const oe=this._diffModel.movedTextToCompare.read(ie)===i;j.checked=oe})),V.push(j,{icon:!1,label:!0})}},DiffEditorDecorations$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=derived$1(this,g=>{const y=this._diffModel.read(g),k=y==null?void 0:y.diff.read(g);if(!k)return null;const L=this._diffModel.read(g).movedTextToCompare.read(g),V=this._options.renderIndicators.read(g),z=this._options.showEmptyDecorations.read(g),j=[],ie=[];if(!L)for(const re of k.mappings)if(re.lineRangeMapping.original.isEmpty||j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:V?diffLineDeleteDecorationBackgroundWithIndicator$1:diffLineDeleteDecorationBackground$1}),re.lineRangeMapping.modified.isEmpty||ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:V?diffLineAddDecorationBackgroundWithIndicator$1:diffLineAddDecorationBackground$1}),re.lineRangeMapping.modified.isEmpty||re.lineRangeMapping.original.isEmpty)re.lineRangeMapping.original.isEmpty||j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration$1}),re.lineRangeMapping.modified.isEmpty||ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:diffWholeLineAddDecoration$1});else{const ae=this._options.useTrueInlineDiffRendering.read(g)&&allowsTrueInlineDiffRendering(re.lineRangeMapping);for(const le of re.lineRangeMapping.innerChanges||[])if(re.lineRangeMapping.original.contains(le.originalRange.startLineNumber)&&j.push({range:le.originalRange,options:le.originalRange.isEmpty()&&z?diffDeleteDecorationEmpty$1:diffDeleteDecoration$1}),re.lineRangeMapping.modified.contains(le.modifiedRange.startLineNumber)&&ie.push({range:le.modifiedRange,options:le.modifiedRange.isEmpty()&&z&&!ae?diffAddDecorationEmpty$1:diffAddDecoration$1}),ae){const de=y.model.original.getValueInRange(le.originalRange);ie.push({range:le.modifiedRange,options:{description:"deleted-text",before:{content:de,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(L)for(const re of L.changes){const ae=re.original.toInclusiveRange();ae&&j.push({range:ae,options:V?diffLineDeleteDecorationBackgroundWithIndicator$1:diffLineDeleteDecorationBackground$1});const le=re.modified.toInclusiveRange();le&&ie.push({range:le,options:V?diffLineAddDecorationBackgroundWithIndicator$1:diffLineAddDecorationBackground$1});for(const de of re.innerChanges||[])j.push({range:de.originalRange,options:diffDeleteDecoration$1}),ie.push({range:de.modifiedRange,options:diffAddDecoration$1})}const oe=this._diffModel.read(g).activeMovedText.read(g);for(const re of k.movedTexts)j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(re===oe?" currentMove":""),blockPadding:[MovedBlocksLinesFeature$1.movedCodeBlockPadding,0,MovedBlocksLinesFeature$1.movedCodeBlockPadding,MovedBlocksLinesFeature$1.movedCodeBlockPadding]}}),ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(re===oe?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:j,modifiedDecorations:ie}}),this._register(applyObservableDecorations$3(this._editors.original,this._decorations.map(g=>(g==null?void 0:g.originalDecorations)||[]))),this._register(applyObservableDecorations$3(this._editors.modified,this._decorations.map(g=>(g==null?void 0:g.modifiedDecorations)||[])))}};class SashLayout{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=derivedWithSetter(this,i=>{var g;const r=(g=this._sashRatio.read(i))!=null?g:this._options.splitViewDefaultRatio.read(i);return this._computeSashLeft(r,i)},(i,r)=>{const g=this.dimensions.width.get();this._sashRatio.set(i/g,r)}),this._sashRatio=observableValue$1(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),g=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):r,y=100;return i<=y*2?r:gi-y?i-y:g}}let DiffEditorSash$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=r,this.sashLeft=g,this._resetSash=y,this._sash=this._register(new Sash$1(this._domNode,{getVerticalSashTop:k=>0,getVerticalSashLeft:k=>this.sashLeft.get(),getVerticalSashHeight:k=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(k=>{this.sashLeft.set(this._startSashPosition+(k.currentX-k.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(autorun$1(k=>{const L=this._boundarySashes.read(k);L&&(this._sash.orthogonalEndSash=L.bottom)})),this._register(autorun$1(k=>{const L=this._enabled.read(k);this._sash.state=L?3:0,this.sashLeft.read(k),this._dimensions.height.read(k),this._sash.layout()}))}},EditorGutter$1=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=observableFromEvent$1(this,this._editor.onDidScrollChange,y=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(y=>y===0),this.modelAttached=observableFromEvent$1(this,this._editor.onDidChangeModel,y=>this._editor.hasModel()),this.editorOnDidChangeViewZones=observableSignalFromEvent$1("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=observableSignalFromEvent$1("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=observableSignal$1("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const r=this._domNode.appendChild(h$2("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),g=new ResizeObserver(()=>{transaction$1(y=>{this.domNodeSizeChanged.trigger(y)})});g.observe(this._domNode),this._register(toDisposable$1(()=>g.disconnect())),this._register(autorun$1(y=>{r.className=this.isScrollTopZero.read(y)?"":"scroll-decoration"})),this._register(autorun$1(y=>this.render(y)))}dispose(){super.dispose(),reset$1(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),g=OffsetRange$1.ofStartAndLength(0,this._domNode.clientHeight);if(!g.isEmpty)for(const y of i){const k=new LineRange$3(y.startLineNumber,y.endLineNumber+1),L=this.itemProvider.getIntersectingGutterItems(k,e);transaction$1(V=>{for(const z of L){if(!z.range.intersect(k))continue;r.delete(z.id);let j=this.views.get(z.id);if(j)j.item.set(z,V);else{const ae=document.createElement("div");this._domNode.appendChild(ae);const le=observableValue$1("item",z),de=this.itemProvider.createView(le,ae);j=new ManagedGutterItemView$1(le,de,ae),this.views.set(z.id,j)}const ie=z.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(z.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(z.range.startLineNumber-1,!1)-t,re=(z.range.endLineNumberExclusive===1?Math.max(ie,this._editor.getTopForLineNumber(z.range.startLineNumber,!1)-t):Math.max(ie,this._editor.getBottomForLineNumber(z.range.endLineNumberExclusive-1,!0)-t))-ie;j.domNode.style.top="".concat(ie,"px"),j.domNode.style.height="".concat(re,"px"),j.gutterItemView.layout(OffsetRange$1.ofStartAndLength(ie,re),g)}})}for(const y of r){const k=this.views.get(y);k.gutterItemView.dispose(),k.domNode.remove(),this.views.delete(y)}}},ManagedGutterItemView$1=class{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}},ActionRunnerWithContext$1=class extends ActionRunner$1{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}},TextModelText$1=class extends AbstractText$1{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new TextLength$1(e-1,t)}},ToolBar$1=class extends Disposable$1{constructor(e,t,i={orientation:0}){var r;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new EventMultiplexer$1),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new DisposableStore$1),i.hoverDelegate=(r=i.hoverDelegate)!=null?r:this._register(createInstantHoverDelegate$1()),this.options=i,this.toggleMenuAction=this._register(new ToggleMenuAction$1(()=>{var g;return(g=this.toggleMenuActionViewItem)==null?void 0:g.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new ActionBar$1(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(g,y)=>{var k;if(g.id===ToggleMenuAction$1.ID)return this.toggleMenuActionViewItem=new DropdownMenuActionViewItem$1(g,g.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ThemeIcon$1.asClassNameArray((k=i.moreIcon)!=null?k:Codicon$1.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const L=i.actionViewItemProvider(g,y);if(L)return L}if(g instanceof SubmenuAction$1){const L=new DropdownMenuActionViewItem$1(g,g.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:g.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return L.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(L),this.disposables.add(this._onDidChangeDropdownVisibility.add(L.onDidChangeVisibility)),L}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(r=>{var g,y;this.actionBar.push(r,{icon:(g=this.options.icon)!=null?g:!0,label:(y=this.options.label)!=null?y:!1,keybinding:this.getKeybindingLabel(r)})})}getKeybindingLabel(e){var i,r,g;const t=(r=(i=this.options).getKeyBinding)==null?void 0:r.call(i,e);return(g=t==null?void 0:t.getLabel())!=null?g:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}};var ha;let ToggleMenuAction$1=(ha=class extends Action$1{constructor(e,t){t=t||localize$1("moreActions","More Actions..."),super(ha.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}},ha.ID="toolbar.toggle.more",ha);var __decorate$4h=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$47=function(n,e){return function(t,i){e(t,i,n)}};let WorkbenchToolBar$1=class extends ToolBar$1{constructor(e,t,i,r,g,y,k,L){super(e,g,{getKeyBinding:z=>{var j;return(j=y.lookupKeybinding(z.id))!=null?j:void 0},...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=r,this._contextMenuService=g,this._keybindingService=y,this._commandService=k,this._sessionDisposables=this._store.add(new DisposableStore$1);const V=t==null?void 0:t.telemetrySource;V&&this._store.add(this.actionBar.onDidRun(z=>L.publicLog2("workbenchActionExecuted",{id:z.action.id,from:V})))}setActions(e,t=[],i){var z,j,ie;this._sessionDisposables.clear();const r=e.slice(),g=t.slice(),y=[];let k=0;const L=[];let V=!1;if(((z=this._options)==null?void 0:z.hiddenItemStrategy)!==-1)for(let oe=0;oele==null?void 0:le.id)),re=this._options.overflowBehavior.maxItems-oe.size;let ae=0;for(let le=0;le=re&&(r[le]=void 0,L[le]=de))}}coalesceInPlace$1(r),coalesceInPlace$1(L),super.setActions(r,Separator$1.join(L,g)),(y.length>0||r.length>0)&&this._sessionDisposables.add(addDisposableListener$1(this.getElement(),"contextmenu",oe=>{var ue,he,pe,Ce,$e;const re=new StandardMouseEvent$1(getWindow$3(this.getElement()),oe),ae=this.getItemAction(re.target);if(!ae)return;re.preventDefault(),re.stopPropagation();const le=[];if(ae instanceof MenuItemAction$1&&ae.menuKeybinding)le.push(ae.menuKeybinding);else if(!(ae instanceof SubmenuItemAction$1||ae instanceof ToggleMenuAction$1)){const xe=!!this._keybindingService.lookupKeybinding(ae.id);le.push(createConfigureKeybindingAction(this._commandService,this._keybindingService,ae.id,void 0,xe))}if(y.length>0){let xe=!1;if(k===1&&((ue=this._options)==null?void 0:ue.hiddenItemStrategy)===0){xe=!0;for(let Ie=0;Iethis._menuService.resetHiddenStates(i)}))),de.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>re,getActions:()=>de,menuId:(pe=this._options)==null?void 0:pe.contextMenu,menuActionOptions:{renderShortTitle:!0,...(Ce=this._options)==null?void 0:Ce.menuOptions},skipTelemetry:typeof(($e=this._options)==null?void 0:$e.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};WorkbenchToolBar$1=__decorate$4h([__param$47(2,IMenuService$1),__param$47(3,IContextKeyService$1),__param$47(4,IContextMenuService$1),__param$47(5,IKeybindingService$1),__param$47(6,ICommandService$1),__param$47(7,ITelemetryService$1)],WorkbenchToolBar$1);let MenuWorkbenchToolBar$1=class extends WorkbenchToolBar$1{constructor(e,t,i,r,g,y,k,L,V){super(e,{resetMenu:t,...i},r,g,y,k,L,V),this._onDidChangeMenuItems=this._store.add(new Emitter$3),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const z=this._store.add(r.createMenu(t,g,{emitEventsForSubmenuChanges:!0})),j=()=>{var re,ae,le;const ie=[],oe=[];createAndFillInActionBarActions$1(z,i==null?void 0:i.menuOptions,{primary:ie,secondary:oe},(re=i==null?void 0:i.toolbarOptions)==null?void 0:re.primaryGroup,(ae=i==null?void 0:i.toolbarOptions)==null?void 0:ae.shouldInlineSubmenu,(le=i==null?void 0:i.toolbarOptions)==null?void 0:le.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",ie.length===0&&oe.length===0),super.setActions(ie,oe)};this._store.add(z.onDidChange(()=>{j(),this._onDidChangeMenuItems.fire(this)})),j()}setActions(){throw new BugIndicatingError$1("This toolbar is populated from a menu.")}};MenuWorkbenchToolBar$1=__decorate$4h([__param$47(3,IMenuService$1),__param$47(4,IContextKeyService$1),__param$47(5,IContextMenuService$1),__param$47(6,IKeybindingService$1),__param$47(7,ICommandService$1),__param$47(8,ITelemetryService$1)],MenuWorkbenchToolBar$1);var __decorate$4g=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$46=function(n,e){return function(t,i){e(t,i,n)}};const emptyArr$4=[],width$1=35;let DiffEditorGutter$1=class extends Disposable$1{constructor(e,t,i,r,g,y,k,L,V){super(),this._diffModel=t,this._editors=i,this._options=r,this._sashLayout=g,this._boundarySashes=y,this._instantiationService=k,this._contextKeyService=L,this._menuService=V,this._menu=this._register(this._menuService.createMenu(MenuId$1.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=observableFromEvent$1(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(z=>z.length>0),this._showSash=derived$1(this,z=>this._options.renderSideBySide.read(z)&&this._hasActions.read(z)),this.width=derived$1(this,z=>this._hasActions.read(z)?width$1:0),this.elements=h$2("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:width$1+"px"}},[]),this._currentDiff=derived$1(this,z=>{var re;const j=this._diffModel.read(z);if(!j)return;const ie=(re=j.diff.read(z))==null?void 0:re.mappings,oe=this._editors.modifiedCursor.read(z);if(oe)return ie==null?void 0:ie.find(ae=>ae.lineRangeMapping.modified.contains(oe.lineNumber))}),this._selectedDiffs=derived$1(this,z=>{const j=this._diffModel.read(z),ie=j==null?void 0:j.diff.read(z);if(!ie)return emptyArr$4;const oe=this._editors.modifiedSelections.read(z);if(oe.every(de=>de.isEmpty()))return emptyArr$4;const re=new LineRangeSet$1(oe.map(de=>LineRange$3.fromRangeInclusive(de))),le=ie.mappings.filter(de=>de.lineRangeMapping.innerChanges&&re.intersects(de.lineRangeMapping.modified)).map(de=>({mapping:de,rangeMappings:de.lineRangeMapping.innerChanges.filter(ue=>oe.some(he=>Range$5.areIntersecting(ue.modifiedRange,he)))}));return le.length===0||le.every(de=>de.rangeMappings.length===0)?emptyArr$4:le}),this._register(prependRemoveOnDispose$1(e,this.elements.root)),this._register(addDisposableListener$1(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(applyStyle$1(this.elements.root,{display:this._hasActions.map(z=>z?"block":"none")})),derivedDisposable$1(this,z=>this._showSash.read(z)?new DiffEditorSash$1(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,derivedWithSetter(this,ie=>this._sashLayout.sashLeft.read(ie)-width$1,(ie,oe)=>this._sashLayout.sashLeft.set(ie+width$1,oe)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store),this._register(new EditorGutter$1(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(z,j)=>{const ie=this._diffModel.read(j);if(!ie)return[];const oe=ie.diff.read(j);if(!oe)return[];const re=this._selectedDiffs.read(j);if(re.length>0){const le=DetailedLineRangeMapping$1.fromRangeMappings(re.flatMap(de=>de.rangeMappings));return[new DiffGutterItem$1(le,!0,MenuId$1.DiffEditorSelectionToolbar,void 0,ie.model.original.uri,ie.model.modified.uri)]}const ae=this._currentDiff.read(j);return oe.mappings.map(le=>new DiffGutterItem$1(le.lineRangeMapping.withInnerChangesFromLineRanges(),le.lineRangeMapping===(ae==null?void 0:ae.lineRangeMapping),MenuId$1.DiffEditorHunkToolbar,void 0,ie.model.original.uri,ie.model.modified.uri))},createView:(z,j)=>this._instantiationService.createInstance(DiffToolBar$1,z,j,this)})),this._register(addDisposableListener$1(this.elements.gutter,EventType$3.MOUSE_WHEEL,z=>{this._editors.modified.getOption(104).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(z)},{passive:!1}))}computeStagedValue(e){var k;const t=(k=e.innerChanges)!=null?k:[],i=new TextModelText$1(this._editors.modifiedModel.get()),r=new TextModelText$1(this._editors.original.getModel());return new TextEdit$1(t.map(L=>L.toTextEdit(i))).apply(r)}layout(e){this.elements.gutter.style.left=e+"px"}};DiffEditorGutter$1=__decorate$4g([__param$46(6,IInstantiationService$1),__param$46(7,IContextKeyService$1),__param$46(8,IMenuService$1)],DiffEditorGutter$1);let DiffGutterItem$1=class{constructor(e,t,i,r,g,y){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=r,this.originalUri=g,this.modifiedUri=y}get id(){return this.mapping.modified.toString()}get range(){var e;return(e=this.rangeOverride)!=null?e:this.mapping.modified}},DiffToolBar$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._item=e,this._elements=h$2("div.gutterItem",{style:{height:"20px",width:"34px"}},[h$2("div.background@background",{},[]),h$2("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,y=>y.showAlways),this._menuId=this._item.map(this,y=>y.menuId),this._isSmall=observableValue$1(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const g=this._register(r.createInstance(WorkbenchHoverDelegate$1,"element",!0,{position:{hoverPosition:1}}));this._register(appendRemoveOnDispose$1(t,this._elements.root)),this._register(autorun$1(y=>{const k=this._showAlways.read(y);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",k),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(autorunWithStore$1((y,k)=>{this._elements.buttons.replaceChildren();const L=k.add(r.createInstance(MenuWorkbenchToolBar$1,this._elements.buttons,this._menuId.read(y),{orientation:1,hoverDelegate:g,toolbarOptions:{primaryGroup:V=>V.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(y)?1:3},hiddenItemStrategy:0,actionRunner:new ActionRunnerWithContext$1(()=>{const V=this._item.get(),z=V.mapping;return{mapping:z,originalWithModifiedChanges:i.computeStagedValue(z),originalUri:V.originalUri,modifiedUri:V.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));k.add(L.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const r=e.length/2-i/2,g=i;let y=e.start+r;const k=OffsetRange$1.tryCreate(g,t.endExclusive-g-i),L=OffsetRange$1.tryCreate(e.start+g,e.endExclusive-i-g);L&&k&&L.start{const r=$r._map.get(e);r&&($r._map.delete(e),r.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new TransactionImpl$1(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){var t,i,r;super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=observableValue$1(this,this.editor.getModel()),this.model=this._model,this.isReadonly=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(92)),this._versionId=observableValueOpts({owner:this,lazy:!0},(i=(t=this.editor.getModel())==null?void 0:t.getVersionId())!=null?i:null),this.versionId=this._versionId,this._selections=observableValueOpts({owner:this,equalsFn:equalsIfDefined(itemsEquals(Selection$3.selectionsEqual)),lazy:!0},(r=this.editor.getSelections())!=null?r:null),this.selections=this._selections,this.isFocused=observableFromEvent$1(this,g=>{const y=this.editor.onDidFocusEditorWidget(g),k=this.editor.onDidBlurEditorWidget(g);return{dispose(){y.dispose(),k.dispose()}}},()=>this.editor.hasWidgetFocus()),this.value=derivedWithSetter(this,g=>{var y,k;return this.versionId.read(g),(k=(y=this.model.read(g))==null?void 0:y.getValue())!=null?k:""},(g,y)=>{const k=this.model.get();k!==null&&g!==k.getValue()&&k.setValue(g)}),this.valueIsEmpty=derived$1(this,g=>{var y;return this.versionId.read(g),((y=this.editor.getModel())==null?void 0:y.getValueLength())===0}),this.cursorSelection=derivedOpts$1({owner:this,equalsFn:equalsIfDefined(Selection$3.selectionsEqual)},g=>{var y,k;return(k=(y=this.selections.read(g))==null?void 0:y[0])!=null?k:null}),this.onDidType=observableSignal$1(this),this.scrollTop=observableFromEvent$1(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=observableFromEvent$1(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=observableFromEvent$1(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(g=>g.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(g=>g.decorationsLeft),this.contentWidth=observableFromEvent$1(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this._overlayWidgetCounter=0,this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(g=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,g)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(g=>{var y,k;this._beginUpdate();try{this._versionId.set((k=(y=this.editor.getModel())==null?void 0:y.getVersionId())!=null?k:null,this._currentTransaction,g),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(g=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,g),this._forceUpdate()}finally{this._endUpdate()}}))}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){var e,t;this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set((t=(e=this.editor.getModel())==null?void 0:e.getVersionId())!=null?t:null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e){return observableFromEvent$1(this,t=>this.editor.onDidChangeConfiguration(i=>{i.hasChanged(e)&&t(void 0)}),()=>this.editor.getOption(e))}setDecorations(e){const t=new DisposableStore$1,i=this.editor.createDecorationsCollection();return t.add(autorunOpts$1({owner:this,debugName:()=>"Apply decorations from ".concat(e.debugName)},r=>{const g=e.read(r);i.set(g)})),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._overlayWidgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const r=autorun$1(g=>{e.position.read(g),e.minContentWidthInPx.read(g),this.editor.layoutOverlayWidget(i)});return toDisposable$1(()=>{r.dispose(),this.editor.removeOverlayWidget(i)})}};$r._map=new Map;let ObservableCodeEditor=$r;function reactToChange(n,e){return autorunWithStoreHandleChanges({createEmptyChangeSummary:()=>({deltas:[],didChange:!1}),handleChange:(t,i)=>{if(t.didChange(n)){const r=t.change;r!==void 0&&i.deltas.push(r),i.didChange=!0}return!0}},(t,i)=>{const r=n.read(t);i.didChange&&e(r,i.deltas)})}function reactToChangeWithStore(n,e){const t=new DisposableStore$1,i=reactToChange(n,(r,g)=>{t.clear(),e(r,g,t)});return{dispose(){i.dispose(),t.dispose()}}}var __decorate$4f=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$45=function(n,e){return function(t,i){e(t,i,n)}},HideUnchangedRegionsFeature_1$1,ga;let HideUnchangedRegionsFeature$1=(ga=class extends Disposable$1{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=r,this._modifiedOutlineSource=derivedDisposable$1(this,L=>{const V=this._editors.modifiedModel.read(L),z=HideUnchangedRegionsFeature_1$1._breadcrumbsSourceFactory.read(L);return!V||!z?void 0:z(V,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const V=this._diffModel.get();transaction$1(z=>{for(const j of this._editors.original.getSelections()||[])V==null||V.ensureOriginalLineIsVisible(j.getStartPosition().lineNumber,0,z),V==null||V.ensureOriginalLineIsVisible(j.getEndPosition().lineNumber,0,z)})})),this._register(this._editors.modified.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const V=this._diffModel.get();transaction$1(z=>{for(const j of this._editors.modified.getSelections()||[])V==null||V.ensureModifiedLineIsVisible(j.getStartPosition().lineNumber,0,z),V==null||V.ensureModifiedLineIsVisible(j.getEndPosition().lineNumber,0,z)})}));const g=this._diffModel.map((L,V)=>{var j,ie;const z=(j=L==null?void 0:L.unchangedRegions.read(V))!=null?j:[];return z.length===1&&z[0].modifiedLineNumber===1&&z[0].lineCount===((ie=this._editors.modifiedModel.read(V))==null?void 0:ie.getLineCount())?[]:z});this.viewZones=derivedWithStore$1(this,(L,V)=>{const z=this._modifiedOutlineSource.read(L);if(!z)return{origViewZones:[],modViewZones:[]};const j=[],ie=[],oe=this._options.renderSideBySide.read(L),re=this._options.compactMode.read(L),ae=g.read(L);for(let le=0;lede.getHiddenOriginalRange(pe).startLineNumber-1),he=new PlaceholderViewZone$1(ue,12);j.push(he),V.add(new CompactCollapsedCodeOverlayWidget(this._editors.original,he,de,!oe))}{const ue=derived$1(this,pe=>de.getHiddenModifiedRange(pe).startLineNumber-1),he=new PlaceholderViewZone$1(ue,12);ie.push(he),V.add(new CompactCollapsedCodeOverlayWidget(this._editors.modified,he,de))}}else{{const ue=derived$1(this,pe=>de.getHiddenOriginalRange(pe).startLineNumber-1),he=new PlaceholderViewZone$1(ue,24);j.push(he),V.add(new CollapsedCodeOverlayWidget$1(this._editors.original,he,de,de.originalUnchangedRange,!oe,z,pe=>this._diffModel.get().ensureModifiedLineIsVisible(pe,2,void 0),this._options))}{const ue=derived$1(this,pe=>de.getHiddenModifiedRange(pe).startLineNumber-1),he=new PlaceholderViewZone$1(ue,24);ie.push(he),V.add(new CollapsedCodeOverlayWidget$1(this._editors.modified,he,de,de.modifiedUnchangedRange,!1,z,pe=>this._diffModel.get().ensureModifiedLineIsVisible(pe,2,void 0),this._options))}}}return{origViewZones:j,modViewZones:ie}});const y={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},k={description:"Fold Unchanged",glyphMarginHoverMessage:new MarkdownString$1(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(localize$1("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ThemeIcon$1.asClassName(Codicon$1.fold),zIndex:10001};this._register(applyObservableDecorations$3(this._editors.original,derived$1(this,L=>{const V=g.read(L),z=V.map(j=>({range:j.originalUnchangedRange.toInclusiveRange(),options:y}));for(const j of V)j.shouldHideControls(L)&&z.push({range:Range$5.fromPositions(new Position$3(j.originalLineNumber,1)),options:k});return z}))),this._register(applyObservableDecorations$3(this._editors.modified,derived$1(this,L=>{const V=g.read(L),z=V.map(j=>({range:j.modifiedUnchangedRange.toInclusiveRange(),options:y}));for(const j of V)j.shouldHideControls(L)&&z.push({range:LineRange$3.ofLength(j.modifiedLineNumber,1).toInclusiveRange(),options:k});return z}))),this._register(autorun$1(L=>{const V=g.read(L);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(V.map(z=>z.getHiddenOriginalRange(L).toInclusiveRange()).filter(isDefined$1)),this._editors.modified.setHiddenAreas(V.map(z=>z.getHiddenModifiedRange(L).toInclusiveRange()).filter(isDefined$1))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(L=>{var V;if(!L.event.rightButton&&L.target.position&&((V=L.target.element)!=null&&V.className.includes("fold-unchanged"))){const z=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.modifiedUnchangedRange.includes(z));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(L=>{var V;if(!L.event.rightButton&&L.target.position&&((V=L.target.element)!=null&&V.className.includes("fold-unchanged"))){const z=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.originalUnchangedRange.includes(z));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}}))}},HideUnchangedRegionsFeature_1$1=ga,ga._breadcrumbsSourceFactory=observableValue$1(HideUnchangedRegionsFeature_1$1,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}})),ga);HideUnchangedRegionsFeature$1=HideUnchangedRegionsFeature_1$1=__decorate$4f([__param$45(3,IInstantiationService$1)],HideUnchangedRegionsFeature$1);class CompactCollapsedCodeOverlayWidget extends ViewZoneOverlayWidget$1{constructor(e,t,i,r=!1){const g=h$2("div.diff-hidden-lines-widget");super(e,t,g.root),this._unchangedRegion=i,this._hide=r,this._nodes=h$2("div.diff-hidden-lines-compact",[h$2("div.line-left",[]),h$2("div.text@text",[]),h$2("div.line-right",[])]),g.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(autorun$1(y=>{if(!this._hide){const k=this._unchangedRegion.getHiddenModifiedRange(y).length,L=localize$1("hiddenLines","{0} hidden lines",k);this._nodes.text.innerText=L}}))}}let CollapsedCodeOverlayWidget$1=class extends ViewZoneOverlayWidget$1{constructor(e,t,i,r,g,y,k,L){const V=h$2("div.diff-hidden-lines-widget");super(e,t,V.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=r,this._hide=g,this._modifiedOutlineSource=y,this._revealModifiedHiddenLine=k,this._options=L,this._nodes=h$2("div.diff-hidden-lines",[h$2("div.top@top",{title:localize$1("diff.hiddenLines.top","Click or drag to show more above")}),h$2("div.center@content",{style:{display:"flex"}},[h$2("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$$u("a",{title:localize$1("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...renderLabelWithIcons$1("$(unfold)"))]),h$2("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),h$2("div.bottom@bottom",{title:localize$1("diff.bottom","Click or drag to show more below"),role:"button"})]),V.root.appendChild(this._nodes.root),this._hide?reset$1(this._nodes.first):this._register(applyStyle$1(this._nodes.first,{width:observableCodeEditor(this._editor).layoutInfoContentLeft})),this._register(autorun$1(j=>{const ie=this._unchangedRegion.visibleLineCountTop.read(j)+this._unchangedRegion.visibleLineCountBottom.read(j)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!ie),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(j)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(j)>0),this._nodes.top.classList.toggle("canMoveBottom",!ie);const oe=this._unchangedRegion.isDragged.read(j),re=this._editor.getDomNode();re&&(re.classList.toggle("draggingUnchangedRegion",!!oe),oe==="top"?(re.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(j)>0),re.classList.toggle("canMoveBottom",!ie)):oe==="bottom"?(re.classList.toggle("canMoveTop",!ie),re.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(j)>0)):(re.classList.toggle("canMoveTop",!1),re.classList.toggle("canMoveBottom",!1)))}));const z=this._editor;this._register(addDisposableListener$1(this._nodes.top,"mousedown",j=>{if(j.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),j.preventDefault();const ie=j.clientY;let oe=!1;const re=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const ae=getWindow$3(this._nodes.top),le=addDisposableListener$1(ae,"mousemove",ue=>{const pe=ue.clientY-ie;oe=oe||Math.abs(pe)>2;const Ce=Math.round(pe/z.getOption(67)),$e=Math.max(0,Math.min(re+Ce,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set($e,void 0)}),de=addDisposableListener$1(ae,"mouseup",ue=>{oe||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),le.dispose(),de.dispose()})})),this._register(addDisposableListener$1(this._nodes.bottom,"mousedown",j=>{if(j.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),j.preventDefault();const ie=j.clientY;let oe=!1;const re=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const ae=getWindow$3(this._nodes.bottom),le=addDisposableListener$1(ae,"mousemove",ue=>{const pe=ue.clientY-ie;oe=oe||Math.abs(pe)>2;const Ce=Math.round(pe/z.getOption(67)),$e=Math.max(0,Math.min(re-Ce,this._unchangedRegion.getMaxVisibleLineCountBottom())),xe=this._unchangedRegionRange.endLineNumberExclusive>z.getModel().getLineCount()?z.getContentHeight():z.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set($e,void 0);const Ie=this._unchangedRegionRange.endLineNumberExclusive>z.getModel().getLineCount()?z.getContentHeight():z.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);z.setScrollTop(z.getScrollTop()+(Ie-xe))}),de=addDisposableListener$1(ae,"mouseup",ue=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!oe){const he=z.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const pe=z.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);z.setScrollTop(z.getScrollTop()+(pe-he))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),le.dispose(),de.dispose()})})),this._register(autorun$1(j=>{const ie=[];if(!this._hide){const oe=i.getHiddenModifiedRange(j).length,re=localize$1("hiddenLines","{0} hidden lines",oe),ae=$$u("span",{title:localize$1("diff.hiddenLines.expandAll","Double click to unfold")},re);ae.addEventListener("dblclick",ue=>{ue.button===0&&(ue.preventDefault(),this._unchangedRegion.showAll(void 0))}),ie.push(ae);const le=this._unchangedRegion.getHiddenModifiedRange(j),de=this._modifiedOutlineSource.getBreadcrumbItems(le,j);if(de.length>0){ie.push($$u("span",void 0,"  |  "));for(let ue=0;ue{this._revealModifiedHiddenLine(he.startLineNumber)}}}}reset$1(this._nodes.others,...ie)}))}};var __decorate$4e=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$44=function(n,e){return function(t,i){e(t,i,n)}},OverviewRulerFeature_1$1,pr;let OverviewRulerFeature$1=(pr=class extends Disposable$1{constructor(e,t,i,r,g,y,k){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=r,this._rootHeight=g,this._modifiedEditorLayoutInfo=y,this._themeService=k,this.width=OverviewRulerFeature_1$1.ENTIRE_DIFF_OVERVIEW_WIDTH;const L=observableFromEvent$1(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),V=derived$1(ie=>{const oe=L.read(ie),re=oe.getColor(diffOverviewRulerInserted$1)||(oe.getColor(diffInserted$1)||defaultInsertColor$1).transparent(2),ae=oe.getColor(diffOverviewRulerRemoved$1)||(oe.getColor(diffRemoved$1)||defaultRemoveColor$1).transparent(2);return{insertColor:re,removeColor:ae}}),z=createFastDomNode$1(document.createElement("div"));z.setClassName("diffViewport"),z.setPosition("absolute");const j=h$2("div.diffOverview",{style:{position:"absolute",top:"0px",width:OverviewRulerFeature_1$1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(appendRemoveOnDispose$1(j,z.domNode)),this._register(addStandardDisposableListener$1(j,EventType$3.POINTER_DOWN,ie=>{this._editors.modified.delegateVerticalScrollbarPointerDown(ie)})),this._register(addDisposableListener$1(j,EventType$3.MOUSE_WHEEL,ie=>{this._editors.modified.delegateScrollFromMouseWheelEvent(ie)},{passive:!1})),this._register(appendRemoveOnDispose$1(this._rootElement,j)),this._register(autorunWithStore$1((ie,oe)=>{const re=this._diffModel.read(ie),ae=this._editors.original.createOverviewRuler("original diffOverviewRuler");ae&&(oe.add(ae),oe.add(appendRemoveOnDispose$1(j,ae.getDomNode())));const le=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(le&&(oe.add(le),oe.add(appendRemoveOnDispose$1(j,le.getDomNode()))),!ae||!le)return;const de=observableSignalFromEvent$1("viewZoneChanged",this._editors.original.onDidChangeViewZones),ue=observableSignalFromEvent$1("viewZoneChanged",this._editors.modified.onDidChangeViewZones),he=observableSignalFromEvent$1("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),pe=observableSignalFromEvent$1("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);oe.add(autorun$1(Ce=>{var Ve;de.read(Ce),ue.read(Ce),he.read(Ce),pe.read(Ce);const $e=V.read(Ce),xe=(Ve=re==null?void 0:re.diff.read(Ce))==null?void 0:Ve.mappings;function Ie(Oe,ze,qe){const Ue=qe._getViewModel();return Ue?Oe.filter(Et=>Et.length>0).map(Et=>{const At=Ue.coordinatesConverter.convertModelPositionToViewPosition(new Position$3(Et.startLineNumber,1)),Lt=Ue.coordinatesConverter.convertModelPositionToViewPosition(new Position$3(Et.endLineNumberExclusive,1)),kt=Lt.lineNumber-At.lineNumber;return new OverviewRulerZone$1(At.lineNumber,Lt.lineNumber,kt,ze.toString())}):[]}const Ne=Ie((xe||[]).map(Oe=>Oe.lineRangeMapping.original),$e.removeColor,this._editors.original),Fe=Ie((xe||[]).map(Oe=>Oe.lineRangeMapping.modified),$e.insertColor,this._editors.modified);ae==null||ae.setZones(Ne),le==null||le.setZones(Fe)})),oe.add(autorun$1(Ce=>{const $e=this._rootHeight.read(Ce),xe=this._rootWidth.read(Ce),Ie=this._modifiedEditorLayoutInfo.read(Ce);if(Ie){const Ne=OverviewRulerFeature_1$1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*OverviewRulerFeature_1$1.ONE_OVERVIEW_WIDTH;ae.setLayout({top:0,height:$e,right:Ne+OverviewRulerFeature_1$1.ONE_OVERVIEW_WIDTH,width:OverviewRulerFeature_1$1.ONE_OVERVIEW_WIDTH}),le.setLayout({top:0,height:$e,right:0,width:OverviewRulerFeature_1$1.ONE_OVERVIEW_WIDTH});const Fe=this._editors.modifiedScrollTop.read(Ce),Ve=this._editors.modifiedScrollHeight.read(Ce),Oe=this._editors.modified.getOption(104),ze=new ScrollbarState$1(Oe.verticalHasArrows?Oe.arrowSize:0,Oe.verticalScrollbarSize,0,Ie.height,Ve,Fe);z.setTop(ze.getSliderPosition()),z.setHeight(ze.getSliderSize())}else z.setTop(0),z.setHeight(0);j.style.height=$e+"px",j.style.left=xe-OverviewRulerFeature_1$1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",z.setWidth(OverviewRulerFeature_1$1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},OverviewRulerFeature_1$1=pr,pr.ONE_OVERVIEW_WIDTH=15,pr.ENTIRE_DIFF_OVERVIEW_WIDTH=pr.ONE_OVERVIEW_WIDTH*2,pr);OverviewRulerFeature$1=OverviewRulerFeature_1$1=__decorate$4e([__param$44(6,IThemeService$1)],OverviewRulerFeature$1);const emptyArr$3=[];let RevertButtonsFeature$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=r,this._selectedDiffs=derived$1(this,g=>{const y=this._diffModel.read(g),k=y==null?void 0:y.diff.read(g);if(!k)return emptyArr$3;const L=this._editors.modifiedSelections.read(g);if(L.every(ie=>ie.isEmpty()))return emptyArr$3;const V=new LineRangeSet$1(L.map(ie=>LineRange$3.fromRangeInclusive(ie))),j=k.mappings.filter(ie=>ie.lineRangeMapping.innerChanges&&V.intersects(ie.lineRangeMapping.modified)).map(ie=>({mapping:ie,rangeMappings:ie.lineRangeMapping.innerChanges.filter(oe=>L.some(re=>Range$5.areIntersecting(oe.modifiedRange,re)))}));return j.length===0||j.every(ie=>ie.rangeMappings.length===0)?emptyArr$3:j}),this._register(autorunWithStore$1((g,y)=>{if(!this._options.shouldRenderOldRevertArrows.read(g))return;const k=this._diffModel.read(g),L=k==null?void 0:k.diff.read(g);if(!k||!L||k.movedTextToCompare.read(g))return;const V=[],z=this._selectedDiffs.read(g),j=new Set(z.map(ie=>ie.mapping));if(z.length>0){const ie=this._editors.modifiedSelections.read(g),oe=y.add(new RevertButton$1(ie[ie.length-1].positionLineNumber,this._widget,z.flatMap(re=>re.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(oe),V.push(oe)}for(const ie of L.mappings)if(!j.has(ie)&&!ie.lineRangeMapping.modified.isEmpty&&ie.lineRangeMapping.innerChanges){const oe=y.add(new RevertButton$1(ie.lineRangeMapping.modified.startLineNumber,this._widget,ie.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(oe),V.push(oe)}y.add(toDisposable$1(()=>{for(const ie of V)this._editors.modified.removeGlyphMarginWidget(ie)}))}))}};var fa;let RevertButton$1=(fa=class extends Disposable$1{getId(){return this._id}constructor(e,t,i,r){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=r,this._id="revertButton".concat(fa.counter++),this._domNode=h$2("div.revertButton",{title:this._revertSelection?localize$1("revertSelectedChanges","Revert Selected Changes"):localize$1("revertChange","Revert Change")},[renderIcon$1(Codicon$1.arrowRight)]).root,this._register(addDisposableListener$1(this._domNode,EventType$3.MOUSE_DOWN,g=>{g.button!==2&&(g.stopPropagation(),g.preventDefault())})),this._register(addDisposableListener$1(this._domNode,EventType$3.MOUSE_UP,g=>{g.stopPropagation(),g.preventDefault()})),this._register(addDisposableListener$1(this._domNode,EventType$3.CLICK,g=>{this._diffs instanceof LineRangeMapping$1?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),g.stopPropagation(),g.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:GlyphMarginLane$2.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}},fa.counter=0,fa);function observableConfigValue(n,e,t){return observableFromEventOpts({debugName:()=>'Configuration Key "'.concat(n,'"')},i=>t.onDidChangeConfiguration(r=>{r.affectsConfiguration(n)&&i(r)}),()=>{var i;return(i=t.getValue(n))!=null?i:e})}function bindContextKey$1(n,e,t){const i=n.bindTo(e);return autorunOpts$1({debugName:()=>'Set Context Key "'.concat(n.key,'"')},r=>{i.set(t(r))})}var __decorate$4d=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$43=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorEditors$1=class extends Disposable$1{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,r,g,y,k){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=g,this._instantiationService=y,this._keybindingService=k,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Emitter$3),this.modifiedScrollTop=observableFromEvent$1(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=observableFromEvent$1(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=observableCodeEditor(this.modified),this.originalObs=observableCodeEditor(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=observableFromEvent$1(this,this.modified.onDidChangeCursorSelection,()=>{var L;return(L=this.modified.getSelections())!=null?L:[]}),this.modifiedCursor=derivedOpts$1({owner:this,equalsFn:Position$3.equals},L=>{var V,z;return(z=(V=this.modifiedSelections.read(L)[0])==null?void 0:V.getPosition())!=null?z:new Position$3(1,1)}),this.originalCursor=observableFromEvent$1(this,this.original.onDidChangeCursorPosition,()=>{var L;return(L=this.original.getPosition())!=null?L:new Position$3(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(autorunHandleChanges$1({createEmptyChangeSummary:()=>({}),handleChange:(L,V)=>(L.didChange(i.editorOptions)&&Object.assign(V,L.change.changedOptions),!0)},(L,V)=>{i.editorOptions.read(L),this._options.renderSideBySide.read(L),this.modified.updateOptions(this._adjustOptionsForRightHandSide(L,V)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(L,V))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return r.setContextValue("isInDiffLeftEditor",!0),r}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return r.setContextValue("isInDiffRightEditor",!0),r}_constructInnerEditor(e,t,i,r){const g=this._createInnerEditor(e,t,i,r);return this._register(g.onDidContentSizeChange(y=>{const k=this.original.getContentWidth()+this.modified.getContentWidth()+OverviewRulerFeature$1.ENTIRE_DIFF_OVERVIEW_WIDTH,L=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:L,contentWidth:k,contentHeightChanged:y.contentHeightChanged,contentWidthChanged:y.contentWidthChanged})})),g}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=EditorOptions$1.revealHorizontalRightPadding.defaultValue+OverviewRulerFeature$1.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var i;e||(e="");const t=localize$1("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))==null?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};DiffEditorEditors$1=__decorate$4d([__param$43(5,IInstantiationService$1),__param$43(6,IKeybindingService$1)],DiffEditorEditors$1);var pa;let DelegatingEditor$1=(pa=class extends Disposable$1{constructor(){super(...arguments),this._id=++pa.idCounter,this._onDidDispose=this._register(new Emitter$3),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,r=!0){this._targetEditor.revealRange(e,t,i,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}},pa.idCounter=0,pa);var __decorate$4c=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$42=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorOptions$1=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=observableValue$1(this,0),this._screenReaderMode=observableFromEvent$1(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=derived$1(this,r=>this._options.read(r).renderSideBySide&&this._diffEditorWidth.read(r)<=this._options.read(r).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=derived$1(this,r=>this._options.read(r).renderOverviewRuler),this.renderSideBySide=derived$1(this,r=>this.compactMode.read(r)&&this.shouldRenderInlineViewInSmartMode.read(r)?!1:this._options.read(r).renderSideBySide&&!(this._options.read(r).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(r)&&!this._screenReaderMode.read(r))),this.readOnly=derived$1(this,r=>this._options.read(r).readOnly),this.shouldRenderOldRevertArrows=derived$1(this,r=>!(!this._options.read(r).renderMarginRevertIcon||!this.renderSideBySide.read(r)||this.readOnly.read(r)||this.shouldRenderGutterMenu.read(r))),this.shouldRenderGutterMenu=derived$1(this,r=>this._options.read(r).renderGutterMenu),this.renderIndicators=derived$1(this,r=>this._options.read(r).renderIndicators),this.enableSplitViewResizing=derived$1(this,r=>this._options.read(r).enableSplitViewResizing),this.splitViewDefaultRatio=derived$1(this,r=>this._options.read(r).splitViewDefaultRatio),this.ignoreTrimWhitespace=derived$1(this,r=>this._options.read(r).ignoreTrimWhitespace),this.maxComputationTimeMs=derived$1(this,r=>this._options.read(r).maxComputationTime),this.showMoves=derived$1(this,r=>this._options.read(r).experimental.showMoves&&this.renderSideBySide.read(r)),this.isInEmbeddedEditor=derived$1(this,r=>this._options.read(r).isInEmbeddedEditor),this.diffWordWrap=derived$1(this,r=>this._options.read(r).diffWordWrap),this.originalEditable=derived$1(this,r=>this._options.read(r).originalEditable),this.diffCodeLens=derived$1(this,r=>this._options.read(r).diffCodeLens),this.accessibilityVerbose=derived$1(this,r=>this._options.read(r).accessibilityVerbose),this.diffAlgorithm=derived$1(this,r=>this._options.read(r).diffAlgorithm),this.showEmptyDecorations=derived$1(this,r=>this._options.read(r).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=derived$1(this,r=>this._options.read(r).onlyShowAccessibleDiffViewer),this.compactMode=derived$1(this,r=>this._options.read(r).compactMode),this.trueInlineDiffRenderingEnabled=derived$1(this,r=>this._options.read(r).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=derived$1(this,r=>!this.renderSideBySide.read(r)&&this.trueInlineDiffRenderingEnabled.read(r)),this.hideUnchangedRegions=derived$1(this,r=>this._options.read(r).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=derived$1(this,r=>this._options.read(r).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=derived$1(this,r=>this._options.read(r).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=derived$1(this,r=>this._options.read(r).hideUnchangedRegions.minimumLineCount),this._model=observableValue$1(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,r=>derivedConstOnceDefined(this,g=>{const y=r==null?void 0:r.diff.read(g);return y?isSimpleDiff(y,this.trueInlineDiffRenderingEnabled.read(g)):void 0})).flatten().map(this,r=>!!r),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...validateDiffEditorOptions$1(e,diffEditorDefaultOptions$1)};this._options=observableValue$1(this,i)}updateOptions(e){const t=validateDiffEditorOptions$1(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};DiffEditorOptions$1=__decorate$4c([__param$42(1,IAccessibilityService$1)],DiffEditorOptions$1);function isSimpleDiff(n,e){return n.mappings.every(t=>isInsertion(t.lineRangeMapping)||isDeletion(t.lineRangeMapping)||e&&allowsTrueInlineDiffRendering(t.lineRangeMapping))}function isInsertion(n){return n.original.length===0}function isDeletion(n){return n.modified.length===0}function validateDiffEditorOptions$1(n,e){var t,i,r,g,y,k,L,V,z;return{enableSplitViewResizing:boolean$1(n.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:clampedFloat$1(n.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:boolean$1(n.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:boolean$1(n.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:clampedInt$1(n.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:clampedInt$1(n.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:boolean$1(n.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:boolean$1(n.renderIndicators,e.renderIndicators),originalEditable:boolean$1(n.originalEditable,e.originalEditable),diffCodeLens:boolean$1(n.diffCodeLens,e.diffCodeLens),renderOverviewRuler:boolean$1(n.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:stringSet$1(n.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:stringSet$1(n.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:boolean$1(n.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:boolean$1((t=n.experimental)==null?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:boolean$1((i=n.experimental)==null?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations),useTrueInlineView:boolean$1((r=n.experimental)==null?void 0:r.useTrueInlineView,e.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:boolean$1((k=(g=n.hideUnchangedRegions)==null?void 0:g.enabled)!=null?k:(y=n.experimental)==null?void 0:y.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:clampedInt$1((L=n.hideUnchangedRegions)==null?void 0:L.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:clampedInt$1((V=n.hideUnchangedRegions)==null?void 0:V.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:clampedInt$1((z=n.hideUnchangedRegions)==null?void 0:z.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:boolean$1(n.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:boolean$1(n.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:clampedInt$1(n.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:boolean$1(n.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:boolean$1(n.renderGutterMenu,e.renderGutterMenu),compactMode:boolean$1(n.compactMode,e.compactMode)}}var __decorate$4b=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$41=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorWidget$1=class extends DelegatingEditor$1{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,r,g,y,k,L){var pe;super(),this._domElement=e,this._parentContextKeyService=r,this._parentInstantiationService=g,this._accessibilitySignalService=k,this._editorProgressService=L,this.elements=h$2("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[h$2("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),h$2("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),h$2("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(disposableObservableValue$1(this,void 0)),this._diffModel=derived$1(this,Ce=>{var $e;return($e=this._diffModelSrc.read(Ce))==null?void 0:$e.object}),this.onDidChangeModel=Event$2.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection$1([IContextKeyService$1,this._contextKeyService]))),this._boundarySashes=observableValue$1(this,void 0),this._accessibleDiffViewerShouldBeVisible=observableValue$1(this,!1),this._accessibleDiffViewerVisible=derived$1(this,Ce=>this._options.onlyShowAccessibleDiffViewer.read(Ce)?!0:this._accessibleDiffViewerShouldBeVisible.read(Ce)),this._movedBlocksLinesPart=observableValue$1(this,void 0),this._layoutInfo=derived$1(this,Ce=>{var Lt,kt,ei,jt,ri;const $e=this._rootSizeObserver.width.read(Ce),xe=this._rootSizeObserver.height.read(Ce);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=xe+"px";const Ie=this._sash.read(Ce),Ne=this._gutter.read(Ce),Fe=(Lt=Ne==null?void 0:Ne.width.read(Ce))!=null?Lt:0,Ve=(ei=(kt=this._overviewRulerPart.read(Ce))==null?void 0:kt.width)!=null?ei:0;let Oe,ze,qe,Ue,Et;if(!!Ie){const ni=Ie.sashLeft.read(Ce),Ci=(ri=(jt=this._movedBlocksLinesPart.read(Ce))==null?void 0:jt.width.read(Ce))!=null?ri:0;Oe=0,ze=ni-Fe-Ci,Et=ni-Fe,qe=ni,Ue=$e-qe-Ve}else{Et=0;const ni=this._options.inlineViewHideOriginalLineNumbers.read(Ce);Oe=Fe,ni?ze=0:ze=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(Ce)),qe=Fe+ze,Ue=$e-qe-Ve}return this.elements.original.style.left=Oe+"px",this.elements.original.style.width=ze+"px",this._editors.original.layout({width:ze,height:xe},!0),Ne==null||Ne.layout(Et),this.elements.modified.style.left=qe+"px",this.elements.modified.style.width=Ue+"px",this._editors.modified.layout({width:Ue,height:xe},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((Ce,$e)=>Ce==null?void 0:Ce.diff.read($e)),this.onDidUpdateDiff=Event$2.fromObservableLight(this._diffValue),y.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(toDisposable$1(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new ObservableElementSizeObserver$1(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((pe=t.automaticLayout)!=null?pe:!1),this._options=this._instantiationService.createInstance(DiffEditorOptions$1,t),this._register(autorun$1(Ce=>{this._options.setWidth(this._rootSizeObserver.width.read(Ce))})),this._contextKeyService.createKey(EditorContextKeys$1.isEmbeddedDiffEditor.key,!1),this._register(bindContextKey$1(EditorContextKeys$1.isEmbeddedDiffEditor,this._contextKeyService,Ce=>this._options.isInEmbeddedEditor.read(Ce))),this._register(bindContextKey$1(EditorContextKeys$1.comparingMovedCode,this._contextKeyService,Ce=>{var $e;return!!(($e=this._diffModel.read(Ce))!=null&&$e.movedTextToCompare.read(Ce))})),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,Ce=>this._options.couldShowInlineViewBecauseOfSize.read(Ce))),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorInlineMode,this._contextKeyService,Ce=>!this._options.renderSideBySide.read(Ce))),this._register(bindContextKey$1(EditorContextKeys$1.hasChanges,this._contextKeyService,Ce=>{var $e,xe,Ie;return((Ie=(xe=($e=this._diffModel.read(Ce))==null?void 0:$e.diff.read(Ce))==null?void 0:xe.mappings.length)!=null?Ie:0)>0})),this._editors=this._register(this._instantiationService.createInstance(DiffEditorEditors$1,this.elements.original,this.elements.modified,this._options,i,(Ce,$e,xe,Ie)=>this._createInnerEditor(Ce,$e,xe,Ie))),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorOriginalWritable,this._contextKeyService,Ce=>this._options.originalEditable.read(Ce))),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorModifiedWritable,this._contextKeyService,Ce=>!this._options.readOnly.read(Ce))),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorOriginalUri,this._contextKeyService,Ce=>{var $e,xe;return(xe=($e=this._diffModel.read(Ce))==null?void 0:$e.model.original.uri.toString())!=null?xe:""})),this._register(bindContextKey$1(EditorContextKeys$1.diffEditorModifiedUri,this._contextKeyService,Ce=>{var $e,xe;return(xe=($e=this._diffModel.read(Ce))==null?void 0:$e.model.modified.uri.toString())!=null?xe:""})),this._overviewRulerPart=derivedDisposable$1(this,Ce=>this._options.renderOverviewRuler.read(Ce)?this._instantiationService.createInstance(readHotReloadableExport$1(OverviewRulerFeature$1,Ce),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map($e=>$e.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const V={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((Ce,$e)=>{var xe,Ie;return Ce-((Ie=(xe=this._overviewRulerPart.read($e))==null?void 0:xe.width)!=null?Ie:0)})};this._sashLayout=new SashLayout(this._options,V),this._sash=derivedDisposable$1(this,Ce=>{const $e=this._options.renderSideBySide.read(Ce);return this.elements.root.classList.toggle("side-by-side",$e),$e?new DiffEditorSash$1(this.elements.root,V,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const z=derivedDisposable$1(this,Ce=>this._instantiationService.createInstance(readHotReloadableExport$1(HideUnchangedRegionsFeature$1,Ce),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);derivedDisposable$1(this,Ce=>this._instantiationService.createInstance(readHotReloadableExport$1(DiffEditorDecorations$1,Ce),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const j=new Set,ie=new Set;let oe=!1;const re=derivedDisposable$1(this,Ce=>this._instantiationService.createInstance(readHotReloadableExport$1(DiffEditorViewZones$1,Ce),getWindow$3(this._domElement),this._editors,this._diffModel,this._options,this,()=>oe||z.get().isUpdatingHiddenAreas,j,ie)).recomputeInitiallyAndOnChange(this._store),ae=derived$1(this,Ce=>{const $e=re.read(Ce).viewZones.read(Ce).orig,xe=z.read(Ce).viewZones.read(Ce).origViewZones;return $e.concat(xe)}),le=derived$1(this,Ce=>{const $e=re.read(Ce).viewZones.read(Ce).mod,xe=z.read(Ce).viewZones.read(Ce).modViewZones;return $e.concat(xe)});this._register(applyViewZones$1(this._editors.original,ae,Ce=>{oe=Ce},j));let de;this._register(applyViewZones$1(this._editors.modified,le,Ce=>{oe=Ce,oe?de=StableEditorScrollState$1.capture(this._editors.modified):(de==null||de.restore(this._editors.modified),de=void 0)},ie)),this._accessibleDiffViewer=derivedDisposable$1(this,Ce=>this._instantiationService.createInstance(readHotReloadableExport$1(AccessibleDiffViewer$1,Ce),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,($e,xe)=>this._accessibleDiffViewerShouldBeVisible.set($e,xe),this._options.onlyShowAccessibleDiffViewer.map($e=>!$e),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map(($e,xe)=>{var Ie;return(Ie=$e==null?void 0:$e.diff.read(xe))==null?void 0:Ie.mappings.map(Ne=>Ne.lineRangeMapping)}),new AccessibleDiffViewerModelFromEditors$1(this._editors))).recomputeInitiallyAndOnChange(this._store);const ue=this._accessibleDiffViewerVisible.map(Ce=>Ce?"hidden":"visible");this._register(applyStyle$1(this.elements.modified,{visibility:ue})),this._register(applyStyle$1(this.elements.original,{visibility:ue})),this._createDiffEditorContributions(),y.addDiffEditor(this),this._gutter=derivedDisposable$1(this,Ce=>this._options.shouldRenderGutterMenu.read(Ce)?this._instantiationService.createInstance(readHotReloadableExport$1(DiffEditorGutter$1,Ce),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(recomputeInitiallyAndOnChange$1(this._layoutInfo)),derivedDisposable$1(this,Ce=>new(readHotReloadableExport$1(MovedBlocksLinesFeature$1,Ce))(this.elements.root,this._diffModel,this._layoutInfo.map($e=>$e.originalEditor),this._layoutInfo.map($e=>$e.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,Ce=>{this._movedBlocksLinesPart.set(Ce,void 0)}),this._register(Event$2.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,Ce=>this._handleCursorPositionChange(Ce,!0))),this._register(Event$2.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,Ce=>this._handleCursorPositionChange(Ce,!1)));const he=this._diffModel.map(this,(Ce,$e)=>{if(Ce)return Ce.diff.read($e)===void 0&&!Ce.isDiffUpToDate.read($e)});this._register(autorunWithStore$1((Ce,$e)=>{if(he.read(Ce)===!0){const xe=this._editorProgressService.show(!0,1e3);$e.add(toDisposable$1(()=>xe.done()))}})),this._register(autorunWithStore$1((Ce,$e)=>{$e.add(new(readHotReloadableExport$1(RevertButtonsFeature$1,Ce))(this._editors,this._diffModel,this._options,this))})),this._register(autorunWithStore$1((Ce,$e)=>{const xe=this._diffModel.read(Ce);if(xe)for(const Ie of[xe.model.original,xe.model.modified])$e.add(Ie.onWillDispose(Ne=>{onUnexpectedError$1(new BugIndicatingError$1("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(autorun$1(Ce=>{this._options.setModel(this._diffModel.read(Ce))}))}_createInnerEditor(e,t,i,r){return e.createInstance(CodeEditorWidget$1,t,i,r)}_createDiffEditorContributions(){const e=EditorExtensionsRegistry$1.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){onUnexpectedError$1(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return EditorType$1.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var i;const e=this._editors.original.saveViewState(),t=this._editors.modified.saveViewState();return{original:e,modified:t,modelState:(i=this._diffModel.get())==null?void 0:i.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())==null||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(DiffEditorViewModel$1,e,this._options)}getModel(){var e,t;return(t=(e=this._diffModel.get())==null?void 0:e.model)!=null?t:null}setModel(e){const t=e?"model"in e?RefCounted.create(e).createNewRef(this):RefCounted.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==(e==null?void 0:e.object)&&subtransaction$1(t,r=>{var k;const g=e==null?void 0:e.object;observableFromEvent$1.batchEventsGlobally(r,()=>{this._editors.original.setModel(g?g.model.original:null),this._editors.modified.setModel(g?g.model.modified:null)});const y=(k=this._diffModelSrc.get())==null?void 0:k.createNewRef(this);this._diffModelSrc.set(e==null?void 0:e.createNewRef(this),r),setTimeout(()=>{y==null||y.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const e=(t=this._diffModel.get())==null?void 0:t.diff.get();return e?toLineChanges$1(e):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(r=>({range:r.modifiedRange,text:t.model.original.getValueInRange(r.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new Position$3(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var g,y,k,L;const t=(y=(g=this._diffModel.get())==null?void 0:g.diff.get())==null?void 0:y.mappings;if(!t||t.length===0)return;const i=this._editors.modified.getPosition().lineNumber;let r;e==="next"?r=(k=t.find(V=>V.lineRangeMapping.modified.startLineNumber>i))!=null?k:t[0]:r=(L=findLast$2(t,V=>V.lineRangeMapping.modified.startLineNumber{var i;const t=(i=e.diff.get())==null?void 0:i.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var y,k;const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let r;const g=t.getSelection();if(g){const L=(k=(y=this._diffModel.get())==null?void 0:y.diff.get())==null?void 0:k.mappings.map(V=>e?V.lineRangeMapping.flip():V.lineRangeMapping);if(L){const V=translatePosition$1(g.getStartPosition(),L),z=translatePosition$1(g.getEndPosition(),L);r=Range$5.plusRange(V,z)}}return{destination:i,destinationSelection:r}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&transaction$1(i=>{for(const r of e)r.collapseAll(i)})}showAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&transaction$1(i=>{for(const r of e)r.showAll(i)})}_handleCursorPositionChange(e,t){var i,r;if((e==null?void 0:e.reason)===3){const g=(r=(i=this._diffModel.get())==null?void 0:i.diff.get())==null?void 0:r.mappings.find(y=>t?y.lineRangeMapping.modified.contains(e.position.lineNumber):y.lineRangeMapping.original.contains(e.position.lineNumber));g!=null&&g.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal$1.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):g!=null&&g.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal$1.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):g&&this._accessibilitySignalService.playSignal(AccessibilitySignal$1.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};DiffEditorWidget$1=__decorate$4b([__param$41(3,IContextKeyService$1),__param$41(4,IInstantiationService$1),__param$41(5,ICodeEditorService$1),__param$41(6,IAccessibilitySignalService$1),__param$41(7,IEditorProgressService$1)],DiffEditorWidget$1);function toLineChanges$1(n){return n.mappings.map(e=>{const t=e.lineRangeMapping;let i,r,g,y,k=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,r=0,k=void 0):(i=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(g=t.modified.startLineNumber-1,y=0,k=void 0):(g=t.modified.startLineNumber,y=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:r,modifiedStartLineNumber:g,modifiedEndLineNumber:y,charChanges:k==null?void 0:k.map(L=>({originalStartLineNumber:L.originalRange.startLineNumber,originalStartColumn:L.originalRange.startColumn,originalEndLineNumber:L.originalRange.endLineNumber,originalEndColumn:L.originalRange.endColumn,modifiedStartLineNumber:L.modifiedRange.startLineNumber,modifiedStartColumn:L.modifiedRange.startColumn,modifiedEndLineNumber:L.modifiedRange.endLineNumber,modifiedEndColumn:L.modifiedRange.endColumn}))}})}var __decorate$4a=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$40=function(n,e){return function(t,i){e(t,i,n)}};let LAST_GENERATED_COMMAND_ID$1=0,ariaDomNodeCreated$1=!1;function createAriaDomNode$1(n){if(!n){if(ariaDomNodeCreated$1)return;ariaDomNodeCreated$1=!0}setARIAContainer$1(n||mainWindow$1.document.body)}let StandaloneCodeEditor$1=class extends CodeEditorWidget$1{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe){const re={...t};re.ariaLabel=re.ariaLabel||StandaloneCodeEditorNLS$1.editorViewAccessibleLabel,super(e,re,{},i,r,g,y,V,z,j,ie,oe),L instanceof StandaloneKeybindingService$1?this._standaloneKeybindingService=L:this._standaloneKeybindingService=null,createAriaDomNode$1(re.ariaContainerElement),setHoverDelegateFactory$1((ae,le)=>i.createInstance(WorkbenchHoverDelegate$1,ae,le,{})),setBaseLayerHoverDelegate(k)}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const r="DYNAMIC_"+ ++LAST_GENERATED_COMMAND_ID$1,g=ContextKeyExpr$1.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,g),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Disposable$1.None;const t=e.id,i=e.label,r=ContextKeyExpr$1.and(ContextKeyExpr$1.equals("editorId",this.getId()),ContextKeyExpr$1.deserialize(e.precondition)),g=e.keybindings,y=ContextKeyExpr$1.and(r,ContextKeyExpr$1.deserialize(e.keybindingContext)),k=e.contextMenuGroupId||null,L=e.contextMenuOrder||0,V=(oe,...re)=>Promise.resolve(e.run(this,...re)),z=new DisposableStore$1,j=this.getId()+":"+t;if(z.add(CommandsRegistry$1.registerCommand(j,V)),k){const oe={command:{id:j,title:i},when:r,group:k,order:L};z.add(MenuRegistry$1.appendMenuItem(MenuId$1.EditorContext,oe))}if(Array.isArray(g))for(const oe of g)z.add(this._standaloneKeybindingService.addDynamicKeybinding(j,oe,V,y));const ie=new InternalEditorAction$1(j,i,i,void 0,r,(...oe)=>Promise.resolve(e.run(this,...oe)),this._contextKeyService);return this._actions.set(t,ie),z.add(toDisposable$1(()=>{this._actions.delete(t)})),z}_triggerCommand(e,t){if(this._codeEditorService instanceof StandaloneCodeEditorService$1)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};StandaloneCodeEditor$1=__decorate$4a([__param$40(2,IInstantiationService$1),__param$40(3,ICodeEditorService$1),__param$40(4,ICommandService$1),__param$40(5,IContextKeyService$1),__param$40(6,IHoverService$1),__param$40(7,IKeybindingService$1),__param$40(8,IThemeService$1),__param$40(9,INotificationService$1),__param$40(10,IAccessibilityService$1),__param$40(11,ILanguageConfigurationService$1),__param$40(12,ILanguageFeaturesService$1)],StandaloneCodeEditor$1);let StandaloneEditor$1=class extends StandaloneCodeEditor$1{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le){const de={...t};updateConfigurationService$1(j,de,!1);const ue=V.registerEditorContainer(e);typeof de.theme=="string"&&V.setTheme(de.theme),typeof de.autoDetectHighContrast<"u"&&V.setAutoDetectHighContrast(!!de.autoDetectHighContrast);const he=de.model;delete de.model,super(e,de,i,r,g,y,k,L,V,z,ie,ae,le),this._configurationService=j,this._standaloneThemeService=V,this._register(ue);let pe;if(typeof he>"u"){const Ce=re.getLanguageIdByMimeType(de.language)||de.language||PLAINTEXT_LANGUAGE_ID$1;pe=createTextModel$1(oe,re,de.value||"",Ce,void 0),this._ownsModel=!0}else pe=he,this._ownsModel=!1;if(this._attachModel(pe),pe){const Ce={oldModelUrl:null,newModelUrl:pe.uri};this._onDidChangeModel.fire(Ce)}}dispose(){super.dispose()}updateOptions(e){updateConfigurationService$1(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};StandaloneEditor$1=__decorate$4a([__param$40(2,IInstantiationService$1),__param$40(3,ICodeEditorService$1),__param$40(4,ICommandService$1),__param$40(5,IContextKeyService$1),__param$40(6,IHoverService$1),__param$40(7,IKeybindingService$1),__param$40(8,IStandaloneThemeService$1),__param$40(9,INotificationService$1),__param$40(10,IConfigurationService$1),__param$40(11,IAccessibilityService$1),__param$40(12,IModelService$1),__param$40(13,ILanguageService$1),__param$40(14,ILanguageConfigurationService$1),__param$40(15,ILanguageFeaturesService$1)],StandaloneEditor$1);let StandaloneDiffEditor2$1=class extends DiffEditorWidget$1{constructor(e,t,i,r,g,y,k,L,V,z,j,ie){const oe={...t};updateConfigurationService$1(L,oe,!0);const re=y.registerEditorContainer(e);typeof oe.theme=="string"&&y.setTheme(oe.theme),typeof oe.autoDetectHighContrast<"u"&&y.setAutoDetectHighContrast(!!oe.autoDetectHighContrast),super(e,oe,{},r,i,g,ie,z),this._configurationService=L,this._standaloneThemeService=y,this._register(re)}dispose(){super.dispose()}updateOptions(e){updateConfigurationService$1(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(StandaloneCodeEditor$1,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};StandaloneDiffEditor2$1=__decorate$4a([__param$40(2,IInstantiationService$1),__param$40(3,IContextKeyService$1),__param$40(4,ICodeEditorService$1),__param$40(5,IStandaloneThemeService$1),__param$40(6,INotificationService$1),__param$40(7,IConfigurationService$1),__param$40(8,IContextMenuService$1),__param$40(9,IEditorProgressService$1),__param$40(10,IClipboardService$1),__param$40(11,IAccessibilitySignalService$1)],StandaloneDiffEditor2$1);function createTextModel$1(n,e,t,i,r){if(t=t||"",!i){const g=t.indexOf("\n");let y=t;return g!==-1&&(y=t.substring(0,g)),doCreateModel$1(n,t,e.createByFilepathOrFirstLine(r||null,y),r)}return doCreateModel$1(n,t,e.createById(i),r)}function doCreateModel$1(n,e,t,i){return n.createModel(e,t,i)}var __decorate$49=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3$=function(n,e){return function(t,i){e(t,i,n)}};let TemplateData$1=class{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}},DiffEditorItemTemplate$1=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=r,this._viewModel=observableValue$1(this,void 0),this._collapsed=derived$1(this,L=>{var V;return(V=this._viewModel.read(L))==null?void 0:V.collapsed.read(L)}),this._editorContentHeight=observableValue$1(this,500),this.contentHeight=derived$1(this,L=>(this._collapsed.read(L)?0:this._editorContentHeight.read(L))+this._outerEditorHeight),this._modifiedContentWidth=observableValue$1(this,0),this._modifiedWidth=observableValue$1(this,0),this._originalContentWidth=observableValue$1(this,0),this._originalWidth=observableValue$1(this,0),this.maxScroll=derived$1(this,L=>{const V=this._modifiedContentWidth.read(L)-this._modifiedWidth.read(L),z=this._originalContentWidth.read(L)-this._originalWidth.read(L);return V>z?{maxScroll:V,width:this._modifiedWidth.read(L)}:{maxScroll:z,width:this._originalWidth.read(L)}}),this._elements=h$2("div.multiDiffEntry",[h$2("div.header@header",[h$2("div.header-content",[h$2("div.collapse-button@collapseButton"),h$2("div.file-path",[h$2("div.title.modified.show-file-icons@primaryPath",[]),h$2("div.status.deleted@status",["R"]),h$2("div.title.original.show-file-icons@secondaryPath",[])]),h$2("div.actions@actions")])]),h$2("div.editorParent",[h$2("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(DiffEditorWidget$1,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=observableCodeEditor(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=observableCodeEditor(this.editor.getOriginalEditor()).isFocused,this.isFocused=derived$1(this,L=>this.isModifedFocused.read(L)||this.isOriginalFocused.read(L)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new DisposableStore$1),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const y=new Button$2(this._elements.collapseButton,{});this._register(autorun$1(L=>{y.element.className="",y.icon=this._collapsed.read(L)?Codicon$1.chevronRight:Codicon$1.chevronDown})),this._register(y.onDidClick(()=>{var L;(L=this._viewModel.get())==null||L.collapsed.set(!this._collapsed.get(),void 0)})),this._register(autorun$1(L=>{this._elements.editor.style.display=this._collapsed.read(L)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(L=>{const V=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(V,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(L=>{const V=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(V,void 0)})),this._register(this.editor.onDidContentSizeChange(L=>{globalTransaction$1(V=>{this._editorContentHeight.set(L.contentHeight,V),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),V),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),V)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(L=>{if(this._isSettingScrollTop||!L.scrollTopChanged||!this._data)return;const V=L.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(V)})),this._register(autorun$1(L=>{var z;const V=(z=this._viewModel.read(L))==null?void 0:z.isActive.read(L);this._elements.root.classList.toggle("active",V)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(g.createScoped(this._elements.actions));const k=this._register(this._instantiationService.createChild(new ServiceCollection$1([IContextKeyService$1,this._contextKeyService])));this._register(k.createInstance(MenuWorkbenchToolBar$1,this._elements.actions,MenuId$1.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ActionRunnerWithContext$1(()=>{var L;return(L=this._viewModel.get())==null?void 0:L.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:L=>L.startsWith("navigation")},actionViewItemProvider:(L,V)=>createActionViewItem$1(k,L,V)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(r){return{...r,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){globalTransaction$1(r=>{this._viewModel.set(void 0,r),this.editor.setDiffModel(null,r),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(globalTransaction$1(r=>{var V,z,j,ie;(z=this._resourceLabel)==null||z.setUri((V=e.viewModel.modifiedUri)!=null?V:e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let g=!1,y=!1,k=!1,L="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(L="R",g=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(L="A",k=!0):(L="D",y=!0),this._elements.status.classList.toggle("renamed",g),this._elements.status.classList.toggle("deleted",y),this._elements.status.classList.toggle("added",k),this._elements.status.innerText=L,(j=this._resourceLabel2)==null||j.setUri(g?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,r),this.editor.updateOptions(t((ie=i.options)!=null?ie:{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var r;this.editor.updateOptions(t((r=i.options)!=null?r:{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,r=>{r||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[r,g]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(r,g)}render(e,t,i,r){this._elements.root.style.visibility="visible",this._elements.root.style.top="".concat(e.start,"px"),this._elements.root.style.height="".concat(e.length,"px"),this._elements.root.style.width="".concat(t,"px"),this._elements.root.style.position="absolute";const g=e.length-this._headerHeight,y=Math.max(0,Math.min(r.start-e.start,g));this._elements.header.style.transform="translateY(".concat(y,"px)"),globalTransaction$1(k=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",y>0||i>0),this._elements.header.classList.toggle("collapsed",y===g)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};DiffEditorItemTemplate$1=__decorate$49([__param$3$(3,IInstantiationService$1),__param$3$(4,IContextKeyService$1)],DiffEditorItemTemplate$1);let ObjectPool$1=class{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var i;let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{const r=[...this._unused.values()];t=(i=r.find(g=>this._itemData.get(g).getId()===e.getId()))!=null?i:r[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}};var __decorate$48=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3_=function(n,e){return function(t,i){e(t,i,n)}};let MultiDiffEditorWidgetImpl$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=r,this._parentContextKeyService=g,this._parentInstantiationService=y,this._scrollableElements=h$2("div.scrollContent",[h$2("div@content",{style:{overflow:"hidden"}}),h$2("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Scrollable$2({forceIntegerValues:!1,scheduleAtNextAnimationFrame:L=>scheduleAtNextAnimationFrame$1(getWindow$3(this._element),L),smoothScrollDuration:100})),this._scrollableElement=this._register(new SmoothScrollableElement$1(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=h$2("div.monaco-component.multiDiffEditor",{},[h$2("div",{},[this._scrollableElement.getDomNode()]),h$2("div.placeholder@placeholder",{},[h$2("div",[localize$1("noChangedFiles","No Changed Files")])])]),this._sizeObserver=this._register(new ObservableElementSizeObserver$1(this._element,void 0)),this._objectPool=this._register(new ObjectPool$1(L=>{const V=this._instantiationService.createInstance(DiffEditorItemTemplate$1,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return V.setData(L),V})),this.scrollTop=observableFromEvent$1(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=observableFromEvent$1(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=derivedWithStore$1(this,(L,V)=>{const z=this._viewModel.read(L);if(!z)return{items:[],getItem:re=>{throw new BugIndicatingError$1}};const j=z.items.read(L),ie=new Map;return{items:j.map(re=>{var de;const ae=V.add(new VirtualizedViewItem$1(re,this._objectPool,this.scrollLeft,ue=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+ue})})),le=(de=this._lastDocStates)==null?void 0:de[ae.getKey()];return le&&transaction$1(ue=>{ae.setViewState(le,ue)}),ie.set(re,ae),ae}),getItem:re=>ie.get(re)}}),this._viewItems=this._viewItemsInfo.map(this,L=>L.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(L,V)=>L.reduce((z,j)=>z+j.contentHeight.read(V)+this._spaceBetweenPx,0)),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new ServiceCollection$1([IContextKeyService$1,this._contextKeyService]))),this._lastDocStates={},this._contextKeyService.createKey(EditorContextKeys$1.inMultiDiffEditor.key,!0),this._register(autorunWithStore$1((L,V)=>{const z=this._viewModel.read(L);if(z&&z.contextKeys)for(const[j,ie]of Object.entries(z.contextKeys)){const oe=this._contextKeyService.createKey(j,void 0);oe.set(ie),V.add(toDisposable$1(()=>oe.reset()))}}));const k=this._parentContextKeyService.createKey(EditorContextKeys$1.multiDiffEditorAllCollapsed.key,!1);this._register(autorun$1(L=>{const V=this._viewModel.read(L);if(V){const z=V.items.read(L).every(j=>j.collapsed.read(L));k.set(z)}})),this._register(autorun$1(L=>{const V=this._dimension.read(L);this._sizeObserver.observe(V)})),this._register(autorun$1(L=>{const V=this._viewItems.read(L);this._elements.placeholder.classList.toggle("visible",V.length===0)})),this._scrollableElements.content.style.position="relative",this._register(autorun$1(L=>{const V=this._sizeObserver.height.read(L);this._scrollableElements.root.style.height="".concat(V,"px");const z=this._totalHeight.read(L);this._scrollableElements.content.style.height="".concat(z,"px");const j=this._sizeObserver.width.read(L);let ie=j;const oe=this._viewItems.read(L),re=findFirstMax(oe,compareBy$1(ae=>ae.maxScroll.read(L).maxScroll,numberComparator$1));if(re){const ae=re.maxScroll.read(L);ie=j+ae.maxScroll}this._scrollableElement.setScrollDimensions({width:j,height:V,scrollHeight:z,scrollWidth:ie})})),e.replaceChildren(this._elements.root),this._register(toDisposable$1(()=>{e.replaceChildren()})),this._register(this._register(autorun$1(L=>{globalTransaction$1(V=>{this.render(L)})})))}render(e){const t=this.scrollTop.read(e);let i=0,r=0,g=0;const y=this._sizeObserver.height.read(e),k=OffsetRange$1.ofStartAndLength(t,y),L=this._sizeObserver.width.read(e);for(const V of this._viewItems.read(e)){const z=V.contentHeight.read(e),j=Math.min(z,y),ie=OffsetRange$1.ofStartAndLength(r,j),oe=OffsetRange$1.ofStartAndLength(g,z);if(oe.isBefore(k))i-=z-j,V.hide();else if(oe.isAfter(k))V.hide();else{const re=Math.max(0,Math.min(k.start-oe.start,z-j));i-=re;const ae=OffsetRange$1.ofStartAndLength(t+i,y);V.render(ie,re,L,ae)}r+=j+this._spaceBetweenPx,g+=z+this._spaceBetweenPx}this._scrollableElements.content.style.transform="translateY(".concat(-(t+i),"px)")}};MultiDiffEditorWidgetImpl$1=__decorate$48([__param$3_(4,IContextKeyService$1),__param$3_(5,IInstantiationService$1)],MultiDiffEditorWidgetImpl$1);let VirtualizedViewItem$1=class extends Disposable$1{constructor(e,t,i,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=r,this._templateRef=this._register(disposableObservableValue$1(this,void 0)),this.contentHeight=derived$1(this,g=>{var y,k,L;return(L=(k=(y=this._templateRef.read(g))==null?void 0:y.object.contentHeight)==null?void 0:k.read(g))!=null?L:this.viewModel.lastTemplateData.read(g).contentHeight}),this.maxScroll=derived$1(this,g=>{var y,k;return(k=(y=this._templateRef.read(g))==null?void 0:y.object.maxScroll.read(g))!=null?k:{maxScroll:0,scrollWidth:0}}),this.template=derived$1(this,g=>{var y;return(y=this._templateRef.read(g))==null?void 0:y.object}),this._isHidden=observableValue$1(this,!1),this._isFocused=derived$1(this,g=>{var y,k;return(k=(y=this.template.read(g))==null?void 0:y.isFocused.read(g))!=null?k:!1}),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(autorun$1(g=>{var k;const y=this._scrollLeft.read(g);(k=this._templateRef.read(g))==null||k.object.setScrollLeft(y)})),this._register(autorun$1(g=>{const y=this._templateRef.read(g);!y||!this._isHidden.read(g)||y.object.isFocused.read(g)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return"VirtualViewItem(".concat((e=this.viewModel.documentDiffItem.modified)==null?void 0:e.uri.toString(),")")}getKey(){return this.viewModel.getKey()}setViewState(e,t){var y;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),r=(y=e.selections)==null?void 0:y.map(Selection$3.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:r},t);const g=this._templateRef.get();g&&r&&g.object.editor.setSelections(r)}_updateTemplateData(e){var i;const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:(i=t.object.editor.getSelections())!=null?i:void 0},e)}_clear(){const e=this._templateRef.get();e&&transaction$1(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,r){this._isHidden.set(!1,void 0);let g=this._templateRef.get();if(!g){g=this._objectPool.getUnusedObj(new TemplateData$1(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(g,void 0);const y=this.viewModel.lastTemplateData.get().selections;y&&g.object.editor.setSelections(y)}g.object.render(e,i,t,r)}};registerColor$1("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},localize$1("multiDiffEditor.headerBackground","The background color of the diff editor's header"));registerColor$1("multiDiffEditor.background",editorBackground$1,localize$1("multiDiffEditor.background","The background color of the multi file diff editor"));registerColor$1("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},localize$1("multiDiffEditor.border","The border color of the multi file diff editor"));var __decorate$47=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3Z=function(n,e){return function(t,i){e(t,i,n)}};let MultiDiffEditorWidget$1=class extends Disposable$1{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=observableValue$1(this,void 0),this._viewModel=observableValue$1(this,void 0),this._widgetImpl=derivedWithStore$1(this,(r,g)=>(readHotReloadableExport$1(DiffEditorItemTemplate$1,r),g.add(this._instantiationService.createInstance(readHotReloadableExport$1(MultiDiffEditorWidgetImpl$1,r),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(recomputeInitiallyAndOnChange$1(this._widgetImpl))}};MultiDiffEditorWidget$1=__decorate$47([__param$3Z(2,IInstantiationService$1)],MultiDiffEditorWidget$1);function create$2(n,e,t){return StandaloneServices$1.initialize(t||{}).createInstance(StandaloneEditor$1,n,e)}function onDidCreateEditor$1(n){return StandaloneServices$1.get(ICodeEditorService$1).onCodeEditorAdd(t=>{n(t)})}function onDidCreateDiffEditor$1(n){return StandaloneServices$1.get(ICodeEditorService$1).onDiffEditorAdd(t=>{n(t)})}function getEditors$1(){return StandaloneServices$1.get(ICodeEditorService$1).listCodeEditors()}function getDiffEditors$1(){return StandaloneServices$1.get(ICodeEditorService$1).listDiffEditors()}function createDiffEditor$1(n,e,t){return StandaloneServices$1.initialize(t||{}).createInstance(StandaloneDiffEditor2$1,n,e)}function createMultiFileDiffEditor$1(n,e){const t=StandaloneServices$1.initialize(e||{});return new MultiDiffEditorWidget$1(n,{},t)}function addCommand$1(n){if(typeof n.id!="string"||typeof n.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return CommandsRegistry$1.registerCommand(n.id,n.run)}function addEditorAction$1(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=ContextKeyExpr$1.deserialize(n.precondition),t=(r,...g)=>EditorCommand$1.runEditorCommand(r,g,e,(y,k,L)=>Promise.resolve(n.run(k,...L))),i=new DisposableStore$1;if(i.add(CommandsRegistry$1.registerCommand(n.id,t)),n.contextMenuGroupId){const r={command:{id:n.id,title:n.label},when:e,group:n.contextMenuGroupId,order:n.contextMenuOrder||0};i.add(MenuRegistry$1.appendMenuItem(MenuId$1.EditorContext,r))}if(Array.isArray(n.keybindings)){const r=StandaloneServices$1.get(IKeybindingService$1);if(!(r instanceof StandaloneKeybindingService$1))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const g=ContextKeyExpr$1.and(e,ContextKeyExpr$1.deserialize(n.keybindingContext));i.add(r.addDynamicKeybindings(n.keybindings.map(y=>({keybinding:y,command:n.id,when:g}))))}}return i}function addKeybindingRule$1(n){return addKeybindingRules$1([n])}function addKeybindingRules$1(n){const e=StandaloneServices$1.get(IKeybindingService$1);return e instanceof StandaloneKeybindingService$1?e.addDynamicKeybindings(n.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:ContextKeyExpr$1.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Disposable$1.None)}function createModel$1(n,e,t){const i=StandaloneServices$1.get(ILanguageService$1),r=i.getLanguageIdByMimeType(e)||e;return createTextModel$1(StandaloneServices$1.get(IModelService$1),i,n,r,t)}function setModelLanguage$1(n,e){const t=StandaloneServices$1.get(ILanguageService$1),i=t.getLanguageIdByMimeType(e)||e||PLAINTEXT_LANGUAGE_ID$1;n.setLanguage(t.createById(i))}function setModelMarkers$1(n,e,t){n&&StandaloneServices$1.get(IMarkerService$1).changeOne(e,n.uri,t)}function removeAllMarkers$1(n){StandaloneServices$1.get(IMarkerService$1).changeAll(n,[])}function getModelMarkers$1(n){return StandaloneServices$1.get(IMarkerService$1).read(n)}function onDidChangeMarkers$1(n){return StandaloneServices$1.get(IMarkerService$1).onMarkerChanged(n)}function getModel$1(n){return StandaloneServices$1.get(IModelService$1).getModel(n)}function getModels$1(){return StandaloneServices$1.get(IModelService$1).getModels()}function onDidCreateModel$1(n){return StandaloneServices$1.get(IModelService$1).onModelAdded(n)}function onWillDisposeModel$1(n){return StandaloneServices$1.get(IModelService$1).onModelRemoved(n)}function onDidChangeModelLanguage$1(n){return StandaloneServices$1.get(IModelService$1).onModelLanguageChanged(t=>{n({model:t.model,oldLanguage:t.oldLanguageId})})}function createWebWorker$2(n){return createWebWorker$3(StandaloneServices$1.get(IModelService$1),n)}function colorizeElement$1(n,e){const t=StandaloneServices$1.get(ILanguageService$1),i=StandaloneServices$1.get(IStandaloneThemeService$1);return Colorizer$1.colorizeElement(i,t,n,e).then(()=>{i.registerEditorContainer(n)})}function colorize$1(n,e,t){const i=StandaloneServices$1.get(ILanguageService$1);return StandaloneServices$1.get(IStandaloneThemeService$1).registerEditorContainer(mainWindow$1.document.body),Colorizer$1.colorize(i,n,e,t)}function colorizeModelLine$1(n,e,t=4){return StandaloneServices$1.get(IStandaloneThemeService$1).registerEditorContainer(mainWindow$1.document.body),Colorizer$1.colorizeModelLine(n,e,t)}function getSafeTokenizationSupport$3(n){const e=TokenizationRegistry$2.get(n);return e||{getInitialState:()=>NullState$1,tokenize:(t,i,r)=>nullTokenize$1(n,r)}}function tokenize$3(n,e){TokenizationRegistry$2.getOrCreate(e);const t=getSafeTokenizationSupport$3(e),i=splitLines$1(n),r=[];let g=t.getInitialState();for(let y=0,k=i.length;y{var k;if(!i)return null;const g=(k=t.options)==null?void 0:k.selection;let y;return g&&typeof g.endLineNumber=="number"&&typeof g.endColumn=="number"?y=g:g&&(y={lineNumber:g.startLineNumber,column:g.startColumn}),await n.openCodeEditor(i,t.resource,y)?i:null})}function createMonacoEditorAPI$1(){return{create:create$2,getEditors:getEditors$1,getDiffEditors:getDiffEditors$1,onDidCreateEditor:onDidCreateEditor$1,onDidCreateDiffEditor:onDidCreateDiffEditor$1,createDiffEditor:createDiffEditor$1,addCommand:addCommand$1,addEditorAction:addEditorAction$1,addKeybindingRule:addKeybindingRule$1,addKeybindingRules:addKeybindingRules$1,createModel:createModel$1,setModelLanguage:setModelLanguage$1,setModelMarkers:setModelMarkers$1,getModelMarkers:getModelMarkers$1,removeAllMarkers:removeAllMarkers$1,onDidChangeMarkers:onDidChangeMarkers$1,getModels:getModels$1,getModel:getModel$1,onDidCreateModel:onDidCreateModel$1,onWillDisposeModel:onWillDisposeModel$1,onDidChangeModelLanguage:onDidChangeModelLanguage$1,createWebWorker:createWebWorker$2,colorizeElement:colorizeElement$1,colorize:colorize$1,colorizeModelLine:colorizeModelLine$1,tokenize:tokenize$3,defineTheme:defineTheme$1,setTheme:setTheme$1,remeasureFonts:remeasureFonts$1,registerCommand:registerCommand$5,registerLinkOpener:registerLinkOpener$1,registerEditorOpener:registerEditorOpener$1,AccessibilitySupport:AccessibilitySupport$1,ContentWidgetPositionPreference:ContentWidgetPositionPreference$1,CursorChangeReason:CursorChangeReason$1,DefaultEndOfLine:DefaultEndOfLine$1,EditorAutoIndentStrategy:EditorAutoIndentStrategy$1,EditorOption:EditorOption$1,EndOfLinePreference:EndOfLinePreference$1,EndOfLineSequence:EndOfLineSequence$1,MinimapPosition:MinimapPosition$1,MinimapSectionHeaderStyle:MinimapSectionHeaderStyle$1,MouseTargetType:MouseTargetType$1,OverlayWidgetPositionPreference:OverlayWidgetPositionPreference$1,OverviewRulerLane:OverviewRulerLane$3,GlyphMarginLane:GlyphMarginLane$3,RenderLineNumbersType:RenderLineNumbersType$1,RenderMinimap:RenderMinimap$1,ScrollbarVisibility:ScrollbarVisibility$1,ScrollType:ScrollType$1,TextEditorCursorBlinkingStyle:TextEditorCursorBlinkingStyle$1,TextEditorCursorStyle:TextEditorCursorStyle$2,TrackedRangeStickiness:TrackedRangeStickiness$1,WrappingIndent:WrappingIndent$1,InjectedTextCursorStops:InjectedTextCursorStops$3,PositionAffinity:PositionAffinity$1,ShowLightbulbIconMode:ShowLightbulbIconMode$2,ConfigurationChangedEvent:ConfigurationChangedEvent$1,BareFontInfo:BareFontInfo$1,FontInfo:FontInfo$1,TextModelResolvedOptions:TextModelResolvedOptions$1,FindMatch:FindMatch$1,ApplyUpdateResult:ApplyUpdateResult$1,EditorZoom:EditorZoom$1,createMultiFileDiffEditor:createMultiFileDiffEditor$1,EditorType:EditorType$1,EditorOptions:EditorOptions$1}}function isArrayOf$1(n,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!n(t))return!1;return!0}function bool$1(n,e){return typeof n=="boolean"?n:e}function string$2(n,e){return typeof n=="string"?n:e}function arrayToHash$1(n){const e={};for(const t of n)e[t]=!0;return e}function createKeywordMatcher$1(n,e=!1){e&&(n=n.map(function(i){return i.toLowerCase()}));const t=arrayToHash$1(n);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function compileRegExp$1(n,e,t){e=e.replace(/@@/g,"");let i=0,r;do r=!1,e=e.replace(/@(\w+)/g,function(y,k){r=!0;let L="";if(typeof n[k]=="string")L=n[k];else if(n[k]&&n[k]instanceof RegExp)L=n[k].source;else throw n[k]===void 0?createError$1(n,"language definition does not contain attribute '"+k+"', used at: "+e):createError$1(n,"attribute reference '"+k+"' must be a string, used at: "+e);return empty$1(L)?"":"(?:"+L+")"}),i++;while(r&&i<5);e=e.replace(/\x01/g,"@");const g=(n.ignoreCase?"i":"")+(n.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let k=null,L=null;return V=>(L&&k===V||(k=V,L=new RegExp(substituteMatchesRe$1(n,e,V),g)),L)}return new RegExp(e,g)}function selectScrutinee$1(n,e,t,i){if(i<0)return n;if(i=100){i=i-100;const r=t.split(".");if(r.unshift(t),i=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw createError$1(n,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw createError$1(n,"the next state must be a string value in rule: "+e);{let r=t.next;if(!/^(@pop|@push|@popall)$/.test(r)&&(r[0]==="@"&&(r=r.substr(1)),r.indexOf("$")<0&&!stateExists$1(n,substituteMatches$1(n,r,"",[],""))))throw createError$1(n,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=r}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,n.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let r=0,g=t.length;r0&&i[0]==="^",this.name=this.name+": "+i,this.regex=compileRegExp$1(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=compileAction$1(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function compile$1(n,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={languageId:n,includeLF:bool$1(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:bool$1(e.ignoreCase,!1),unicode:bool$1(e.unicode,!1),tokenPostfix:string$2(e.tokenPostfix,"."+n),defaultToken:string$2(e.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},i=e;i.languageId=n,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function r(y,k,L){for(const V of L){let z=V.include;if(z){if(typeof z!="string")throw createError$1(t,"an 'include' attribute must be a string at: "+y);if(z[0]==="@"&&(z=z.substr(1)),!e.tokenizer[z])throw createError$1(t,"include target '"+z+"' is not defined at: "+y);r(y+"."+z,k,e.tokenizer[z])}else{const j=new Rule$2(y);if(Array.isArray(V)&&V.length>=1&&V.length<=3)if(j.setRegex(i,V[0]),V.length>=3)if(typeof V[1]=="string")j.setAction(i,{token:V[1],next:V[2]});else if(typeof V[1]=="object"){const ie=V[1];ie.next=V[2],j.setAction(i,ie)}else throw createError$1(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+y);else j.setAction(i,V[1]);else{if(!V.regex)throw createError$1(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+y);V.name&&typeof V.name=="string"&&(j.name=V.name),V.matchOnlyAtStart&&(j.matchOnlyAtLineStart=bool$1(V.matchOnlyAtLineStart,!1)),j.setRegex(i,V.regex),j.setAction(i,V.action)}k.push(j)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw createError$1(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const y in e.tokenizer)if(e.tokenizer.hasOwnProperty(y)){t.start||(t.start=y);const k=e.tokenizer[y];t.tokenizer[y]=new Array,r("tokenizer."+y,t.tokenizer[y],k)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw createError$1(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const g=[];for(const y of e.brackets){let k=y;if(k&&Array.isArray(k)&&k.length===3&&(k={token:k[2],open:k[0],close:k[1]}),k.open===k.close)throw createError$1(t,"open and close brackets in a 'brackets' attribute must be different: "+k.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if(typeof k.open=="string"&&typeof k.token=="string"&&typeof k.close=="string")g.push({token:k.token+t.tokenPostfix,open:fixCase$1(t,k.open),close:fixCase$1(t,k.close)});else throw createError$1(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=g,t.noThrow=!0,t}function register$3(n){ModesRegistry$1.registerLanguage(n)}function getLanguages$1(){let n=[];return n=n.concat(ModesRegistry$1.getLanguages()),n}function getEncodedLanguageId$1(n){return StandaloneServices$1.get(ILanguageService$1).languageIdCodec.encodeLanguageId(n)}function onLanguage$1(n,e){return StandaloneServices$1.withServices(()=>{const i=StandaloneServices$1.get(ILanguageService$1).onDidRequestRichLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function onLanguageEncountered$1(n,e){return StandaloneServices$1.withServices(()=>{const i=StandaloneServices$1.get(ILanguageService$1).onDidRequestBasicLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function setLanguageConfiguration$1(n,e){if(!StandaloneServices$1.get(ILanguageService$1).isRegisteredLanguageId(n))throw new Error("Cannot set configuration for unknown language ".concat(n));return StandaloneServices$1.get(ILanguageConfigurationService$1).register(n,e,100)}let EncodedTokenizationSupportAdapter$1=class{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return TokenizationSupportAdapter$1.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const r=this._actual.tokenizeEncoded(e,i);return new EncodedTokenizationResult$1(r.tokens,r.endState)}},TokenizationSupportAdapter$1=class Bd{constructor(e,t,i,r){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let r=0;for(let g=0,y=e.length;g0&&g[y-1]===ie)continue;let oe=j.startIndex;V===0?oe=0:oe{const i=await Promise.resolve(e.create());return i?isATokensProvider$1(i)?createTokenizationSupportAdapter$1(n,i):new MonarchTokenizer$1(StandaloneServices$1.get(ILanguageService$1),StandaloneServices$1.get(IStandaloneThemeService$1),n,compile$1(n,i),StandaloneServices$1.get(IConfigurationService$1)):null});return TokenizationRegistry$2.registerFactory(n,t)}function setTokensProvider$1(n,e){if(!StandaloneServices$1.get(ILanguageService$1).isRegisteredLanguageId(n))throw new Error("Cannot set tokens provider for unknown language ".concat(n));return isThenable$2(e)?registerTokensProviderFactory$1(n,{create:()=>e}):TokenizationRegistry$2.register(n,createTokenizationSupportAdapter$1(n,e))}function setMonarchTokensProvider$1(n,e){const t=i=>new MonarchTokenizer$1(StandaloneServices$1.get(ILanguageService$1),StandaloneServices$1.get(IStandaloneThemeService$1),n,compile$1(n,i),StandaloneServices$1.get(IConfigurationService$1));return isThenable$2(e)?registerTokensProviderFactory$1(n,{create:()=>e}):TokenizationRegistry$2.register(n,t(e))}function registerReferenceProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).referenceProvider.register(n,e)}function registerRenameProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).renameProvider.register(n,e)}function registerNewSymbolNameProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).newSymbolNamesProvider.register(n,e)}function registerSignatureHelpProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).signatureHelpProvider.register(n,e)}function registerHoverProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).hoverProvider.register(n,{provideHover:async(i,r,g,y)=>{const k=i.getWordAtPosition(r);return Promise.resolve(e.provideHover(i,r,g,y)).then(L=>{if(L)return!L.range&&k&&(L.range=new Range$5(r.lineNumber,k.startColumn,r.lineNumber,k.endColumn)),L.range||(L.range=new Range$5(r.lineNumber,r.column,r.lineNumber,r.column)),L})}})}function registerDocumentSymbolProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentSymbolProvider.register(n,e)}function registerDocumentHighlightProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentHighlightProvider.register(n,e)}function registerLinkedEditingRangeProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).linkedEditingRangeProvider.register(n,e)}function registerDefinitionProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).definitionProvider.register(n,e)}function registerImplementationProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).implementationProvider.register(n,e)}function registerTypeDefinitionProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).typeDefinitionProvider.register(n,e)}function registerCodeLensProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).codeLensProvider.register(n,e)}function registerCodeActionProvider$1(n,e,t){return StandaloneServices$1.get(ILanguageFeaturesService$1).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(r,g,y,k)=>{const V=StandaloneServices$1.get(IMarkerService$1).read({resource:r.uri}).filter(z=>Range$5.areIntersectingOrTouching(z,g));return e.provideCodeActions(r,g,{markers:V,only:y.only,trigger:y.trigger},k)},resolveCodeAction:e.resolveCodeAction})}function registerDocumentFormattingEditProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentFormattingEditProvider.register(n,e)}function registerDocumentRangeFormattingEditProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentRangeFormattingEditProvider.register(n,e)}function registerOnTypeFormattingEditProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).onTypeFormattingEditProvider.register(n,e)}function registerLinkProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).linkProvider.register(n,e)}function registerCompletionItemProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).completionProvider.register(n,e)}function registerColorProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).colorProvider.register(n,e)}function registerFoldingRangeProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).foldingRangeProvider.register(n,e)}function registerDeclarationProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).declarationProvider.register(n,e)}function registerSelectionRangeProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).selectionRangeProvider.register(n,e)}function registerDocumentSemanticTokensProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentSemanticTokensProvider.register(n,e)}function registerDocumentRangeSemanticTokensProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).documentRangeSemanticTokensProvider.register(n,e)}function registerInlineCompletionsProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).inlineCompletionsProvider.register(n,e)}function registerInlineEditProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).inlineEditProvider.register(n,e)}function registerInlayHintsProvider$1(n,e){return StandaloneServices$1.get(ILanguageFeaturesService$1).inlayHintsProvider.register(n,e)}function createMonacoLanguagesAPI$1(){return{register:register$3,getLanguages:getLanguages$1,onLanguage:onLanguage$1,onLanguageEncountered:onLanguageEncountered$1,getEncodedLanguageId:getEncodedLanguageId$1,setLanguageConfiguration:setLanguageConfiguration$1,setColorMap:setColorMap$1,registerTokensProviderFactory:registerTokensProviderFactory$1,setTokensProvider:setTokensProvider$1,setMonarchTokensProvider:setMonarchTokensProvider$1,registerReferenceProvider:registerReferenceProvider$1,registerRenameProvider:registerRenameProvider$1,registerNewSymbolNameProvider:registerNewSymbolNameProvider$1,registerCompletionItemProvider:registerCompletionItemProvider$1,registerSignatureHelpProvider:registerSignatureHelpProvider$1,registerHoverProvider:registerHoverProvider$1,registerDocumentSymbolProvider:registerDocumentSymbolProvider$1,registerDocumentHighlightProvider:registerDocumentHighlightProvider$1,registerLinkedEditingRangeProvider:registerLinkedEditingRangeProvider$1,registerDefinitionProvider:registerDefinitionProvider$1,registerImplementationProvider:registerImplementationProvider$1,registerTypeDefinitionProvider:registerTypeDefinitionProvider$1,registerCodeLensProvider:registerCodeLensProvider$1,registerCodeActionProvider:registerCodeActionProvider$1,registerDocumentFormattingEditProvider:registerDocumentFormattingEditProvider$1,registerDocumentRangeFormattingEditProvider:registerDocumentRangeFormattingEditProvider$1,registerOnTypeFormattingEditProvider:registerOnTypeFormattingEditProvider$1,registerLinkProvider:registerLinkProvider$1,registerColorProvider:registerColorProvider$1,registerFoldingRangeProvider:registerFoldingRangeProvider$1,registerDeclarationProvider:registerDeclarationProvider$1,registerSelectionRangeProvider:registerSelectionRangeProvider$1,registerDocumentSemanticTokensProvider:registerDocumentSemanticTokensProvider$1,registerDocumentRangeSemanticTokensProvider:registerDocumentRangeSemanticTokensProvider$1,registerInlineCompletionsProvider:registerInlineCompletionsProvider$1,registerInlineEditProvider:registerInlineEditProvider$1,registerInlayHintsProvider:registerInlayHintsProvider$1,DocumentHighlightKind:DocumentHighlightKind$2,CompletionItemKind:CompletionItemKind$1,CompletionItemTag:CompletionItemTag$1,CompletionItemInsertTextRule:CompletionItemInsertTextRule$1,SymbolKind:SymbolKind$1,SymbolTag:SymbolTag$1,IndentAction:IndentAction$3,CompletionTriggerKind:CompletionTriggerKind$1,SignatureHelpTriggerKind:SignatureHelpTriggerKind$2,InlayHintKind:InlayHintKind$2,InlineCompletionTriggerKind:InlineCompletionTriggerKind$2,InlineEditTriggerKind:InlineEditTriggerKind$2,CodeActionTriggerType:CodeActionTriggerType$1,NewSymbolNameTag:NewSymbolNameTag$2,NewSymbolNameTriggerKind,PartialAcceptTriggerKind:PartialAcceptTriggerKind$1,HoverVerbosityAction,FoldingRangeKind:FoldingRangeKind$1,SelectedSuggestionInfo:SelectedSuggestionInfo$1}}const IEditorCancellationTokens$1=createDecorator$1("IEditorCancelService"),ctxCancellableOperation$1=new RawContextKey$1("cancellableOperation",!1,localize$1("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));registerSingleton$1(IEditorCancellationTokens$1,class{constructor(){this._tokens=new WeakMap}add(n,e){let t=this._tokens.get(n);t||(t=n.invokeWithinContext(r=>{const g=ctxCancellableOperation$1.bindTo(r.get(IContextKeyService$1)),y=new LinkedList$1;return{key:g,tokens:y}}),this._tokens.set(n,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(n){const e=this._tokens.get(n);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);let EditorKeybindingCancellationTokenSource$1=class extends CancellationTokenSource$3{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(IEditorCancellationTokens$1).add(e,this))}dispose(){this._unregister(),super.dispose()}};registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ctxCancellableOperation$1})}runEditorCommand(n,e){n.get(IEditorCancellationTokens$1).cancel(e)}});let EditorState$3=class Wd{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?format$2("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=e.getPosition():this.position=null,(this.flags&2)!==0?this.selection=e.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof Wd))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new Wd(e,this.flags))}},EditorStateCancellationTokenSource$1=class extends EditorKeybindingCancellationTokenSource$1{constructor(e,t,i,r){super(e,r),this._listener=new DisposableStore$1,t&4&&this._listener.add(e.onDidChangeCursorPosition(g=>{(!i||!Range$5.containsPosition(i,g.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(g=>{(!i||!Range$5.containsRange(i,g.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(g=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(g=>this.cancel())),this._listener.add(e.onDidChangeModelContent(g=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}},TextModelCancellationTokenSource$1=class extends CancellationTokenSource$3{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}};function isCodeEditor$1(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===EditorType$1.ICodeEditor:!1}function isDiffEditor$1(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===EditorType$1.IDiffEditor:!1}function isCompositeEditor$1(n){return!!n&&typeof n=="object"&&typeof n.onDidChangeActiveEditor=="function"}function getCodeEditor$1(n){return isCodeEditor$1(n)?n:isDiffEditor$1(n)?n.getModifiedEditor():isCompositeEditor$1(n)&&isCodeEditor$1(n.activeCodeEditor)?n.activeCodeEditor:null}let FormattingEdit$1=class Vd{static _handleEolEdits(e,t){let i;const r=[];for(const g of t)typeof g.eol=="number"&&(i=g.eol),g.range&&typeof g.text=="string"&&r.push(g);return typeof i=="number"&&e.hasModel()&&e.getModel().pushEOL(i),r}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),r=i.validateRange(t.range);return i.getFullModelRange().equalsRange(r)}static execute(e,t,i){i&&e.pushUndoStop();const r=StableEditorScrollState$1.capture(e),g=Vd._handleEolEdits(e,t);g.length===1&&Vd._isFullModelReplaceEdit(e,g[0])?e.executeEdits("formatEditsCommand",g.map(y=>EditOperation$1.replace(Range$5.lift(y.range),y.text))):e.executeEdits("formatEditsCommand",g.map(y=>EditOperation$1.replaceMove(Range$5.lift(y.range),y.text))),i&&e.pushUndoStop(),r.restoreRelativeVerticalPositionOfCursor(e)}},ExtensionIdentifier$1=class{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}},ExtensionIdentifierSet$1=class{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(ExtensionIdentifier$1.toKey(e))}has(e){return this._set.has(ExtensionIdentifier$1.toKey(e))}};function getRealAndSyntheticDocumentFormattersOrdered$1(n,e,t){const i=[],r=new ExtensionIdentifierSet$1,g=n.ordered(t);for(const k of g)i.push(k),k.extensionId&&r.add(k.extensionId);const y=e.ordered(t);for(const k of y){if(k.extensionId){if(r.has(k.extensionId))continue;r.add(k.extensionId)}i.push({displayName:k.displayName,extensionId:k.extensionId,provideDocumentFormattingEdits(L,V,z){return k.provideDocumentRangeFormattingEdits(L,L.getFullModelRange(),V,z)}})}return i}var Br;let FormattingConflicts$1=(Br=class{static setFormatterSelector(e){return{dispose:Br._selectors.unshift(e)}}static async select(e,t,i,r){if(e.length===0)return;const g=Iterable$1.first(Br._selectors);if(g)return await g(e,t,i,r)}},Br._selectors=new LinkedList$1,Br);async function formatDocumentRangesWithSelectedProvider$1(n,e,t,i,r,g,y){const k=n.get(IInstantiationService$1),{documentRangeFormattingEditProvider:L}=n.get(ILanguageFeaturesService$1),V=isCodeEditor$1(e)?e.getModel():e,z=L.ordered(V),j=await FormattingConflicts$1.select(z,V,i,2);j&&(r.report(j),await k.invokeFunction(formatDocumentRangesWithProvider$1,j,e,t,g,y))}async function formatDocumentRangesWithProvider$1(n,e,t,i,r,g){var de,ue;const y=n.get(IEditorWorkerService$1),k=n.get(ILogService$1),L=n.get(IAccessibilitySignalService$1);let V,z;isCodeEditor$1(t)?(V=t.getModel(),z=new EditorStateCancellationTokenSource$1(t,5,void 0,r)):(V=t,z=new TextModelCancellationTokenSource$1(t,r));const j=[];let ie=0;for(const he of asArray$1(i).sort(Range$5.compareRangesUsingStarts))ie>0&&Range$5.areIntersectingOrTouching(j[ie-1],he)?j[ie-1]=Range$5.fromPositions(j[ie-1].getStartPosition(),he.getEndPosition()):ie=j.push(he);const oe=async he=>{var Ce,$e;k.trace("[format][provideDocumentRangeFormattingEdits] (request)",(Ce=e.extensionId)==null?void 0:Ce.value,he);const pe=await e.provideDocumentRangeFormattingEdits(V,he,V.getFormattingOptions(),z.token)||[];return k.trace("[format][provideDocumentRangeFormattingEdits] (response)",($e=e.extensionId)==null?void 0:$e.value,pe),pe},re=(he,pe)=>{if(!he.length||!pe.length)return!1;const Ce=he.reduce(($e,xe)=>Range$5.plusRange($e,xe.range),he[0].range);if(!pe.some($e=>Range$5.intersectRanges(Ce,$e.range)))return!1;for(const $e of he)for(const xe of pe)if(Range$5.intersectRanges($e.range,xe.range))return!0;return!1},ae=[],le=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){k.trace("[format][provideDocumentRangeFormattingEdits] (request)",(de=e.extensionId)==null?void 0:de.value,j);const he=await e.provideDocumentRangesFormattingEdits(V,j,V.getFormattingOptions(),z.token)||[];k.trace("[format][provideDocumentRangeFormattingEdits] (response)",(ue=e.extensionId)==null?void 0:ue.value,he),le.push(he)}else{for(const he of j){if(z.token.isCancellationRequested)return!0;le.push(await oe(he))}for(let he=0;he({text:Ce.text,range:Range$5.lift(Ce.range),forceMoveMarkers:!0})),Ce=>{for(const{range:$e}of Ce)if(Range$5.areIntersectingOrTouching($e,pe))return[new Selection$3($e.startLineNumber,$e.startColumn,$e.endLineNumber,$e.endColumn)];return null})}return L.playSignal(AccessibilitySignal$1.format,{userGesture:g}),!0}async function formatDocumentWithSelectedProvider$1(n,e,t,i,r,g){const y=n.get(IInstantiationService$1),k=n.get(ILanguageFeaturesService$1),L=isCodeEditor$1(e)?e.getModel():e,V=getRealAndSyntheticDocumentFormattersOrdered$1(k.documentFormattingEditProvider,k.documentRangeFormattingEditProvider,L),z=await FormattingConflicts$1.select(V,L,t,1);z&&(i.report(z),await y.invokeFunction(formatDocumentWithProvider$1,z,e,t,r,g))}async function formatDocumentWithProvider$1(n,e,t,i,r,g){const y=n.get(IEditorWorkerService$1),k=n.get(IAccessibilitySignalService$1);let L,V;isCodeEditor$1(t)?(L=t.getModel(),V=new EditorStateCancellationTokenSource$1(t,5,void 0,r)):(L=t,V=new TextModelCancellationTokenSource$1(t,r));let z;try{const j=await e.provideDocumentFormattingEdits(L,L.getFormattingOptions(),V.token);if(z=await y.computeMoreMinimalEdits(L.uri,j),V.token.isCancellationRequested)return!0}finally{V.dispose()}if(!z||z.length===0)return!1;if(isCodeEditor$1(t))FormattingEdit$1.execute(t,z,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:j}]=z,ie=new Selection$3(j.startLineNumber,j.startColumn,j.endLineNumber,j.endColumn);L.pushEditOperations([ie],z.map(oe=>({text:oe.text,range:Range$5.lift(oe.range),forceMoveMarkers:!0})),oe=>{for(const{range:re}of oe)if(Range$5.areIntersectingOrTouching(re,ie))return[new Selection$3(re.startLineNumber,re.startColumn,re.endLineNumber,re.endColumn)];return null})}return k.playSignal(AccessibilitySignal$1.format,{userGesture:g}),!0}async function getDocumentRangeFormattingEditsUntilResult$1(n,e,t,i,r,g){const y=e.documentRangeFormattingEditProvider.ordered(t);for(const k of y){const L=await Promise.resolve(k.provideDocumentRangeFormattingEdits(t,i,r,g)).catch(onUnexpectedExternalError$1);if(isNonEmptyArray$1(L))return await n.computeMoreMinimalEdits(t.uri,L)}}async function getDocumentFormattingEditsUntilResult$1(n,e,t,i,r){const g=getRealAndSyntheticDocumentFormattersOrdered$1(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const y of g){const k=await Promise.resolve(y.provideDocumentFormattingEdits(t,i,r)).catch(onUnexpectedExternalError$1);if(isNonEmptyArray$1(k))return await n.computeMoreMinimalEdits(t.uri,k)}}function getOnTypeFormattingEdits$1(n,e,t,i,r,g,y){const k=e.onTypeFormattingEditProvider.ordered(t);return k.length===0||k[0].autoFormatTriggerCharacters.indexOf(r)<0?Promise.resolve(void 0):Promise.resolve(k[0].provideOnTypeFormattingEdits(t,i,r,g,y)).catch(onUnexpectedExternalError$1).then(L=>n.computeMoreMinimalEdits(t.uri,L))}CommandsRegistry$1.registerCommand("_executeFormatRangeProvider",async function(n,...e){const[t,i,r]=e;assertType$1(URI$1.isUri(t)),assertType$1(Range$5.isIRange(i));const g=n.get(ITextModelService$1),y=n.get(IEditorWorkerService$1),k=n.get(ILanguageFeaturesService$1),L=await g.createModelReference(t);try{return getDocumentRangeFormattingEditsUntilResult$1(y,k,L.object.textEditorModel,Range$5.lift(i),r,CancellationToken$1.None)}finally{L.dispose()}});CommandsRegistry$1.registerCommand("_executeFormatDocumentProvider",async function(n,...e){const[t,i]=e;assertType$1(URI$1.isUri(t));const r=n.get(ITextModelService$1),g=n.get(IEditorWorkerService$1),y=n.get(ILanguageFeaturesService$1),k=await r.createModelReference(t);try{return getDocumentFormattingEditsUntilResult$1(g,y,k.object.textEditorModel,i,CancellationToken$1.None)}finally{k.dispose()}});CommandsRegistry$1.registerCommand("_executeFormatOnTypeProvider",async function(n,...e){const[t,i,r,g]=e;assertType$1(URI$1.isUri(t)),assertType$1(Position$3.isIPosition(i)),assertType$1(typeof r=="string");const y=n.get(ITextModelService$1),k=n.get(IEditorWorkerService$1),L=n.get(ILanguageFeaturesService$1),V=await y.createModelReference(t);try{return getOnTypeFormattingEdits$1(k,L,V.object.textEditorModel,Position$3.lift(i),r,g,CancellationToken$1.None)}finally{V.dispose()}});EditorOptions$1.wrappingIndent.defaultValue=0;EditorOptions$1.glyphMargin.defaultValue=!1;EditorOptions$1.autoIndent.defaultValue=3;EditorOptions$1.overviewRulerLanes.defaultValue=2;FormattingConflicts$1.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const api$1=createMonacoBaseAPI$1();api$1.editor=createMonacoEditorAPI$1();api$1.languages=createMonacoLanguagesAPI$1();const CancellationTokenSource$2=api$1.CancellationTokenSource,Emitter$2=api$1.Emitter,KeyCode$2=api$1.KeyCode,KeyMod$2=api$1.KeyMod,Position$2=api$1.Position,Range$3=api$1.Range,Selection$2=api$1.Selection,SelectionDirection$2=api$1.SelectionDirection,MarkerSeverity$3=api$1.MarkerSeverity,MarkerTag$2=api$1.MarkerTag,Uri$2=api$1.Uri,Token$3=api$1.Token,editor$1=api$1.editor,languages$1=api$1.languages,monacoEnvironment$1=globalThis.MonacoEnvironment;(monacoEnvironment$1!=null&&monacoEnvironment$1.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=api$1);typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const monaco_editor_core_star$1=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:CancellationTokenSource$2,Emitter:Emitter$2,KeyCode:KeyCode$2,KeyMod:KeyMod$2,MarkerSeverity:MarkerSeverity$3,MarkerTag:MarkerTag$2,Position:Position$2,Range:Range$3,Selection:Selection$2,SelectionDirection:SelectionDirection$2,Token:Token$3,Uri:Uri$2,editor:editor$1,languages:languages$1},Symbol.toStringTag,{value:"Module"}));/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$b=Object.defineProperty,__getOwnPropDesc$8=Object.getOwnPropertyDescriptor,__getOwnPropNames$8=Object.getOwnPropertyNames,__hasOwnProp$c=Object.prototype.hasOwnProperty,__copyProps$8=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$8(e))!__hasOwnProp$c.call(n,r)&&r!==t&&__defProp$b(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$8(e,r))||i.enumerable});return n},__reExport$8=(n,e,t)=>(__copyProps$8(n,e,"default"),t),monaco_editor_core_exports$8={};__reExport$8(monaco_editor_core_exports$8,monaco_editor_core_star$1);var languageDefinitions$1={},lazyLanguageLoaders$1={},LazyLanguageLoader$1=class Dh{static getOrCreate(e){return lazyLanguageLoaders$1[e]||(lazyLanguageLoaders$1[e]=new Dh(e)),lazyLanguageLoaders$1[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,i)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=i})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,languageDefinitions$1[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function registerLanguage$1(n){const e=n.id;languageDefinitions$1[e]=n,monaco_editor_core_exports$8.languages.register(n);const t=LazyLanguageLoader$1.getOrCreate(e);monaco_editor_core_exports$8.languages.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),monaco_editor_core_exports$8.languages.onLanguageEncountered(e,async()=>{const i=await t.load();monaco_editor_core_exports$8.languages.setLanguageConfiguration(e,i.conf)})}registerLanguage$1({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>__vitePreload(()=>import("./abap-BrgZPUOV.js"),[])});registerLanguage$1({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>__vitePreload(()=>import("./apex-DyP6w7ZV.js"),[])});registerLanguage$1({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>__vitePreload(()=>import("./azcli-BaLxmfj-.js"),[])});registerLanguage$1({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>__vitePreload(()=>import("./bat-CFOPXBzS.js"),[])});registerLanguage$1({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>__vitePreload(()=>import("./bicep-D1_qr0wn.js"),[])});registerLanguage$1({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>__vitePreload(()=>import("./cameligo-BFG1Mk7z.js"),[])});registerLanguage$1({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>__vitePreload(()=>import("./clojure-DTECt2xU.js"),[])});registerLanguage$1({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>__vitePreload(()=>import("./coffee-CDGzqUPQ.js"),[])});registerLanguage$1({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>__vitePreload(()=>import("./cpp-CLLBncYj.js"),[])});registerLanguage$1({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>__vitePreload(()=>import("./cpp-CLLBncYj.js"),[])});registerLanguage$1({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>__vitePreload(()=>import("./csharp-dUCx_-0o.js"),[])});registerLanguage$1({id:"csp",extensions:[".csp"],aliases:["CSP","csp"],loader:()=>__vitePreload(()=>import("./csp-5Rap-vPy.js"),[])});registerLanguage$1({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>__vitePreload(()=>import("./css-CD-p54zM.js"),[])});registerLanguage$1({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>__vitePreload(()=>import("./cypher-DrQuvNYM.js"),[])});registerLanguage$1({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>__vitePreload(()=>import("./dart-CFKIUWau.js"),[])});registerLanguage$1({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>__vitePreload(()=>import("./dockerfile-Zznr-cwX.js"),[])});registerLanguage$1({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>__vitePreload(()=>import("./ecl-Ce3n6wWz.js"),[])});registerLanguage$1({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>__vitePreload(()=>import("./elixir-deUWdS0T.js"),[])});registerLanguage$1({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>__vitePreload(()=>import("./flow9-i9-g7ZhI.js"),[])});registerLanguage$1({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>__vitePreload(()=>import("./fsharp-CzKuDChf.js"),[])});registerLanguage$1({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage$1({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagAngleInterpolationDollar)});registerLanguage$1({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagBracketInterpolationDollar)});registerLanguage$1({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagAngleInterpolationBracket)});registerLanguage$1({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagBracketInterpolationBracket)});registerLanguage$1({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage$1({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-CqItC8tM.js"),[]).then(n=>n.TagAutoInterpolationBracket)});registerLanguage$1({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>__vitePreload(()=>import("./go-Cphgjts3.js"),[])});registerLanguage$1({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>__vitePreload(()=>import("./graphql-Cg7bfA9N.js"),[])});registerLanguage$1({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>__vitePreload(()=>import("./handlebars-FiGedX3Z.js"),[])});registerLanguage$1({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>__vitePreload(()=>import("./hcl-0cvrggvQ.js"),[])});registerLanguage$1({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>__vitePreload(()=>import("./html-C5Vv-yWr.js"),[])});registerLanguage$1({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>__vitePreload(()=>import("./ini-Drc7WvVn.js"),[])});registerLanguage$1({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>__vitePreload(()=>import("./java-B_fMsGYe.js"),[])});registerLanguage$1({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>__vitePreload(()=>import("./javascript-D_O3wrrF.js"),__vite__mapDeps([0,1]))});registerLanguage$1({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>__vitePreload(()=>import("./julia-Bqgm2twL.js"),[])});registerLanguage$1({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>__vitePreload(()=>import("./kotlin-BSkB5QuD.js"),[])});registerLanguage$1({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>__vitePreload(()=>import("./less-BpQdNyL5.js"),[])});registerLanguage$1({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>__vitePreload(()=>import("./lexon-YWi4-JPR.js"),[])});registerLanguage$1({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>__vitePreload(()=>import("./lua-nf6ki56Z.js"),[])});registerLanguage$1({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>__vitePreload(()=>import("./liquid-g3XIY5n2.js"),[])});registerLanguage$1({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>__vitePreload(()=>import("./m3-Cpb6xl2v.js"),[])});registerLanguage$1({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>__vitePreload(()=>import("./markdown-DSZPf7rp.js"),[])});registerLanguage$1({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>__vitePreload(()=>import("./mdx-DwRth3ge.js"),[])});registerLanguage$1({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>__vitePreload(()=>import("./mips-B_c3zf-v.js"),[])});registerLanguage$1({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>__vitePreload(()=>import("./msdax-rUNN04Wq.js"),[])});registerLanguage$1({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>__vitePreload(()=>import("./mysql-DDwshQtU.js"),[])});registerLanguage$1({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>__vitePreload(()=>import("./objective-c-B5zXfXm9.js"),[])});registerLanguage$1({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>__vitePreload(()=>import("./pascal-CXOwvkN_.js"),[])});registerLanguage$1({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>__vitePreload(()=>import("./pascaligo-Bc-ZgV77.js"),[])});registerLanguage$1({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>__vitePreload(()=>import("./perl-CwNk8-XU.js"),[])});registerLanguage$1({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>__vitePreload(()=>import("./pgsql-tGk8EFnU.js"),[])});registerLanguage$1({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>__vitePreload(()=>import("./php-CpIb_Oan.js"),[])});registerLanguage$1({id:"pla",extensions:[".pla"],loader:()=>__vitePreload(()=>import("./pla-B03wrqEc.js"),[])});registerLanguage$1({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>__vitePreload(()=>import("./postiats-BKlk5iyT.js"),[])});registerLanguage$1({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>__vitePreload(()=>import("./powerquery-Bhzvs7bI.js"),[])});registerLanguage$1({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>__vitePreload(()=>import("./powershell-Dd3NCNK9.js"),[])});registerLanguage$1({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>__vitePreload(()=>import("./protobuf-xlMSjALG.js"),[])});registerLanguage$1({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>__vitePreload(()=>import("./pug-BaJupSGV.js"),[])});registerLanguage$1({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>__vitePreload(()=>import("./python-CtC6mPY7.js"),[])});registerLanguage$1({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>__vitePreload(()=>import("./qsharp-DXyYeYxl.js"),[])});registerLanguage$1({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>__vitePreload(()=>import("./r-CdQndTaG.js"),[])});registerLanguage$1({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>__vitePreload(()=>import("./razor-Boy388gF.js"),[])});registerLanguage$1({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>__vitePreload(()=>import("./redis-CVwtpugi.js"),[])});registerLanguage$1({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>__vitePreload(()=>import("./redshift-25W9uPmb.js"),[])});registerLanguage$1({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>__vitePreload(()=>import("./restructuredtext-DfzH4Xui.js"),[])});registerLanguage$1({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>__vitePreload(()=>import("./ruby-BUKB_EgG.js"),[])});registerLanguage$1({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>__vitePreload(()=>import("./rust-D5C2fndG.js"),[])});registerLanguage$1({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>__vitePreload(()=>import("./sb-CDntyWJ8.js"),[])});registerLanguage$1({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>__vitePreload(()=>import("./scala-BoFRg7Ot.js"),[])});registerLanguage$1({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>__vitePreload(()=>import("./scheme-Bio4gycK.js"),[])});registerLanguage$1({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>__vitePreload(()=>import("./scss-DMHQJHYT.js"),[])});registerLanguage$1({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>__vitePreload(()=>import("./shell-CX-rkNHf.js"),[])});registerLanguage$1({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>__vitePreload(()=>import("./solidity-Tw7wswEv.js"),[])});registerLanguage$1({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>__vitePreload(()=>import("./sophia-C5WLch3f.js"),[])});registerLanguage$1({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>__vitePreload(()=>import("./sparql-DHaeiCBh.js"),[])});registerLanguage$1({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>__vitePreload(()=>import("./sql-CCSDG5nI.js"),[])});registerLanguage$1({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>__vitePreload(()=>import("./st-pnP8ivHi.js"),[])});registerLanguage$1({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>__vitePreload(()=>import("./swift-DwJ7jVG9.js"),[])});registerLanguage$1({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>__vitePreload(()=>import("./systemverilog-B9Xyijhd.js"),[])});registerLanguage$1({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>__vitePreload(()=>import("./systemverilog-B9Xyijhd.js"),[])});registerLanguage$1({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>__vitePreload(()=>import("./tcl-DnHyzjbg.js"),[])});registerLanguage$1({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>__vitePreload(()=>import("./twig-CPajHgWi.js"),[])});registerLanguage$1({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>__vitePreload(()=>import("./typescript-BFYmaC_k.js"),[])});registerLanguage$1({id:"typespec",extensions:[".tsp"],aliases:["TypeSpec"],loader:()=>__vitePreload(()=>import("./typespec-DN6NNH85.js"),[])});registerLanguage$1({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>__vitePreload(()=>import("./vb-DgyLZaXg.js"),[])});registerLanguage$1({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>__vitePreload(()=>import("./wgsl-DyrQc-iL.js"),[])});registerLanguage$1({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\__vitePreload(()=>import("./xml-DUp1I-_o.js"),[])});registerLanguage$1({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>__vitePreload(()=>import("./yaml-Cle6ti2u.js"),[])});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$a=Object.defineProperty,__getOwnPropDesc$7=Object.getOwnPropertyDescriptor,__getOwnPropNames$7=Object.getOwnPropertyNames,__hasOwnProp$a=Object.prototype.hasOwnProperty,__copyProps$7=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$7(e))!__hasOwnProp$a.call(n,r)&&r!==t&&__defProp$a(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$7(e,r))||i.enumerable});return n},__reExport$7=(n,e,t)=>(__copyProps$7(n,e,"default"),t),monaco_editor_core_exports$7={};__reExport$7(monaco_editor_core_exports$7,monaco_editor_core_star$1);var LanguageServiceDefaultsImpl$7=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$7.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},optionsDefault$3={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},modeConfigurationDefault$5={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},cssDefaults$1=new LanguageServiceDefaultsImpl$7("css",optionsDefault$3,modeConfigurationDefault$5),scssDefaults$1=new LanguageServiceDefaultsImpl$7("scss",optionsDefault$3,modeConfigurationDefault$5),lessDefaults$1=new LanguageServiceDefaultsImpl$7("less",optionsDefault$3,modeConfigurationDefault$5);monaco_editor_core_exports$7.languages.css={cssDefaults:cssDefaults$1,lessDefaults:lessDefaults$1,scssDefaults:scssDefaults$1};function getMode$8(){return __vitePreload(()=>import("./cssMode-CtD66-AI.js"),[])}monaco_editor_core_exports$7.languages.onLanguage("less",()=>{getMode$8().then(n=>n.setupMode(lessDefaults$1))});monaco_editor_core_exports$7.languages.onLanguage("scss",()=>{getMode$8().then(n=>n.setupMode(scssDefaults$1))});monaco_editor_core_exports$7.languages.onLanguage("css",()=>{getMode$8().then(n=>n.setupMode(cssDefaults$1))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$8=Object.defineProperty,__getOwnPropDesc$6=Object.getOwnPropertyDescriptor,__getOwnPropNames$6=Object.getOwnPropertyNames,__hasOwnProp$9=Object.prototype.hasOwnProperty,__copyProps$6=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$6(e))!__hasOwnProp$9.call(n,r)&&r!==t&&__defProp$8(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$6(e,r))||i.enumerable});return n},__reExport$6=(n,e,t)=>(__copyProps$6(n,e,"default"),t),monaco_editor_core_exports$6={};__reExport$6(monaco_editor_core_exports$6,monaco_editor_core_star$1);var LanguageServiceDefaultsImpl$6=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$6.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},formatDefaults$1={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},optionsDefault$2={format:formatDefaults$1,suggest:{},data:{useDefaultDataProvider:!0}};function getConfigurationDefault$1(n){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:n===htmlLanguageId$1,documentFormattingEdits:n===htmlLanguageId$1,documentRangeFormattingEdits:n===htmlLanguageId$1}}var htmlLanguageId$1="html",handlebarsLanguageId$1="handlebars",razorLanguageId$1="razor",htmlLanguageService$1=registerHTMLLanguageService$1(htmlLanguageId$1,optionsDefault$2,getConfigurationDefault$1(htmlLanguageId$1)),htmlDefaults$1=htmlLanguageService$1.defaults,handlebarLanguageService$1=registerHTMLLanguageService$1(handlebarsLanguageId$1,optionsDefault$2,getConfigurationDefault$1(handlebarsLanguageId$1)),handlebarDefaults$1=handlebarLanguageService$1.defaults,razorLanguageService$1=registerHTMLLanguageService$1(razorLanguageId$1,optionsDefault$2,getConfigurationDefault$1(razorLanguageId$1)),razorDefaults$1=razorLanguageService$1.defaults;monaco_editor_core_exports$6.languages.html={htmlDefaults:htmlDefaults$1,razorDefaults:razorDefaults$1,handlebarDefaults:handlebarDefaults$1,htmlLanguageService:htmlLanguageService$1,handlebarLanguageService:handlebarLanguageService$1,razorLanguageService:razorLanguageService$1,registerHTMLLanguageService:registerHTMLLanguageService$1};function getMode$7(){return __vitePreload(()=>import("./htmlMode-CExHrrS-.js"),[])}function registerHTMLLanguageService$1(n,e=optionsDefault$2,t=getConfigurationDefault$1(n)){const i=new LanguageServiceDefaultsImpl$6(n,e,t);let r;const g=monaco_editor_core_exports$6.languages.onLanguage(n,async()=>{r=(await getMode$7()).setupMode(i)});return{defaults:i,dispose(){g.dispose(),r==null||r.dispose(),r=void 0}}}/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$7=Object.defineProperty,__getOwnPropDesc$5=Object.getOwnPropertyDescriptor,__getOwnPropNames$5=Object.getOwnPropertyNames,__hasOwnProp$7=Object.prototype.hasOwnProperty,__copyProps$5=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$5(e))!__hasOwnProp$7.call(n,r)&&r!==t&&__defProp$7(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$5(e,r))||i.enumerable});return n},__reExport$5=(n,e,t)=>(__copyProps$5(n,e,"default"),t),monaco_editor_core_exports$5={};__reExport$5(monaco_editor_core_exports$5,monaco_editor_core_star$1);var LanguageServiceDefaultsImpl$5=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$5.Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},diagnosticDefault$1={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},modeConfigurationDefault$4={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},jsonDefaults$1=new LanguageServiceDefaultsImpl$5("json",diagnosticDefault$1,modeConfigurationDefault$4),getWorker$2=()=>getMode$6().then(n=>n.getWorker());monaco_editor_core_exports$5.languages.json={jsonDefaults:jsonDefaults$1,getWorker:getWorker$2};function getMode$6(){return __vitePreload(()=>import("./jsonMode-1LI-3Dx5.js"),[])}monaco_editor_core_exports$5.languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});monaco_editor_core_exports$5.languages.onLanguage("json",()=>{getMode$6().then(n=>n.setupMode(jsonDefaults$1))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$6=Object.defineProperty,__getOwnPropDesc$4=Object.getOwnPropertyDescriptor,__getOwnPropNames$4=Object.getOwnPropertyNames,__hasOwnProp$6=Object.prototype.hasOwnProperty,__copyProps$4=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$4(e))!__hasOwnProp$6.call(n,r)&&r!==t&&__defProp$6(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$4(e,r))||i.enumerable});return n},__reExport$4=(n,e,t)=>(__copyProps$4(n,e,"default"),t),typescriptVersion$1="5.4.5",monaco_editor_core_exports$4={};__reExport$4(monaco_editor_core_exports$4,monaco_editor_core_star$1);var ModuleKind$1=(n=>(n[n.None=0]="None",n[n.CommonJS=1]="CommonJS",n[n.AMD=2]="AMD",n[n.UMD=3]="UMD",n[n.System=4]="System",n[n.ES2015=5]="ES2015",n[n.ESNext=99]="ESNext",n))(ModuleKind$1||{}),JsxEmit$1=(n=>(n[n.None=0]="None",n[n.Preserve=1]="Preserve",n[n.React=2]="React",n[n.ReactNative=3]="ReactNative",n[n.ReactJSX=4]="ReactJSX",n[n.ReactJSXDev=5]="ReactJSXDev",n))(JsxEmit$1||{}),NewLineKind$1=(n=>(n[n.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",n[n.LineFeed=1]="LineFeed",n))(NewLineKind$1||{}),ScriptTarget$1=(n=>(n[n.ES3=0]="ES3",n[n.ES5=1]="ES5",n[n.ES2015=2]="ES2015",n[n.ES2016=3]="ES2016",n[n.ES2017=4]="ES2017",n[n.ES2018=5]="ES2018",n[n.ES2019=6]="ES2019",n[n.ES2020=7]="ES2020",n[n.ESNext=99]="ESNext",n[n.JSON=100]="JSON",n[n.Latest=99]="Latest",n))(ScriptTarget$1||{}),ModuleResolutionKind$1=(n=>(n[n.Classic=1]="Classic",n[n.NodeJs=2]="NodeJs",n))(ModuleResolutionKind$1||{}),LanguageServiceDefaultsImpl$4=class{constructor(e,t,i,r,g){this._onDidChange=new monaco_editor_core_exports$4.Emitter,this._onDidExtraLibsChange=new monaco_editor_core_exports$4.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(e),this.setDiagnosticsOptions(t),this.setWorkerOptions(i),this.setInlayHintsOptions(r),this.setModeConfiguration(g),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(e,t){let i;if(typeof t>"u"?i="ts:extralib-".concat(Math.random().toString(36).substring(2,15)):i=t,this._extraLibs[i]&&this._extraLibs[i].content===e)return{dispose:()=>{}};let r=1;return this._removedExtraLibs[i]&&(r=this._removedExtraLibs[i]+1),this._extraLibs[i]&&(r=this._extraLibs[i].version+1),this._extraLibs[i]={content:e,version:r},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let g=this._extraLibs[i];g&&g.version===r&&(delete this._extraLibs[i],this._removedExtraLibs[i]=r,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(e){for(const t in this._extraLibs)this._removedExtraLibs[t]=this._extraLibs[t].version;if(this._extraLibs=Object.create(null),e&&e.length>0)for(const t of e){const i=t.filePath||"ts:extralib-".concat(Math.random().toString(36).substring(2,15)),r=t.content;let g=1;this._removedExtraLibs[i]&&(g=this._removedExtraLibs[i]+1),this._extraLibs[i]={content:r,version:g}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(e){this._compilerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(e){this._workerOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(e){this._inlayHintsOptions=e||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(e){}setEagerModelSync(e){this._eagerModelSync=e}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(void 0)}},typescriptVersion2$1=typescriptVersion$1,modeConfigurationDefault$3={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},typescriptDefaults$1=new LanguageServiceDefaultsImpl$4({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault$3),javascriptDefaults$1=new LanguageServiceDefaultsImpl$4({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault$3),getTypeScriptWorker$1=()=>getMode$5().then(n=>n.getTypeScriptWorker()),getJavaScriptWorker$1=()=>getMode$5().then(n=>n.getJavaScriptWorker());monaco_editor_core_exports$4.languages.typescript={ModuleKind:ModuleKind$1,JsxEmit:JsxEmit$1,NewLineKind:NewLineKind$1,ScriptTarget:ScriptTarget$1,ModuleResolutionKind:ModuleResolutionKind$1,typescriptVersion:typescriptVersion2$1,typescriptDefaults:typescriptDefaults$1,javascriptDefaults:javascriptDefaults$1,getTypeScriptWorker:getTypeScriptWorker$1,getJavaScriptWorker:getJavaScriptWorker$1};function getMode$5(){return __vitePreload(()=>import("./tsMode-0FPfFt8l.js"),[])}monaco_editor_core_exports$4.languages.onLanguage("typescript",()=>getMode$5().then(n=>n.setupTypeScript(typescriptDefaults$1)));monaco_editor_core_exports$4.languages.onLanguage("javascript",()=>getMode$5().then(n=>n.setupJavaScript(javascriptDefaults$1)));let ToggleCollapseUnchangedRegions$1=class extends Action2$1{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:localize2$1("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Codicon$1.map,toggled:ContextKeyExpr$1.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ContextKeyExpr$1.has("isInDiffEditor"),menu:{when:ContextKeyExpr$1.has("isInDiffEditor"),id:MenuId$1.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(IConfigurationService$1),r=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",r)}},ToggleShowMovedCodeBlocks$1=class extends Action2$1{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:localize2$1("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ContextKeyExpr$1.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService$1),r=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",r)}},ToggleUseInlineViewWhenSpaceIsLimited$1=class extends Action2$1{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:localize2$1("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ContextKeyExpr$1.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService$1),r=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",r)}};const diffEditorCategory$1=localize2$1("diffEditor","Diff Editor");let SwitchSide$1=class extends EditorAction2$1{constructor(){super({id:"diffEditor.switchSide",title:localize2$1("switchSide","Switch Side"),icon:Codicon$1.arrowSwap,precondition:ContextKeyExpr$1.has("isInDiffEditor"),f1:!0,category:diffEditorCategory$1})}runEditorCommand(e,t,i){const r=findFocusedDiffEditor$1(e);if(r instanceof DiffEditorWidget$1){if(i&&i.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}},ExitCompareMove$1=class extends EditorAction2$1{constructor(){super({id:"diffEditor.exitCompareMove",title:localize2$1("exitCompareMove","Exit Compare Move"),icon:Codicon$1.close,precondition:EditorContextKeys$1.comparingMovedCode,f1:!1,category:diffEditorCategory$1,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor$1(e);r instanceof DiffEditorWidget$1&&r.exitCompareMove()}},CollapseAllUnchangedRegions$1=class extends EditorAction2$1{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:localize2$1("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Codicon$1.fold,precondition:ContextKeyExpr$1.has("isInDiffEditor"),f1:!0,category:diffEditorCategory$1})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor$1(e);r instanceof DiffEditorWidget$1&&r.collapseAllUnchangedRegions()}},ShowAllUnchangedRegions$1=class extends EditorAction2$1{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:localize2$1("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Codicon$1.unfold,precondition:ContextKeyExpr$1.has("isInDiffEditor"),f1:!0,category:diffEditorCategory$1})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor$1(e);r instanceof DiffEditorWidget$1&&r.showAllUnchangedRegions()}},RevertHunkOrSelection$1=class extends Action2$1{constructor(){super({id:"diffEditor.revert",title:localize2$1("revert","Revert"),f1:!1,category:diffEditorCategory$1})}run(e,t){var r;const i=findDiffEditor$1(e,t.originalUri,t.modifiedUri);i instanceof DiffEditorWidget$1&&i.revertRangeMappings((r=t.mapping.innerChanges)!=null?r:[])}};const accessibleDiffViewerCategory$1=localize2$1("accessibleDiffViewer","Accessible Diff Viewer");var ma;let AccessibleDiffViewerNext$1=(ma=class extends Action2$1{constructor(){super({id:ma.id,title:localize2$1("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:accessibleDiffViewerCategory$1,precondition:ContextKeyExpr$1.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor$1(e);t==null||t.accessibleDiffViewerNext()}},ma.id="editor.action.accessibleDiffViewer.next",ma);var va;let AccessibleDiffViewerPrev$1=(va=class extends Action2$1{constructor(){super({id:va.id,title:localize2$1("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:accessibleDiffViewerCategory$1,precondition:ContextKeyExpr$1.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor$1(e);t==null||t.accessibleDiffViewerPrev()}},va.id="editor.action.accessibleDiffViewer.prev",va);function findDiffEditor$1(n,e,t){return n.get(ICodeEditorService$1).listDiffEditors().find(g=>{var L,V;const y=g.getModifiedEditor(),k=g.getOriginalEditor();return y&&((L=y.getModel())==null?void 0:L.uri.toString())===t.toString()&&k&&((V=k.getModel())==null?void 0:V.uri.toString())===e.toString()})||null}function findFocusedDiffEditor$1(n){const t=n.get(ICodeEditorService$1).listDiffEditors(),i=getActiveElement$1();if(i)for(const r of t){const g=r.getContainerDomNode();if(isElementOrParentOf$1(g,i))return r}return null}function isElementOrParentOf$1(n,e){let t=e;for(;t;){if(t===n)return!0;t=t.parentElement}return!1}registerAction2$1(ToggleCollapseUnchangedRegions$1);registerAction2$1(ToggleShowMovedCodeBlocks$1);registerAction2$1(ToggleUseInlineViewWhenSpaceIsLimited$1);MenuRegistry$1.appendMenuItem(MenuId$1.EditorTitle,{command:{id:new ToggleUseInlineViewWhenSpaceIsLimited$1().desc.id,title:localize$1("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ContextKeyExpr$1.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ContextKeyExpr$1.has("isInDiffEditor")},order:11,group:"1_diff",when:ContextKeyExpr$1.and(EditorContextKeys$1.diffEditorRenderSideBySideInlineBreakpointReached,ContextKeyExpr$1.has("isInDiffEditor"))});MenuRegistry$1.appendMenuItem(MenuId$1.EditorTitle,{command:{id:new ToggleShowMovedCodeBlocks$1().desc.id,title:localize$1("showMoves","Show Moved Code Blocks"),icon:Codicon$1.move,toggled:ContextKeyEqualsExpr$1.create("config.diffEditor.experimental.showMoves",!0),precondition:ContextKeyExpr$1.has("isInDiffEditor")},order:10,group:"1_diff",when:ContextKeyExpr$1.has("isInDiffEditor")});registerAction2$1(RevertHunkOrSelection$1);for(const n of[{icon:Codicon$1.arrowRight,key:EditorContextKeys$1.diffEditorInlineMode.toNegated()},{icon:Codicon$1.discard,key:EditorContextKeys$1.diffEditorInlineMode}])MenuRegistry$1.appendMenuItem(MenuId$1.DiffEditorHunkToolbar,{command:{id:new RevertHunkOrSelection$1().desc.id,title:localize$1("revertHunk","Revert Block"),icon:n.icon},when:ContextKeyExpr$1.and(EditorContextKeys$1.diffEditorModifiedWritable,n.key),order:5,group:"primary"}),MenuRegistry$1.appendMenuItem(MenuId$1.DiffEditorSelectionToolbar,{command:{id:new RevertHunkOrSelection$1().desc.id,title:localize$1("revertSelection","Revert Selection"),icon:n.icon},when:ContextKeyExpr$1.and(EditorContextKeys$1.diffEditorModifiedWritable,n.key),order:5,group:"primary"});registerAction2$1(SwitchSide$1);registerAction2$1(ExitCompareMove$1);registerAction2$1(CollapseAllUnchangedRegions$1);registerAction2$1(ShowAllUnchangedRegions$1);MenuRegistry$1.appendMenuItem(MenuId$1.EditorTitle,{command:{id:AccessibleDiffViewerNext$1.id,title:localize$1("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ContextKeyExpr$1.has("isInDiffEditor")},order:10,group:"2_diff",when:ContextKeyExpr$1.and(EditorContextKeys$1.accessibleDiffViewerVisible.negate(),ContextKeyExpr$1.has("isInDiffEditor"))});CommandsRegistry$1.registerCommandAlias("editor.action.diffReview.next",AccessibleDiffViewerNext$1.id);registerAction2$1(AccessibleDiffViewerNext$1);CommandsRegistry$1.registerCommandAlias("editor.action.diffReview.prev",AccessibleDiffViewerPrev$1.id);registerAction2$1(AccessibleDiffViewerPrev$1);var __decorate$46=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3Y=function(n,e){return function(t,i){e(t,i,n)}},SelectionAnchorController_1$1;const SelectionAnchorSet$1=new RawContextKey$1("selectionAnchorSet",!1);var ba;let SelectionAnchorController$1=(ba=class{static get(e){return e.getContribution(SelectionAnchorController_1$1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=SelectionAnchorSet$1.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Selection$3.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new MarkdownString$1().appendText(localize$1("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),alert$1(localize$1("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Selection$3.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},SelectionAnchorController_1$1=ba,ba.ID="editor.contrib.selectionAnchorController",ba);SelectionAnchorController$1=SelectionAnchorController_1$1=__decorate$46([__param$3Y(1,IContextKeyService$1)],SelectionAnchorController$1);let SetSelectionAnchor$1=class extends EditorAction$1{constructor(){super({id:"editor.action.setSelectionAnchor",label:localize$1("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2080),weight:100}})}async run(e,t){var i;(i=SelectionAnchorController$1.get(t))==null||i.setSelectionAnchor()}},GoToSelectionAnchor$1=class extends EditorAction$1{constructor(){super({id:"editor.action.goToSelectionAnchor",label:localize$1("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:SelectionAnchorSet$1})}async run(e,t){var i;(i=SelectionAnchorController$1.get(t))==null||i.goToSelectionAnchor()}},SelectFromAnchorToCursor$1=class extends EditorAction$1{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:localize$1("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:SelectionAnchorSet$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2089),weight:100}})}async run(e,t){var i;(i=SelectionAnchorController$1.get(t))==null||i.selectFromAnchorToCursor()}},CancelSelectionAnchor$1=class extends EditorAction$1{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:localize$1("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:SelectionAnchorSet$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=SelectionAnchorController$1.get(t))==null||i.cancelSelectionAnchor()}};registerEditorContribution$1(SelectionAnchorController$1.ID,SelectionAnchorController$1,4);registerEditorAction$1(SetSelectionAnchor$1);registerEditorAction$1(GoToSelectionAnchor$1);registerEditorAction$1(SelectFromAnchorToCursor$1);registerEditorAction$1(CancelSelectionAnchor$1);const overviewRulerBracketMatchForeground$1=registerColor$1("editorOverviewRuler.bracketMatchForeground","#A0A0A0",localize$1("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));let JumpToBracketAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.jumpToBracket",label:localize$1("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=BracketMatchingController$1.get(t))==null||i.jumpToBracket()}},SelectToBracketAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.selectToBracket",label:localize$1("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:localize2$1("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var g;let r=!0;i&&i.selectBrackets===!1&&(r=!1),(g=BracketMatchingController$1.get(t))==null||g.selectToBracket(r)}},RemoveBracketsAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.removeBrackets",label:localize$1("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=BracketMatchingController$1.get(t))==null||i.removeBrackets(this.id)}},BracketsData$1=class{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}};var Lo;let BracketMatchingController$1=(Lo=class extends Disposable$1{static get(e){return e.getContribution(Lo.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new RunOnceScheduler$1(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const r=i.getStartPosition(),g=e.bracketPairs.matchBracket(r);let y=null;if(g)g[0].containsPosition(r)&&!g[1].containsPosition(r)?y=g[1].getStartPosition():g[1].containsPosition(r)&&(y=g[0].getStartPosition());else{const k=e.bracketPairs.findEnclosingBrackets(r);if(k)y=k[1].getStartPosition();else{const L=e.bracketPairs.findNextBracket(r);L&&L.range&&(y=L.range.getStartPosition())}}return y?new Selection$3(y.lineNumber,y.column,y.lineNumber,y.column):new Selection$3(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(r=>{const g=r.getStartPosition();let y=t.bracketPairs.matchBracket(g);if(!y&&(y=t.bracketPairs.findEnclosingBrackets(g),!y)){const V=t.bracketPairs.findNextBracket(g);V&&V.range&&(y=t.bracketPairs.matchBracket(V.range.getStartPosition()))}let k=null,L=null;if(y){y.sort(Range$5.compareRangesUsingStarts);const[V,z]=y;if(k=e?V.getStartPosition():V.getEndPosition(),L=e?z.getEndPosition():z.getStartPosition(),z.containsPosition(g)){const j=k;k=L,L=j}}k&&L&&i.push(new Selection$3(k.lineNumber,k.column,L.lineNumber,L.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const r=i.getPosition();let g=t.bracketPairs.matchBracket(r);g||(g=t.bracketPairs.findEnclosingBrackets(r)),g&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:g[0],text:""},{range:g[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const r=i.brackets;r&&(e[t++]={range:r[0],options:i.options},e[t++]={range:r[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let r=[];this._lastVersionId===i&&(r=this._lastBracketsData);const g=[];let y=0;for(let j=0,ie=e.length;j1&&g.sort(Position$3.compare);const k=[];let L=0,V=0;const z=r.length;for(let j=0,ie=g.length;j0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}};registerEditorAction$1(TransposeLettersAction$1);const generateUuid$1=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let n;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?n=crypto.getRandomValues.bind(crypto):n=function(i){for(let r=0;rn,asFile:()=>{},value:typeof n=="string"?n:void 0}}function createFileDataTransferItem$1(n,e,t){const i={id:generateUuid$1(),name:n,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}let VSDataTransfer$1=class{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return Iterable$1.some(this,([i,r])=>r.asFile())&&t.push("files"),matchesMimeType_normalized$1(normalizeMimeType$1(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return normalizeMimeType$1(e)}};function normalizeMimeType$1(n){return n.toLowerCase()}function matchesMimeType$1(n,e){return matchesMimeType_normalized$1(normalizeMimeType$1(n),e.map(normalizeMimeType$1))}function matchesMimeType_normalized$1(n,e){if(n==="*/*")return e.length>0;if(e.includes(n))return!0;const t=n.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,r,g]=t;return g==="*"?e.some(y=>y.startsWith(r+"/")):!1}const UriList$1=Object.freeze({create:n=>distinct$1(n.map(e=>e.toString())).join("\r\n"),split:n=>n.split("\r\n"),parse:n=>UriList$1.split(n).filter(e=>!e.startsWith("#"))});var co;let HierarchicalKind$1=(co=class{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+co.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new co((this.value?[this.value,...e]:e).join(co.sep))}},co.sep=".",co.None=new co("@@none@@"),co.Empty=new co(""),co);const CodeDataTransfers$1={EDITORS:"CodeEditors",FILES:"CodeFiles"};let DragAndDropContributionRegistry$1=class{};const Extensions$a={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Registry$1.add(Extensions$a.DragAndDropContribution,new DragAndDropContributionRegistry$1);var Wr;let LocalSelectionTransfer$1=(Wr=class{constructor(){}static getInstance(){return Wr.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}},Wr.INSTANCE=new Wr,Wr);function toVSDataTransfer$1(n){const e=new VSDataTransfer$1;for(const t of n.items){const i=t.type;if(t.kind==="string"){const r=new Promise(g=>t.getAsString(g));e.append(i,createStringDataTransferItem$1(r))}else if(t.kind==="file"){const r=t.getAsFile();r&&e.append(i,createFileDataTransferItemFromFile$1(r))}}return e}function createFileDataTransferItemFromFile$1(n){const e=n.path?URI$1.parse(n.path):void 0;return createFileDataTransferItem$1(n.name,e,async()=>new Uint8Array(await n.arrayBuffer()))}const INTERNAL_DND_MIME_TYPES$1=Object.freeze([CodeDataTransfers$1.EDITORS,CodeDataTransfers$1.FILES,DataTransfers$1.RESOURCES,DataTransfers$1.INTERNAL_URI_LIST]);function toExternalVSDataTransfer$1(n,e=!1){const t=toVSDataTransfer$1(n),i=t.get(DataTransfers$1.INTERNAL_URI_LIST);if(i)t.replace(Mimes$1.uriList,i);else if(e||!t.has(Mimes$1.uriList)){const r=[];for(const g of n.items){const y=g.getAsFile();if(y){const k=y.path;try{k?r.push(URI$1.file(k).toString()):r.push(URI$1.parse(y.name,!0).toString())}catch(L){}}}r.length&&t.replace(Mimes$1.uriList,createStringDataTransferItem$1(UriList$1.create(r)))}for(const r of INTERNAL_DND_MIME_TYPES$1)t.delete(r);return t}var __decorate$45=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3X=function(n,e){return function(t,i){e(t,i,n)}};let SimplePasteAndDropProvider$1=class{async provideDocumentPasteEdits(e,t,i,r,g){const y=await this.getEdit(i,g);if(y)return{edits:[{insertText:y.insertText,title:y.title,kind:y.kind,handledMimeType:y.handledMimeType,yieldTo:y.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,r){const g=await this.getEdit(i,r);if(g)return{edits:[{insertText:g.insertText,title:g.title,kind:g.kind,handledMimeType:g.handledMimeType,yieldTo:g.yieldTo}],dispose(){}}}};var Vr;let DefaultTextPasteOrDropEditProvider$1=(Vr=class extends SimplePasteAndDropProvider$1{constructor(){super(...arguments),this.kind=Vr.kind,this.dropMimeTypes=[Mimes$1.text],this.pasteMimeTypes=[Mimes$1.text]}async getEdit(e,t){const i=e.get(Mimes$1.text);if(!i||e.has(Mimes$1.uriList))return;const r=await i.asString();return{handledMimeType:Mimes$1.text,title:localize$1("text.label","Insert Plain Text"),insertText:r,kind:this.kind}}},Vr.id="text",Vr.kind=new HierarchicalKind$1("text.plain"),Vr),PathProvider$1=class extends SimplePasteAndDropProvider$1{constructor(){super(...arguments),this.kind=new HierarchicalKind$1("uri.absolute"),this.dropMimeTypes=[Mimes$1.uriList],this.pasteMimeTypes=[Mimes$1.uriList]}async getEdit(e,t){const i=await extractUriList$1(e);if(!i.length||t.isCancellationRequested)return;let r=0;const g=i.map(({uri:k,originalText:L})=>k.scheme===Schemas$1.file?k.fsPath:(r++,L)).join(" ");let y;return r>0?y=i.length>1?localize$1("defaultDropProvider.uriList.uris","Insert Uris"):localize$1("defaultDropProvider.uriList.uri","Insert Uri"):y=i.length>1?localize$1("defaultDropProvider.uriList.paths","Insert Paths"):localize$1("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Mimes$1.uriList,insertText:g,title:y,kind:this.kind}}},RelativePathProvider$1=class extends SimplePasteAndDropProvider$1{constructor(e){super(),this._workspaceContextService=e,this.kind=new HierarchicalKind$1("uri.relative"),this.dropMimeTypes=[Mimes$1.uriList],this.pasteMimeTypes=[Mimes$1.uriList]}async getEdit(e,t){const i=await extractUriList$1(e);if(!i.length||t.isCancellationRequested)return;const r=coalesce$1(i.map(({uri:g})=>{const y=this._workspaceContextService.getWorkspaceFolder(g);return y?relativePath$1(y.uri,g):void 0}));if(r.length)return{handledMimeType:Mimes$1.uriList,insertText:r.join(" "),title:i.length>1?localize$1("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):localize$1("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};RelativePathProvider$1=__decorate$45([__param$3X(0,IWorkspaceContextService$1)],RelativePathProvider$1);let PasteHtmlProvider$1=class{constructor(){this.kind=new HierarchicalKind$1("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Mimes$1.text}]}async provideDocumentPasteEdits(e,t,i,r,g){var L;if(r.triggerKind!==DocumentPasteTriggerKind$1.PasteAs&&!((L=r.only)!=null&&L.contains(this.kind)))return;const y=i.get("text/html"),k=await(y==null?void 0:y.asString());if(!(!k||g.isCancellationRequested))return{dispose(){},edits:[{insertText:k,yieldTo:this._yieldTo,title:localize$1("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}};async function extractUriList$1(n){const e=n.get(Mimes$1.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const r of UriList$1.parse(t))try{i.push({uri:URI$1.parse(r),originalText:r})}catch(g){}return i}let DefaultDropProvidersFeature$1=class extends Disposable$1{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new DefaultTextPasteOrDropEditProvider$1)),this._register(e.documentDropEditProvider.register("*",new PathProvider$1)),this._register(e.documentDropEditProvider.register("*",new RelativePathProvider$1(t)))}};DefaultDropProvidersFeature$1=__decorate$45([__param$3X(0,ILanguageFeaturesService$1),__param$3X(1,IWorkspaceContextService$1)],DefaultDropProvidersFeature$1);let DefaultPasteProvidersFeature$1=class extends Disposable$1{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new DefaultTextPasteOrDropEditProvider$1)),this._register(e.documentPasteEditProvider.register("*",new PathProvider$1)),this._register(e.documentPasteEditProvider.register("*",new RelativePathProvider$1(t))),this._register(e.documentPasteEditProvider.register("*",new PasteHtmlProvider$1))}};DefaultPasteProvidersFeature$1=__decorate$45([__param$3X(0,ILanguageFeaturesService$1),__param$3X(1,IWorkspaceContextService$1)],DefaultPasteProvidersFeature$1);var io;let Scanner$3=(io=class{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),r;if(r=io._table[i],typeof r=="number")return this.pos+=1,{type:r,pos:e,len:1};if(io.isDigitCharacter(i)){r=8;do t+=1,i=this.value.charCodeAt(e+t);while(io.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}if(io.isVariableCharacter(i)){r=9;do i=this.value.charCodeAt(e+ ++t);while(io.isVariableCharacter(i)||io.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}r=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof io._table[i]>"u"&&!io.isDigitCharacter(i)&&!io.isVariableCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}},io._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13},io),Marker$1=class{constructor(){this._children=[]}appendChild(e){return e instanceof Text$1&&this._children[this._children.length-1]instanceof Text$1?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,r=i.children.indexOf(e),g=i.children.slice(0);g.splice(r,1,...t),i._children=g,function y(k,L){for(const V of k)V.parent=L,y(V.children,V)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof TextmateSnippet$1)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}},Text$1=class Th extends Marker$1{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Th(this.value)}},TransformableMarker$1=class extends Marker$1{},Placeholder$1=class Nh extends TransformableMarker$1{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Choice$1?this._children[0]:void 0}clone(){const e=new Nh(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}},Choice$1=class Rh extends Marker$1{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Text$1&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Rh;return this.options.forEach(e.appendChild,e),e}},Transform$1=class Mh extends Marker$1{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,r=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(g=>g instanceof FormatString$1&&!!g.elseValue)&&(r=this._replace([])),r}_replace(e){let t="";for(const i of this._children)if(i instanceof FormatString$1){let r=e[i.index]||"";r=i.resolve(r),t+=r}else t+=i.toString();return t}toString(){return""}clone(){const e=new Mh;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}},FormatString$1=class Ah extends Marker$1{constructor(e,t,i,r){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=r}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,r)=>r===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Ah(this.index,this.shorthandName,this.ifValue,this.elseValue)}},Variable$1=class Ph extends TransformableMarker$1{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Text$1(t)],!0):!1}clone(){const e=new Ph(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}};function walk$3(n,e){const t=[...n];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}let TextmateSnippet$1=class Oh extends Marker$1{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Placeholder$1&&(e.push(i),t=!t||t.indexr===e?(i=!0,!1):(t+=r.len(),!0)),i?t:-1}fullLen(e){let t=0;return walk$3([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Placeholder$1&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Variable$1&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new Oh;return this._children=this.children.map(t=>t.clone()),e}walk(e){walk$3(this.children,e)}},SnippetParser$1=class{constructor(){this._scanner=new Scanner$3,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const r=new TextmateSnippet$1;return this.parseFragment(e,r),this.ensureFinalTabstop(r,i!=null?i:!1,t!=null?t:!1),r}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const r=new Map,g=[];t.walk(L=>(L instanceof Placeholder$1&&(L.isFinalTabstop?r.set(0,void 0):!r.has(L.index)&&L.children.length>0?r.set(L.index,L.children):g.push(L)),!0));const y=(L,V)=>{const z=r.get(L.index);if(!z)return;const j=new Placeholder$1(L.index);j.transform=L.transform;for(const ie of z){const oe=ie.clone();j.appendChild(oe),oe instanceof Placeholder$1&&r.has(oe.index)&&!V.has(oe.index)&&(V.add(oe.index),y(oe,V),V.delete(oe.index))}t.replace(L,[j])},k=new Set;for(const L of g)y(L,k);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(g=>g.index===0)||e.appendChild(new Placeholder$1(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const r=this._scanner.next();if(r.type!==0&&r.type!==4&&r.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Text$1(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Placeholder$1(Number(t)):new Variable$1(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const g=new Placeholder$1(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(g),!0;if(!this._parse(g))return e.appendChild(new Text$1("${"+t+":")),g.children.forEach(e.appendChild,e),!0}else if(g.index>0&&this._accept(7)){const y=new Choice$1;for(;;){if(this._parseChoiceElement(y)){if(this._accept(2))continue;if(this._accept(7)&&(g.appendChild(y),this._accept(4)))return e.appendChild(g),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(g)?(e.appendChild(g),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(g),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let r;if((r=this._accept(5,!0))?r=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||r:r=this._accept(void 0,!0),!r)return this._backTo(t),!1;i.push(r)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Text$1(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const g=new Variable$1(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(g),!0;if(!this._parse(g))return e.appendChild(new Text$1("${"+t+":")),g.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(g)?(e.appendChild(g),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(g),!0):this._backTo(i)}_parseTransform(e){const t=new Transform$1;let i="",r="";for(;!this._accept(6);){let g;if(g=this._accept(5,!0)){g=this._accept(6,!0)||g,i+=g;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let g;if(g=this._accept(5,!0)){g=this._accept(5,!0)||this._accept(6,!0)||g,t.appendChild(new Text$1(g));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,r)}catch(g){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const r=this._accept(8,!0);if(r)if(i){if(this._accept(4))return e.appendChild(new FormatString$1(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new FormatString$1(Number(r))),!0;else return this._backTo(t),!1;if(this._accept(6)){const g=this._accept(9,!0);return!g||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new FormatString$1(Number(r),g)),!0)}else if(this._accept(11)){const g=this._until(4);if(g)return e.appendChild(new FormatString$1(Number(r),void 0,g,void 0)),!0}else if(this._accept(12)){const g=this._until(4);if(g)return e.appendChild(new FormatString$1(Number(r),void 0,void 0,g)),!0}else if(this._accept(13)){const g=this._until(1);if(g){const y=this._until(4);if(y)return e.appendChild(new FormatString$1(Number(r),void 0,g,y)),!0}}else{const g=this._until(4);if(g)return e.appendChild(new FormatString$1(Number(r),void 0,void 0,g)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Text$1(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}};function createCombinedWorkspaceEdit$1(n,e,t){var i,r,g,y;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:(r=(i=t.additionalEdit)==null?void 0:i.edits)!=null?r:[]}:{edits:[...e.map(k=>new ResourceTextEdit$1(n,{range:k,text:typeof t.insertText=="string"?SnippetParser$1.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...(y=(g=t.additionalEdit)==null?void 0:g.edits)!=null?y:[]]}}function sortEditsByYieldTo$1(n){var y;function e(k,L){return"mimeType"in k?k.mimeType===L.handledMimeType:!!L.kind&&k.kind.contains(L.kind)}const t=new Map;for(const k of n)for(const L of(y=k.yieldTo)!=null?y:[])for(const V of n)if(V!==k&&e(L,V)){let z=t.get(k);z||(z=[],t.set(k,z)),z.push(V)}if(!t.size)return Array.from(n);const i=new Set,r=[];function g(k){if(!k.length)return[];const L=k[0];if(r.includes(L))return console.warn("Yield to cycle detected",L),k;if(i.has(L))return g(k.slice(1));let V=[];const z=t.get(L);return z&&(r.push(L),V=g(z),r.pop()),i.add(L),[...V,L,...g(k.slice(1))]}return g(Array.from(n))}var __decorate$44=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3W=function(n,e){return function(t,i){e(t,i,n)}};const inlineProgressDecoration$1=ModelDecorationOptions$1.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:noBreakWhitespace$1,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});var Ca;let InlineProgressWidget$1=(Ca=class extends Disposable$1{constructor(e,t,i,r,g){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=g,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=$$u(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=$$u("span.icon");this.domNode.append(t),t.classList.add(...ThemeIcon$1.asClassNameArray(Codicon$1.loading),"codicon-modifier-spin");const i=()=>{const r=this.editor.getOption(67);this.domNode.style.height="".concat(r,"px"),this.domNode.style.width="".concat(Math.ceil(.8*r),"px")};i(),this._register(this.editor.onDidChangeConfiguration(r=>{(r.hasChanged(52)||r.hasChanged(67))&&i()})),this._register(addDisposableListener$1(this.domNode,EventType$3.CLICK,r=>{this.delegate.cancel()}))}getId(){return Ca.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}},Ca.baseId="editor.widget.inlineProgressWidget",Ca),InlineProgressManager$1=class extends Disposable$1{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new MutableDisposable$1),this._currentWidget=this._register(new MutableDisposable$1),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,r,g){const y=this._operationIdPool++;this._currentOperation=y,this.clear(),this._showPromise.value=disposableTimeout$1(()=>{const k=Range$5.fromPositions(e);this._currentDecorations.set([{range:k,options:inlineProgressDecoration$1}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(InlineProgressWidget$1,this.id,this._editor,k,t,r))},g!=null?g:this._showDelay);try{return await i}finally{this._currentOperation===y&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};InlineProgressManager$1=__decorate$44([__param$3W(2,IInstantiationService$1)],InlineProgressManager$1);var __decorate$43=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3V=function(n,e){return function(t,i){e(t,i,n)}},MessageController_1$1,zr;let MessageController$1=(zr=class{static get(e){return e.getContribution(MessageController_1$1.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new MutableDisposable$1,this._messageListeners=new DisposableStore$1,this._mouseOverMessage=!1,this._editor=e,this._visible=MessageController_1$1.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){alert$1(isMarkdownString$1(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=isMarkdownString$1(e)?renderMarkdown$1(e,{actionHandler:{callback:r=>{this.closeMessage(),openLinkFromMarkdown$1(this._openerService,r,isMarkdownString$1(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new MessageWidget$3(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Event$2.debounce(this._editor.onDidBlurEditorText,(r,g)=>g,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&isAncestor$3(getActiveElement$1(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(addDisposableListener$1(this._messageWidget.value.getDomNode(),EventType$3.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(addDisposableListener$1(this._messageWidget.value.getDomNode(),EventType$3.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(i?i.containsPosition(r.target.position)||this.closeMessage():i=new Range$5(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(MessageWidget$3.fadeOut(this._messageWidget.value))}},MessageController_1$1=zr,zr.ID="editor.contrib.messageController",zr.MESSAGE_VISIBLE=new RawContextKey$1("messageVisible",!1,localize$1("messageVisible","Whether the editor is currently showing an inline message")),zr);MessageController$1=MessageController_1$1=__decorate$43([__param$3V(1,IContextKeyService$1),__param$3V(2,IOpenerService$1)],MessageController$1);const MessageCommand$1=EditorCommand$1.bindToContribution(MessageController$1.get);registerEditorCommand$1(new MessageCommand$1({id:"leaveEditorMessage",precondition:MessageController$1.MESSAGE_VISIBLE,handler:n=>n.closeMessage(),kbOpts:{weight:130,primary:9}}));let MessageWidget$3=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const g=document.createElement("div");g.classList.add("anchor","top"),this._domNode.appendChild(g);const y=document.createElement("div");typeof r=="string"?(y.classList.add("message"),y.textContent=r):(r.classList.add("message"),y.appendChild(r)),this._domNode.appendChild(y);const k=document.createElement("div");k.classList.add("anchor","below"),this._domNode.appendChild(k),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};registerEditorContribution$1(MessageController$1.ID,MessageController$1,4);function exceptionToErrorMessage$1(n,e){return e&&(n.stack||n.stacktrace)?localize$1("stackTrace.format","{0}: {1}",detectSystemErrorMessage$1(n),stackToString$1(n.stack)||stackToString$1(n.stacktrace)):detectSystemErrorMessage$1(n)}function stackToString$1(n){return Array.isArray(n)?n.join("\n"):n}function detectSystemErrorMessage$1(n){return n.code==="ERR_UNC_HOST_NOT_ALLOWED"?"".concat(n.message,". Please update the 'security.allowedUNCHosts' setting if you want to allow this host."):typeof n.code=="string"&&typeof n.errno=="number"&&typeof n.syscall=="string"?localize$1("nodeExceptionMessage","A system error occurred ({0})",n.message):n.message||localize$1("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function toErrorMessage$1(n=null,e=!1){if(!n)return localize$1("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(n)){const t=coalesce$1(n),i=toErrorMessage$1(t[0],e);return t.length>1?localize$1("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(isString$7(n))return n;if(n.detail){const t=n.detail;if(t.error)return exceptionToErrorMessage$1(t.error,e);if(t.exception)return exceptionToErrorMessage$1(t.exception,e)}return n.stack?exceptionToErrorMessage$1(n,e):n.message?n.message:localize$1("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var __decorate$42=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3U=function(n,e){return function(t,i){e(t,i,n)}},PostEditWidget_1$1,Sa;let PostEditWidget$1=(Sa=class extends Disposable$1{constructor(e,t,i,r,g,y,k,L,V,z){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=g,this.edits=y,this.onSelectNewEdit=k,this._contextMenuService=L,this._keybindingService=z,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(V),this.visibleContext.set(!0),this._register(toDisposable$1(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(toDisposable$1(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(j=>{g.containsPosition(j.position)||this.dispose()})),this._register(Event$2.runAndSubscribe(z.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?" (".concat(e,")"):"")}create(){this.domNode=$$u(".post-edit-widget"),this.button=this._register(new Button$2(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(addDisposableListener$1(this.domNode,EventType$3.CLICK,()=>this.showSelector()))}getId(){return PostEditWidget_1$1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=getDomNodePagePosition$1(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>toAction$1({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},PostEditWidget_1$1=Sa,Sa.baseId="editor.widget.postEditWidget",Sa);PostEditWidget$1=PostEditWidget_1$1=__decorate$42([__param$3U(7,IContextMenuService$1),__param$3U(8,IContextKeyService$1),__param$3U(9,IKeybindingService$1)],PostEditWidget$1);let PostEditWidgetManager$1=class extends Disposable$1{constructor(e,t,i,r,g,y,k){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=r,this._instantiationService=g,this._bulkEditService=y,this._notificationService=k,this._currentWidget=this._register(new MutableDisposable$1),this._register(Event$2.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,r,g){const y=this._editor.getModel();if(!y||!e.length)return;const k=t.allEdits.at(t.activeEditIndex);if(!k)return;const L=async le=>{const de=this._editor.getModel();de&&(await de.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:le,allEdits:t.allEdits},i,r,g))},V=(le,de)=>{isCancellationError$1(le)||(this._notificationService.error(de),i&&this.show(e[0],t,L))};let z;try{z=await r(k,g)}catch(le){return V(le,localize$1("resolveError","Error resolving edit '{0}':\n{1}",k.title,toErrorMessage$1(le)))}if(g.isCancellationRequested)return;const j=createCombinedWorkspaceEdit$1(y.uri,e,z),ie=e[0],oe=y.deltaDecorations([],[{range:ie,options:{description:"paste-line-suffix",stickiness:0}}]);this._editor.focus();let re,ae;try{re=await this._bulkEditService.apply(j,{editor:this._editor,token:g}),ae=y.getDecorationRange(oe[0])}catch(le){return V(le,localize$1("applyError","Error applying edit '{0}':\n{1}",k.title,toErrorMessage$1(le)))}finally{y.deltaDecorations(oe,[])}g.isCancellationRequested||i&&re.isApplied&&t.allEdits.length>1&&this.show(ae!=null?ae:ie,t,L)}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(PostEditWidget$1,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)==null||e.showSelector()}};PostEditWidgetManager$1=__decorate$42([__param$3U(4,IInstantiationService$1),__param$3U(5,IBulkEditService$1),__param$3U(6,INotificationService$1)],PostEditWidgetManager$1);var __decorate$41=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3T=function(n,e){return function(t,i){e(t,i,n)}},CopyPasteController_1$1;const changePasteTypeCommandId$1="editor.changePasteType",pasteWidgetVisibleCtx$1=new RawContextKey$1("pasteWidgetVisible",!1,localize$1("pasteWidgetVisible","Whether the paste widget is showing")),vscodeClipboardMime$1="application/vnd.code.copyMetadata";var ya;let CopyPasteController$1=(ya=class extends Disposable$1{static get(e){return e.getContribution(CopyPasteController_1$1.ID)}constructor(e,t,i,r,g,y,k){super(),this._bulkEditService=i,this._clipboardService=r,this._languageFeaturesService=g,this._quickInputService=y,this._progressService=k,this._editor=e;const L=e.getContainerDomNode();this._register(addDisposableListener$1(L,"copy",V=>this.handleCopy(V))),this._register(addDisposableListener$1(L,"cut",V=>this.handleCopy(V))),this._register(addDisposableListener$1(L,"paste",V=>this.handlePaste(V),!0)),this._pasteProgressManager=this._register(new InlineProgressManager$1("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(PostEditWidgetManager$1,"pasteIntoEditor",e,pasteWidgetVisibleCtx$1,{id:changePasteTypeCommandId$1,label:localize$1("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},getActiveDocument$1().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var ae,le,de,ue;if(!this._editor.hasTextFocus()||((le=(ae=this._clipboardService).clearInternalState)==null||le.call(ae),!e.clipboardData||!this.isPasteAsEnabled()))return;const t=this._editor.getModel(),i=this._editor.getSelections();if(!t||!(i!=null&&i.length))return;const r=this._editor.getOption(37);let g=i;const y=i.length===1&&i[0].isEmpty();if(y){if(!r)return;g=[new Range$5(g[0].startLineNumber,1,g[0].startLineNumber,1+t.getLineLength(g[0].startLineNumber))]}const k=(de=this._editor._getViewModel())==null?void 0:de.getPlainTextToCopy(i,r,isWindows$1),V={multicursorText:Array.isArray(k)?k:null,pasteOnNewLine:y,mode:null},z=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(he=>!!he.prepareDocumentPaste);if(!z.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:V});return}const j=toVSDataTransfer$1(e.clipboardData),ie=z.flatMap(he=>{var pe;return(pe=he.copyMimeTypes)!=null?pe:[]}),oe=generateUuid$1();this.setCopyMetadata(e.clipboardData,{id:oe,providerCopyMimeTypes:ie,defaultPastePayload:V});const re=createCancelablePromise$1(async he=>{const pe=coalesce$1(await Promise.all(z.map(async Ce=>{try{return await Ce.prepareDocumentPaste(t,g,j,he)}catch($e){console.error($e);return}})));pe.reverse();for(const Ce of pe)for(const[$e,xe]of Ce)j.replace($e,xe);return j});(ue=CopyPasteController_1$1._currentCopyOperation)==null||ue.dataTransferPromise.cancel(),CopyPasteController_1$1._currentCopyOperation={handle:oe,dataTransferPromise:re}}async handlePaste(e){var L,V,z,j;if(!e.clipboardData||!this._editor.hasTextFocus())return;(L=MessageController$1.get(this._editor))==null||L.closeMessage(),(V=this._currentPasteOperation)==null||V.cancel(),this._currentPasteOperation=void 0;const t=this._editor.getModel(),i=this._editor.getSelections();if(!(i!=null&&i.length)||!t||this._editor.getOption(92)||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const r=this.fetchCopyMetadata(e),g=toExternalVSDataTransfer$1(e.clipboardData);g.delete(vscodeClipboardMime$1);const y=[...e.clipboardData.types,...(z=r==null?void 0:r.providerCopyMimeTypes)!=null?z:[],Mimes$1.uriList],k=this._languageFeaturesService.documentPasteEditProvider.ordered(t).filter(ie=>{var re,ae;const oe=(re=this._pasteAsActionContext)==null?void 0:re.preferred;return oe&&ie.providedPasteEditKinds&&!this.providerMatchesPreference(ie,oe)?!1:(ae=ie.pasteMimeTypes)==null?void 0:ae.some(le=>matchesMimeType$1(le,y))});if(!k.length){(j=this._pasteAsActionContext)!=null&&j.preferred&&this.showPasteAsNoEditMessage(i,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,k,i,g,r):this.doPasteInline(k,i,g,r,e)}showPasteAsNoEditMessage(e,t){var i;(i=MessageController$1.get(this._editor))==null||i.showMessage(localize$1("pasteAsError","No paste edits for '{0}' found",t instanceof HierarchicalKind$1?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,r,g){const y=this._editor;if(!y.hasModel())return;const k=new EditorStateCancellationTokenSource$1(y,3,void 0),L=createCancelablePromise$1(async V=>{const z=this._editor;if(!z.hasModel())return;const j=z.getModel(),ie=new DisposableStore$1,oe=ie.add(new CancellationTokenSource$3(V));ie.add(k.token.onCancellationRequested(()=>oe.cancel()));const re=oe.token;try{if(await this.mergeInDataFromCopy(i,r,re),re.isCancellationRequested)return;const ae=e.filter(ue=>this.isSupportedPasteProvider(ue,i));if(!ae.length||ae.length===1&&ae[0]instanceof DefaultTextPasteOrDropEditProvider$1)return this.applyDefaultPasteHandler(i,r,re,g);const le={triggerKind:DocumentPasteTriggerKind$1.Automatic},de=await this.getPasteEdits(ae,i,j,t,le,re);if(ie.add(de),re.isCancellationRequested)return;if(de.edits.length===1&&de.edits[0].provider instanceof DefaultTextPasteOrDropEditProvider$1)return this.applyDefaultPasteHandler(i,r,re,g);if(de.edits.length){const ue=z.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:de.edits},ue,(he,pe)=>new Promise((Ce,$e)=>{(async()=>{var xe,Ie;try{const Ne=(Ie=(xe=he.provider).resolveDocumentPasteEdit)==null?void 0:Ie.call(xe,he,pe),Fe=new DeferredPromise$1,Ve=Ne&&await this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize$1("resolveProcess","Resolving paste edit. Click to cancel"),Promise.race([Fe.p,Ne]),{cancel:()=>(Fe.cancel(),$e(new CancellationError$1))},0);return Ve&&(he.additionalEdit=Ve.additionalEdit),Ce(he)}catch(Ne){return $e(Ne)}})()}),re)}await this.applyDefaultPasteHandler(i,r,re,g)}finally{ie.dispose(),this._currentPasteOperation===L&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize$1("pasteIntoEditorProgress","Running paste handlers. Click to cancel and do basic paste"),L,{cancel:async()=>{try{if(L.cancel(),k.token.isCancellationRequested)return;await this.applyDefaultPasteHandler(i,r,k.token,g)}finally{k.dispose()}}}).then(()=>{k.dispose()}),this._currentPasteOperation=L}showPasteAsPick(e,t,i,r,g){const y=createCancelablePromise$1(async k=>{const L=this._editor;if(!L.hasModel())return;const V=L.getModel(),z=new DisposableStore$1,j=z.add(new EditorStateCancellationTokenSource$1(L,3,void 0,k));try{if(await this.mergeInDataFromCopy(r,g,j.token),j.token.isCancellationRequested)return;let ie=t.filter(de=>this.isSupportedPasteProvider(de,r,e));e&&(ie=ie.filter(de=>this.providerMatchesPreference(de,e)));const oe={triggerKind:DocumentPasteTriggerKind$1.PasteAs,only:e&&e instanceof HierarchicalKind$1?e:void 0};let re=z.add(await this.getPasteEdits(ie,r,V,i,oe,j.token));if(j.token.isCancellationRequested)return;if(e&&(re={edits:re.edits.filter(de=>e instanceof HierarchicalKind$1?e.contains(de.kind):e.providerId===de.provider.id),dispose:re.dispose}),!re.edits.length){oe.only&&this.showPasteAsNoEditMessage(i,oe.only);return}let ae;if(e)ae=re.edits.at(0);else{const de=await this._quickInputService.pick(re.edits.map(ue=>{var he;return{label:ue.title,description:(he=ue.kind)==null?void 0:he.value,edit:ue}}),{placeHolder:localize$1("pasteAsPickerPlaceholder","Select Paste Action")});ae=de==null?void 0:de.edit}if(!ae)return;const le=createCombinedWorkspaceEdit$1(V.uri,i,ae);await this._bulkEditService.apply(le,{editor:this._editor})}finally{z.dispose(),this._currentPasteOperation===y&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:localize$1("pasteAsProgress","Running paste handlers")},()=>y)}setCopyMetadata(e,t){e.setData(vscodeClipboardMime$1,JSON.stringify(t))}fetchCopyMetadata(e){var g;if(!e.clipboardData)return;const t=e.clipboardData.getData(vscodeClipboardMime$1);if(t)try{return JSON.parse(t)}catch(y){return}const[i,r]=ClipboardEventUtils$1.getTextData(e.clipboardData);if(r)return{defaultPastePayload:{mode:r.mode,multicursorText:(g=r.multicursorText)!=null?g:null,pasteOnNewLine:!!r.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var r;if(t!=null&&t.id&&((r=CopyPasteController_1$1._currentCopyOperation)==null?void 0:r.handle)===t.id){const g=await CopyPasteController_1$1._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[y,k]of g)e.replace(y,k)}if(!e.has(Mimes$1.uriList)){const g=await this._clipboardService.readResources();if(i.isCancellationRequested)return;g.length&&e.append(Mimes$1.uriList,createStringDataTransferItem$1(UriList$1.create(g)))}}async getPasteEdits(e,t,i,r,g,y){const k=new DisposableStore$1,L=await raceCancellation$1(Promise.all(e.map(async z=>{var j,ie;try{const oe=await((j=z.provideDocumentPasteEdits)==null?void 0:j.call(z,i,r,t,g,y));return oe&&k.add(oe),(ie=oe==null?void 0:oe.edits)==null?void 0:ie.map(re=>({...re,provider:z}))}catch(oe){isCancellationError$1(oe)||console.error(oe);return}})),y),V=coalesce$1(L!=null?L:[]).flat().filter(z=>!g.only||g.only.contains(z.kind));return{edits:sortEditsByYieldTo$1(V),dispose:()=>k.dispose()}}async applyDefaultPasteHandler(e,t,i,r){var L,V,z,j;const g=(L=e.get(Mimes$1.text))!=null?L:e.get("text"),y=(V=await(g==null?void 0:g.asString()))!=null?V:"";if(i.isCancellationRequested)return;const k={clipboardEvent:r,text:y,pasteOnNewLine:(z=t==null?void 0:t.defaultPastePayload.pasteOnNewLine)!=null?z:!1,multicursorText:(j=t==null?void 0:t.defaultPastePayload.multicursorText)!=null?j:null,mode:null};this._editor.trigger("keyboard","paste",k)}isSupportedPasteProvider(e,t,i){var r;return(r=e.pasteMimeTypes)!=null&&r.some(g=>t.matches(g))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof HierarchicalKind$1?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}},CopyPasteController_1$1=ya,ya.ID="editor.contrib.copyPasteActionController",ya);CopyPasteController$1=CopyPasteController_1$1=__decorate$41([__param$3T(1,IInstantiationService$1),__param$3T(2,IBulkEditService$1),__param$3T(3,IClipboardService$1),__param$3T(4,ILanguageFeaturesService$1),__param$3T(5,IQuickInputService$1),__param$3T(6,IProgressService$1)],CopyPasteController$1);const CLIPBOARD_CONTEXT_MENU_GROUP$1="9_cutcopypaste",supportsCut$1=isNative$1||document.queryCommandSupported("cut"),supportsCopy$1=isNative$1||document.queryCommandSupported("copy"),supportsPaste$1=typeof navigator.clipboard>"u"||isFirefox$3?document.queryCommandSupported("paste"):!0;function registerCommand$4(n){return n.register(),n}const CutAction$1=supportsCut$1?registerCommand$4(new MultiCommand$1({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:isNative$1?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:MenuId$1.MenubarEditMenu,group:"2_ccp",title:localize$1({key:"miCut",comment:["&& denotes a mnemonic"]},"Cu&&t"),order:1},{menuId:MenuId$1.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys$1.writable,order:1},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("actions.clipboard.cutLabel","Cut"),order:1},{menuId:MenuId$1.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys$1.writable,order:1}]})):void 0,CopyAction$1=supportsCopy$1?registerCommand$4(new MultiCommand$1({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:isNative$1?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:MenuId$1.MenubarEditMenu,group:"2_ccp",title:localize$1({key:"miCopy",comment:["&& denotes a mnemonic"]},"&&Copy"),order:2},{menuId:MenuId$1.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.copyLabel","Copy"),order:2},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("actions.clipboard.copyLabel","Copy"),order:1},{menuId:MenuId$1.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;MenuRegistry$1.appendMenuItem(MenuId$1.MenubarEditMenu,{submenu:MenuId$1.MenubarCopy,title:localize2$1("copy as","Copy As"),group:"2_ccp",order:3});MenuRegistry$1.appendMenuItem(MenuId$1.EditorContext,{submenu:MenuId$1.EditorContextCopy,title:localize2$1("copy as","Copy As"),group:CLIPBOARD_CONTEXT_MENU_GROUP$1,order:3});MenuRegistry$1.appendMenuItem(MenuId$1.EditorContext,{submenu:MenuId$1.EditorContextShare,title:localize2$1("share","Share"),group:"11_share",order:-1,when:ContextKeyExpr$1.and(ContextKeyExpr$1.notEquals("resourceScheme","output"),EditorContextKeys$1.editorTextFocus)});MenuRegistry$1.appendMenuItem(MenuId$1.ExplorerContext,{submenu:MenuId$1.ExplorerContextShare,title:localize2$1("share","Share"),group:"11_share",order:-1});const PasteAction$1=supportsPaste$1?registerCommand$4(new MultiCommand$1({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:isNative$1?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:MenuId$1.MenubarEditMenu,group:"2_ccp",title:localize$1({key:"miPaste",comment:["&& denotes a mnemonic"]},"&&Paste"),order:4},{menuId:MenuId$1.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys$1.writable,order:4},{menuId:MenuId$1.CommandPalette,group:"",title:localize$1("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:MenuId$1.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP$1,title:localize$1("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys$1.writable,order:4}]})):void 0;let ExecCommandCopyWithSyntaxHighlightingAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:localize$1("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(CopyOptions$1.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),CopyOptions$1.forceCopyWithSyntaxHighlighting=!1)}};function registerExecCommandImpl$1(n,e){n&&(n.addImplementation(1e4,"code-editor",(t,i)=>{const r=t.get(ICodeEditorService$1).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const g=r.getOption(37),y=r.getSelection();return y&&y.isEmpty()&&!g||r.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),n.addImplementation(0,"generic-dom",(t,i)=>(getActiveDocument$1().execCommand(e),!0)))}registerExecCommandImpl$1(CutAction$1,"cut");registerExecCommandImpl$1(CopyAction$1,"copy");PasteAction$1&&(PasteAction$1.addImplementation(1e4,"code-editor",(n,e)=>{var g,y;const t=n.get(ICodeEditorService$1),i=n.get(IClipboardService$1),r=t.getFocusedCodeEditor();return r&&r.hasTextFocus()?r.getContainerDomNode().ownerDocument.execCommand("paste")?(y=(g=CopyPasteController$1.get(r))==null?void 0:g.finishedPaste())!=null?y:Promise.resolve():isWeb$1?(async()=>{const L=await i.readText();if(L!==""){const V=InMemoryClipboardMetadataManager$1.INSTANCE.get(L);let z=!1,j=null,ie=null;V&&(z=r.getOption(37)&&!!V.isFromEmptySelection,j=typeof V.multicursorText<"u"?V.multicursorText:null,ie=V.mode),r.trigger("keyboard","paste",{text:L,pasteOnNewLine:z,multicursorText:j,mode:ie})}})():!0:!1}),PasteAction$1.addImplementation(0,"generic-dom",(n,e)=>(getActiveDocument$1().execCommand("paste"),!0)));supportsCopy$1&®isterEditorAction$1(ExecCommandCopyWithSyntaxHighlightingAction$1);const CodeActionKind$1=new class{constructor(){this.QuickFix=new HierarchicalKind$1("quickfix"),this.Refactor=new HierarchicalKind$1("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new HierarchicalKind$1("notebook"),this.Source=new HierarchicalKind$1("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var CodeActionTriggerSource$1;(function(n){n.Refactor="refactor",n.RefactorPreview="refactor preview",n.Lightbulb="lightbulb",n.Default="other (default)",n.SourceAction="source action",n.QuickFix="quick fix action",n.FixAll="fix all",n.OrganizeImports="organize imports",n.AutoFix="auto fix",n.QuickFixHover="quick fix hover window",n.OnSave="save participants",n.ProblemsView="problems view"})(CodeActionTriggerSource$1||(CodeActionTriggerSource$1={}));function mayIncludeActionsOfKind$1(n,e){return!(n.include&&!n.include.intersects(e)||n.excludes&&n.excludes.some(t=>excludesAction$1(e,t,n.include))||!n.includeSourceActions&&CodeActionKind$1.Source.contains(e))}function filtersAction$1(n,e){const t=e.kind?new HierarchicalKind$1(e.kind):void 0;return!(n.include&&(!t||!n.include.contains(t))||n.excludes&&t&&n.excludes.some(i=>excludesAction$1(t,i,n.include))||!n.includeSourceActions&&t&&CodeActionKind$1.Source.contains(t)||n.onlyIncludePreferredActions&&!e.isPreferred)}function excludesAction$1(n,e,t){return!(!e.contains(n)||t&&e.contains(t))}let CodeActionCommandArgs$1=class jl{static fromUser(e,t){return!e||typeof e!="object"?new jl(t.kind,t.apply,!1):new jl(jl.getKindFromUser(e,t.kind),jl.getApplyFromUser(e,t.apply),jl.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new HierarchicalKind$1(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}},CodeActionItem$1=class{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if((t=this.provider)!=null&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(r){onUnexpectedExternalError$1(r)}i&&(this.action.edit=i.edit)}return this}};const codeActionCommandId$1="editor.action.codeAction",quickFixCommandId$1="editor.action.quickFix",autoFixCommandId$1="editor.action.autoFix",refactorCommandId$1="editor.action.refactor",sourceActionCommandId$1="editor.action.sourceAction",organizeImportsCommandId$1="editor.action.organizeImports",fixAllCommandId$1="editor.action.fixAll";let ManagedCodeActionSet$1=class Yc extends Disposable$1{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:isNonEmptyArray$1(e.diagnostics)?isNonEmptyArray$1(t.diagnostics)?Yc.codeActionsPreferredComparator(e,t):-1:isNonEmptyArray$1(t.diagnostics)?1:Yc.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(Yc.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&CodeActionKind$1.QuickFix.contains(new HierarchicalKind$1(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}};const emptyCodeActionsResponse$1={actions:[],documentation:void 0};async function getCodeActions$1(n,e,t,i,r,g){var ae;const y=i.filter||{},k={...y,excludes:[...y.excludes||[],CodeActionKind$1.Notebook]},L={only:(ae=y.include)==null?void 0:ae.value,trigger:i.type},V=new TextModelCancellationTokenSource$1(e,g),z=i.type===2,j=getCodeActionProviders$1(n,e,z?k:y),ie=new DisposableStore$1,oe=j.map(async le=>{try{r.report(le);const de=await le.provideCodeActions(e,t,L,V.token);if(de&&ie.add(de),V.token.isCancellationRequested)return emptyCodeActionsResponse$1;const ue=((de==null?void 0:de.actions)||[]).filter(pe=>pe&&filtersAction$1(y,pe)),he=getDocumentationFromProvider$1(le,ue,y.include);return{actions:ue.map(pe=>new CodeActionItem$1(pe,le)),documentation:he}}catch(de){if(isCancellationError$1(de))throw de;return onUnexpectedExternalError$1(de),emptyCodeActionsResponse$1}}),re=n.onDidChange(()=>{const le=n.all(e);equals$5(le,j)||V.cancel()});try{const le=await Promise.all(oe),de=le.map(he=>he.actions).flat(),ue=[...coalesce$1(le.map(he=>he.documentation)),...getAdditionalDocumentationForShowingActions$1(n,e,i,de)];return new ManagedCodeActionSet$1(de,ue,ie)}finally{re.dispose(),V.dispose()}}function getCodeActionProviders$1(n,e,t){return n.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(r=>mayIncludeActionsOfKind$1(t,new HierarchicalKind$1(r))):!0)}function*getAdditionalDocumentationForShowingActions$1(n,e,t,i){var r,g,y;if(e&&i.length)for(const k of n.all(e))k._getAdditionalMenuItems&&(yield*(y=k._getAdditionalMenuItems)==null?void 0:y.call(k,{trigger:t.type,only:(g=(r=t.filter)==null?void 0:r.include)==null?void 0:g.value},i.map(L=>L.action)))}function getDocumentationFromProvider$1(n,e,t){if(!n.documentation)return;const i=n.documentation.map(r=>({kind:new HierarchicalKind$1(r.kind),command:r.command}));if(t){let r;for(const g of i)g.kind.contains(t)&&(r?r.kind.contains(g.kind)&&(r=g):r=g);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const g of i)if(g.kind.contains(new HierarchicalKind$1(r.kind)))return g.command}}var ApplyCodeActionReason$1;(function(n){n.OnSave="onSave",n.FromProblemsView="fromProblemsView",n.FromCodeActions="fromCodeActions",n.FromAILightbulb="fromAILightbulb"})(ApplyCodeActionReason$1||(ApplyCodeActionReason$1={}));async function applyCodeAction$1(n,e,t,i,r=CancellationToken$1.None){var V;const g=n.get(IBulkEditService$1),y=n.get(ICommandService$1),k=n.get(ITelemetryService$1),L=n.get(INotificationService$1);if(k.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(r),!r.isCancellationRequested&&!((V=e.action.edit)!=null&&V.edits.length&&!(await g.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==ApplyCodeActionReason$1.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await y.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(z){const j=asMessage$1(z);L.error(typeof j=="string"?j:localize$1("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function asMessage$1(n){return typeof n=="string"?n:n instanceof Error&&typeof n.message=="string"?n.message:void 0}CommandsRegistry$1.registerCommand("_executeCodeActionProvider",async function(n,e,t,i,r){if(!(e instanceof URI$1))throw illegalArgument$1();const{codeActionProvider:g}=n.get(ILanguageFeaturesService$1),y=n.get(IModelService$1).getModel(e);if(!y)throw illegalArgument$1();const k=Selection$3.isISelection(t)?Selection$3.liftSelection(t):Range$5.isIRange(t)?y.validateRange(t):void 0;if(!k)throw illegalArgument$1();const L=typeof i=="string"?new HierarchicalKind$1(i):void 0,V=await getCodeActions$1(g,y,k,{type:1,triggerAction:CodeActionTriggerSource$1.Default,filter:{includeSourceActions:!0,include:L}},Progress$2.None,CancellationToken$1.None),z=[],j=Math.min(V.validActions.length,typeof r=="number"?r:0);for(let ie=0;ieie.action)}finally{setTimeout(()=>V.dispose(),100)}});var __decorate$40=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3S=function(n,e){return function(t,i){e(t,i,n)}},CodeActionKeybindingResolver_1$1,wa;let CodeActionKeybindingResolver$1=(wa=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Lazy$1(()=>this.keybindingService.getKeybindings().filter(t=>CodeActionKeybindingResolver_1$1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===organizeImportsCommandId$1?i={kind:CodeActionKind$1.SourceOrganizeImports.value}:t.command===fixAllCommandId$1&&(i={kind:CodeActionKind$1.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...CodeActionCommandArgs$1.fromUser(i,{kind:HierarchicalKind$1.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new HierarchicalKind$1(e.kind);return t.filter(r=>r.kind.contains(i)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,g)=>r?r.kind.contains(g.kind)?g:r:g,void 0)}},CodeActionKeybindingResolver_1$1=wa,wa.codeActionCommands=[refactorCommandId$1,codeActionCommandId$1,sourceActionCommandId$1,organizeImportsCommandId$1,fixAllCommandId$1],wa);CodeActionKeybindingResolver$1=CodeActionKeybindingResolver_1$1=__decorate$40([__param$3S(0,IKeybindingService$1)],CodeActionKeybindingResolver$1);registerColor$1("symbolIcon.arrayForeground",foreground$1,localize$1("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.booleanForeground",foreground$1,localize$1("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize$1("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.colorForeground",foreground$1,localize$1("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.constantForeground",foreground$1,localize$1("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize$1("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize$1("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize$1("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize$1("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize$1("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.fileForeground",foreground$1,localize$1("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.folderForeground",foreground$1,localize$1("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize$1("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize$1("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.keyForeground",foreground$1,localize$1("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.keywordForeground",foreground$1,localize$1("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize$1("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.moduleForeground",foreground$1,localize$1("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.namespaceForeground",foreground$1,localize$1("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.nullForeground",foreground$1,localize$1("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.numberForeground",foreground$1,localize$1("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.objectForeground",foreground$1,localize$1("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.operatorForeground",foreground$1,localize$1("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.packageForeground",foreground$1,localize$1("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.propertyForeground",foreground$1,localize$1("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.referenceForeground",foreground$1,localize$1("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.snippetForeground",foreground$1,localize$1("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.stringForeground",foreground$1,localize$1("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.structForeground",foreground$1,localize$1("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.textForeground",foreground$1,localize$1("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.typeParameterForeground",foreground$1,localize$1("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.unitForeground",foreground$1,localize$1("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor$1("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize$1("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const uncategorizedCodeActionGroup$1=Object.freeze({kind:HierarchicalKind$1.Empty,title:localize$1("codeAction.widget.id.more","More Actions...")}),codeActionGroups$1=Object.freeze([{kind:CodeActionKind$1.QuickFix,title:localize$1("codeAction.widget.id.quickfix","Quick Fix")},{kind:CodeActionKind$1.RefactorExtract,title:localize$1("codeAction.widget.id.extract","Extract"),icon:Codicon$1.wrench},{kind:CodeActionKind$1.RefactorInline,title:localize$1("codeAction.widget.id.inline","Inline"),icon:Codicon$1.wrench},{kind:CodeActionKind$1.RefactorRewrite,title:localize$1("codeAction.widget.id.convert","Rewrite"),icon:Codicon$1.wrench},{kind:CodeActionKind$1.RefactorMove,title:localize$1("codeAction.widget.id.move","Move"),icon:Codicon$1.wrench},{kind:CodeActionKind$1.SurroundWith,title:localize$1("codeAction.widget.id.surround","Surround With"),icon:Codicon$1.surroundWith},{kind:CodeActionKind$1.Source,title:localize$1("codeAction.widget.id.source","Source Action"),icon:Codicon$1.symbolFile},uncategorizedCodeActionGroup$1]);function toMenuItems$1(n,e,t){if(!e)return n.map(g=>{var y;return{kind:"action",item:g,group:uncategorizedCodeActionGroup$1,disabled:!!g.action.disabled,label:g.action.disabled||g.action.title,canPreview:!!((y=g.action.edit)!=null&&y.edits.length)}});const i=codeActionGroups$1.map(g=>({group:g,actions:[]}));for(const g of n){const y=g.action.kind?new HierarchicalKind$1(g.action.kind):HierarchicalKind$1.None;for(const k of i)if(k.group.kind.contains(y)){k.actions.push(g);break}}const r=[];for(const g of i)if(g.actions.length){r.push({kind:"header",group:g.group});for(const y of g.actions){const k=g.group;r.push({kind:"action",item:y,group:y.action.isAI?{title:k.title,kind:k.kind,icon:Codicon$1.sparkle}:k,label:y.action.title,disabled:!!y.action.disabled,keybinding:t(y.action)})}}return r}var __decorate$3$=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3R=function(n,e){return function(t,i){e(t,i,n)}},LightBulbWidget_1$1;const GUTTER_LIGHTBULB_ICON=registerIcon$1("gutter-lightbulb",Codicon$1.lightBulb,localize$1("gutterLightbulbWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor.")),GUTTER_LIGHTBULB_AUTO_FIX_ICON=registerIcon$1("gutter-lightbulb-auto-fix",Codicon$1.lightbulbAutofix,localize$1("gutterLightbulbAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and a quick fix is available.")),GUTTER_LIGHTBULB_AIFIX_ICON=registerIcon$1("gutter-lightbulb-sparkle",Codicon$1.lightbulbSparkle,localize$1("gutterLightbulbAIFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix is available.")),GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON=registerIcon$1("gutter-lightbulb-aifix-auto-fix",Codicon$1.lightbulbSparkleAutofix,localize$1("gutterLightbulbAIFixAutoFixWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available.")),GUTTER_SPARKLE_FILLED_ICON=registerIcon$1("gutter-lightbulb-sparkle-filled",Codicon$1.sparkleFilled,localize$1("gutterLightbulbSparkleFilledWidget","Icon which spawns code actions menu from the gutter when there is no space in the editor and an AI fix and a quick fix is available."));var LightBulbState$1;(function(n){n.Hidden={type:0};class e{constructor(i,r,g,y){this.actions=i,this.trigger=r,this.editorPosition=g,this.widgetPosition=y,this.type=1}}n.Showing=e})(LightBulbState$1||(LightBulbState$1={}));var mr;let LightBulbWidget$1=(mr=class extends Disposable$1{constructor(e,t){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Emitter$3),this.onClick=this._onClick.event,this._state=LightBulbState$1.Hidden,this._gutterState=LightBulbState$1.Hidden,this._iconClasses=[],this.lightbulbClasses=["codicon-"+GUTTER_LIGHTBULB_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AIFIX_AUTO_FIX_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AUTO_FIX_ICON.id,"codicon-"+GUTTER_LIGHTBULB_AIFIX_ICON.id,"codicon-"+GUTTER_SPARKLE_FILLED_ICON.id],this.gutterDecoration=LightBulbWidget_1$1.GUTTER_DECORATION,this._domNode=$$u("div.lightBulbWidget"),this._domNode.role="listbox",this._register(Gesture$1.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(i=>{const r=this._editor.getModel();(this.state.type!==1||!r||this.state.editorPosition.lineNumber>=r.getLineCount())&&this.hide(),(this.gutterState.type!==1||!r||this.gutterState.editorPosition.lineNumber>=r.getLineCount())&&this.gutterHide()})),this._register(addStandardDisposableGenericMouseDownListener$1(this._domNode,i=>{if(this.state.type!==1)return;this._editor.focus(),i.preventDefault();const{top:r,height:g}=getDomNodePagePosition$1(this._domNode),y=this._editor.getOption(67);let k=Math.floor(y/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(i.buttons&1)===1&&this.hide()})),this._register(Event$2.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var i,r,g,y;this._preferredKbLabel=(r=(i=this._keybindingService.lookupKeybinding(autoFixCommandId$1))==null?void 0:i.getLabel())!=null?r:void 0,this._quickFixKbLabel=(y=(g=this._keybindingService.lookupKeybinding(quickFixCommandId$1))==null?void 0:g.getLabel())!=null?y:void 0,this._updateLightBulbTitleAndIcon()})),this._register(this._editor.onMouseDown(async i=>{if(!i.target.element||!this.lightbulbClasses.some(L=>i.target.element&&i.target.element.classList.contains(L))||this.gutterState.type!==1)return;this._editor.focus();const{top:r,height:g}=getDomNodePagePosition$1(i.target.element),y=this._editor.getOption(67);let k=Math.floor(y/3);this.gutterState.widgetPosition.position!==null&&this.gutterState.widgetPosition.position.lineNumber22,re=Ce=>Ce>2&&this._editor.getTopForLineNumber(Ce)===this._editor.getTopForLineNumber(Ce-1),ae=this._editor.getLineDecorations(k);let le=!1;if(ae)for(const Ce of ae){const $e=Ce.options.glyphMarginClassName;if($e&&!this.lightbulbClasses.some(xe=>$e.includes(xe))){le=!0;break}}let de=k,ue=1;if(!oe){const Ce=$e=>{const xe=y.getLineContent($e);return/^\s*$|^\s+/.test(xe)||xe.length<=ue};if(k>1&&!re(k-1)){const $e=y.getLineCount(),xe=k===$e,Ie=k>1&&Ce(k-1),Ne=!xe&&Ce(k+1),Fe=Ce(k),Ve=!Ne&&!Ie;if(!Ne&&!Ie&&!le)return this.gutterState=new LightBulbState$1.Showing(e,t,i,{position:{lineNumber:de,column:ue},preference:LightBulbWidget_1$1._posPref}),this.renderGutterLightbub(),this.hide();Ie||xe||Ie&&!Fe?de-=1:(Ne||Ve&&Fe)&&(de+=1)}else if(k===1&&(k===y.getLineCount()||!Ce(k+1)&&!Ce(k)))if(this.gutterState=new LightBulbState$1.Showing(e,t,i,{position:{lineNumber:de,column:ue},preference:LightBulbWidget_1$1._posPref}),le)this.gutterHide();else return this.renderGutterLightbub(),this.hide();else if(k{this._gutterDecorationID=t.addDecoration(new Range$5(e,0,e,0),this.gutterDecoration)})}_removeGutterDecoration(e){this._editor.changeDecorations(t=>{t.removeDecoration(e),this._gutterDecorationID=void 0})}_updateGutterDecoration(e,t){this._editor.changeDecorations(i=>{i.changeDecoration(e,new Range$5(t,0,t,0)),i.changeDecorationOptions(e,this.gutterDecoration)})}_updateLightbulbTitle(e,t){this.state.type===1&&(t?this.title=localize$1("codeActionAutoRun","Run: {0}",this.state.actions.validActions[0].action.title):e&&this._preferredKbLabel?this.title=localize$1("preferredcodeActionWithKb","Show Code Actions. Preferred Quick Fix Available ({0})",this._preferredKbLabel):!e&&this._quickFixKbLabel?this.title=localize$1("codeActionWithKb","Show Code Actions ({0})",this._quickFixKbLabel):e||(this.title=localize$1("codeAction","Show Code Actions")))}set title(e){this._domNode.title=e}},LightBulbWidget_1$1=mr,mr.GUTTER_DECORATION=ModelDecorationOptions$1.register({description:"codicon-gutter-lightbulb-decoration",glyphMarginClassName:ThemeIcon$1.asClassName(Codicon$1.lightBulb),glyphMargin:{position:GlyphMarginLane$2.Left},stickiness:1}),mr.ID="editor.contrib.lightbulbWidget",mr._posPref=[0],mr);LightBulbWidget$1=LightBulbWidget_1$1=__decorate$3$([__param$3R(1,IKeybindingService$1)],LightBulbWidget$1);var __decorate$3_=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3Q=function(n,e){return function(t,i){e(t,i,n)}};const acceptSelectedActionCommand$1="acceptSelectedCodeAction",previewSelectedActionCommand$1="previewSelectedCodeAction";let HeaderRenderer$1=class{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var r,g;i.text.textContent=(g=(r=e.group)==null?void 0:r.title)!=null?g:""}disposeTemplate(e){}},ActionItemRenderer$1=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const r=new KeybindingLabel$1(e,OS$1);return{container:e,icon:t,text:i,keybinding:r}}renderElement(e,t,i){var y,k,L;if((y=e.group)!=null&&y.icon?(i.icon.className=ThemeIcon$1.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=asCssVariable$1(e.group.icon.color.id))):(i.icon.className=ThemeIcon$1.asClassName(Codicon$1.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=stripNewlines$1(e.label),i.keybinding.set(e.keybinding),setVisibility$1(!!e.keybinding,i.keybinding.element);const r=(k=this._keybindingService.lookupKeybinding(acceptSelectedActionCommand$1))==null?void 0:k.getLabel(),g=(L=this._keybindingService.lookupKeybinding(previewSelectedActionCommand$1))==null?void 0:L.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:r&&g?this._supportsPreview&&e.canPreview?i.container.title=localize$1({key:"label-preview",comment:['placeholders are keybindings, e.g "F2 to Apply, Shift+F2 to Preview"']},"{0} to Apply, {1} to Preview",r,g):i.container.title=localize$1({key:"label",comment:['placeholder is a keybinding, e.g "F2 to Apply"']},"{0} to Apply",r):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};ActionItemRenderer$1=__decorate$3_([__param$3Q(1,IKeybindingService$1)],ActionItemRenderer$1);let AcceptSelectedEvent$1=class extends UIEvent{constructor(){super("acceptSelectedAction")}},PreviewSelectedEvent$1=class extends UIEvent{constructor(){super("previewSelectedAction")}};function getKeyboardNavigationLabel$1(n){if(n.kind==="action")return n.label}let ActionList$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._delegate=r,this._contextViewService=g,this._keybindingService=y,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new CancellationTokenSource$3),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const k={getHeight:L=>L.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:L=>L.kind};this._list=this._register(new List$1(e,this.domNode,k,[new ActionItemRenderer$1(t,this._keybindingService),new HeaderRenderer$1],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel:getKeyboardNavigationLabel$1},accessibilityProvider:{getAriaLabel:L=>{if(L.kind==="action"){let V=L.label?stripNewlines$1(L==null?void 0:L.label):"";return L.disabled&&(V=localize$1({key:"customQuickFixWidget.labels",comment:["Action widget labels for accessibility."]},"{0}, Disabled Reason: {1}",V,L.disabled)),V}return null},getWidgetAriaLabel:()=>localize$1({key:"customQuickFixWidget",comment:["An action widget option"]},"Action Widget"),getRole:L=>L.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(defaultListStyles$1),this._register(this._list.onMouseClick(L=>this.onListClick(L))),this._register(this._list.onMouseOver(L=>this.onListHover(L))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(L=>this.onListSelection(L))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(L=>L.kind==="header").length,r=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(r);let g=e;if(this._allMenuItems.length>=50)g=380;else{const L=this._allMenuItems.map((V,z)=>{const j=this.domNode.ownerDocument.getElementById(this._list.getElementID(z));if(j){j.style.width="auto";const ie=j.getBoundingClientRect().width;return j.style.width="",ie}return 0});g=Math.max(...L,e)}const k=Math.min(r,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(k,g),this.domNode.style.height="".concat(k,"px"),this._list.domFocus(),g}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],r=this._list.element(i);if(!this.focusCondition(r))return;const g=e?new PreviewSelectedEvent$1:new AcceptSelectedEvent$1;this._list.setSelection([i],g)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof PreviewSelectedEvent$1):this._list.setSelection([])}onFocus(){var r,g;const e=this._list.getFocus();if(e.length===0)return;const t=e[0],i=this._list.element(t);(g=(r=this._delegate).onFocus)==null||g.call(r,i.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};ActionList$1=__decorate$3_([__param$3Q(4,IContextViewService$1),__param$3Q(5,IKeybindingService$1)],ActionList$1);function stripNewlines$1(n){return n.replace(/\r\n|\r|\n/g," ")}var __decorate$3Z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3P=function(n,e){return function(t,i){e(t,i,n)}};registerColor$1("actionBar.toggledBackground",inputActiveOptionBackground$1,localize$1("actionBar.toggledBackground","Background color for toggled action items in action bar."));const ActionWidgetContextKeys$1={Visible:new RawContextKey$1("codeActionMenuVisible",!1,localize$1("codeActionMenuVisible","Whether the action widget list is visible"))},IActionWidgetService$1=createDecorator$1("actionWidgetService");let ActionWidgetService$1=class extends Disposable$1{get isVisible(){return ActionWidgetContextKeys$1.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new MutableDisposable$1)}show(e,t,i,r,g,y,k){const L=ActionWidgetContextKeys$1.Visible.bindTo(this._contextKeyService),V=this._instantiationService.createInstance(ActionList$1,e,t,i,r);this._contextViewService.showContextView({getAnchor:()=>g,render:z=>(L.set(!0),this._renderWidget(z,V,k!=null?k:[])),onHide:z=>{L.reset(),this._onWidgetClosed(z)}},y,!1)}acceptSelected(e){var t;(t=this._list.value)==null||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)==null?void 0:e.value)==null||t.focusNext()}hide(e){var t;(t=this._list.value)==null||t.hide(e),this._list.clear()}_renderWidget(e,t,i){var oe;const r=document.createElement("div");if(r.classList.add("action-widget"),e.appendChild(r),this._list.value=t,this._list.value)r.appendChild(this._list.value.domNode);else throw new Error("List has no value");const g=new DisposableStore$1,y=document.createElement("div"),k=e.appendChild(y);k.classList.add("context-view-block"),g.add(addDisposableListener$1(k,EventType$3.MOUSE_DOWN,re=>re.stopPropagation()));const L=document.createElement("div"),V=e.appendChild(L);V.classList.add("context-view-pointerBlock"),g.add(addDisposableListener$1(V,EventType$3.POINTER_MOVE,()=>V.remove())),g.add(addDisposableListener$1(V,EventType$3.MOUSE_DOWN,()=>V.remove()));let z=0;if(i.length){const re=this._createActionBar(".action-widget-action-bar",i);re&&(r.appendChild(re.getContainer().parentElement),g.add(re),z=re.getContainer().offsetWidth)}const j=(oe=this._list.value)==null?void 0:oe.layout(z);r.style.width="".concat(j,"px");const ie=g.add(trackFocus$1(e));return g.add(ie.onDidBlur(()=>this.hide(!0))),g}_createActionBar(e,t){if(!t.length)return;const i=$$u(e),r=new ActionBar$1(i);return r.push(t,{icon:!1,label:!0}),r}_onWidgetClosed(e){var t;(t=this._list.value)==null||t.hide(e)}};ActionWidgetService$1=__decorate$3Z([__param$3P(0,IContextViewService$1),__param$3P(1,IContextKeyService$1),__param$3P(2,IInstantiationService$1)],ActionWidgetService$1);registerSingleton$1(IActionWidgetService$1,ActionWidgetService$1,1);const weight$7=1100;registerAction2$1(class extends Action2$1{constructor(){super({id:"hideCodeActionWidget",title:localize2$1("hideCodeActionWidget.title","Hide action widget"),precondition:ActionWidgetContextKeys$1.Visible,keybinding:{weight:weight$7,primary:9,secondary:[1033]}})}run(n){n.get(IActionWidgetService$1).hide(!0)}});registerAction2$1(class extends Action2$1{constructor(){super({id:"selectPrevCodeAction",title:localize2$1("selectPrevCodeAction.title","Select previous action"),precondition:ActionWidgetContextKeys$1.Visible,keybinding:{weight:weight$7,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(n){const e=n.get(IActionWidgetService$1);e instanceof ActionWidgetService$1&&e.focusPrevious()}});registerAction2$1(class extends Action2$1{constructor(){super({id:"selectNextCodeAction",title:localize2$1("selectNextCodeAction.title","Select next action"),precondition:ActionWidgetContextKeys$1.Visible,keybinding:{weight:weight$7,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(n){const e=n.get(IActionWidgetService$1);e instanceof ActionWidgetService$1&&e.focusNext()}});registerAction2$1(class extends Action2$1{constructor(){super({id:acceptSelectedActionCommand$1,title:localize2$1("acceptSelected.title","Accept selected action"),precondition:ActionWidgetContextKeys$1.Visible,keybinding:{weight:weight$7,primary:3,secondary:[2137]}})}run(n){const e=n.get(IActionWidgetService$1);e instanceof ActionWidgetService$1&&e.acceptSelected()}});registerAction2$1(class extends Action2$1{constructor(){super({id:previewSelectedActionCommand$1,title:localize2$1("previewSelected.title","Preview selected action"),precondition:ActionWidgetContextKeys$1.Visible,keybinding:{weight:weight$7,primary:2051}})}run(n){const e=n.get(IActionWidgetService$1);e instanceof ActionWidgetService$1&&e.acceptSelected(!0)}});const SUPPORTED_CODE_ACTIONS$1=new RawContextKey$1("supportedCodeAction",""),APPLY_FIX_ALL_COMMAND_ID$1="_typescript.applyFixAllCodeAction";let CodeActionOracle$1=class extends Disposable$1{constructor(e,t,i,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=r,this._autoTriggerTimer=this._register(new TimeoutTimer$1),this._register(this._markerService.onMarkerChanged(g=>this._onMarkerChanges(g))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>isEqual$2(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:CodeActionTriggerSource$1.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==ShowLightbulbIconMode$3.Off){{if(i===ShowLightbulbIconMode$3.On)return t;if(i===ShowLightbulbIconMode$3.OnCode){if(!t.isEmpty())return t;const g=this._editor.getModel(),{lineNumber:y,column:k}=t.getPosition(),L=g.getLineContent(y);if(L.length===0)return;if(k===1){if(/\s/.test(L[0]))return}else if(k===g.getLineMaxColumn(y)){if(/\s/.test(L[L.length-1]))return}else if(/\s/.test(L[k-2])&&/\s/.test(L[k-1]))return}}return t}}};var CodeActionsState$1;(function(n){n.Empty={type:0};class e{constructor(i,r,g){this.trigger=i,this.position=r,this._cancellablePromise=g,this.type=1,this.actions=g.catch(y=>{if(isCancellationError$1(y))return emptyCodeActionSet$1;throw y})}cancel(){this._cancellablePromise.cancel()}}n.Triggered=e})(CodeActionsState$1||(CodeActionsState$1={}));const emptyCodeActionSet$1=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});let CodeActionModel$1=class extends Disposable$1{constructor(e,t,i,r,g,y,k){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=g,this._configurationService=y,this._telemetryService=k,this._codeActionOracle=this._register(new MutableDisposable$1),this._state=CodeActionsState$1.Empty,this._onDidChangeState=this._register(new Emitter$3),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=SUPPORTED_CODE_ACTIONS$1.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(L=>{L.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(CodeActionsState$1.Empty,!0))}_settingEnabledNearbyQuickfixes(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:e==null?void 0:e.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(CodeActionsState$1.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(92)){const t=this._registry.all(e).flatMap(i=>{var r;return(r=i.providedCodeActionKinds)!=null?r:[]});this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new CodeActionOracle$1(this._editor,this._markerService,i=>{var L;if(!i){this.setState(CodeActionsState$1.Empty);return}const r=i.selection.getStartPosition(),g=createCancelablePromise$1(async V=>{var z,j,ie,oe,re,ae,le,de,ue,he;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===CodeActionTriggerSource$1.QuickFix||(j=(z=i.trigger.filter)==null?void 0:z.include)!=null&&j.contains(CodeActionKind$1.QuickFix))){const pe=await getCodeActions$1(this._registry,e,i.selection,i.trigger,Progress$2.None,V),Ce=[...pe.allActions];if(V.isCancellationRequested)return emptyCodeActionSet$1;const $e=(ie=pe.validActions)==null?void 0:ie.some(Ie=>Ie.action.kind?CodeActionKind$1.QuickFix.contains(new HierarchicalKind$1(Ie.action.kind)):!1),xe=this._markerService.read({resource:e.uri});if($e){for(const Ie of pe.validActions)(re=(oe=Ie.action.command)==null?void 0:oe.arguments)!=null&&re.some(Ne=>typeof Ne=="string"&&Ne.includes(APPLY_FIX_ALL_COMMAND_ID$1))&&(Ie.action.diagnostics=[...xe.filter(Ne=>Ne.relatedInformation)]);return{validActions:pe.validActions,allActions:Ce,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}else if(!$e&&xe.length>0){const Ie=i.selection.getPosition();let Ne=Ie,Fe=Number.MAX_VALUE;const Ve=[...pe.validActions];for(const ze of xe){const qe=ze.endColumn,Ue=ze.endLineNumber,Et=ze.startLineNumber;if(Ue===Ie.lineNumber||Et===Ie.lineNumber){Ne=new Position$3(Ue,qe);const At={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:(ae=i.trigger.filter)!=null&&ae.include?(le=i.trigger.filter)==null?void 0:le.include:CodeActionKind$1.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((de=i.trigger.context)==null?void 0:de.notAvailableMessage)||"",position:Ne}},Lt=new Selection$3(Ne.lineNumber,Ne.column,Ne.lineNumber,Ne.column),kt=await getCodeActions$1(this._registry,e,Lt,At,Progress$2.None,V);if(kt.validActions.length!==0){for(const ei of kt.validActions)(he=(ue=ei.action.command)==null?void 0:ue.arguments)!=null&&he.some(jt=>typeof jt=="string"&&jt.includes(APPLY_FIX_ALL_COMMAND_ID$1))&&(ei.action.diagnostics=[...xe.filter(jt=>jt.relatedInformation)]);pe.allActions.length===0&&Ce.push(...kt.allActions),Math.abs(Ie.column-qe)Ue.findIndex(Et=>Et.action.title===ze.action.title)===qe);return Oe.sort((ze,qe)=>ze.action.isPreferred&&!qe.action.isPreferred?-1:!ze.action.isPreferred&&qe.action.isPreferred||ze.action.isAI&&!qe.action.isAI?1:!ze.action.isAI&&qe.action.isAI?-1:0),{validActions:Oe,allActions:Ce,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}}if(i.trigger.type===1){const pe=new StopWatch$1,Ce=await getCodeActions$1(this._registry,e,i.selection,i.trigger,Progress$2.None,V);return this._telemetryService&&this._telemetryService.publicLog2("codeAction.invokedDurations",{codeActions:Ce.validActions.length,duration:pe.elapsed()}),Ce}return getCodeActions$1(this._registry,e,i.selection,i.trigger,Progress$2.None,V)});i.trigger.type===1&&((L=this._progressService)==null||L.showWhile(g,250));const y=new CodeActionsState$1.Triggered(i.trigger,r,g);let k=!1;this._state.type===1&&(k=this._state.trigger.type===1&&y.type===1&&y.trigger.type===2&&this._state.position!==y.position),k?setTimeout(()=>{this.setState(y)},500):this.setState(y)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:CodeActionTriggerSource$1.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)==null||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}};var __decorate$3Y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3O=function(n,e){return function(t,i){e(t,i,n)}},CodeActionController_1$1;const DECORATION_CLASS_NAME$3="quickfix-edit-highlight";var Hr;let CodeActionController$1=(Hr=class extends Disposable$1{static get(e){return e.getContribution(CodeActionController_1$1.ID)}constructor(e,t,i,r,g,y,k,L,V,z,j){super(),this._commandService=k,this._configurationService=L,this._actionWidgetService=V,this._instantiationService=z,this._telemetryService=j,this._activeCodeActions=this._register(new MutableDisposable$1),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new CodeActionModel$1(this._editor,g.codeActionProvider,t,i,y,L,this._telemetryService)),this._register(this._model.onDidChangeState(ie=>this.update(ie))),this._lightBulbWidget=new Lazy$1(()=>{const ie=this._editor.getContribution(LightBulbWidget$1.ID);return ie&&this._register(ie.onClick(oe=>this.showCodeActionsFromLightbulb(oe.actions,oe))),ie}),this._resolver=r.createInstance(CodeActionKeybindingResolver$1),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],r=i.action.command;r&&r.id==="inlineChat.start"&&r.arguments&&r.arguments.length>=1&&(r.arguments[0]={...r.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,ApplyCodeActionReason$1.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,r){var y;if(!this._editor.hasModel())return;(y=MessageController$1.get(this._editor))==null||y.closeMessage();const g=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:r,context:{notAvailableMessage:e,position:g}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,r){try{await this._instantiationService.invokeFunction(applyCodeAction$1,e,r,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:CodeActionTriggerSource$1.QuickFix,filter:{}})}}hideLightBulbWidget(){var e,t;(e=this._lightBulbWidget.rawValue)==null||e.hide(),(t=this._lightBulbWidget.rawValue)==null||t.gutterHide()}async update(e){var r,g,y,k,L;if(e.type!==1){this.hideLightBulbWidget();return}let t;try{t=await e.actions}catch(V){onUnexpectedError$1(V);return}if(this._disposed)return;const i=this._editor.getSelection();if((i==null?void 0:i.startLineNumber)===e.position.lineNumber)if((r=this._lightBulbWidget.value)==null||r.update(t,e.trigger,e.position),e.trigger.type===1){if((g=e.trigger.filter)!=null&&g.include){const z=this.tryGetValidActionToApply(e.trigger,t);if(z){try{this.hideLightBulbWidget(),await this._applyCodeAction(z,!1,!1,ApplyCodeActionReason$1.FromCodeActions)}finally{t.dispose()}return}if(e.trigger.context){const j=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,t);if(j&&j.action.disabled){(y=MessageController$1.get(this._editor))==null||y.showMessage(j.action.disabled,e.trigger.context.position),t.dispose();return}}}const V=!!((k=e.trigger.filter)!=null&&k.include);if(e.trigger.context&&(!t.allActions.length||!V&&!t.validActions.length)){(L=MessageController$1.get(this._editor))==null||L.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=t,t.dispose();return}this._activeCodeActions.value=t,this.showCodeActionList(t,this.toCoords(e.position),{includeDisabledActions:V,fromLightbulb:!1})}else this._actionWidgetService.isVisible?t.dispose():this._activeCodeActions.value=t}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const r=this._editor.createDecorationsCollection(),g=this._editor.getDomNode();if(!g)return;const y=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!y.length)return;const k=Position$3.isIPosition(t)?this.toCoords(t):t,L={onSelect:async(V,z)=>{this._applyCodeAction(V,!0,!!z,i.fromLightbulb?ApplyCodeActionReason$1.FromAILightbulb:ApplyCodeActionReason$1.FromCodeActions),this._actionWidgetService.hide(!1),r.clear()},onHide:V=>{var z;(z=this._editor)==null||z.focus(),r.clear()},onHover:async(V,z)=>{var oe;if(z.isCancellationRequested)return;let j=!1;const ie=V.action.kind;if(ie){const re=new HierarchicalKind$1(ie);j=[CodeActionKind$1.RefactorExtract,CodeActionKind$1.RefactorInline,CodeActionKind$1.RefactorRewrite,CodeActionKind$1.RefactorMove,CodeActionKind$1.Source].some(le=>le.contains(re))}return{canPreview:j||!!((oe=V.action.edit)!=null&&oe.edits.length)}},onFocus:V=>{var z,j;if(V&&V.action){const ie=V.action.ranges,oe=V.action.diagnostics;if(r.clear(),ie&&ie.length>0){const re=oe&&(oe==null?void 0:oe.length)>1?oe.map(ae=>({range:ae,options:CodeActionController_1$1.DECORATION})):ie.map(ae=>({range:ae,options:CodeActionController_1$1.DECORATION}));r.set(re)}else if(oe&&oe.length>0){const re=oe.map(le=>({range:le,options:CodeActionController_1$1.DECORATION}));r.set(re);const ae=oe[0];if(ae.startLineNumber&&ae.startColumn){const le=(j=(z=this._editor.getModel())==null?void 0:z.getWordAtPosition({lineNumber:ae.startLineNumber,column:ae.startColumn}))==null?void 0:j.word;status$1(localize$1("editingNewSelection","Context: {0} at line {1} and column {2}.",le,ae.startLineNumber,ae.startColumn))}}}else r.clear()}};this._actionWidgetService.show("codeActionWidget",!0,toMenuItems$1(y,this._shouldShowHeaders(),this._resolver.getResolver()),L,k,g,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=getDomNodePagePosition$1(this._editor.getDomNode()),r=i.left+t.left,g=i.top+t.top+t.height;return{x:r,y:g}}_shouldShowHeaders(){var t;const e=(t=this._editor)==null?void 0:t.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:e==null?void 0:e.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const r=e.documentation.map(g=>{var y;return{id:g.id,label:g.title,tooltip:(y=g.tooltip)!=null?y:"",class:void 0,enabled:!0,run:()=>{var k;return this._commandService.executeCommand(g.id,...(k=g.arguments)!=null?k:[])}}});return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:"hideMoreActions",label:localize$1("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:localize$1("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),r}},CodeActionController_1$1=Hr,Hr.ID="editor.contrib.codeActionController",Hr.DECORATION=ModelDecorationOptions$1.register({description:"quickfix-highlight",className:DECORATION_CLASS_NAME$3}),Hr);CodeActionController$1=CodeActionController_1$1=__decorate$3Y([__param$3O(1,IMarkerService$1),__param$3O(2,IContextKeyService$1),__param$3O(3,IInstantiationService$1),__param$3O(4,ILanguageFeaturesService$1),__param$3O(5,IEditorProgressService$1),__param$3O(6,ICommandService$1),__param$3O(7,IConfigurationService$1),__param$3O(8,IActionWidgetService$1),__param$3O(9,IInstantiationService$1),__param$3O(10,ITelemetryService$1)],CodeActionController$1);registerThemingParticipant$1((n,e)=>{((r,g)=>{g&&e.addRule(".monaco-editor ".concat(r," { background-color: ").concat(g,"; }"))})(".quickfix-edit-highlight",n.getColor(editorFindMatchHighlight$1));const i=n.getColor(editorFindMatchHighlightBorder$1);i&&e.addRule(".monaco-editor .quickfix-edit-highlight { border: 1px ".concat(isHighContrast$1(n.type)?"dotted":"solid"," ").concat(i,"; box-sizing: border-box; }"))});function contextKeyForSupportedActions$1(n){return ContextKeyExpr$1.regex(SUPPORTED_CODE_ACTIONS$1.keys()[0],new RegExp("(\\s|^)"+escapeRegExpCharacters$1(n.value)+"\\b"))}const argsSchema$1={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:localize$1("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:localize$1("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[localize$1("args.schema.apply.first","Always apply the first returned code action."),localize$1("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),localize$1("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:localize$1("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function triggerCodeActionsForEditorSelection$1(n,e,t,i,r=CodeActionTriggerSource$1.Default){if(n.hasModel()){const g=CodeActionController$1.get(n);g==null||g.manualTriggerAtCurrentPosition(e,r,t,i)}}let QuickFixAction$1=class extends EditorAction$1{constructor(){super({id:quickFixCommandId$1,label:localize$1("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:2137,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection$1(t,localize$1("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,CodeActionTriggerSource$1.QuickFix)}},CodeActionCommand$1=class extends EditorCommand$1{constructor(){super({id:codeActionCommandId$1,precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:argsSchema$1}]}})}runEditorCommand(e,t,i){const r=CodeActionCommandArgs$1.fromUser(i,{kind:HierarchicalKind$1.Empty,apply:"ifSingle"});return triggerCodeActionsForEditorSelection$1(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize$1("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):localize$1("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):r.preferred?localize$1("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):localize$1("editor.action.codeAction.noneMessage","No code actions available"),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}},RefactorAction$1=class extends EditorAction$1{constructor(){super({id:refactorCommandId$1,label:localize$1("refactor.label","Refactor..."),alias:"Refactor...",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ContextKeyExpr$1.and(EditorContextKeys$1.writable,contextKeyForSupportedActions$1(CodeActionKind$1.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:argsSchema$1}]}})}run(e,t,i){const r=CodeActionCommandArgs$1.fromUser(i,{kind:CodeActionKind$1.Refactor,apply:"never"});return triggerCodeActionsForEditorSelection$1(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize$1("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):localize$1("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):r.preferred?localize$1("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):localize$1("editor.action.refactor.noneMessage","No refactorings available"),{include:CodeActionKind$1.Refactor.contains(r.kind)?r.kind:HierarchicalKind$1.None,onlyIncludePreferredActions:r.preferred},r.apply,CodeActionTriggerSource$1.Refactor)}},SourceAction$1=class extends EditorAction$1{constructor(){super({id:sourceActionCommandId$1,label:localize$1("source.label","Source Action..."),alias:"Source Action...",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ContextKeyExpr$1.and(EditorContextKeys$1.writable,contextKeyForSupportedActions$1(CodeActionKind$1.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:argsSchema$1}]}})}run(e,t,i){const r=CodeActionCommandArgs$1.fromUser(i,{kind:CodeActionKind$1.Source,apply:"never"});return triggerCodeActionsForEditorSelection$1(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize$1("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):localize$1("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):r.preferred?localize$1("editor.action.source.noneMessage.preferred","No preferred source actions available"):localize$1("editor.action.source.noneMessage","No source actions available"),{include:CodeActionKind$1.Source.contains(r.kind)?r.kind:HierarchicalKind$1.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,CodeActionTriggerSource$1.SourceAction)}},OrganizeImportsAction$1=class extends EditorAction$1{constructor(){super({id:organizeImportsCommandId$1,label:localize$1("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,contextKeyForSupportedActions$1(CodeActionKind$1.SourceOrganizeImports)),kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:1581,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection$1(t,localize$1("editor.action.organize.noneMessage","No organize imports action available"),{include:CodeActionKind$1.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource$1.OrganizeImports)}},FixAllAction$1=class extends EditorAction$1{constructor(){super({id:fixAllCommandId$1,label:localize$1("fixAll.label","Fix All"),alias:"Fix All",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,contextKeyForSupportedActions$1(CodeActionKind$1.SourceFixAll))})}run(e,t){return triggerCodeActionsForEditorSelection$1(t,localize$1("fixAll.noneMessage","No fix all action available"),{include:CodeActionKind$1.SourceFixAll,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource$1.FixAll)}},AutoFixAction$1=class extends EditorAction$1{constructor(){super({id:autoFixCommandId$1,label:localize$1("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,contextKeyForSupportedActions$1(CodeActionKind$1.QuickFix)),kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection$1(t,localize$1("editor.action.autoFix.noneMessage","No auto fixes available"),{include:CodeActionKind$1.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",CodeActionTriggerSource$1.AutoFix)}};registerEditorContribution$1(CodeActionController$1.ID,CodeActionController$1,3);registerEditorContribution$1(LightBulbWidget$1.ID,LightBulbWidget$1,4);registerEditorAction$1(QuickFixAction$1);registerEditorAction$1(RefactorAction$1);registerEditorAction$1(SourceAction$1);registerEditorAction$1(OrganizeImportsAction$1);registerEditorAction$1(AutoFixAction$1);registerEditorAction$1(FixAllAction$1);registerEditorCommand$1(new CodeActionCommand$1);Registry$1.as(Extensions$g.Configuration).registerConfiguration({...editorConfigurationBaseNode$1,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:localize$1("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Registry$1.as(Extensions$g.Configuration).registerConfiguration({...editorConfigurationBaseNode$1,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:localize$1("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});Registry$1.as(Extensions$g.Configuration).registerConfiguration({...editorConfigurationBaseNode$1,properties:{"editor.codeActions.triggerOnFocusChange":{type:"boolean",scope:5,markdownDescription:localize$1("triggerOnFocusChange","Enable triggering {0} when {1} is set to {2}. Code Actions must be set to {3} to be triggered for window and focus changes.","`#editor.codeActionsOnSave#`","`#files.autoSave#`","`afterDelay`","`always`"),default:!1}}});let CodeLensModel$1=class{constructor(){this.lenses=[],this._disposables=new DisposableStore$1}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}};async function getCodeLensModel$1(n,e,t){const i=n.ordered(e),r=new Map,g=new CodeLensModel$1,y=i.map(async(k,L)=>{r.set(k,L);try{const V=await Promise.resolve(k.provideCodeLenses(e,t));V&&g.add(V,k)}catch(V){onUnexpectedExternalError$1(V)}});return await Promise.all(y),g.lenses=g.lenses.sort((k,L)=>k.symbol.range.startLineNumberL.symbol.range.startLineNumber?1:r.get(k.provider)r.get(L.provider)?1:k.symbol.range.startColumnL.symbol.range.startColumn?1:0),g}CommandsRegistry$1.registerCommand("_executeCodeLensProvider",function(n,...e){let[t,i]=e;assertType$1(URI$1.isUri(t)),assertType$1(typeof i=="number"||!i);const{codeLensProvider:r}=n.get(ILanguageFeaturesService$1),g=n.get(IModelService$1).getModel(t);if(!g)throw illegalArgument$1();const y=[],k=new DisposableStore$1;return getCodeLensModel$1(r,g,CancellationToken$1.None).then(L=>{k.add(L);const V=[];for(const z of L.lenses)i==null||z.symbol.command?y.push(z.symbol):i-- >0&&z.provider.resolveCodeLens&&V.push(Promise.resolve(z.provider.resolveCodeLens(g,z.symbol,CancellationToken$1.None)).then(j=>y.push(j||z.symbol)));return Promise.all(V)}).then(()=>y).finally(()=>{setTimeout(()=>k.dispose(),100)})});var __decorate$3X=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3N=function(n,e){return function(t,i){e(t,i,n)}};const ICodeLensCache$1=createDecorator$1("ICodeLensCache");let CacheItem$1=class{constructor(e,t){this.lineCount=e,this.data=t}},CodeLensCache$1=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new LRUCache$1(20,.75);const t="codelens/cache";runWhenWindowIdle$1(mainWindow$1,()=>e.remove(t,1));const i="codelens/cache2",r=e.get(i,1,"{}");this._deserialize(r);const g=Event$2.filter(e.onWillSaveState,y=>y.reason===WillSaveStateReason$1.SHUTDOWN);Event$2.once(g)(y=>{e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(y=>{var k;return{range:y.symbol.range,command:y.symbol.command&&{id:"",title:(k=y.symbol.command)==null?void 0:k.title}}}),r=new CodeLensModel$1;r.add({lenses:i,dispose:()=>{}},this._fakeProvider);const g=new CacheItem$1(e.getLineCount(),r);this._cache.set(e.uri.toString(),g)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const r=new Set;for(const g of i.data.lenses)r.add(g.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const r=t[i],g=[];for(const k of r.lines)g.push({range:new Range$5(k,1,k,11)});const y=new CodeLensModel$1;y.add({lenses:g,dispose(){}},this._fakeProvider),this._cache.set(i,new CacheItem$1(r.lineCount,y))}}catch(t){}}};CodeLensCache$1=__decorate$3X([__param$3N(0,IStorageService$1)],CodeLensCache$1);registerSingleton$1(ICodeLensCache$1,CodeLensCache$1,1);let CodeLensViewZone$1=class{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}};var Ur;let CodeLensContentWidget$1=(Ur=class{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-".concat(Ur._idPool++),this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let r=!1;for(let g=0;g{V.symbol.command&&L.push(V.symbol),i.addDecoration({range:V.symbol.range,options:codeLensDecorationOptions$1},j=>this._decorationIds[z]=j),k?k=Range$5.plusRange(k,V.symbol.range):k=Range$5.lift(V.symbol.range)}),this._viewZone=new CodeLensViewZone$1(k.startLineNumber-1,g,y),this._viewZoneId=r.addZone(this._viewZone),L.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(L,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new CodeLensContentWidget$1(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(i&&Range$5.isEmpty(r.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,r)=>{t.addDecoration({range:i.symbol.range,options:codeLensDecorationOptions$1},g=>this._decorationIds[r]=g)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3M=function(n,e){return function(t,i){e(t,i,n)}},ec;let CodeLensContribution$1=(ec=class{constructor(e,t,i,r,g,y){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=g,this._codeLensCache=y,this._disposables=new DisposableStore$1,this._localToDispose=new DisposableStore$1,this._lenses=[],this._oldCodeLensModels=new DisposableStore$1,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new RunOnceScheduler$1(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(k=>{(k.hasChanged(50)||k.hasChanged(19)||k.hasChanged(18))&&this._updateLensStyle(),k.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)==null||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),r=this._editor.getOption(50),{style:g}=this._editor.getContainerDomNode();g.setProperty("--vscode-editorCodeLens-lineHeight","".concat(e,"px")),g.setProperty("--vscode-editorCodeLens-fontSize","".concat(t,"px")),g.setProperty("--vscode-editorCodeLens-fontFeatureSettings",r.fontFeatureSettings),i&&(g.setProperty("--vscode-editorCodeLens-fontFamily",i),g.setProperty("--vscode-editorCodeLens-fontFamilyDefault",EDITOR_FONT_DEFAULTS$1.fontFamily)),this._editor.changeViewZones(y=>{for(const k of this._lenses)k.updateHeight(e,y)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)==null||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)==null||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)==null||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&disposableTimeout$1(()=>{const r=this._codeLensCache.get(e);t===r&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const r of this._languageFeaturesService.codeLensProvider.all(e))if(typeof r.onDidChange=="function"){const g=r.onDidChange(()=>i.schedule());this._localToDispose.add(g)}const i=new RunOnceScheduler$1(()=>{var g;const r=Date.now();(g=this._getCodeLensModelPromise)==null||g.cancel(),this._getCodeLensModelPromise=createCancelablePromise$1(y=>getCodeLensModel$1(this._languageFeaturesService.codeLensProvider,e,y)),this._getCodeLensModelPromise.then(y=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=y,this._codeLensCache.put(e,y);const k=this._provideCodeLensDebounce.update(e,Date.now()-r);i.delay=k,this._renderCodeLensSymbols(y),this._resolveCodeLensesInViewportSoon()},onUnexpectedError$1)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(toDisposable$1(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var r;this._editor.changeDecorations(g=>{this._editor.changeViewZones(y=>{const k=[];let L=-1;this._lenses.forEach(z=>{!z.isValid()||L===z.getLineNumber()?k.push(z):(z.update(y),L=z.getLineNumber())});const V=new CodeLensHelper$1;k.forEach(z=>{z.dispose(V,y),this._lenses.splice(this._lenses.indexOf(z),1)}),V.commit(g)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(r=this._resolveCodeLensesPromise)==null||r.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorText(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(r=>{r.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(toDisposable$1(()=>{if(this._editor.getModel()){const r=StableEditorScrollState$1.capture(this._editor);this._editor.changeDecorations(g=>{this._editor.changeViewZones(y=>{this._disposeAllLenses(g,y)})}),r.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(r=>{if(r.target.type!==9)return;let g=r.target.element;if((g==null?void 0:g.tagName)==="SPAN"&&(g=g.parentElement),(g==null?void 0:g.tagName)==="A")for(const y of this._lenses){const k=y.getCommand(g);if(k){this._commandService.executeCommand(k.id,...k.arguments||[]).catch(L=>this._notificationService.error(L));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new CodeLensHelper$1;for(const r of this._lenses)r.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let r;for(const k of e.lenses){const L=k.symbol.range.startLineNumber;L<1||L>t||(r&&r[r.length-1].symbol.range.startLineNumber===L?r.push(k):(r=[k],i.push(r)))}if(!i.length&&!this._lenses.length)return;const g=StableEditorScrollState$1.capture(this._editor),y=this._getLayoutInfo();this._editor.changeDecorations(k=>{this._editor.changeViewZones(L=>{const V=new CodeLensHelper$1;let z=0,j=0;for(;jthis._resolveCodeLensesInViewportSoon())),z++,j++)}for(;zthis._resolveCodeLensesInViewportSoon())),j++;V.commit(k)})}),g.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var y;(y=this._resolveCodeLensesPromise)==null||y.cancel(),this._resolveCodeLensesPromise=void 0;const e=this._editor.getModel();if(!e)return;const t=[],i=[];if(this._lenses.forEach(k=>{const L=k.computeIfNecessary(e);L&&(t.push(L),i.push(k))}),t.length===0)return;const r=Date.now(),g=createCancelablePromise$1(k=>{const L=t.map((V,z)=>{const j=new Array(V.length),ie=V.map((oe,re)=>!oe.symbol.command&&typeof oe.provider.resolveCodeLens=="function"?Promise.resolve(oe.provider.resolveCodeLens(e,oe.symbol,k)).then(ae=>{j[re]=ae},onUnexpectedExternalError$1):(j[re]=oe.symbol,Promise.resolve(void 0)));return Promise.all(ie).then(()=>{!k.isCancellationRequested&&!i[z].isDisposed()&&i[z].updateCommands(j)})});return Promise.all(L)});this._resolveCodeLensesPromise=g,this._resolveCodeLensesPromise.then(()=>{const k=this._resolveCodeLensesDebounce.update(e,Date.now()-r);this._resolveCodeLensesScheduler.delay=k,this._currentCodeLensModel&&this._codeLensCache.put(e,this._currentCodeLensModel),this._oldCodeLensModels.clear(),g===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},k=>{onUnexpectedError$1(k),g===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,(e=this._currentCodeLensModel)!=null&&e.isDisposed?void 0:this._currentCodeLensModel}},ec.ID="css.editor.codeLens",ec);CodeLensContribution$1=__decorate$3W([__param$3M(1,ILanguageFeaturesService$1),__param$3M(2,ILanguageFeatureDebounceService$1),__param$3M(3,ICommandService$1),__param$3M(4,INotificationService$1),__param$3M(5,ICodeLensCache$1)],CodeLensContribution$1);registerEditorContribution$1(CodeLensContribution$1.ID,CodeLensContribution$1,1);registerEditorAction$1(class extends EditorAction$1{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:EditorContextKeys$1.hasCodeLensProvider,label:localize$1("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(IQuickInputService$1),r=e.get(ICommandService$1),g=e.get(INotificationService$1),y=t.getSelection().positionLineNumber,k=t.getContribution(CodeLensContribution$1.ID);if(!k)return;const L=await k.getModel();if(!L)return;const V=[];for(const ie of L.lenses)ie.symbol.command&&ie.symbol.range.startLineNumber===y&&V.push({label:ie.symbol.command.title,command:ie.symbol.command});if(V.length===0)return;const z=await i.pick(V,{canPickMany:!1,placeHolder:localize$1("placeHolder","Select a command")});if(!z)return;let j=z.command;if(L.isDisposed){const ie=await k.getModel(),oe=ie==null?void 0:ie.lenses.find(re=>{var ae;return re.symbol.range.startLineNumber===y&&((ae=re.symbol.command)==null?void 0:ae.title)===j.title});if(!oe||!oe.symbol.command)return;j=oe.symbol.command}try{await r.executeCommand(j.id,...j.arguments||[])}catch(ie){g.error(ie)}}});var __decorate$3V=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3L=function(n,e){return function(t,i){e(t,i,n)}};let DefaultDocumentColorProvider$1=class{constructor(e){this._editorWorkerService=e}async provideDocumentColors(e,t){return this._editorWorkerService.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const r=t.range,g=t.color,y=g.alpha,k=new Color$2(new RGBA$2(Math.round(255*g.red),Math.round(255*g.green),Math.round(255*g.blue),y)),L=y?Color$2.Format.CSS.formatRGB(k):Color$2.Format.CSS.formatRGBA(k),V=y?Color$2.Format.CSS.formatHSL(k):Color$2.Format.CSS.formatHSLA(k),z=y?Color$2.Format.CSS.formatHex(k):Color$2.Format.CSS.formatHexA(k),j=[];return j.push({label:L,textEdit:{range:r,text:L}}),j.push({label:V,textEdit:{range:r,text:V}}),j.push({label:z,textEdit:{range:r,text:z}}),j}};DefaultDocumentColorProvider$1=__decorate$3V([__param$3L(0,IEditorWorkerService$1)],DefaultDocumentColorProvider$1);let DefaultDocumentColorProviderFeature$1=class extends Disposable$1{constructor(e,t){super(),this._register(e.colorProvider.register("*",new DefaultDocumentColorProvider$1(t)))}};DefaultDocumentColorProviderFeature$1=__decorate$3V([__param$3L(0,ILanguageFeaturesService$1),__param$3L(1,IEditorWorkerService$1)],DefaultDocumentColorProviderFeature$1);registerEditorFeature$1(DefaultDocumentColorProviderFeature$1);async function getColors$1(n,e,t,i=!0){return _findColorData$1(new ColorDataCollector$1,n,e,t,i)}function getColorPresentations$1(n,e,t,i){return Promise.resolve(t.provideColorPresentations(n,e,i))}let ColorDataCollector$1=class{constructor(){}async compute(e,t,i,r){const g=await e.provideDocumentColors(t,i);if(Array.isArray(g))for(const y of g)r.push({colorInfo:y,provider:e});return Array.isArray(g)}},ExtColorDataCollector$1=class{constructor(){}async compute(e,t,i,r){const g=await e.provideDocumentColors(t,i);if(Array.isArray(g))for(const y of g)r.push({range:y.range,color:[y.color.red,y.color.green,y.color.blue,y.color.alpha]});return Array.isArray(g)}},ColorPresentationsCollector$1=class{constructor(e){this.colorInfo=e}async compute(e,t,i,r){const g=await e.provideColorPresentations(t,this.colorInfo,CancellationToken$1.None);return Array.isArray(g)&&r.push(...g),Array.isArray(g)}};async function _findColorData$1(n,e,t,i,r){let g=!1,y;const k=[],L=e.ordered(t);for(let V=L.length-1;V>=0;V--){const z=L[V];if(z instanceof DefaultDocumentColorProvider$1)y=z;else try{await n.compute(z,t,i,k)&&(g=!0)}catch(j){onUnexpectedExternalError$1(j)}}return g?k:y&&r?(await n.compute(y,t,i,k),k):[]}function _setupColorCommand$1(n,e){const{colorProvider:t}=n.get(ILanguageFeaturesService$1),i=n.get(IModelService$1).getModel(e);if(!i)throw illegalArgument$1();const r=n.get(IConfigurationService$1).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:r}}CommandsRegistry$1.registerCommand("_executeDocumentColorProvider",function(n,...e){const[t]=e;if(!(t instanceof URI$1))throw illegalArgument$1();const{model:i,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:g}=_setupColorCommand$1(n,t);return _findColorData$1(new ExtColorDataCollector$1,r,i,CancellationToken$1.None,g)});CommandsRegistry$1.registerCommand("_executeColorPresentationProvider",function(n,...e){const[t,i]=e,{uri:r,range:g}=i;if(!(r instanceof URI$1)||!Array.isArray(t)||t.length!==4||!Range$5.isIRange(g))throw illegalArgument$1();const{model:y,colorProviderRegistry:k,isDefaultColorDecoratorsEnabled:L}=_setupColorCommand$1(n,r),[V,z,j,ie]=t;return _findColorData$1(new ColorPresentationsCollector$1({range:g,color:{red:V,green:z,blue:j,alpha:ie}}),k,y,CancellationToken$1.None,L)});var __decorate$3U=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3K=function(n,e){return function(t,i){e(t,i,n)}},ColorDetector_1$1;const ColorDecorationInjectedTextMarker$1=Object.create({});var Kr;let ColorDetector$1=(Kr=class extends Disposable$1{constructor(e,t,i,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new DisposableStore$1),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new DynamicCssRules$1(this._editor),this._decoratorLimitReporter=new DecoratorLimitReporter$1,this._colorDecorationClassRefs=this._register(new DisposableStore$1),this._debounceInformation=r.for(i.colorProvider,"Document Colors",{min:ColorDetector_1$1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(g=>{const y=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148);const k=y!==this._isColorDecoratorsEnabled||g.hasChanged(21),L=g.hasChanged(148);(k||L)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(148),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const r=i.colorDecorators;if(r&&r.enable!==void 0&&!r.enable)return r.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new TimeoutTimer$1,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=createCancelablePromise$1(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new StopWatch$1(!1),r=await getColors$1(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),r});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){onUnexpectedError$1(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:ModelDecorationOptions$1.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((r,g)=>this._colorDatas.set(r,e[g]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let g=0;gthis._colorDatas.has(r.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}},ColorDetector_1$1=Kr,Kr.ID="editor.contrib.colorDetector",Kr.RECOMPUTE_TIME=1e3,Kr);ColorDetector$1=ColorDetector_1$1=__decorate$3U([__param$3K(1,IConfigurationService$1),__param$3K(2,ILanguageFeaturesService$1),__param$3K(3,ILanguageFeatureDebounceService$1)],ColorDetector$1);let DecoratorLimitReporter$1=class{constructor(){this._onDidChange=new Emitter$3,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}};registerEditorContribution$1(ColorDetector$1.ID,ColorDetector$1,1);let ColorPickerModel$1=class{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new Emitter$3,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Emitter$3,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Emitter$3,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let r=0;r{this.backgroundColor=y.getColor(editorHoverBackground$1)||Color$2.white})),this._register(addDisposableListener$1(this._pickedColorNode,EventType$3.CLICK,()=>this.model.selectNextColorPresentation())),this._register(addDisposableListener$1(this._originalColorNode,EventType$3.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Color$2.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new CloseButton$1(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Color$2.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}},CloseButton$1=class extends Disposable$1{constructor(e){super(),this._onClicked=this._register(new Emitter$3),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),append$4(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),append$4(this._button,t),append$4(t,$$l(".button"+ThemeIcon$1.asCSSSelector(registerIcon$1("color-picker-close",Codicon$1.close,localize$1("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(addDisposableListener$1(this._button,EventType$3.CLICK,()=>{this._onClicked.fire()}))}},ColorPickerBody$1=class extends Disposable$1{constructor(e,t,i,r=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=$$l(".colorpicker-body"),append$4(e,this._domNode),this._saturationBox=new SaturationBox$1(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new OpacityStrip$1(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new HueStrip$1(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r&&(this._insertButton=this._register(new InsertButton$1(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Color$2(new HSVA$1(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Color$2(new HSVA$1(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Color$2(new HSVA$1(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}},SaturationBox$1=class extends Disposable$1{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$3,this.onColorFlushed=this._onColorFlushed.event,this._domNode=$$l(".saturation-wrap"),append$4(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",append$4(this._domNode,this._canvas),this.selection=$$l(".saturation-selection"),append$4(this._domNode,this.selection),this.layout(),this._register(addDisposableListener$1(this._domNode,EventType$3.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new GlobalPointerMoveMonitor$1);const t=getDomNodePagePosition$1(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>this.onDidChangePosition(r.pageX-t.left,r.pageY-t.top),()=>null);const i=addDisposableListener$1(e.target.ownerDocument,EventType$3.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,r),this._onDidChange.fire({s:i,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Color$2(new HSVA$1(e.h,1,1,1)),i=this._canvas.getContext("2d"),r=i.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,"rgba(255, 255, 255, 1)"),r.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),r.addColorStop(1,"rgba(255, 255, 255, 0)");const g=i.createLinearGradient(0,0,0,this._canvas.height);g.addColorStop(0,"rgba(0, 0, 0, 0)"),g.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Color$2.Format.CSS.format(t),i.fill(),i.fillStyle=r,i.fill(),i.fillStyle=g,i.fill()}paintSelection(e,t){this.selection.style.left="".concat(e*this.width,"px"),this.selection.style.top="".concat(this.height-t*this.height,"px")}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}},Strip$1=class extends Disposable$1{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$3,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=append$4(e,$$l(".standalone-strip")),this.overlay=append$4(this.domNode,$$l(".standalone-overlay"))):(this.domNode=append$4(e,$$l(".strip")),this.overlay=append$4(this.domNode,$$l(".overlay"))),this.slider=append$4(this.domNode,$$l(".slider")),this.slider.style.top="0px",this._register(addDisposableListener$1(this.domNode,EventType$3.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new GlobalPointerMoveMonitor$1),i=getDomNodePagePosition$1(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,g=>this.onDidChangeTop(g.pageY-i.top),()=>null);const r=addDisposableListener$1(e.target.ownerDocument,EventType$3.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top="".concat((1-e)*this.height,"px")}},OpacityStrip$1=class extends Strip$1{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:r}=e.rgba,g=new Color$2(new RGBA$2(t,i,r,1)),y=new Color$2(new RGBA$2(t,i,r,0));this.overlay.style.background="linear-gradient(to bottom, ".concat(g," 0%, ").concat(y," 100%)")}getValue(e){return e.hsva.a}},HueStrip$1=class extends Strip$1{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}},InsertButton$1=class extends Disposable$1{constructor(e){super(),this._onClicked=this._register(new Emitter$3),this.onClicked=this._onClicked.event,this._button=append$4(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(addDisposableListener$1(this._button,EventType$3.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}},ColorPickerWidget$1=class extends Widget$3{constructor(e,t,i,r,g=!1){super(),this.model=t,this.pixelRatio=i,this._register(PixelRatio$1.getInstance(getWindow$3(e)).onDidChange(()=>this.layout())),this._domNode=$$l(".colorpicker-widget"),e.appendChild(this._domNode),this.header=this._register(new ColorPickerHeader$1(this._domNode,this.model,r,g)),this.body=this._register(new ColorPickerBody$1(this._domNode,this.model,this.pixelRatio,g))}layout(){this.body.layout()}get domNode(){return this._domNode}},HoverRangeAnchor$1=class{constructor(e,t,i,r){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}},HoverForeignElementAnchor$1=class{constructor(e,t,i,r,g,y){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=r,this.initialMousePosY=g,this.supportsMarkerHover=y,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}};class RenderedHoverParts{constructor(e){this.renderedHoverParts=e}dispose(){for(const e of this.renderedHoverParts)e.dispose()}}const HoverParticipantRegistry$1=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};var __decorate$3T=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3J=function(n,e){return function(t,i){e(t,i,n)}};let ColorHover$1=class{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},ColorHoverParticipant$1=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return AsyncIterableObject$1.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const r=ColorDetector$1.get(this._editor);if(!r)return[];for(const g of t){if(!r.isColorDecoration(g))continue;const y=r.getColorData(g.range.getStartPosition());if(y)return[await _createColorHover$1(this,this._editor.getModel(),y.colorInfo,y.provider)]}return[]}renderHoverParts(e,t){const i=renderHoverParts$1(this,this._editor,this._themeService,t,e);if(!i)return new RenderedHoverParts([]);this._colorPicker=i.colorPicker;const r={hoverPart:i.hoverPart,hoverElement:this._colorPicker.domNode,dispose(){i.disposables.dispose()}};return new RenderedHoverParts([r])}handleResize(){var e;(e=this._colorPicker)==null||e.layout()}isColorPickerVisible(){return!!this._colorPicker}};ColorHoverParticipant$1=__decorate$3T([__param$3J(1,IThemeService$1)],ColorHoverParticipant$1);let StandaloneColorPickerHover$1=class{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r}},StandaloneColorPickerParticipant$1=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!ColorDetector$1.get(this._editor))return null;const g=await getColors$1(i,this._editor.getModel(),CancellationToken$1.None);let y=null,k=null;for(const j of g){const ie=j.colorInfo;Range$5.containsRange(ie.range,e.range)&&(y=ie,k=j.provider)}const L=y!=null?y:e,V=k!=null?k:t,z=!!y;return{colorHover:await _createColorHover$1(this,this._editor.getModel(),L,V),foundInEditor:z}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Range$5(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await _updateColorPresentations$1(this._editor.getModel(),t,this._color,i,e),i=_updateEditorModel$1(this._editor,i,t))}renderHoverParts(e,t){return renderHoverParts$1(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};StandaloneColorPickerParticipant$1=__decorate$3T([__param$3J(1,IThemeService$1)],StandaloneColorPickerParticipant$1);async function _createColorHover$1(n,e,t,i){const r=e.getValueInRange(t.range),{red:g,green:y,blue:k,alpha:L}=t.color,V=new RGBA$2(Math.round(g*255),Math.round(y*255),Math.round(k*255),L),z=new Color$2(V),j=await getColorPresentations$1(e,t,i,CancellationToken$1.None),ie=new ColorPickerModel$1(z,[],0);return ie.colorPresentations=j||[],ie.guessColorPresentation(z,r),n instanceof ColorHoverParticipant$1?new ColorHover$1(n,Range$5.lift(t.range),ie,i):new StandaloneColorPickerHover$1(n,Range$5.lift(t.range),ie,i)}function renderHoverParts$1(n,e,t,i,r){if(i.length===0||!e.hasModel())return;if(r.setMinimumDimensions){const ie=e.getOption(67)+8;r.setMinimumDimensions(new Dimension$1(302,ie))}const g=new DisposableStore$1,y=i[0],k=e.getModel(),L=y.model,V=g.add(new ColorPickerWidget$1(r.fragment,L,e.getOption(144),t,n instanceof StandaloneColorPickerParticipant$1));let z=!1,j=new Range$5(y.range.startLineNumber,y.range.startColumn,y.range.endLineNumber,y.range.endColumn);if(n instanceof StandaloneColorPickerParticipant$1){const ie=y.model.color;n.color=ie,_updateColorPresentations$1(k,L,ie,j,y),g.add(L.onColorFlushed(oe=>{n.color=oe}))}else g.add(L.onColorFlushed(async ie=>{await _updateColorPresentations$1(k,L,ie,j,y),z=!0,j=_updateEditorModel$1(e,j,L)}));return g.add(L.onDidChangeColor(ie=>{_updateColorPresentations$1(k,L,ie,j,y)})),g.add(e.onDidChangeModelContent(ie=>{z?z=!1:(r.hide(),e.focus())})),{hoverPart:y,colorPicker:V,disposables:g}}function _updateEditorModel$1(n,e,t){var k,L;const i=[],r=(k=t.presentation.textEdit)!=null?k:{range:e,text:t.presentation.label,forceMoveMarkers:!1};i.push(r),t.presentation.additionalTextEdits&&i.push(...t.presentation.additionalTextEdits);const g=Range$5.lift(r.range),y=n.getModel()._setTrackedRange(null,g,3);return n.executeEdits("colorpicker",i),n.pushUndoStop(),(L=n.getModel()._getTrackedRange(y))!=null?L:g}async function _updateColorPresentations$1(n,e,t,i,r){const g=await getColorPresentations$1(n,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},r.provider,CancellationToken$1.None);e.colorPresentations=g||[]}const SHOW_OR_FOCUS_HOVER_ACTION_ID="editor.action.showHover",SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID="editor.action.showDefinitionPreviewHover",SCROLL_UP_HOVER_ACTION_ID="editor.action.scrollUpHover",SCROLL_DOWN_HOVER_ACTION_ID="editor.action.scrollDownHover",SCROLL_LEFT_HOVER_ACTION_ID="editor.action.scrollLeftHover",SCROLL_RIGHT_HOVER_ACTION_ID="editor.action.scrollRightHover",PAGE_UP_HOVER_ACTION_ID="editor.action.pageUpHover",PAGE_DOWN_HOVER_ACTION_ID="editor.action.pageDownHover",GO_TO_TOP_HOVER_ACTION_ID="editor.action.goToTopHover",GO_TO_BOTTOM_HOVER_ACTION_ID="editor.action.goToBottomHover",INCREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.increaseHoverVerbosityLevel",INCREASE_HOVER_VERBOSITY_ACTION_LABEL=localize$1({key:"increaseHoverVerbosityLevel",comment:["Label for action that will increase the hover verbosity level."]},"Increase Hover Verbosity Level"),DECREASE_HOVER_VERBOSITY_ACTION_ID="editor.action.decreaseHoverVerbosityLevel",DECREASE_HOVER_VERBOSITY_ACTION_LABEL=localize$1({key:"decreaseHoverVerbosityLevel",comment:["Label for action that will decrease the hover verbosity level."]},"Decrease Hover Verbosity Level"),inlineSuggestCommitId$1="editor.action.inlineSuggest.commit",showPreviousInlineSuggestionActionId$1="editor.action.inlineSuggest.showPrevious",showNextInlineSuggestionActionId$1="editor.action.inlineSuggest.showNext";var __decorate$3S=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3I=function(n,e){return function(t,i){e(t,i,n)}},InlineSuggestionHintsContentWidget_1$1;let InlineCompletionsHintsWidget$1=class extends Disposable$1{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived$1(this,r=>{var L,V,z;const g=(L=this.model.read(r))==null?void 0:L.primaryGhostText.read(r);if(!this.alwaysShowToolbar.read(r)||!g||g.parts.length===0)return this.sessionPosition=void 0,null;const y=g.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==g.lineNumber&&(this.sessionPosition=void 0);const k=new Position$3(g.lineNumber,Math.min(y,(z=(V=this.sessionPosition)==null?void 0:V.column)!=null?z:Number.MAX_SAFE_INTEGER));return this.sessionPosition=k,k}),this._register(autorunWithStore$1((r,g)=>{const y=this.model.read(r);if(!y||!this.alwaysShowToolbar.read(r))return;const k=derivedWithStore$1((V,z)=>{const j=z.add(this.instantiationService.createInstance(InlineSuggestionHintsContentWidget$1,this.editor,!0,this.position,y.selectedInlineCompletionIndex,y.inlineCompletionsCount,y.activeCommands));return e.addContentWidget(j),z.add(toDisposable$1(()=>e.removeContentWidget(j))),z.add(autorun$1(ie=>{this.position.read(ie)&&y.lastTriggerKind.read(ie)!==InlineCompletionTriggerKind$3.Explicit&&y.triggerExplicitly()})),j}),L=derivedObservableWithCache$1(this,(V,z)=>!!this.position.read(V)||!!z);g.add(autorun$1(V=>{L.read(V)&&k.read(V)}))}))}};InlineCompletionsHintsWidget$1=__decorate$3S([__param$3I(2,IInstantiationService$1)],InlineCompletionsHintsWidget$1);const inlineSuggestionHintsNextIcon$1=registerIcon$1("inline-suggestion-hints-next",Codicon$1.chevronRight,localize$1("parameterHintsNextIcon","Icon for show next parameter hint.")),inlineSuggestionHintsPreviousIcon$1=registerIcon$1("inline-suggestion-hints-previous",Codicon$1.chevronLeft,localize$1("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var jr;let InlineSuggestionHintsContentWidget$1=(jr=class extends Disposable$1{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const r=new Action$1(e,t,i,!0,()=>this._commandService.executeCommand(e)),g=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let y=t;return g&&(y=localize$1({key:"content",comment:["A label","A keybinding"]},"{0} ({1})",t,g.getLabel())),r.tooltip=y,r}constructor(e,t,i,r,g,y,k,L,V,z,j){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=r,this._suggestionCount=g,this._extraCommands=y,this._commandService=k,this.keybindingService=V,this._contextKeyService=z,this._menuService=j,this.id="InlineSuggestionHintsContentWidget".concat(InlineSuggestionHintsContentWidget_1$1.id++),this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h$2("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[h$2("div@toolBar")]),this.previousAction=this.createCommandAction(showPreviousInlineSuggestionActionId$1,localize$1("previous","Previous"),ThemeIcon$1.asClassName(inlineSuggestionHintsPreviousIcon$1)),this.availableSuggestionCountAction=new Action$1("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(showNextInlineSuggestionActionId$1,localize$1("next","Next"),ThemeIcon$1.asClassName(inlineSuggestionHintsNextIcon$1)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId$1.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new RunOnceScheduler$1(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new RunOnceScheduler$1(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.toolBar=this._register(L.createInstance(CustomizedMenuWorkbenchToolBar$3,this.nodes.toolBar,MenuId$1.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:ie=>ie.startsWith("primary")},actionViewItemProvider:(ie,oe)=>{if(ie instanceof MenuItemAction$1)return L.createInstance(StatusBarViewItem$4,ie,void 0);if(ie===this.availableSuggestionCountAction){const re=new ActionViewItemWithClassName$1(void 0,ie,{label:!0,icon:!1});return re.setClass("availableSuggestionCount"),re}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(ie=>{InlineSuggestionHintsContentWidget_1$1._dropDownVisible=ie})),this._register(autorun$1(ie=>{this._position.read(ie),this.editor.layoutContentWidget(this)})),this._register(autorun$1(ie=>{const oe=this._suggestionCount.read(ie),re=this._currentSuggestionIdx.read(ie);oe!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label="".concat(re+1,"/").concat(oe)):this.clearAvailableSuggestionCountLabelDebounced.schedule(),oe!==void 0&&oe>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(autorun$1(ie=>{const re=this._extraCommands.read(ie).map(ae=>({class:void 0,id:ae.id,enabled:!0,tooltip:ae.tooltip||"",label:ae.title,run:le=>this._commandService.executeCommand(ae.id)}));for(const[ae,le]of this.inlineCompletionsActionsMenus.getActions())for(const de of le)de instanceof MenuItemAction$1&&re.push(de);re.length>0&&re.unshift(new Separator$1),this.toolBar.setAdditionalSecondaryActions(re)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},InlineSuggestionHintsContentWidget_1$1=jr,jr._dropDownVisible=!1,jr.id=0,jr);InlineSuggestionHintsContentWidget$1=InlineSuggestionHintsContentWidget_1$1=__decorate$3S([__param$3I(6,ICommandService$1),__param$3I(7,IInstantiationService$1),__param$3I(8,IKeybindingService$1),__param$3I(9,IContextKeyService$1),__param$3I(10,IMenuService$1)],InlineSuggestionHintsContentWidget$1);let ActionViewItemWithClassName$1=class extends ActionViewItem$1{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}},StatusBarViewItem$4=class extends MenuEntryActionViewItem$1{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h$2("div.keybinding").root;this._register(new KeybindingLabel$1(t,OS$1,{disableTitle:!0,...unthemedKeybindingLabelOptions$1})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},CustomizedMenuWorkbenchToolBar$3=class extends WorkbenchToolBar$1{constructor(e,t,i,r,g,y,k,L,V){super(e,{resetMenu:t,...i},r,g,y,k,L,V),this.menuId=t,this.options2=i,this.menuService=r,this.contextKeyService=g,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,r,g,y,k,L,V;const e=[],t=[];createAndFillInActionBarActions$1(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(g=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:g.primaryGroup,(k=(y=this.options2)==null?void 0:y.toolbarOptions)==null?void 0:k.shouldInlineSubmenu,(V=(L=this.options2)==null?void 0:L.toolbarOptions)==null?void 0:V.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setPrependedPrimaryActions(e){equals$5(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){equals$5(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar$3=__decorate$3S([__param$3I(3,IMenuService$1),__param$3I(4,IContextKeyService$1),__param$3I(5,IContextMenuService$1),__param$3I(6,IKeybindingService$1),__param$3I(7,ICommandService$1),__param$3I(8,ITelemetryService$1)],CustomizedMenuWorkbenchToolBar$3);function isMousePositionWithinElement(n,e,t){const i=getDomNodePagePosition$1(n);return!(ei.left+i.width||ti.top+i.height)}let HoverResult$3=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}},HoverOperation$1=class extends Disposable$1{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Emitter$3),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new RunOnceScheduler$1(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new RunOnceScheduler$1(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new RunOnceScheduler$1(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=createCancelableAsyncIterable$1(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){onUnexpectedError$1(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new HoverResult$3(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}},ResizableHTMLElement$1=class{constructor(){this._onDidWillResize=new Emitter$3,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Emitter$3,this.onDidResize=this._onDidResize.event,this._sashListener=new DisposableStore$1,this._size=new Dimension$1(0,0),this._minSize=new Dimension$1(0,0),this._maxSize=new Dimension$1(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Sash$1(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Sash$1(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Sash$1(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:OrthogonalEdge$1.North}),this._southSash=new Sash$1(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:OrthogonalEdge$1.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(Event$2.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Event$2.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(i=r.currentX-r.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(i=-(r.currentX-r.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Event$2.any(this._eastSash.onDidReset,this._westSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Event$2.any(this._northSash.onDidReset,this._southSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:r}=this._minSize,{height:g,width:y}=this._maxSize;e=Math.max(i,Math.min(g,e)),t=Math.max(r,Math.min(y,t));const k=new Dimension$1(t,e);Dimension$1.equals(k,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=k,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}};const TOP_HEIGHT$1=30,BOTTOM_HEIGHT$1=24;let ResizableContentWidget$1=class extends Disposable$1{constructor(e,t=new Dimension$1(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new ResizableHTMLElement$1),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Dimension$1.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Dimension$1(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return(e=this._contentPosition)!=null&&e.position?Position$3.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:getDomNodePagePosition$1(t).top+i.top-TOP_HEIGHT$1}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const r=getDomNodePagePosition$1(t),g=getClientArea$1(t.ownerDocument.body),y=r.top+i.top+i.height;return g.height-y-BOTTOM_HEIGHT$1}_findPositionPreference(e,t){var L,V;const i=Math.min((L=this._availableVerticalSpaceBelow(t))!=null?L:1/0,e),r=Math.min((V=this._availableVerticalSpaceAbove(t))!=null?V:1/0,e),g=Math.min(Math.max(r,i),e),y=Math.min(e,g);let k;return this._editor.getOption(60).above?k=y<=r?1:2:k=y<=i?2:1,k===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),k}_resize(e){this._resizableNode.layout(e.height,e.width)}};var __decorate$3R=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3H=function(n,e){return function(t,i){e(t,i,n)}},ContentHoverWidget_1$1;const HORIZONTAL_SCROLLING_BY$1=30,CONTAINER_HEIGHT_PADDING$1=6;var Gr;let ContentHoverWidget$1=(Gr=class extends ResizableContentWidget$1{get isVisibleFromKeyboard(){var e;return((e=this._renderedHover)==null?void 0:e.source)===1}get isVisible(){var e;return(e=this._hoverVisibleKey.get())!=null?e:!1}get isFocused(){var e;return(e=this._hoverFocusedKey.get())!=null?e:!1}constructor(e,t,i,r,g){const y=e.getOption(67)+8,k=150,L=new Dimension$1(k,y);super(e,L),this._configurationService=i,this._accessibilityService=r,this._keybindingService=g,this._hover=this._register(new HoverWidget$3),this._onDidResize=this._register(new Emitter$3),this.onDidResize=this._onDidResize.event,this._minimumSize=L,this._hoverVisibleKey=EditorContextKeys$1.hoverVisible.bindTo(t),this._hoverFocusedKey=EditorContextKeys$1.hoverFocused.bindTo(t),append$4(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(z=>{z.hasChanged(50)&&this._updateFont()}));const V=this._register(trackFocus$1(this._resizableNode.domNode));this._register(V.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(V.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setRenderedHover(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._renderedHover)==null||e.dispose(),this._editor.removeContentWidget(this)}getId(){return ContentHoverWidget_1$1.ID}static _applyDimensions(e,t,i){const r=typeof t=="number"?"".concat(t,"px"):t,g=typeof i=="number"?"".concat(i,"px"):i;e.style.width=r,e.style.height=g}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return ContentHoverWidget_1$1._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ContentHoverWidget_1$1._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const r=typeof t=="number"?"".concat(t,"px"):t,g=typeof i=="number"?"".concat(i,"px"):i;e.style.maxWidth=r,e.style.maxHeight=g}_setHoverWidgetMaxDimensions(e,t){ContentHoverWidget_1$1._applyMaxDimensions(this._hover.contentsDomNode,e,t),ContentHoverWidget_1$1._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?"".concat(e,"px"):e),this._layoutContentWidget()}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i)}_updateResizableNodeMaxDimensions(){var i,r;const e=(i=this._findMaximumRenderingWidth())!=null?i:1/0,t=(r=this._findMaximumRenderingHeight())!=null?r:1/0;this._resizableNode.maxSize=new Dimension$1(e,t),this._setHoverWidgetMaxDimensions(e,t)}_resize(e){ContentHoverWidget_1$1._lastDimensions=new Dimension$1(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),this._onDidResize.fire()}_findAvailableSpaceVertically(){var t;const e=(t=this._renderedHover)==null?void 0:t.showAtPosition;if(e)return this._positionPreference===1?this._availableVerticalSpaceAbove(e):this._availableVerticalSpaceBelow(e)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=CONTAINER_HEIGHT_PADDING$1;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidththis._renderedHover.closestMouseDistance+4?!1:(this._renderedHover.closestMouseDistance=Math.min(this._renderedHover.closestMouseDistance,r),!0)}_setRenderedHover(e){var t;(t=this._renderedHover)==null||t.dispose(),this._renderedHover=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize="".concat(e,"px"),i.style.lineHeight="".concat(t/e),Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(g=>this._editor.applyFontInfo(g))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,ContentHoverWidget_1$1._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ContentHoverWidget_1$1._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e){this._setRenderedHover(e),this._updateFont(),this._updateContent(e.domNode),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._renderedHover?{position:this._renderedHover.showAtPosition,secondaryPosition:this._renderedHover.showAtSecondaryPosition,positionAffinity:this._renderedHover.shouldAppearBeforeContent?3:void 0,preference:[(e=this._positionPreference)!=null?e:1]}:null}show(e){var y,k,L;if(!this._editor||!this._editor.hasModel())return;this._render(e);const t=getTotalHeight$1(this._hover.containerDomNode),i=e.showAtPosition;this._positionPreference=(y=this._findPositionPreference(t,i))!=null?y:1,this.onContentsChanged(),e.shouldFocus&&this._hover.containerDomNode.focus(),this._onDidResize.fire();const g=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&getHoverAccessibleViewHint$1(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(L=(k=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))==null?void 0:k.getAriaLabel())!=null?L:"");g&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+g)}hide(){if(!this._renderedHover)return;const e=this._renderedHover.shouldFocus||this._hoverFocusedKey.get();this._setRenderedHover(void 0),this._resizableNode.maxSize=new Dimension$1(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}setMinimumDimensions(e){this._minimumSize=new Dimension$1(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Dimension$1(e,this._minimumSize.height)}onContentsChanged(){var r;this._removeConstraintsRenderNormally();const e=this._hover.containerDomNode;let t=getTotalHeight$1(e),i=getTotalWidth$1(e);if(this._resizableNode.layout(t,i),this._setHoverWidgetDimensions(i,t),t=getTotalHeight$1(e),i=getTotalWidth$1(e),this._contentWidth=i,this._updateMinimumWidth(),this._resizableNode.layout(t,i),(r=this._renderedHover)!=null&&r.showAtPosition){const g=getTotalHeight$1(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(g,this._renderedHover.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-HORIZONTAL_SCROLLING_BY$1})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+HORIZONTAL_SCROLLING_BY$1})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}},ContentHoverWidget_1$1=Gr,Gr.ID="editor.contrib.resizableContentHoverWidget",Gr._lastDimensions=new Dimension$1(0,0),Gr);ContentHoverWidget$1=ContentHoverWidget_1$1=__decorate$3R([__param$3H(1,IContextKeyService$1),__param$3H(2,IConfigurationService$1),__param$3H(3,IAccessibilityService$1),__param$3H(4,IKeybindingService$1)],ContentHoverWidget$1);function computeDistanceFromPointToRectangle$1(n,e,t,i,r,g){const y=t+r/2,k=i+g/2,L=Math.max(Math.abs(n-y)-r/2,0),V=Math.max(Math.abs(e-k)-g/2,0);return Math.sqrt(L*L+V*V)}let ContentHoverComputer$1=class zd{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),r=t.range.startLineNumber;if(r>i.getLineCount())return[];const g=i.getLineMaxColumn(r);return e.getLineDecorations(r).filter(y=>{if(y.options.isWholeLine)return!0;const k=y.range.startLineNumber===r?y.range.startColumn:1,L=y.range.endLineNumber===r?y.range.endColumn:g;if(y.options.showIfCollapsed){if(k>t.range.startColumn+1||t.range.endColumn-1>L)return!1}else if(k>t.range.startColumn||t.range.endColumn>L)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return AsyncIterableObject$1.EMPTY;const i=zd._getLineDecorations(this._editor,t);return AsyncIterableObject$1.merge(this._participants.map(r=>r.computeAsync?r.computeAsync(t,i,e):AsyncIterableObject$1.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=zd._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return coalesce$1(t)}},HoverResult$2=class{constructor(e,t,i){this.anchor=e,this.hoverParts=t,this.isComplete=i}filter(e){const t=this.hoverParts.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.hoverParts.length?this:new FilteredHoverResult$1(this,this.anchor,t,this.isComplete)}},FilteredHoverResult$1=class extends HoverResult$2{constructor(e,t,i,r){super(t,i,r),this.original=e}filter(e){return this.original.filter(e)}};var __decorate$3Q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3G=function(n,e){return function(t,i){e(t,i,n)}};const $$k=$$u;let EditorHoverStatusBar$1=class extends Disposable$1{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this.actions=[],this._hasContent=!1,this.hoverElement=$$k("div.hover-row.status-bar"),this.hoverElement.tabIndex=0,this.actionsElement=append$4(this.hoverElement,$$k("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;this._hasContent=!0;const r=this._register(HoverAction$1.render(this.actionsElement,e,i));return this.actions.push(r),r}append(e){const t=append$4(this.actionsElement,e);return this._hasContent=!0,t}};EditorHoverStatusBar$1=__decorate$3Q([__param$3G(0,IKeybindingService$1)],EditorHoverStatusBar$1);let HoverProviderResult$1=class{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}};async function executeProvider$1(n,e,t,i,r){const g=await Promise.resolve(n.provideHover(t,i,r)).catch(onUnexpectedExternalError$1);if(!(!g||!isValid$1(g)))return new HoverProviderResult$1(n,g,e)}function getHoverProviderResultsAsAsyncIterable(n,e,t,i,r=!1){const y=n.ordered(e,r).map((k,L)=>executeProvider$1(k,L,e,t,i));return AsyncIterableObject$1.fromPromises(y).coalesce()}function getHoversPromise(n,e,t,i,r=!1){return getHoverProviderResultsAsAsyncIterable(n,e,t,i,r).map(g=>g.hover).toPromise()}registerModelAndPositionCommand$1("_executeHoverProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1);return getHoversPromise(i.hoverProvider,e,t,CancellationToken$1.None)});registerModelAndPositionCommand$1("_executeHoverProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1);return getHoversPromise(i.hoverProvider,e,t,CancellationToken$1.None,!0)});function isValid$1(n){const e=typeof n.range<"u",t=typeof n.contents<"u"&&n.contents&&n.contents.length>0;return e&&t}var __decorate$3P=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3F=function(n,e){return function(t,i){e(t,i,n)}};const $$j=$$u,increaseHoverVerbosityIcon=registerIcon$1("hover-increase-verbosity",Codicon$1.add,localize$1("increaseHoverVerbosity","Icon for increaseing hover verbosity.")),decreaseHoverVerbosityIcon=registerIcon$1("hover-decrease-verbosity",Codicon$1.remove,localize$1("decreaseHoverVerbosity","Icon for decreasing hover verbosity."));let MarkdownHover$1=class{constructor(e,t,i,r,g,y=void 0){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=r,this.ordinal=g,this.source=y}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}};class HoverSource{constructor(e,t,i){this.hover=e,this.hoverProvider=t,this.hoverPosition=i}supportsVerbosityAction(e){var t,i;switch(e){case HoverVerbosityAction$1.Increase:return(t=this.hover.canIncreaseVerbosity)!=null?t:!1;case HoverVerbosityAction$1.Decrease:return(i=this.hover.canDecreaseVerbosity)!=null?i:!1}}}let MarkdownHoverParticipant$1=class{constructor(e,t,i,r,g,y,k,L){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=r,this._languageFeaturesService=g,this._keybindingService=y,this._hoverService=k,this._commandService=L,this.hoverOrdinal=3}createLoadingMessage(e){return new MarkdownHover$1(this,e.range,[new MarkdownString$1().appendText(localize$1("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,g=i.getLineMaxColumn(r),y=[];let k=1e3;const L=i.getLineLength(r),V=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),z=this._editor.getOption(118),j=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:V});let ie=!1;z>=0&&L>z&&e.range.startColumn>=z&&(ie=!0,y.push(new MarkdownHover$1(this,e.range,[{value:localize$1("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,k++))),!ie&&typeof j=="number"&&L>=j&&y.push(new MarkdownHover$1(this,e.range,[{value:localize$1("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,k++));let oe=!1;for(const re of t){const ae=re.range.startLineNumber===r?re.range.startColumn:1,le=re.range.endLineNumber===r?re.range.endColumn:g,de=re.options.hoverMessage;if(!de||isEmptyMarkdownString$1(de))continue;re.options.beforeContentClassName&&(oe=!0);const ue=new Range$5(e.range.startLineNumber,ae,e.range.startLineNumber,le);y.push(new MarkdownHover$1(this,ue,asArray$1(de),oe,k++))}return y}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return AsyncIterableObject$1.EMPTY;const r=this._editor.getModel(),g=this._languageFeaturesService.hoverProvider;return g.has(r)?this._getMarkdownHovers(g,r,e,i):AsyncIterableObject$1.EMPTY}_getMarkdownHovers(e,t,i,r){const g=i.range.getStartPosition();return getHoverProviderResultsAsAsyncIterable(e,t,g,r).filter(L=>!isEmptyMarkdownString$1(L.hover.contents)).map(L=>{const V=L.hover.range?Range$5.lift(L.hover.range):i.range,z=new HoverSource(L.hover,L.provider,g);return new MarkdownHover$1(this,V,L.hover.contents,!1,L.ordinal,z)})}renderHoverParts(e,t){return this._renderedHoverParts=new MarkdownRenderedHoverParts(t,e.fragment,this,this._editor,this._languageService,this._openerService,this._commandService,this._keybindingService,this._hoverService,this._configurationService,e.onContentsChanged),this._renderedHoverParts}updateMarkdownHoverVerbosityLevel(e,t,i){var r;return Promise.resolve((r=this._renderedHoverParts)==null?void 0:r.updateMarkdownHoverPartVerbosityLevel(e,t,i))}};MarkdownHoverParticipant$1=__decorate$3P([__param$3F(1,ILanguageService$1),__param$3F(2,IOpenerService$1),__param$3F(3,IConfigurationService$1),__param$3F(4,ILanguageFeaturesService$1),__param$3F(5,IKeybindingService$1),__param$3F(6,IHoverService$1),__param$3F(7,ICommandService$1)],MarkdownHoverParticipant$1);class RenderedMarkdownHoverPart{constructor(e,t,i){this.hoverPart=e,this.hoverElement=t,this.disposables=i}dispose(){this.disposables.dispose()}}class MarkdownRenderedHoverParts{constructor(e,t,i,r,g,y,k,L,V,z,j){this._hoverParticipant=i,this._editor=r,this._languageService=g,this._openerService=y,this._commandService=k,this._keybindingService=L,this._hoverService=V,this._configurationService=z,this._onFinishedRendering=j,this._ongoingHoverOperations=new Map,this._disposables=new DisposableStore$1,this.renderedHoverParts=this._renderHoverParts(e,t,this._onFinishedRendering),this._disposables.add(toDisposable$1(()=>{this.renderedHoverParts.forEach(ie=>{ie.dispose()}),this._ongoingHoverOperations.forEach(ie=>{ie.tokenSource.dispose(!0)})}))}_renderHoverParts(e,t,i){return e.sort(compareBy$1(r=>r.ordinal,numberComparator$1)),e.map(r=>{const g=this._renderHoverPart(r,i);return t.appendChild(g.hoverElement),g})}_renderHoverPart(e,t){const i=this._renderMarkdownHover(e,t),r=i.hoverElement,g=e.source,y=new DisposableStore$1;if(y.add(i),!g)return new RenderedMarkdownHoverPart(e,r,y);const k=g.supportsVerbosityAction(HoverVerbosityAction$1.Increase),L=g.supportsVerbosityAction(HoverVerbosityAction$1.Decrease);if(!k&&!L)return new RenderedMarkdownHoverPart(e,r,y);const V=$$j("div.verbosity-actions");return r.prepend(V),y.add(this._renderHoverExpansionAction(V,HoverVerbosityAction$1.Increase,k)),y.add(this._renderHoverExpansionAction(V,HoverVerbosityAction$1.Decrease,L)),new RenderedMarkdownHoverPart(e,r,y)}_renderMarkdownHover(e,t){return renderMarkdownInContainer(this._editor,e,this._languageService,this._openerService,t)}_renderHoverExpansionAction(e,t,i){const r=new DisposableStore$1,g=t===HoverVerbosityAction$1.Increase,y=append$4(e,$$j(ThemeIcon$1.asCSSSelector(g?increaseHoverVerbosityIcon:decreaseHoverVerbosityIcon)));y.tabIndex=0;const k=new WorkbenchHoverDelegate$1("mouse",!1,{target:e,position:{hoverPosition:0}},this._configurationService,this._hoverService);if(r.add(this._hoverService.setupManagedHover(k,y,labelForHoverVerbosityAction(this._keybindingService,t))),!i)return y.classList.add("disabled"),r;y.classList.add("enabled");const L=()=>this._commandService.executeCommand(t===HoverVerbosityAction$1.Increase?INCREASE_HOVER_VERBOSITY_ACTION_ID:DECREASE_HOVER_VERBOSITY_ACTION_ID);return r.add(new ClickAction(y,L)),r.add(new KeyDownAction(y,L,[3,10])),r}async updateMarkdownHoverPartVerbosityLevel(e,t,i=!0){const r=this._editor.getModel();if(!r)return;const g=this._getRenderedHoverPartAtIndex(t),y=g==null?void 0:g.hoverPart.source;if(!g||!(y!=null&&y.supportsVerbosityAction(e)))return;const k=await this._fetchHover(y,r,e);if(!k)return;const L=new HoverSource(k,y.hoverProvider,y.hoverPosition),V=g.hoverPart,z=new MarkdownHover$1(this._hoverParticipant,V.range,k.contents,V.isBeforeContent,V.ordinal,L),j=this._renderHoverPart(z,this._onFinishedRendering);return this._replaceRenderedHoverPartAtIndex(t,j,z),i&&this._focusOnHoverPartWithIndex(t),{hoverPart:z,hoverElement:j.hoverElement}}async _fetchHover(e,t,i){let r=i===HoverVerbosityAction$1.Increase?1:-1;const g=e.hoverProvider,y=this._ongoingHoverOperations.get(g);y&&(y.tokenSource.cancel(),r+=y.verbosityDelta);const k=new CancellationTokenSource$3;this._ongoingHoverOperations.set(g,{verbosityDelta:r,tokenSource:k});const L={verbosityRequest:{verbosityDelta:r,previousHover:e.hover}};let V;try{V=await Promise.resolve(g.provideHover(t,e.hoverPosition,k.token,L))}catch(z){onUnexpectedExternalError$1(z)}return k.dispose(),this._ongoingHoverOperations.delete(g),V}_replaceRenderedHoverPartAtIndex(e,t,i){if(e>=this.renderedHoverParts.length||e<0)return;const r=this.renderedHoverParts[e],g=r.hoverElement,y=t.hoverElement,k=Array.from(y.children);g.replaceChildren(...k);const L=new RenderedMarkdownHoverPart(i,g,t.disposables);g.focus(),r.dispose(),this.renderedHoverParts[e]=L}_focusOnHoverPartWithIndex(e){this.renderedHoverParts[e].hoverElement.focus()}_getRenderedHoverPartAtIndex(e){return this.renderedHoverParts[e]}dispose(){this._disposables.dispose()}}function renderMarkdownHovers$1(n,e,t,i,r){e.sort(compareBy$1(y=>y.ordinal,numberComparator$1));const g=[];for(const y of e)g.push(renderMarkdownInContainer(t,y,i,r,n.onContentsChanged));return new RenderedHoverParts(g)}function renderMarkdownInContainer(n,e,t,i,r){const g=new DisposableStore$1,y=$$j("div.hover-row"),k=$$j("div.hover-row-contents");y.appendChild(k);const L=e.contents;for(const z of L){if(isEmptyMarkdownString$1(z))continue;const j=$$j("div.markdown-hover"),ie=append$4(j,$$j("div.hover-contents")),oe=g.add(new MarkdownRenderer$1({editor:n},t,i));g.add(oe.onDidRenderAsync(()=>{ie.className="hover-contents code-hover-contents",r()}));const re=g.add(oe.render(z));ie.appendChild(re.element),k.appendChild(j)}return{hoverPart:e,hoverElement:y,dispose(){g.dispose()}}}function labelForHoverVerbosityAction(n,e){switch(e){case HoverVerbosityAction$1.Increase:{const t=n.lookupKeybinding(INCREASE_HOVER_VERBOSITY_ACTION_ID);return t?localize$1("increaseVerbosityWithKb","Increase Hover Verbosity ({0})",t.getLabel()):localize$1("increaseVerbosity","Increase Hover Verbosity")}case HoverVerbosityAction$1.Decrease:{const t=n.lookupKeybinding(DECREASE_HOVER_VERBOSITY_ACTION_ID);return t?localize$1("decreaseVerbosityWithKb","Decrease Hover Verbosity ({0})",t.getLabel()):localize$1("decreaseVerbosity","Decrease Hover Verbosity")}}}function hasModifier$1(n,e){return!!n[e]}let ClickLinkMouseEvent$1=class{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=hasModifier$1(e.event,t.triggerModifier),this.hasSideBySideModifier=hasModifier$1(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}},ClickLinkKeyboardEvent$1=class{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=hasModifier$1(e,t.triggerModifier)}},ClickLinkOptions$1=class{constructor(e,t,i,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}};function createOptions$1(n){return n==="altKey"?isMacintosh$1?new ClickLinkOptions$1(57,"metaKey",6,"altKey"):new ClickLinkOptions$1(5,"ctrlKey",6,"altKey"):isMacintosh$1?new ClickLinkOptions$1(6,"altKey",57,"metaKey"):new ClickLinkOptions$1(6,"altKey",5,"ctrlKey")}let ClickLinkGesture$1=class extends Disposable$1{constructor(e,t){var i;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Emitter$3),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Emitter$3),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Emitter$3),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(i=t==null?void 0:t.extractLineNumberFromMouseEvent)!=null?i:r=>r.target.position?r.target.position.lineNumber:0,this._opts=createOptions$1(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(r=>{if(r.hasChanged(78)){const g=createOptions$1(this._editor.getOption(78));if(this._opts.equals(g))return;this._opts=g,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(r=>this._onEditorMouseMove(new ClickLinkMouseEvent$1(r,this._opts)))),this._register(this._editor.onMouseDown(r=>this._onEditorMouseDown(new ClickLinkMouseEvent$1(r,this._opts)))),this._register(this._editor.onMouseUp(r=>this._onEditorMouseUp(new ClickLinkMouseEvent$1(r,this._opts)))),this._register(this._editor.onKeyDown(r=>this._onEditorKeyDown(new ClickLinkKeyboardEvent$1(r,this._opts)))),this._register(this._editor.onKeyUp(r=>this._onEditorKeyUp(new ClickLinkKeyboardEvent$1(r,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(r=>this._onDidChangeCursorSelection(r))),this._register(this._editor.onDidChangeModel(r=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(r=>{(r.scrollTopChanged||r.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}},InlayHintAnchor$1=class{constructor(e,t){this.range=e,this.direction=t}},InlayHintItem$1=class Fh{constructor(e,t,i){this.hint=e,this.anchor=t,this.provider=i,this._isResolved=!1}with(e){const t=new Fh(this.hint,e.anchor,this.provider);return t._isResolved=this._isResolved,t._currentResolve=this._currentResolve,t}async resolve(e){if(typeof this.provider.resolveInlayHint=="function"){if(this._currentResolve)return await this._currentResolve,e.isCancellationRequested?void 0:this.resolve(e);this._isResolved||(this._currentResolve=this._doResolve(e).finally(()=>this._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){var t,i,r;try{const g=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=g==null?void 0:g.tooltip)!=null?t:this.hint.tooltip,this.hint.label=(i=g==null?void 0:g.label)!=null?i:this.hint.label,this.hint.textEdits=(r=g==null?void 0:g.textEdits)!=null?r:this.hint.textEdits,this._isResolved=!0}catch(g){onUnexpectedExternalError$1(g),this._isResolved=!1}}};var _r;let InlayHintsFragments$1=(_r=class{static async create(e,t,i,r){const g=[],y=e.ordered(t).reverse().map(k=>i.map(async L=>{try{const V=await k.provideInlayHints(t,L,r);(V!=null&&V.hints.length||k.onDidChangeInlayHints)&&g.push([V!=null?V:_r._emptyInlayHintList,k])}catch(V){onUnexpectedExternalError$1(V)}}));if(await Promise.all(y.flat()),r.isCancellationRequested||t.isDisposed())throw new CancellationError$1;return new _r(i,g,t)}constructor(e,t,i){this._disposables=new DisposableStore$1,this.ranges=e,this.provider=new Set;const r=[];for(const[g,y]of t){this._disposables.add(g),this.provider.add(y);for(const k of g.hints){const L=i.validatePosition(k.position);let V="before";const z=_r._getRangeAtPosition(i,L);let j;z.getStartPosition().isBefore(L)?(j=Range$5.fromPositions(z.getStartPosition(),L),V="after"):(j=Range$5.fromPositions(L,z.getEndPosition()),V="before"),r.push(new InlayHintItem$1(k,new InlayHintAnchor$1(j,V),y))}}this.items=r.sort((g,y)=>Position$3.compare(g.hint.position,y.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new Range$5(i,r.startColumn,i,r.endColumn);e.tokenization.tokenizeIfCheap(i);const g=e.tokenization.getLineTokens(i),y=t.column-1,k=g.findTokenIndexAtOffset(y);let L=g.getStartOffset(k),V=g.getEndOffset(k);return V-L===1&&(L===y&&k>1?(L=g.getStartOffset(k-1),V=g.getEndOffset(k-1)):V===y&&k=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3E=function(n,e){return function(t,i){e(t,i,n)}};let EmbeddedCodeEditorWidget$1=class extends CodeEditorWidget$1{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},i,g,y,k,L,V,z,j,ie,oe),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(re=>this._onParentConfigurationChanged(re)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){mixin$1(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};EmbeddedCodeEditorWidget$1=__decorate$3O([__param$3E(4,IInstantiationService$1),__param$3E(5,ICodeEditorService$1),__param$3E(6,ICommandService$1),__param$3E(7,IContextKeyService$1),__param$3E(8,IThemeService$1),__param$3E(9,INotificationService$1),__param$3E(10,IAccessibilityService$1),__param$3E(11,ILanguageConfigurationService$1),__param$3E(12,ILanguageFeaturesService$1)],EmbeddedCodeEditorWidget$1);const defaultColor$1=new Color$2(new RGBA$2(0,122,204)),defaultOptions$4={showArrow:!0,showFrame:!0,className:"",frameColor:defaultColor$1,arrowColor:defaultColor$1,keepEditorSelection:!1},WIDGET_ID$1="vs.editor.contrib.zoneWidget";let ViewZoneDelegate$1=class{constructor(e,t,i,r,g,y,k,L){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=r,this.showInHiddenAreas=k,this.ordinal=L,this._onDomNodeTop=g,this._onComputedHeight=y}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}},OverlayWidgetDelegate$1=class{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}};var $a;let Arrow$1=($a=class{constructor(e){this._editor=e,this._ruleName=$a._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),removeCSSRulesContainingSelector$1(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){removeCSSRulesContainingSelector$1(this._ruleName),createCSSRule$1(".monaco-editor ".concat(this._ruleName),"border-style: solid; border-color: transparent; border-bottom-color: ".concat(this._color,"; border-width: ").concat(this._height,"px; bottom: -").concat(this._height,"px !important; margin-left: -").concat(this._height,"px; "))}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Range$5.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}},$a._IdGenerator=new IdGenerator$1(".arrow-decoration-"),$a),ZoneWidget$1=class{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new DisposableStore$1,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=deepClone$1(t),mixin$1(this.options,defaultOptions$4,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(r)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new Arrow$1(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height="".concat(e,"px"),this.container){const i=e-this._decoratingElementsHeight();this.container.style.height="".concat(i,"px");const r=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(r))}(t=this._resizeSash)==null||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Range$5.isIRange(e)?Range$5.lift(e):Range$5.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:ModelDecorationOptions$1.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)==null||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),r=this.editor.getLayoutInfo(),g=this._getWidth(r);this.domNode.style.width="".concat(g,"px"),this.domNode.style.left=this._getLeft(r)+"px";const y=document.createElement("div");y.style.overflow="hidden";const k=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const ie=Math.max(12,this.editor.getLayoutInfo().height/k*.8);t=Math.min(t,ie)}let L=0,V=0;if(this._arrow&&this.options.showArrow&&(L=Math.round(k/3),this._arrow.height=L,this._arrow.show(i)),this.options.showFrame&&(V=Math.round(k/9)),this.editor.changeViewZones(ie=>{this._viewZone&&ie.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ViewZoneDelegate$1(y,i.lineNumber,i.column,t,oe=>this._onViewZoneTop(oe),oe=>this._onViewZoneHeight(oe),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=ie.addZone(this._viewZone),this._overlayWidget=new OverlayWidgetDelegate$1(WIDGET_ID$1+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const ie=this.options.frameWidth?this.options.frameWidth:V;this.container.style.borderTopWidth=ie+"px",this.container.style.borderBottomWidth=ie+"px"}const z=t*k-this._decoratingElementsHeight();this.container&&(this.container.style.top=L+"px",this.container.style.height=z+"px",this.container.style.overflow="hidden"),this._doLayout(z,g),this.options.keepEditorSelection||this.editor.setSelection(e);const j=this.editor.getModel();if(j){const ie=j.validateRange(new Range$5(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(ie,ie.startLineNumber===j.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Sash$1(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),r=i<0?Math.ceil(i):Math.floor(i),g=e.heightInLines+r;g>5&&g<35&&this._relayout(g)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}};var __decorate$3N=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3D=function(n,e){return function(t,i){e(t,i,n)}};const IPeekViewService$1=createDecorator$1("IPeekViewService");registerSingleton$1(IPeekViewService$1,class{constructor(){this._widgets=new Map}addExclusiveWidget(n,e){const t=this._widgets.get(n);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const r=this._widgets.get(n);r&&r.widget===e&&(r.listener.dispose(),this._widgets.delete(n))};this._widgets.set(n,{widget:e,listener:e.onDidClose(i)})}},1);var PeekContext$1;(function(n){n.inPeekEditor=new RawContextKey$1("inReferenceSearchEditor",!0,localize$1("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),n.notInPeekEditor=n.inPeekEditor.toNegated()})(PeekContext$1||(PeekContext$1={}));var tc;let PeekContextController$1=(tc=class{constructor(e,t){e instanceof EmbeddedCodeEditorWidget$1&&PeekContext$1.inPeekEditor.bindTo(t)}dispose(){}},tc.ID="editor.contrib.referenceController",tc);PeekContextController$1=__decorate$3N([__param$3D(1,IContextKeyService$1)],PeekContextController$1);registerEditorContribution$1(PeekContextController$1.ID,PeekContextController$1,0);function getOuterEditor$1(n){const e=n.get(ICodeEditorService$1).getFocusedCodeEditor();return e instanceof EmbeddedCodeEditorWidget$1?e.getParentEditor():e}const defaultOptions$3={headerBackgroundColor:Color$2.white,primaryHeadingColor:Color$2.fromHex("#333333"),secondaryHeadingColor:Color$2.fromHex("#6c6c6cb3")};let PeekViewWidget$1=class extends ZoneWidget$1{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Emitter$3,this.onDidClose=this._onDidClose.event,mixin$1(this.options,defaultOptions$3,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=$$u(".head"),this._bodyElement=$$u(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=$$u(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),addStandardDisposableListener$1(this._titleElement,"click",g=>this._onTitleClick(g))),append$4(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$$u("span.filename"),this._secondaryHeading=$$u("span.dirname"),this._metaHeading=$$u("span.meta"),append$4(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=$$u(".peekview-actions");append$4(this._headElement,i);const r=this._getActionBarOptions();this._actionbarWidget=new ActionBar$1(i,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Action$1("peekview.close",localize$1("label.close","Close"),ThemeIcon$1.asClassName(Codicon$1.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:createActionViewItem$1.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:clearNode$1(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,show$1(this._metaHeading)):hide$3(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),r=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height="".concat(e,"px"),this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height="".concat(e,"px"))}};PeekViewWidget$1=__decorate$3N([__param$3D(2,IInstantiationService$1)],PeekViewWidget$1);const peekViewTitleBackground$1=registerColor$1("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("peekViewTitleBackground","Background color of the peek view title area.")),peekViewTitleForeground$1=registerColor$1("peekViewTitleLabel.foreground",{dark:Color$2.white,light:Color$2.black,hcDark:Color$2.white,hcLight:editorForeground$1},localize$1("peekViewTitleForeground","Color of the peek view title.")),peekViewTitleInfoForeground$1=registerColor$1("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},localize$1("peekViewTitleInfoForeground","Color of the peek view title info.")),peekViewBorder$1=registerColor$1("peekView.border",{dark:editorInfoForeground$1,light:editorInfoForeground$1,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("peekViewBorder","Color of the peek view borders and arrow.")),peekViewResultsBackground$1=registerColor$1("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("peekViewResultsBackground","Background color of the peek view result list."));registerColor$1("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Color$2.white,hcLight:editorForeground$1},localize$1("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));registerColor$1("peekViewResult.fileForeground",{dark:Color$2.white,light:"#1E1E1E",hcDark:Color$2.white,hcLight:editorForeground$1},localize$1("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));registerColor$1("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},localize$1("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));registerColor$1("peekViewResult.selectionForeground",{dark:Color$2.white,light:"#6C6C6C",hcDark:Color$2.white,hcLight:editorForeground$1},localize$1("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const peekViewEditorBackground$1=registerColor$1("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Color$2.black,hcLight:Color$2.white},localize$1("peekViewEditorBackground","Background color of the peek view editor."));registerColor$1("peekViewEditorGutter.background",peekViewEditorBackground$1,localize$1("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));registerColor$1("peekViewEditorStickyScroll.background",peekViewEditorBackground$1,localize$1("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));registerColor$1("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},localize$1("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));registerColor$1("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},localize$1("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));registerColor$1("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));let OneReference$1=class{constructor(e,t,i,r){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=r,this.id=defaultGenerator$1.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!=null?e:this.link.targetSelectionRange)!=null?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var t;const e=(t=this.parent.getPreview(this))==null?void 0:t.preview(this.range);return e?localize$1({key:"aria.oneReference.preview",comment:["Placeholders are: 0: filename, 1:line number, 2: column number, 3: preview snippet of source code"]},"{0} in {1} on line {2} at column {3}",e.value,basename$2(this.uri),this.range.startLineNumber,this.range.startColumn):localize$1("aria.oneReference","in {0} on line {1} at column {2}",basename$2(this.uri),this.range.startLineNumber,this.range.startColumn)}},FilePreview$1=class{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:r,startColumn:g,endLineNumber:y,endColumn:k}=e,L=i.getWordUntilPosition({lineNumber:r,column:g-t}),V=new Range$5(r,L.startColumn,r,g),z=new Range$5(y,k,y,1073741824),j=i.getValueInRange(V).replace(/^\s+/,""),ie=i.getValueInRange(e),oe=i.getValueInRange(z).replace(/\s+$/,"");return{value:j+ie+oe,highlight:{start:j.length,end:j.length+ie.length}}}},FileReferences$1=class{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ResourceMap$1}dispose(){dispose$1(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?localize$1("aria.fileReferences.1","1 symbol in {0}, full path {1}",basename$2(this.uri),this.uri.fsPath):localize$1("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,basename$2(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new FilePreview$1(i))}catch(i){onUnexpectedError$1(i)}return this}},ReferencesModel$1=class Xc{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Emitter$3,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(Xc._compareReferences);let r;for(const g of e)if((!r||!extUri$1.isEqual(r.uri,g.uri,!0))&&(r=new FileReferences$1(this,g.uri),this.groups.push(r)),r.children.length===0||Xc._compareReferences(g,r.children[r.children.length-1])!==0){const y=new OneReference$1(i===g,r,g,k=>this._onDidChangeReferenceRange.fire(k));this.references.push(y),r.children.push(y)}}dispose(){dispose$1(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new Xc(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?localize$1("aria.result.0","No results found"):this.references.length===1?localize$1("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?localize$1("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):localize$1("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let r=i.children.indexOf(e);const g=i.children.length,y=i.parent.groups.length;return y===1||t&&r+10?(t?r=(r+1)%g:r=(r+g-1)%g,i.children[r]):(r=i.parent.groups.indexOf(i),t?(r=(r+1)%y,i.parent.groups[r].children[0]):(r=(r+y-1)%y,i.parent.groups[r].children[i.parent.groups[r].children.length-1]))}nearestReference(e,t){const i=this.references.map((r,g)=>({idx:g,prefixLen:commonPrefixLength$1(r.uri.toString(),e.toString()),offsetDist:Math.abs(r.range.startLineNumber-t.lineNumber)*100+Math.abs(r.range.startColumn-t.column)})).sort((r,g)=>r.prefixLen>g.prefixLen?-1:r.prefixLeng.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Range$5.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return extUri$1.compare(e.uri,t.uri)||Range$5.compareRangesUsingStarts(e.range,t.range)}};var __decorate$3M=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3C=function(n,e){return function(t,i){e(t,i,n)}},FileReferencesRenderer_1$1;let DataSource$3=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ReferencesModel$1||e instanceof FileReferences$1}getChildren(e){if(e instanceof ReferencesModel$1)return e.groups;if(e instanceof FileReferences$1)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};DataSource$3=__decorate$3M([__param$3C(0,ITextModelService$1)],DataSource$3);let Delegate$1=class{getHeight(){return 23}getTemplateId(e){return e instanceof FileReferences$1?FileReferencesRenderer$1.id:OneReferenceRenderer$1.id}},StringRepresentationProvider$1=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof OneReference$1){const i=(t=e.parent.getPreview(e))==null?void 0:t.preview(e.range);if(i)return i.value}return basename$2(e.uri)}};StringRepresentationProvider$1=__decorate$3M([__param$3C(0,IKeybindingService$1)],StringRepresentationProvider$1);let IdentityProvider$1=class{getId(e){return e instanceof OneReference$1?e.id:e.uri}},FileReferencesTemplate$1=class extends Disposable$1{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new IconLabel$1(i,{supportHighlights:!0})),this.badge=new CountBadge$1(append$4(i,$$u(".count")),{},defaultCountBadgeStyles$1),e.appendChild(i)}set(e,t){const i=dirname$2(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(localize$1("referencesCount","{0} references",r)):this.badge.setTitleFormat(localize$1("referenceCount","{0} reference",r))}};FileReferencesTemplate$1=__decorate$3M([__param$3C(1,ILabelService$1)],FileReferencesTemplate$1);var Ea;let FileReferencesRenderer$1=(Ea=class{constructor(e){this._instantiationService=e,this.templateId=FileReferencesRenderer_1$1.id}renderTemplate(e){return this._instantiationService.createInstance(FileReferencesTemplate$1,e)}renderElement(e,t,i){i.set(e.element,createMatches$1(e.filterData))}disposeTemplate(e){e.dispose()}},FileReferencesRenderer_1$1=Ea,Ea.id="FileReferencesRenderer",Ea);FileReferencesRenderer$1=FileReferencesRenderer_1$1=__decorate$3M([__param$3C(0,IInstantiationService$1)],FileReferencesRenderer$1);let OneReferenceTemplate$1=class extends Disposable$1{constructor(e){super(),this.label=this._register(new HighlightedLabel$1(e))}set(e,t){var r;const i=(r=e.parent.getPreview(e))==null?void 0:r.preview(e.range);if(!i||!i.value)this.label.set("".concat(basename$2(e.uri),":").concat(e.range.startLineNumber+1,":").concat(e.range.startColumn+1));else{const{value:g,highlight:y}=i;t&&!FuzzyScore$1.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(g,createMatches$1(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(g,[y]))}}};var xa;let OneReferenceRenderer$1=(xa=class{constructor(){this.templateId=xa.id}renderTemplate(e){return new OneReferenceTemplate$1(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}},xa.id="OneReferenceRenderer",xa),AccessibilityProvider$1=class{getWidgetAriaLabel(){return localize$1("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}};var __decorate$3L=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3B=function(n,e){return function(t,i){e(t,i,n)}},ka;let DecorationsManager$1=(ka=class{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new DisposableStore$1,this._callOnModelChange=new DisposableStore$1,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let r=0,g=e.children.length;r{const g=r.deltaDecorations([],t);for(let y=0;y{g.equals(9)&&(this._keybindingService.dispatchEvent(g,g.target),g.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(ReferencesTree$1,"ReferencesWidget",this._treeContainer,new Delegate$1,[this._instantiationService.createInstance(FileReferencesRenderer$1),this._instantiationService.createInstance(OneReferenceRenderer$1)],this._instantiationService.createInstance(DataSource$3),i),this._splitView.addView({onDidChange:Event$2.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:g=>{this._preview.layout({height:this._dim.height,width:g})}},Sizing$1.Distribute),this._splitView.addView({onDidChange:Event$2.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:g=>{this._treeContainer.style.height="".concat(this._dim.height,"px"),this._treeContainer.style.width="".concat(g,"px"),this._tree.layout(this._dim.height,g)}},Sizing$1.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const r=(g,y)=>{g instanceof OneReference$1&&(y==="show"&&this._revealReference(g,!1),this._onDidSelectReference.fire({element:g,kind:y,source:"tree"}))};this._disposables.add(this._tree.onDidOpen(g=>{g.sideBySide?r(g.element,"side"):g.editorOptions.pinned?r(g.element,"goto"):r(g.element,"show")})),hide$3(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Dimension$1(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=localize$1("noResults","No results"),show$1(this._messageContainer),Promise.resolve(void 0)):(hide$3(this._messageContainer),this._decorationsManager=new DecorationsManager$1(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),show$1(this._treeContainer),show$1(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof OneReference$1)return e;if(e instanceof FileReferences$1&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Schemas$1.inMemory?this.setTitle(basenameOrAuthority$1(e.uri),this._uriLabel.getUriLabel(dirname$2(e.uri))):this.setTitle(localize$1("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const r=await i;if(!this._model){r.dispose();return}dispose$1(this._previewModelReference);const g=r.object;if(g){const y=this._preview.getModel()===g.textEditorModel?0:1,k=Range$5.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(g.textEditorModel),this._preview.setSelection(k),this._preview.revealRangeInCenter(k,y)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};ReferenceWidget$1=__decorate$3L([__param$3B(3,IThemeService$1),__param$3B(4,ITextModelService$1),__param$3B(5,IInstantiationService$1),__param$3B(6,IPeekViewService$1),__param$3B(7,ILabelService$1),__param$3B(8,IKeybindingService$1)],ReferenceWidget$1);var __decorate$3K=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3A=function(n,e){return function(t,i){e(t,i,n)}},ReferencesController_1$1;const ctxReferenceSearchVisible$1=new RawContextKey$1("referenceSearchVisible",!1,localize$1("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));var La;let ReferencesController$1=(La=class{static get(e){return e.getContribution(ReferencesController_1$1.ID)}constructor(e,t,i,r,g,y,k,L){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=g,this._instantiationService=y,this._storageService=k,this._configurationService=L,this._disposables=new DisposableStore$1,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ctxReferenceSearchVisible$1.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)==null||e.dispose(),(t=this._model)==null||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const g="peekViewLayout",y=LayoutData$1.fromJSON(this._storageService.get(g,0,"{}"));this._widget=this._instantiationService.createInstance(ReferenceWidget$1,this._editor,this._defaultTreeKeyboardSupport,y),this._widget.setTitle(localize$1("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget?(this._storageService.store(g,JSON.stringify(this._widget.layoutData),0,1),this._widget.isClosing||this.closeWidget(),this._widget=void 0):this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(L=>{const{element:V,kind:z}=L;if(V)switch(z){case"open":(L.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(V,!1,!1);break;case"side":this.openReference(V,!0,!1);break;case"goto":i?this._gotoReference(V,!0):this.openReference(V,!1,!0);break}}));const k=++this._requestIdPool;t.then(L=>{var V;if(k!==this._requestIdPool||!this._widget){L.dispose();return}return(V=this._model)==null||V.dispose(),this._model=L,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(localize$1("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const z=this._editor.getModel().uri,j=new Position$3(e.startLineNumber,e.startColumn),ie=this._model.nearestReference(z,j);if(ie)return this._widget.setSelection(ie).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},L=>{this._notificationService.error(L)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const r=this._model.nextOrPreviousReference(i,e),g=this._editor.hasTextFocus(),y=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),g?this._editor.focus():this._widget&&y&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)==null||t.dispose(),(i=this._model)==null||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var r;(r=this._widget)==null||r.hide(),this._ignoreModelChangeEvent=!0;const i=Range$5.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:i,selectionSource:"code.jump",pinned:t}},this._editor).then(g=>{var y;if(this._ignoreModelChangeEvent=!1,!g||!this._widget){this.closeWidget();return}if(this._editor===g)this._widget.show(i),this._widget.focusOnReferenceTree();else{const k=ReferencesController_1$1.get(g),L=this._model.clone();this.closeWidget(),g.focus(),k==null||k.toggleWidget(i,createCancelablePromise$1(V=>Promise.resolve(L)),(y=this._peekMode)!=null?y:!1)}},g=>{this._ignoreModelChangeEvent=!1,onUnexpectedError$1(g)})}openReference(e,t,i){t||this.closeWidget();const{uri:r,range:g}=e;this._editorService.openCodeEditor({resource:r,options:{selection:g,selectionSource:"code.jump",pinned:i}},this._editor,t)}},ReferencesController_1$1=La,La.ID="editor.contrib.referencesController",La);ReferencesController$1=ReferencesController_1$1=__decorate$3K([__param$3A(2,IContextKeyService$1),__param$3A(3,ICodeEditorService$1),__param$3A(4,INotificationService$1),__param$3A(5,IInstantiationService$1),__param$3A(6,IStorageService$1),__param$3A(7,IConfigurationService$1)],ReferencesController$1);function withController$1(n,e){const t=getOuterEditor$1(n);if(!t)return;const i=ReferencesController$1.get(t);i&&e(i)}KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:KeyChord$1(2089,60),when:ContextKeyExpr$1.or(ctxReferenceSearchVisible$1,PeekContext$1.inPeekEditor),handler(n){withController$1(n,e=>{e.changeFocusBetweenPreviewAndReferences()})}});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ContextKeyExpr$1.or(ctxReferenceSearchVisible$1,PeekContext$1.inPeekEditor),handler(n){withController$1(n,e=>{e.goToNextOrPreviousReference(!0)})}});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ContextKeyExpr$1.or(ctxReferenceSearchVisible$1,PeekContext$1.inPeekEditor),handler(n){withController$1(n,e=>{e.goToNextOrPreviousReference(!1)})}});CommandsRegistry$1.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");CommandsRegistry$1.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");CommandsRegistry$1.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");CommandsRegistry$1.registerCommand("closeReferenceSearch",n=>withController$1(n,e=>e.closeWidget()));KeybindingsRegistry$1.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ContextKeyExpr$1.and(PeekContext$1.inPeekEditor,ContextKeyExpr$1.not("config.editor.stablePeek"))});KeybindingsRegistry$1.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ContextKeyExpr$1.and(ctxReferenceSearchVisible$1,ContextKeyExpr$1.not("config.editor.stablePeek"),ContextKeyExpr$1.or(EditorContextKeys$1.editorTextFocus,InputFocusedContext$1.negate()))});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ContextKeyExpr$1.and(ctxReferenceSearchVisible$1,WorkbenchListFocusContextKey$1,WorkbenchTreeElementCanCollapse$1.negate(),WorkbenchTreeElementCanExpand$1.negate()),handler(n){var i;const t=(i=n.get(IListService$1).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference$1&&withController$1(n,r=>r.revealReference(t[0]))}});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ContextKeyExpr$1.and(ctxReferenceSearchVisible$1,WorkbenchListFocusContextKey$1,WorkbenchTreeElementCanCollapse$1.negate(),WorkbenchTreeElementCanExpand$1.negate()),handler(n){var i;const t=(i=n.get(IListService$1).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference$1&&withController$1(n,r=>r.openReference(t[0],!0,!0))}});CommandsRegistry$1.registerCommand("openReference",n=>{var i;const t=(i=n.get(IListService$1).lastFocusedList)==null?void 0:i.getFocus();Array.isArray(t)&&t[0]instanceof OneReference$1&&withController$1(n,r=>r.openReference(t[0],!1,!0))});var __decorate$3J=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3z=function(n,e){return function(t,i){e(t,i,n)}};const ctxHasSymbols$1=new RawContextKey$1("hasSymbols",!1,localize$1("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),ISymbolNavigationService$1=createDecorator$1("ISymbolNavigationService");let SymbolNavigationService$1=class{constructor(e,t,i,r){this._editorService=t,this._notificationService=i,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=ctxHasSymbols$1.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)==null||e.dispose(),(t=this._currentMessage)==null||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new EditorState$2(this._editorService),r=i.onDidChange(g=>{if(this._ignoreEditorChange)return;const y=this._editorService.getActiveCodeEditor();if(!y)return;const k=y.getModel(),L=y.getPosition();if(!k||!L)return;let V=!1,z=!1;for(const j of t.references)if(isEqual$2(j.uri,k.uri))V=!0,z=z||Range$5.containsPosition(j.range,L);else if(V)break;(!V||!z)&&this.reset()});this._currentState=combinedDisposable$1(i,r)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Range$5.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var i;(i=this._currentMessage)==null||i.dispose();const e=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),t=e?localize$1("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,e.getLabel()):localize$1("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(t)}};SymbolNavigationService$1=__decorate$3J([__param$3z(0,IContextKeyService$1),__param$3z(1,ICodeEditorService$1),__param$3z(2,INotificationService$1),__param$3z(3,IKeybindingService$1)],SymbolNavigationService$1);registerSingleton$1(ISymbolNavigationService$1,SymbolNavigationService$1,1);registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:ctxHasSymbols$1,kbOpts:{weight:100,primary:70}})}runEditorCommand(n,e){return n.get(ISymbolNavigationService$1).revealNext(e)}});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:ctxHasSymbols$1,primary:9,handler(n){n.get(ISymbolNavigationService$1).reset()}});let EditorState$2=class{constructor(e){this._listener=new Map,this._disposables=new DisposableStore$1,this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),dispose$1(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,combinedDisposable$1(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))==null||t.dispose(),this._listener.delete(e)}};EditorState$2=__decorate$3J([__param$3z(0,ICodeEditorService$1)],EditorState$2);function shouldIncludeLocationLink(n,e){return e.uri.scheme===n.uri.scheme?!0:!matchesSomeScheme$1(e.uri,Schemas$1.walkThroughSnippet,Schemas$1.vscodeChatCodeBlock,Schemas$1.vscodeChatCodeCompareBlock)}async function getLocationLinks$1(n,e,t,i,r){const y=t.ordered(n,i).map(L=>Promise.resolve(r(L,n,e)).then(void 0,V=>{onUnexpectedExternalError$1(V)})),k=await Promise.all(y);return coalesce$1(k.flat()).filter(L=>shouldIncludeLocationLink(n,L))}function getDefinitionsAtPosition$1(n,e,t,i,r){return getLocationLinks$1(e,t,n,i,(g,y,k)=>g.provideDefinition(y,k,r))}function getDeclarationsAtPosition$1(n,e,t,i,r){return getLocationLinks$1(e,t,n,i,(g,y,k)=>g.provideDeclaration(y,k,r))}function getImplementationsAtPosition$1(n,e,t,i,r){return getLocationLinks$1(e,t,n,i,(g,y,k)=>g.provideImplementation(y,k,r))}function getTypeDefinitionsAtPosition$1(n,e,t,i,r){return getLocationLinks$1(e,t,n,i,(g,y,k)=>g.provideTypeDefinition(y,k,r))}function getReferencesAtPosition$1(n,e,t,i,r,g){return getLocationLinks$1(e,t,n,r,async(y,k,L)=>{var j,ie;const V=(j=await y.provideReferences(k,L,{includeDeclaration:!0},g))==null?void 0:j.filter(oe=>shouldIncludeLocationLink(k,oe));if(!i||!V||V.length!==2)return V;const z=(ie=await y.provideReferences(k,L,{includeDeclaration:!1},g))==null?void 0:ie.filter(oe=>shouldIncludeLocationLink(k,oe));return z&&z.length===1?z:V})}async function _sortedAndDeduped$1(n){const e=await n(),t=new ReferencesModel$1(e,""),i=t.references.map(r=>r.link);return t.dispose(),i}registerModelAndPositionCommand$1("_executeDefinitionProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getDefinitionsAtPosition$1(i.definitionProvider,e,t,!1,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeDefinitionProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getDefinitionsAtPosition$1(i.definitionProvider,e,t,!0,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeTypeDefinitionProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getTypeDefinitionsAtPosition$1(i.typeDefinitionProvider,e,t,!1,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeTypeDefinitionProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getTypeDefinitionsAtPosition$1(i.typeDefinitionProvider,e,t,!0,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeDeclarationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getDeclarationsAtPosition$1(i.declarationProvider,e,t,!1,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeDeclarationProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getDeclarationsAtPosition$1(i.declarationProvider,e,t,!0,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeReferenceProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getReferencesAtPosition$1(i.referenceProvider,e,t,!1,!1,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeReferenceProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getReferencesAtPosition$1(i.referenceProvider,e,t,!1,!0,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeImplementationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getImplementationsAtPosition$1(i.implementationProvider,e,t,!1,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});registerModelAndPositionCommand$1("_executeImplementationProvider_recursive",(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=getImplementationsAtPosition$1(i.implementationProvider,e,t,!0,CancellationToken$1.None);return _sortedAndDeduped$1(()=>r)});MenuRegistry$1.appendMenuItem(MenuId$1.EditorContext,{submenu:MenuId$1.EditorContextPeek,title:localize$1("peek.submenu","Peek"),group:"navigation",order:100});let SymbolNavigationAnchor$1=class Bh{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof Bh||Position$3.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}};var no;let SymbolNavigationAction$1=(no=class extends EditorAction2$1{static all(){return no._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Iterable$1.wrap(t.menu))(i.id===MenuId$1.EditorContext||i.id===MenuId$1.EditorContextPeek)&&(i.when=ContextKeyExpr$1.and(e.precondition,i.when));return t}constructor(e,t){super(no._patchConfig(t)),this.configuration=e,no._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,r){if(!t.hasModel())return Promise.resolve(void 0);const g=e.get(INotificationService$1),y=e.get(ICodeEditorService$1),k=e.get(IEditorProgressService$1),L=e.get(ISymbolNavigationService$1),V=e.get(ILanguageFeaturesService$1),z=e.get(IInstantiationService$1),j=t.getModel(),ie=t.getPosition(),oe=SymbolNavigationAnchor$1.is(i)?i:new SymbolNavigationAnchor$1(j,ie),re=new EditorStateCancellationTokenSource$1(t,5),ae=raceCancellation$1(this._getLocationModel(V,oe.model,oe.position,re.token),re.token).then(async le=>{var he;if(!le||re.token.isCancellationRequested)return;alert$1(le.ariaMessage);let de;if(le.referenceAt(j.uri,ie)){const pe=this._getAlternativeCommand(t);!no._activeAlternativeCommands.has(pe)&&no._allSymbolNavigationCommands.has(pe)&&(de=no._allSymbolNavigationCommands.get(pe))}const ue=le.references.length;if(ue===0){if(!this.configuration.muteMessage){const pe=j.getWordAtPosition(ie);(he=MessageController$1.get(t))==null||he.showMessage(this._getNoResultFoundMessage(pe),ie)}}else if(ue===1&&de)no._activeAlternativeCommands.add(this.desc.id),z.invokeFunction(pe=>de.runEditorCommand(pe,t,i,r).finally(()=>{no._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(y,L,t,le,r)},le=>{g.error(le)}).finally(()=>{re.dispose()});return k.showWhile(ae,250),ae}async _onResult(e,t,i,r,g){const y=this._getGoToPreference(i);if(!(i instanceof EmbeddedCodeEditorWidget$1)&&(this.configuration.openInPeek||y==="peek"&&r.references.length>1))this._openInPeek(i,r,g);else{const k=r.firstReference(),L=r.references.length>1&&y==="gotoAndPeek",V=await this._openReference(i,e,k,this.configuration.openToSide,!L);L&&V?this._openInPeek(V,r,g):r.dispose(),y==="goto"&&t.put(k)}}async _openReference(e,t,i,r,g){let y;if(isLocationLink$1(i)&&(y=i.targetSelectionRange),y||(y=i.range),!y)return;const k=await t.openCodeEditor({resource:i.uri,options:{selection:Range$5.collapseToStart(y),selectionRevealType:3,selectionSource:"code.jump"}},e,r);if(k){if(g){const L=k.getModel(),V=k.createDecorationsCollection([{range:y,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{k.getModel()===L&&V.clear()},350)}return k}}_openInPeek(e,t,i){const r=ReferencesController$1.get(e);r&&e.hasModel()?r.toggleWidget(i!=null?i:e.getSelection(),createCancelablePromise$1(g=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}},no._allSymbolNavigationCommands=new Map,no._activeAlternativeCommands=new Set,no),DefinitionAction$1=class extends SymbolNavigationAction$1{async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getDefinitionsAtPosition$1(e.definitionProvider,t,i,!1,r),localize$1("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize$1("noResultWord","No definition found for '{0}'",e.word):localize$1("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}};var qr;registerAction2$1((qr=class extends DefinitionAction$1{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:qr.id,title:{...localize2$1("actions.goToDecl.label","Go to Definition"),mnemonicTitle:localize$1({key:"miGotoDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Definition")},precondition:EditorContextKeys$1.hasDefinitionProvider,keybinding:[{when:EditorContextKeys$1.editorTextFocus,primary:70,weight:100},{when:ContextKeyExpr$1.and(EditorContextKeys$1.editorTextFocus,IsWebContext$1),primary:2118,weight:100}],menu:[{id:MenuId$1.EditorContext,group:"navigation",order:1.1},{id:MenuId$1.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),CommandsRegistry$1.registerCommandAlias("editor.action.goToDeclaration",qr.id)}},qr.id="editor.action.revealDefinition",qr));var Yr;registerAction2$1((Yr=class extends DefinitionAction$1{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:Yr.id,title:localize2$1("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasDefinitionProvider,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),keybinding:[{when:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,70),weight:100},{when:ContextKeyExpr$1.and(EditorContextKeys$1.editorTextFocus,IsWebContext$1),primary:KeyChord$1(2089,2118),weight:100}]}),CommandsRegistry$1.registerCommandAlias("editor.action.openDeclarationToTheSide",Yr.id)}},Yr.id="editor.action.revealDefinitionAside",Yr));var Xr;registerAction2$1((Xr=class extends DefinitionAction$1{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Xr.id,title:localize2$1("actions.previewDecl.label","Peek Definition"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasDefinitionProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys$1.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:MenuId$1.EditorContextPeek,group:"peek",order:2}}),CommandsRegistry$1.registerCommandAlias("editor.action.previewDeclaration",Xr.id)}},Xr.id="editor.action.peekDefinition",Xr));let DeclarationAction$1=class extends SymbolNavigationAction$1{async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getDeclarationsAtPosition$1(e.declarationProvider,t,i,!1,r),localize$1("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?localize$1("decl.noResultWord","No declaration found for '{0}'",e.word):localize$1("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}};var Ia;registerAction2$1((Ia=class extends DeclarationAction$1{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Ia.id,title:{...localize2$1("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:localize$1({key:"miGotoDeclaration",comment:["&& denotes a mnemonic"]},"Go to &&Declaration")},precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasDeclarationProvider,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),menu:[{id:MenuId$1.EditorContext,group:"navigation",order:1.3},{id:MenuId$1.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?localize$1("decl.noResultWord","No declaration found for '{0}'",e.word):localize$1("decl.generic.noResults","No declaration found")}},Ia.id="editor.action.revealDeclaration",Ia));registerAction2$1(class extends DeclarationAction$1{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:localize2$1("actions.peekDecl.label","Peek Declaration"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasDeclarationProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),menu:{id:MenuId$1.EditorContextPeek,group:"peek",order:3}})}});let TypeDefinitionAction$1=class extends SymbolNavigationAction$1{async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getTypeDefinitionsAtPosition$1(e.typeDefinitionProvider,t,i,!1,r),localize$1("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize$1("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):localize$1("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}};var Da;registerAction2$1((Da=class extends TypeDefinitionAction$1{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Da.ID,title:{...localize2$1("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:localize$1({key:"miGotoTypeDefinition",comment:["&& denotes a mnemonic"]},"Go to &&Type Definition")},precondition:EditorContextKeys$1.hasTypeDefinitionProvider,keybinding:{when:EditorContextKeys$1.editorTextFocus,primary:0,weight:100},menu:[{id:MenuId$1.EditorContext,group:"navigation",order:1.4},{id:MenuId$1.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},Da.ID="editor.action.goToTypeDefinition",Da));var Ta;registerAction2$1((Ta=class extends TypeDefinitionAction$1{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ta.ID,title:localize2$1("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasTypeDefinitionProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),menu:{id:MenuId$1.EditorContextPeek,group:"peek",order:4}})}},Ta.ID="editor.action.peekTypeDefinition",Ta));let ImplementationAction$1=class extends SymbolNavigationAction$1{async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getImplementationsAtPosition$1(e.implementationProvider,t,i,!1,r),localize$1("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?localize$1("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):localize$1("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}};var Na;registerAction2$1((Na=class extends ImplementationAction$1{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:Na.ID,title:{...localize2$1("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:localize$1({key:"miGotoImplementation",comment:["&& denotes a mnemonic"]},"Go to &&Implementations")},precondition:EditorContextKeys$1.hasImplementationProvider,keybinding:{when:EditorContextKeys$1.editorTextFocus,primary:2118,weight:100},menu:[{id:MenuId$1.EditorContext,group:"navigation",order:1.45},{id:MenuId$1.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},Na.ID="editor.action.goToImplementation",Na));var Ra;registerAction2$1((Ra=class extends ImplementationAction$1{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:Ra.ID,title:localize2$1("actions.peekImplementation.label","Peek Implementations"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasImplementationProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys$1.editorTextFocus,primary:3142,weight:100},menu:{id:MenuId$1.EditorContextPeek,group:"peek",order:5}})}},Ra.ID="editor.action.peekImplementation",Ra));let ReferencesAction$1=class extends SymbolNavigationAction$1{_getNoResultFoundMessage(e){return e?localize$1("references.no","No references found for '{0}'",e.word):localize$1("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}};registerAction2$1(class extends ReferencesAction$1{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...localize2$1("goToReferences.label","Go to References"),mnemonicTitle:localize$1({key:"miGotoReference",comment:["&& denotes a mnemonic"]},"Go to &&References")},precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasReferenceProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys$1.editorTextFocus,primary:1094,weight:100},menu:[{id:MenuId$1.EditorContext,group:"navigation",order:1.45},{id:MenuId$1.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getReferencesAtPosition$1(e.referenceProvider,t,i,!0,!1,r),localize$1("ref.title","References"))}});registerAction2$1(class extends ReferencesAction$1{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:localize2$1("references.action.label","Peek References"),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.hasReferenceProvider,PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated()),menu:{id:MenuId$1.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,r){return new ReferencesModel$1(await getReferencesAtPosition$1(e.referenceProvider,t,i,!1,!1,r),localize$1("ref.title","References"))}});let GenericGoToLocationAction$1=class extends SymbolNavigationAction$1{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:localize2$1("label.generic","Go to Any Symbol"),precondition:ContextKeyExpr$1.and(PeekContext$1.notInPeekEditor,EditorContextKeys$1.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,r){return new ReferencesModel$1(this._references,localize$1("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&localize$1("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!=null?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}};CommandsRegistry$1.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI$1},{name:"position",description:"The position at which to start",constraint:Position$3.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(n,e,t,i,r,g,y)=>{assertType$1(URI$1.isUri(e)),assertType$1(Position$3.isIPosition(t)),assertType$1(Array.isArray(i)),assertType$1(typeof r>"u"||typeof r=="string"),assertType$1(typeof y>"u"||typeof y=="boolean");const k=n.get(ICodeEditorService$1),L=await k.openCodeEditor({resource:e},k.getFocusedCodeEditor());if(isCodeEditor$1(L))return L.setPosition(t),L.revealPositionInCenterIfOutsideViewport(t,0),L.invokeWithinContext(V=>{const z=new class extends GenericGoToLocationAction$1{_getNoResultFoundMessage(j){return g||super._getNoResultFoundMessage(j)}}({muteMessage:!g,openInPeek:!!y,openToSide:!1},i,r);V.get(IInstantiationService$1).invokeFunction(z.run.bind(z),L)})}});CommandsRegistry$1.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI$1},{name:"position",description:"The position at which to start",constraint:Position$3.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(n,e,t,i,r)=>{n.get(ICommandService$1).executeCommand("editor.action.goToLocations",e,t,i,r,void 0,!0)}});CommandsRegistry$1.registerCommand({id:"editor.action.findReferences",handler:(n,e,t)=>{assertType$1(URI$1.isUri(e)),assertType$1(Position$3.isIPosition(t));const i=n.get(ILanguageFeaturesService$1),r=n.get(ICodeEditorService$1);return r.openCodeEditor({resource:e},r.getFocusedCodeEditor()).then(g=>{if(!isCodeEditor$1(g)||!g.hasModel())return;const y=ReferencesController$1.get(g);if(!y)return;const k=createCancelablePromise$1(V=>getReferencesAtPosition$1(i.referenceProvider,g.getModel(),Position$3.lift(t),!1,!1,V).then(z=>new ReferencesModel$1(z,localize$1("ref.title","References")))),L=new Range$5(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(y.toggleWidget(L,k,!1))})}});CommandsRegistry$1.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");async function showGoToContextMenu$1(n,e,t,i){var oe;const r=n.get(ITextModelService$1),g=n.get(IContextMenuService$1),y=n.get(ICommandService$1),k=n.get(IInstantiationService$1),L=n.get(INotificationService$1);if(await i.item.resolve(CancellationToken$1.None),!i.part.location)return;const V=i.part.location,z=[],j=new Set(MenuRegistry$1.getMenuItems(MenuId$1.EditorContext).map(re=>isIMenuItem$1(re)?re.command.id:generateUuid$1()));for(const re of SymbolNavigationAction$1.all())j.has(re.desc.id)&&z.push(new Action$1(re.desc.id,MenuItemAction$1.label(re.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const ae=await r.createModelReference(V.uri);try{const le=new SymbolNavigationAnchor$1(ae.object.textEditorModel,Range$5.getStartPosition(V.range)),de=i.item.anchor.range;await k.invokeFunction(re.runEditorCommand.bind(re),e,le,de)}finally{ae.dispose()}}));if(i.part.command){const{command:re}=i.part;z.push(new Separator$1),z.push(new Action$1(re.id,re.title,void 0,!0,async()=>{var ae;try{await y.executeCommand(re.id,...(ae=re.arguments)!=null?ae:[])}catch(le){L.notify({severity:Severity$3.Error,source:i.item.provider.displayName,message:le})}}))}const ie=e.getOption(128);g.showContextMenu({domForShadowRoot:ie&&(oe=e.getDomNode())!=null?oe:void 0,getAnchor:()=>{const re=getDomNodePagePosition$1(t);return{x:re.left,y:re.top+re.height+8}},getActions:()=>z,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function goToDefinitionWithLocation$1(n,e,t,i){const g=await n.get(ITextModelService$1).createModelReference(i.uri);await t.invokeWithinContext(async y=>{const k=e.hasSideBySideModifier,L=y.get(IContextKeyService$1),V=PeekContext$1.inPeekEditor.getValue(L),z=!k&&t.getOption(89)&&!V;return new DefinitionAction$1({openToSide:k,openInPeek:z,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(y,new SymbolNavigationAnchor$1(g.object.textEditorModel,Range$5.getStartPosition(i.range)),Range$5.lift(i.range))}),g.dispose()}var __decorate$3I=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3y=function(n,e){return function(t,i){e(t,i,n)}},InlayHintsController_1$1;let InlayHintsCache$1=class Hd{constructor(){this._entries=new LRUCache$1(50)}get(e){const t=Hd._key(e);return this._entries.get(t)}set(e,t){const i=Hd._key(e);this._entries.set(i,t)}static _key(e){return"".concat(e.uri.toString(),"/").concat(e.getVersionId())}};const IInlayHintsCache$1=createDecorator$1("IInlayHintsCache");registerSingleton$1(IInlayHintsCache$1,InlayHintsCache$1,1);let RenderedInlayHintLabelPart$1=class{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}},ActiveInlayHintInfo$1=class{constructor(e,t){this.part=e,this.hasTriggerModifier=t}};var vr;let InlayHintsController$1=(vr=class{static get(e){var t;return(t=e.getContribution(InlayHintsController_1$1.ID))!=null?t:void 0}constructor(e,t,i,r,g,y,k){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=g,this._notificationService=y,this._instaService=k,this._disposables=new DisposableStore$1,this._sessionDisposables=new DisposableStore$1,this._decorationsMetadata=new Map,this._ruleFactory=new DynamicCssRules$1(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(L=>{L.hasChanged(142)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(142);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let k,L;e.enabled==="onUnlessPressed"?(k=0,L=1):(k=1,L=0),this._activeRenderMode=k,this._sessionDisposables.add(ModifierKeyEmitter$1.getInstance().event(V=>{if(!this._editor.hasModel())return;const z=V.altKey&&V.ctrlKey&&!(V.shiftKey||V.metaKey)?L:k;if(z!==this._activeRenderMode){this._activeRenderMode=z;const j=this._editor.getModel(),ie=this._copyInlayHintsWithCurrentAnchor(j);this._updateHintsDecorators([j.getFullModelRange()],ie),y.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(toDisposable$1(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r;const g=new Set,y=new RunOnceScheduler$1(async()=>{const k=Date.now();r==null||r.dispose(!0),r=new CancellationTokenSource$3;const L=t.onWillDispose(()=>r==null?void 0:r.cancel());try{const V=r.token,z=await InlayHintsFragments$1.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),V);if(y.delay=this._debounceInfo.update(t,Date.now()-k),V.isCancellationRequested){z.dispose();return}for(const j of z.provider)typeof j.onDidChangeInlayHints=="function"&&!g.has(j)&&(g.add(j),this._sessionDisposables.add(j.onDidChangeInlayHints(()=>{y.isScheduled()||y.schedule()})));this._sessionDisposables.add(z),this._updateHintsDecorators(z.ranges,z.items),this._cacheHintsForFastRestore(t)}catch(V){onUnexpectedError$1(V)}finally{r.dispose(),L.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(y),this._sessionDisposables.add(toDisposable$1(()=>r==null?void 0:r.dispose(!0))),y.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(k=>{(k.scrollTopChanged||!y.isScheduled())&&y.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(k=>{r==null||r.cancel();const L=Math.max(y.delay,1250);y.schedule(L)})),this._sessionDisposables.add(this._installDblClickGesture(()=>y.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new DisposableStore$1,t=e.add(new ClickLinkGesture$1(this._editor)),i=new DisposableStore$1;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(r=>{const[g]=r,y=this._getInlayHintLabelPart(g),k=this._editor.getModel();if(!y||!k){i.clear();return}const L=new CancellationTokenSource$3;i.add(toDisposable$1(()=>L.dispose(!0))),y.item.resolve(L.token),this._activeInlayHintPart=y.part.command||y.part.location?new ActiveInlayHintInfo$1(y,g.hasTriggerModifier):void 0;const V=k.validatePosition(y.item.hint.position).lineNumber,z=new Range$5(V,1,V,k.getLineMaxColumn(V)),j=this._getInlineHintsForRange(z);this._updateHintsDecorators([z],j),i.add(toDisposable$1(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([z],j)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async r=>{const g=this._getInlayHintLabelPart(r);if(g){const y=g.part;y.location?this._instaService.invokeFunction(goToDefinitionWithLocation$1,r,this._editor,y.location):Command$3.is(y.command)&&await this._invokeCommand(y.command,g.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(CancellationToken$1.None),isNonEmptyArray$1(i.item.hint.textEdits))){const r=i.item.hint.textEdits.map(g=>EditOperation$1.replace(Range$5.lift(g.range),g.text));this._editor.executeEdits("inlayHint.default",r),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!isHTMLElement$1(e.event.target))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(showGoToContextMenu$1,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var i;if(e.target.type!==6)return;const t=(i=e.target.detail.injectedText)==null?void 0:i.options;if(t instanceof ModelDecorationInjectedTextOptions$1&&(t==null?void 0:t.attachedData)instanceof RenderedInlayHintLabelPart$1)return t.attachedData}async _invokeCommand(e,t){var i;try{await this._commandService.executeCommand(e.id,...(i=e.arguments)!=null?i:[])}catch(r){this._notificationService.notify({severity:Severity$3.Error,source:t.provider.displayName,message:r})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,r]of this._decorationsMetadata){if(t.has(r.item))continue;const g=e.getDecorationRange(i);if(g){const y=new InlayHintAnchor$1(g,r.item.anchor.direction),k=r.item.with({anchor:y});t.set(r.item,k)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),r=[];for(const g of i.sort(Range$5.compareRangesUsingStarts)){const y=t.validateRange(new Range$5(g.startLineNumber-30,g.startColumn,g.endLineNumber+30,g.endColumn));r.length===0||!Range$5.areIntersectingOrTouching(r[r.length-1],y)?r.push(y):r[r.length-1]=Range$5.plusRange(r[r.length-1],y)}return r}_updateHintsDecorators(e,t){var re,ae;const i=[],r=(le,de,ue,he,pe)=>{const Ce={content:ue,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:de.className,cursorStops:he,attachedData:pe};i.push({item:le,classNameRef:de,decoration:{range:le.anchor.range,options:{description:"InlayHint",showIfCollapsed:le.anchor.range.isEmpty(),collapseOnReplaceEdit:!le.anchor.range.isEmpty(),stickiness:0,[le.anchor.direction]:this._activeRenderMode===0?Ce:void 0}}})},g=(le,de)=>{const ue=this._ruleFactory.createClassNameRef({width:"".concat(y/3|0,"px"),display:"inline-block"});r(le,ue," ",de?InjectedTextCursorStops$2.Right:InjectedTextCursorStops$2.None)},{fontSize:y,fontFamily:k,padding:L,isUniform:V}=this._getLayoutInfo(),z="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(z,k);let j={line:0,totalLen:0};for(const le of t){if(j.line!==le.anchor.range.startLineNumber&&(j={line:le.anchor.range.startLineNumber,totalLen:0}),j.totalLen>InlayHintsController_1$1._MAX_LABEL_LEN)continue;le.hint.paddingLeft&&g(le,!1);const de=typeof le.hint.label=="string"?[{label:le.hint.label}]:le.hint.label;for(let ue=0;ue0&&(xe=xe.slice(0,-Ne)+"…",Ie=!0),r(le,this._ruleFactory.createClassNameRef($e),fixSpace$1(xe),Ce&&!le.hint.paddingRight?InjectedTextCursorStops$2.Right:InjectedTextCursorStops$2.None,new RenderedInlayHintLabelPart$1(le,ue)),Ie)break}if(le.hint.paddingRight&&g(le,!0),i.length>InlayHintsController_1$1._MAX_DECORATORS)break}const ie=[];for(const[le,de]of this._decorationsMetadata){const ue=(ae=this._editor.getModel())==null?void 0:ae.getDecorationRange(le);ue&&e.some(he=>he.containsRange(ue))&&(ie.push(le),de.classNameRef.dispose(),this._decorationsMetadata.delete(le))}const oe=StableEditorScrollState$1.capture(this._editor);this._editor.changeDecorations(le=>{const de=le.deltaDecorations(ie,i.map(ue=>ue.decoration));for(let ue=0;uei)&&(g=i);const y=e.fontFamily||r;return{fontSize:g,fontFamily:y,padding:t,isUniform:!t&&y===r&&g===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}},InlayHintsController_1$1=vr,vr.ID="editor.contrib.InlayHints",vr._MAX_DECORATORS=1500,vr._MAX_LABEL_LEN=43,vr);InlayHintsController$1=InlayHintsController_1$1=__decorate$3I([__param$3y(1,ILanguageFeaturesService$1),__param$3y(2,ILanguageFeatureDebounceService$1),__param$3y(3,IInlayHintsCache$1),__param$3y(4,ICommandService$1),__param$3y(5,INotificationService$1),__param$3y(6,IInstantiationService$1)],InlayHintsController$1);function fixSpace$1(n){return n.replace(/[ \t]/g," ")}CommandsRegistry$1.registerCommand("_executeInlayHintProvider",async(n,...e)=>{const[t,i]=e;assertType$1(URI$1.isUri(t)),assertType$1(Range$5.isIRange(i));const{inlayHintsProvider:r}=n.get(ILanguageFeaturesService$1),g=await n.get(ITextModelService$1).createModelReference(t);try{const y=await InlayHintsFragments$1.create(r,g.object.textEditorModel,[Range$5.lift(i)],CancellationToken$1.None),k=y.items.map(L=>L.hint);return setTimeout(()=>y.dispose(),0),k}finally{g.dispose()}});var __decorate$3H=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3x=function(n,e){return function(t,i){e(t,i,n)}};let InlayHintsHoverAnchor$1=class extends HoverForeignElementAnchor$1{constructor(e,t,i,r){super(10,t,e.item.anchor.range,i,r,!0),this.part=e}},InlayHintsHover$1=class extends MarkdownHoverParticipant$1{constructor(e,t,i,r,g,y,k,L,V){super(e,t,i,y,L,r,g,V),this._resolverService=k,this.hoverOrdinal=6}suggestHoverAnchor(e){var r;if(!InlayHintsController$1.get(this._editor)||e.target.type!==6)return null;const i=(r=e.target.detail.injectedText)==null?void 0:r.options;return i instanceof ModelDecorationInjectedTextOptions$1&&i.attachedData instanceof RenderedInlayHintLabelPart$1?new InlayHintsHoverAnchor$1(i.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof InlayHintsHoverAnchor$1?new AsyncIterableObject$1(async r=>{const{part:g}=e;if(await g.item.resolve(i),i.isCancellationRequested)return;let y;typeof g.item.hint.tooltip=="string"?y=new MarkdownString$1().appendText(g.item.hint.tooltip):g.item.hint.tooltip&&(y=g.item.hint.tooltip),y&&r.emitOne(new MarkdownHover$1(this,e.range,[y],!1,0)),isNonEmptyArray$1(g.item.hint.textEdits)&&r.emitOne(new MarkdownHover$1(this,e.range,[new MarkdownString$1().appendText(localize$1("hint.dbl","Double-click to insert"))],!1,10001));let k;if(typeof g.part.tooltip=="string"?k=new MarkdownString$1().appendText(g.part.tooltip):g.part.tooltip&&(k=g.part.tooltip),k&&r.emitOne(new MarkdownHover$1(this,e.range,[k],!1,1)),g.part.location||g.part.command){let V;const j=this._editor.getOption(78)==="altKey"?isMacintosh$1?localize$1("links.navigate.kb.meta.mac","cmd + click"):localize$1("links.navigate.kb.meta","ctrl + click"):isMacintosh$1?localize$1("links.navigate.kb.alt.mac","option + click"):localize$1("links.navigate.kb.alt","alt + click");g.part.location&&g.part.command?V=new MarkdownString$1().appendText(localize$1("hint.defAndCommand","Go to Definition ({0}), right click for more",j)):g.part.location?V=new MarkdownString$1().appendText(localize$1("hint.def","Go to Definition ({0})",j)):g.part.command&&(V=new MarkdownString$1("[".concat(localize$1("hint.cmd","Execute Command"),"](").concat(asCommandLink$1(g.part.command),' "').concat(g.part.command.title,'") (').concat(j,")"),{isTrusted:!0})),V&&r.emitOne(new MarkdownHover$1(this,e.range,[V],!1,1e4))}const L=await this._resolveInlayHintLabelPartHover(g,i);for await(const V of L)r.emitOne(V)}):AsyncIterableObject$1.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return AsyncIterableObject$1.EMPTY;const{uri:i,range:r}=e.part.location,g=await this._resolverService.createModelReference(i);try{const y=g.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(y)?getHoverProviderResultsAsAsyncIterable(this._languageFeaturesService.hoverProvider,y,new Position$3(r.startLineNumber,r.startColumn),t).filter(k=>!isEmptyMarkdownString$1(k.hover.contents)).map(k=>new MarkdownHover$1(this,e.item.anchor.range,k.hover.contents,!1,2+k.ordinal)):AsyncIterableObject$1.EMPTY}finally{g.dispose()}}};InlayHintsHover$1=__decorate$3H([__param$3x(1,ILanguageService$1),__param$3x(2,IOpenerService$1),__param$3x(3,IKeybindingService$1),__param$3x(4,IHoverService$1),__param$3x(5,IConfigurationService$1),__param$3x(6,ITextModelService$1),__param$3x(7,ILanguageFeaturesService$1),__param$3x(8,ICommandService$1)],InlayHintsHover$1);class RenderedContentHover extends Disposable$1{constructor(e,t,i,r,g,y){super();const k=t.anchor,L=t.hoverParts;this._renderedHoverParts=this._register(new RenderedContentHoverParts(e,i,L,y,g));const{showAtPosition:V,showAtSecondaryPosition:z}=RenderedContentHover.computeHoverPositions(e,k.range,L);this.shouldAppearBeforeContent=L.some(j=>j.isBeforeContent),this.showAtPosition=V,this.showAtSecondaryPosition=z,this.initialMousePosX=k.initialMousePosX,this.initialMousePosY=k.initialMousePosY,this.shouldFocus=r.shouldFocus,this.source=r.source}get domNode(){return this._renderedHoverParts.domNode}get domNodeHasChildren(){return this._renderedHoverParts.domNodeHasChildren}get focusedHoverPartIndex(){return this._renderedHoverParts.focusedHoverPartIndex}async updateHoverVerbosityLevel(e,t,i){this._renderedHoverParts.updateHoverVerbosityLevel(e,t,i)}isColorPickerVisible(){return this._renderedHoverParts.isColorPickerVisible()}static computeHoverPositions(e,t,i){let r=1;if(e.hasModel()){const z=e._getViewModel(),j=z.coordinatesConverter,ie=j.convertModelRangeToViewRange(t),oe=z.getLineMinColumn(ie.startLineNumber),re=new Position$3(ie.startLineNumber,oe);r=j.convertViewPositionToModelPosition(re).column}const g=t.startLineNumber;let y=t.startColumn,k;for(const z of i){const j=z.range,ie=j.startLineNumber===g,oe=j.endLineNumber===g;if(ie&&oe){const ae=j.startColumn,le=Math.min(y,ae);y=Math.max(le,r)}z.forceShowAtRange&&(k=j)}let L,V;if(k){const z=k.getStartPosition();L=z,V=z}else L=t.getStartPosition(),V=new Position$3(g,y);return{showAtPosition:L,showAtSecondaryPosition:V}}}class RenderedStatusBar{constructor(e,t){this._statusBar=t,e.appendChild(this._statusBar.hoverElement)}get hoverElement(){return this._statusBar.hoverElement}get actions(){return this._statusBar.actions}dispose(){this._statusBar.dispose()}}const id=class id extends Disposable$1{constructor(e,t,i,r,g){super(),this._renderedParts=[],this._focusedHoverPartIndex=-1,this._context=g,this._fragment=document.createDocumentFragment(),this._register(this._renderParts(t,i,g,r)),this._register(this._registerListenersOnRenderedParts()),this._register(this._createEditorDecorations(e,i)),this._updateMarkdownAndColorParticipantInfo(t)}_createEditorDecorations(e,t){if(t.length===0)return Disposable$1.None;let i=t[0].range;for(const g of t){const y=g.range;i=Range$5.plusRange(i,y)}const r=e.createDecorationsCollection();return r.set([{range:i,options:id._DECORATION_OPTIONS}]),toDisposable$1(()=>{r.clear()})}_renderParts(e,t,i,r){const g=new EditorHoverStatusBar$1(r),y={fragment:this._fragment,statusBar:g,...i},k=new DisposableStore$1;for(const V of e){const z=this._renderHoverPartsForParticipant(t,V,y);k.add(z);for(const j of z.renderedHoverParts)this._renderedParts.push({type:"hoverPart",participant:V,hoverPart:j.hoverPart,hoverElement:j.hoverElement})}const L=this._renderStatusBar(this._fragment,g);return L&&(k.add(L),this._renderedParts.push({type:"statusBar",hoverElement:L.hoverElement,actions:L.actions})),toDisposable$1(()=>{k.dispose()})}_renderHoverPartsForParticipant(e,t,i){const r=e.filter(y=>y.owner===t);return r.length>0?t.renderHoverParts(i,r):new RenderedHoverParts([])}_renderStatusBar(e,t){if(t.hasContent)return new RenderedStatusBar(e,t)}_registerListenersOnRenderedParts(){const e=new DisposableStore$1;return this._renderedParts.forEach((t,i)=>{const r=t.hoverElement;r.tabIndex=0,e.add(addDisposableListener$1(r,EventType$3.FOCUS_IN,g=>{g.stopPropagation(),this._focusedHoverPartIndex=i})),e.add(addDisposableListener$1(r,EventType$3.FOCUS_OUT,g=>{g.stopPropagation(),this._focusedHoverPartIndex=-1}))}),e}_updateMarkdownAndColorParticipantInfo(e){const t=e.find(i=>i instanceof MarkdownHoverParticipant$1&&!(i instanceof InlayHintsHover$1));t&&(this._markdownHoverParticipant=t),this._colorHoverParticipant=e.find(i=>i instanceof ColorHoverParticipant$1)}async updateHoverVerbosityLevel(e,t,i){if(!this._markdownHoverParticipant)return;const r=this._normalizedIndexToMarkdownHoverIndexRange(this._markdownHoverParticipant,t);if(r===void 0)return;const g=await this._markdownHoverParticipant.updateMarkdownHoverVerbosityLevel(e,r,i);g&&(this._renderedParts[t]={type:"hoverPart",participant:this._markdownHoverParticipant,hoverPart:g.hoverPart,hoverElement:g.hoverElement},this._context.onContentsChanged())}isColorPickerVisible(){var e,t;return(t=(e=this._colorHoverParticipant)==null?void 0:e.isColorPickerVisible())!=null?t:!1}_normalizedIndexToMarkdownHoverIndexRange(e,t){const i=this._renderedParts[t];if(!i||i.type!=="hoverPart"||!(i.participant===e))return;const g=this._renderedParts.findIndex(y=>y.type==="hoverPart"&&y.participant===e);if(g===-1)throw new BugIndicatingError$1;return t-g}get domNode(){return this._fragment}get domNodeHasChildren(){return this._fragment.hasChildNodes()}get focusedHoverPartIndex(){return this._focusedHoverPartIndex}};id._DECORATION_OPTIONS=ModelDecorationOptions$1.register({description:"content-hover-highlight",className:"hoverHighlight"});let RenderedContentHoverParts=id;var __decorate$3G=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3w=function(n,e){return function(t,i){e(t,i,n)}};let ContentHoverWidgetWrapper=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._onContentsChanged=this._register(new Emitter$3),this.onContentsChanged=this._onContentsChanged.event,this._contentHoverWidget=this._register(this._instantiationService.createInstance(ContentHoverWidget$1,this._editor)),this._participants=this._initializeHoverParticipants(),this._computer=new ContentHoverComputer$1(this._editor,this._participants),this._hoverOperation=this._register(new HoverOperation$1(this._editor,this._computer)),this._registerListeners()}_initializeHoverParticipants(){const e=[];for(const t of HoverParticipantRegistry$1.getAll()){const i=this._instantiationService.createInstance(t,this._editor);e.push(i)}return e.sort((t,i)=>t.hoverOrdinal-i.hoverOrdinal),this._register(this._contentHoverWidget.onDidResize(()=>{this._participants.forEach(t=>{var i;return(i=t.handleResize)==null?void 0:i.call(t)})})),e}_registerListeners(){this._register(this._hoverOperation.onResult(t=>{if(!this._computer.anchor)return;const i=t.hasLoadingMessage?this._addLoadingMessage(t.value):t.value;this._withResult(new HoverResult$2(this._computer.anchor,i,t.isComplete))}));const e=this._contentHoverWidget.getDomNode();this._register(addStandardDisposableListener$1(e,"keydown",t=>{t.equals(9)&&this.hide()})),this._register(addStandardDisposableListener$1(e,"mouseleave",t=>{this._onMouseLeave(t)})),this._register(TokenizationRegistry$2.onDidChange(()=>{this._contentHoverWidget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,r,g){if(!(this._contentHoverWidget.position&&this._currentResult))return e?(this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):!1;const k=this._editor.getOption(60).sticky,L=g&&this._contentHoverWidget.isMouseGettingCloser(g.event.posx,g.event.posy);return k&&L?(e&&this._startHoverOperationIfNecessary(e,t,i,r,!0),!0):e?this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._contentHoverWidget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,r,g){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=r,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=g,this._hoverOperation.start(t))}_setCurrentResult(e){let t=e;if(this._currentResult===t)return;t&&t.hoverParts.length===0&&(t=null),this._currentResult=t,this._currentResult?this._showHover(this._currentResult):this._hideHover()}_addLoadingMessage(e){if(!this._computer.anchor)return e;for(const t of this._participants){if(!t.createLoadingMessage)continue;const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}return e}_withResult(e){if(this._contentHoverWidget.position&&this._currentResult&&this._currentResult.isComplete||this._setCurrentResult(e),!e.isComplete)return;const r=e.hoverParts.length===0,g=this._computer.insistOnKeepingHoverVisible;r&&g||this._setCurrentResult(e)}_showHover(e){const t=this._getHoverContext();this._renderedContentHover=new RenderedContentHover(this._editor,e,this._participants,this._computer,t,this._keybindingService),this._renderedContentHover.domNodeHasChildren?this._contentHoverWidget.show(this._renderedContentHover):this._renderedContentHover.dispose()}_hideHover(){this._contentHoverWidget.hide()}_getHoverContext(){return{hide:()=>{this.hide()},onContentsChanged:()=>{this._onContentsChanged.fire(),this._contentHoverWidget.onContentsChanged()},setMinimumDimensions:r=>{this._contentHoverWidget.setMinimumDimensions(r)}}}showsOrWillShow(e){if(this._contentHoverWidget.isResizing)return!0;const i=this._findHoverAnchorCandidates(e);if(!(i.length>0))return this._startShowingOrUpdateHover(null,0,0,!1,e);const g=i[0];return this._startShowingOrUpdateHover(g,0,0,!1,e)}_findHoverAnchorCandidates(e){const t=[];for(const r of this._participants){if(!r.suggestHoverAnchor)continue;const g=r.suggestHoverAnchor(e);g&&t.push(g)}const i=e.target;switch(i.type){case 6:{t.push(new HoverRangeAnchor$1(0,i.range,e.event.posx,e.event.posy));break}case 7:{const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;if(!(!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToTextg.priority-r.priority),t}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!isMousePositionWithinElement(t,e.x,e.y))&&this.hide()}startShowingAtRange(e,t,i,r){this._startShowingOrUpdateHover(new HoverRangeAnchor$1(0,e,void 0,void 0),t,i,r,null)}async updateHoverVerbosityLevel(e,t,i){var r;(r=this._renderedContentHover)==null||r.updateHoverVerbosityLevel(e,t,i)}focusedHoverPartIndex(){var e,t;return(t=(e=this._renderedContentHover)==null?void 0:e.focusedHoverPartIndex)!=null?t:-1}containsNode(e){return e?this._contentHoverWidget.getDomNode().contains(e):!1}focus(){this._contentHoverWidget.focus()}scrollUp(){this._contentHoverWidget.scrollUp()}scrollDown(){this._contentHoverWidget.scrollDown()}scrollLeft(){this._contentHoverWidget.scrollLeft()}scrollRight(){this._contentHoverWidget.scrollRight()}pageUp(){this._contentHoverWidget.pageUp()}pageDown(){this._contentHoverWidget.pageDown()}goToTop(){this._contentHoverWidget.goToTop()}goToBottom(){this._contentHoverWidget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}getDomNode(){return this._contentHoverWidget.getDomNode()}get isColorPickerVisible(){var e,t;return(t=(e=this._renderedContentHover)==null?void 0:e.isColorPickerVisible())!=null?t:!1}get isVisibleFromKeyboard(){return this._contentHoverWidget.isVisibleFromKeyboard}get isVisible(){return this._contentHoverWidget.isVisible}get isFocused(){return this._contentHoverWidget.isFocused}get isResizing(){return this._contentHoverWidget.isResizing}get widget(){return this._contentHoverWidget}};ContentHoverWidgetWrapper=__decorate$3G([__param$3w(1,IInstantiationService$1),__param$3w(2,IKeybindingService$1)],ContentHoverWidgetWrapper);var __decorate$3F=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3v=function(n,e){return function(t,i){e(t,i,n)}},ContentHoverController_1$1,Ma;let ContentHoverController$1=(Ma=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._onHoverContentsChanged=this._register(new Emitter$3),this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore$1,this._hoverState={mouseDown:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler$1(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(ContentHoverController_1$1.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._shouldNotHideCurrentHoverWidget(e)&&this._hideWidgets()}_shouldNotHideCurrentHoverWidget(e){return this._isMouseOnContentHoverWidget(e)||this._isContentWidgetResizing()}_isMouseOnContentHoverWidget(e){var i;const t=(i=this._contentWidget)==null?void 0:i.getDomNode();return t?isMousePositionWithinElement(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._shouldNotHideCurrentHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=(y,k)=>{const L=this._isMouseOnContentHoverWidget(y);return k&&L},r=y=>{var V,z;const k=this._isMouseOnContentHoverWidget(y),L=(z=(V=this._contentWidget)==null?void 0:V.isColorPickerVisible)!=null?z:!1;return k&&L},g=(y,k)=>{var L,V,z,j,ie;return(ie=k&&((V=this._contentWidget)==null?void 0:V.containsNode((L=y.event.browserEvent.view)==null?void 0:L.document.activeElement))&&!((j=(z=y.event.browserEvent.view)==null?void 0:z.getSelection())!=null&&j.isCollapsed))!=null?ie:!1};return i(e,t)||r(e)||g(e,t)}_onEditorMouseMove(e){var k,L,V,z;if(this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._mouseMoveEvent=e,(k=this._contentWidget)!=null&&k.isFocused||(L=this._contentWidget)!=null&&L.isResizing))return;const t=this._hoverSettings.sticky;if(t&&((V=this._contentWidget)!=null&&V.isVisibleFromKeyboard))return;if(this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const r=this._hoverSettings.hidingDelay;if(((z=this._contentWidget)==null?void 0:z.isVisible)&&t&&r>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(r);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var L;if(!e)return;const i=(L=e.target.element)==null?void 0:L.classList.contains("colorpicker-color-decoration"),r=this._editor.getOption(149),g=this._hoverSettings.enabled,y=this._hoverState.activatedByDecoratorClick;if(i&&(r==="click"&&!y||r==="hover"&&!g||r==="clickAndHover"&&!g&&!y)||!i&&!g&&!y){this._hideWidgets();return}this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateContentWidget().showsOrWillShow(e)}_onKeyDown(e){var r;if(!this._editor.hasModel())return;const t=this._keybindingService.softDispatch(e,this._editor.getDomNode()),i=t.kind===1||t.kind===2&&(t.commandId===SHOW_OR_FOCUS_HOVER_ACTION_ID||t.commandId===INCREASE_HOVER_VERBOSITY_ACTION_ID||t.commandId===DECREASE_HOVER_VERBOSITY_ACTION_ID)&&((r=this._contentWidget)==null?void 0:r.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||i||this._hideWidgets()}_hideWidgets(){var e,t;this._hoverState.mouseDown&&((e=this._contentWidget)!=null&&e.isColorPickerVisible)||InlineSuggestionHintsContentWidget$1.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,(t=this._contentWidget)==null||t.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(ContentHoverWidgetWrapper,this._editor),this._listenersStore.add(this._contentWidget.onContentsChanged(()=>this._onHoverContentsChanged.fire()))),this._contentWidget}showContentHover(e,t,i,r,g=!1){this._hoverState.activatedByDecoratorClick=g,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,r)}_isContentWidgetResizing(){var e;return((e=this._contentWidget)==null?void 0:e.widget.isResizing)||!1}focusedHoverPartIndex(){return this._getOrCreateContentWidget().focusedHoverPartIndex()}updateHoverVerbosityLevel(e,t,i){this._getOrCreateContentWidget().updateHoverVerbosityLevel(e,t,i)}focus(){var e;(e=this._contentWidget)==null||e.focus()}scrollUp(){var e;(e=this._contentWidget)==null||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)==null||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)==null||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)==null||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)==null||e.pageUp()}pageDown(){var e;(e=this._contentWidget)==null||e.pageDown()}goToTop(){var e;(e=this._contentWidget)==null||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)==null||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)==null?void 0:e.isVisible}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._contentWidget)==null||e.dispose()}},ContentHoverController_1$1=Ma,Ma.ID="editor.contrib.contentHover",Ma);ContentHoverController$1=ContentHoverController_1$1=__decorate$3F([__param$3v(1,IInstantiationService$1),__param$3v(2,IKeybindingService$1)],ContentHoverController$1);var ic;let ColorContribution$1=(ic=class extends Disposable$1{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(149);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==ColorDecorationInjectedTextMarker$1||!i.range)return;const r=this._editor.getContribution(ContentHoverController$1.ID);if(r&&!r.isColorPickerVisible){const g=new Range$5(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);r.showContentHover(g,1,0,!1,!0)}}},ic.ID="editor.contrib.colorContribution",ic);registerEditorContribution$1(ColorContribution$1.ID,ColorContribution$1,2);HoverParticipantRegistry$1.register(ColorHoverParticipant$1);var __decorate$3E=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3u=function(n,e){return function(t,i){e(t,i,n)}},StandaloneColorPickerController_1$1,StandaloneColorPickerWidget_1$1,Aa;let StandaloneColorPickerController$1=(Aa=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._instantiationService=i,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=EditorContextKeys$1.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=EditorContextKeys$1.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)==null||e.focus():this._standaloneColorPickerWidget=this._instantiationService.createInstance(StandaloneColorPickerWidget$1,this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)==null||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)==null||e.updateEditor(),this.hide()}static get(e){return e.getContribution(StandaloneColorPickerController_1$1.ID)}},StandaloneColorPickerController_1$1=Aa,Aa.ID="editor.contrib.standaloneColorPickerController",Aa);StandaloneColorPickerController$1=StandaloneColorPickerController_1$1=__decorate$3E([__param$3u(1,IContextKeyService$1),__param$3u(2,IInstantiationService$1)],StandaloneColorPickerController$1);registerEditorContribution$1(StandaloneColorPickerController$1.ID,StandaloneColorPickerController$1,1);const PADDING$1=8,CLOSE_BUTTON_WIDTH$1=22;var Pa;let StandaloneColorPickerWidget$1=(Pa=class extends Disposable$1{constructor(e,t,i,r,g,y,k){var j;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._keybindingService=g,this._languageFeaturesService=y,this._editorWorkerService=k,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new Emitter$3),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(StandaloneColorPickerParticipant$1,this._editor),this._position=(j=this._editor._getViewModel())==null?void 0:j.getPrimaryCursorState().modelState.position;const L=this._editor.getSelection(),V=L?{startLineNumber:L.startLineNumber,startColumn:L.startColumn,endLineNumber:L.endLineNumber,endColumn:L.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},z=this._register(trackFocus$1(this._body));this._register(z.onDidBlur(ie=>{this.hide()})),this._register(z.onDidFocus(ie=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(ie=>{var re;const oe=(re=ie.target.element)==null?void 0:re.classList;oe&&oe.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(ie=>{this._render(ie.value,ie.foundInEditor)})),this._start(V),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return StandaloneColorPickerWidget_1$1.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new StandaloneColorPickerResult$1(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new DefaultDocumentColorProvider$1(this._editorWorkerService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),r=this._register(new EditorHoverStatusBar$1(this._keybindingService)),g={fragment:i,statusBar:r,onContentsChanged:()=>{},hide:()=>this.hide()};this._colorHover=e;const y=this._standaloneColorPickerParticipant.renderHoverParts(g,[e]);if(!y)return;this._register(y.disposables);const k=y.colorPicker;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),k.layout();const L=k.body,V=L.saturationBox.domNode.clientWidth,z=L.domNode.clientWidth-V-CLOSE_BUTTON_WIDTH$1-PADDING$1,j=k.body.enterButton;j==null||j.onClicked(()=>{this.updateEditor(),this.hide()});const ie=k.header,oe=ie.pickedColorNode;oe.style.width=V+PADDING$1+"px";const re=ie.originalColorNode;re.style.width=z+"px";const ae=k.header.closeButton;ae==null||ae.onClicked(()=>{this.hide()}),t&&(j&&(j.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}},StandaloneColorPickerWidget_1$1=Pa,Pa.ID="editor.contrib.standaloneColorPickerWidget",Pa);StandaloneColorPickerWidget$1=StandaloneColorPickerWidget_1$1=__decorate$3E([__param$3u(3,IInstantiationService$1),__param$3u(4,IKeybindingService$1),__param$3u(5,ILanguageFeaturesService$1),__param$3u(6,IEditorWorkerService$1)],StandaloneColorPickerWidget$1);let StandaloneColorPickerResult$1=class{constructor(e,t){this.value=e,this.foundInEditor=t}},ShowOrFocusStandaloneColorPicker$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...localize2$1("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:localize$1({key:"mishowOrFocusStandaloneColorPicker",comment:["&& denotes a mnemonic"]},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:MenuId$1.CommandPalette}],metadata:{description:localize2$1("showOrFocusStandaloneColorPickerDescription","Show or focus a standalone color picker which uses the default color provider. It displays hex/rgb/hsl colors.")}})}runEditorCommand(e,t){var i;(i=StandaloneColorPickerController$1.get(t))==null||i.showOrFocus()}},HideStandaloneColorPicker$1=class extends EditorAction$1{constructor(){super({id:"editor.action.hideColorPicker",label:localize$1({key:"hideColorPicker",comment:["Action that hides the color picker"]},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:EditorContextKeys$1.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100},metadata:{description:localize2$1("hideColorPickerDescription","Hide the standalone color picker.")}})}run(e,t){var i;(i=StandaloneColorPickerController$1.get(t))==null||i.hide()}},InsertColorWithStandaloneColorPicker$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:localize$1({key:"insertColorWithStandaloneColorPicker",comment:["Action that inserts color with standalone color picker"]},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:EditorContextKeys$1.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100},metadata:{description:localize2$1("insertColorWithStandaloneColorPickerDescription","Insert hex/rgb/hsl colors with the focused standalone color picker.")}})}run(e,t){var i;(i=StandaloneColorPickerController$1.get(t))==null||i.insertColor()}};registerEditorAction$1(HideStandaloneColorPicker$1);registerEditorAction$1(InsertColorWithStandaloneColorPicker$1);registerAction2$1(ShowOrFocusStandaloneColorPicker$1);let BlockCommentCommand$1=class Ud{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const r=t.length,g=e.length;if(i+r>g)return!1;for(let y=0;y=65&&k<=90&&k+32===L)&&!(L>=65&&L<=90&&L+32===k))return!1}return!0}_createOperationsForBlockComment(e,t,i,r,g,y){const k=e.startLineNumber,L=e.startColumn,V=e.endLineNumber,z=e.endColumn,j=g.getLineContent(k),ie=g.getLineContent(V);let oe=j.lastIndexOf(t,L-1+t.length),re=ie.indexOf(i,z-1-i.length);if(oe!==-1&&re!==-1)if(k===V)j.substring(oe+t.length,re).indexOf(i)>=0&&(oe=-1,re=-1);else{const le=j.substring(oe+t.length),de=ie.substring(0,re);(le.indexOf(i)>=0||de.indexOf(i)>=0)&&(oe=-1,re=-1)}let ae;oe!==-1&&re!==-1?(r&&oe+t.length0&&ie.charCodeAt(re-1)===32&&(i=" "+i,re-=1),ae=Ud._createRemoveBlockCommentOperations(new Range$5(k,oe+t.length+1,V,re+1),t,i)):(ae=Ud._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=ae.length===1?i:null);for(const le of ae)y.addTrackedEditOperation(le.range,le.text)}static _createRemoveBlockCommentOperations(e,t,i){const r=[];return Range$5.isEmpty(e)?r.push(EditOperation$1.delete(new Range$5(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(r.push(EditOperation$1.delete(new Range$5(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(EditOperation$1.delete(new Range$5(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),r}static _createAddBlockCommentOperations(e,t,i,r){const g=[];return Range$5.isEmpty(e)?g.push(EditOperation$1.replace(new Range$5(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(g.push(EditOperation$1.insert(new Position$3(e.startLineNumber,e.startColumn),t+(r?" ":""))),g.push(EditOperation$1.insert(new Position$3(e.endLineNumber,e.endColumn),(r?" ":"")+i))),g}getEditOperations(e,t){const i=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const g=e.getLanguageIdAtPosition(i,r),y=this.languageConfigurationService.getLanguageConfiguration(g).comments;!y||!y.blockCommentStartToken||!y.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,y.blockCommentStartToken,y.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const r=i[0],g=i[1];return new Selection$3(r.range.endLineNumber,r.range.endColumn,g.range.startLineNumber,g.range.startColumn)}else{const r=i[0].range,g=this._usedEndToken?-this._usedEndToken.length-1:0;return new Selection$3(r.endLineNumber,r.endColumn+g,r.endLineNumber,r.endColumn+g)}}},LineCommentCommand$1=class wr{constructor(e,t,i,r,g,y,k){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=r,this._insertSpace=g,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=y,this._ignoreFirstLine=k||!1}static _gatherPreflightCommentStrings(e,t,i,r){e.tokenization.tokenizeIfCheap(t);const g=e.getLanguageIdAtPosition(t,1),y=r.getLanguageConfiguration(g).comments,k=y?y.lineCommentToken:null;if(!k)return null;const L=[];for(let V=0,z=i-t+1;Vg?t[L].commentStrOffset=y-1:t[L].commentStrOffset=y}}},CommentLineAction$1=class extends EditorAction$1{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(ILanguageConfigurationService$1);if(!t.hasModel())return;const r=t.getModel(),g=[],y=r.getOptions(),k=t.getOption(23),L=t.getSelections().map((z,j)=>({selection:z,index:j,ignoreFirstLine:!1}));L.sort((z,j)=>Range$5.compareRangesUsingStarts(z.selection,j.selection));let V=L[0];for(let z=1;z=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3t=function(n,e){return function(t,i){e(t,i,n)}},ContextMenuController_1$1,Oa;let ContextMenuController$1=(Oa=class{static get(e){return e.getContribution(ContextMenuController_1$1.ID)}constructor(e,t,i,r,g,y,k,L){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=r,this._keybindingService=g,this._menuService=y,this._configurationService=k,this._workspaceContextService=L,this._toDispose=new DisposableStore$1,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(V=>this._onContextMenu(V))),this._toDispose.add(this._editor.onMouseWheel(V=>{if(this._contextMenuIsBeingShownCount>0){const z=this._contextViewService.getContextViewElement(),j=V.srcElement;j.shadowRoot&&getShadowRoot$3(z)===j.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(V=>{this._editor.getOption(24)&&V.keyCode===58&&(V.preventDefault(),V.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const r of this._editor.getSelections())if(r.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.contextMenuId);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],r=this._menuService.getMenuActions(t,this._contextKeyService,{arg:e.uri});for(const g of r){const[,y]=g;let k=0;for(const L of y)if(L instanceof SubmenuItemAction$1){const V=this._getMenuActions(e,L.item.submenu);V.length>0&&(i.push(new SubmenuAction$1(L.id,L.label,V)),k++)}else i.push(L),k++;k&&i.push(new Separator$1)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){var y;if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let r=t;if(!r){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const k=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),L=getDomNodePagePosition$1(this._editor.getDomNode()),V=L.left+k.left,z=L.top+k.top+k.height;r={x:V,y:z}}const g=this._editor.getOption(128)&&!isIOS$3;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:g?(y=this._editor.getOverflowWidgetsDomNode())!=null?y:this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>e,getActionViewItem:k=>{const L=this._keybindingFor(k);if(L)return new ActionViewItem$1(k,k,{label:!0,keybinding:L.getLabel(),isMenu:!0});const V=k;return typeof V.getActionViewItem=="function"?V.getActionViewItem():new ActionViewItem$1(k,k,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:k=>this._keybindingFor(k),onHide:k=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||isStandaloneEditorWorkspace$1(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const r=V=>({id:"menu-action-".concat(++i),label:V.label,tooltip:"",class:void 0,enabled:typeof V.enabled>"u"?!0:V.enabled,checked:V.checked,run:V.run}),g=(V,z)=>new SubmenuAction$1("menu-action-".concat(++i),V,z,void 0),y=(V,z,j,ie,oe)=>{if(!z)return r({label:V,enabled:z,run:()=>{}});const re=le=>()=>{this._configurationService.updateValue(j,le)},ae=[];for(const le of oe)ae.push(r({label:le.label,checked:ie===le.value,run:re(le.value)}));return g(V,ae)},k=[];k.push(r({label:localize$1("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),k.push(new Separator$1),k.push(r({label:localize$1("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),k.push(y(localize$1("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:localize$1("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:localize$1("context.minimap.size.fill","Fill"),value:"fill"},{label:localize$1("context.minimap.size.fit","Fit"),value:"fit"}])),k.push(y(localize$1("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:localize$1("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:localize$1("context.minimap.slider.always","Always"),value:"always"}]));const L=this._editor.getOption(128)&&!isIOS$3;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:L?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>k,onHide:V=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}},ContextMenuController_1$1=Oa,Oa.ID="editor.contrib.contextmenu",Oa);ContextMenuController$1=ContextMenuController_1$1=__decorate$3D([__param$3t(1,IContextMenuService$1),__param$3t(2,IContextViewService$1),__param$3t(3,IContextKeyService$1),__param$3t(4,IKeybindingService$1),__param$3t(5,IMenuService$1),__param$3t(6,IConfigurationService$1),__param$3t(7,IWorkspaceContextService$1)],ContextMenuController$1);let ShowContextMenu$1=class extends EditorAction$1{constructor(){super({id:"editor.action.showContextMenu",label:localize$1("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=ContextMenuController$1.get(t))==null||i.showContextMenu()}};registerEditorContribution$1(ContextMenuController$1.ID,ContextMenuController$1,2);registerEditorAction$1(ShowContextMenu$1);let CursorState$2=class{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let r=0;r{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new CursorState$2(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new StackElement$1(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new StackElement$1(new CursorState$2(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new StackElement$1(new CursorState$2(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}},Fa.ID="editor.contrib.cursorUndoRedoController",Fa),CursorUndo$1=class extends EditorAction$1{constructor(){super({id:"cursorUndo",label:localize$1("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var r;(r=CursorUndoRedoController$1.get(t))==null||r.cursorUndo()}},CursorRedo$1=class extends EditorAction$1{constructor(){super({id:"cursorRedo",label:localize$1("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var r;(r=CursorUndoRedoController$1.get(t))==null||r.cursorRedo()}};registerEditorContribution$1(CursorUndoRedoController$1.ID,CursorUndoRedoController$1,0);registerEditorAction$1(CursorUndo$1);registerEditorAction$1(CursorRedo$1);let DragAndDropCommand$1=class{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Range$5(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Selection$3(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Selection$3(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumberthis._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(hasTriggerModifier$1(e)&&(this._modifierPressed=!0),this._mouseDown&&hasTriggerModifier$1(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(hasTriggerModifier$1(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===Io.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const r=(this._editor.getSelections()||[]).filter(g=>t.position&&g.containsPosition(t.position));if(r.length===1)this._dragSelection=r[0];else return}hasTriggerModifier$1(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Position$3(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const r=this._editor.getSelection();if(r){const{selectionStartLineNumber:g,selectionStartColumn:y}=r;i=[new Selection$3(g,y,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(r=>r.containsPosition(t)?new Selection$3(t.lineNumber,t.column,t.lineNumber,t.column):r);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(hasTriggerModifier$1(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(Io.ID,new DragAndDropCommand$1(this._dragSelection,t,hasTriggerModifier$1(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new Range$5(e.lineNumber,e.column,e.lineNumber,e.column),options:Io._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}},Io.ID="editor.contrib.dragAndDrop",Io.TRIGGER_KEY_VALUE=isMacintosh$1?6:5,Io._DECORATION_OPTIONS=ModelDecorationOptions$1.register({description:"dnd-target",className:"dnd-target"}),Io);registerEditorContribution$1(DragAndDropController$1.ID,DragAndDropController$1,2);registerEditorContribution$1(CopyPasteController$1.ID,CopyPasteController$1,0);registerEditorFeature$1(DefaultPasteProvidersFeature$1);registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:changePasteTypeCommandId$1,precondition:pasteWidgetVisibleCtx$1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e){var t;return(t=CopyPasteController$1.get(e))==null?void 0:t.changePasteType()}});registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:"editor.hidePasteWidget",precondition:pasteWidgetVisibleCtx$1,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e){var t;(t=CopyPasteController$1.get(e))==null||t.clearWidgets()}});var Ba;registerEditorAction$1((Ba=class extends EditorAction$1{constructor(){super({id:"editor.action.pasteAs",label:localize$1("pasteAs","Paste As..."),alias:"Paste As...",precondition:EditorContextKeys$1.writable,metadata:{description:"Paste as",args:[{name:"args",schema:Ba.argsSchema}]}})}run(e,t,i){var g;let r=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!r&&i&&(r=typeof i.id=="string"?i.id:void 0),(g=CopyPasteController$1.get(t))==null?void 0:g.pasteAs(r?new HierarchicalKind$1(r):void 0)}},Ba.argsSchema={type:"object",properties:{kind:{type:"string",description:localize$1("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},Ba));registerEditorAction$1(class extends EditorAction$1{constructor(){super({id:"editor.action.pasteAsText",label:localize$1("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:EditorContextKeys$1.writable})}run(n,e){var t;return(t=CopyPasteController$1.get(e))==null?void 0:t.pasteAs({providerId:DefaultTextPasteOrDropEditProvider$1.id})}});let TreeViewsDnDService$1=class{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}},DraggedTreeItemsIdentifier$1=class{constructor(e){this.identifier=e}};const ITreeViewsDnDService$1=createDecorator$1("treeViewsDndService");registerSingleton$1(ITreeViewsDnDService$1,TreeViewsDnDService$1,1);var __decorate$3C=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3s=function(n,e){return function(t,i){e(t,i,n)}},DropIntoEditorController_1$1;const defaultProviderConfig$1="editor.experimental.dropIntoEditor.defaultProvider",changeDropTypeCommandId$1="editor.changeDropType",dropWidgetVisibleCtx$1=new RawContextKey$1("dropWidgetVisible",!1,localize$1("dropWidgetVisible","Whether the drop widget is showing"));var Wa;let DropIntoEditorController$1=(Wa=class extends Disposable$1{static get(e){return e.getContribution(DropIntoEditorController_1$1.ID)}constructor(e,t,i,r,g){super(),this._configService=i,this._languageFeaturesService=r,this._treeViewsDragAndDropService=g,this.treeItemsTransfer=LocalSelectionTransfer$1.getInstance(),this._dropProgressManager=this._register(t.createInstance(InlineProgressManager$1,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(PostEditWidgetManager$1,"dropIntoEditor",e,dropWidgetVisibleCtx$1,{id:changeDropTypeCommandId$1,label:localize$1("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(y=>this.onDropIntoEditor(e,y.position,y.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var g;if(!i.dataTransfer||!e.hasModel())return;(g=this._currentOperation)==null||g.cancel(),e.focus(),e.setPosition(t);const r=createCancelablePromise$1(async y=>{const k=new DisposableStore$1,L=k.add(new EditorStateCancellationTokenSource$1(e,1,void 0,y));try{const V=await this.extractDataTransferData(i);if(V.size===0||L.token.isCancellationRequested)return;const z=e.getModel();if(!z)return;const j=this._languageFeaturesService.documentDropEditProvider.ordered(z).filter(oe=>oe.dropMimeTypes?oe.dropMimeTypes.some(re=>V.matches(re)):!0),ie=k.add(await this.getDropEdits(j,z,t,V,L));if(L.token.isCancellationRequested)return;if(ie.edits.length){const oe=this.getInitialActiveEditIndex(z,ie.edits),re=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([Range$5.fromPositions(t)],{activeEditIndex:oe,allEdits:ie.edits},re,async ae=>ae,y)}}finally{k.dispose(),this._currentOperation===r&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,localize$1("dropIntoEditorProgress","Running drop handlers. Click to cancel"),r,{cancel:()=>r.cancel()}),this._currentOperation=r}async getDropEdits(e,t,i,r,g){const y=new DisposableStore$1,k=await raceCancellation$1(Promise.all(e.map(async V=>{try{const z=await V.provideDocumentDropEdits(t,i,r,g.token);return z&&y.add(z),z==null?void 0:z.edits.map(j=>({...j,providerId:V.id}))}catch(z){console.error(z)}})),g.token),L=coalesce$1(k!=null?k:[]).flat();return{edits:sortEditsByYieldTo$1(L),dispose:()=>y.dispose()}}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(defaultProviderConfig$1,{resource:e.uri});for(const[r,g]of Object.entries(i)){const y=new HierarchicalKind$1(g),k=t.findIndex(L=>y.value===L.providerId&&L.handledMimeType&&matchesMimeType$1(r,[L.handledMimeType]));if(k>=0)return k}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new VSDataTransfer$1;const t=toExternalVSDataTransfer$1(e.dataTransfer);if(this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier$1.prototype)){const i=this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier$1.prototype);if(Array.isArray(i))for(const r of i){const g=await this._treeViewsDragAndDropService.removeDragOperationTransfer(r.identifier);if(g)for(const[y,k]of g)t.replace(y,k)}}return t}},DropIntoEditorController_1$1=Wa,Wa.ID="editor.contrib.dropIntoEditorController",Wa);DropIntoEditorController$1=DropIntoEditorController_1$1=__decorate$3C([__param$3s(1,IInstantiationService$1),__param$3s(2,IConfigurationService$1),__param$3s(3,ILanguageFeaturesService$1),__param$3s(4,ITreeViewsDnDService$1)],DropIntoEditorController$1);registerEditorContribution$1(DropIntoEditorController$1.ID,DropIntoEditorController$1,2);registerEditorFeature$1(DefaultDropProvidersFeature$1);registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:changeDropTypeCommandId$1,precondition:dropWidgetVisibleCtx$1,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e,t){var i;(i=DropIntoEditorController$1.get(e))==null||i.changeDropType()}});registerEditorCommand$1(new class extends EditorCommand$1{constructor(){super({id:"editor.hideDropWidget",precondition:dropWidgetVisibleCtx$1,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e,t){var i;(i=DropIntoEditorController$1.get(e))==null||i.clearWidgets()}});Registry$1.as(Extensions$g.Configuration).registerConfiguration({...editorConfigurationBaseNode$1,properties:{[defaultProviderConfig$1]:{type:"object",scope:5,description:localize$1("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});var Un;let FindDecorations$1=(Un=class{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(this._highlightedDecorationId!==null&&(r.changeDecorationOptions(this._highlightedDecorationId,Un._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,r.changeDecorationOptions(this._highlightedDecorationId,Un._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(r.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let g=this._editor.getModel().getDecorationRange(t);if(g.startLineNumber!==g.endLineNumber&&g.endColumn===1){const y=g.endLineNumber-1,k=this._editor.getModel().getLineMaxColumn(y);g=new Range$5(g.startLineNumber,g.startColumn,y,k)}this._rangeHighlightDecorationId=r.addDecoration(g,Un._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let r=Un._FIND_MATCH_DECORATION;const g=[];if(e.length>1e3){r=Un._FIND_MATCH_NO_OVERVIEW_DECORATION;const k=this._editor.getModel().getLineCount(),V=this._editor.getLayoutInfo().height/k,z=Math.max(2,Math.ceil(3/V));let j=e[0].range.startLineNumber,ie=e[0].range.endLineNumber;for(let oe=1,re=e.length;oe=ae.startLineNumber?ae.endLineNumber>ie&&(ie=ae.endLineNumber):(g.push({range:new Range$5(j,1,ie,1),options:Un._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),j=ae.startLineNumber,ie=ae.endLineNumber)}g.push({range:new Range$5(j,1,ie,1),options:Un._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const y=new Array(e.length);for(let k=0,L=e.length;ki.removeDecoration(k)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(k=>i.addDecoration(k,Un._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],r=this._editor.getModel().getDecorationRange(i);if(!(!r||r.endLineNumber>e.lineNumber)){if(r.endLineNumbere.column))return r}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return g;if(!(g.startColumn0){const i=[];for(let y=0;yRange$5.compareRangesUsingStarts(y.range,k.range));const r=[];let g=i[0];for(let y=1;y0?e[0].toUpperCase()+e.substr(1):n[0][0].toUpperCase()!==n[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function validateSpecificSpecialCharacter$1(n,e,t){return n[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&n[0].split(t).length===e.split(t).length}function buildReplaceStringForSpecificSpecialCharacter$1(n,e,t){const i=e.split(t),r=n[0].split(t);let g="";return i.forEach((y,k)=>{g+=buildReplaceStringWithCasePreserved$1([r[k]],y)+t}),g.slice(0,-1)}let StaticValueReplacePattern$1=class{constructor(e){this.staticValue=e,this.kind=0}},DynamicPiecesReplacePattern$1=class{constructor(e){this.pieces=e,this.kind=1}},ReplacePattern$1=class Kd{static fromStaticValue(e){return new Kd([ReplacePiece$1.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new StaticValueReplacePattern$1(""):e.length===1&&e[0].staticValue!==null?this._state=new StaticValueReplacePattern$1(e[0].staticValue):this._state=new DynamicPiecesReplacePattern$1(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?buildReplaceStringWithCasePreserved$1(e,this._state.staticValue):this._state.staticValue;let i="";for(let r=0,g=this._state.pieces.length;r0){const L=[],V=y.caseOps.length;let z=0;for(let j=0,ie=k.length;j=V){L.push(k.slice(j));break}switch(y.caseOps[z]){case"U":L.push(k[j].toUpperCase());break;case"u":L.push(k[j].toUpperCase()),z++;break;case"L":L.push(k[j].toLowerCase());break;case"l":L.push(k[j].toLowerCase()),z++;break;default:L.push(k[j])}}k=L.join("")}i+=k}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e=r)break;const y=n.charCodeAt(i);switch(y){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic("\n",i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(y));break}continue}if(g===36){if(i++,i>=r)break;const y=n.charCodeAt(i);if(y===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(y===48||y===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=y&&y<=57){let k=y-48;if(i+1{if(this._editor.hasModel())return this.research(!1)},100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,dispose$1(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},RESEARCH_DELAY$1)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(k=>{if(k.startLineNumber!==k.endLineNumber){let L=k.endLineNumber;return k.endColumn===1&&(L=L-1),new Range$5(k.startLineNumber,1,L,this._editor.getModel().getLineMaxColumn(L))}return k}));const r=this._findMatches(i,!1,MATCHES_LIMIT$1);this._decorations.set(r,i);const g=this._editor.getSelection();let y=this._decorations.getCurrentMatchesPosition(g);if(y===0&&r.length>0){const k=findFirstIdxMonotonousOrArrLen$1(r.map(L=>L.range),L=>Range$5.compareRangesUsingStarts(L,g)>=0);y=k>0?k-1+1:y}this._state.changeMatchInfo(y,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const g=this._editor.getModel();return t||r===1?(i===1?i=g.getLineCount():i--,r=g.getLineMaxColumn(i)):r--,new Position$3(i,r)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const z=this._decorations.matchAfterPosition(e);z&&this._setCurrentFindMatch(z);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const g=this._editor.getModel();return t||r===g.getLineMaxColumn(i)?(i===g.getLineCount()?i=1:i++,r=1):r++,new Position$3(i,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()Zc._getSearchRange(this._editor.getModel(),g));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=MATCHES_LIMIT$1?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new SearchParams$1(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(132):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let j="mu";i.ignoreCase&&(j+="i"),i.global&&(j+="g"),i=new RegExp(i.source,j)}const r=this._editor.getModel(),g=r.getValue(1),y=r.getFullModelRange(),k=this._getReplacePattern();let L;const V=this._state.preserveCase;k.hasReplacementPatterns||V?L=g.replace(i,function(){return k.buildReplaceString(arguments,V)}):L=g.replace(i,k.buildReplaceString(null,V));const z=new ReplaceCommandThatPreservesSelection$1(y,L,this._editor.getSelection());this._executeEditorCommand("replaceAll",z)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let y=0,k=i.length;yy.range),r);this._executeEditorCommand("replaceAll",g)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(g=>new Selection$3(g.range.startLineNumber,g.range.startColumn,g.range.endLineNumber,g.range.endColumn));const r=this._editor.getSelection();for(let g=0,y=i.length;gthis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const r={inputActiveOptionBorder:asCssVariable$1(inputActiveOptionBorder$1),inputActiveOptionForeground:asCssVariable$1(inputActiveOptionForeground$1),inputActiveOptionBackground:asCssVariable$1(inputActiveOptionBackground$1)},g=this._register(createInstantHoverDelegate$1());this.caseSensitive=this._register(new CaseSensitiveToggle$1({appendTitle:this._keybindingLabelFor(FIND_IDS$1.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:g,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new WholeWordsToggle$1({appendTitle:this._keybindingLabelFor(FIND_IDS$1.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:g,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new RegexToggle$1({appendTitle:this._keybindingLabelFor(FIND_IDS$1.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:g,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(y=>{let k=!1;y.isRegex&&(this.regex.checked=this._state.isRegex,k=!0),y.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,k=!0),y.matchCase&&(this.caseSensitive.checked=this._state.matchCase,k=!0),!this._state.isRevealed&&k&&this._revealTemporarily()})),this._register(addDisposableListener$1(this._domNode,EventType$3.MOUSE_LEAVE,y=>this._onMouseLeave())),this._register(addDisposableListener$1(this._domNode,"mouseover",y=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?" (".concat(t.getLabel(),")"):""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return Va.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}},Va.ID="editor.contrib.findOptionsWidget",Va);function effectiveOptionValue$1(n,e){return n===1?!0:n===2?!1:e}let FindReplaceState$1=class extends Disposable$1{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return effectiveOptionValue$1(this._isRegexOverride,this._isRegex)}get wholeWord(){return effectiveOptionValue$1(this._wholeWordOverride,this._wholeWord)}get matchCase(){return effectiveOptionValue$1(this._matchCaseOverride,this._matchCase)}get preserveCase(){return effectiveOptionValue$1(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new Emitter$3),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let g=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,g=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,g=!0),typeof i<"u"&&(Range$5.equalsRange(this._currentMatch,i)||(this._currentMatch=i,r.currentMatch=!0,g=!0)),g&&this._onFindReplaceStateChange.fire(r)}change(e,t,i=!0){var z;const r={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let g=!1;const y=this.isRegex,k=this.wholeWord,L=this.matchCase,V=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,r.searchString=!0,g=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,r.replaceString=!0,g=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,r.isRevealed=!0,g=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,r.isReplaceRevealed=!0,g=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&((z=e.searchScope)!=null&&z.every(j=>{var ie;return(ie=this._searchScope)==null?void 0:ie.some(oe=>!Range$5.equalsRange(oe,j))})||(this._searchScope=e.searchScope,r.searchScope=!0,g=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,r.loop=!0,g=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,r.isSearching=!0,g=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,r.filters=!0,g=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,y!==this.isRegex&&(g=!0,r.isRegex=!0),k!==this.wholeWord&&(g=!0,r.wholeWord=!0),L!==this.matchCase&&(g=!0,r.matchCase=!0),V!==this.preserveCase&&(g=!0,r.preserveCase=!0),g&&this._onFindReplaceStateChange.fire(r)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=MATCHES_LIMIT$1}};const NLS_DEFAULT_LABEL$2=localize$1("defaultLabel","input"),NLS_PRESERVE_CASE_LABEL$1=localize$1("label.preserveCaseToggle","Preserve Case");let PreserveCaseToggle$1=class extends Toggle$1{constructor(e){var t;super({icon:Codicon$1.preserveCase,title:NLS_PRESERVE_CASE_LABEL$1+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!=null?t:getDefaultHoverDelegate$1("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}},ReplaceInput$1=class extends Widget$3{constructor(e,t,i,r){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Emitter$3),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$3),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$3),this._onInput=this._register(new Emitter$3),this._onKeyUp=this._register(new Emitter$3),this._onPreserveCaseKeyDown=this._register(new Emitter$3),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=r.placeholder||"",this.validation=r.validation,this.label=r.label||NLS_DEFAULT_LABEL$2;const g=r.appendPreserveCaseLabel||"",y=r.history||[],k=!!r.flexibleHeight,L=!!r.flexibleWidth,V=r.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox$1(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:y,showHistoryHint:r.showHistoryHint,flexibleHeight:k,flexibleWidth:L,flexibleMaxHeight:V,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new PreserveCaseToggle$1({appendTitle:g,isChecked:!1,...r.toggleStyles})),this._register(this.preserveCase.onChange(ie=>{this._onDidOptionChange.fire(ie),!ie&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(ie=>{this._onPreserveCaseKeyDown.fire(ie)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const z=[this.preserveCase.domNode];this.onkeydown(this.domNode,ie=>{if(ie.equals(15)||ie.equals(17)||ie.equals(9)){const oe=z.indexOf(this.domNode.ownerDocument.activeElement);if(oe>=0){let re=-1;ie.equals(17)?re=(oe+1)%z.length:ie.equals(15)&&(oe===0?re=z.length-1:re=oe-1),ie.equals(9)?(z[oe].blur(),this.inputBox.focus()):re>=0&&z[re].focus(),EventHelper$2.stop(ie,!0)}}});const j=document.createElement("div");j.className="controls",j.style.display=this._showOptionButtons?"block":"none",j.appendChild(this.preserveCase.domNode),this.domNode.appendChild(j),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,ie=>this._onKeyDown.fire(ie)),this.onkeyup(this.inputBox.inputElement,ie=>this._onKeyUp.fire(ie)),this.oninput(this.inputBox.inputElement,ie=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,ie=>this._onMouseDown.fire(ie))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)==null||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}};var __decorate$3B=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3r=function(n,e){return function(t,i){e(t,i,n)}};const historyNavigationVisible$1=new RawContextKey$1("suggestWidgetVisible",!1,localize$1("suggestWidgetVisible","Whether suggestion are visible")),HistoryNavigationWidgetFocusContext$1="historyNavigationWidgetFocus",HistoryNavigationForwardsEnablementContext$1="historyNavigationForwardsEnabled",HistoryNavigationBackwardsEnablementContext$1="historyNavigationBackwardsEnabled";let lastFocusedWidget$1;const widgets$1=[];function registerAndCreateHistoryNavigationContext$1(n,e){if(widgets$1.includes(e))throw new Error("Cannot register the same widget multiple times");widgets$1.push(e);const t=new DisposableStore$1,i=new RawContextKey$1(HistoryNavigationWidgetFocusContext$1,!1).bindTo(n),r=new RawContextKey$1(HistoryNavigationForwardsEnablementContext$1,!0).bindTo(n),g=new RawContextKey$1(HistoryNavigationBackwardsEnablementContext$1,!0).bindTo(n),y=()=>{i.set(!0),lastFocusedWidget$1=e},k=()=>{i.set(!1),lastFocusedWidget$1===e&&(lastFocusedWidget$1=void 0)};return isActiveElement$1(e.element)&&y(),t.add(e.onDidFocus(()=>y())),t.add(e.onDidBlur(()=>k())),t.add(toDisposable$1(()=>{widgets$1.splice(widgets$1.indexOf(e),1),k()})),{historyNavigationForwardsEnablement:r,historyNavigationBackwardsEnablement:g,dispose(){t.dispose()}}}let ContextScopedFindInput$1=class extends FindInput$1{constructor(e,t,i,r){super(e,t,i);const g=this._register(r.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext$1(g,this.inputBox))}};ContextScopedFindInput$1=__decorate$3B([__param$3r(3,IContextKeyService$1)],ContextScopedFindInput$1);let ContextScopedReplaceInput$1=class extends ReplaceInput$1{constructor(e,t,i,r,g=!1){super(e,t,g,i);const y=this._register(r.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext$1(y,this.inputBox))}};ContextScopedReplaceInput$1=__decorate$3B([__param$3r(3,IContextKeyService$1)],ContextScopedReplaceInput$1);KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ContextKeyExpr$1.and(ContextKeyExpr$1.has(HistoryNavigationWidgetFocusContext$1),ContextKeyExpr$1.equals(HistoryNavigationBackwardsEnablementContext$1,!0),ContextKeyExpr$1.not("isComposing"),historyNavigationVisible$1.isEqualTo(!1)),primary:16,secondary:[528],handler:n=>{lastFocusedWidget$1==null||lastFocusedWidget$1.showPreviousValue()}});KeybindingsRegistry$1.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ContextKeyExpr$1.and(ContextKeyExpr$1.has(HistoryNavigationWidgetFocusContext$1),ContextKeyExpr$1.equals(HistoryNavigationForwardsEnablementContext$1,!0),ContextKeyExpr$1.not("isComposing"),historyNavigationVisible$1.isEqualTo(!1)),primary:18,secondary:[530],handler:n=>{lastFocusedWidget$1==null||lastFocusedWidget$1.showNextValue()}});function showHistoryKeybindingHint$1(n){var e,t;return((e=n.lookupKeybinding("history.showPrevious"))==null?void 0:e.getElectronAccelerator())==="Up"&&((t=n.lookupKeybinding("history.showNext"))==null?void 0:t.getElectronAccelerator())==="Down"}const findCollapsedIcon$1=registerIcon$1("find-collapsed",Codicon$1.chevronRight,localize$1("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),findExpandedIcon$1=registerIcon$1("find-expanded",Codicon$1.chevronDown,localize$1("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),findSelectionIcon$1=registerIcon$1("find-selection",Codicon$1.selection,localize$1("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),findReplaceIcon$1=registerIcon$1("find-replace",Codicon$1.replace,localize$1("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),findReplaceAllIcon$1=registerIcon$1("find-replace-all",Codicon$1.replaceAll,localize$1("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),findPreviousMatchIcon$1=registerIcon$1("find-previous-match",Codicon$1.arrowUp,localize$1("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),findNextMatchIcon$1=registerIcon$1("find-next-match",Codicon$1.arrowDown,localize$1("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),NLS_FIND_DIALOG_LABEL$1=localize$1("label.findDialog","Find / Replace"),NLS_FIND_INPUT_LABEL$1=localize$1("label.find","Find"),NLS_FIND_INPUT_PLACEHOLDER$1=localize$1("placeholder.find","Find"),NLS_PREVIOUS_MATCH_BTN_LABEL$1=localize$1("label.previousMatchButton","Previous Match"),NLS_NEXT_MATCH_BTN_LABEL$1=localize$1("label.nextMatchButton","Next Match"),NLS_TOGGLE_SELECTION_FIND_TITLE$1=localize$1("label.toggleSelectionFind","Find in Selection"),NLS_CLOSE_BTN_LABEL$1=localize$1("label.closeButton","Close"),NLS_REPLACE_INPUT_LABEL$1=localize$1("label.replace","Replace"),NLS_REPLACE_INPUT_PLACEHOLDER$1=localize$1("placeholder.replace","Replace"),NLS_REPLACE_BTN_LABEL$1=localize$1("label.replaceButton","Replace"),NLS_REPLACE_ALL_BTN_LABEL$1=localize$1("label.replaceAllButton","Replace All"),NLS_TOGGLE_REPLACE_MODE_BTN_LABEL$1=localize$1("label.toggleReplaceButton","Toggle Replace"),NLS_MATCHES_COUNT_LIMIT_TITLE$1=localize$1("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",MATCHES_LIMIT$1),NLS_MATCHES_LOCATION$1=localize$1("label.matchesLocation","{0} of {1}"),NLS_NO_RESULTS$1=localize$1("label.noResults","No results"),FIND_WIDGET_INITIAL_WIDTH$1=419,PART_WIDTH$1=275,FIND_INPUT_AREA_WIDTH$1=PART_WIDTH$1-54;let MAX_MATCHES_COUNT_WIDTH$1=69;const FIND_INPUT_AREA_HEIGHT$1=33,ctrlEnterReplaceAllWarningPromptedKey$1="ctrlEnterReplaceAll.windows.donotask",ctrlKeyMod$2=isMacintosh$1?256:2048;let FindWidgetViewZone$1=class{constructor(e){this.afterLineNumber=e,this.heightInPx=FIND_INPUT_AREA_HEIGHT$1,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}};function stopPropagationForMultiLineUpwards$1(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){n.stopPropagation();return}}function stopPropagationForMultiLineDownwards$1(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(j=>this._onStateChanged(j))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(j=>{if(j.hasChanged(92)&&(this._codeEditor.getOption(92)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),j.hasChanged(146)&&this._tryUpdateWidgetWidth(),j.hasChanged(2)&&this.updateAccessibilitySupport(),j.hasChanged(41)){const ie=this._codeEditor.getOption(41).loop;this._state.change({loop:ie},!1);const oe=this._codeEditor.getOption(41).addExtraSpaceOnTop;oe&&!this._viewZone&&(this._viewZone=new FindWidgetViewZone$1(0),this._showViewZone()),!oe&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const j=await this._controller.getGlobalBufferTerm();j&&j!==this._state.searchString&&(this._state.change({searchString:j},!1),this._findInput.select())}})),this._findInputFocused=CONTEXT_FIND_INPUT_FOCUSED$1.bindTo(y),this._findFocusTracker=this._register(trackFocus$1(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=CONTEXT_REPLACE_INPUT_FOCUSED$1.bindTo(y),this._replaceFocusTracker=this._register(trackFocus$1(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new FindWidgetViewZone$1(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(j=>{if(j.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return za.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(92)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=getTotalWidth$1(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,onUnexpectedError$1)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){var t;this._matchesCount.style.minWidth=MAX_MATCHES_COUNT_WIDTH$1+"px",this._state.matchesCount>=MATCHES_LIMIT$1?this._matchesCount.title=NLS_MATCHES_COUNT_LIMIT_TITLE$1:this._matchesCount.title="",(t=this._matchesCount.firstChild)==null||t.remove();let e;if(this._state.matchesCount>0){let i=String(this._state.matchesCount);this._state.matchesCount>=MATCHES_LIMIT$1&&(i+="+");let r=String(this._state.matchesPosition);r==="0"&&(r="?"),e=format$2(NLS_MATCHES_LOCATION$1,r,i)}else e=NLS_NO_RESULTS$1;this._matchesCount.appendChild(document.createTextNode(e)),alert$1(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),MAX_MATCHES_COUNT_WIDTH$1=Math.max(MAX_MATCHES_COUNT_WIDTH$1,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===NLS_NO_RESULTS$1)return i===""?localize$1("ariaSearchNoResultEmpty","{0} found",e):localize$1("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const r=localize$1("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),g=this._codeEditor.getModel();if(g&&t.startLineNumber<=g.getLineCount()&&t.startLineNumber>=1){const y=g.getLineContent(t.startLineNumber);return"".concat(y,", ").concat(r)}return r}return localize$1("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(92);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const r=getDomNodePagePosition$1(i),g=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),y=r.left+(g?g.left:0),k=g?g.top:0;if(this._viewZone&&ke.startLineNumber&&(t=!1);const L=getTopLeftOffset$1(this._domNode).left;y>L&&(t=!1);const V=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(V?V.left:0)>L&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(r=>{i.heightInPx=this._getHeight(),this._viewZoneId=r.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new FindWidgetViewZone$1(0));const i=this._viewZone;this._codeEditor.changeViewZones(r=>{if(this._viewZoneId!==void 0){const g=this._getHeight();if(g===i.heightInPx)return;const y=g-i.heightInPx;i.heightInPx=g,r.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+y);return}else{let g=this._getHeight();if(g-=this._codeEditor.getOption(84).top,g<=0)return;i.heightInPx=g,this._viewZoneId=r.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+g)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,r=e.minimap.minimapWidth;let g=!1,y=!1,k=!1;if(this._resized&&getTotalWidth$1(this._domNode)>FIND_WIDGET_INITIAL_WIDTH$1){this._domNode.style.maxWidth="".concat(i-28-r-15,"px"),this._replaceInput.width=getTotalWidth$1(this._findInput.domNode);return}if(FIND_WIDGET_INITIAL_WIDTH$1+28+r>=i&&(y=!0),FIND_WIDGET_INITIAL_WIDTH$1+28+r-MAX_MATCHES_COUNT_WIDTH$1>=i&&(k=!0),FIND_WIDGET_INITIAL_WIDTH$1+28+r-MAX_MATCHES_COUNT_WIDTH$1>=i+50&&(g=!0),this._domNode.classList.toggle("collapsed-find-widget",g),this._domNode.classList.toggle("narrow-find-widget",k),this._domNode.classList.toggle("reduced-find-widget",y),!k&&!g&&(this._domNode.style.maxWidth="".concat(i-28-r-15,"px")),this._findInput.layout({collapsedFindWidget:g,narrowFindWidget:k,reducedFindWidget:y}),this._resized){const L=this._findInput.inputBox.element.clientWidth;L>0&&(this._replaceInput.width=L)}else this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth$1(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height="".concat(e,"px"),!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!Range$5.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(ctrlKeyMod$2|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor("\n"),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return stopPropagationForMultiLineUpwards$1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return stopPropagationForMultiLineDownwards$1(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(ctrlKeyMod$2|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{isWindows$1&&isNative$1&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(localize$1("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ctrlEnterReplaceAllWarningPromptedKey$1,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n"),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return stopPropagationForMultiLineUpwards$1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return stopPropagationForMultiLineDownwards$1(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?" (".concat(t.getLabel(),")"):""}_buildDomNode(){this._findInput=this._register(new ContextScopedFindInput$1(null,this._contextViewProvider,{width:FIND_INPUT_AREA_WIDTH$1,label:NLS_FIND_INPUT_LABEL$1,placeholder:NLS_FIND_INPUT_PLACEHOLDER$1,appendCaseSensitiveLabel:this._keybindingLabelFor(FIND_IDS$1.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(FIND_IDS$1.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(FIND_IDS$1.ToggleRegexCommand),validation:z=>{if(z.length===0||!this._findInput.getRegex())return null;try{return new RegExp(z,"gu"),null}catch(j){return{content:j.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>showHistoryKeybindingHint$1(this._keybindingService),inputBoxStyles:defaultInputBoxStyles$1,toggleStyles:defaultToggleStyles$1},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(z=>this._onFindInputKeyDown(z))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(z=>{z.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),z.preventDefault())})),this._register(this._findInput.onRegexKeyDown(z=>{z.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),z.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(z=>{this._tryUpdateHeight()&&this._showViewZone()})),isLinux$1&&this._register(this._findInput.onMouseDown(z=>this._onFindInputMouseDown(z))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(createInstantHoverDelegate$1());this._prevBtn=this._register(new SimpleButton$1({label:NLS_PREVIOUS_MATCH_BTN_LABEL$1+this._keybindingLabelFor(FIND_IDS$1.PreviousMatchFindAction),icon:findPreviousMatchIcon$1,hoverDelegate:i,onTrigger:()=>{assertIsDefined$1(this._codeEditor.getAction(FIND_IDS$1.PreviousMatchFindAction)).run().then(void 0,onUnexpectedError$1)}},this._hoverService)),this._nextBtn=this._register(new SimpleButton$1({label:NLS_NEXT_MATCH_BTN_LABEL$1+this._keybindingLabelFor(FIND_IDS$1.NextMatchFindAction),icon:findNextMatchIcon$1,hoverDelegate:i,onTrigger:()=>{assertIsDefined$1(this._codeEditor.getAction(FIND_IDS$1.NextMatchFindAction)).run().then(void 0,onUnexpectedError$1)}},this._hoverService));const r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);const g=document.createElement("div");g.className="find-actions",r.appendChild(g),g.appendChild(this._matchesCount),g.appendChild(this._prevBtn.domNode),g.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Toggle$1({icon:findSelectionIcon$1,title:NLS_TOGGLE_SELECTION_FIND_TITLE$1+this._keybindingLabelFor(FIND_IDS$1.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:asCssVariable$1(inputActiveOptionBackground$1),inputActiveOptionBorder:asCssVariable$1(inputActiveOptionBorder$1),inputActiveOptionForeground:asCssVariable$1(inputActiveOptionForeground$1)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let z=this._codeEditor.getSelections();z=z.map(j=>(j.endColumn===1&&j.endLineNumber>j.startLineNumber&&(j=j.setEndPosition(j.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(j.endLineNumber-1))),j.isEmpty()?null:j)).filter(j=>!!j),z.length&&this._state.change({searchScope:z},!0)}}else this._state.change({searchScope:null},!0)})),g.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new SimpleButton$1({label:NLS_CLOSE_BTN_LABEL$1+this._keybindingLabelFor(FIND_IDS$1.CloseFindWidgetCommand),icon:widgetClose$1,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:z=>{z.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),z.preventDefault())}},this._hoverService)),this._replaceInput=this._register(new ContextScopedReplaceInput$1(null,void 0,{label:NLS_REPLACE_INPUT_LABEL$1,placeholder:NLS_REPLACE_INPUT_PLACEHOLDER$1,appendPreserveCaseLabel:this._keybindingLabelFor(FIND_IDS$1.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>showHistoryKeybindingHint$1(this._keybindingService),inputBoxStyles:defaultInputBoxStyles$1,toggleStyles:defaultToggleStyles$1},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(z=>this._onReplaceInputKeyDown(z))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(z=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(z=>{z.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),z.preventDefault())}));const y=this._register(createInstantHoverDelegate$1());this._replaceBtn=this._register(new SimpleButton$1({label:NLS_REPLACE_BTN_LABEL$1+this._keybindingLabelFor(FIND_IDS$1.ReplaceOneAction),icon:findReplaceIcon$1,hoverDelegate:y,onTrigger:()=>{this._controller.replace()},onKeyDown:z=>{z.equals(1026)&&(this._closeBtn.focus(),z.preventDefault())}},this._hoverService)),this._replaceAllBtn=this._register(new SimpleButton$1({label:NLS_REPLACE_ALL_BTN_LABEL$1+this._keybindingLabelFor(FIND_IDS$1.ReplaceAllAction),icon:findReplaceAllIcon$1,hoverDelegate:y,onTrigger:()=>{this._controller.replaceAll()}},this._hoverService));const k=document.createElement("div");k.className="replace-part",k.appendChild(this._replaceInput.domNode);const L=document.createElement("div");L.className="replace-actions",k.appendChild(L),L.appendChild(this._replaceBtn.domNode),L.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new SimpleButton$1({label:NLS_TOGGLE_REPLACE_MODE_BTN_LABEL$1,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth$1(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}},this._hoverService)),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=NLS_FIND_DIALOG_LABEL$1,this._domNode.role="dialog",this._domNode.style.width="".concat(FIND_WIDGET_INITIAL_WIDTH$1,"px"),this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(k),this._resizeSash=this._register(new Sash$1(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let V=FIND_WIDGET_INITIAL_WIDTH$1;this._register(this._resizeSash.onDidStart(()=>{V=getTotalWidth$1(this._domNode)})),this._register(this._resizeSash.onDidChange(z=>{this._resized=!0;const j=V+z.startX-z.currentX;if(jie||(this._domNode.style.width="".concat(j,"px"),this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth$1(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const z=getTotalWidth$1(this._domNode);if(z{this._opts.onTrigger(),g.preventDefault()}),this.onkeydown(this._domNode,g=>{var y,k;if(g.equals(10)||g.equals(3)){this._opts.onTrigger(),g.preventDefault();return}(k=(y=this._opts).onKeyDown)==null||k.call(y,g)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ThemeIcon$1.asClassNameArray(findCollapsedIcon$1)),this._domNode.classList.add(...ThemeIcon$1.asClassNameArray(findExpandedIcon$1))):(this._domNode.classList.remove(...ThemeIcon$1.asClassNameArray(findExpandedIcon$1)),this._domNode.classList.add(...ThemeIcon$1.asClassNameArray(findCollapsedIcon$1)))}};registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorFindMatchHighlightBorder$1);t&&e.addRule(".monaco-editor .findMatch { border: 1px ".concat(isHighContrast$1(n.type)?"dotted":"solid"," ").concat(t,"; box-sizing: border-box; }"));const i=n.getColor(editorFindRangeHighlightBorder$1);i&&e.addRule(".monaco-editor .findScope { border: 1px ".concat(isHighContrast$1(n.type)?"dashed":"solid"," ").concat(i,"; }"));const r=n.getColor(contrastBorder$1);r&&e.addRule(".monaco-editor .find-widget { border: 1px solid ".concat(r,"; }"));const g=n.getColor(editorFindMatchForeground);g&&e.addRule(".monaco-editor .findMatchInline { color: ".concat(g,"; }"));const y=n.getColor(editorFindMatchHighlightForeground);y&&e.addRule(".monaco-editor .currentFindMatchInline { color: ".concat(y,"; }"))});var __decorate$3A=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3q=function(n,e){return function(t,i){e(t,i,n)}},CommonFindController_1$1;const SEARCH_STRING_MAX_LENGTH$1=524288;function getSelectionSearchString$1(n,e="single",t=!1){if(!n.hasModel())return null;const i=n.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const r=n.getConfiguredWordAtPosition(i.getStartPosition());if(r&&t===!1)return r.word}else if(n.getModel().getValueLengthInRange(i)this._onStateChanged(k))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const k=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),k&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!CONTEXT_FIND_INPUT_FOCUSED$1.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=escapeRegExpCharacters$1(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const r=getSelectionSearchString$1(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);r&&(this._state.isRegex?i.searchString=escapeRegExpCharacters$1(r):i.searchString=r)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const r=getSelectionSearchString$1(this._editor,e.seedSearchStringFromSelection);r&&(i.searchString=r)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const r=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;r&&(i.searchString=r)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const r=this._editor.getSelections();r.some(g=>!g.isEmpty())&&(i.searchScope=r)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new FindModelBoundToEditorModel$1(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?(e=this._editor.getModel())!=null&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(localize$1("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}},CommonFindController_1$1=Ha,Ha.ID="editor.contrib.findController",Ha);CommonFindController$1=CommonFindController_1$1=__decorate$3A([__param$3q(1,IContextKeyService$1),__param$3q(2,IStorageService$1),__param$3q(3,IClipboardService$1),__param$3q(4,INotificationService$1),__param$3q(5,IHoverService$1)],CommonFindController$1);let FindController$2=class extends CommonFindController$1{constructor(e,t,i,r,g,y,k,L,V){super(e,i,k,L,y,V),this._contextViewService=t,this._keybindingService=r,this._themeService=g,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let r=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":r=!0;break;case"never":r=!1;break;case"multiline":{r=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new FindWidget$1(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService,this._hoverService)),this._findOptionsWidget=this._register(new FindOptionsWidget$1(this._editor,this._state,this._keybindingService))}};FindController$2=__decorate$3A([__param$3q(1,IContextViewService$1),__param$3q(2,IContextKeyService$1),__param$3q(3,IKeybindingService$1),__param$3q(4,IThemeService$1),__param$3q(5,INotificationService$1),__param$3q(6,IStorageService$1),__param$3q(7,IClipboardService$1),__param$3q(8,IHoverService$1)],FindController$2);const StartFindAction$1=registerMultiEditorAction$1(new MultiEditorAction$1({id:FIND_IDS$1.StartFindAction,label:localize$1("startFindAction","Find"),alias:"Find",precondition:ContextKeyExpr$1.or(EditorContextKeys$1.focus,ContextKeyExpr$1.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:MenuId$1.MenubarEditMenu,group:"3_find",title:localize$1({key:"miFind",comment:["&& denotes a mnemonic"]},"&&Find"),order:1}}));StartFindAction$1.addImplementation(0,(n,e,t)=>{const i=CommonFindController$1.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const findArgDescription$1={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};let StartFindWithArgsAction$1=class extends EditorAction$1{constructor(){super({id:FIND_IDS$1.StartFindWithArgs,label:localize$1("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:findArgDescription$1})}async run(e,t,i){const r=CommonFindController$1.get(t);if(r){const g=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},g),r.setGlobalBufferTerm(r.getState().searchString)}}},StartFindWithSelectionAction$1=class extends EditorAction$1{constructor(){super({id:FIND_IDS$1.StartFindWithSelection,label:localize$1("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=CommonFindController$1.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}},MatchFindAction$1=class extends EditorAction$1{async run(e,t){const i=CommonFindController$1.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}},NextMatchFindAction$1=class extends MatchFindAction$1{constructor(){super({id:FIND_IDS$1.NextMatchFindAction,label:localize$1("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys$1.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,CONTEXT_FIND_INPUT_FOCUSED$1),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}},PreviousMatchFindAction$1=class extends MatchFindAction$1{constructor(){super({id:FIND_IDS$1.PreviousMatchFindAction,label:localize$1("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys$1.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,CONTEXT_FIND_INPUT_FOCUSED$1),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}},MoveToMatchFindAction$1=class extends EditorAction$1{constructor(){super({id:FIND_IDS$1.GoToMatchFindAction,label:localize$1("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:CONTEXT_FIND_WIDGET_VISIBLE$1}),this._highlightDecorations=[]}run(e,t,i){const r=CommonFindController$1.get(t);if(!r)return;const g=r.getState().matchesCount;if(g<1){e.get(INotificationService$1).notify({severity:Severity$3.Warning,message:localize$1("findMatchAction.noResults","No matches. Try searching for something else.")});return}const y=e.get(IQuickInputService$1),k=new DisposableStore$1,L=k.add(y.createInputBox());L.placeholder=localize$1("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",g);const V=j=>{const ie=parseInt(j);if(isNaN(ie))return;const oe=r.getState().matchesCount;if(ie>0&&ie<=oe)return ie-1;if(ie<0&&ie>=-oe)return oe+ie},z=j=>{const ie=V(j);if(typeof ie=="number"){L.validationMessage=void 0,r.goToMatch(ie);const oe=r.getState().currentMatch;oe&&this.addDecorations(t,oe)}else L.validationMessage=localize$1("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount),this.clearDecorations(t)};k.add(L.onDidChangeValue(j=>{z(j)})),k.add(L.onDidAccept(()=>{const j=V(L.value);typeof j=="number"?(r.goToMatch(j),L.hide()):L.validationMessage=localize$1("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount)})),k.add(L.onDidHide(()=>{this.clearDecorations(t),k.dispose()})),L.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId$1(overviewRulerRangeHighlight$1),position:OverviewRulerLane$2.Full}}}])})}},SelectionMatchFindAction$1=class extends EditorAction$1{async run(e,t){const i=CommonFindController$1.get(t);if(!i)return;const r=getSelectionSearchString$1(t,"single",!1);r&&i.setSearchString(r),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}},NextSelectionMatchFindAction$1=class extends SelectionMatchFindAction$1{constructor(){super({id:FIND_IDS$1.NextSelectionMatchFindAction,label:localize$1("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}},PreviousSelectionMatchFindAction$1=class extends SelectionMatchFindAction$1{constructor(){super({id:FIND_IDS$1.PreviousSelectionMatchFindAction,label:localize$1("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}};const StartFindReplaceAction$1=registerMultiEditorAction$1(new MultiEditorAction$1({id:FIND_IDS$1.StartFindReplaceAction,label:localize$1("startReplace","Replace"),alias:"Replace",precondition:ContextKeyExpr$1.or(EditorContextKeys$1.focus,ContextKeyExpr$1.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:MenuId$1.MenubarEditMenu,group:"3_find",title:localize$1({key:"miReplace",comment:["&& denotes a mnemonic"]},"&&Replace"),order:2}}));StartFindReplaceAction$1.addImplementation(0,(n,e,t)=>{if(!e.hasModel()||e.getOption(92))return!1;const i=CommonFindController$1.get(e);if(!i)return!1;const r=e.getSelection(),g=i.isFindInputFocused(),y=!r.isEmpty()&&r.startLineNumber===r.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!g,k=g||y?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:y?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:k,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});registerEditorContribution$1(CommonFindController$1.ID,FindController$2,0);registerEditorAction$1(StartFindWithArgsAction$1);registerEditorAction$1(StartFindWithSelectionAction$1);registerEditorAction$1(NextMatchFindAction$1);registerEditorAction$1(PreviousMatchFindAction$1);registerEditorAction$1(MoveToMatchFindAction$1);registerEditorAction$1(NextSelectionMatchFindAction$1);registerEditorAction$1(PreviousSelectionMatchFindAction$1);const FindCommand$1=EditorCommand$1.bindToContribution(CommonFindController$1.get);registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.CloseFindWidgetCommand,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.closeFindWidget(),kbOpts:{weight:105,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,ContextKeyExpr$1.not("isComposing")),primary:9,secondary:[1033]}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ToggleCaseSensitiveCommand,precondition:void 0,handler:n=>n.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:ToggleCaseSensitiveKeybinding$1.primary,mac:ToggleCaseSensitiveKeybinding$1.mac,win:ToggleCaseSensitiveKeybinding$1.win,linux:ToggleCaseSensitiveKeybinding$1.linux}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ToggleWholeWordCommand,precondition:void 0,handler:n=>n.toggleWholeWords(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:ToggleWholeWordKeybinding$1.primary,mac:ToggleWholeWordKeybinding$1.mac,win:ToggleWholeWordKeybinding$1.win,linux:ToggleWholeWordKeybinding$1.linux}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ToggleRegexCommand,precondition:void 0,handler:n=>n.toggleRegex(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:ToggleRegexKeybinding$1.primary,mac:ToggleRegexKeybinding$1.mac,win:ToggleRegexKeybinding$1.win,linux:ToggleRegexKeybinding$1.linux}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ToggleSearchScopeCommand,precondition:void 0,handler:n=>n.toggleSearchScope(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:ToggleSearchScopeKeybinding$1.primary,mac:ToggleSearchScopeKeybinding$1.mac,win:ToggleSearchScopeKeybinding$1.win,linux:ToggleSearchScopeKeybinding$1.linux}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.TogglePreserveCaseCommand,precondition:void 0,handler:n=>n.togglePreserveCase(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:TogglePreserveCaseKeybinding$1.primary,mac:TogglePreserveCaseKeybinding$1.mac,win:TogglePreserveCaseKeybinding$1.win,linux:TogglePreserveCaseKeybinding$1.linux}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:3094}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,CONTEXT_REPLACE_INPUT_FOCUSED$1),primary:3}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:2563}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,CONTEXT_REPLACE_INPUT_FOCUSED$1),primary:void 0,mac:{primary:2051}}}));registerEditorCommand$1(new FindCommand$1({id:FIND_IDS$1.SelectAllMatchesAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE$1,handler:n=>n.selectAllMatches(),kbOpts:{weight:105,kbExpr:EditorContextKeys$1.focus,primary:515}}));const foldSourceAbbr$1={0:" ",1:"u",2:"r"},MAX_FOLDING_REGIONS$1=65535,MAX_LINE_NUMBER$1=16777215,MASK_INDENT$1=4278190080;let BitField$1=class{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<MAX_FOLDING_REGIONS$1)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new BitField$1(e.length),this._userDefinedStates=new BitField$1(e.length),this._recoveredStates=new BitField$1(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,r)=>{const g=e[e.length-1];return this.getStartLineNumber(g)<=i&&this.getEndLineNumber(g)>=r};for(let i=0,r=this._startIndexes.length;iMAX_LINE_NUMBER$1||y>MAX_LINE_NUMBER$1)throw new Error("startLineNumber or endLineNumber must not exceed "+MAX_LINE_NUMBER$1);for(;e.length>0&&!t(g,y);)e.pop();const k=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=g+((k&255)<<24),this._endIndexes[i]=y+((k&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&MAX_LINE_NUMBER$1}getEndLineNumber(e){return this._endIndexes[e]&MAX_LINE_NUMBER$1}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let r=0;r>>24)+((this._endIndexes[e]&MASK_INDENT$1)>>>16);return t===MAX_FOLDING_REGIONS$1?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(le)?ue=>ueue=j.startLineNumber))z&&z.startLineNumber===j.startLineNumber?(j.source===1?le=j:(le=z,le.isCollapsed=j.isCollapsed&&(z.endLineNumber===j.endLineNumber||!(r!=null&&r.startsInside(z.startLineNumber+1,z.endLineNumber+1))),le.source=0),z=y(++L)):(le=j,j.isCollapsed&&j.source===0&&(le.source=2)),j=k(++V);else{let de=V,ue=j;for(;;){if(!ue||ue.startLineNumber>z.endLineNumber){le=z;break}if(ue.source===1&&ue.endLineNumber>z.endLineNumber)break;ue=k(++de)}z=y(++L)}if(le){for(;oe&&oe.endLineNumberle.startLineNumber&&le.startLineNumber>re&&le.endLineNumber<=i&&(!oe||oe.endLineNumber>=le.endLineNumber)&&(ae.push(le),re=le.startLineNumber,oe&&ie.push(oe),oe=le)}}return ae}},FoldingRegion$1=class{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}},FoldingModel$1=class{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Emitter$3,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new FoldingRegions$1(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,r)=>i.regionIndex-r.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let r=0,g=-1,y=-1;const k=L=>{for(;ry&&(y=V),r++}};for(const L of e){const V=L.regionIndex,z=this._editorDecorationIds[V];if(z&&!t[z]){t[z]=!0,k(V);const j=!this._regions.isCollapsed(V);this._regions.setCollapsed(V,j),g=Math.max(g,this._regions.getEndLineNumber(V))}}k(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=r=>{for(const g of e)if(!(g.startLineNumber>r.endLineNumber||r.startLineNumber>g.endLineNumber))return!0;return!1};for(let r=0;ri&&(i=k)}this._decorationProvider.changeDecorations(r=>this._editorDecorationIds=r.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e){const t=[];for(let i=0,r=this._regions.length;i=y.endLineNumber||y.startLineNumber<1||y.endLineNumber>i)continue;const k=this._getLinesChecksum(y.startLineNumber+1,y.endLineNumber);t.push({startLineNumber:y.startLineNumber,endLineNumber:y.endLineNumber,isCollapsed:y.isCollapsed,source:y.source,checksum:k})}return t.length>0?t:void 0}applyMemento(e){var g,y;if(!Array.isArray(e))return;const t=[],i=this._textModel.getLineCount();for(const k of e){if(k.startLineNumber>=k.endLineNumber||k.startLineNumber<1||k.endLineNumber>i)continue;const L=this._getLinesChecksum(k.startLineNumber+1,k.endLineNumber);(!k.checksum||L===k.checksum)&&t.push({startLineNumber:k.startLineNumber,endLineNumber:k.endLineNumber,type:void 0,isCollapsed:(g=k.isCollapsed)!=null?g:!0,source:(y=k.source)!=null?y:0})}const r=FoldingRegions$1.sanitizeAndMerge(this._regions,t,i);this.updatePost(FoldingRegions$1.fromFoldRanges(r))}_getLinesChecksum(e,t){return hash$4(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let r=this._regions.findRange(e),g=1;for(;r>=0;){const y=this._regions.toRegion(r);(!t||t(y,g))&&i.push(y),g++,r=y.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],r=e?e.regionIndex+1:0,g=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const y=[];for(let k=r,L=this._regions.length;k0&&!V.containedBy(y[y.length-1]);)y.pop();y.push(V),t(V,y.length)&&i.push(V)}else break}}else for(let y=r,k=this._regions.length;y1){const k=n.getRegionsInside(g,(L,V)=>L.isCollapsed!==y&&V0)for(const g of i){const y=n.getRegionAtLine(g);if(y&&(y.isCollapsed!==e&&r.push(y),t>1)){const k=n.getRegionsInside(y,(L,V)=>L.isCollapsed!==e&&Vy.isCollapsed!==e&&kk.isCollapsed!==e&&L<=t);r.push(...y)}n.toggleCollapseState(r)}function setCollapseStateUp$1(n,e,t){const i=[];for(const r of t){const g=n.getAllRegionsAtLine(r,y=>y.isCollapsed!==e);g.length>0&&i.push(g[0])}n.toggleCollapseState(i)}function setCollapseStateAtLevel$1(n,e,t,i){const r=(y,k)=>k===e&&y.isCollapsed!==t&&!i.some(L=>y.containsLine(L)),g=n.getRegionsInside(null,r);n.toggleCollapseState(g)}function setCollapseStateForRest$1(n,e,t){const i=[];for(const y of t){const k=n.getAllRegionsAtLine(y,void 0);k.length>0&&i.push(k[0])}const r=y=>i.every(k=>!k.containedBy(y)&&!y.containedBy(k))&&y.isCollapsed!==e,g=n.getRegionsInside(null,r);n.toggleCollapseState(g)}function setCollapseStateForMatchingLines$1(n,e,t){const i=n.textModel,r=n.regions,g=[];for(let y=r.length-1;y>=0;y--)if(t!==r.isCollapsed(y)){const k=r.getStartLineNumber(y);e.test(i.getLineContent(k))&&g.push(r.toRegion(y))}n.toggleCollapseState(g)}function setCollapseStateForType$1(n,e,t){const i=n.regions,r=[];for(let g=i.length-1;g>=0;g--)t!==i.isCollapsed(g)&&e===i.getType(g)&&r.push(i.toRegion(g));n.toggleCollapseState(r)}function getParentFoldLine$1(n,e){let t=null;const i=e.getRegionAtLine(n);if(i!==null&&(t=i.startLineNumber,n===t)){const r=i.parentIndex;r!==-1?t=e.regions.getStartLineNumber(r):t=null}return t}function getPreviousFoldLine$1(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){if(n!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let r=0;for(i!==-1&&(r=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function getNextFoldLine$1(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){const i=t.parentIndex;let r=0;if(i!==-1)r=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;r=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>n)return t.startLineNumber;t.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||countEOL$1(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,r=0,g=Number.MAX_VALUE,y=-1;const k=this._foldingModel.regions;for(;i0}isHidden(e){return findRange$1(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let r=null;const g=y=>((!r||!isInside$2(y,r))&&(r=findRange$1(this._hiddenRanges,y)),r?r.startLineNumber-1:null);for(let y=0,k=e.length;y0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}};function isInside$2(n,e){return n>=e.startLineNumber&&n<=e.endLineNumber}function findRange$1(n,e){const t=findFirstIdxMonotonousOrArrLen$1(n,i=>e=0&&n[t].endLineNumber>=e?n[t]:null}const MAX_FOLDING_REGIONS_FOR_INDENT_DEFAULT$1=5e3,ID_INDENT_PROVIDER$1="indent";let IndentRangeProvider$1=class{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=ID_INDENT_PROVIDER$1}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(computeRanges$1(this.editorModel,i,r,this.foldingRangesLimit))}},RangesCollector$3=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>MAX_LINE_NUMBER$1||t>MAX_LINE_NUMBER$1)return;const r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let g=this._length-1,y=0;g>=0;g--,y++)i[y]=this._startIndexes[g],r[y]=this._endIndexes[g];return new FoldingRegions$1(i,r)}else{this._foldingRangesLimit.update(this._length,t);let i=0,r=this._indentOccurrences.length;for(let L=0;Lt){r=L;break}i+=V}}const g=e.getOptions().tabSize,y=new Uint32Array(t),k=new Uint32Array(t);for(let L=this._length-1,V=0;L>=0;L--){const z=this._startIndexes[L],j=e.getLineContent(z),ie=computeIndentLevel$1(j,g);(ie{}};function computeRanges$1(n,e,t,i=foldingRangesLimitDefault$1){const r=n.getOptions().tabSize,g=new RangesCollector$3(i);let y;t&&(y=new RegExp("(".concat(t.start.source,")|(?:").concat(t.end.source,")")));const k=[],L=n.getLineCount()+1;k.push({indent:-1,endAbove:L,line:L});for(let V=n.getLineCount();V>0;V--){const z=n.getLineContent(V),j=computeIndentLevel$1(z,r);let ie=k[k.length-1];if(j===-1){e&&(ie.endAbove=V);continue}let oe;if(y&&(oe=z.match(y)))if(oe[1]){let re=k.length-1;for(;re>0&&k[re].indent!==-2;)re--;if(re>0){k.length=re+1,ie=k[re],g.insertFirst(V,ie.line,j),ie.line=V,ie.indent=j,ie.endAbove=V;continue}}else{k.push({indent:-2,endAbove:V,line:V});continue}if(ie.indent>j){do k.pop(),ie=k[k.length-1];while(ie.indent>j);const re=ie.endAbove-1;re-V>=1&&g.insertFirst(V,re,j)}ie.indent===j?ie.endAbove=V:k.push({indent:j,endAbove:V,line:V})}return g.toIndentRanges(n)}const foldBackground$1=registerColor$1("editor.foldBackground",{light:transparent$1(editorSelectionBackground$1,.3),dark:transparent$1(editorSelectionBackground$1,.3),hcDark:null,hcLight:null},localize$1("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.foldPlaceholderForeground",{light:"#808080",dark:"#808080",hcDark:null,hcLight:null},localize$1("collapsedTextColor","Color of the collapsed text after the first line of a folded range."));registerColor$1("editorGutter.foldingControlForeground",iconForeground$1,localize$1("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const foldingExpandedIcon$1=registerIcon$1("folding-expanded",Codicon$1.chevronDown,localize$1("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),foldingCollapsedIcon$1=registerIcon$1("folding-collapsed",Codicon$1.chevronRight,localize$1("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),foldingManualCollapsedIcon$1=registerIcon$1("folding-manual-collapsed",foldingCollapsedIcon$1,localize$1("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),foldingManualExpandedIcon$1=registerIcon$1("folding-manual-expanded",foldingExpandedIcon$1,localize$1("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),foldedBackgroundMinimap$1={color:themeColorFromId$1(foldBackground$1),position:1},collapsed$1=localize$1("linesCollapsed","Click to expand the range."),expanded$1=localize$1("linesExpanded","Click to collapse the range.");var Pn;let FoldingDecorationProvider$1=(Pn=class{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?Pn.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?Pn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:Pn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:Pn.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?Pn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Pn.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?Pn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:Pn.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?Pn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:Pn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?Pn.MANUALLY_EXPANDED_VISUAL_DECORATION:Pn.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}},Pn.COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed$1,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingCollapsedIcon$1)}),Pn.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap$1,isWholeLine:!0,linesDecorationsTooltip:collapsed$1,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingCollapsedIcon$1)}),Pn.MANUALLY_COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed$1,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingManualCollapsedIcon$1)}),Pn.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap$1,isWholeLine:!0,linesDecorationsTooltip:collapsed$1,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingManualCollapsedIcon$1)}),Pn.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ModelDecorationOptions$1.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed$1}),Pn.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ModelDecorationOptions$1.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap$1,isWholeLine:!0,linesDecorationsTooltip:collapsed$1}),Pn.EXPANDED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon$1.asClassName(foldingExpandedIcon$1),linesDecorationsTooltip:expanded$1}),Pn.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingExpandedIcon$1),linesDecorationsTooltip:expanded$1}),Pn.MANUALLY_EXPANDED_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon$1.asClassName(foldingManualExpandedIcon$1),linesDecorationsTooltip:expanded$1}),Pn.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions$1.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon$1.asClassName(foldingManualExpandedIcon$1),linesDecorationsTooltip:expanded$1}),Pn.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ModelDecorationOptions$1.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0}),Pn.HIDDEN_RANGE_DECORATION=ModelDecorationOptions$1.register({description:"folding-hidden-range-decoration",stickiness:1}),Pn);const foldingContext$1={},ID_SYNTAX_PROVIDER$1="syntax";let SyntaxRangeProvider$1=class{constructor(e,t,i,r,g){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=r,this.fallbackRangeProvider=g,this.id=ID_SYNTAX_PROVIDER$1,this.disposables=new DisposableStore$1,g&&this.disposables.add(g);for(const y of t)typeof y.onDidChange=="function"&&this.disposables.add(y.onDidChange(i))}compute(e){return collectSyntaxRanges$1(this.providers,this.editorModel,e).then(t=>{var i,r;return t?sanitizeRanges$1(t,this.foldingRangesLimit):(r=(i=this.fallbackRangeProvider)==null?void 0:i.compute(e))!=null?r:null})}dispose(){this.disposables.dispose()}};function collectSyntaxRanges$1(n,e,t){let i=null;const r=n.map((g,y)=>Promise.resolve(g.provideFoldingRanges(e,foldingContext$1,t)).then(k=>{if(!t.isCancellationRequested&&Array.isArray(k)){Array.isArray(i)||(i=[]);const L=e.getLineCount();for(const V of k)V.start>0&&V.end>V.start&&V.end<=L&&i.push({start:V.start,end:V.end,rank:y,kind:V.kind})}},onUnexpectedExternalError$1));return Promise.all(r).then(g=>i)}let RangesCollector$2=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,r){if(e>MAX_LINE_NUMBER$1||t>MAX_LINE_NUMBER$1)return;const g=this._length;this._startIndexes[g]=e,this._endIndexes[g]=t,this._nestingLevels[g]=r,this._types[g]=i,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let r=0;re){i=k;break}t+=L}}const r=new Uint32Array(e),g=new Uint32Array(e),y=[];for(let k=0,L=0;k{let L=y.start-k.start;return L===0&&(L=y.rank-k.rank),L}),i=new RangesCollector$2(e);let r;const g=[];for(const y of t)if(!r)r=y,i.add(y.start,y.end,y.kind&&y.kind.value,g.length);else if(y.start>r.start)if(y.end<=r.end)g.push(r),r=y,i.add(y.start,y.end,y.kind&&y.kind.value,g.length);else{if(y.start>r.end){do r=g.pop();while(r&&y.start>r.end);r&&g.push(r),r=y}i.add(y.start,y.end,y.kind&&y.kind.value,g.length)}return i.toIndentRanges()}var __decorate$3z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3p=function(n,e){return function(t,i){e(t,i,n)}},FoldingController_1$1;const CONTEXT_FOLDING_ENABLED$1=new RawContextKey$1("foldingEnabled",!1);var Ua;let FoldingController$1=(Ua=class extends Disposable$1{static get(e){return e.getContribution(FoldingController_1$1.ID)}static getFoldingRangeProviders(e,t){var r,g;const i=e.foldingRangeProvider.ordered(t);return(g=(r=FoldingController_1$1._foldingRangeSelector)==null?void 0:r.call(FoldingController_1$1,i,t))!=null?g:i}constructor(e,t,i,r,g,y){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=y,this.localToDispose=this._register(new DisposableStore$1),this.editor=e,this._foldingLimitReporter=new RangesLimitReporter$1(e);const k=this.editor.getOptions();this._isEnabled=k.get(43),this._useFoldingProviders=k.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=k.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=k.get(46),this.updateDebounceInfo=g.for(y.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new FoldingDecorationProvider$1(e),this.foldingDecorationProvider.showFoldingControls=k.get(111),this.foldingDecorationProvider.showFoldingHighlights=k.get(45),this.foldingEnabled=CONTEXT_FOLDING_ENABLED$1.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(L=>{if(L.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),L.hasChanged(47)&&this.onModelChanged(),L.hasChanged(111)||L.hasChanged(45)){const V=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=V.get(111),this.foldingDecorationProvider.showFoldingHighlights=V.get(45),this.triggerFoldingModelChanged()}L.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),L.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),L.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new FoldingModel$1(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new HiddenRangeModel$1(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Delayer$1(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new RunOnceScheduler$1(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)==null||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)==null||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)==null||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new IndentRangeProvider$1(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=FoldingController_1$1.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new SyntaxRangeProvider$1(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)==null||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new StopWatch$1,i=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=createCancelablePromise$1(g=>i.compute(g));return r.then(g=>{if(g&&r===this.foldingRegionPromise){let y;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const V=g.setCollapsedAllOfType(FoldingRangeKind$1.Imports.value,!0);V&&(y=StableEditorScrollState$1.capture(this.editor),this._currentModelHasFoldedImports=V)}const k=this.editor.getSelections();e.update(g,toSelectedLines(k)),y==null||y.restore(this.editor);const L=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=L)}return e})}).then(void 0,e=>(onUnexpectedError$1(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const r=[];for(const g of i){const y=g.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(y)&&r.push(...t.getAllRegionsAtLine(y,k=>k.isCollapsed&&y>k.startLineNumber))}r.length&&(t.toggleCollapseState(r),this.reveal(i[0].getPosition()))}}}).then(void 0,onUnexpectedError$1)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const r=e.target.detail,g=e.target.element.offsetLeft;if(r.offsetX-g<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const r=this.editor.getModel();if(r&&t.startColumn===r.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,g=e.target.range;if(!g||g.startLineNumber!==i)return;if(r){if(e.target.type!==4)return}else{const k=this.editor.getModel();if(!k||g.startColumn!==k.getLineMaxColumn(i))return}const y=t.getRegionAtLine(i);if(y&&y.startLineNumber===i){const k=y.isCollapsed;if(r||k){const L=e.event.altKey;let V=[];if(L){const z=ie=>!ie.containedBy(y)&&!y.containedBy(ie),j=t.getRegionsInside(null,z);for(const ie of j)ie.isCollapsed&&V.push(ie);V.length===0&&(V=j)}else{const z=e.event.middleButton||e.event.shiftKey;if(z)for(const j of t.getRegionsInside(y))j.isCollapsed===k&&V.push(j);(k||!z||V.length===0)&&V.push(y)}t.toggleCollapseState(V),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}},FoldingController_1$1=Ua,Ua.ID="editor.contrib.folding",Ua);FoldingController$1=FoldingController_1$1=__decorate$3z([__param$3p(1,IContextKeyService$1),__param$3p(2,ILanguageConfigurationService$1),__param$3p(3,INotificationService$1),__param$3p(4,ILanguageFeatureDebounceService$1),__param$3p(5,ILanguageFeaturesService$1)],FoldingController$1);let RangesLimitReporter$1=class{constructor(e){this.editor=e,this._onDidChange=new Emitter$3,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}},FoldingAction$1=class extends EditorAction$1{runEditorCommand(e,t,i){const r=e.get(ILanguageConfigurationService$1),g=FoldingController$1.get(t);if(!g)return;const y=g.getFoldingModel();if(y)return this.reportTelemetry(e,t),y.then(k=>{if(k){this.invoke(g,k,t,i,r);const L=t.getSelection();L&&g.reveal(L.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}};function toSelectedLines(n){return!n||n.length===0?{startsInside:()=>!1}:{startsInside(e,t){for(const i of n){const r=i.startLineNumber;if(r>=e&&r<=t)return!0}return!1}}}function foldingArgumentsConstraint$1(n){if(!isUndefined$5(n)){if(!isObject$7(n))return!1;const e=n;if(!isUndefined$5(e.levels)&&!isNumber$8(e.levels)||!isUndefined$5(e.direction)&&!isString$7(e.direction)||!isUndefined$5(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(isNumber$8)))return!1}return!0}let UnfoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.unfold",label:localize$1("unfoldAction.label","Unfold"),alias:"Unfold",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n * 'levels': Number of levels to unfold. If not set, defaults to 1.\n * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n ",constraint:foldingArgumentsConstraint$1,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const g=r&&r.levels||1,y=this.getLineNumbers(r,i);r&&r.direction==="up"?setCollapseStateLevelsUp$1(t,!1,g,y):setCollapseStateLevelsDown$1(t,!1,g,y)}},UnFoldRecursivelyAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.unfoldRecursively",label:localize$1("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2142),weight:100}})}invoke(e,t,i,r){setCollapseStateLevelsDown$1(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}},FoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.fold",label:localize$1("foldAction.label","Fold"),alias:"Fold",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n * 'levels': Number of levels to fold.\n * 'direction': If 'up', folds given number of levels up otherwise folds down.\n * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n ",constraint:foldingArgumentsConstraint$1,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const g=this.getLineNumbers(r,i),y=r&&r.levels,k=r&&r.direction;typeof y!="number"&&typeof k!="string"?setCollapseStateUp$1(t,!0,g):k==="up"?setCollapseStateLevelsUp$1(t,!0,y||1,g):setCollapseStateLevelsDown$1(t,!0,y||1,g)}},ToggleFoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.toggleFold",label:localize$1("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2090),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);toggleCollapseState$1(t,1,r)}},FoldRecursivelyAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.foldRecursively",label:localize$1("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2140),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateLevelsDown$1(t,!0,Number.MAX_VALUE,r)}};class ToggleFoldRecursivelyAction extends FoldingAction$1{constructor(){super({id:"editor.toggleFoldRecursively",label:localize$1("toggleFoldRecursivelyAction.label","Toggle Fold Recursively"),alias:"Toggle Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,3114),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);toggleCollapseState$1(t,Number.MAX_VALUE,r)}}let FoldAllBlockCommentsAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.foldAllBlockComments",label:localize$1("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2138),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType$1(t,FoldingRangeKind$1.Comment.value,!0);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).comments;if(k&&k.blockCommentStartToken){const L=new RegExp("^\\s*"+escapeRegExpCharacters$1(k.blockCommentStartToken));setCollapseStateForMatchingLines$1(t,L,!0)}}}},FoldAllRegionsAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.foldAllMarkerRegions",label:localize$1("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2077),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType$1(t,FoldingRangeKind$1.Region.value,!0);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(k&&k.markers&&k.markers.start){const L=new RegExp(k.markers.start);setCollapseStateForMatchingLines$1(t,L,!0)}}}},UnfoldAllRegionsAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:localize$1("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2078),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType$1(t,FoldingRangeKind$1.Region.value,!1);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(k&&k.markers&&k.markers.start){const L=new RegExp(k.markers.start);setCollapseStateForMatchingLines$1(t,L,!1)}}}},FoldAllExceptAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.foldAllExcept",label:localize$1("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2136),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateForRest$1(t,!0,r)}},UnfoldAllExceptAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.unfoldAllExcept",label:localize$1("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2134),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateForRest$1(t,!1,r)}},FoldAllAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.foldAll",label:localize$1("foldAllAction.label","Fold All"),alias:"Fold All",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2069),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown$1(t,!0)}},UnfoldAllAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.unfoldAll",label:localize$1("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2088),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown$1(t,!1)}};var br;let FoldLevelAction$1=(br=class extends FoldingAction$1{getFoldingLevel(){return parseInt(this.id.substr(br.ID_PREFIX.length))}invoke(e,t,i){setCollapseStateAtLevel$1(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}},br.ID_PREFIX="editor.foldLevel",br.ID=e=>br.ID_PREFIX+e,br),GotoParentFoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.gotoParentFold",label:localize$1("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getParentFoldLine$1(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}},GotoPreviousFoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.gotoPreviousFold",label:localize$1("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getPreviousFoldLine$1(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}},GotoNextFoldAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.gotoNextFold",label:localize$1("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getNextFoldLine$1(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}},FoldRangeFromSelectionAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:localize$1("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2135),weight:100}})}invoke(e,t,i){var y;const r=[],g=i.getSelections();if(g){for(const k of g){let L=k.endLineNumber;k.endColumn===1&&--L,L>k.startLineNumber&&(r.push({startLineNumber:k.startLineNumber,endLineNumber:L,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:k.startLineNumber,startColumn:1,endLineNumber:k.startLineNumber,endColumn:1}))}if(r.length>0){r.sort((L,V)=>L.startLineNumber-V.startLineNumber);const k=FoldingRegions$1.sanitizeAndMerge(t.regions,r,(y=i.getModel())==null?void 0:y.getLineCount());t.updatePost(FoldingRegions$1.fromFoldRanges(k))}}}},RemoveFoldRangeFromSelectionAction$1=class extends FoldingAction$1{constructor(){super({id:"editor.removeManualFoldingRanges",label:localize$1("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2137),weight:100}})}invoke(e,t,i){const r=i.getSelections();if(r){const g=[];for(const y of r){const{startLineNumber:k,endLineNumber:L}=y;g.push(L>=k?{startLineNumber:k,endLineNumber:L}:{endLineNumber:L,startLineNumber:k})}t.removeManualRanges(g),e.triggerFoldingModelChanged()}}};registerEditorContribution$1(FoldingController$1.ID,FoldingController$1,0);registerEditorAction$1(UnfoldAction$1);registerEditorAction$1(UnFoldRecursivelyAction$1);registerEditorAction$1(FoldAction$1);registerEditorAction$1(FoldRecursivelyAction$1);registerEditorAction$1(ToggleFoldRecursivelyAction);registerEditorAction$1(FoldAllAction$1);registerEditorAction$1(UnfoldAllAction$1);registerEditorAction$1(FoldAllBlockCommentsAction$1);registerEditorAction$1(FoldAllRegionsAction$1);registerEditorAction$1(UnfoldAllRegionsAction$1);registerEditorAction$1(FoldAllExceptAction$1);registerEditorAction$1(UnfoldAllExceptAction$1);registerEditorAction$1(ToggleFoldAction$1);registerEditorAction$1(GotoParentFoldAction$1);registerEditorAction$1(GotoPreviousFoldAction$1);registerEditorAction$1(GotoNextFoldAction$1);registerEditorAction$1(FoldRangeFromSelectionAction$1);registerEditorAction$1(RemoveFoldRangeFromSelectionAction$1);for(let n=1;n<=7;n++)registerInstantiatedEditorAction$1(new FoldLevelAction$1({id:FoldLevelAction$1.ID(n),label:localize$1("foldLevelAction.label","Fold Level {0}",n),alias:"Fold Level ".concat(n),precondition:CONTEXT_FOLDING_ENABLED$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2048|21+n),weight:100}}));CommandsRegistry$1.registerCommand("_executeFoldingRangeProvider",async function(n,...e){const[t]=e;if(!(t instanceof URI$1))throw illegalArgument$1();const i=n.get(ILanguageFeaturesService$1),r=n.get(IModelService$1).getModel(t);if(!r)throw illegalArgument$1();const g=n.get(IConfigurationService$1);if(!g.getValue("editor.folding",{resource:t}))return[];const y=n.get(ILanguageConfigurationService$1),k=g.getValue("editor.foldingStrategy",{resource:t}),L={get limit(){return g.getValue("editor.foldingMaximumRegions",{resource:t})},update:(oe,re)=>{}},V=new IndentRangeProvider$1(r,y,L);let z=V;if(k!=="indentation"){const oe=FoldingController$1.getFoldingRangeProviders(i,r);oe.length&&(z=new SyntaxRangeProvider$1(r,oe,()=>{},L,V))}const j=await z.compute(CancellationToken$1.None),ie=[];try{if(j)for(let oe=0;oe=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3o=function(n,e){return function(t,i){e(t,i,n)}},nc;let FormatOnType$1=(nc=class{constructor(e,t,i,r){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=r,this._disposables=new DisposableStore$1,this._sessionDisposables=new DisposableStore$1,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(g=>{g.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new CharacterSet$1;for(const r of t.autoFormatTriggerCharacters)i.add(r.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(r=>{const g=r.charCodeAt(r.length-1);i.has(g)&&this._trigger(String.fromCharCode(g))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=new CancellationTokenSource$3,g=this._editor.onDidChangeModelContent(y=>{if(y.isFlush){r.cancel(),g.dispose();return}for(let k=0,L=y.changes.length;k{r.token.isCancellationRequested||isNonEmptyArray$1(y)&&(this._accessibilitySignalService.playSignal(AccessibilitySignal$1.format,{userGesture:!1}),FormattingEdit$1.execute(this._editor,y,!0))}).finally(()=>{g.dispose()})}},nc.ID="editor.contrib.autoFormat",nc);FormatOnType$1=__decorate$3y([__param$3o(1,ILanguageFeaturesService$1),__param$3o(2,IEditorWorkerService$1),__param$3o(3,IAccessibilitySignalService$1)],FormatOnType$1);var oc;let FormatOnPaste$1=(oc=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new DisposableStore$1,this._callOnModel=new DisposableStore$1,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider$1,this.editor,e,2,Progress$2.None,CancellationToken$1.None,!1).catch(onUnexpectedError$1))}},oc.ID="editor.contrib.formatOnPaste",oc);FormatOnPaste$1=__decorate$3y([__param$3o(1,ILanguageFeaturesService$1),__param$3o(2,IInstantiationService$1)],FormatOnPaste$1);let FormatDocumentAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.formatDocument",label:localize$1("formatDocument.label","Format Document"),alias:"Format Document",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.notInCompositeEditor,EditorContextKeys$1.writable,EditorContextKeys$1.hasDocumentFormattingProvider),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(IInstantiationService$1);await e.get(IEditorProgressService$1).showWhile(i.invokeFunction(formatDocumentWithSelectedProvider$1,t,1,Progress$2.None,CancellationToken$1.None,!0),250)}}},FormatSelectionAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.formatSelection",label:localize$1("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2084),weight:100},contextMenuOpts:{when:EditorContextKeys$1.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(IInstantiationService$1),r=t.getModel(),g=t.getSelections().map(k=>k.isEmpty()?new Range$5(k.startLineNumber,1,k.startLineNumber,r.getLineMaxColumn(k.startLineNumber)):k);await e.get(IEditorProgressService$1).showWhile(i.invokeFunction(formatDocumentRangesWithSelectedProvider$1,t,g,1,Progress$2.None,CancellationToken$1.None,!0),250)}};registerEditorContribution$1(FormatOnType$1.ID,FormatOnType$1,2);registerEditorContribution$1(FormatOnPaste$1.ID,FormatOnPaste$1,2);registerEditorAction$1(FormatDocumentAction$1);registerEditorAction$1(FormatSelectionAction$1);CommandsRegistry$1.registerCommand("editor.action.format",async n=>{const e=n.get(ICodeEditorService$1).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=n.get(ICommandService$1);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var __decorate$3x=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3n=function(n,e){return function(t,i){e(t,i,n)}};let TreeElement$1=class{remove(){var e;(e=this.parent)==null||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i="".concat(t.id,"/").concat(e):(i="".concat(t.id,"/").concat(e.name),t.children.get(i)!==void 0&&(i="".concat(t.id,"/").concat(e.name,"_").concat(e.range.startLineNumber,"_").concat(e.range.startColumn)));let r=i;for(let g=0;t.children.get(r)!==void 0;g++)r="".concat(i,"_").concat(g);return r}static empty(e){return e.children.size===0}},OutlineElement$1=class extends TreeElement$1{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}},OutlineGroup$1=class extends TreeElement$1{constructor(e,t,i,r){super(),this.id=e,this.parent=t,this.label=i,this.order=r,this.children=new Map}},OutlineModel$1=class ds extends TreeElement$1{static create(e,t,i){const r=new CancellationTokenSource$3(i),g=new ds(t.uri),y=e.ordered(t),k=y.map((V,z)=>{var oe;const j=TreeElement$1.findId("provider_".concat(z),g),ie=new OutlineGroup$1(j,g,(oe=V.displayName)!=null?oe:"Unknown Outline Provider",z);return Promise.resolve(V.provideDocumentSymbols(t,r.token)).then(re=>{for(const ae of re||[])ds._makeOutlineElement(ae,ie);return ie},re=>(onUnexpectedExternalError$1(re),ie)).then(re=>{TreeElement$1.empty(re)?re.remove():g._groups.set(j,re)})}),L=e.onDidChange(()=>{const V=e.ordered(t);equals$5(V,y)||r.cancel()});return Promise.all(k).then(()=>r.token.isCancellationRequested&&!i.isCancellationRequested?ds.create(e,t,i):g._compact()).finally(()=>{r.dispose(),L.dispose(),r.dispose()})}static _makeOutlineElement(e,t){const i=TreeElement$1.findId(e,t),r=new OutlineElement$1(i,t,e);if(e.children)for(const g of e.children)ds._makeOutlineElement(g,r);t.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Iterable$1.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof OutlineElement$1?e.push(t.symbol):e.push(...Iterable$1.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>Range$5.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return ds._flattenDocumentSymbols(t,e,""),t.sort((i,r)=>Position$3.compare(Range$5.getStartPosition(i.range),Range$5.getStartPosition(r.range))||Position$3.compare(Range$5.getEndPosition(r.range),Range$5.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const r of t)e.push({kind:r.kind,tags:r.tags,name:r.name,detail:r.detail,containerName:r.containerName||i,range:r.range,selectionRange:r.selectionRange,children:void 0}),r.children&&ds._flattenDocumentSymbols(e,r.children,r.name)}};const IOutlineModelService$1=createDecorator$1("IOutlineModelService");let OutlineModelService$1=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new DisposableStore$1,this._cache=new LRUCache$1(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(r=>{this._cache.delete(r.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,r=i.ordered(e);let g=this._cache.get(e.id);if(!g||g.versionId!==e.getVersionId()||!equals$5(g.provider,r)){const k=new CancellationTokenSource$3;g={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:k,promise:OutlineModel$1.create(i,e,k.token),model:void 0},this._cache.set(e.id,g);const L=Date.now();g.promise.then(V=>{g.model=V,this._debounceInformation.update(e,Date.now()-L)}).catch(V=>{this._cache.delete(e.id)})}if(g.model)return g.model;g.promiseCnt+=1;const y=t.onCancellationRequested(()=>{--g.promiseCnt===0&&(g.source.cancel(),this._cache.delete(e.id))});try{return await g.promise}finally{y.dispose()}}};OutlineModelService$1=__decorate$3x([__param$3n(0,ILanguageFeaturesService$1),__param$3n(1,ILanguageFeatureDebounceService$1),__param$3n(2,IModelService$1)],OutlineModelService$1);registerSingleton$1(IOutlineModelService$1,OutlineModelService$1,1);CommandsRegistry$1.registerCommand("_executeDocumentSymbolProvider",async function(n,...e){const[t]=e;assertType$1(URI$1.isUri(t));const i=n.get(IOutlineModelService$1),g=await n.get(ITextModelService$1).createModelReference(t);try{return(await i.getOrCreate(g.object.textEditorModel,CancellationToken$1.None)).getTopLevelSymbols()}finally{g.dispose()}});var uo;let InlineCompletionContextKeys$1=(uo=class extends Disposable$1{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=uo.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=uo.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=uo.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=uo.suppressSuggestions.bindTo(this.contextKeyService),this._register(autorun$1(i=>{const r=this.model.read(i),g=r==null?void 0:r.state.read(i),y=!!(g!=null&&g.inlineCompletion)&&(g==null?void 0:g.primaryGhostText)!==void 0&&!(g!=null&&g.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(y),g!=null&&g.primaryGhostText&&(g!=null&&g.inlineCompletion)&&this.suppressSuggestions.set(g.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(autorun$1(i=>{const r=this.model.read(i);let g=!1,y=!0;const k=r==null?void 0:r.primaryGhostText.read(i);if(r!=null&&r.selectedSuggestItem&&k&&k.parts.length>0){const{column:L,lines:V}=k.parts[0],z=V[0],j=r.textModel.getLineIndentColumn(k.lineNumber);if(L<=j){let oe=firstNonWhitespaceIndex$1(z);oe===-1&&(oe=z.length-1),g=oe>0;const re=r.textModel.getOptions().tabSize;y=CursorColumns$1.visibleColumnFromColumn(z,oe+1,re){t.setStyle(n.read(i))})),e}let GhostText$1=class{constructor(e,t){this.lineNumber=e,this.parts=t}equals(e){return this.lineNumber===e.lineNumber&&this.parts.length===e.parts.length&&this.parts.every((t,i)=>t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new TextEdit$1([...this.parts.map(g=>new SingleTextEdit$1(Range$5.fromPositions(new Position$3(1,g.column)),g.lines.join("\n")))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}},GhostTextPart$1=class{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=splitLines$1(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}},GhostTextReplacement$1=class{constructor(e,t,i,r=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=r,this.parts=[new GhostTextPart$1(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=splitLines$1(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}};function ghostTextsOrReplacementsEqual$1(n,e){return equals$5(n,e,ghostTextOrReplacementEquals$1)}function ghostTextOrReplacementEquals$1(n,e){return n===e?!0:!n||!e?!1:n instanceof GhostText$1&&e instanceof GhostText$1||n instanceof GhostTextReplacement$1&&e instanceof GhostTextReplacement$1?n.equals(e):!1}const array$1=[];function getReadonlyEmptyArray$1(){return array$1}let ColumnRange$1=class{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new BugIndicatingError$1("startColumn ".concat(e," cannot be after endColumnExclusive ").concat(t))}toRange(e){return new Range$5(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}};function applyObservableDecorations$2(n,e){const t=new DisposableStore$1,i=n.createDecorationsCollection();return t.add(autorunOpts$1({debugName:()=>"Apply decorations from ".concat(e.debugName)},r=>{const g=e.read(r);i.set(g)})),t.add({dispose:()=>{i.clear()}}),t}function addPositions$1(n,e){return new Position$3(n.lineNumber+e.lineNumber-1,e.lineNumber===1?n.column+e.column-1:e.column)}function subtractPositions$1(n,e){return new Position$3(n.lineNumber-e.lineNumber+1,n.lineNumber-e.lineNumber===0?n.column-e.column+1:n.column)}var __decorate$3w=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3m=function(n,e){return function(t,i){e(t,i,n)}};const GHOST_TEXT_DESCRIPTION$1="ghost-text";let GhostTextView=class extends Disposable$1{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue$1(this,!1),this.currentTextModel=observableFromEvent$1(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived$1(this,r=>{if(this.isDisposed.read(r))return;const g=this.currentTextModel.read(r);if(g!==this.model.targetTextModel.read(r))return;const y=this.model.ghostText.read(r);if(!y)return;const k=y instanceof GhostTextReplacement$1?y.columnRange:void 0,L=[],V=[];function z(ae,le){if(V.length>0){const de=V[V.length-1];le&&de.decorations.push(new LineDecoration$1(de.content.length+1,de.content.length+1+ae[0].length,le,0)),de.content+=ae[0],ae=ae.slice(1)}for(const de of ae)V.push({content:de,decorations:le?[new LineDecoration$1(1,de.length+1,le,0)]:[]})}const j=g.getLineContent(y.lineNumber);let ie,oe=0;for(const ae of y.parts){let le=ae.lines;ie===void 0?(L.push({column:ae.column,text:le[0],preview:ae.preview}),le=le.slice(1)):z([j.substring(oe,ae.column-1)],void 0),le.length>0&&(z(le,GHOST_TEXT_DESCRIPTION$1),ie===void 0&&ae.column<=j.length&&(ie=ae.column)),oe=ae.column-1}ie!==void 0&&z([j.substring(oe)],void 0);const re=ie!==void 0?new ColumnRange$1(ie,j.length+1):void 0;return{replacedRange:k,inlineTexts:L,additionalLines:V,hiddenRange:re,lineNumber:y.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:g}}),this.decorations=derived$1(this,r=>{const g=this.uiState.read(r);if(!g)return[];const y=[];g.replacedRange&&y.push({range:g.replacedRange.toRange(g.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),g.hiddenRange&&y.push({range:g.hiddenRange.toRange(g.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const k of g.inlineTexts)y.push({range:Range$5.fromPositions(new Position$3(g.lineNumber,k.column)),options:{description:GHOST_TEXT_DESCRIPTION$1,after:{content:k.text,inlineClassName:k.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:InjectedTextCursorStops$2.Left},showIfCollapsed:!0}});return y}),this.additionalLinesWidget=this._register(new AdditionalLinesWidget$1(this.editor,this.languageService.languageIdCodec,derived$1(r=>{const g=this.uiState.read(r);return g?{lineNumber:g.lineNumber,additionalLines:g.additionalLines,minReservedLineCount:g.additionalReservedLineCount,targetTextModel:g.targetTextModel}:void 0}))),this._register(toDisposable$1(()=>{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations$2(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};GhostTextView=__decorate$3w([__param$3m(2,ILanguageService$1)],GhostTextView);let AdditionalLinesWidget$1=class extends Disposable$1{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=observableSignalFromEvent$1("editorOptionChanged",Event$2.filter(this.editor.onDidChangeConfiguration,r=>r.hasChanged(33)||r.hasChanged(118)||r.hasChanged(100)||r.hasChanged(95)||r.hasChanged(51)||r.hasChanged(50)||r.hasChanged(67))),this._register(autorun$1(r=>{const g=this.lines.read(r);this.editorOptionsChanged.read(r),g?this.updateLines(g.lineNumber,g.additionalLines,g.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const r=this.editor.getModel();if(!r)return;const{tabSize:g}=r.getOptions();this.editor.changeViewZones(y=>{this._viewZoneId&&(y.removeZone(this._viewZoneId),this._viewZoneId=void 0);const k=Math.max(t.length,i);if(k>0){const L=document.createElement("div");renderLines$2(L,g,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=y.addZone({afterLineNumber:e,heightInLines:k,domNode:L,afterColumnAffinity:1})}})}};function renderLines$2(n,e,t,i,r){const g=i.get(33),y=i.get(118),k="none",L=i.get(95),V=i.get(51),z=i.get(50),j=i.get(67),ie=new StringBuilder$1(1e4);ie.appendString('
    ');for(let ae=0,le=t.length;ae');const he=isBasicASCII$1(ue),pe=containsRTL$1(ue),Ce=LineTokens$1.createEmpty(ue,r);renderViewLine$1(new RenderLineInput$1(z.isMonospace&&!g,z.canUseHalfwidthRightwardsArrow,ue,!1,he,pe,0,Ce,de.decorations,e,0,z.spaceWidth,z.middotWidth,z.wsmiddotWidth,y,k,L,V!==EditorFontLigatures$1.OFF,null),ie),ie.appendString("
    ")}ie.appendString(""),applyFontInfo$1(n,z);const oe=ie.build(),re=ttPolicy$5?ttPolicy$5.createHTML(oe):oe;n.innerHTML=re}const ttPolicy$5=createTrustedTypesPolicy$1("editorGhostText",{createHTML:n=>n});function fixBracketsInLine$1(n,e){const t=new DenseKeyProvider$1,i=new LanguageAgnosticBracketTokens$1(t,V=>e.getLanguageConfiguration(V)),r=new TextBufferTokenizer$1(new StaticTokenizerSource$1([n]),i),g=parseDocument$1(r,[],void 0,!0);let y="";const k=n.getLineContent();function L(V,z){if(V.kind===2)if(L(V.openingBracket,z),z=lengthAdd$1(z,V.openingBracket.length),V.child&&(L(V.child,z),z=lengthAdd$1(z,V.child.length)),V.closingBracket)L(V.closingBracket,z),z=lengthAdd$1(z,V.closingBracket.length);else{const ie=i.getSingleLanguageBracketTokens(V.openingBracket.languageId).findClosingTokenText(V.openingBracket.bracketIds);y+=ie}else if(V.kind!==3){if(V.kind===0||V.kind===1)y+=k.substring(z,lengthAdd$1(z,V.length));else if(V.kind===4)for(const j of V.children)L(j,z),z=lengthAdd$1(z,j.length)}}return L(g,lengthZero$1),y}let StaticTokenizerSource$1=class{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}};async function provideInlineCompletions$1(n,e,t,i,r=CancellationToken$1.None,g){const y=e instanceof Position$3?getDefaultRange$1(e,t):e,k=n.all(t),L=new SetMap$1;for(const de of k)de.groupId&&L.add(de.groupId,de);function V(de){if(!de.yieldsToGroupIds)return[];const ue=[];for(const he of de.yieldsToGroupIds||[]){const pe=L.get(he);for(const Ce of pe)ue.push(Ce)}return ue}const z=new Map,j=new Set;function ie(de,ue){if(ue=[...ue,de],j.has(de))return ue;j.add(de);try{const he=V(de);for(const pe of he){const Ce=ie(pe,ue);if(Ce)return Ce}}finally{j.delete(de)}}function oe(de){const ue=z.get(de);if(ue)return ue;const he=ie(de,[]);he&&onUnexpectedExternalError$1(new Error("Inline completions: cyclic yield-to dependency detected. Path: ".concat(he.map(Ce=>Ce.toString?Ce.toString():""+Ce).join(" -> "))));const pe=new DeferredPromise$1;return z.set(de,pe.p),(async()=>{var Ce;if(!he){const $e=V(de);for(const xe of $e){const Ie=await oe(xe);if(Ie&&Ie.items.length>0)return}}try{return e instanceof Position$3?await de.provideInlineCompletions(t,e,i,r):await((Ce=de.provideInlineEdits)==null?void 0:Ce.call(de,t,e,i,r))}catch($e){onUnexpectedExternalError$1($e);return}})().then(Ce=>pe.complete(Ce),Ce=>pe.error(Ce)),pe.p}const re=await Promise.all(k.map(async de=>({provider:de,completions:await oe(de)}))),ae=new Map,le=[];for(const de of re){const ue=de.completions;if(!ue)continue;const he=new InlineCompletionList$1(ue,de.provider);le.push(he);for(const pe of ue.items){const Ce=InlineCompletionItem$1.from(pe,he,y,t,g);ae.set(Ce.hash(),Ce)}}return new InlineCompletionProviderResult$1(Array.from(ae.values()),new Set(ae.keys()),le)}let InlineCompletionProviderResult$1=class{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}},InlineCompletionList$1=class{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}},InlineCompletionItem$1=class Gd{static from(e,t,i,r,g){let y,k,L=e.range?Range$5.lift(e.range):i;if(typeof e.insertText=="string"){if(y=e.insertText,g&&e.completeBracketPairs){y=closeBrackets$1(y,L.getStartPosition(),r,g);const V=y.length-e.insertText.length;V!==0&&(L=new Range$5(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+V))}k=void 0}else if("snippet"in e.insertText){const V=e.insertText.snippet.length;if(g&&e.completeBracketPairs){e.insertText.snippet=closeBrackets$1(e.insertText.snippet,L.getStartPosition(),r,g);const j=e.insertText.snippet.length-V;j!==0&&(L=new Range$5(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+j))}const z=new SnippetParser$1().parse(e.insertText.snippet);z.children.length===1&&z.children[0]instanceof Text$1?(y=z.children[0].value,k=void 0):(y=z.toString(),k={snippet:e.insertText.snippet,range:L})}else assertNever$1(e.insertText);return new Gd(y,e.command,L,y,k,e.additionalTextEdits||getReadonlyEmptyArray$1(),e,t)}constructor(e,t,i,r,g,y,k,L){this.filterText=e,this.command=t,this.range=i,this.insertText=r,this.snippetInfo=g,this.additionalTextEdits=y,this.sourceInlineCompletion=k,this.source=L,e=e.replace(/\r\n|\r/g,"\n"),r=e.replace(/\r\n|\r/g,"\n")}withRange(e){return new Gd(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}toSingleTextEdit(){return new SingleTextEdit$1(this.range,this.insertText)}};function getDefaultRange$1(n,e){const t=e.getWordAtPosition(n),i=e.getLineMaxColumn(n.lineNumber);return t?new Range$5(n.lineNumber,t.startColumn,n.lineNumber,i):Range$5.fromPositions(n,n.with(void 0,i))}function closeBrackets$1(n,e,t,i){const g=t.getLineContent(e.lineNumber).substring(0,e.column-1)+n,y=t.tokenization.tokenizeLineWithEdit(e,g.length-(e.column-1),n),k=y==null?void 0:y.sliceAndInflate(e.column-1,g.length,0);return k?fixBracketsInLine$1(k,i):n}function singleTextRemoveCommonPrefix$1(n,e,t){const i=t?n.range.intersectRanges(t):n.range;if(!i)return n;const r=e.getValueInRange(i,1),g=commonPrefixLength$1(r,n.text),y=TextLength$1.ofText(r.substring(0,g)).addToPosition(n.range.getStartPosition()),k=n.text.substring(g),L=Range$5.fromPositions(y,n.range.getEndPosition());return new SingleTextEdit$1(L,k)}function singleTextEditAugments$1(n,e){return n.text.startsWith(e.text)&&rangeExtends$1(n.range,e.range)}function computeGhostText$1(n,e,t,i,r=0){let g=singleTextRemoveCommonPrefix$1(n,e);if(g.range.endLineNumber!==g.range.startLineNumber)return;const y=e.getLineContent(g.range.startLineNumber),k=getLeadingWhitespace$1(y).length;if(g.range.startColumn-1<=k){const re=getLeadingWhitespace$1(g.text).length,ae=y.substring(g.range.startColumn-1,k),[le,de]=[g.range.getStartPosition(),g.range.getEndPosition()],ue=le.column+ae.length<=de.column?le.delta(0,ae.length):de,he=Range$5.fromPositions(ue,de),pe=g.text.startsWith(ae)?g.text.substring(ae.length):g.text.substring(re);g=new SingleTextEdit$1(he,pe)}const V=e.getValueInRange(g.range),z=cachingDiff$1(V,g.text);if(!z)return;const j=g.range.startLineNumber,ie=new Array;if(t==="prefix"){const re=z.filter(ae=>ae.originalLength===0);if(re.length>1||re.length===1&&re[0].originalStart!==V.length)return}const oe=g.text.length-r;for(const re of z){const ae=g.range.startColumn+re.originalStart+re.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===g.range.startLineNumber&&ae0)return;if(re.modifiedLength===0)continue;const le=re.modifiedStart+re.modifiedLength,de=Math.max(re.modifiedStart,Math.min(le,oe)),ue=g.text.substring(re.modifiedStart,de),he=g.text.substring(de,Math.max(re.modifiedStart,le));ue.length>0&&ie.push(new GhostTextPart$1(ae,ue,!1)),he.length>0&&ie.push(new GhostTextPart$1(ae,he,!0))}return new GhostText$1(j,ie)}function rangeExtends$1(n,e){return e.getStartPosition().equals(n.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(n.getEndPosition())}let lastRequest$1;function cachingDiff$1(n,e){if((lastRequest$1==null?void 0:lastRequest$1.originalValue)===n&&(lastRequest$1==null?void 0:lastRequest$1.newValue)===e)return lastRequest$1==null?void 0:lastRequest$1.changes;{let t=smartDiff$1(n,e,!0);if(t){const i=deletedCharacters$1(t);if(i>0){const r=smartDiff$1(n,e,!1);r&&deletedCharacters$1(r)5e3||e.length>5e3)return;function i(V){let z=0;for(let j=0,ie=V.length;jz&&(z=oe)}return z}const r=Math.max(i(n),i(e));function g(V){if(V<0)throw new Error("unexpected");return r+V+1}function y(V){let z=0,j=0;const ie=new Int32Array(V.length);for(let oe=0,re=V.length;oek},{getElements:()=>L}).ComputeDiff(!1).changes}var __decorate$3v=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3l=function(n,e){return function(t,i){e(t,i,n)}};let InlineCompletionsSource$1=class extends Disposable$1{constructor(e,t,i,r,g){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=r,this.languageConfigurationService=g,this._updateOperation=this._register(new MutableDisposable$1),this.inlineCompletions=disposableObservableValue$1("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=disposableObservableValue$1("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var z,j;const r=new UpdateRequest$1(e,t,this.textModel.getVersionId()),g=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if((z=this._updateOperation.value)!=null&&z.request.satisfies(r))return this._updateOperation.value.promise;if((j=g.get())!=null&&j.request.satisfies(r))return Promise.resolve(!0);const y=!!this._updateOperation.value;this._updateOperation.clear();const k=new CancellationTokenSource$3,L=(async()=>{if((y||t.triggerKind===InlineCompletionTriggerKind$3.Automatic)&&await wait$3(this._debounceValue.get(this.textModel),k.token),k.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==r.versionId)return!1;const oe=new Date,re=await provideInlineCompletions$1(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,k.token,this.languageConfigurationService);if(k.token.isCancellationRequested||this._store.isDisposed||this.textModel.getVersionId()!==r.versionId)return!1;const ae=new Date;this._debounceValue.update(this.textModel,ae.getTime()-oe.getTime());const le=new UpToDateInlineCompletions$1(re,r,this.textModel,this.versionId);if(i){const de=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!re.has(de)&&le.prepend(i.inlineCompletion,de.range,!0)}return this._updateOperation.clear(),transaction$1(de=>{g.set(le,de)}),!0})(),V=new UpdateOperation$1(r,k,L);return this._updateOperation.value=V,L}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;(t=this._updateOperation.value)!=null&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};InlineCompletionsSource$1=__decorate$3v([__param$3l(3,ILanguageFeaturesService$1),__param$3l(4,ILanguageConfigurationService$1)],InlineCompletionsSource$1);function wait$3(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}let UpdateRequest$1=class{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&equalsIfDefined(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,itemEquals())&&(e.context.triggerKind===InlineCompletionTriggerKind$3.Automatic||this.context.triggerKind===InlineCompletionTriggerKind$3.Explicit)&&this.versionId===e.versionId}},UpdateOperation$1=class{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}},UpToDateInlineCompletions$1=class{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,r){this.inlineCompletionProviderResult=e,this.request=t,this._textModel=i,this._versionId=r,this._refCount=1,this._prependedInlineCompletionItems=[];const g=i.deltaDecorations([],e.completions.map(y=>({range:y.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((y,k)=>new InlineCompletionWithUpdatedRange$1(y,g[k],this._textModel,this._versionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this._textModel.isDisposed()||this._textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const r=this._textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new InlineCompletionWithUpdatedRange$1(e,r,this._textModel,this._versionId)),this._prependedInlineCompletionItems.push(e)}},InlineCompletionWithUpdatedRange$1=class{get forwardStable(){var e;return(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)!=null?e:!1}constructor(e,t,i,r){this.inlineCompletion=e,this.decorationId=t,this._textModel=i,this._modelVersion=r,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._updatedRange=derivedOpts$1({owner:this,equalsFn:Range$5.equalsRange},g=>(this._modelVersion.read(g),this._textModel.getDecorationRange(this.decorationId)))}toInlineCompletion(e){var t;return this.inlineCompletion.withRange((t=this._updatedRange.read(e))!=null?t:emptyRange)}toSingleTextEdit(e){var t;return new SingleTextEdit$1((t=this._updatedRange.read(e))!=null?t:emptyRange,this.inlineCompletion.insertText)}isVisible(e,t,i){const r=singleTextRemoveCommonPrefix$1(this._toFilterTextReplacement(i),e),g=this._updatedRange.read(i);if(!g||!this.inlineCompletion.range.getStartPosition().equals(g.getStartPosition())||t.lineNumber!==r.range.startLineNumber)return!1;const y=e.getValueInRange(r.range,1),k=r.text,L=Math.max(0,t.column-r.range.startColumn);let V=k.substring(0,L),z=k.substring(L),j=y.substring(0,L),ie=y.substring(L);const oe=e.getLineIndentColumn(r.range.startLineNumber);return r.range.startColumn<=oe&&(j=j.trimStart(),j.length===0&&(ie=ie.trimStart()),V=V.trimStart(),V.length===0&&(z=z.trimStart())),V.startsWith(j)&&!!matchesSubString$1(ie,z)}canBeReused(e,t){const i=this._updatedRange.read(void 0);return!!i&&i.containsPosition(t)&&this.isVisible(e,t,void 0)&&TextLength$1.ofRange(i).isGreaterThanOrEqualTo(TextLength$1.ofRange(this.inlineCompletion.range))}_toFilterTextReplacement(e){var t;return new SingleTextEdit$1((t=this._updatedRange.read(e))!=null?t:emptyRange,this.inlineCompletion.filterText)}};const emptyRange=new Range$5(1,1,1,1),Context$4={Visible:historyNavigationVisible$1,HasFocusedSuggestion:new RawContextKey$1("suggestWidgetHasFocusedSuggestion",!1,localize$1("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new RawContextKey$1("suggestWidgetDetailsVisible",!1,localize$1("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new RawContextKey$1("suggestWidgetMultipleSuggestions",!1,localize$1("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new RawContextKey$1("suggestionMakesTextEdit",!0,localize$1("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new RawContextKey$1("acceptSuggestionOnEnter",!0,localize$1("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new RawContextKey$1("suggestionHasInsertAndReplaceRange",!1,localize$1("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new RawContextKey$1("suggestionInsertMode",void 0,{type:"string",description:localize$1("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new RawContextKey$1("suggestionCanResolve",!1,localize$1("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},suggestWidgetStatusbarMenu$1=new MenuId$1("suggestWidgetStatusBar");let CompletionItem$1=class{constructor(e,t,i,r){var g;this.position=e,this.completion=t,this.container=i,this.provider=r,this.isInvalid=!1,this.score=FuzzyScore$1.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(g=t.label)==null?void 0:g.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Range$5.isIRange(t.range)?(this.editStart=new Position$3(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Position$3(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Position$3(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Range$5.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Position$3(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Position$3(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Position$3(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Range$5.spansMultipleLines(t.range.insert)||Range$5.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new StopWatch$1(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(r=>{Object.assign(this.completion,r),this._resolveDuration=i.elapsed()},r=>{isCancellationError$1(r)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}};var Ka;let CompletionOptions$1=(Ka=class{constructor(e=2,t=new Set,i=new Set,r=new Map,g=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=r,this.showDeprecated=g}},Ka.default=new Ka,Ka),CompletionItemModel$1=class{constructor(e,t,i,r){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=r}};async function provideSuggestionItems$1(n,e,t,i=CompletionOptions$1.default,r={triggerKind:0},g=CancellationToken$1.None){const y=new StopWatch$1;t=t.clone();const k=e.getWordAtPosition(t),L=k?new Range$5(t.lineNumber,k.startColumn,t.lineNumber,k.endColumn):Range$5.fromPositions(t),V={replace:L,insert:L.setEndPosition(t.lineNumber,t.column)},z=[],j=new DisposableStore$1,ie=[];let oe=!1;const re=(le,de,ue)=>{var pe,Ce,$e;let he=!1;if(!de)return he;for(const xe of de.suggestions)if(!i.kindFilter.has(xe.kind)){if(!i.showDeprecated&&((pe=xe==null?void 0:xe.tags)!=null&&pe.includes(1)))continue;xe.range||(xe.range=V),xe.sortText||(xe.sortText=typeof xe.label=="string"?xe.label:xe.label.label),!oe&&xe.insertTextRules&&xe.insertTextRules&4&&(oe=SnippetParser$1.guessNeedsClipboard(xe.insertText)),z.push(new CompletionItem$1(t,xe,de,le)),he=!0}return isDisposable$1(de)&&j.add(de),ie.push({providerName:(Ce=le._debugDisplayName)!=null?Ce:"unknown_provider",elapsedProvider:($e=de.duration)!=null?$e:-1,elapsedOverall:ue.elapsed()}),he},ae=(async()=>{})();for(const le of n.orderedGroups(e)){let de=!1;if(await Promise.all(le.map(async ue=>{if(i.providerItemsToReuse.has(ue)){const he=i.providerItemsToReuse.get(ue);he.forEach(pe=>z.push(pe)),de=de||he.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(ue)))try{const he=new StopWatch$1,pe=await ue.provideCompletionItems(e,t,r,g);de=re(ue,pe,he)||de}catch(he){onUnexpectedExternalError$1(he)}})),de||g.isCancellationRequested)break}return await ae,g.isCancellationRequested?(j.dispose(),Promise.reject(new CancellationError$1)):new CompletionItemModel$1(z.sort(getSuggestionComparator$1(i.snippetSortOrder)),oe,{entries:ie,elapsed:y.elapsed()},j)}function defaultComparator$1(n,e){if(n.sortTextLow&&e.sortTextLow){if(n.sortTextLowe.sortTextLow)return 1}return n.textLabele.textLabel?1:n.completion.kind-e.completion.kind}function snippetUpComparator$1(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return defaultComparator$1(n,e)}function snippetDownComparator$1(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return defaultComparator$1(n,e)}const _snippetComparators$1=new Map;_snippetComparators$1.set(0,snippetUpComparator$1);_snippetComparators$1.set(2,snippetDownComparator$1);_snippetComparators$1.set(1,defaultComparator$1);function getSuggestionComparator$1(n){return _snippetComparators$1.get(n)}CommandsRegistry$1.registerCommand("_executeCompletionItemProvider",async(n,...e)=>{const[t,i,r,g]=e;assertType$1(URI$1.isUri(t)),assertType$1(Position$3.isIPosition(i)),assertType$1(typeof r=="string"||!r),assertType$1(typeof g=="number"||!g);const{completionProvider:y}=n.get(ILanguageFeaturesService$1),k=await n.get(ITextModelService$1).createModelReference(t);try{const L={incomplete:!1,suggestions:[]},V=[],z=k.object.textEditorModel.validatePosition(i),j=await provideSuggestionItems$1(y,k.object.textEditorModel,z,void 0,{triggerCharacter:r!=null?r:void 0,triggerKind:r?1:0});for(const ie of j.items)V.length<(g!=null?g:0)&&V.push(ie.resolve(CancellationToken$1.None)),L.incomplete=L.incomplete||ie.container.incomplete,L.suggestions.push(ie.completion);try{return await Promise.all(V),L}finally{setTimeout(()=>j.disposable.dispose(),100)}}finally{k.dispose()}});function showSimpleSuggestions$1(n,e){var t;(t=n.getContribution("editor.contrib.suggestController"))==null||t.triggerSuggest(new Set().add(e),void 0,!0)}let QuickSuggestionsOptions$1=class{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}};function normalizeDriveLetter$1(n,e=isWindows$1){return hasDriveLetter$1(n,e)?n.charAt(0).toUpperCase()+n.slice(1):n}var __decorate$3u=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3k=function(n,e){return function(t,i){e(t,i,n)}};let CompositeSnippetVariableResolver$1=class{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}},SelectionBasedVariableResolver$1=class{constructor(e,t,i,r){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=r}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,r=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const g=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);g&&(i=g.value,r=g.multiline)}if(i&&r&&e.snippet){const g=this._model.getLineContent(this._selection.startLineNumber),y=getLeadingWhitespace$1(g,0,this._selection.startColumn-1);let k=y;e.snippet.walk(V=>V===e?!1:(V instanceof Text$1&&(k=getLeadingWhitespace$1(splitLines$1(V.value).pop())),!0));const L=commonPrefixLength$1(k,y);i=i.replace(/(\r\n|\r|\n)(.*)/g,(V,z,j)=>"".concat(z).concat(k.substr(L)).concat(j))}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}},ModelBasedVariableResolver$1=class{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return basename$3(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=basename$3(this._model.uri.fsPath),r=i.lastIndexOf(".");return r<=0?i:i.slice(0,r)}else{if(t==="TM_DIRECTORY")return dirname$3(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(dirname$2(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}},ClipboardBasedVariableResolver$1=class{constructor(e,t,i,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=r}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(r=>!isFalsyOrWhitespace$1(r));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}},CommentBasedVariableResolver$1=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(r){if(t==="LINE_COMMENT")return r.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return r.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return r.blockCommentEndToken||void 0}}};CommentBasedVariableResolver$1=__decorate$3u([__param$3k(2,ILanguageConfigurationService$1)],CommentBasedVariableResolver$1);var ho;let TimeBasedVariableResolver$1=(ho=class{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return ho.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return ho.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return ho.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return ho.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),r=i>0?"-":"+",g=Math.trunc(Math.abs(i/60)),y=g<10?"0"+g:g,k=Math.abs(i)-g*60,L=k<10?"0"+k:k;return r+y+":"+L}}},ho.dayNames=[localize$1("Sunday","Sunday"),localize$1("Monday","Monday"),localize$1("Tuesday","Tuesday"),localize$1("Wednesday","Wednesday"),localize$1("Thursday","Thursday"),localize$1("Friday","Friday"),localize$1("Saturday","Saturday")],ho.dayNamesShort=[localize$1("SundayShort","Sun"),localize$1("MondayShort","Mon"),localize$1("TuesdayShort","Tue"),localize$1("WednesdayShort","Wed"),localize$1("ThursdayShort","Thu"),localize$1("FridayShort","Fri"),localize$1("SaturdayShort","Sat")],ho.monthNames=[localize$1("January","January"),localize$1("February","February"),localize$1("March","March"),localize$1("April","April"),localize$1("May","May"),localize$1("June","June"),localize$1("July","July"),localize$1("August","August"),localize$1("September","September"),localize$1("October","October"),localize$1("November","November"),localize$1("December","December")],ho.monthNamesShort=[localize$1("JanuaryShort","Jan"),localize$1("FebruaryShort","Feb"),localize$1("MarchShort","Mar"),localize$1("AprilShort","Apr"),localize$1("MayShort","May"),localize$1("JuneShort","Jun"),localize$1("JulyShort","Jul"),localize$1("AugustShort","Aug"),localize$1("SeptemberShort","Sep"),localize$1("OctoberShort","Oct"),localize$1("NovemberShort","Nov"),localize$1("DecemberShort","Dec")],ho),WorkspaceBasedVariableResolver$1=class{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=toWorkspaceIdentifier$1(this._workspaceService.getWorkspace());if(!isEmptyWorkspaceIdentifier$1(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(isSingleFolderWorkspaceIdentifier$1(e))return basename$3(e.uri.path);let t=basename$3(e.configPath.path);return t.endsWith(WORKSPACE_EXTENSION$1)&&(t=t.substr(0,t.length-WORKSPACE_EXTENSION$1.length-1)),t}_resoveWorkspacePath(e){if(isSingleFolderWorkspaceIdentifier$1(e))return normalizeDriveLetter$1(e.uri.fsPath);const t=basename$3(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?normalizeDriveLetter$1(i):"/"}},RandomBasedVariableResolver$1=class{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return generateUuid$1()}};var __decorate$3t=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3j=function(n,e){return function(t,i){e(t,i,n)}},SnippetSession_1$1,oo;let OneSnippet$1=(oo=class{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=groupBy$2(t.placeholders,Placeholder$1.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const r=this._snippet.offset(i),g=this._snippet.fullLen(i),y=Range$5.fromPositions(e.getPositionAt(this._offset+r),e.getPositionAt(this._offset+r+g)),k=i.isFinalTabstop?oo._decor.inactiveFinal:oo._decor.inactive,L=t.addDecoration(y,k);this._placeholderDecorations.set(i,L)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const r=[];for(const g of this._placeholderGroups[this._placeholderGroupsIdx])if(g.transform){const y=this._placeholderDecorations.get(g),k=this._editor.getModel().getDecorationRange(y),L=this._editor.getModel().getValueInRange(k),V=g.transform.resolve(L).split(/\r\n|\r|\n/);for(let z=1;z0&&this._editor.executeEdits("snippet.placeholderTransform",r)}let t=!1;e===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(r=>{const g=new Set,y=[];for(const k of this._placeholderGroups[this._placeholderGroupsIdx]){const L=this._placeholderDecorations.get(k),V=this._editor.getModel().getDecorationRange(L);y.push(new Selection$3(V.startLineNumber,V.startColumn,V.endLineNumber,V.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(k),r.changeDecorationOptions(L,k.isFinalTabstop?oo._decor.activeFinal:oo._decor.active),g.add(k);for(const z of this._snippet.enclosingPlaceholders(k)){const j=this._placeholderDecorations.get(z);r.changeDecorationOptions(j,z.isFinalTabstop?oo._decor.activeFinal:oo._decor.active),g.add(z)}}for(const[k,L]of this._placeholderDecorations)g.has(k)||r.changeDecorationOptions(L,k.isFinalTabstop?oo._decor.inactiveFinal:oo._decor.inactive);return y});return t?this.move(e):i!=null?i:[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Placeholder$1){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const r of t){if(r.isFinalTabstop)break;i||(i=[],e.set(r.index,i));const g=this._placeholderDecorations.get(r),y=this._editor.getModel().getDecorationRange(g);if(!y){e.delete(r.index);break}i.push(y)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Choice$1,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const r of this._placeholderGroups[this._placeholderGroupsIdx]){const g=e.shift();console.assert(g._offset!==-1),console.assert(!g._placeholderDecorations);const y=g._snippet.placeholderInfo.last.index;for(const L of g._snippet.placeholderInfo.all)L.isFinalTabstop?L.index=r.index+(y+1)/this._nestingLevel:L.index=r.index+L.index/this._nestingLevel;this._snippet.replace(r,g._snippet.children);const k=this._placeholderDecorations.get(r);i.removeDecoration(k),this._placeholderDecorations.delete(r);for(const L of g._snippet.placeholders){const V=g._snippet.offset(L),z=g._snippet.fullLen(L),j=Range$5.fromPositions(t.getPositionAt(g._offset+V),t.getPositionAt(g._offset+V+z)),ie=i.addDecoration(j,oo._decor.inactive);this._placeholderDecorations.set(L,ie)}}this._placeholderGroups=groupBy$2(this._snippet.placeholders,Placeholder$1.compareByIndex)})}},oo._decor={active:ModelDecorationOptions$1.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ModelDecorationOptions$1.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ModelDecorationOptions$1.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ModelDecorationOptions$1.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})},oo);const _defaultOptions$3={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let SnippetSession$1=SnippetSession_1$1=class{static adjustWhitespace(e,t,i,r,g){const y=e.getLineContent(t.lineNumber),k=getLeadingWhitespace$1(y,0,t.column-1);let L;return r.walk(V=>{if(!(V instanceof Text$1)||V.parent instanceof Choice$1||g&&!g.has(V))return!0;const z=V.value.split(/\r\n|\r|\n/);if(i){const ie=r.offset(V);if(ie===0)z[0]=e.normalizeIndentation(z[0]);else{L=L!=null?L:r.toString();const oe=L.charCodeAt(ie-1);(oe===10||oe===13)&&(z[0]=e.normalizeIndentation(k+z[0]))}for(let oe=1;oepe.get(IWorkspaceContextService$1)),re=e.invokeWithinContext(pe=>new ModelBasedVariableResolver$1(pe.get(ILabelService$1),ie)),ae=()=>k,le=ie.getValueInRange(SnippetSession_1$1.adjustSelection(ie,e.getSelection(),i,0)),de=ie.getValueInRange(SnippetSession_1$1.adjustSelection(ie,e.getSelection(),0,r)),ue=ie.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),he=e.getSelections().map((pe,Ce)=>({selection:pe,idx:Ce})).sort((pe,Ce)=>Range$5.compareRangesUsingStarts(pe.selection,Ce.selection));for(const{selection:pe,idx:Ce}of he){let $e=SnippetSession_1$1.adjustSelection(ie,pe,i,0),xe=SnippetSession_1$1.adjustSelection(ie,pe,0,r);le!==ie.getValueInRange($e)&&($e=pe),de!==ie.getValueInRange(xe)&&(xe=pe);const Ie=pe.setStartPosition($e.startLineNumber,$e.startColumn).setEndPosition(xe.endLineNumber,xe.endColumn),Ne=new SnippetParser$1().parse(t,!0,g),Fe=Ie.getStartPosition(),Ve=SnippetSession_1$1.adjustWhitespace(ie,Fe,y||Ce>0&&ue!==ie.getLineFirstNonWhitespaceColumn(pe.positionLineNumber),Ne);Ne.resolveVariables(new CompositeSnippetVariableResolver$1([re,new ClipboardBasedVariableResolver$1(ae,Ce,he.length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver$1(ie,pe,Ce,L),new CommentBasedVariableResolver$1(ie,pe,V),new TimeBasedVariableResolver$1,new WorkspaceBasedVariableResolver$1(oe),new RandomBasedVariableResolver$1])),z[Ce]=EditOperation$1.replace(Ie,Ne.toString()),z[Ce].identifier={major:Ce,minor:0},z[Ce]._isTracked=!0,j[Ce]=new OneSnippet$1(e,Ne,Ve)}return{edits:z,snippets:j}}static createEditsAndSnippetsFromEdits(e,t,i,r,g,y,k){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const L=[],V=e.getModel(),z=new SnippetParser$1,j=new TextmateSnippet$1,ie=new CompositeSnippetVariableResolver$1([e.invokeWithinContext(re=>new ModelBasedVariableResolver$1(re.get(ILabelService$1),V)),new ClipboardBasedVariableResolver$1(()=>g,0,e.getSelections().length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver$1(V,e.getSelection(),0,y),new CommentBasedVariableResolver$1(V,e.getSelection(),k),new TimeBasedVariableResolver$1,new WorkspaceBasedVariableResolver$1(e.invokeWithinContext(re=>re.get(IWorkspaceContextService$1))),new RandomBasedVariableResolver$1]);t=t.sort((re,ae)=>Range$5.compareRangesUsingStarts(re.range,ae.range));let oe=0;for(let re=0;re0){const Ce=t[re-1].range,$e=Range$5.fromPositions(Ce.getEndPosition(),ae.getStartPosition()),xe=new Text$1(V.getValueInRange($e));j.appendChild(xe),oe+=xe.value.length}const de=z.parseFragment(le,j);SnippetSession_1$1.adjustWhitespace(V,ae.getStartPosition(),!0,j,new Set(de)),j.resolveVariables(ie);const ue=j.toString(),he=ue.slice(oe);oe=ue.length;const pe=EditOperation$1.replace(ae,he);pe.identifier={major:re,minor:0},pe._isTracked=!0,L.push(pe)}return z.ensureFinalTabstop(j,i,!0),{edits:L,snippets:[new OneSnippet$1(e,j,"")]}}constructor(e,t,i=_defaultOptions$3,r){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){dispose$1(this._snippets)}_logInfo(){return'template="'.concat(this._template,'", merged_templates="').concat(this._templateMerges.join(" -> "),'"')}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?SnippetSession_1$1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):SnippetSession_1$1.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const r=i.filter(g=>!!g.identifier);for(let g=0;gSelection$3.fromPositions(g.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=_defaultOptions$3){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:r}=SnippetSession_1$1.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,g=>{const y=g.filter(L=>!!L.identifier);for(let L=0;LSelection$3.fromPositions(L.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const r=i.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{g.push(...r.get(y))})}e.sort(Range$5.compareRangesUsingStarts);for(const[i,r]of t){if(r.length!==e.length){t.delete(i);continue}r.sort(Range$5.compareRangesUsingStarts);for(let g=0;g0}};SnippetSession$1=SnippetSession_1$1=__decorate$3t([__param$3j(3,ILanguageConfigurationService$1)],SnippetSession$1);var __decorate$3s=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3i=function(n,e){return function(t,i){e(t,i,n)}},SnippetController2_1$1;const _defaultOptions$2={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};var Ko;let SnippetController2$1=(Ko=class{static get(e){return e.getContribution(SnippetController2_1$1.ID)}constructor(e,t,i,r,g){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=g,this._snippetListener=new DisposableStore$1,this._modelVersionId=-1,this._inSnippet=SnippetController2_1$1.InSnippetMode.bindTo(r),this._hasNextTabstop=SnippetController2_1$1.HasNextTabstop.bindTo(r),this._hasPrevTabstop=SnippetController2_1$1.HasPrevTabstop.bindTo(r)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)==null||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?_defaultOptions$2:{..._defaultOptions$2,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(assertType$1(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new SnippetSession$1(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),(i=this._session)!=null&&i.hasChoice){const r={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(z,j)=>{if(!this._session||z!==this._editor.getModel()||!Position$3.equals(this._editor.getPosition(),j))return;const{activeChoice:ie}=this._session;if(!ie||ie.choice.options.length===0)return;const oe=z.getValueInRange(ie.range),re=!!ie.choice.options.find(le=>le.value===oe),ae=[];for(let le=0;le{y==null||y.dispose(),k=!1},V=()=>{k||(y=this._languageFeaturesService.completionProvider.register({language:g.getLanguageId(),pattern:g.uri.fsPath,scheme:g.uri.scheme,exclusive:!0},r),this._snippetListener.add(y),k=!0)};this._choiceCompletions={provider:r,enable:V,disable:L}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(r=>r.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var t;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:e}=this._session;if(!e||!this._choiceCompletions){(t=this._choiceCompletions)==null||t.disable(),this._currentChoice=void 0;return}this._currentChoice!==e.choice&&(this._currentChoice=e.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{showSimpleSuggestions$1(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)==null||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)==null||e.prev(),this._updateState()}next(){var e;(e=this._session)==null||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}},SnippetController2_1$1=Ko,Ko.ID="snippetController2",Ko.InSnippetMode=new RawContextKey$1("inSnippetMode",!1,localize$1("inSnippetMode","Whether the editor in current in snippet mode")),Ko.HasNextTabstop=new RawContextKey$1("hasNextTabstop",!1,localize$1("hasNextTabstop","Whether there is a next tab stop when in snippet mode")),Ko.HasPrevTabstop=new RawContextKey$1("hasPrevTabstop",!1,localize$1("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode")),Ko);SnippetController2$1=SnippetController2_1$1=__decorate$3s([__param$3i(1,ILogService$1),__param$3i(2,ILanguageFeaturesService$1),__param$3i(3,IContextKeyService$1),__param$3i(4,ILanguageConfigurationService$1)],SnippetController2$1);registerEditorContribution$1(SnippetController2$1.ID,SnippetController2$1,4);const CommandCtor$1=EditorCommand$1.bindToContribution(SnippetController2$1.get);registerEditorCommand$1(new CommandCtor$1({id:"jumpToNextSnippetPlaceholder",precondition:ContextKeyExpr$1.and(SnippetController2$1.InSnippetMode,SnippetController2$1.HasNextTabstop),handler:n=>n.next(),kbOpts:{weight:130,kbExpr:EditorContextKeys$1.textInputFocus,primary:2}}));registerEditorCommand$1(new CommandCtor$1({id:"jumpToPrevSnippetPlaceholder",precondition:ContextKeyExpr$1.and(SnippetController2$1.InSnippetMode,SnippetController2$1.HasPrevTabstop),handler:n=>n.prev(),kbOpts:{weight:130,kbExpr:EditorContextKeys$1.textInputFocus,primary:1026}}));registerEditorCommand$1(new CommandCtor$1({id:"leaveSnippet",precondition:SnippetController2$1.InSnippetMode,handler:n=>n.cancel(!0),kbOpts:{weight:130,kbExpr:EditorContextKeys$1.textInputFocus,primary:9,secondary:[1033]}}));registerEditorCommand$1(new CommandCtor$1({id:"acceptSnippet",precondition:SnippetController2$1.InSnippetMode,handler:n=>n.finish()}));var __decorate$3r=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3h=function(n,e){return function(t,i){e(t,i,n)}};let InlineCompletionsModel$1=class extends Disposable$1{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,r,g,y,k,L,V,z,j,ie){super(),this.textModel=e,this.selectedSuggestItem=t,this._textModelVersionId=i,this._positions=r,this._debounceValue=g,this._suggestPreviewEnabled=y,this._suggestPreviewMode=k,this._inlineSuggestMode=L,this._enabled=V,this._instantiationService=z,this._commandService=j,this._languageConfigurationService=ie,this._source=this._register(this._instantiationService.createInstance(InlineCompletionsSource$1,this.textModel,this._textModelVersionId,this._debounceValue)),this._isActive=observableValue$1(this,!1),this._forceUpdateExplicitlySignal=observableSignal$1(this),this._selectedInlineCompletionId=observableValue$1(this,void 0),this._primaryPosition=derived$1(this,re=>{var ae;return(ae=this._positions.read(re)[0])!=null?ae:new Position$3(1,1)}),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([VersionIdChangeReason$1.Redo,VersionIdChangeReason$1.Undo,VersionIdChangeReason$1.AcceptWord]),this._fetchInlineCompletionsPromise=derivedHandleChanges$1({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:InlineCompletionTriggerKind$3.Automatic}),handleChange:(re,ae)=>(re.didChange(this._textModelVersionId)&&this._preserveCurrentCompletionReasons.has(this._getReason(re.change))?ae.preserveCurrentCompletion=!0:re.didChange(this._forceUpdateExplicitlySignal)&&(ae.inlineCompletionTriggerKind=InlineCompletionTriggerKind$3.Explicit),!0)},(re,ae)=>{if(this._forceUpdateExplicitlySignal.read(re),!(this._enabled.read(re)&&this.selectedSuggestItem.read(re)||this._isActive.read(re))){this._source.cancelUpdate();return}this._textModelVersionId.read(re);const de=this._source.suggestWidgetInlineCompletions.get(),ue=this.selectedSuggestItem.read(re);if(de&&!ue){const xe=this._source.inlineCompletions.get();transaction$1(Ie=>{(!xe||de.request.versionId>xe.request.versionId)&&this._source.inlineCompletions.set(de.clone(),Ie),this._source.clearSuggestWidgetInlineCompletions(Ie)})}const he=this._primaryPosition.read(re),pe={triggerKind:ae.inlineCompletionTriggerKind,selectedSuggestionInfo:ue==null?void 0:ue.toSelectedSuggestionInfo()},Ce=this.selectedInlineCompletion.get(),$e=ae.preserveCurrentCompletion||Ce!=null&&Ce.forwardStable?Ce:void 0;return this._source.fetch(he,pe,$e)}),this._filteredInlineCompletionItems=derivedOpts$1({owner:this,equalsFn:itemsEquals()},re=>{const ae=this._source.inlineCompletions.read(re);if(!ae)return[];const le=this._primaryPosition.read(re);return ae.inlineCompletions.filter(ue=>ue.isVisible(this.textModel,le,re))}),this.selectedInlineCompletionIndex=derived$1(this,re=>{const ae=this._selectedInlineCompletionId.read(re),le=this._filteredInlineCompletionItems.read(re),de=this._selectedInlineCompletionId===void 0?-1:le.findIndex(ue=>ue.semanticId===ae);return de===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):de}),this.selectedInlineCompletion=derived$1(this,re=>{const ae=this._filteredInlineCompletionItems.read(re),le=this.selectedInlineCompletionIndex.read(re);return ae[le]}),this.activeCommands=derivedOpts$1({owner:this,equalsFn:itemsEquals()},re=>{var ae,le;return(le=(ae=this.selectedInlineCompletion.read(re))==null?void 0:ae.inlineCompletion.source.inlineCompletions.commands)!=null?le:[]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,re=>re==null?void 0:re.request.context.triggerKind),this.inlineCompletionsCount=derived$1(this,re=>{if(this.lastTriggerKind.read(re)===InlineCompletionTriggerKind$3.Explicit)return this._filteredInlineCompletionItems.read(re).length}),this.state=derivedOpts$1({owner:this,equalsFn:(re,ae)=>!re||!ae?re===ae:ghostTextsOrReplacementsEqual$1(re.ghostTexts,ae.ghostTexts)&&re.inlineCompletion===ae.inlineCompletion&&re.suggestItem===ae.suggestItem},re=>{var de,ue;const ae=this.textModel,le=this.selectedSuggestItem.read(re);if(le){const he=singleTextRemoveCommonPrefix$1(le.toSingleTextEdit(),ae),pe=this._computeAugmentation(he,re);if(!this._suggestPreviewEnabled.read(re)&&!pe)return;const $e=(de=pe==null?void 0:pe.edit)!=null?de:he,xe=pe?pe.edit.text.length-he.text.length:0,Ie=this._suggestPreviewMode.read(re),Ne=this._positions.read(re),Fe=[$e,...getSecondaryEdits$1(this.textModel,Ne,$e)],Ve=Fe.map((ze,qe)=>computeGhostText$1(ze,ae,Ie,Ne[qe],xe)).filter(isDefined$1),Oe=(ue=Ve[0])!=null?ue:new GhostText$1($e.range.endLineNumber,[]);return{edits:Fe,primaryGhostText:Oe,ghostTexts:Ve,inlineCompletion:pe==null?void 0:pe.completion,suggestItem:le}}else{if(!this._isActive.read(re))return;const he=this.selectedInlineCompletion.read(re);if(!he)return;const pe=he.toSingleTextEdit(re),Ce=this._inlineSuggestMode.read(re),$e=this._positions.read(re),xe=[pe,...getSecondaryEdits$1(this.textModel,$e,pe)],Ie=xe.map((Ne,Fe)=>computeGhostText$1(Ne,ae,Ce,$e[Fe],0)).filter(isDefined$1);return Ie[0]?{edits:xe,primaryGhostText:Ie[0],ghostTexts:Ie,inlineCompletion:he,suggestItem:void 0}:void 0}}),this.ghostTexts=derivedOpts$1({owner:this,equalsFn:ghostTextsOrReplacementsEqual$1},re=>{const ae=this.state.read(re);if(ae)return ae.ghostTexts}),this.primaryGhostText=derivedOpts$1({owner:this,equalsFn:ghostTextOrReplacementEquals$1},re=>{const ae=this.state.read(re);if(ae)return ae==null?void 0:ae.primaryGhostText}),this._register(recomputeInitiallyAndOnChange$1(this._fetchInlineCompletionsPromise));let oe;this._register(autorun$1(re=>{var de,ue;const ae=this.state.read(re),le=ae==null?void 0:ae.inlineCompletion;if((le==null?void 0:le.semanticId)!==(oe==null?void 0:oe.semanticId)&&(oe=le,le)){const he=le.inlineCompletion,pe=he.source;(ue=(de=pe.provider).handleItemDidShow)==null||ue.call(de,pe.inlineCompletions,he.sourceInlineCompletion,he.insertText)}}))}_getReason(e){return e!=null&&e.isUndoing?VersionIdChangeReason$1.Undo:e!=null&&e.isRedoing?VersionIdChangeReason$1.Redo:this.isAcceptingPartially?VersionIdChangeReason$1.AcceptWord:VersionIdChangeReason$1.Other}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletionsPromise.get()}async triggerExplicitly(e){subtransaction$1(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineCompletionsPromise.get()}stop(e){subtransaction$1(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),g=r?r.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(isDefined$1);return mapFindFirst$1(g,k=>{let L=k.toSingleTextEdit(t);return L=singleTextRemoveCommonPrefix$1(L,i,Range$5.fromPositions(L.range.getStartPosition(),e.range.getEndPosition())),singleTextEditAugments$1(L,e)?{completion:k,edit:L}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var r;if(e.getModel()!==this.textModel)throw new BugIndicatingError$1;const t=this.state.get();if(!t||t.primaryGhostText.isEmpty()||!t.inlineCompletion)return;const i=t.inlineCompletion.toInlineCompletion(void 0);if(i.command&&i.source.addRef(),e.pushUndoStop(),i.snippetInfo)e.executeEdits("inlineSuggestion.accept",[EditOperation$1.replace(i.range,""),...i.additionalTextEdits]),e.setPosition(i.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(r=SnippetController2$1.get(e))==null||r.insert(i.snippetInfo.snippet,{undoStopBefore:!1});else{const g=t.edits,y=getEndPositionsAfterApplying$1(g).map(k=>Selection$3.fromPositions(k));e.executeEdits("inlineSuggestion.accept",[...g.map(k=>EditOperation$1.replace(k.range,k.text)),...i.additionalTextEdits]),e.setSelections(y,"inlineCompletionAccept")}this.stop(),i.command&&(await this._commandService.executeCommand(i.command.id,...i.command.arguments||[]).then(void 0,onUnexpectedExternalError$1),i.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const r=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),g=this._languageConfigurationService.getLanguageConfiguration(r),y=new RegExp(g.wordDefinition.source,g.wordDefinition.flags.replace("g","")),k=i.match(y);let L=0;k&&k.index!==void 0?k.index===0?L=k[0].length:L=k.index:L=i.length;const z=/\s+/g.exec(i);return z&&z.index!==void 0&&z.index+z[0].length{const r=i.match(/\n/);return r&&r.index!==void 0?r.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new BugIndicatingError$1;const r=this.state.get();if(!r||r.primaryGhostText.isEmpty()||!r.inlineCompletion)return;const g=r.primaryGhostText,y=r.inlineCompletion.toInlineCompletion(void 0);if(y.snippetInfo||y.filterText!==y.insertText){await this.accept(e);return}const k=g.parts[0],L=new Position$3(g.lineNumber,k.column),V=k.text,z=t(L,V);if(z===V.length&&g.parts.length===1){this.accept(e);return}const j=V.substring(0,z),ie=this._positions.get(),oe=ie[0];y.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const re=Range$5.fromPositions(oe,L),ae=e.getModel().getValueInRange(re)+j,le=new SingleTextEdit$1(re,ae),de=[le,...getSecondaryEdits$1(this.textModel,ie,le)],ue=getEndPositionsAfterApplying$1(de).map(he=>Selection$3.fromPositions(he));e.executeEdits("inlineSuggestion.accept",de.map(he=>EditOperation$1.replace(he.range,he.text))),e.setSelections(ue,"inlineCompletionPartialAccept"),e.revealPositionInCenterIfOutsideViewport(e.getPosition(),1)}finally{this._isAcceptingPartially=!1}if(y.source.provider.handlePartialAccept){const re=Range$5.fromPositions(y.range.getStartPosition(),TextLength$1.ofText(j).addToPosition(L)),ae=e.getModel().getValueInRange(re,1);y.source.provider.handlePartialAccept(y.source.inlineCompletions,y.sourceInlineCompletion,ae.length,{kind:i})}}finally{y.source.removeRef()}}handleSuggestAccepted(e){var g,y;const t=singleTextRemoveCommonPrefix$1(e.toSingleTextEdit(),this.textModel),i=this._computeAugmentation(t,void 0);if(!i)return;const r=i.completion.inlineCompletion;(y=(g=r.source.provider).handlePartialAccept)==null||y.call(g,r.source.inlineCompletions,r.sourceInlineCompletion,t.text.length,{kind:2})}};InlineCompletionsModel$1=__decorate$3r([__param$3h(9,IInstantiationService$1),__param$3h(10,ICommandService$1),__param$3h(11,ILanguageConfigurationService$1)],InlineCompletionsModel$1);var VersionIdChangeReason$1;(function(n){n[n.Undo=0]="Undo",n[n.Redo=1]="Redo",n[n.AcceptWord=2]="AcceptWord",n[n.Other=3]="Other"})(VersionIdChangeReason$1||(VersionIdChangeReason$1={}));function getSecondaryEdits$1(n,e,t){if(e.length===1)return[];const i=e[0],r=e.slice(1),g=t.range.getStartPosition(),y=t.range.getEndPosition(),k=n.getValueInRange(Range$5.fromPositions(i,y)),L=subtractPositions$1(i,g);if(L.lineNumber<1)return onUnexpectedError$1(new BugIndicatingError$1("positionWithinTextEdit line number should be bigger than 0.\n Invalid subtraction between ".concat(i.toString()," and ").concat(g.toString()))),[];const V=substringPos$1(t.text,L);return r.map(z=>{const j=addPositions$1(subtractPositions$1(z,g),y),ie=n.getValueInRange(Range$5.fromPositions(z,j)),oe=commonPrefixLength$1(k,ie),re=Range$5.fromPositions(z,z.delta(0,oe));return new SingleTextEdit$1(re,V)})}function substringPos$1(n,e){let t="";const i=splitLinesIncludeSeparators$1(n);for(let r=e.lineNumber-1;rg.range,Range$5.compareRangesUsingStarts)),i=new TextEdit$1(e.apply(n)).getNewRanges();return e.inverse().apply(i).map(g=>g.getEndPosition())}var __decorate$3q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3g=function(n,e){return function(t,i){e(t,i,n)}},SuggestMemoryService_1$1;let Memory$1=class{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const r=i[0].score[0];for(let g=0;gL&&j.type===i[V].completion.kind&&j.insertText===i[V].completion.insertText&&(L=j.touch,k=V),i[V].completion.preselect&&y===-1)return y=V}return k!==-1?k:y!==-1?y:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,r]of e)r.touch=t,r.type=typeof r.type=="number"?r.type:CompletionItemKinds$1.fromString(r.type),this._cache.set(i,r);this._seq=this._cache.size}},PrefixMemory$1=class extends Memory$1{constructor(){super("recentlyUsedByPrefix"),this._trie=TernarySearchTree$1.forStrings(),this._seq=0}memorize(e,t,i){const{word:r}=e.getWordUntilPosition(t),g="".concat(e.getLanguageId(),"/").concat(r);this._trie.set(g,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,i);const g="".concat(e.getLanguageId(),"/").concat(r);let y=this._trie.get(g);if(y||(y=this._trie.findSubstr(g)),y)for(let k=0;ke.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:CompletionItemKinds$1.fromString(i.type),this._trie.set(t,i)}}};var Zr;let SuggestMemoryService$1=(Zr=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new DisposableStore$1,this._persistSoon=new RunOnceScheduler$1(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===WillSaveStateReason$1.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var r;const i=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((r=this._strategy)==null?void 0:r.name)!==i){this._saveState();const g=SuggestMemoryService_1$1._strategyCtors.get(i)||NoMemory$1;this._strategy=new g;try{const k=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,L=this._storageService.get("".concat(SuggestMemoryService_1$1._storagePrefix,"/").concat(i),k);L&&this._strategy.fromJSON(JSON.parse(L))}catch(y){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store("".concat(SuggestMemoryService_1$1._storagePrefix,"/").concat(this._strategy.name),i,t,1)}}},SuggestMemoryService_1$1=Zr,Zr._strategyCtors=new Map([["recentlyUsedByPrefix",PrefixMemory$1],["recentlyUsed",LRUMemory$1],["first",NoMemory$1]]),Zr._storagePrefix="suggest/memories",Zr);SuggestMemoryService$1=SuggestMemoryService_1$1=__decorate$3q([__param$3g(0,IStorageService$1),__param$3g(1,IConfigurationService$1)],SuggestMemoryService$1);const ISuggestMemoryService$1=createDecorator$1("ISuggestMemories");registerSingleton$1(ISuggestMemoryService$1,SuggestMemoryService$1,1);var __decorate$3p=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3f=function(n,e){return function(t,i){e(t,i,n)}},WordContextKey_1$1,ja;let WordContextKey$1=(ja=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=WordContextKey_1$1.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(124)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)==null||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(124)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),r=this._editor.getSelection(),g=i.getWordAtPosition(r.getStartPosition());if(!g){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(g.endColumn===r.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}},WordContextKey_1$1=ja,ja.AtEnd=new RawContextKey$1("atEndOfWord",!1),ja);WordContextKey$1=WordContextKey_1$1=__decorate$3p([__param$3f(1,IContextKeyService$1)],WordContextKey$1);var __decorate$3o=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3e=function(n,e){return function(t,i){e(t,i,n)}},SuggestAlternatives_1$1,Ga;let SuggestAlternatives$1=(Ga=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=SuggestAlternatives_1$1.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)==null||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(SuggestAlternatives_1$1._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let r=i;for(let g=t.items.length;g>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===i||!t.items[r].completion.additionalTextEdits));g--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=SuggestAlternatives_1$1._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}},SuggestAlternatives_1$1=Ga,Ga.OtherSuggestions=new RawContextKey$1("hasOtherSuggestions",!1),Ga);SuggestAlternatives$1=SuggestAlternatives_1$1=__decorate$3o([__param$3e(1,IContextKeyService$1)],SuggestAlternatives$1);let CommitCharacterController$1=class{constructor(e,t,i,r){this._disposables=new DisposableStore$1,this._disposables.add(i.onDidSuggest(g=>{g.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(g=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(g=>{if(this._active&&!t.isFrozen()&&i.state!==0){const y=g.charCodeAt(g.length-1);this._active.acceptCharacters.has(y)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!isNonEmptyArray$1(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new CharacterSet$1;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}};var Qn;let BracketSelectionRangeProvider$1=(Qn=class{async provideSelectionRanges(e,t){const i=[];for(const r of t){const g=[];i.push(g);const y=new Map;await new Promise(k=>Qn._bracketsRightYield(k,0,e,r,y)),await new Promise(k=>Qn._bracketsLeftYield(k,0,e,r,y,g))}return i}static _bracketsRightYield(e,t,i,r,g){const y=new Map,k=Date.now();for(;;){if(t>=Qn._maxRounds){e();break}if(!r){e();break}const L=i.bracketPairs.findNextBracket(r);if(!L){e();break}if(Date.now()-k>Qn._maxDuration){setTimeout(()=>Qn._bracketsRightYield(e,t+1,i,r,g));break}if(L.bracketInfo.isOpeningBracket){const z=L.bracketInfo.bracketText,j=y.has(z)?y.get(z):0;y.set(z,j+1)}else{const z=L.bracketInfo.getOpeningBrackets()[0].bracketText;let j=y.has(z)?y.get(z):0;if(j-=1,y.set(z,Math.max(0,j)),j<0){let ie=g.get(z);ie||(ie=new LinkedList$1,g.set(z,ie)),ie.push(L.range)}}r=L.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,r,g,y){const k=new Map,L=Date.now();for(;;){if(t>=Qn._maxRounds&&g.size===0){e();break}if(!r){e();break}const V=i.bracketPairs.findPrevBracket(r);if(!V){e();break}if(Date.now()-L>Qn._maxDuration){setTimeout(()=>Qn._bracketsLeftYield(e,t+1,i,r,g,y));break}if(V.bracketInfo.isOpeningBracket){const j=V.bracketInfo.bracketText;let ie=k.has(j)?k.get(j):0;if(ie-=1,k.set(j,Math.max(0,ie)),ie<0){const oe=g.get(j);if(oe){const re=oe.shift();oe.size===0&&g.delete(j);const ae=Range$5.fromPositions(V.range.getEndPosition(),re.getStartPosition()),le=Range$5.fromPositions(V.range.getStartPosition(),re.getEndPosition());y.push({range:ae}),y.push({range:le}),Qn._addBracketLeading(i,le,y)}}}else{const j=V.bracketInfo.getOpeningBrackets()[0].bracketText,ie=k.has(j)?k.get(j):0;k.set(j,ie+1)}r=V.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const r=t.startLineNumber,g=e.getLineFirstNonWhitespaceColumn(r);g!==0&&g!==t.startColumn&&(i.push({range:Range$5.fromPositions(new Position$3(r,g),t.getEndPosition())}),i.push({range:Range$5.fromPositions(new Position$3(r,1),t.getEndPosition())}));const y=r-1;if(y>0){const k=e.getLineFirstNonWhitespaceColumn(y);k===t.startColumn&&k!==e.getLineLastNonWhitespaceColumn(y)&&(i.push({range:Range$5.fromPositions(new Position$3(y,k),t.getEndPosition())}),i.push({range:Range$5.fromPositions(new Position$3(y,1),t.getEndPosition())}))}}},Qn._maxDuration=30,Qn._maxRounds=2,Qn);var go;let WordDistance$1=(go=class{static async create(e,t){if(!t.getOption(119).localityBonus||!t.hasModel())return go.None;const i=t.getModel(),r=t.getPosition();if(!e.canComputeWordRanges(i.uri))return go.None;const[g]=await new BracketSelectionRangeProvider$1().provideSelectionRanges(i,[r]);if(g.length===0)return go.None;const y=await e.computeWordRanges(i.uri,g[0].range);if(!y)return go.None;const k=i.getWordUntilPosition(r);return delete y[k.word],new class extends go{distance(L,V){if(!r.equals(t.getPosition()))return 0;if(V.kind===17)return 2<<20;const z=typeof V.label=="string"?V.label:V.label.label,j=y[z];if(isFalsyOrEmpty$1(j))return 2<<20;const ie=binarySearch$1(j,Range$5.fromPositions(L),Range$5.compareRangesUsingStarts),oe=ie>=0?j[ie]:j[Math.max(0,~ie-1)];let re=g.length;for(const ae of g){if(!Range$5.containsRange(ae.range,oe))break;re-=1}return re}}}},go.None=new class extends go{distance(){return 0}},go),LineContext$3=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}},CompletionModel$1=class Gl{constructor(e,t,i,r,g,y,k=FuzzyScoreOptions$1.default,L=void 0){this.clipboardText=L,this._snippetCompareFn=Gl._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=r,this._options=g,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=k,y==="top"?this._snippetCompareFn=Gl._compareCompletionItemsSnippetsUp:y==="bottom"&&(this._snippetCompareFn=Gl._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let r="",g="";const y=this._refilterKind===1?this._items:this._filteredItems,k=[],L=!this._options.filterGraceful||y.length>2e3?fuzzyScore$1:fuzzyScoreGracefulAggressive$1;for(let V=0;V=oe)z.score=FuzzyScore$1.Default;else if(typeof z.completion.filterText=="string"){const ae=L(r,g,re,z.completion.filterText,z.filterTextLow,0,this._fuzzyScoreOptions);if(!ae)continue;compareIgnoreCase$1(z.completion.filterText,z.textLabel)===0?z.score=ae:(z.score=anyScore$1(r,g,re,z.textLabel,z.labelLow,0),z.score[0]=ae[0])}else{const ae=L(r,g,re,z.textLabel,z.labelLow,0,this._fuzzyScoreOptions);if(!ae)continue;z.score=ae}}z.idx=V,z.distance=this._wordDistance.distance(z.position,z.completion),k.push(z),e.push(z.textLabel.length)}this._filteredItems=k.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?quickSelect$1(e.length-.85,e,(V,z)=>V-z):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return Gl._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return Gl._compareCompletionItems(e,t)}};var __decorate$3n=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3d=function(n,e){return function(t,i){e(t,i,n)}},SuggestModel_1$1;let LineContext$2=class{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.getWordAtPosition(i);return!(!r||r.endColumn!==i.column&&r.startColumn+1!==i.column||!isNaN(Number(r.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}};function canShowQuickSuggest$1(n,e,t){if(!e.getContextKeyValue(InlineCompletionContextKeys$1.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(InlineCompletionContextKeys$1.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}function canShowSuggestOnTriggerCharacters$1(n,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(InlineCompletionContextKeys$1.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}let SuggestModel$1=SuggestModel_1$1=class{constructor(e,t,i,r,g,y,k,L,V){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=r,this._logService=g,this._contextKeyService=y,this._configurationService=k,this._languageFeaturesService=L,this._envService=V,this._toDispose=new DisposableStore$1,this._triggerCharacterListener=new DisposableStore$1,this._triggerQuickSuggest=new TimeoutTimer$1,this._triggerState=void 0,this._completionDisposables=new DisposableStore$1,this._onDidCancel=new Emitter$3,this._onDidTrigger=new Emitter$3,this._onDidSuggest=new Emitter$3,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Selection$3(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let z=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{z=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{z=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(j=>{z||this._onCursorChange(j)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!z&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){dispose$1(this._triggerCharacterListener),dispose$1([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(92)||!this._editor.hasModel()||!this._editor.getOption(122))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const r of i.triggerCharacters||[]){let g=e.get(r);g||(g=new Set,e.set(r,g)),g.add(i)}const t=i=>{var y;if(!canShowSuggestOnTriggerCharacters$1(this._editor,this._contextKeyService,this._configurationService)||LineContext$2.shouldAutoTrigger(this._editor))return;if(!i){const k=this._editor.getPosition();i=this._editor.getModel().getLineContent(k.lineNumber).substr(0,k.column-1)}let r="";isLowSurrogate$1(i.charCodeAt(i.length-1))?isHighSurrogate$1(i.charCodeAt(i.length-2))&&(r=i.substr(i.length-2)):r=i.charAt(i.length-1);const g=e.get(r);if(g){const k=new Map;if(this._completionModel)for(const[L,V]of this._completionModel.getItemsByProvider())g.has(L)||k.set(L,V);this.trigger({auto:!0,triggerKind:1,triggerCharacter:r,retrigger:!!this._completionModel,clipboardText:(y=this._completionModel)==null?void 0:y.clipboardText,completionOptions:{providerFilter:g,providerItemsToReuse:k}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)==null||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;QuickSuggestionsOptions$1.isAllOff(this._editor.getOption(90))||this._editor.getOption(119).snippetsPreventQuickSuggestions&&((e=SnippetController2$1.get(this._editor))!=null&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!LineContext$2.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=this._editor.getOption(90);if(!QuickSuggestionsOptions$1.isAllOff(r)){if(!QuickSuggestionsOptions$1.isAllOn(r)){t.tokenization.tokenizeIfCheap(i.lineNumber);const g=t.tokenization.getLineTokens(i.lineNumber),y=g.getStandardTokenType(g.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(QuickSuggestionsOptions$1.valueFor(r,y)!=="on")return}canShowQuickSuggest$1(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(91)))}_refilterCompletionItems(){assertType$1(this._editor.hasModel()),assertType$1(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new LineContext$2(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var ie,oe,re,ae,le,de;if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=new LineContext$2(t,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:(ie=e.shy)!=null?ie:!1,position:this._editor.getPosition()}),this._context=i;let r={triggerKind:(oe=e.triggerKind)!=null?oe:0};e.triggerCharacter&&(r={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new CancellationTokenSource$3;const g=this._editor.getOption(113);let y=1;switch(g){case"top":y=0;break;case"bottom":y=2;break}const{itemKind:k,showDeprecated:L}=SuggestModel_1$1.createSuggestFilter(this._editor),V=new CompletionOptions$1(y,(ae=(re=e.completionOptions)==null?void 0:re.kindFilter)!=null?ae:k,(le=e.completionOptions)==null?void 0:le.providerFilter,(de=e.completionOptions)==null?void 0:de.providerItemsToReuse,L),z=WordDistance$1.create(this._editorWorkerService,this._editor),j=provideSuggestionItems$1(this._languageFeaturesService.completionProvider,t,this._editor.getPosition(),V,r,this._requestToken.token);Promise.all([j,z]).then(async([ue,he])=>{var Ie;if((Ie=this._requestToken)==null||Ie.dispose(),!this._editor.hasModel())return;let pe=e==null?void 0:e.clipboardText;if(!pe&&ue.needsClipboard&&(pe=await this._clipboardService.readText()),this._triggerState===void 0)return;const Ce=this._editor.getModel(),$e=new LineContext$2(Ce,this._editor.getPosition(),e),xe={...FuzzyScoreOptions$1.default,firstMatchCanBeWeak:!this._editor.getOption(119).matchOnWordStartOnly};if(this._completionModel=new CompletionModel$1(ue.items,this._context.column,{leadingLineContent:$e.leadingLineContent,characterCountDelta:$e.column-this._context.column},he,this._editor.getOption(119),this._editor.getOption(113),xe,pe),this._completionDisposables.add(ue.disposable),this._onNewContext($e),this._reportDurationsTelemetry(ue.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const Ne of ue.items)Ne.isInvalid&&this._logService.warn("[suggest] did IGNORE invalid completion item from ".concat(Ne.provider._debugDisplayName),Ne.completion)}).catch(onUnexpectedError$1)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(113)==="none"&&t.add(27);const r=e.getOption(119);return r.showMethods||t.add(0),r.showFunctions||t.add(1),r.showConstructors||t.add(2),r.showFields||t.add(3),r.showVariables||t.add(4),r.showClasses||t.add(5),r.showStructs||t.add(6),r.showInterfaces||t.add(7),r.showModules||t.add(8),r.showProperties||t.add(9),r.showEvents||t.add(10),r.showOperators||t.add(11),r.showUnits||t.add(12),r.showValues||t.add(13),r.showConstants||t.add(14),r.showEnums||t.add(15),r.showEnumMembers||t.add(16),r.showKeywords||t.add(17),r.showWords||t.add(18),r.showColors||t.add(19),r.showFiles||t.add(20),r.showReferences||t.add(21),r.showColors||t.add(22),r.showFolders||t.add(23),r.showTypeParameters||t.add(24),r.showSnippets||t.add(27),r.showUsers||t.add(25),r.showIssues||t.add(26),{itemKind:t,showDeprecated:r.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(getLeadingWhitespace$1(e.leadingLineContent)!==getLeadingWhitespace$1(this._context.leadingLineContent)){this.cancel();return}if(e.columnthis._context.leadingWord.startColumn){if(LineContext$2.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[r,g]of this._completionModel.getItemsByProvider())g.length>0&&g[0].container.incomplete?i.add(r):t.set(r,g);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const r=LineContext$2.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};SuggestModel$1=SuggestModel_1$1=__decorate$3n([__param$3d(1,IEditorWorkerService$1),__param$3d(2,IClipboardService$1),__param$3d(3,ITelemetryService$1),__param$3d(4,ILogService$1),__param$3d(5,IContextKeyService$1),__param$3d(6,IConfigurationService$1),__param$3d(7,ILanguageFeaturesService$1),__param$3d(8,IEnvironmentService$1)],SuggestModel$1);var qa;let OvertypingCapturer$1=(qa=class{constructor(e,t){this._disposables=new DisposableStore$1,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),r=i.length;let g=!1;for(let k=0;kqa._maxSelectionLength)return;this._lastOvertyped[k]={value:y.getValueInRange(L),multiline:L.startLineNumber!==L.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3c=function(n,e){return function(t,i){e(t,i,n)}};let SuggestWidgetStatus$1=class{constructor(e,t,i,r,g){this._menuId=t,this._menuService=r,this._contextKeyService=g,this._menuDisposables=new DisposableStore$1,this.element=append$4(e,$$u(".suggest-status-bar"));const y=k=>k instanceof MenuItemAction$1?i.createInstance(TextOnlyMenuEntryActionViewItem,k,{useComma:!0}):void 0;this._leftActions=new ActionBar$1(this.element,{actionViewItemProvider:y}),this._rightActions=new ActionBar$1(this.element,{actionViewItemProvider:y}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],r=[];for(const[g,y]of e.getActions())g==="left"?i.push(...y):r.push(...y);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(r)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};SuggestWidgetStatus$1=__decorate$3m([__param$3c(2,IInstantiationService$1),__param$3c(3,IMenuService$1),__param$3c(4,IContextKeyService$1)],SuggestWidgetStatus$1);var __decorate$3l=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3b=function(n,e){return function(t,i){e(t,i,n)}};function canExpandCompletionItem$1(n){return!!n&&!!(n.completion.documentation||n.completion.detail&&n.completion.detail!==n.completion.label)}let SuggestDetailsWidget$1=class{constructor(e,t){this._editor=e,this._onDidClose=new Emitter$3,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Emitter$3,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new DisposableStore$1,this._renderDisposeable=new DisposableStore$1,this._borderWidth=1,this._size=new Dimension$1(330,0),this.domNode=$$u(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(MarkdownRenderer$1,{editor:e}),this._body=$$u(".body"),this._scrollbar=new DomScrollableElement$1(this._body,{alwaysConsumeMouseWheel:!0}),append$4(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=append$4(this._body,$$u(".header")),this._close=append$4(this._header,$$u("span"+ThemeIcon$1.asCSSSelector(Codicon$1.close))),this._close.title=localize$1("details.close","Close"),this._type=append$4(this._header,$$u("p.type")),this._docs=append$4(this._body,$$u("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),r=e.get(120)||t.fontSize,g=e.get(121)||t.lineHeight,y=t.fontWeight,k="".concat(r,"px"),L="".concat(g,"px");this.domNode.style.fontSize=k,this.domNode.style.lineHeight="".concat(g/r),this.domNode.style.fontWeight=y,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=L,this._close.style.width=L}getLayoutInfo(){const e=this._editor.getOption(121)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=localize$1("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var g,y;this._renderDisposeable.clear();let{detail:i,documentation:r}=e.completion;if(t){let k="";k+="score: ".concat(e.score[0],"\n"),k+="prefix: ".concat((g=e.word)!=null?g:"(no prefix)","\n"),k+="word: ".concat(e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel,"\n"),k+="distance: ".concat(e.distance," (localityBonus-setting)\n"),k+="index: ".concat(e.idx,", based on ").concat(e.completion.sortText&&'sortText: "'.concat(e.completion.sortText,'"')||"label","\n"),k+="commit_chars: ".concat((y=e.completion.commitCharacters)==null?void 0:y.join(""),"\n"),r=new MarkdownString$1().appendCodeblock("empty",k),i="Provider: ".concat(e.provider._debugDisplayName)}if(!t&&!canExpandCompletionItem$1(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),i){const k=i.length>1e5?"".concat(i.substr(0,1e5),"…"):i;this._type.textContent=k,this._type.title=k,show$1(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(k))}else clearNode$1(this._type),this._type.title="",hide$3(this._type),this.domNode.classList.add("no-type");if(clearNode$1(this._docs),typeof r=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=r;else if(r){this._docs.classList.add("markdown-docs"),clearNode$1(this._docs);const k=this._markdownRenderer.render(r);this._docs.appendChild(k.element),this._renderDisposeable.add(k),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=k=>{k.preventDefault(),k.stopPropagation()},this._close.onclick=k=>{k.preventDefault(),k.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Dimension$1(e,t);Dimension$1.equals(i,this._size)||(this._size=i,size$1(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};SuggestDetailsWidget$1=__decorate$3l([__param$3b(1,IInstantiationService$1)],SuggestDetailsWidget$1);let SuggestDetailsOverlay$1=class{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new DisposableStore$1,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new ResizableHTMLElement$1,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,r,g=0,y=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(k=>{if(i&&r){this.widget.layout(k.dimension.width,k.dimension.height);let L=!1;k.west&&(y=r.width-k.dimension.width,L=!0),k.north&&(g=r.height-k.dimension.height,L=!0),L&&this._applyTopLeft({top:i.top+g,left:i.left+y})}k.done&&(i=void 0,r=void 0,g=0,y=0,this._userSize=k.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var k;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(k=this._userSize)!=null?k:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var r;const i=e.getBoundingClientRect();this._anchorBox=i,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(r=this._userSize)!=null?r:this.widget.size,t)}_placeAtAnchor(e,t,i){var Ce;const r=getClientArea$1(this.getDomNode().ownerDocument.body),g=this.widget.getLayoutInfo(),y=new Dimension$1(220,2*g.lineHeight),k=e.top,L=function(){const $e=r.width-(e.left+e.width+g.borderWidth+g.horizontalPadding),xe=-g.borderWidth+e.left+e.width,Ie=new Dimension$1($e,r.height-e.top-g.borderHeight-g.verticalPadding),Ne=Ie.with(void 0,e.top+e.height-g.borderHeight-g.verticalPadding);return{top:k,left:xe,fit:$e-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:y.with(Math.min($e,y.width))}}(),V=function(){const $e=e.left-g.borderWidth-g.horizontalPadding,xe=Math.max(g.horizontalPadding,e.left-t.width-g.borderWidth),Ie=new Dimension$1($e,r.height-e.top-g.borderHeight-g.verticalPadding),Ne=Ie.with(void 0,e.top+e.height-g.borderHeight-g.verticalPadding);return{top:k,left:xe,fit:$e-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:y.with(Math.min($e,y.width))}}(),z=function(){const $e=e.left,xe=-g.borderWidth+e.top+e.height,Ie=new Dimension$1(e.width-g.borderHeight,r.height-e.top-e.height-g.verticalPadding);return{top:xe,left:$e,fit:Ie.height-t.height,maxSizeBottom:Ie,maxSizeTop:Ie,minSize:y.with(Ie.width)}}(),j=[L,V,z],ie=(Ce=j.find($e=>$e.fit>=0))!=null?Ce:j.sort(($e,xe)=>xe.fit-$e.fit)[0],oe=e.top+e.height-g.borderHeight;let re,ae=t.height;const le=Math.max(ie.maxSizeTop.height,ie.maxSizeBottom.height);ae>le&&(ae=le);let de;i?ae<=ie.maxSizeTop.height?(re=!0,de=ie.maxSizeTop):(re=!1,de=ie.maxSizeBottom):ae<=ie.maxSizeBottom.height?(re=!1,de=ie.maxSizeBottom):(re=!0,de=ie.maxSizeTop);let{top:ue,left:he}=ie;!re&&ae>e.height&&(ue=oe-ae);const pe=this._editor.getDomNode();if(pe){const $e=pe.getBoundingClientRect();ue-=$e.top,he-=$e.left}this._applyTopLeft({left:he,top:ue}),this._resizable.enableSashes(!re,ie===L,re,ie!==L),this._resizable.minSize=ie.minSize,this._resizable.maxSize=de,this._resizable.layout(ae,Math.min(de.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}};var FileKind$1;(function(n){n[n.FILE=0]="FILE",n[n.FOLDER=1]="FOLDER",n[n.ROOT_FOLDER=2]="ROOT_FOLDER"})(FileKind$1||(FileKind$1={}));const fileIconDirectoryRegex$1=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function getIconClasses$1(n,e,t,i,r){if(ThemeIcon$1.isThemeIcon(r))return["codicon-".concat(r.id),"predefined-file-icon"];if(URI$1.isUri(r))return[];const g=i===FileKind$1.ROOT_FOLDER?["rootfolder-icon"]:i===FileKind$1.FOLDER?["folder-icon"]:["file-icon"];if(t){let y;if(t.scheme===Schemas$1.data)y=DataUri$1.parseMetaData(t).get(DataUri$1.META_DATA_LABEL);else{const k=t.path.match(fileIconDirectoryRegex$1);k?(y=cssEscape$1(k[2].toLowerCase()),k[1]&&g.push("".concat(cssEscape$1(k[1].toLowerCase()),"-name-dir-icon"))):y=cssEscape$1(t.authority.toLowerCase())}if(i===FileKind$1.ROOT_FOLDER)g.push("".concat(y,"-root-name-folder-icon"));else if(i===FileKind$1.FOLDER)g.push("".concat(y,"-name-folder-icon"));else{if(y){if(g.push("".concat(y,"-name-file-icon")),g.push("name-file-icon"),y.length<=255){const L=y.split(".");for(let V=1;V=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3a=function(n,e){return function(t,i){e(t,i,n)}};function getAriaId$1(n){return"suggest-aria-id:".concat(n)}const suggestMoreInfoIcon$1=registerIcon$1("suggest-more-info",Codicon$1.chevronRight,localize$1("suggestMoreInfoIcon","Icon for more information in the suggest widget."));var Do;const _completionItemColor$1=new(Do=class{extract(e,t){if(e.textLabel.match(Do._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(Do._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,r=Do._regexRelaxed.exec(i);if(r&&(r.index===0||r.index+r[0].length===i.length))return t[0]=r[0],!0}return!1}},Do._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Do._regexStrict=new RegExp("^".concat(Do._regexRelaxed.source,"$"),"i"),Do);let ItemRenderer$1=class{constructor(e,t,i,r){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=r,this._onDidToggleDetails=new Emitter$3,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new DisposableStore$1,i=e;i.classList.add("show-file-icons");const r=append$4(e,$$u(".icon")),g=append$4(r,$$u("span.colorspan")),y=append$4(e,$$u(".contents")),k=append$4(y,$$u(".main")),L=append$4(k,$$u(".icon-label.codicon")),V=append$4(k,$$u("span.left")),z=append$4(k,$$u("span.right")),j=new IconLabel$1(V,{supportHighlights:!0,supportIcons:!0});t.add(j);const ie=append$4(V,$$u("span.signature-label")),oe=append$4(V,$$u("span.qualifier-label")),re=append$4(z,$$u("span.details-label")),ae=append$4(z,$$u("span.readMore"+ThemeIcon$1.asCSSSelector(suggestMoreInfoIcon$1)));return ae.title=localize$1("readMore","Read More"),{root:i,left:V,right:z,icon:r,colorspan:g,iconLabel:j,iconContainer:L,parametersLabel:ie,qualifierLabel:oe,detailsLabel:re,readMore:ae,disposables:t,configureFont:()=>{const de=this._editor.getOptions(),ue=de.get(50),he=ue.getMassagedFontFamily(),pe=ue.fontFeatureSettings,Ce=de.get(120)||ue.fontSize,$e=de.get(121)||ue.lineHeight,xe=ue.fontWeight,Ie=ue.letterSpacing,Ne="".concat(Ce,"px"),Fe="".concat($e,"px"),Ve="".concat(Ie,"px");i.style.fontSize=Ne,i.style.fontWeight=xe,i.style.letterSpacing=Ve,k.style.fontFamily=he,k.style.fontFeatureSettings=pe,k.style.lineHeight=Fe,r.style.height=Fe,r.style.width=Fe,ae.style.height=Fe,ae.style.width=Fe}}}renderElement(e,t,i){i.configureFont();const{completion:r}=e;i.root.id=getAriaId$1(t),i.colorspan.style.backgroundColor="";const g={labelEscapeNewLines:!0,matches:createMatches$1(e.score)},y=[];if(r.kind===19&&_completionItemColor$1.extract(e,y))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=y[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const k=getIconClasses$1(this._modelService,this._languageService,URI$1.from({scheme:"fake",path:e.textLabel}),FileKind$1.FILE),L=getIconClasses$1(this._modelService,this._languageService,URI$1.from({scheme:"fake",path:r.detail}),FileKind$1.FILE);g.extraClasses=k.length>L.length?k:L}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",g.extraClasses=[getIconClasses$1(this._modelService,this._languageService,URI$1.from({scheme:"fake",path:e.textLabel}),FileKind$1.FOLDER),getIconClasses$1(this._modelService,this._languageService,URI$1.from({scheme:"fake",path:r.detail}),FileKind$1.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...ThemeIcon$1.asClassNameArray(CompletionItemKinds$1.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(g.extraClasses=(g.extraClasses||[]).concat(["deprecated"]),g.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,g),typeof r.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=stripNewLines$1(r.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=stripNewLines$1(r.label.detail||""),i.detailsLabel.textContent=stripNewLines$1(r.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(119).showInlineDetails?show$1(i.detailsLabel):hide$3(i.detailsLabel),canExpandCompletionItem$1(e)?(i.right.classList.add("can-expand-details"),show$1(i.readMore),i.readMore.onmousedown=k=>{k.stopPropagation(),k.preventDefault()},i.readMore.onclick=k=>{k.stopPropagation(),k.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),hide$3(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};ItemRenderer$1=__decorate$3k([__param$3a(1,IModelService$1),__param$3a(2,ILanguageService$1),__param$3a(3,IThemeService$1)],ItemRenderer$1);function stripNewLines$1(n){return n.replace(/\r\n|\r|\n/g,"")}var __decorate$3j=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$39=function(n,e){return function(t,i){e(t,i,n)}},SuggestWidget_1$1;registerColor$1("editorSuggestWidget.background",editorWidgetBackground$1,localize$1("editorSuggestWidgetBackground","Background color of the suggest widget."));registerColor$1("editorSuggestWidget.border",editorWidgetBorder$1,localize$1("editorSuggestWidgetBorder","Border color of the suggest widget."));const editorSuggestWidgetForeground$1=registerColor$1("editorSuggestWidget.foreground",editorForeground$1,localize$1("editorSuggestWidgetForeground","Foreground color of the suggest widget."));registerColor$1("editorSuggestWidget.selectedForeground",quickInputListFocusForeground$1,localize$1("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));registerColor$1("editorSuggestWidget.selectedIconForeground",quickInputListFocusIconForeground$1,localize$1("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const editorSuggestWidgetSelectedBackground$1=registerColor$1("editorSuggestWidget.selectedBackground",quickInputListFocusBackground$1,localize$1("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));registerColor$1("editorSuggestWidget.highlightForeground",listHighlightForeground$1,localize$1("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));registerColor$1("editorSuggestWidget.focusHighlightForeground",listFocusHighlightForeground$1,localize$1("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));registerColor$1("editorSuggestWidgetStatus.foreground",transparent$1(editorSuggestWidgetForeground$1,.5),localize$1("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));let PersistedWidgetSize$1=class{constructor(e,t){this._service=e,this._key="suggestWidget.size/".concat(t.getEditorType(),"/").concat(t instanceof EmbeddedCodeEditorWidget$1)}restore(){var t;const e=(t=this._service.get(this._key,0))!=null?t:"";try{const i=JSON.parse(e);if(Dimension$1.is(i))return Dimension$1.lift(i)}catch(i){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}};var Qr;let SuggestWidget$1=(Qr=class{constructor(e,t,i,r,g){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new MutableDisposable$1,this._pendingShowDetails=new MutableDisposable$1,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new TimeoutTimer$1,this._disposables=new DisposableStore$1,this._onDidSelect=new PauseableEmitter$1,this._onDidFocus=new PauseableEmitter$1,this._onDidHide=new Emitter$3,this._onDidShow=new Emitter$3,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Emitter$3,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new ResizableHTMLElement$1,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new SuggestContentWidget$1(this,e),this._persistedSize=new PersistedWidgetSize$1(t,e);class y{constructor(oe,re,ae=!1,le=!1){this.persistedSize=oe,this.currentSize=re,this.persistHeight=ae,this.persistWidth=le}}let k;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),k=new y(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(ie=>{var oe,re,ae,le;if(this._resize(ie.dimension.width,ie.dimension.height),k&&(k.persistHeight=k.persistHeight||!!ie.north||!!ie.south,k.persistWidth=k.persistWidth||!!ie.east||!!ie.west),!!ie.done){if(k){const{itemHeight:de,defaultSize:ue}=this.getLayoutInfo(),he=Math.round(de/2);let{width:pe,height:Ce}=this.element.size;(!k.persistHeight||Math.abs(k.currentSize.height-Ce)<=he)&&(Ce=(re=(oe=k.persistedSize)==null?void 0:oe.height)!=null?re:ue.height),(!k.persistWidth||Math.abs(k.currentSize.width-pe)<=he)&&(pe=(le=(ae=k.persistedSize)==null?void 0:ae.width)!=null?le:ue.width),this._persistedSize.store(new Dimension$1(pe,Ce))}this._contentWidget.unlockPreference(),k=void 0}})),this._messageElement=append$4(this.element.domNode,$$u(".message")),this._listElement=append$4(this.element.domNode,$$u(".tree"));const L=this._disposables.add(g.createInstance(SuggestDetailsWidget$1,this.editor));L.onDidClose(this.toggleDetails,this,this._disposables),this._details=new SuggestDetailsOverlay$1(L,this.editor);const V=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(119).showIcons);V();const z=g.createInstance(ItemRenderer$1,this.editor);this._disposables.add(z),this._disposables.add(z.onDidToggleDetails(()=>this.toggleDetails())),this._list=new List$1("SuggestWidget",this._listElement,{getHeight:ie=>this.getLayoutInfo().itemHeight,getTemplateId:ie=>"suggestion"},[z],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>localize$1("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:ie=>{let oe=ie.textLabel;if(typeof ie.completion.label!="string"){const{detail:de,description:ue}=ie.completion.label;de&&ue?oe=localize$1("label.full","{0} {1}, {2}",oe,de,ue):de?oe=localize$1("label.detail","{0} {1}",oe,de):ue&&(oe=localize$1("label.desc","{0}, {1}",oe,ue))}if(!ie.isResolved||!this._isDetailsVisible())return oe;const{documentation:re,detail:ae}=ie.completion,le=format$2("{0}{1}",ae||"",re?typeof re=="string"?re:re.value:"");return localize$1("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",oe,le)}}}),this._list.style(getListStyles$1({listInactiveFocusBackground:editorSuggestWidgetSelectedBackground$1,listInactiveFocusOutline:activeContrastBorder$1})),this._status=g.createInstance(SuggestWidgetStatus$1,this.element.domNode,suggestWidgetStatusbarMenu$1);const j=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(119).showStatusBar);j(),this._disposables.add(r.onDidColorThemeChange(ie=>this._onThemeChange(ie))),this._onThemeChange(r.getColorTheme()),this._disposables.add(this._list.onMouseDown(ie=>this._onListMouseDownOrTap(ie))),this._disposables.add(this._list.onTap(ie=>this._onListMouseDownOrTap(ie))),this._disposables.add(this._list.onDidChangeSelection(ie=>this._onListSelection(ie))),this._disposables.add(this._list.onDidChangeFocus(ie=>this._onListFocus(ie))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(ie=>{ie.hasChanged(119)&&(j(),V()),this._completionModel&&(ie.hasChanged(50)||ie.hasChanged(120)||ie.hasChanged(121))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Context$4.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Context$4.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Context$4.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Context$4.HasFocusedSuggestion.bindTo(i),this._disposables.add(addStandardDisposableListener$1(this._details.widget.domNode,"keydown",ie=>{this._onDetailsKeydown.fire(ie)})),this._disposables.add(this.editor.onMouseDown(ie=>this._onEditorMouseDown(ie)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)==null||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=isHighContrast$1(e.type)?2:1}_onListFocus(e){var r;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const t=e.elements[0],i=e.indexes[0];t!==this._focusedItem&&((r=this._currentSuggestionDetails)==null||r.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=t,this._list.reveal(i),this._currentSuggestionDetails=createCancelablePromise$1(async g=>{const y=disposableTimeout$1(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),k=g.onCancellationRequested(()=>y.dispose());try{return await t.resolve(g)}finally{y.dispose(),k.dispose()}}),this._currentSuggestionDetails.then(()=>{i>=this._list.length||t!==this._list.element(i)||(this._ignoreFocusEvents=!0,this._list.splice(i,1,[t]),this._list.setFocus([i]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:getAriaId$1(i)}))}).catch(onUnexpectedError$1)),this._onDidFocus.fire({item:t,index:i,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:hide$3(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=SuggestWidget_1$1.LOADING_MESSAGE,hide$3(this._listElement,this._status.element),show$1(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status$1(SuggestWidget_1$1.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=SuggestWidget_1$1.NO_SUGGESTIONS_MESSAGE,hide$3(this._listElement,this._status.element),show$1(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status$1(SuggestWidget_1$1.NO_SUGGESTIONS_MESSAGE);break;case 3:hide$3(this._messageElement),show$1(this._listElement,this._status.element),this._show();break;case 4:hide$3(this._messageElement),show$1(this._listElement,this._status.element),this._show();break;case 5:hide$3(this._messageElement),show$1(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=disposableTimeout$1(()=>this._setState(1),t)))}showSuggestions(e,t,i,r,g){var L,V;if(this._contentWidget.setPosition(this.editor.getPosition()),(L=this._loadingTimeout)==null||L.dispose(),(V=this._currentSuggestionDetails)==null||V.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const y=this._completionModel.items.length,k=y===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(y>1),k){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(g?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=runAtThisOrScheduleAtNextAnimationFrame$1(getWindow$3(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(canExpandCompletionItem$1(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=runAtThisOrScheduleAtNextAnimationFrame$1(getWindow$3(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var i;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(i=this._loadingTimeout)==null||i.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const e=this._persistedSize.restore(),t=Math.ceil(this.getLayoutInfo().itemHeight*4.3);e&&e.heightV&&(g=V);const z=this._completionModel?this._completionModel.stats.pLabelLen*i.typicalHalfwidthCharacterWidth:g,j=i.statusBarHeight+this._list.contentHeight+i.borderHeight,ie=i.itemHeight+i.statusBarHeight,oe=getDomNodePagePosition$1(this.editor.getDomNode()),re=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),ae=oe.top+re.top+re.height,le=Math.min(t.height-ae-i.verticalPadding,j),de=oe.top+re.top-i.verticalPadding,ue=Math.min(de,j);let he=Math.min(Math.max(ue,le)+i.borderHeight,j);r===((y=this._cappedHeight)==null?void 0:y.capped)&&(r=this._cappedHeight.wanted),rhe&&(r=he),r>le||this._forceRenderingAbove&&de>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),he=ue):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),he=le),this.element.preferredSize=new Dimension$1(z,i.defaultSize.height),this.element.maxSize=new Dimension$1(V,he),this.element.minSize=new Dimension$1(220,ie),this._cappedHeight=r===j?{wanted:(L=(k=this._cappedHeight)==null?void 0:k.wanted)!=null?L:e.height,capped:r}:void 0}this._resize(g,r)}_resize(e,t){const{width:i,height:r}=this.element.maxSize;e=Math.min(i,e),t=Math.min(r,t);const{statusBarHeight:g}=this.getLayoutInfo();this._list.layout(t-g,e),this._listElement.style.height="".concat(t-g,"px"),this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())==null?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=clamp$1(this.editor.getOption(121)||e.lineHeight,8,1e3),i=!this.editor.getOption(119).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.borderWidth,g=2*r;return{itemHeight:t,statusBarHeight:i,borderWidth:r,borderHeight:g,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Dimension$1(430,i+12*t+g)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}},SuggestWidget_1$1=Qr,Qr.LOADING_MESSAGE=localize$1("suggestWidget.loading","Loading..."),Qr.NO_SUGGESTIONS_MESSAGE=localize$1("suggestWidget.noSuggestions","No suggestions."),Qr);SuggestWidget$1=SuggestWidget_1$1=__decorate$3j([__param$39(1,IStorageService$1),__param$39(2,IContextKeyService$1),__param$39(3,IThemeService$1),__param$39(4,IInstantiationService$1)],SuggestWidget$1);let SuggestContentWidget$1=class{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:r}=this._widget.getLayoutInfo();return new Dimension$1(t+2*i+r,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}};var __decorate$3i=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$38=function(n,e){return function(t,i){e(t,i,n)}},SuggestController_1$1;let LineSuffix$1=class{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=ModelDecorationOptions$1.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const r=e.getOffsetAt(t),g=e.getPositionAt(r+1);e.changeDecorations(y=>{this._marker&&y.removeDecoration(this._marker),this._marker=y.addDecoration(Range$5.fromPositions(t,g),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}};var Ya;let SuggestController$1=(Ya=class{static get(e){return e.getContribution(SuggestController_1$1.ID)}constructor(e,t,i,r,g,y,k){this._memoryService=t,this._commandService=i,this._contextKeyService=r,this._instantiationService=g,this._logService=y,this._telemetryService=k,this._lineSuffix=new MutableDisposable$1,this._toDispose=new DisposableStore$1,this._selectors=new PriorityRegistry$1(j=>j.priority),this._onWillInsertSuggestItem=new Emitter$3,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=g.createInstance(SuggestModel$1,this.editor),this._selectors.register({priority:0,select:(j,ie,oe)=>this._memoryService.select(j,ie,oe)});const L=Context$4.InsertMode.bindTo(r);L.set(e.getOption(119).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>L.set(e.getOption(119).insertMode))),this.widget=this._toDispose.add(new WindowIdleValue$1(getWindow$3(e.getDomNode()),()=>{const j=this._instantiationService.createInstance(SuggestWidget$1,this.editor);this._toDispose.add(j),this._toDispose.add(j.onDidSelect(le=>this._insertSuggestion(le,0),this));const ie=new CommitCharacterController$1(this.editor,j,this.model,le=>this._insertSuggestion(le,2));this._toDispose.add(ie);const oe=Context$4.MakesTextEdit.bindTo(this._contextKeyService),re=Context$4.HasInsertAndReplaceRange.bindTo(this._contextKeyService),ae=Context$4.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(toDisposable$1(()=>{oe.reset(),re.reset(),ae.reset()})),this._toDispose.add(j.onDidFocus(({item:le})=>{const de=this.editor.getPosition(),ue=le.editStart.column,he=de.column;let pe=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!le.completion.additionalTextEdits&&!(le.completion.insertTextRules&4)&&he-ue===le.completion.insertText.length&&(pe=this.editor.getModel().getValueInRange({startLineNumber:de.lineNumber,startColumn:ue,endLineNumber:de.lineNumber,endColumn:he})!==le.completion.insertText),oe.set(pe),re.set(!Position$3.equals(le.editInsertEnd,le.editReplaceEnd)),ae.set(!!le.provider.resolveCompletionItem||!!le.completion.documentation||le.completion.detail!==le.completion.label)})),this._toDispose.add(j.onDetailsKeyDown(le=>{if(le.toKeyCodeChord().equals(new KeyCodeChord$1(!0,!1,!1,!1,33))||isMacintosh$1&&le.toKeyCodeChord().equals(new KeyCodeChord$1(!1,!1,!1,!0,33))){le.stopPropagation();return}le.toKeyCodeChord().isModifierKey()||this.editor.focus()})),j})),this._overtypingCapturer=this._toDispose.add(new WindowIdleValue$1(getWindow$3(e.getDomNode()),()=>this._toDispose.add(new OvertypingCapturer$1(this.editor,this.model)))),this._alternatives=this._toDispose.add(new WindowIdleValue$1(getWindow$3(e.getDomNode()),()=>this._toDispose.add(new SuggestAlternatives$1(this.editor,this._contextKeyService)))),this._toDispose.add(g.createInstance(WordContextKey$1,e)),this._toDispose.add(this.model.onDidTrigger(j=>{this.widget.value.showTriggered(j.auto,j.shy?250:50),this._lineSuffix.value=new LineSuffix$1(this.editor.getModel(),j.position)})),this._toDispose.add(this.model.onDidSuggest(j=>{if(j.triggerOptions.shy)return;let ie=-1;for(const re of this._selectors.itemsOrderedByPriorityDesc)if(ie=re.select(this.editor.getModel(),this.editor.getPosition(),j.completionModel.items),ie!==-1)break;if(ie===-1&&(ie=0),this.model.state===0)return;let oe=!1;if(j.triggerOptions.auto){const re=this.editor.getOption(119);re.selectionMode==="never"||re.selectionMode==="always"?oe=re.selectionMode==="never":re.selectionMode==="whenTriggerCharacter"?oe=j.triggerOptions.triggerKind!==1:re.selectionMode==="whenQuickSuggestion"&&(oe=j.triggerOptions.triggerKind===1&&!j.triggerOptions.refilter)}this.widget.value.showSuggestions(j.completionModel,ie,j.isFrozen,j.triggerOptions.auto,oe)})),this._toDispose.add(this.model.onDidCancel(j=>{j.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const V=Context$4.AcceptSuggestionsOnEnter.bindTo(r),z=()=>{const j=this.editor.getOption(1);V.set(j==="on"||j==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>z())),z()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=SnippetController2$1.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const r=this.editor.getModel(),g=r.getAlternativeVersionId(),{item:y}=e,k=[],L=new CancellationTokenSource$3;t&1||this.editor.pushUndoStop();const V=this.getOverwriteInfo(y,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),y);const z=y.isResolved;let j=-1,ie=-1;if(Array.isArray(y.completion.additionalTextEdits)){this.model.cancel();const re=StableEditorScrollState$1.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",y.completion.additionalTextEdits.map(ae=>{let le=Range$5.lift(ae.range);if(le.startLineNumber===y.position.lineNumber&&le.startColumn>y.position.column){const de=this.editor.getPosition().column-y.position.column,ue=de,he=Range$5.spansMultipleLines(le)?0:de;le=new Range$5(le.startLineNumber,le.startColumn+ue,le.endLineNumber,le.endColumn+he)}return EditOperation$1.replaceMove(le,ae.text)})),re.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!z){const re=new StopWatch$1;let ae;const le=r.onDidChangeContent(pe=>{if(pe.isFlush){L.cancel(),le.dispose();return}for(const Ce of pe.changes){const $e=Range$5.getEndPosition(Ce.range);(!ae||Position$3.isBefore($e,ae))&&(ae=$e)}}),de=t;t|=2;let ue=!1;const he=this.editor.onWillType(()=>{he.dispose(),ue=!0,de&2||this.editor.pushUndoStop()});k.push(y.resolve(L.token).then(()=>{if(!y.completion.additionalTextEdits||L.token.isCancellationRequested)return;if(ae&&y.completion.additionalTextEdits.some(Ce=>Position$3.isBefore(ae,Range$5.getStartPosition(Ce.range))))return!1;ue&&this.editor.pushUndoStop();const pe=StableEditorScrollState$1.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",y.completion.additionalTextEdits.map(Ce=>EditOperation$1.replaceMove(Range$5.lift(Ce.range),Ce.text))),pe.restoreRelativeVerticalPositionOfCursor(this.editor),(ue||!(de&2))&&this.editor.pushUndoStop(),!0}).then(pe=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",re.elapsed(),pe),ie=pe===!0?1:pe===!1?0:-2}).finally(()=>{le.dispose(),he.dispose()}))}let{insertText:oe}=y.completion;if(y.completion.insertTextRules&4||(oe=SnippetParser$1.escape(oe)),this.model.cancel(),i.insert(oe,{overwriteBefore:V.overwriteBefore,overwriteAfter:V.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(y.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),y.completion.command)if(y.completion.command.id===TriggerSuggestAction$1.id)this.model.trigger({auto:!0,retrigger:!0});else{const re=new StopWatch$1;k.push(this._commandService.executeCommand(y.completion.command.id,...y.completion.command.arguments?[...y.completion.command.arguments]:[]).catch(ae=>{y.completion.extensionId?onUnexpectedExternalError$1(ae):onUnexpectedError$1(ae)}).finally(()=>{j=re.elapsed()}))}t&4&&this._alternatives.value.set(e,re=>{for(L.cancel();r.canUndo();){g!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(re,3|(t&8?8:0));break}}),this._alertCompletionItem(y),Promise.all(k).finally(()=>{this._reportSuggestionAcceptedTelemetry(y,r,z,j,ie,e.index,e.model.items),this.model.clear(),L.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,r,g,y,k){var ie,oe,re;if(Math.floor(Math.random()*100)===0)return;const L=new Map;for(let ae=0;ae1?V[0]:-1;this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:(oe=(ie=e.extensionId)==null?void 0:ie.value)!=null?oe:"unknown",providerId:(re=e.provider._debugDisplayName)!=null?re:"unknown",kind:e.completion.kind,basenameHash:hash$4(basename$2(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:extname$2(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:g,index:y,firstIndex:j})}getOverwriteInfo(e,t){assertType$1(this.editor.hasModel());let i=this.editor.getOption(119).insertMode==="replace";t&&(i=!i);const r=e.position.column-e.editStart.column,g=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,y=this.editor.getPosition().column-e.position.column,k=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+y,overwriteAfter:g+k}}_alertCompletionItem(e){if(isNonEmptyArray$1(e.completion.additionalTextEdits)){const t=localize$1("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);alert$1(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t!=null?t:!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=g=>{if(g.completion.insertTextRules&4||g.completion.additionalTextEdits)return!0;const y=this.editor.getPosition(),k=g.editStart.column,L=y.column;return L-k!==g.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:y.lineNumber,startColumn:k,endLineNumber:y.lineNumber,endColumn:L})!==g.completion.insertText};Event$2.once(this.model.onDidTrigger)(g=>{const y=[];Event$2.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{dispose$1(y),i()},void 0,y),this.model.onDidSuggest(({completionModel:k})=>{if(dispose$1(y),k.items.length===0){i();return}const L=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),k.items),V=k.items[L];if(!r(V)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:L,item:V,model:k},7)},void 0,y)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(i,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}},SuggestController_1$1=Ya,Ya.ID="editor.contrib.suggestController",Ya);SuggestController$1=SuggestController_1$1=__decorate$3i([__param$38(1,ISuggestMemoryService$1),__param$38(2,ICommandService$1),__param$38(3,IContextKeyService$1),__param$38(4,IInstantiationService$1),__param$38(5,ILogService$1),__param$38(6,ITelemetryService$1)],SuggestController$1);let PriorityRegistry$1=class{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}};var Xa;let TriggerSuggestAction$1=(Xa=class extends EditorAction$1{constructor(){super({id:Xa.id,label:localize$1("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasCompletionItemProvider,Context$4.Visible.toNegated()),kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const r=SuggestController$1.get(t);if(!r)return;let g;i&&typeof i=="object"&&i.auto===!0&&(g=!0),r.triggerSuggest(void 0,g,void 0)}},Xa.id="editor.action.triggerSuggest",Xa);registerEditorContribution$1(SuggestController$1.ID,SuggestController$1,2);registerEditorAction$1(TriggerSuggestAction$1);const weight$6=190,SuggestCommand$1=EditorCommand$1.bindToContribution(SuggestController$1.get);registerEditorCommand$1(new SuggestCommand$1({id:"acceptSelectedSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,Context$4.HasFocusedSuggestion),handler(n){n.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ContextKeyExpr$1.and(Context$4.Visible,EditorContextKeys$1.textInputFocus),weight:weight$6},{primary:3,kbExpr:ContextKeyExpr$1.and(Context$4.Visible,EditorContextKeys$1.textInputFocus,Context$4.AcceptSuggestionsOnEnter,Context$4.MakesTextEdit),weight:weight$6}],menuOpts:[{menuId:suggestWidgetStatusbarMenu$1,title:localize$1("accept.insert","Insert"),group:"left",order:1,when:Context$4.HasInsertAndReplaceRange.toNegated()},{menuId:suggestWidgetStatusbarMenu$1,title:localize$1("accept.insert","Insert"),group:"left",order:1,when:ContextKeyExpr$1.and(Context$4.HasInsertAndReplaceRange,Context$4.InsertMode.isEqualTo("insert"))},{menuId:suggestWidgetStatusbarMenu$1,title:localize$1("accept.replace","Replace"),group:"left",order:1,when:ContextKeyExpr$1.and(Context$4.HasInsertAndReplaceRange,Context$4.InsertMode.isEqualTo("replace"))}]}));registerEditorCommand$1(new SuggestCommand$1({id:"acceptAlternativeSelectedSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,EditorContextKeys$1.textInputFocus,Context$4.HasFocusedSuggestion),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:1027,secondary:[1026]},handler(n){n.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:suggestWidgetStatusbarMenu$1,group:"left",order:2,when:ContextKeyExpr$1.and(Context$4.HasInsertAndReplaceRange,Context$4.InsertMode.isEqualTo("insert")),title:localize$1("accept.replace","Replace")},{menuId:suggestWidgetStatusbarMenu$1,group:"left",order:2,when:ContextKeyExpr$1.and(Context$4.HasInsertAndReplaceRange,Context$4.InsertMode.isEqualTo("replace")),title:localize$1("accept.insert","Insert")}]}));CommandsRegistry$1.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");registerEditorCommand$1(new SuggestCommand$1({id:"hideSuggestWidget",precondition:Context$4.Visible,handler:n=>n.cancelSuggestWidget(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:9,secondary:[1033]}}));registerEditorCommand$1(new SuggestCommand$1({id:"selectNextSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectNextSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));registerEditorCommand$1(new SuggestCommand$1({id:"selectNextPageSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectNextPageSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:12,secondary:[2060]}}));registerEditorCommand$1(new SuggestCommand$1({id:"selectLastSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectLastSuggestion()}));registerEditorCommand$1(new SuggestCommand$1({id:"selectPrevSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));registerEditorCommand$1(new SuggestCommand$1({id:"selectPrevPageSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevPageSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:11,secondary:[2059]}}));registerEditorCommand$1(new SuggestCommand$1({id:"selectFirstSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,ContextKeyExpr$1.or(Context$4.MultipleSuggestions,Context$4.HasFocusedSuggestion.negate())),handler:n=>n.selectFirstSuggestion()}));registerEditorCommand$1(new SuggestCommand$1({id:"focusSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,Context$4.HasFocusedSuggestion.negate()),handler:n=>n.focusSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));registerEditorCommand$1(new SuggestCommand$1({id:"focusAndAcceptSuggestion",precondition:ContextKeyExpr$1.and(Context$4.Visible,Context$4.HasFocusedSuggestion.negate()),handler:n=>{n.focusSuggestion(),n.acceptSelectedSuggestion(!0,!1)}}));registerEditorCommand$1(new SuggestCommand$1({id:"toggleSuggestionDetails",precondition:ContextKeyExpr$1.and(Context$4.Visible,Context$4.HasFocusedSuggestion),handler:n=>n.toggleSuggestionDetails(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:suggestWidgetStatusbarMenu$1,group:"right",order:1,when:ContextKeyExpr$1.and(Context$4.DetailsVisible,Context$4.CanResolve),title:localize$1("detail.more","Show Less")},{menuId:suggestWidgetStatusbarMenu$1,group:"right",order:1,when:ContextKeyExpr$1.and(Context$4.DetailsVisible.toNegated(),Context$4.CanResolve),title:localize$1("detail.less","Show More")}]}));registerEditorCommand$1(new SuggestCommand$1({id:"toggleExplainMode",precondition:Context$4.Visible,handler:n=>n.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));registerEditorCommand$1(new SuggestCommand$1({id:"toggleSuggestionFocus",precondition:Context$4.Visible,handler:n=>n.toggleSuggestionFocus(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:2570,mac:{primary:778}}}));registerEditorCommand$1(new SuggestCommand$1({id:"insertBestCompletion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,ContextKeyExpr$1.equals("config.editor.tabCompletion","on"),WordContextKey$1.AtEnd,Context$4.Visible.toNegated(),SuggestAlternatives$1.OtherSuggestions.toNegated(),SnippetController2$1.InSnippetMode.toNegated()),handler:(n,e)=>{n.triggerSuggestAndAcceptBest(isObject$7(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:weight$6,primary:2}}));registerEditorCommand$1(new SuggestCommand$1({id:"insertNextSuggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,ContextKeyExpr$1.equals("config.editor.tabCompletion","on"),SuggestAlternatives$1.OtherSuggestions,Context$4.Visible.toNegated(),SnippetController2$1.InSnippetMode.toNegated()),handler:n=>n.acceptNextSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:2}}));registerEditorCommand$1(new SuggestCommand$1({id:"insertPrevSuggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,ContextKeyExpr$1.equals("config.editor.tabCompletion","on"),SuggestAlternatives$1.OtherSuggestions,Context$4.Visible.toNegated(),SnippetController2$1.InSnippetMode.toNegated()),handler:n=>n.acceptPrevSuggestion(),kbOpts:{weight:weight$6,kbExpr:EditorContextKeys$1.textInputFocus,primary:1026}}));registerEditorAction$1(class extends EditorAction$1{constructor(){super({id:"editor.action.resetSuggestSize",label:localize$1("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(n,e){var t;(t=SuggestController$1.get(e))==null||t.resetWidgetSize()}});let SuggestWidgetAdaptor$1=class extends Disposable$1{get selectedItem(){return this._currentSuggestItemInfo}constructor(e,t,i){super(),this.editor=e,this.suggestControllerPreselector=t,this.onWillAccept=i,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._onDidSelectedItemChange=this._register(new Emitter$3),this.onDidSelectedItemChange=this._onDidSelectedItemChange.event,this._register(e.onKeyDown(g=>{g.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(g=>{g.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const r=SuggestController$1.get(this.editor);if(r){this._register(r.registerSelector({priority:100,select:(k,L,V)=>{const z=this.editor.getModel();if(!z)return-1;const j=this.suggestControllerPreselector(),ie=j?singleTextRemoveCommonPrefix$1(j,z):void 0;if(!ie)return-1;const oe=Position$3.lift(L),re=V.map((le,de)=>{const ue=SuggestItemInfo$1.fromSuggestion(r,z,oe,le,this.isShiftKeyPressed),he=singleTextRemoveCommonPrefix$1(ue.toSingleTextEdit(),z),pe=singleTextEditAugments$1(ie,he);return{index:de,valid:pe,prefixLength:he.text.length,suggestItem:le}}).filter(le=>le&&le.valid&&le.prefixLength>0),ae=findFirstMax(re,compareBy$1(le=>le.prefixLength,numberComparator$1));return ae?ae.index:-1}}));let g=!1;const y=()=>{g||(g=!0,this._register(r.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(r.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(r.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Event$2.once(r.model.onDidTrigger)(k=>{y()})),this._register(r.onWillInsertSuggestItem(k=>{const L=this.editor.getPosition(),V=this.editor.getModel();if(!L||!V)return;const z=SuggestItemInfo$1.fromSuggestion(r,V,L,k.item,this.isShiftKeyPressed);this.onWillAccept(z)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!suggestItemInfoEquals$1(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,this._onDidSelectedItemChange.fire())}getSuggestItemInfo(){const e=SuggestController$1.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),r=this.editor.getModel();if(!(!t||!i||!r))return SuggestItemInfo$1.fromSuggestion(e,r,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=SuggestController$1.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=SuggestController$1.get(this.editor);e==null||e.forceRenderingAbove()}},SuggestItemInfo$1=class Vh{static fromSuggestion(e,t,i,r,g){let{insertText:y}=r.completion,k=!1;if(r.completion.insertTextRules&4){const V=new SnippetParser$1().parse(y);V.children.length<100&&SnippetSession$1.adjustWhitespace(t,i,!0,V),y=V.toString(),k=!0}const L=e.getOverwriteInfo(r,g);return new Vh(Range$5.fromPositions(i.delta(0,-L.overwriteBefore),i.delta(0,Math.max(L.overwriteAfter,0))),y,r.completion.kind,k)}constructor(e,t,i,r){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=r}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new SelectedSuggestionInfo$1(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new SingleTextEdit$1(this.range,this.insertText)}};function suggestItemInfoEquals$1(n,e){return n===e?!0:!n||!e?!1:n.equals(e)}var __decorate$3h=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$37=function(n,e){return function(t,i){e(t,i,n)}},InlineCompletionsController_1$1,Za;let InlineCompletionsController$1=(Za=class extends Disposable$1{static get(e){return e.getContribution(InlineCompletionsController_1$1.ID)}constructor(e,t,i,r,g,y,k,L,V,z){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=r,this._commandService=g,this._debounceService=y,this._languageFeaturesService=k,this._accessibilitySignalService=L,this._keybindingService=V,this._accessibilityService=z,this._editorObs=observableCodeEditor(this.editor),this._positions=derived$1(this,ie=>{var oe,re;return(re=(oe=this._editorObs.selections.read(ie))==null?void 0:oe.map(ae=>ae.getEndPosition()))!=null?re:[new Position$3(1,1)]}),this._suggestWidgetAdaptor=this._register(new SuggestWidgetAdaptor$1(this.editor,()=>{var ie,oe;return this._editorObs.forceUpdate(),(oe=(ie=this.model.get())==null?void 0:ie.selectedInlineCompletion.get())==null?void 0:oe.toSingleTextEdit(void 0)},ie=>this._editorObs.forceUpdate(oe=>{var re;(re=this.model.get())==null||re.handleSuggestAccepted(ie)}))),this._suggestWidgetSelectedItem=observableFromEvent$1(this,ie=>this._suggestWidgetAdaptor.onDidSelectedItemChange(()=>{this._editorObs.forceUpdate(oe=>ie(void 0))}),()=>this._suggestWidgetAdaptor.selectedItem),this._enabledInConfig=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._isScreenReaderEnabled=observableFromEvent$1(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this._editorDictationInProgress=observableFromEvent$1(this,this._contextKeyService.onDidChangeContext,()=>this._contextKeyService.getContext(this.editor.getDomNode()).getValue("editorDictation.inProgress")===!0),this._enabled=derived$1(this,ie=>this._enabledInConfig.read(ie)&&(!this._isScreenReaderEnabled.read(ie)||!this._editorDictationInProgress.read(ie))),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this.model=derivedDisposable$1(this,ie=>{if(this._editorObs.isReadonly.read(ie))return;const oe=this._editorObs.model.read(ie);return oe?this._instantiationService.createInstance(InlineCompletionsModel$1,oe,this._suggestWidgetSelectedItem,this._editorObs.versionId,this._positions,this._debounceValue,observableFromEvent$1(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).preview),observableFromEvent$1(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(119).previewMode),observableFromEvent$1(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).mode),this._enabled):void 0}).recomputeInitiallyAndOnChange(this._store),this._ghostTexts=derived$1(this,ie=>{var re;const oe=this.model.read(ie);return(re=oe==null?void 0:oe.ghostTexts.read(ie))!=null?re:[]}),this._stablizedGhostTexts=convertItemsToStableObservables$1(this._ghostTexts,this._store),this._ghostTextWidgets=mapObservableArrayCached$1(this,this._stablizedGhostTexts,(ie,oe)=>oe.add(this._instantiationService.createInstance(GhostTextView,this.editor,{ghostText:ie,minReservedLineCount:constObservable$1(0),targetTextModel:this.model.map(re=>re==null?void 0:re.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._playAccessibilitySignal=observableSignal$1(this),this._fontFamily=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._register(new InlineCompletionContextKeys$1(this._contextKeyService,this.model)),this._register(reactToChange(this._editorObs.onDidType,(ie,oe)=>{var re;this._enabled.get()&&((re=this.model.get())==null||re.trigger())})),this._register(this._commandService.onDidExecuteCommand(ie=>{new Set([CoreEditingCommands$1.Tab.id,CoreEditingCommands$1.DeleteLeft.id,CoreEditingCommands$1.DeleteRight.id,inlineSuggestCommitId$1,"acceptSelectedSuggestion"]).has(ie.commandId)&&e.hasTextFocus()&&this._enabled.get()&&this._editorObs.forceUpdate(re=>{var ae;(ae=this.model.get())==null||ae.trigger(re)})})),this._register(reactToChange(this._editorObs.selections,(ie,oe)=>{var re;oe.some(ae=>ae.reason===3||ae.source==="api")&&((re=this.model.get())==null||re.stop())})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||InlineSuggestionHintsContentWidget$1.dropDownVisible||transaction$1(ie=>{var oe;(oe=this.model.get())==null||oe.stop(ie)})})),this._register(autorun$1(ie=>{var re;const oe=(re=this.model.read(ie))==null?void 0:re.state.read(ie);oe!=null&&oe.suggestItem?oe.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(toDisposable$1(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));const j=derivedObservableWithCache$1(this,(ie,oe)=>{var le;const re=this.model.read(ie),ae=re==null?void 0:re.state.read(ie);return this._suggestWidgetSelectedItem.get()?oe:(le=ae==null?void 0:ae.inlineCompletion)==null?void 0:le.semanticId});this._register(reactToChangeWithStore(derived$1(ie=>(this._playAccessibilitySignal.read(ie),j.read(ie),{})),async(ie,oe,re)=>{const ae=this.model.get(),le=ae==null?void 0:ae.state.get();if(!le||!ae)return;const de=ae.textModel.getLineContent(le.primaryGhostText.lineNumber);await timeout$1(50,cancelOnDispose(re)),await waitForState$1(this._suggestWidgetSelectedItem,isUndefined$5,()=>!1,cancelOnDispose(re)),await this._accessibilitySignalService.playSignal(AccessibilitySignal$1.inlineSuggestion),this.editor.getOption(8)&&this._provideScreenReaderUpdate(le.primaryGhostText.renderForScreenReader(de))})),this._register(new InlineCompletionsHintsWidget$1(this.editor,this.model,this._instantiationService)),this._register(createStyleSheetFromObservable(derived$1(ie=>{const oe=this._fontFamily.read(ie);return oe===""||oe==="default"?"":"\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n font-family: ".concat(oe,";\n}")}))),this._register(this._configurationService.onDidChangeConfiguration(ie=>{ie.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}_provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let r;!t&&i&&this.editor.getOption(150)&&(r=localize$1("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),alert$1(r?e+", "+r:e)}shouldShowHoverAt(e){var i;const t=(i=this.model.get())==null?void 0:i.primaryGhostText.get();return t?t.parts.some(r=>e.containsPosition(new Position$3(t.lineNumber,r.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._ghostTextWidgets.get()[0])==null?void 0:t.ownsViewZone(e))!=null?i:!1}},InlineCompletionsController_1$1=Za,Za.ID="editor.contrib.inlineCompletionsController",Za);InlineCompletionsController$1=InlineCompletionsController_1$1=__decorate$3h([__param$37(1,IInstantiationService$1),__param$37(2,IContextKeyService$1),__param$37(3,IConfigurationService$1),__param$37(4,ICommandService$1),__param$37(5,ILanguageFeatureDebounceService$1),__param$37(6,ILanguageFeaturesService$1),__param$37(7,IAccessibilitySignalService$1),__param$37(8,IKeybindingService$1),__param$37(9,IAccessibilityService$1)],InlineCompletionsController$1);function convertItemsToStableObservables$1(n,e){const t=observableValue$1("result",[]),i=[];return e.add(autorun$1(r=>{const g=n.read(r);transaction$1(y=>{if(g.length!==i.length){i.length=g.length;for(let k=0;kk.set(g[L],y))})})),t}var Qa;let ShowNextInlineSuggestionAction$1=(Qa=class extends EditorAction$1{constructor(){super({id:Qa.ID,label:localize$1("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineCompletionContextKeys$1.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var r;const i=InlineCompletionsController$1.get(t);(r=i==null?void 0:i.model.get())==null||r.next()}},Qa.ID=showNextInlineSuggestionActionId$1,Qa);var Ja;let ShowPreviousInlineSuggestionAction$1=(Ja=class extends EditorAction$1{constructor(){super({id:Ja.ID,label:localize$1("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineCompletionContextKeys$1.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var r;const i=InlineCompletionsController$1.get(t);(r=i==null?void 0:i.model.get())==null||r.previous()}},Ja.ID=showPreviousInlineSuggestionActionId$1,Ja),TriggerInlineSuggestionAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:localize$1("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:EditorContextKeys$1.writable})}async run(e,t){const i=InlineCompletionsController$1.get(t);await asyncTransaction$1(async r=>{var g;await((g=i==null?void 0:i.model.get())==null?void 0:g.triggerExplicitly(r)),i==null||i.playAccessibilitySignal(r)})}},AcceptNextWordOfInlineCompletion$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:localize$1("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineCompletionContextKeys$1.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineCompletionContextKeys$1.inlineSuggestionVisible)},menuOpts:[{menuId:MenuId$1.InlineSuggestionToolbar,title:localize$1("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var r;const i=InlineCompletionsController$1.get(t);await((r=i==null?void 0:i.model.get())==null?void 0:r.acceptNextWord(i.editor))}},AcceptNextLineOfInlineCompletion$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:localize$1("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineCompletionContextKeys$1.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:MenuId$1.InlineSuggestionToolbar,title:localize$1("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var r;const i=InlineCompletionsController$1.get(t);await((r=i==null?void 0:i.model.get())==null?void 0:r.acceptNextLine(i.editor))}},AcceptInlineCompletion$1=class extends EditorAction$1{constructor(){super({id:inlineSuggestCommitId$1,label:localize$1("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:InlineCompletionContextKeys$1.inlineSuggestionVisible,menuOpts:[{menuId:MenuId$1.InlineSuggestionToolbar,title:localize$1("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ContextKeyExpr$1.and(InlineCompletionContextKeys$1.inlineSuggestionVisible,EditorContextKeys$1.tabMovesFocus.toNegated(),InlineCompletionContextKeys$1.inlineSuggestionHasIndentationLessThanTabSize,Context$4.Visible.toNegated(),EditorContextKeys$1.hoverFocused.toNegated())}})}async run(e,t){var r;const i=InlineCompletionsController$1.get(t);i&&((r=i.model.get())==null||r.accept(i.editor),i.editor.focus())}};var el;let HideInlineCompletion$1=(el=class extends EditorAction$1{constructor(){super({id:el.ID,label:localize$1("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:InlineCompletionContextKeys$1.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineCompletionsController$1.get(t);transaction$1(r=>{var g;(g=i==null?void 0:i.model.get())==null||g.stop(r)})}},el.ID="editor.action.inlineSuggest.hide",el);var tl;let ToggleAlwaysShowInlineSuggestionToolbar$1=(tl=class extends Action2$1{constructor(){super({id:tl.ID,title:localize$1("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:MenuId$1.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ContextKeyExpr$1.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(IConfigurationService$1),g=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",g)}},tl.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar",tl);var __decorate$3g=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$36=function(n,e){return function(t,i){e(t,i,n)}};let InlineCompletionsHover$1=class{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}},InlineCompletionsHoverParticipant$1=class{constructor(e,t,i,r,g,y){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=r,this._instantiationService=g,this._telemetryService=y,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=InlineCompletionsController$1.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId))return new HoverForeignElementAnchor$1(1e3,this,Range$5.fromPositions(this._editor.getModel().validatePosition(r.positionBefore||r.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor$1(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor$1(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=InlineCompletionsController$1.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new InlineCompletionsHover$1(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new DisposableStore$1,r=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&i.add(this.renderScreenReaderText(e,r));const g=r.controller.model.get(),y=this._instantiationService.createInstance(InlineSuggestionHintsContentWidget$1,this._editor,!1,constObservable$1(null),g.selectedInlineCompletionIndex,g.inlineCompletionsCount,g.activeCommands),k=y.getDomNode();e.fragment.appendChild(k),g.triggerExplicitly(),i.add(y);const L={hoverPart:r,hoverElement:k,dispose(){i.dispose()}};return new RenderedHoverParts([L])}renderScreenReaderText(e,t){const i=new DisposableStore$1,r=$$u,g=r("div.hover-row.markdown-hover"),y=append$4(g,r("div.hover-contents",{"aria-live":"assertive"})),k=i.add(new MarkdownRenderer$1({editor:this._editor},this._languageService,this._openerService)),L=V=>{i.add(k.onDidRenderAsync(()=>{y.className="hover-contents code-hover-contents",e.onContentsChanged()}));const z=localize$1("inlineSuggestionFollows","Suggestion:"),j=i.add(k.render(new MarkdownString$1().appendText(z).appendCodeblock("text",V)));y.replaceChildren(j.element)};return i.add(autorun$1(V=>{var j;const z=(j=t.controller.model.read(V))==null?void 0:j.primaryGhostText.read(V);if(z){const ie=this._editor.getModel().getLineContent(z.lineNumber);L(z.renderForScreenReader(ie))}else reset$1(y)})),e.fragment.appendChild(g),i}};InlineCompletionsHoverParticipant$1=__decorate$3g([__param$36(1,ILanguageService$1),__param$36(2,IOpenerService$1),__param$36(3,IAccessibilityService$1),__param$36(4,IInstantiationService$1),__param$36(5,ITelemetryService$1)],InlineCompletionsHoverParticipant$1);class InlineCompletionsAccessibleView{}const AccessibleViewRegistry=new class{constructor(){this._implementations=[]}register(e){return this._implementations.push(e),{dispose:()=>{const t=this._implementations.indexOf(e);t!==-1&&this._implementations.splice(t,1)}}}getImplementations(){return this._implementations}};registerEditorContribution$1(InlineCompletionsController$1.ID,InlineCompletionsController$1,3);registerEditorAction$1(TriggerInlineSuggestionAction$1);registerEditorAction$1(ShowNextInlineSuggestionAction$1);registerEditorAction$1(ShowPreviousInlineSuggestionAction$1);registerEditorAction$1(AcceptNextWordOfInlineCompletion$1);registerEditorAction$1(AcceptNextLineOfInlineCompletion$1);registerEditorAction$1(AcceptInlineCompletion$1);registerEditorAction$1(HideInlineCompletion$1);registerAction2$1(ToggleAlwaysShowInlineSuggestionToolbar$1);HoverParticipantRegistry$1.register(InlineCompletionsHoverParticipant$1);AccessibleViewRegistry.register(new InlineCompletionsAccessibleView);var __decorate$3f=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$35=function(n,e){return function(t,i){e(t,i,n)}},GotoDefinitionAtPositionEditorContribution_1$1,Jr;let GotoDefinitionAtPositionEditorContribution$1=(Jr=class{constructor(e,t,i,r){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=r,this.toUnhook=new DisposableStore$1,this.toUnhookForKeyboard=new DisposableStore$1,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const g=new ClickLinkGesture$1(e);this.toUnhook.add(g),this.toUnhook.add(g.onMouseMoveOrRelevantKeyDown(([y,k])=>{this.startFindDefinitionFromMouse(y,k!=null?k:void 0)})),this.toUnhook.add(g.onExecute(y=>{this.isEnabled(y)&&this.gotoDefinition(y.target.position,y.hasSideBySideModifier).catch(k=>{onUnexpectedError$1(k)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(g.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(GotoDefinitionAtPositionEditorContribution_1$1.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var y;this.toUnhookForKeyboard.clear();const t=e?(y=this.editor.getModel())==null?void 0:y.getWordAtPosition(e):null;if(!t){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===t.startColumn&&this.currentWordAtPosition.endColumn===t.endColumn&&this.currentWordAtPosition.word===t.word)return;this.currentWordAtPosition=t;const i=new EditorState$3(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=createCancelablePromise$1(k=>this.findDefinition(e,k));let r;try{r=await this.previousPromise}catch(k){onUnexpectedError$1(k);return}if(!r||!r.length||!i.validate(this.editor)){this.removeLinkDecorations();return}const g=r[0].originSelectionRange?Range$5.lift(r[0].originSelectionRange):new Range$5(e.lineNumber,t.startColumn,e.lineNumber,t.endColumn);if(r.length>1){let k=g;for(const{originSelectionRange:L}of r)L&&(k=Range$5.plusRange(k,L));this.addDecoration(k,new MarkdownString$1().appendText(localize$1("multipleResults","Click to show {0} definitions.",r.length)))}else{const k=r[0];if(!k.uri)return;this.textModelResolverService.createModelReference(k.uri).then(L=>{if(!L.object||!L.object.textEditorModel){L.dispose();return}const{object:{textEditorModel:V}}=L,{startLineNumber:z}=k.range;if(z<1||z>V.getLineCount()){L.dispose();return}const j=this.getPreviewValue(V,z,k),ie=this.languageService.guessLanguageIdByFilepathOrFirstLine(V.uri);this.addDecoration(g,j?new MarkdownString$1().appendCodeblock(ie||"",j):void 0),L.dispose()})}}getPreviewValue(e,t,i){let r=i.range;return r.endLineNumber-r.startLineNumber>=GotoDefinitionAtPositionEditorContribution_1$1.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,i){let g=e.getLineFirstNonWhitespaceColumn(t);for(let k=t+1;k{const r=!t&&this.editor.getOption(89)&&!this.isInPeekEditor(i);return new DefinitionAction$1({openToSide:t,openInPeek:r,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(IContextKeyService$1);return PeekContext$1.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}},GotoDefinitionAtPositionEditorContribution_1$1=Jr,Jr.ID="editor.contrib.gotodefinitionatposition",Jr.MAX_SOURCE_PREVIEW_LINES=8,Jr);GotoDefinitionAtPositionEditorContribution$1=GotoDefinitionAtPositionEditorContribution_1$1=__decorate$3f([__param$35(1,ITextModelService$1),__param$35(2,ILanguageService$1),__param$35(3,ILanguageFeaturesService$1)],GotoDefinitionAtPositionEditorContribution$1);registerEditorContribution$1(GotoDefinitionAtPositionEditorContribution$1.ID,GotoDefinitionAtPositionEditorContribution$1,2);var __decorate$3e=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$34=function(n,e){return function(t,i){e(t,i,n)}};let MarkerCoordinate$1=class{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}},MarkerList$1=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Emitter$3,this.onDidChange=this._onDidChange.event,this._dispoables=new DisposableStore$1,this._markers=[],this._nextIdx=-1,URI$1.isUri(e)?this._resourceFilter=k=>k.toString()===e.toString():e&&(this._resourceFilter=e);const r=this._configService.getValue("problems.sortOrder"),g=(k,L)=>{let V=compare$1(k.resource.toString(),L.resource.toString());return V===0&&(r==="position"?V=Range$5.compareRangesUsingStarts(k,L)||MarkerSeverity$4.compare(k.severity,L.severity):V=MarkerSeverity$4.compare(k.severity,L.severity)||Range$5.compareRangesUsingStarts(k,L)),V},y=()=>{this._markers=this._markerService.read({resource:URI$1.isUri(e)?e:void 0,severities:MarkerSeverity$4.Error|MarkerSeverity$4.Warning|MarkerSeverity$4.Info}),typeof e=="function"&&(this._markers=this._markers.filter(k=>this._resourceFilter(k.resource))),this._markers.sort(g)};y(),this._dispoables.add(t.onMarkerChanged(k=>{(!this._resourceFilter||k.some(L=>this._resourceFilter(L)))&&(y(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new MarkerCoordinate$1(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let r=!1,g=this._markers.findIndex(y=>y.resource.toString()===e.uri.toString());g<0&&(g=binarySearch$1(this._markers,{resource:e.uri},(y,k)=>compare$1(y.resource.toString(),k.resource.toString())),g<0&&(g=~g));for(let y=g;yr.resource.toString()===e.toString());if(!(i<0)){for(;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$33=function(n,e){return function(t,i){e(t,i,n)}},MarkerNavigationWidget_1$1;let MessageWidget$2=class{constructor(e,t,i,r,g){this._openerService=r,this._labelService=g,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new DisposableStore$1,this._editor=t;const y=document.createElement("div");y.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),y.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),y.appendChild(this._relatedBlock),this._disposables.add(addStandardDisposableListener$1(this._relatedBlock,"click",k=>{k.preventDefault();const L=this._relatedDiagnostics.get(k.target);L&&i(L)})),this._scrollable=new ScrollableElement$1(y,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(k=>{y.style.left="-".concat(k.scrollLeft,"px"),y.style.top="-".concat(k.scrollTop,"px")})),this._disposables.add(this._scrollable)}dispose(){dispose$1(this._disposables)}update(e){const{source:t,message:i,relatedInformation:r,code:g}=e;let y=((t==null?void 0:t.length)||0)+2;g&&(typeof g=="string"?y+=g.length:y+=g.value.length);const k=splitLines$1(i);this._lines=k.length,this._longestLineLength=0;for(const ie of k)this._longestLineLength=Math.max(ie.length+y,this._longestLineLength);clearNode$1(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let L=this._messageBlock;for(const ie of k)L=document.createElement("div"),L.innerText=ie,ie===""&&(L.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(L);if(t||g){const ie=document.createElement("span");if(ie.classList.add("details"),L.appendChild(ie),t){const oe=document.createElement("span");oe.innerText=t,oe.classList.add("source"),ie.appendChild(oe)}if(g)if(typeof g=="string"){const oe=document.createElement("span");oe.innerText="(".concat(g,")"),oe.classList.add("code"),ie.appendChild(oe)}else{this._codeLink=$$u("a.code-link"),this._codeLink.setAttribute("href","".concat(g.target.toString())),this._codeLink.onclick=re=>{this._openerService.open(g.target,{allowCommands:!0}),re.preventDefault(),re.stopPropagation()};const oe=append$4(this._codeLink,$$u("span"));oe.innerText=g.value,ie.appendChild(this._codeLink)}}if(clearNode$1(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),isNonEmptyArray$1(r)){const ie=this._relatedBlock.appendChild(document.createElement("div"));ie.style.paddingTop="".concat(Math.floor(this._editor.getOption(67)*.66),"px"),this._lines+=1;for(const oe of r){const re=document.createElement("div"),ae=document.createElement("a");ae.classList.add("filename"),ae.innerText="".concat(this._labelService.getUriBasenameLabel(oe.resource),"(").concat(oe.startLineNumber,", ").concat(oe.startColumn,"): "),ae.title=this._labelService.getUriLabel(oe.resource),this._relatedDiagnostics.set(ae,oe);const le=document.createElement("span");le.innerText=oe.message,re.appendChild(ae),re.appendChild(le),this._lines+=1,ie.appendChild(re)}}const V=this._editor.getOption(50),z=Math.ceil(V.typicalFullwidthCharacterWidth*this._longestLineLength*.75),j=V.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:z,scrollHeight:j})}layout(e,t){this._scrollable.getDomNode().style.height="".concat(e,"px"),this._scrollable.getDomNode().style.width="".concat(t,"px"),this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case MarkerSeverity$4.Error:t=localize$1("Error","Error");break;case MarkerSeverity$4.Warning:t=localize$1("Warning","Warning");break;case MarkerSeverity$4.Info:t=localize$1("Info","Info");break;case MarkerSeverity$4.Hint:t=localize$1("Hint","Hint");break}let i=localize$1("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const r=this._editor.getModel();if(r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1){const g=r.getLineContent(e.startLineNumber);i="".concat(g,", ").concat(i)}return i}};var il;let MarkerNavigationWidget$1=(il=class extends PeekViewWidget$1{constructor(e,t,i,r,g,y,k){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},g),this._themeService=t,this._openerService=i,this._menuService=r,this._contextKeyService=y,this._labelService=k,this._callOnDispose=new DisposableStore$1,this._onDidSelectRelatedInformation=new Emitter$3,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=MarkerSeverity$4.Warning,this._backgroundColor=Color$2.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(editorMarkerNavigationBackground$1);let t=editorMarkerNavigationError$1,i=editorMarkerNavigationErrorHeader$1;this._severity===MarkerSeverity$4.Warning?(t=editorMarkerNavigationWarning$1,i=editorMarkerNavigationWarningHeader$1):this._severity===MarkerSeverity$4.Info&&(t=editorMarkerNavigationInfo$1,i=editorMarkerNavigationInfoHeader$1);const r=e.getColor(t),g=e.getColor(i);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:g,primaryHeadingColor:e.getColor(peekViewTitleForeground$1),secondaryHeadingColor:e.getColor(peekViewTitleInfoForeground$1)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(r=>this.editor.focus()));const t=[],i=this._menuService.getMenuActions(MarkerNavigationWidget_1$1.TitleMenu,this._contextKeyService);createAndFillInActionBarActions$1(i,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0})}_fillTitleIcon(e){this._icon=append$4(e,$$u(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new MessageWidget$2(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const r=Range$5.lift(e),g=this.editor.getPosition(),y=g&&r.containsPosition(g)?g:r.getStartPosition();super.show(y,this.computeRequiredHeight());const k=this.editor.getModel();if(k){const L=i>1?localize$1("problems","{0} of {1} problems",t,i):localize$1("change","{0} of {1} problem",t,i);this.setTitle(basename$2(k.uri),L)}this._icon.className="codicon ".concat(SeverityIcon$1.className(MarkerSeverity$4.toSeverity(this._severity))),this.editor.revealPositionNearTop(y,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height="".concat(e,"px")}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}},MarkerNavigationWidget_1$1=il,il.TitleMenu=new MenuId$1("gotoErrorTitleMenu"),il);MarkerNavigationWidget$1=MarkerNavigationWidget_1$1=__decorate$3d([__param$33(1,IThemeService$1),__param$33(2,IOpenerService$1),__param$33(3,IMenuService$1),__param$33(4,IInstantiationService$1),__param$33(5,IContextKeyService$1),__param$33(6,ILabelService$1)],MarkerNavigationWidget$1);const errorDefault$1=oneOf$1(editorErrorForeground$1,editorErrorBorder$1),warningDefault$1=oneOf$1(editorWarningForeground$1,editorWarningBorder$1),infoDefault$1=oneOf$1(editorInfoForeground$1,editorInfoBorder$1),editorMarkerNavigationError$1=registerColor$1("editorMarkerNavigationError.background",{dark:errorDefault$1,light:errorDefault$1,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorMarkerNavigationError","Editor marker navigation widget error color.")),editorMarkerNavigationErrorHeader$1=registerColor$1("editorMarkerNavigationError.headerBackground",{dark:transparent$1(editorMarkerNavigationError$1,.1),light:transparent$1(editorMarkerNavigationError$1,.1),hcDark:null,hcLight:null},localize$1("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),editorMarkerNavigationWarning$1=registerColor$1("editorMarkerNavigationWarning.background",{dark:warningDefault$1,light:warningDefault$1,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),editorMarkerNavigationWarningHeader$1=registerColor$1("editorMarkerNavigationWarning.headerBackground",{dark:transparent$1(editorMarkerNavigationWarning$1,.1),light:transparent$1(editorMarkerNavigationWarning$1,.1),hcDark:"#0C141F",hcLight:transparent$1(editorMarkerNavigationWarning$1,.2)},localize$1("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),editorMarkerNavigationInfo$1=registerColor$1("editorMarkerNavigationInfo.background",{dark:infoDefault$1,light:infoDefault$1,hcDark:contrastBorder$1,hcLight:contrastBorder$1},localize$1("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),editorMarkerNavigationInfoHeader$1=registerColor$1("editorMarkerNavigationInfo.headerBackground",{dark:transparent$1(editorMarkerNavigationInfo$1,.1),light:transparent$1(editorMarkerNavigationInfo$1,.1),hcDark:null,hcLight:null},localize$1("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),editorMarkerNavigationBackground$1=registerColor$1("editorMarkerNavigation.background",editorBackground$1,localize$1("editorMarkerNavigationBackground","Editor marker navigation widget background."));var __decorate$3c=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$32=function(n,e){return function(t,i){e(t,i,n)}},MarkerController_1$1,nl;let MarkerController$1=(nl=class{static get(e){return e.getContribution(MarkerController_1$1.ID)}constructor(e,t,i,r,g){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=r,this._instantiationService=g,this._sessionDispoables=new DisposableStore$1,this._editor=e,this._widgetVisible=CONTEXT_MARKERS_NAVIGATION_VISIBLE$1.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(MarkerNavigationWidget$1,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var r,g,y;(!((r=this._model)!=null&&r.selected)||!Range$5.containsPosition((g=this._model)==null?void 0:g.selected.marker,i.position))&&((y=this._model)==null||y.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:Range$5.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Position$3(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,r;if(this._editor.hasModel()){const g=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(g.move(e,this._editor.getModel(),this._editor.getPosition()),!g.selected)return;if(g.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const y=await this._editorService.openCodeEditor({resource:g.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:g.selected.marker}},this._editor);y&&((i=MarkerController_1$1.get(y))==null||i.close(),(r=MarkerController_1$1.get(y))==null||r.nagivate(e,t))}else this._widget.showAtMarker(g.selected.marker,g.selected.index,g.selected.total)}}},MarkerController_1$1=nl,nl.ID="editor.contrib.markerController",nl);MarkerController$1=MarkerController_1$1=__decorate$3c([__param$32(1,IMarkerNavigationService$1),__param$32(2,IContextKeyService$1),__param$32(3,ICodeEditorService$1),__param$32(4,IInstantiationService$1)],MarkerController$1);let MarkerNavigationAction$1=class extends EditorAction$1{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=MarkerController$1.get(t))==null||i.nagivate(this._next,this._multiFile))}};var jo;let NextMarkerAction$1=(jo=class extends MarkerNavigationAction$1{constructor(){super(!0,!1,{id:jo.ID,label:jo.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:578,weight:100},menuOpts:{menuId:MarkerNavigationWidget$1.TitleMenu,title:jo.LABEL,icon:registerIcon$1("marker-navigation-next",Codicon$1.arrowDown,localize$1("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}},jo.ID="editor.action.marker.next",jo.LABEL=localize$1("markerAction.next.label","Go to Next Problem (Error, Warning, Info)"),jo);var Go;let PrevMarkerAction$1=(Go=class extends MarkerNavigationAction$1{constructor(){super(!1,!1,{id:Go.ID,label:Go.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:1602,weight:100},menuOpts:{menuId:MarkerNavigationWidget$1.TitleMenu,title:Go.LABEL,icon:registerIcon$1("marker-navigation-previous",Codicon$1.arrowUp,localize$1("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}},Go.ID="editor.action.marker.prev",Go.LABEL=localize$1("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)"),Go),NextMarkerInFilesAction$1=class extends MarkerNavigationAction$1{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:localize$1("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:66,weight:100},menuOpts:{menuId:MenuId$1.MenubarGoMenu,title:localize$1({key:"miGotoNextProblem",comment:["&& denotes a mnemonic"]},"Next &&Problem"),group:"6_problem_nav",order:1}})}},PrevMarkerInFilesAction$1=class extends MarkerNavigationAction$1{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:localize$1("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:1090,weight:100},menuOpts:{menuId:MenuId$1.MenubarGoMenu,title:localize$1({key:"miGotoPreviousProblem",comment:["&& denotes a mnemonic"]},"Previous &&Problem"),group:"6_problem_nav",order:2}})}};registerEditorContribution$1(MarkerController$1.ID,MarkerController$1,4);registerEditorAction$1(NextMarkerAction$1);registerEditorAction$1(PrevMarkerAction$1);registerEditorAction$1(NextMarkerInFilesAction$1);registerEditorAction$1(PrevMarkerInFilesAction$1);const CONTEXT_MARKERS_NAVIGATION_VISIBLE$1=new RawContextKey$1("markersNavigationVisible",!1),MarkerCommand$1=EditorCommand$1.bindToContribution(MarkerController$1.get);registerEditorCommand$1(new MarkerCommand$1({id:"closeMarkersNavigation",precondition:CONTEXT_MARKERS_NAVIGATION_VISIBLE$1,handler:n=>n.close(),kbOpts:{weight:150,kbExpr:EditorContextKeys$1.focus,primary:9,secondary:[1033]}}));var HoverFocusBehavior$1;(function(n){n.NoAutoFocus="noAutoFocus",n.FocusIfVisible="focusIfVisible",n.AutoFocusImmediately="autoFocusImmediately"})(HoverFocusBehavior$1||(HoverFocusBehavior$1={}));let ShowOrFocusHoverAction$1=class extends EditorAction$1{constructor(){super({id:SHOW_OR_FOCUS_HOVER_ACTION_ID,label:localize$1({key:"showOrFocusHover",comment:["Label for action that will trigger the showing/focusing of a hover in the editor.","If the hover is not visible, it will show the hover.","This allows for users to show the hover without using the mouse."]},"Show or Focus Hover"),metadata:{description:localize2$1("showOrFocusHoverDescription","Show or focus the editor hover which shows documentation, references, and other content for a symbol at the current cursor position."),args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[HoverFocusBehavior$1.NoAutoFocus,HoverFocusBehavior$1.FocusIfVisible,HoverFocusBehavior$1.AutoFocusImmediately],enumDescriptions:[localize$1("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),localize$1("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),localize$1("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:HoverFocusBehavior$1.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:KeyChord$1(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const r=ContentHoverController$1.get(t);if(!r)return;const g=i==null?void 0:i.focus;let y=HoverFocusBehavior$1.FocusIfVisible;Object.values(HoverFocusBehavior$1).includes(g)?y=g:typeof g=="boolean"&&g&&(y=HoverFocusBehavior$1.AutoFocusImmediately);const k=V=>{const z=t.getPosition(),j=new Range$5(z.lineNumber,z.column,z.lineNumber,z.column);r.showContentHover(j,1,1,V)},L=t.getOption(2)===2;r.isHoverVisible?y!==HoverFocusBehavior$1.NoAutoFocus?r.focus():k(L):k(L||y===HoverFocusBehavior$1.AutoFocusImmediately)}},ShowDefinitionPreviewHoverAction$1=class extends EditorAction$1{constructor(){super({id:SHOW_DEFINITION_PREVIEW_HOVER_ACTION_ID,label:localize$1({key:"showDefinitionPreviewHover",comment:["Label for action that will trigger the showing of definition preview hover in the editor.","This allows for users to show the definition preview hover without using the mouse."]},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0,metadata:{description:localize2$1("showDefinitionPreviewHoverDescription","Show the definition preview hover in the editor.")}})}run(e,t){const i=ContentHoverController$1.get(t);if(!i)return;const r=t.getPosition();if(!r)return;const g=new Range$5(r.lineNumber,r.column,r.lineNumber,r.column),y=GotoDefinitionAtPositionEditorContribution$1.get(t);if(!y)return;y.startFindDefinitionFromCursor(r).then(()=>{i.showContentHover(g,1,1,!0)})}},ScrollUpHoverAction$1=class extends EditorAction$1{constructor(){super({id:SCROLL_UP_HOVER_ACTION_ID,label:localize$1({key:"scrollUpHover",comment:["Action that allows to scroll up in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:16,weight:100},metadata:{description:localize2$1("scrollUpHoverDescription","Scroll up the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.scrollUp()}},ScrollDownHoverAction$1=class extends EditorAction$1{constructor(){super({id:SCROLL_DOWN_HOVER_ACTION_ID,label:localize$1({key:"scrollDownHover",comment:["Action that allows to scroll down in the hover widget with the up arrow when the hover widget is focused."]},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:18,weight:100},metadata:{description:localize2$1("scrollDownHoverDescription","Scroll down the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.scrollDown()}},ScrollLeftHoverAction$1=class extends EditorAction$1{constructor(){super({id:SCROLL_LEFT_HOVER_ACTION_ID,label:localize$1({key:"scrollLeftHover",comment:["Action that allows to scroll left in the hover widget with the left arrow when the hover widget is focused."]},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:15,weight:100},metadata:{description:localize2$1("scrollLeftHoverDescription","Scroll left the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.scrollLeft()}},ScrollRightHoverAction$1=class extends EditorAction$1{constructor(){super({id:SCROLL_RIGHT_HOVER_ACTION_ID,label:localize$1({key:"scrollRightHover",comment:["Action that allows to scroll right in the hover widget with the right arrow when the hover widget is focused."]},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:17,weight:100},metadata:{description:localize2$1("scrollRightHoverDescription","Scroll right the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.scrollRight()}},PageUpHoverAction$1=class extends EditorAction$1{constructor(){super({id:PAGE_UP_HOVER_ACTION_ID,label:localize$1({key:"pageUpHover",comment:["Action that allows to page up in the hover widget with the page up command when the hover widget is focused."]},"Page Up Hover"),alias:"Page Up Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:11,secondary:[528],weight:100},metadata:{description:localize2$1("pageUpHoverDescription","Page up the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.pageUp()}},PageDownHoverAction$1=class extends EditorAction$1{constructor(){super({id:PAGE_DOWN_HOVER_ACTION_ID,label:localize$1({key:"pageDownHover",comment:["Action that allows to page down in the hover widget with the page down command when the hover widget is focused."]},"Page Down Hover"),alias:"Page Down Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:12,secondary:[530],weight:100},metadata:{description:localize2$1("pageDownHoverDescription","Page down the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.pageDown()}},GoToTopHoverAction$1=class extends EditorAction$1{constructor(){super({id:GO_TO_TOP_HOVER_ACTION_ID,label:localize$1({key:"goToTopHover",comment:["Action that allows to go to the top of the hover widget with the home command when the hover widget is focused."]},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:14,secondary:[2064],weight:100},metadata:{description:localize2$1("goToTopHoverDescription","Go to the top of the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.goToTop()}},GoToBottomHoverAction$1=class extends EditorAction$1{constructor(){super({id:GO_TO_BOTTOM_HOVER_ACTION_ID,label:localize$1({key:"goToBottomHover",comment:["Action that allows to go to the bottom in the hover widget with the end command when the hover widget is focused."]},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys$1.hoverFocused,kbOpts:{kbExpr:EditorContextKeys$1.hoverFocused,primary:13,secondary:[2066],weight:100},metadata:{description:localize2$1("goToBottomHoverDescription","Go to the bottom of the editor hover.")}})}run(e,t){const i=ContentHoverController$1.get(t);i&&i.goToBottom()}};class IncreaseHoverVerbosityLevel extends EditorAction$1{constructor(){super({id:INCREASE_HOVER_VERBOSITY_ACTION_ID,label:INCREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Increase Hover Verbosity Level",precondition:EditorContextKeys$1.hoverVisible})}run(e,t,i){const r=ContentHoverController$1.get(t);if(!r)return;const g=(i==null?void 0:i.index)!==void 0?i.index:r.focusedHoverPartIndex();r.updateHoverVerbosityLevel(HoverVerbosityAction$1.Increase,g,i==null?void 0:i.focus)}}class DecreaseHoverVerbosityLevel extends EditorAction$1{constructor(){super({id:DECREASE_HOVER_VERBOSITY_ACTION_ID,label:DECREASE_HOVER_VERBOSITY_ACTION_LABEL,alias:"Decrease Hover Verbosity Level",precondition:EditorContextKeys$1.hoverVisible})}run(e,t,i){var y;const r=ContentHoverController$1.get(t);if(!r)return;const g=(i==null?void 0:i.index)!==void 0?i.index:r.focusedHoverPartIndex();(y=ContentHoverController$1.get(t))==null||y.updateHoverVerbosityLevel(HoverVerbosityAction$1.Decrease,g,i==null?void 0:i.focus)}}var __decorate$3b=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$31=function(n,e){return function(t,i){e(t,i,n)}};const $$i=$$u;let MarkerHover$1=class{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}};const markerCodeActionTrigger$1={type:1,filter:{include:CodeActionKind$1.QuickFix},triggerAction:CodeActionTriggerSource$1.QuickFixHover};let MarkerHoverParticipant$1=class{constructor(e,t,i,r){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,g=i.getLineMaxColumn(r),y=[];for(const k of t){const L=k.range.startLineNumber===r?k.range.startColumn:1,V=k.range.endLineNumber===r?k.range.endColumn:g,z=this._markerDecorationsService.getMarker(i.uri,k);if(!z)continue;const j=new Range$5(e.range.startLineNumber,L,e.range.startLineNumber,V);y.push(new MarkerHover$1(this,j,z))}return y}renderHoverParts(e,t){if(!t.length)return new RenderedHoverParts([]);const i=new DisposableStore$1,r=[];t.forEach(y=>{const k=this._renderMarkerHover(y);e.fragment.appendChild(k.hoverElement),r.push(k)});const g=t.length===1?t[0]:t.sort((y,k)=>MarkerSeverity$4.compare(y.marker.severity,k.marker.severity))[0];return this.renderMarkerStatusbar(e,g,i),new RenderedHoverParts(r)}_renderMarkerHover(e){const t=new DisposableStore$1,i=$$i("div.hover-row"),r=append$4(i,$$i("div.marker.hover-contents")),{source:g,message:y,code:k,relatedInformation:L}=e.marker;this._editor.applyFontInfo(r);const V=append$4(r,$$i("span"));if(V.style.whiteSpace="pre-wrap",V.innerText=y,g||k)if(k&&typeof k!="string"){const j=$$i("span");if(g){const ae=append$4(j,$$i("span"));ae.innerText=g}const ie=append$4(j,$$i("a.code-link"));ie.setAttribute("href",k.target.toString()),t.add(addDisposableListener$1(ie,"click",ae=>{this._openerService.open(k.target,{allowCommands:!0}),ae.preventDefault(),ae.stopPropagation()}));const oe=append$4(ie,$$i("span"));oe.innerText=k.value;const re=append$4(r,j);re.style.opacity="0.6",re.style.paddingLeft="6px"}else{const j=append$4(r,$$i("span"));j.style.opacity="0.6",j.style.paddingLeft="6px",j.innerText=g&&k?"".concat(g,"(").concat(k,")"):g||"(".concat(k,")")}if(isNonEmptyArray$1(L))for(const{message:j,resource:ie,startLineNumber:oe,startColumn:re}of L){const ae=append$4(r,$$i("div"));ae.style.marginTop="8px";const le=append$4(ae,$$i("a"));le.innerText="".concat(basename$2(ie),"(").concat(oe,", ").concat(re,"): "),le.style.cursor="pointer",t.add(addDisposableListener$1(le,"click",ue=>{if(ue.stopPropagation(),ue.preventDefault(),this._openerService){const he={selection:{startLineNumber:oe,startColumn:re}};this._openerService.open(ie,{fromUserGesture:!0,editorOptions:he}).catch(onUnexpectedError$1)}}));const de=append$4(ae,$$i("span"));de.innerText=j,this._editor.applyFontInfo(de)}return{hoverPart:e,hoverElement:i,dispose:()=>t.dispose()}}renderMarkerStatusbar(e,t,i){if(t.marker.severity===MarkerSeverity$4.Error||t.marker.severity===MarkerSeverity$4.Warning||t.marker.severity===MarkerSeverity$4.Info){const r=MarkerController$1.get(this._editor);r&&e.statusBar.addAction({label:localize$1("view problem","View Problem"),commandId:NextMarkerAction$1.ID,run:()=>{e.hide(),r.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(92)){const r=e.statusBar.append($$i("div"));this.recentMarkerCodeActionsInfo&&(IMarkerData$1.makeKey(this.recentMarkerCodeActionsInfo.marker)===IMarkerData$1.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(r.textContent=localize$1("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const g=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Disposable$1.None:disposableTimeout$1(()=>r.textContent=localize$1("checkingForQuickFixes","Checking for quick fixes..."),200,i);r.textContent||(r.textContent=" ");const y=this.getCodeActions(t.marker);i.add(toDisposable$1(()=>y.cancel())),y.then(k=>{if(g.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:k.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){k.dispose(),r.textContent=localize$1("noQuickFixes","No quick fixes available");return}r.style.display="none";let L=!1;i.add(toDisposable$1(()=>{L||k.dispose()})),e.statusBar.addAction({label:localize$1("quick fixes","Quick Fix..."),commandId:quickFixCommandId$1,run:V=>{L=!0;const z=CodeActionController$1.get(this._editor),j=getDomNodePagePosition$1(V);e.hide(),z==null||z.showCodeActions(markerCodeActionTrigger$1,k,{x:j.left,y:j.top,width:j.width,height:j.height})}})},onUnexpectedError$1)}}getCodeActions(e){return createCancelablePromise$1(t=>getCodeActions$1(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Range$5(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),markerCodeActionTrigger$1,Progress$2.None,t))}};MarkerHoverParticipant$1=__decorate$3b([__param$31(1,IMarkerDecorationsService$1),__param$31(2,IOpenerService$1),__param$31(3,ILanguageFeaturesService$1)],MarkerHoverParticipant$1);let MarginHoverComputer$1=class{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=GlyphMarginLane$2.Center}computeSync(){var g,y;const e=k=>({value:k}),t=this._editor.getLineDecorations(this._lineNumber),i=[],r=this._laneOrLine==="lineNo";if(!t)return i;for(const k of t){const L=(y=(g=k.options.glyphMargin)==null?void 0:g.position)!=null?y:GlyphMarginLane$2.Center;if(!r&&L!==this._laneOrLine)continue;const V=r?k.options.lineNumberHoverMessage:k.options.glyphMarginHoverMessage;!V||isEmptyMarkdownString$1(V)||i.push(...asArray$1(V).map(e))}return i}};var __decorate$3a=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$30=function(n,e){return function(t,i){e(t,i,n)}},MarginHoverWidget_1;const $$h=$$u;var ol;let MarginHoverWidget$1=(ol=class extends Disposable$1{constructor(e,t,i){super(),this._renderDisposeables=this._register(new DisposableStore$1),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new HoverWidget$3),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new MarkdownRenderer$1({editor:this._editor},t,i)),this._computer=new MarginHoverComputer$1(this._editor),this._hoverOperation=this._register(new HoverOperation$1(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{this._withResult(r.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(50)&&this._updateFont()})),this._register(addStandardDisposableListener$1(this._hover.containerDomNode,"mouseleave",r=>{this._onMouseLeave(r)})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return MarginHoverWidget_1.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}showsOrWillShow(e){const t=e.target;return t.type===2&&t.detail.glyphMarginLane?(this._startShowingAt(t.position.lineNumber,t.detail.glyphMarginLane),!0):t.type===3?(this._startShowingAt(t.position.lineNumber,"lineNo"),!0):!1}_startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const r of t){const g=$$h("div.hover-row.markdown-hover"),y=append$4(g,$$h("div.hover-contents")),k=this._renderDisposeables.add(this._markdownRenderer.render(r.value));y.appendChild(k.element),i.appendChild(g)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),r=this._editor.getScrollTop(),g=this._editor.getOption(67),y=this._hover.containerDomNode.clientHeight,k=i-r-(y-g)/2,L=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left="".concat(L,"px"),this._hover.containerDomNode.style.top="".concat(Math.max(Math.round(k),0),"px")}_onMouseLeave(e){const t=this._editor.getDomNode();(!t||!isMousePositionWithinElement(t,e.x,e.y))&&this.hide()}},MarginHoverWidget_1=ol,ol.ID="editor.contrib.modesGlyphHoverWidget",ol);MarginHoverWidget$1=MarginHoverWidget_1=__decorate$3a([__param$30(1,ILanguageService$1),__param$30(2,IOpenerService$1)],MarginHoverWidget$1);var __decorate$39=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2$=function(n,e){return function(t,i){e(t,i,n)}},rc;let MarginHoverController=(rc=class extends Disposable$1{constructor(e,t){super(),this._editor=e,this._instantiationService=t,this.shouldKeepOpenOnEditorMouseMoveOrLeave=!1,this._listenersStore=new DisposableStore$1,this._hoverState={mouseDown:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler$1(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.hidingDelay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){this._hoverState.mouseDown=!0,!this._isMouseOnMarginHoverWidget(e)&&this._hideWidgets()}_isMouseOnMarginHoverWidget(e){var i;const t=(i=this._glyphWidget)==null?void 0:i.getDomNode();return t?isMousePositionWithinElement(t,e.event.posx,e.event.posy):!1}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){this.shouldKeepOpenOnEditorMouseMoveOrLeave||(this._cancelScheduler(),this._isMouseOnMarginHoverWidget(e))||this._hideWidgets()}_shouldNotRecomputeCurrentHoverWidget(e){const t=this._hoverSettings.sticky,i=this._isMouseOnMarginHoverWidget(e);return t&&i}_onEditorMouseMove(e){if(this.shouldKeepOpenOnEditorMouseMoveOrLeave)return;if(this._mouseMoveEvent=e,this._shouldNotRecomputeCurrentHoverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){!e||this._tryShowHoverWidget(e)||this._hideWidgets()}_tryShowHoverWidget(e){return this._getOrCreateGlyphWidget().showsOrWillShow(e)}_onKeyDown(e){this._editor.hasModel()&&(e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||this._hideWidgets())}_hideWidgets(){var e;(e=this._glyphWidget)==null||e.hide()}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=this._instantiationService.createInstance(MarginHoverWidget$1,this._editor)),this._glyphWidget}dispose(){var e;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)==null||e.dispose()}},rc.ID="editor.contrib.marginHover",rc);MarginHoverController=__decorate$39([__param$2$(1,IInstantiationService$1)],MarginHoverController);class HoverAccessibleView{}class HoverAccessibilityHelp{}class ExtHoverAccessibleView{}registerEditorContribution$1(ContentHoverController$1.ID,ContentHoverController$1,2);registerEditorContribution$1(MarginHoverController.ID,MarginHoverController,2);registerEditorAction$1(ShowOrFocusHoverAction$1);registerEditorAction$1(ShowDefinitionPreviewHoverAction$1);registerEditorAction$1(ScrollUpHoverAction$1);registerEditorAction$1(ScrollDownHoverAction$1);registerEditorAction$1(ScrollLeftHoverAction$1);registerEditorAction$1(ScrollRightHoverAction$1);registerEditorAction$1(PageUpHoverAction$1);registerEditorAction$1(PageDownHoverAction$1);registerEditorAction$1(GoToTopHoverAction$1);registerEditorAction$1(GoToBottomHoverAction$1);registerEditorAction$1(IncreaseHoverVerbosityLevel);registerEditorAction$1(DecreaseHoverVerbosityLevel);HoverParticipantRegistry$1.register(MarkdownHoverParticipant$1);HoverParticipantRegistry$1.register(MarkerHoverParticipant$1);registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorHoverBorder$1);t&&(e.addRule(".monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-editor .monaco-hover hr { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-editor .monaco-hover hr { border-bottom: 0px solid ".concat(t.transparent(.5),"; }")))});AccessibleViewRegistry.register(new HoverAccessibleView);AccessibleViewRegistry.register(new HoverAccessibilityHelp);AccessibleViewRegistry.register(new ExtHoverAccessibleView);function getSpaceCnt$1(n,e){let t=0;for(let i=0;ii-1)return[];const{tabSize:y,indentSize:k,insertSpaces:L}=n.getOptions(),V=(ae,le)=>(le=le||1,ShiftCommand$1.shiftIndent(ae,ae.length+le,y,k,L)),z=(ae,le)=>(le=le||1,ShiftCommand$1.unshiftIndent(ae,ae.length+le,y,k,L)),j=[],ie=n.getLineContent(t);let oe=getLeadingWhitespace$1(ie),re=oe;g.shouldIncrease(t)?(re=V(re),oe=V(oe)):g.shouldIndentNextLine(t)&&(re=V(re)),t++;for(let ae=t;ae<=i;ae++){if(doesLineStartWithString(n,ae))continue;const le=n.getLineContent(ae),de=getLeadingWhitespace$1(le),ue=re;g.shouldDecrease(ae,ue)&&(re=z(re),oe=z(oe)),de!==re&&j.push(EditOperation$1.replaceMove(new Selection$3(ae,1,ae,de.length+1),normalizeIndentation$1(re,k,L))),!g.shouldIgnore(ae)&&(g.shouldIncrease(ae,ue)?(oe=V(oe),re=oe):g.shouldIndentNextLine(ae,ue)?re=V(re):re=oe)}return j}function doesLineStartWithString(n,e){return n.tokenization.isCheapToTokenize(e)?n.tokenization.getLineTokens(e).getStandardTokenType(0)===2:!1}var __decorate$38=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2_=function(n,e){return function(t,i){e(t,i,n)}},rl;let IndentationToSpacesAction$1=(rl=class extends EditorAction$1{constructor(){super({id:rl.ID,label:localize$1("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:EditorContextKeys$1.writable,metadata:{description:localize2$1("indentationToSpacesDescription","Convert the tab indentation to spaces.")}})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),g=t.getSelection();if(!g)return;const y=new IndentationToSpacesCommand$1(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}},rl.ID="editor.action.indentationToSpaces",rl);var sl;let IndentationToTabsAction$1=(sl=class extends EditorAction$1{constructor(){super({id:sl.ID,label:localize$1("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:EditorContextKeys$1.writable,metadata:{description:localize2$1("indentationToTabsDescription","Convert the spaces indentation to tabs.")}})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),g=t.getSelection();if(!g)return;const y=new IndentationToTabsCommand$1(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}},sl.ID="editor.action.indentationToTabs",sl),ChangeIndentationSizeAction$1=class extends EditorAction$1{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(IQuickInputService$1),r=e.get(IModelService$1),g=t.getModel();if(!g)return;const y=r.getCreationOptions(g.getLanguageId(),g.uri,g.isForSimpleWidget),k=g.getOptions(),L=[1,2,3,4,5,6,7,8].map(z=>({id:z.toString(),label:z.toString(),description:z===y.tabSize&&z===k.tabSize?localize$1("configuredTabSize","Configured Tab Size"):z===y.tabSize?localize$1("defaultTabSize","Default Tab Size"):z===k.tabSize?localize$1("currentTabSize","Current Tab Size"):void 0})),V=Math.min(g.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(L,{placeHolder:localize$1({key:"selectTabWidth",comment:["Tab corresponds to the tab key"]},"Select Tab Size for Current File"),activeItem:L[V]}).then(z=>{if(z&&g&&!g.isDisposed()){const j=parseInt(z.label,10);this.displaySizeOnly?g.updateOptions({tabSize:j}):g.updateOptions({tabSize:j,indentSize:j,insertSpaces:this.insertSpaces})}})},50)}};var al;let IndentUsingTabs$1=(al=class extends ChangeIndentationSizeAction$1{constructor(){super(!1,!1,{id:al.ID,label:localize$1("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0,metadata:{description:localize2$1("indentUsingTabsDescription","Use indentation with tabs.")}})}},al.ID="editor.action.indentUsingTabs",al);var ll;let IndentUsingSpaces$1=(ll=class extends ChangeIndentationSizeAction$1{constructor(){super(!0,!1,{id:ll.ID,label:localize$1("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0,metadata:{description:localize2$1("indentUsingSpacesDescription","Use indentation with spaces.")}})}},ll.ID="editor.action.indentUsingSpaces",ll);var cl;let ChangeTabDisplaySize$1=(cl=class extends ChangeIndentationSizeAction$1{constructor(){super(!0,!0,{id:cl.ID,label:localize$1("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0,metadata:{description:localize2$1("changeTabDisplaySizeDescription","Change the space size equivalent of the tab.")}})}},cl.ID="editor.action.changeTabDisplaySize",cl);var dl;let DetectIndentation$1=(dl=class extends EditorAction$1{constructor(){super({id:dl.ID,label:localize$1("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0,metadata:{description:localize2$1("detectIndentationDescription","Detect the indentation from content.")}})}run(e,t){const i=e.get(IModelService$1),r=t.getModel();if(!r)return;const g=i.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(g.insertSpaces,g.tabSize)}},dl.ID="editor.action.detectIndentation",dl),ReindentLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.reindentlines",label:localize$1("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:EditorContextKeys$1.writable,metadata:{description:localize2$1("editor.reindentlinesDescription","Reindent the lines of the editor.")}})}run(e,t){const i=e.get(ILanguageConfigurationService$1),r=t.getModel();if(!r)return;const g=getReindentEditOperations$1(r,i,1,r.getLineCount());g.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,g),t.pushUndoStop())}},ReindentSelectedLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.reindentselectedlines",label:localize$1("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:EditorContextKeys$1.writable,metadata:{description:localize2$1("editor.reindentselectedlinesDescription","Reindent the selected lines of the editor.")}})}run(e,t){const i=e.get(ILanguageConfigurationService$1),r=t.getModel();if(!r)return;const g=t.getSelections();if(g===null)return;const y=[];for(const k of g){let L=k.startLineNumber,V=k.endLineNumber;if(L!==V&&k.endColumn===1&&V--,L===1){if(L===V)continue}else L--;const z=getReindentEditOperations$1(r,i,L,V);y.push(...z)}y.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,y),t.pushUndoStop())}},AutoIndentOnPasteCommand$1=class{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const r of this._edits)t.addEditOperation(Range$5.lift(r.range),r.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}};var sc;let AutoIndentOnPaste$1=(sc=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new DisposableStore$1,this.callOnModel=new DisposableStore$1,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||this.rangeContainsOnlyWhitespaceCharacters(i,e)||isStartOrEndInString(i,e)||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const g=this.editor.getOption(12),{tabSize:y,indentSize:k,insertSpaces:L}=i.getOptions(),V=[],z={shiftIndent:re=>ShiftCommand$1.shiftIndent(re,re.length+1,y,k,L),unshiftIndent:re=>ShiftCommand$1.unshiftIndent(re,re.length+1,y,k,L)};let j=e.startLineNumber;for(;j<=e.endLineNumber;){if(this.shouldIgnoreLine(i,j)){j++;continue}break}if(j>e.endLineNumber)return;let ie=i.getLineContent(j);if(!/\S/.test(ie.substring(0,e.startColumn-1))){const re=getGoodIndentForLine$1(g,i,i.getLanguageId(),j,z,this._languageConfigurationService);if(re!==null){const ae=getLeadingWhitespace$1(ie),le=getSpaceCnt$1(re,y),de=getSpaceCnt$1(ae,y);if(le!==de){const ue=generateIndent$1(le,y,L);V.push({range:new Range$5(j,1,j,ae.length+1),text:ue}),ie=ue+ie.substring(ae.length)}else{const ue=getIndentMetadata$1(i,j,this._languageConfigurationService);if(ue===0||ue===8)return}}}const oe=j;for(;ji.tokenization.getLineTokens(le),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(le,de)=>i.getLanguageIdAtPosition(le,de)},getLineContent:le=>le===oe?ie:i.getLineContent(le)},i.getLanguageId(),j+1,z,this._languageConfigurationService);if(ae!==null){const le=getSpaceCnt$1(ae,y),de=getSpaceCnt$1(getLeadingWhitespace$1(i.getLineContent(j+1)),y);if(le!==de){const ue=le-de;for(let he=j+1;he<=e.endLineNumber;he++){const pe=i.getLineContent(he),Ce=getLeadingWhitespace$1(pe),xe=getSpaceCnt$1(Ce,y)+ue,Ie=generateIndent$1(xe,y,L);Ie!==Ce&&V.push({range:new Range$5(he,1,he,Ce.length+1),text:Ie})}}}}if(V.length>0){this.editor.pushUndoStop();const re=new AutoIndentOnPasteCommand$1(V,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",re),this.editor.pushUndoStop()}}rangeContainsOnlyWhitespaceCharacters(e,t){const i=g=>g.trim().length===0;let r=!0;if(t.startLineNumber===t.endLineNumber){const y=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);r=i(y)}else for(let g=t.startLineNumber;g<=t.endLineNumber;g++){const y=e.getLineContent(g);if(g===t.startLineNumber){const k=y.substring(t.startColumn-1);r=i(k)}else if(g===t.endLineNumber){const k=y.substring(0,t.endColumn-1);r=i(k)}else r=e.getLineFirstNonWhitespaceColumn(g)===0;if(!r)break}return r}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const r=e.tokenization.getLineTokens(t);if(r.getCount()>0){const g=r.findTokenIndexAtOffset(i);if(g>=0&&r.getStandardTokenType(g)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}},sc.ID="editor.contrib.autoIndentOnPaste",sc);AutoIndentOnPaste$1=__decorate$38([__param$2_(1,ILanguageConfigurationService$1)],AutoIndentOnPaste$1);function isStartOrEndInString(n,e){const t=i=>getStandardTokenTypeAtPosition(n,i)===2;return t(e.getStartPosition())||t(e.getEndPosition())}function getIndentationEditOperations$1(n,e,t,i){if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r="";for(let y=0;y=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2Z=function(n,e){return function(t,i){e(t,i,n)}},InPlaceReplaceController_1$1,es;let InPlaceReplaceController$1=(es=class{static get(e){return e.getContribution(InPlaceReplaceController_1$1.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var L;(L=this.currentRequest)==null||L.cancel();const i=this.editor.getSelection(),r=this.editor.getModel();if(!r||!i)return;let g=i;if(g.startLineNumber!==g.endLineNumber)return;const y=new EditorState$3(this.editor,5),k=r.uri;return this.editorWorkerService.canNavigateValueSet(k)?(this.currentRequest=createCancelablePromise$1(V=>this.editorWorkerService.navigateValueSet(k,g,t)),this.currentRequest.then(V=>{var re;if(!V||!V.range||!V.value||!y.validate(this.editor))return;const z=Range$5.lift(V.range);let j=V.range;const ie=V.value.length-(g.endColumn-g.startColumn);j={startLineNumber:j.startLineNumber,startColumn:j.startColumn,endLineNumber:j.endLineNumber,endColumn:j.startColumn+V.value.length},ie>1&&(g=new Selection$3(g.startLineNumber,g.startColumn,g.endLineNumber,g.endColumn+ie-1));const oe=new InPlaceReplaceCommand$1(z,g,V.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,oe),this.editor.pushUndoStop(),this.decorations.set([{range:j,options:InPlaceReplaceController_1$1.DECORATION}]),(re=this.decorationRemover)==null||re.cancel(),this.decorationRemover=timeout$1(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(onUnexpectedError$1)}).catch(onUnexpectedError$1)):Promise.resolve(void 0)}},InPlaceReplaceController_1$1=es,es.ID="editor.contrib.inPlaceReplaceController",es.DECORATION=ModelDecorationOptions$1.register({description:"in-place-replace",className:"valueSetReplacement"}),es);InPlaceReplaceController$1=InPlaceReplaceController_1$1=__decorate$37([__param$2Z(1,IEditorWorkerService$1)],InPlaceReplaceController$1);let InPlaceReplaceUp$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inPlaceReplace.up",label:localize$1("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=InPlaceReplaceController$1.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}},InPlaceReplaceDown$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inPlaceReplace.down",label:localize$1("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=InPlaceReplaceController$1.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}};registerEditorContribution$1(InPlaceReplaceController$1.ID,InPlaceReplaceController$1,4);registerEditorAction$1(InPlaceReplaceUp$1);registerEditorAction$1(InPlaceReplaceDown$1);let ExpandLineSelectionAction$1=class extends EditorAction$1{constructor(){super({id:"expandLineSelection",label:localize$1("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:EditorContextKeys$1.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(i.source,3,CursorMoveCommands$1.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(i.source,!0)}};registerEditorAction$1(ExpandLineSelectionAction$1);let TrimTrailingWhitespaceCommand$1=class{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=trimTrailingWhitespace$1(e,this._cursors,this._trimInRegexesAndStrings);for(let r=0,g=i.length;rk.lineNumber===L.lineNumber?k.column-L.column:k.lineNumber-L.lineNumber);for(let k=e.length-2;k>=0;k--)e[k].lineNumber===e[k+1].lineNumber&&e.splice(k,1);const i=[];let r=0,g=0;const y=e.length;for(let k=1,L=n.getLineCount();k<=L;k++){const V=n.getLineContent(k),z=V.length+1;let j=0;if(g=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2Y=function(n,e){return function(t,i){e(t,i,n)}};let MoveLinesCommand$1=class{constructor(e,t,i,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=()=>e.getLanguageId(),r=(j,ie)=>e.getLanguageIdAtPosition(j,ie),g=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===g){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let y=this._selection;y.startLineNumberue===y.startLineNumber?e.tokenization.getLineTokens(j):e.tokenization.getLineTokens(ue),getLanguageId:i,getLanguageIdAtPosition:r},getLineContent:ue=>ue===y.startLineNumber?e.getLineContent(j):e.getLineContent(ue)},de=getGoodIndentForLine$1(this._autoIndent,le,e.getLanguageIdAtPosition(j,1),y.startLineNumber,z,this._languageConfigurationService);if(de!==null){const ue=getLeadingWhitespace$1(e.getLineContent(j)),he=getSpaceCnt$1(de,k),pe=getSpaceCnt$1(ue,k);he!==pe&&(oe=generateIndent$1(he,k,V)+this.trimStart(ie))}}t.addEditOperation(new Range$5(y.startLineNumber,1,y.startLineNumber,1),oe+"\n");const ae=this.matchEnterRuleMovingDown(e,z,k,y.startLineNumber,j,oe);if(ae!==null)ae!==0&&this.getIndentEditsOfMovingBlock(e,t,y,k,V,ae);else{const le={tokenization:{getLineTokens:ue=>ue===y.startLineNumber?e.tokenization.getLineTokens(j):ue>=y.startLineNumber+1&&ue<=y.endLineNumber+1?e.tokenization.getLineTokens(ue-1):e.tokenization.getLineTokens(ue),getLanguageId:i,getLanguageIdAtPosition:r},getLineContent:ue=>ue===y.startLineNumber?oe:ue>=y.startLineNumber+1&&ue<=y.endLineNumber+1?e.getLineContent(ue-1):e.getLineContent(ue)},de=getGoodIndentForLine$1(this._autoIndent,le,e.getLanguageIdAtPosition(j,1),y.startLineNumber+1,z,this._languageConfigurationService);if(de!==null){const ue=getLeadingWhitespace$1(e.getLineContent(y.startLineNumber)),he=getSpaceCnt$1(de,k),pe=getSpaceCnt$1(ue,k);if(he!==pe){const Ce=he-pe;this.getIndentEditsOfMovingBlock(e,t,y,k,V,Ce)}}}}else t.addEditOperation(new Range$5(y.startLineNumber,1,y.startLineNumber,1),oe+"\n")}else if(j=y.startLineNumber-1,ie=e.getLineContent(j),t.addEditOperation(new Range$5(j,1,j+1,1),null),t.addEditOperation(new Range$5(y.endLineNumber,e.getLineMaxColumn(y.endLineNumber),y.endLineNumber,e.getLineMaxColumn(y.endLineNumber)),"\n"+ie),this.shouldAutoIndent(e,y)){const oe={tokenization:{getLineTokens:ae=>ae===j?e.tokenization.getLineTokens(y.startLineNumber):e.tokenization.getLineTokens(ae),getLanguageId:i,getLanguageIdAtPosition:r},getLineContent:ae=>ae===j?e.getLineContent(y.startLineNumber):e.getLineContent(ae)},re=this.matchEnterRule(e,z,k,y.startLineNumber,y.startLineNumber-2);if(re!==null)re!==0&&this.getIndentEditsOfMovingBlock(e,t,y,k,V,re);else{const ae=getGoodIndentForLine$1(this._autoIndent,oe,e.getLanguageIdAtPosition(y.startLineNumber,1),j,z,this._languageConfigurationService);if(ae!==null){const le=getLeadingWhitespace$1(e.getLineContent(y.startLineNumber)),de=getSpaceCnt$1(ae,k),ue=getSpaceCnt$1(le,k);if(de!==ue){const he=de-ue;this.getIndentEditsOfMovingBlock(e,t,y,k,V,he)}}}}}this._selectionId=t.trackSelection(y)}buildIndentConverter(e,t,i){return{shiftIndent:r=>ShiftCommand$1.shiftIndent(r,r.length+1,e,t,i),unshiftIndent:r=>ShiftCommand$1.unshiftIndent(r,r.length+1,e,t,i)}}parseEnterResult(e,t,i,r,g){if(g){let y=g.indentation;g.indentAction===IndentAction$2.None||g.indentAction===IndentAction$2.Indent?y=g.indentation+g.appendText:g.indentAction===IndentAction$2.IndentOutdent?y=g.indentation:g.indentAction===IndentAction$2.Outdent&&(y=t.unshiftIndent(g.indentation)+g.appendText);const k=e.getLineContent(r);if(this.trimStart(k).indexOf(this.trimStart(y))>=0){const L=getLeadingWhitespace$1(e.getLineContent(r));let V=getLeadingWhitespace$1(y);const z=getIndentMetadata$1(e,r,this._languageConfigurationService);z!==null&&z&2&&(V=t.unshiftIndent(V));const j=getSpaceCnt$1(V,i),ie=getSpaceCnt$1(L,i);return j-ie}}return null}matchEnterRuleMovingDown(e,t,i,r,g,y){if(lastNonWhitespaceIndex$1(y)>=0){const k=e.getLineMaxColumn(g),L=getEnterAction$1(this._autoIndent,e,new Range$5(g,k,g,k),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,L)}else{let k=r-1;for(;k>=1;){const z=e.getLineContent(k);if(lastNonWhitespaceIndex$1(z)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),V=getEnterAction$1(this._autoIndent,e,new Range$5(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,V)}}matchEnterRule(e,t,i,r,g,y){let k=g;for(;k>=1;){let z;if(k===g&&y!==void 0?z=y:z=e.getLineContent(k),lastNonWhitespaceIndex$1(z)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),V=getEnterAction$1(this._autoIndent,e,new Range$5(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,V)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),r=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==r||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,r,g,y){for(let k=i.startLineNumber;k<=i.endLineNumber;k++){const L=e.getLineContent(k),V=getLeadingWhitespace$1(L),j=getSpaceCnt$1(V,r)+y,ie=generateIndent$1(j,r,g);ie!==V&&(t.addEditOperation(new Range$5(k,1,k,V.length+1),ie),k===i.endLineNumber&&i.endColumn<=V.length+1&&ie===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=r)return null;const g=[];for(let k=i;k<=r;k++)g.push(n.getLineContent(k));let y=g.slice(0);return y.sort(SortLinesCommand$1.getCollator().compare),t===!0&&(y=y.reverse()),{startLineNumber:i,endLineNumber:r,before:g,after:y}}function sortLines$1(n,e,t){const i=getSortData$1(n,e,t);return i?EditOperation$1.replace(new Range$5(i.startLineNumber,1,i.endLineNumber,n.getLineMaxColumn(i.endLineNumber)),i.after.join("\n")):null}let AbstractCopyLinesAction$1=class extends EditorAction$1{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((y,k)=>({selection:y,index:k,ignore:!1}));i.sort((y,k)=>Range$5.compareRangesUsingStarts(y.selection,k.selection));let r=i[0];for(let y=1;ynew Position$3(z.positionLineNumber,z.positionColumn)));const g=t.getSelection();if(g===null)return;const y=e.get(IConfigurationService$1),k=t.getModel(),L=y.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:k==null?void 0:k.getLanguageId(),resource:k==null?void 0:k.uri}),V=new TrimTrailingWhitespaceCommand$1(g,r,L);t.pushUndoStop(),t.executeCommands(this.id,[V]),t.pushUndoStop()}},ul.ID="editor.action.trimTrailingWhitespace",ul),DeleteLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.deleteLines",label:localize$1("lines.delete","Delete Line"),alias:"Delete Line",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let g=0;const y=[],k=[];for(let L=0,V=i.length;L1&&(j-=1,oe=r.getLineMaxColumn(j)),y.push(EditOperation$1.replace(new Selection$3(j,oe,ie,re),"")),k.push(new Selection$3(j-g,z.positionColumn,j-g,z.positionColumn)),g+=z.endLineNumber-z.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,y,k),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(g=>{let y=g.endLineNumber;return g.startLineNumberg.startLineNumber===y.startLineNumber?g.endLineNumber-y.endLineNumber:g.startLineNumber-y.startLineNumber);const i=[];let r=t[0];for(let g=1;g=t[g].startLineNumber?r.endLineNumber=t[g].endLineNumber:(i.push(r),r=t[g]);return i.push(r),i}},IndentLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.indentLines",label:localize$1("lines.indent","Indent Line"),alias:"Indent Line",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,TypeOperations$1.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}},OutdentLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.outdentLines",label:localize$1("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2140,weight:100}})}run(e,t){CoreEditingCommands$1.Outdent.runEditorCommand(e,t,null)}},InsertLineBeforeAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertLineBefore",label:localize$1("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,EnterOperation.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}},InsertLineAfterAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertLineAfter",label:localize$1("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,EnterOperation.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}},AbstractDeleteAllToBoundaryAction$1=class extends EditorAction$1{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),r=this._getRangesToDelete(t),g=[];for(let L=0,V=r.length-1;LEditOperation$1.replace(L,""));t.pushUndoStop(),t.executeEdits(this.id,k,y),t.pushUndoStop()}},DeleteAllLeftAction$1=class extends AbstractDeleteAllToBoundaryAction$1{constructor(){super({id:"deleteAllLeft",label:localize$1("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];let g=0;return t.forEach(y=>{let k;if(y.endColumn===1&&g>0){const L=y.startLineNumber-g;k=new Selection$3(L,y.startColumn,L,y.startColumn)}else k=new Selection$3(y.startLineNumber,y.startColumn,y.startLineNumber,y.startColumn);g+=y.endLineNumber-y.startLineNumber,y.intersectRanges(e)?i=k:r.push(k)}),i&&r.unshift(i),r}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const r=e.getModel();return r===null?[]:(i.sort(Range$5.compareRangesUsingStarts),i=i.map(g=>{if(g.isEmpty())if(g.startColumn===1){const y=Math.max(1,g.startLineNumber-1),k=g.startLineNumber===1?1:r.getLineLength(y)+1;return new Range$5(y,k,g.startLineNumber,1)}else return new Range$5(g.startLineNumber,1,g.startLineNumber,g.startColumn);else return new Range$5(g.startLineNumber,1,g.endLineNumber,g.endColumn)}),i)}},DeleteAllRightAction$1=class extends AbstractDeleteAllToBoundaryAction$1{constructor(){super({id:"deleteAllRight",label:localize$1("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];for(let g=0,y=t.length,k=0;g{if(g.isEmpty()){const y=t.getLineMaxColumn(g.startLineNumber);return g.startColumn===y?new Range$5(g.startLineNumber,g.startColumn,g.startLineNumber+1,1):new Range$5(g.startLineNumber,g.startColumn,g.startLineNumber,y)}return g});return r.sort(Range$5.compareRangesUsingStarts),r}},JoinLinesAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.joinLines",label:localize$1("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let r=t.getSelection();if(r===null)return;i.sort(Range$5.compareRangesUsingStarts);const g=[],y=i.reduce((ie,oe)=>ie.isEmpty()?ie.endLineNumber===oe.startLineNumber?(r.equalsSelection(ie)&&(r=oe),oe):oe.startLineNumber>ie.endLineNumber+1?(g.push(ie),oe):new Selection$3(ie.startLineNumber,ie.startColumn,oe.endLineNumber,oe.endColumn):oe.startLineNumber>ie.endLineNumber?(g.push(ie),oe):new Selection$3(ie.startLineNumber,ie.startColumn,oe.endLineNumber,oe.endColumn));g.push(y);const k=t.getModel();if(k===null)return;const L=[],V=[];let z=r,j=0;for(let ie=0,oe=g.length;ie=1){let Fe=!0;Ce===""&&(Fe=!1),Fe&&(Ce.charAt(Ce.length-1)===" "||Ce.charAt(Ce.length-1)===" ")&&(Fe=!1,Ce=Ce.replace(/[\s\uFEFF\xA0]+$/g," "));const Ve=Ie.substr(Ne-1);Ce+=(Fe?" ":"")+Ve,Fe?de=Ve.length+1:de=Ve.length}else de=0}const $e=new Range$5(ae,le,ue,he);if(!$e.isEmpty()){let xe;re.isEmpty()?(L.push(EditOperation$1.replace($e,Ce)),xe=new Selection$3($e.startLineNumber-j,Ce.length-de+1,ae-j,Ce.length-de+1)):re.startLineNumber===re.endLineNumber?(L.push(EditOperation$1.replace($e,Ce)),xe=new Selection$3(re.startLineNumber-j,re.startColumn,re.endLineNumber-j,re.endColumn)):(L.push(EditOperation$1.replace($e,Ce)),xe=new Selection$3(re.startLineNumber-j,re.startColumn,re.startLineNumber-j,Ce.length-pe)),Range$5.intersectRanges($e,r)!==null?z=xe:V.push(xe)}j+=$e.endLineNumber-$e.startLineNumber}V.unshift(z),t.pushUndoStop(),t.executeEdits(this.id,L,V),t.pushUndoStop()}},TransposeAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.transpose",label:localize$1("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:EditorContextKeys$1.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const g=[];for(let y=0,k=i.length;y=z){if(V.lineNumber===r.getLineCount())continue;const j=new Range$5(V.lineNumber,Math.max(1,V.column-1),V.lineNumber+1,1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommand$1(new Selection$3(V.lineNumber,Math.max(1,V.column-1),V.lineNumber+1,1),ie))}else{const j=new Range$5(V.lineNumber,Math.max(1,V.column-1),V.lineNumber,V.column+1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommandThatPreservesSelection$1(j,ie,new Selection$3(V.lineNumber,V.column+1,V.lineNumber,V.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,g),t.pushUndoStop()}},AbstractCaseAction$1=class extends EditorAction$1{run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const g=t.getOption(132),y=[];for(const k of i)if(k.isEmpty()){const L=k.getStartPosition(),V=t.getConfiguredWordAtPosition(L);if(!V)continue;const z=new Range$5(L.lineNumber,V.startColumn,L.lineNumber,V.endColumn),j=r.getValueInRange(z);y.push(EditOperation$1.replace(z,this._modifyText(j,g)))}else{const L=r.getValueInRange(k);y.push(EditOperation$1.replace(k,this._modifyText(L,g)))}t.pushUndoStop(),t.executeEdits(this.id,y),t.pushUndoStop()}},UpperCaseAction$1=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToUppercase",label:localize$1("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}},LowerCaseAction$1=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToLowercase",label:localize$1("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}},BackwardsCompatibleRegExp$1=class{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return this.get()!==null}};var hl;let TitleCaseAction$1=(hl=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToTitlecase",label:localize$1("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){const i=hl.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,r=>r.toLocaleUpperCase()):e}},hl.titleBoundary=new BackwardsCompatibleRegExp$1("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu"),hl);var Sr;let SnakeCaseAction$1=(Sr=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToSnakecase",label:localize$1("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){const i=Sr.caseBoundary.get(),r=Sr.singleLetters.get();return!i||!r?e:e.replace(i,"$1_$2").replace(r,"$1_$2$3").toLocaleLowerCase()}},Sr.caseBoundary=new BackwardsCompatibleRegExp$1("(\\p{Ll})(\\p{Lu})","gmu"),Sr.singleLetters=new BackwardsCompatibleRegExp$1("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu"),Sr);var gl;let CamelCaseAction$1=(gl=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToCamelcase",label:localize$1("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){const i=gl.wordBoundary.get();if(!i)return e;const r=e.split(i);return r.shift()+r.map(y=>y.substring(0,1).toLocaleUpperCase()+y.substring(1)).join("")}},gl.wordBoundary=new BackwardsCompatibleRegExp$1("[_\\s-]","gm"),gl);var yr;let PascalCaseAction$1=(yr=class extends AbstractCaseAction$1{constructor(){super({id:"editor.action.transformToPascalcase",label:localize$1("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){const i=yr.wordBoundary.get(),r=yr.wordBoundaryToMaintain.get();return!i||!r?e:e.split(r).map(k=>k.split(i)).flat().map(k=>k.substring(0,1).toLocaleUpperCase()+k.substring(1)).join("")}},yr.wordBoundary=new BackwardsCompatibleRegExp$1("[_\\s-]","gm"),yr.wordBoundaryToMaintain=new BackwardsCompatibleRegExp$1("(?<=\\.)","gm"),yr);var To;let KebabCaseAction$1=(To=class extends AbstractCaseAction$1{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:localize$1("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:EditorContextKeys$1.writable})}_modifyText(e,t){const i=To.caseBoundary.get(),r=To.singleLetters.get(),g=To.underscoreBoundary.get();return!i||!r||!g?e:e.replace(g,"$1-$3").replace(i,"$1-$2").replace(r,"$1-$2").toLocaleLowerCase()}},To.caseBoundary=new BackwardsCompatibleRegExp$1("(\\p{Ll})(\\p{Lu})","gmu"),To.singleLetters=new BackwardsCompatibleRegExp$1("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu"),To.underscoreBoundary=new BackwardsCompatibleRegExp$1("(\\S)(_)(\\S)","gm"),To);registerEditorAction$1(CopyLinesUpAction$1);registerEditorAction$1(CopyLinesDownAction$1);registerEditorAction$1(DuplicateSelectionAction$1);registerEditorAction$1(MoveLinesUpAction$1);registerEditorAction$1(MoveLinesDownAction$1);registerEditorAction$1(SortLinesAscendingAction$1);registerEditorAction$1(SortLinesDescendingAction$1);registerEditorAction$1(DeleteDuplicateLinesAction$1);registerEditorAction$1(TrimTrailingWhitespaceAction$1);registerEditorAction$1(DeleteLinesAction$1);registerEditorAction$1(IndentLinesAction$1);registerEditorAction$1(OutdentLinesAction$1);registerEditorAction$1(InsertLineBeforeAction$1);registerEditorAction$1(InsertLineAfterAction$1);registerEditorAction$1(DeleteAllLeftAction$1);registerEditorAction$1(DeleteAllRightAction$1);registerEditorAction$1(JoinLinesAction$1);registerEditorAction$1(TransposeAction$1);registerEditorAction$1(UpperCaseAction$1);registerEditorAction$1(LowerCaseAction$1);SnakeCaseAction$1.caseBoundary.isSupported()&&SnakeCaseAction$1.singleLetters.isSupported()&®isterEditorAction$1(SnakeCaseAction$1);CamelCaseAction$1.wordBoundary.isSupported()&®isterEditorAction$1(CamelCaseAction$1);PascalCaseAction$1.wordBoundary.isSupported()&®isterEditorAction$1(PascalCaseAction$1);TitleCaseAction$1.titleBoundary.isSupported()&®isterEditorAction$1(TitleCaseAction$1);KebabCaseAction$1.isSupported()&®isterEditorAction$1(KebabCaseAction$1);var __decorate$35=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2X=function(n,e){return function(t,i){e(t,i,n)}},LinkedEditingContribution_1$1;const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE$1=new RawContextKey$1("LinkedEditingInputVisible",!1),DECORATION_CLASS_NAME$2="linked-editing-decoration";var ts;let LinkedEditingContribution$1=(ts=class extends Disposable$1{static get(e){return e.getContribution(LinkedEditingContribution_1$1.ID)}constructor(e,t,i,r,g){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new DisposableStore$1),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE$1.bindTo(t),this._debounceInformation=g.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new DisposableStore$1),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(y=>{(y.hasChanged(70)||y.hasChanged(94))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(94))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(Event$2.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const r=new Delayer$1(this._debounceInformation.get(t)),g=()=>{var L;this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),(L=this._debounceDuration)!=null?L:this._debounceInformation.get(t))},y=new Delayer$1(0),k=L=>{this._rangeSyncTriggerPromise=y.trigger(()=>this._syncRanges(L))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{g()})),this._localToDispose.add(this._editor.onDidChangeModelContent(L=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const V=this._currentDecorations.getRange(0);if(V&&L.changes.every(z=>V.intersectRanges(z.range))){k(this._syncRangesToken);return}}g()})),this._localToDispose.add({dispose:()=>{r.dispose(),y.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const r=t.getValueInRange(i);if(this._currentWordPattern){const y=r.match(this._currentWordPattern);if((y?y[0].length:0)!==r.length)return this.clearRanges()}const g=[];for(let y=1,k=this._currentDecorations.length;y1){this.clearRanges();return}const i=this._editor.getModel(),r=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===r){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const y=this._currentDecorations.getRange(0);if(y&&y.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=r;const g=this._currentRequestCts=new CancellationTokenSource$3;try{const y=new StopWatch$1(!1),k=await getLinkedEditingRanges$1(this._providers,i,t,g.token);if(this._debounceInformation.update(i,y.elapsed()),g!==this._currentRequestCts||(this._currentRequestCts=null,r!==i.getVersionId()))return;let L=[];k!=null&&k.ranges&&(L=k.ranges),this._currentWordPattern=(k==null?void 0:k.wordPattern)||this._languageWordPattern;let V=!1;for(let j=0,ie=L.length;j({range:j,options:LinkedEditingContribution_1$1.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(z),this._syncRangesToken++}catch(y){isCancellationError$1(y)||onUnexpectedError$1(y),(this._currentRequestCts===g||!this._currentRequestCts)&&this.clearRanges()}}},LinkedEditingContribution_1$1=ts,ts.ID="editor.contrib.linkedEditing",ts.DECORATION=ModelDecorationOptions$1.register({description:"linked-editing",stickiness:0,className:DECORATION_CLASS_NAME$2}),ts);LinkedEditingContribution$1=LinkedEditingContribution_1$1=__decorate$35([__param$2X(1,IContextKeyService$1),__param$2X(2,ILanguageFeaturesService$1),__param$2X(3,ILanguageConfigurationService$1),__param$2X(4,ILanguageFeatureDebounceService$1)],LinkedEditingContribution$1);let LinkedEditingAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.linkedEditing",label:localize$1("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(ICodeEditorService$1),[r,g]=Array.isArray(t)&&t||[void 0,void 0];return URI$1.isUri(r)&&Position$3.isIPosition(g)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(y=>{y&&(y.setPosition(g),y.invokeWithinContext(k=>(this.reportTelemetry(k,y),this.run(k,y))))},onUnexpectedError$1):super.runCommand(e,t)}run(e,t){const i=LinkedEditingContribution$1.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}};const LinkedEditingCommand$1=EditorCommand$1.bindToContribution(LinkedEditingContribution$1.get);registerEditorCommand$1(new LinkedEditingCommand$1({id:"cancelLinkedEditingInput",precondition:CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE$1,handler:n=>n.clearRanges(),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function getLinkedEditingRanges$1(n,e,t,i){const r=n.ordered(e);return first$1(r.map(g=>async()=>{try{return await g.provideLinkedEditingRanges(e,t,i)}catch(y){onUnexpectedExternalError$1(y);return}}),g=>!!g&&isNonEmptyArray$1(g==null?void 0:g.ranges))}registerColor$1("editor.linkedEditingBackground",{dark:Color$2.fromHex("#f00").transparent(.3),light:Color$2.fromHex("#f00").transparent(.3),hcDark:Color$2.fromHex("#f00").transparent(.3),hcLight:Color$2.white},localize$1("editorLinkedEditingBackground","Background color when the editor auto renames on type."));registerModelAndPositionCommand$1("_executeLinkedEditingProvider",(n,e,t)=>{const{linkedEditingRangeProvider:i}=n.get(ILanguageFeaturesService$1);return getLinkedEditingRanges$1(i,e,t,CancellationToken$1.None)});registerEditorContribution$1(LinkedEditingContribution$1.ID,LinkedEditingContribution$1,1);registerEditorAction$1(LinkedEditingAction$1);let Link$4=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}},LinksList$1=class zh{constructor(e){this._disposables=new DisposableStore$1;let t=[];for(const[i,r]of e){const g=i.links.map(y=>new Link$4(y,r));t=zh._union(t,g),isDisposable$1(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let r,g,y,k;for(r=0,y=0,g=e.length,k=t.length;rPromise.resolve(g.provideLinks(e,t)).then(k=>{k&&(i[y]=[k,g])},onUnexpectedExternalError$1));return Promise.all(r).then(()=>{const g=new LinksList$1(coalesce$1(i));return t.isCancellationRequested?(g.dispose(),new LinksList$1([])):g})}CommandsRegistry$1.registerCommand("_executeLinkProvider",async(n,...e)=>{let[t,i]=e;assertType$1(t instanceof URI$1),typeof i!="number"&&(i=0);const{linkProvider:r}=n.get(ILanguageFeaturesService$1),g=n.get(IModelService$1).getModel(t);if(!g)return[];const y=await getLinks$1(r,g,CancellationToken$1.None);if(!y)return[];for(let L=0;L=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2W=function(n,e){return function(t,i){e(t,i,n)}},LinkDetector_1$1,fl;let LinkDetector$1=(fl=class extends Disposable$1{static get(e){return e.getContribution(LinkDetector_1$1.ID)}constructor(e,t,i,r,g){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=g.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new RunOnceScheduler$1(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const y=this._register(new ClickLinkGesture$1(e));this._register(y.onMouseMoveOrRelevantKeyDown(([k,L])=>{this._onEditorMouseMove(k,L)})),this._register(y.onExecute(k=>{this.onEditorMouseUp(k)})),this._register(y.onCancel(k=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(k=>{k.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(k=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(k=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(k=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(k=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=createCancelablePromise$1(t=>getLinks$1(this.providers,e,t));try{const t=new StopWatch$1(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){onUnexpectedError$1(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],r=Object.keys(this.currentOccurrences);for(const y of r){const k=this.currentOccurrences[y];i.push(k.decorationId)}const g=[];if(e)for(const y of e)g.push(LinkOccurrence$1.decoration(y,t));this.editor.changeDecorations(y=>{const k=y.deltaDecorations(i,g);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let L=0,V=k.length;L{r.activate(g,i),this.activeLinkDecorationId=r.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:r}=e;r.resolve(CancellationToken$1.None).then(g=>{if(typeof g=="string"&&this.editor.hasModel()){const y=this.editor.getModel().uri;if(y.scheme===Schemas$1.file&&g.startsWith("".concat(Schemas$1.file,":"))){const k=URI$1.parse(g);if(k.scheme===Schemas$1.file){const L=originalFSPath$1(k);let V=null;L.startsWith("/./")||L.startsWith("\\.\\")?V=".".concat(L.substr(1)):(L.startsWith("//./")||L.startsWith("\\\\.\\"))&&(V=".".concat(L.substr(2))),V&&(g=joinPath$1(y,V))}}}return this.openerService.open(g,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},g=>{const y=g instanceof Error?g.message:g;y==="invalid"?this.notificationService.warn(localize$1("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url.toString())):y==="missing"?this.notificationService.warn(localize$1("missing.url","Failed to open this link because its target is missing.")):onUnexpectedError$1(g)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const r=this.currentOccurrences[i.id];if(r)return r}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)==null||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}},LinkDetector_1$1=fl,fl.ID="editor.linkDetector",fl);LinkDetector$1=LinkDetector_1$1=__decorate$34([__param$2W(1,IOpenerService$1),__param$2W(2,INotificationService$1),__param$2W(3,ILanguageFeaturesService$1),__param$2W(4,ILanguageFeatureDebounceService$1)],LinkDetector$1);const decoration$3={general:ModelDecorationOptions$1.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:ModelDecorationOptions$1.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};let LinkOccurrence$1=class Qc{static decoration(e,t){return{range:e.range,options:Qc._getOptions(e,t,!1)}}static _getOptions(e,t,i){const r={...i?decoration$3.active:decoration$3.general};return r.hoverMessage=getHoverMessage$1(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,Qc._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,Qc._getOptions(this.link,t,!1))}};function getHoverMessage$1(n,e){const t=n.url&&/^command:/i.test(n.url.toString()),i=n.tooltip?n.tooltip:t?localize$1("links.navigate.executeCmd","Execute command"):localize$1("links.navigate.follow","Follow link"),r=e?isMacintosh$1?localize$1("links.navigate.kb.meta.mac","cmd + click"):localize$1("links.navigate.kb.meta","ctrl + click"):isMacintosh$1?localize$1("links.navigate.kb.alt.mac","option + click"):localize$1("links.navigate.kb.alt","alt + click");if(n.url){let g="";if(/^command:/i.test(n.url.toString())){const k=n.url.toString().match(/^command:([^?#]+)/);if(k){const L=k[1];g=localize$1("tooltip.explanation","Execute command {0}",L)}}return new MarkdownString$1("",!0).appendLink(n.url.toString(!0).replace(/ /g,"%20"),i,g).appendMarkdown(" (".concat(r,")"))}else return new MarkdownString$1().appendText("".concat(i," (").concat(r,")"))}let OpenLinkAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.openLink",label:localize$1("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=LinkDetector$1.get(t);if(!i||!t.hasModel())return;const r=t.getSelections();for(const g of r){const y=i.getLinkOccurrence(g.getEndPosition());y&&i.openLinkOccurrence(y,!1)}}};registerEditorContribution$1(LinkDetector$1.ID,LinkDetector$1,1);registerEditorAction$1(OpenLinkAction$1);var ac;let LongLinesHelper$1=(ac=class extends Disposable$1{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(118);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}},ac.ID="editor.contrib.longLinesHelper",ac);registerEditorContribution$1(LongLinesHelper$1.ID,LongLinesHelper$1,2);const wordHighlightBackground$1=registerColor$1("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},localize$1("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},localize$1("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor$1("editor.wordHighlightTextBackground",wordHighlightBackground$1,localize$1("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const wordHighlightBorder$1=registerColor$1("editor.wordHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));registerColor$1("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:activeContrastBorder$1,hcLight:activeContrastBorder$1},localize$1("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));registerColor$1("editor.wordHighlightTextBorder",wordHighlightBorder$1,localize$1("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const overviewRulerWordHighlightForeground$1=registerColor$1("editorOverviewRuler.wordHighlightForeground","#A0A0A0CC",localize$1("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightStrongForeground$1=registerColor$1("editorOverviewRuler.wordHighlightStrongForeground","#C0A0C0CC",localize$1("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightTextForeground$1=registerColor$1("editorOverviewRuler.wordHighlightTextForeground",overviewRulerSelectionHighlightForeground$1,localize$1("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),_WRITE_OPTIONS$1=ModelDecorationOptions$1.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:themeColorFromId$1(overviewRulerWordHighlightStrongForeground$1),position:OverviewRulerLane$2.Center},minimap:{color:themeColorFromId$1(minimapSelectionOccurrenceHighlight$1),position:1}}),_TEXT_OPTIONS$1=ModelDecorationOptions$1.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:themeColorFromId$1(overviewRulerWordHighlightTextForeground$1),position:OverviewRulerLane$2.Center},minimap:{color:themeColorFromId$1(minimapSelectionOccurrenceHighlight$1),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS$1=ModelDecorationOptions$1.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:themeColorFromId$1(overviewRulerSelectionHighlightForeground$1),position:OverviewRulerLane$2.Center},minimap:{color:themeColorFromId$1(minimapSelectionOccurrenceHighlight$1),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW$1=ModelDecorationOptions$1.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),_REGULAR_OPTIONS$1=ModelDecorationOptions$1.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:themeColorFromId$1(overviewRulerWordHighlightForeground$1),position:OverviewRulerLane$2.Center},minimap:{color:themeColorFromId$1(minimapSelectionOccurrenceHighlight$1),position:1}});function getHighlightDecorationOptions$1(n){return n===DocumentHighlightKind$3.Write?_WRITE_OPTIONS$1:n===DocumentHighlightKind$3.Text?_TEXT_OPTIONS$1:_REGULAR_OPTIONS$1}function getSelectionHighlightDecorationOptions$1(n){return n?_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW$1:_SELECTION_HIGHLIGHT_OPTIONS$1}registerThemingParticipant$1((n,e)=>{const t=n.getColor(editorSelectionHighlight$1);t&&e.addRule(".monaco-editor .selectionHighlight { background-color: ".concat(t.transparent(.5),"; }"))});var __decorate$33=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2V=function(n,e){return function(t,i){e(t,i,n)}},SelectionHighlighter_1$1;function announceCursorChange$1(n,e){const t=e.filter(i=>!n.find(r=>r.equals(i)));if(t.length>=1){const i=t.map(g=>"line ".concat(g.viewState.position.lineNumber," column ").concat(g.viewState.position.column)).join(", "),r=t.length===1?localize$1("cursorAdded","Cursor added: {0}",i):localize$1("cursorsAdded","Cursors added: {0}",i);status$1(r)}}let InsertCursorAbove$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertCursorAbove",label:localize$1("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miInsertCursorAbove",comment:["&& denotes a mnemonic"]},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const g=t._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();const y=g.getCursorStates();g.setCursorStates(i.source,3,CursorMoveCommands$1.addCursorUp(g,y,r)),g.revealTopMostCursor(i.source),announceCursorChange$1(y,g.getCursorStates())}},InsertCursorBelow$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertCursorBelow",label:localize$1("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miInsertCursorBelow",comment:["&& denotes a mnemonic"]},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const g=t._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();const y=g.getCursorStates();g.setCursorStates(i.source,3,CursorMoveCommands$1.addCursorDown(g,y,r)),g.revealBottomMostCursor(i.source),announceCursorChange$1(y,g.getCursorStates())}},InsertCursorAtEndOfEachLineSelected$1=class extends EditorAction$1{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:localize$1("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miInsertCursorAtEndOfEachLineSelected",comment:["&& denotes a mnemonic"]},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let r=e.startLineNumber;r1&&i.push(new Selection$3(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),r=t.getSelections(),g=t._getViewModel(),y=g.getCursorStates(),k=[];r.forEach(L=>this.getCursorsForSelection(L,i,k)),k.length>0&&t.setSelections(k),announceCursorChange$1(y,g.getCursorStates())}},InsertCursorAtEndOfLineSelected$1=class extends EditorAction$1{constructor(){super({id:"editor.action.addCursorsToBottom",label:localize$1("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=t.getModel().getLineCount(),g=[];for(let L=i[0].startLineNumber;L<=r;L++)g.push(new Selection$3(L,i[0].startColumn,L,i[0].endColumn));const y=t._getViewModel(),k=y.getCursorStates();g.length>0&&t.setSelections(g),announceCursorChange$1(k,y.getCursorStates())}},InsertCursorAtTopOfLineSelected$1=class extends EditorAction$1{constructor(){super({id:"editor.action.addCursorsToTop",label:localize$1("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=[];for(let k=i[0].startLineNumber;k>=1;k--)r.push(new Selection$3(k,i[0].startColumn,k,i[0].endColumn));const g=t._getViewModel(),y=g.getCursorStates();r.length>0&&t.setSelections(r),announceCursorChange$1(y,g.getCursorStates())}},MultiCursorSessionResult$1=class{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}},MultiCursorSession$1=class qd{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new qd(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let r=!1,g,y;const k=e.getSelections();k.length===1&&k[0].isEmpty()?(r=!0,g=!0,y=!0):(g=i.wholeWord,y=i.matchCase);const L=e.getSelection();let V,z=null;if(L.isEmpty()){const j=e.getConfiguredWordAtPosition(L.getStartPosition());if(!j)return null;V=j.word,z=new Selection$3(L.startLineNumber,j.startColumn,L.startLineNumber,j.endColumn)}else V=e.getModel().getValueInRange(L).replace(/\r\n/g,"\n");return new qd(e,t,r,V,g,y,z)}constructor(e,t,i,r,g,y,k){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=r,this.wholeWord=g,this.matchCase=y,this.currentMatch=k}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult$1(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult$1(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Selection$3(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult$1(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult$1(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1);return i?new Selection$3(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(132):null,!1,1073741824)}};var pl;let MultiCursorSelectionController$1=(pl=class extends Disposable$1{static get(e){return e.getContribution(pl.ID)}constructor(e){super(),this._sessionDispose=this._register(new DisposableStore$1),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=MultiCursorSession$1.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(r=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(r=>{(r.matchCase||r.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Selection$3(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const r=e.getState().matchCase;if(!modelRangesContainSameText$1(this._editor.getModel(),t,r)){const y=this._editor.getModel(),k=[];for(let L=0,V=t.length;L0&&i.isRegex){const r=this._editor.getModel();i.searchScope?t=r.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824):t=r.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(132):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const r=this._editor.getSelection();for(let g=0,y=t.length;gnew Selection$3(g.range.startLineNumber,g.range.startColumn,g.range.endLineNumber,g.range.endColumn)))}}},pl.ID="editor.contrib.multiCursorController",pl),MultiCursorSelectionControllerAction$1=class extends EditorAction$1{run(e,t){const i=MultiCursorSelectionController$1.get(t);if(!i)return;const r=t._getViewModel();if(r){const g=r.getCursorStates(),y=CommonFindController$1.get(t);if(y)this._run(i,y);else{const k=e.get(IInstantiationService$1).createInstance(CommonFindController$1,t);this._run(i,k),k.dispose()}announceCursorChange$1(g,r.getCursorStates())}}},AddSelectionToNextFindMatchAction$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:localize$1("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:2082,weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miAddSelectionToNextFindMatch",comment:["&& denotes a mnemonic"]},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}},AddSelectionToPreviousFindMatchAction$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:localize$1("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miAddSelectionToPreviousFindMatch",comment:["&& denotes a mnemonic"]},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}},MoveSelectionToNextFindMatchAction$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:localize$1("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:KeyChord$1(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}},MoveSelectionToPreviousFindMatchAction$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:localize$1("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}},SelectHighlightsAction$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.selectHighlights",label:localize$1("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:3114,weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"3_multi",title:localize$1({key:"miSelectHighlights",comment:["&& denotes a mnemonic"]},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}},CompatChangeAll$1=class extends MultiCursorSelectionControllerAction$1{constructor(){super({id:"editor.action.changeAll",label:localize$1("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.editorTextFocus),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}},SelectionHighlighterState$1=class{constructor(e,t,i,r,g){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=r,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,g&&this._model===g._model&&this._searchText===g._searchText&&this._matchCase===g._matchCase&&this._wordSeparators===g._wordSeparators&&this._modelVersionId===g._modelVersionId&&(this._cachedFindMatches=g._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(Range$5.compareRangesUsingStarts)),this._cachedFindMatches}};var ml;let SelectionHighlighter$1=(ml=class extends Disposable$1{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(109),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new RunOnceScheduler$1(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(r=>{this._isEnabled=e.getOption(109)})),this._register(e.onDidChangeCursorSelection(r=>{this._isEnabled&&(r.selection.isEmpty()?r.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(r=>{this._setState(null)})),this._register(e.onDidChangeModelContent(r=>{this._isEnabled&&this.updateSoon.schedule()}));const i=CommonFindController$1.get(e);i&&this._register(i.getState().onFindReplaceStateChange(r=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(SelectionHighlighter_1$1._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const r=i.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;const g=MultiCursorSelectionController$1.get(i);if(!g)return null;const y=CommonFindController$1.get(i);if(!y)return null;let k=g.getSession(y);if(!k){const z=i.getSelections();if(z.length>1){const ie=y.getState().matchCase;if(!modelRangesContainSameText$1(i.getModel(),z,ie))return null}k=MultiCursorSession$1.create(i,y)}if(!k||k.currentMatch||/^[ \t]+$/.test(k.searchText)||k.searchText.length>200)return null;const L=y.getState(),V=L.matchCase;if(L.isRevealed){let z=L.searchString;V||(z=z.toLowerCase());let j=k.searchText;if(V||(j=j.toLowerCase()),z===j&&k.matchCase===L.matchCase&&k.wholeWord===L.wholeWord&&!L.isRegex)return null}return new SelectionHighlighterState$1(i.getModel(),k.searchText,k.matchCase,k.wholeWord?i.getOption(132):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),r=this.editor.getSelections();r.sort(Range$5.compareRangesUsingStarts);const g=[];for(let V=0,z=0,j=i.length,ie=r.length;V=ie)g.push(oe),V++;else{const re=Range$5.compareRangesUsingStarts(oe,r[z]);re<0?((r[z].isEmpty()||!Range$5.areIntersecting(oe,r[z]))&&g.push(oe),V++):(re>0||V++,z++)}}const y=this.editor.getOption(81)!=="off",k=this._languageFeaturesService.documentHighlightProvider.has(t)&&y,L=g.map(V=>({range:V,options:getSelectionHighlightDecorationOptions$1(k)}));this._decorations.set(L)}dispose(){this._setState(null),super.dispose()}},SelectionHighlighter_1$1=ml,ml.ID="editor.contrib.selectionHighlighter",ml);SelectionHighlighter$1=SelectionHighlighter_1$1=__decorate$33([__param$2V(1,ILanguageFeaturesService$1)],SelectionHighlighter$1);function modelRangesContainSameText$1(n,e,t){const i=getValueInRange$1(n,e[0],!t);for(let r=1,g=e.length;r=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2U=function(n,e){return function(t,i){e(t,i,n)}};const INLINE_EDIT_DESCRIPTION$1="inline-edit";let GhostTextWidget$2=class extends Disposable$1{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue$1(this,!1),this.currentTextModel=observableFromEvent$1(this,this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived$1(this,r=>{var ue;if(this.isDisposed.read(r))return;const g=this.currentTextModel.read(r);if(g!==this.model.targetTextModel.read(r))return;const y=this.model.ghostText.read(r);if(!y)return;let k=(ue=this.model.range)==null?void 0:ue.read(r);k&&k.startLineNumber===k.endLineNumber&&k.startColumn===k.endColumn&&(k=void 0);const L=(k?k.startLineNumber===k.endLineNumber:!0)&&y.parts.length===1&&y.parts[0].lines.length===1,V=y.parts.length===1&&y.parts[0].lines.every(he=>he.length===0),z=[],j=[];function ie(he,pe){if(j.length>0){const Ce=j[j.length-1];pe&&Ce.decorations.push(new LineDecoration$1(Ce.content.length+1,Ce.content.length+1+he[0].length,pe,0)),Ce.content+=he[0],he=he.slice(1)}for(const Ce of he)j.push({content:Ce,decorations:pe?[new LineDecoration$1(1,Ce.length+1,pe,0)]:[]})}const oe=g.getLineContent(y.lineNumber);let re,ae=0;if(!V&&(L||!k)){for(const he of y.parts){let pe=he.lines;k&&!L&&(ie(pe,INLINE_EDIT_DESCRIPTION$1),pe=[]),re===void 0?(z.push({column:he.column,text:pe[0],preview:he.preview}),pe=pe.slice(1)):ie([oe.substring(ae,he.column-1)],void 0),pe.length>0&&(ie(pe,INLINE_EDIT_DESCRIPTION$1),re===void 0&&he.column<=oe.length&&(re=he.column)),ae=he.column-1}re!==void 0&&ie([oe.substring(ae)],void 0)}const le=re!==void 0?new ColumnRange$1(re,oe.length+1):void 0,de=L||!k?y.lineNumber:k.endLineNumber-1;return{inlineTexts:z,additionalLines:j,hiddenRange:le,lineNumber:de,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:g,range:k,isSingleLine:L,isPureRemove:V}}),this.decorations=derived$1(this,r=>{const g=this.uiState.read(r);if(!g)return[];const y=[];if(g.hiddenRange&&y.push({range:g.hiddenRange.toRange(g.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),g.range){const k=[];if(g.isSingleLine)k.push(g.range);else if(!g.isPureRemove){const L=g.range.endLineNumber-g.range.startLineNumber;for(let V=0;V{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations$2(this.editor,this.decorations))}};GhostTextWidget$2=__decorate$32([__param$2U(2,ILanguageService$1)],GhostTextWidget$2);var __decorate$31=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2T=function(n,e){return function(t,i){e(t,i,n)}},InlineEditHintsContentWidget_1$1;let InlineEditHintsWidget$1=class extends Disposable$1{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived$1(this,r=>{var L,V,z;const g=(L=this.model.read(r))==null?void 0:L.model.ghostText.read(r);if(!this.alwaysShowToolbar.read(r)||!g||g.parts.length===0)return this.sessionPosition=void 0,null;const y=g.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==g.lineNumber&&(this.sessionPosition=void 0);const k=new Position$3(g.lineNumber,Math.min(y,(z=(V=this.sessionPosition)==null?void 0:V.column)!=null?z:Number.MAX_SAFE_INTEGER));return this.sessionPosition=k,k}),this._register(autorunWithStore$1((r,g)=>{if(!this.model.read(r)||!this.alwaysShowToolbar.read(r))return;const k=g.add(this.instantiationService.createInstance(InlineEditHintsContentWidget$1,this.editor,!0,this.position));e.addContentWidget(k),g.add(toDisposable$1(()=>e.removeContentWidget(k)))}))}};InlineEditHintsWidget$1=__decorate$31([__param$2T(2,IInstantiationService$1)],InlineEditHintsWidget$1);var is;let InlineEditHintsContentWidget$1=(is=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=g,this._menuService=y,this.id="InlineEditHintsContentWidget".concat(InlineEditHintsContentWidget_1$1.id++),this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h$2("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[h$2("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId$1.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(r.createInstance(CustomizedMenuWorkbenchToolBar$2,this.nodes.toolBar,this.editor,MenuId$1.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:k=>k.startsWith("primary")},actionViewItemProvider:(k,L)=>{if(k instanceof MenuItemAction$1)return r.createInstance(StatusBarViewItem$3,k,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(k=>{InlineEditHintsContentWidget_1$1._dropDownVisible=k})),this._register(autorun$1(k=>{this._position.read(k),this.editor.layoutContentWidget(this)})),this._register(autorun$1(k=>{const L=[];for(const[V,z]of this.inlineCompletionsActionsMenus.getActions())for(const j of z)j instanceof MenuItemAction$1&&L.push(j);L.length>0&&L.unshift(new Separator$1),this.toolBar.setAdditionalSecondaryActions(L)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}},InlineEditHintsContentWidget_1$1=is,is._dropDownVisible=!1,is.id=0,is);InlineEditHintsContentWidget$1=InlineEditHintsContentWidget_1$1=__decorate$31([__param$2T(3,IInstantiationService$1),__param$2T(4,IContextKeyService$1),__param$2T(5,IMenuService$1)],InlineEditHintsContentWidget$1);let StatusBarViewItem$3=class extends MenuEntryActionViewItem$1{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h$2("div.keybinding").root;this._register(new KeybindingLabel$1(t,OS$1,{disableTitle:!0,...unthemedKeybindingLabelOptions$1})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}},CustomizedMenuWorkbenchToolBar$2=class extends WorkbenchToolBar$1{constructor(e,t,i,r,g,y,k,L,V,z){super(e,{resetMenu:i,...r},g,y,k,L,V,z),this.editor=t,this.menuId=i,this.options2=r,this.menuService=g,this.contextKeyService=y,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var i,r,g,y,k,L,V;const e=[],t=[];createAndFillInActionBarActions$1(this.menu,(i=this.options2)==null?void 0:i.menuOptions,{primary:e,secondary:t},(g=(r=this.options2)==null?void 0:r.toolbarOptions)==null?void 0:g.primaryGroup,(k=(y=this.options2)==null?void 0:y.toolbarOptions)==null?void 0:k.shouldInlineSubmenu,(V=(L=this.options2)==null?void 0:L.toolbarOptions)==null?void 0:V.useSeparatorsInPrimaryActions),t.push(...this.additionalActions),e.unshift(...this.prependedPrimaryActions),this.setActions(e,t)}setAdditionalSecondaryActions(e){equals$5(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar$2=__decorate$31([__param$2T(4,IMenuService$1),__param$2T(5,IContextKeyService$1),__param$2T(6,IContextMenuService$1),__param$2T(7,IKeybindingService$1),__param$2T(8,ICommandService$1),__param$2T(9,ITelemetryService$1)],CustomizedMenuWorkbenchToolBar$2);var __decorate$30=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2S=function(n,e){return function(t,i){e(t,i,n)}},InlineEditSideBySideWidget_1,InlineEditSideBySideContentWidget_1;function*range$2(n,e,t=1){e===void 0&&([e,n]=[n,0]);for(let i=n;ig.replace(new RegExp("^"+e),"")),shift:t}}var _l;let InlineEditSideBySideWidget=(_l=class extends Disposable$1{static _createUniqueUri(){return URI$1.from({scheme:"inline-edit-widget",path:new Date().toString()+String(InlineEditSideBySideWidget_1._modelId++)})}constructor(e,t,i,r,g){super(),this._editor=e,this._model=t,this._instantiationService=i,this._diffProviderFactoryService=r,this._modelService=g,this._position=derived$1(this,y=>{const k=this._model.read(y);if(!k||k.text.length===0||k.range.startLineNumber===k.range.endLineNumber&&!(k.range.startColumn===k.range.endColumn&&k.range.startColumn===1))return null;const L=this._editor.getModel();if(!L)return null;const V=Array.from(range$2(k.range.startLineNumber,k.range.endLineNumber+1)),z=V.map(ae=>L.getLineLastNonWhitespaceColumn(ae)),j=Math.max(...z),ie=V[z.indexOf(j)],oe=new Position$3(ie,j);return{top:k.range.startLineNumber,left:oe}}),this._text=derived$1(this,y=>{const k=this._model.read(y);if(!k)return{text:"",shift:0};const L=removeIndentation(k.text.split("\n"));return{text:L.text.join("\n"),shift:L.shift}}),this._originalModel=derivedDisposable$1(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable$1(()=>this._modelService.createModel("",null,InlineEditSideBySideWidget_1._createUniqueUri())).keepObserved(this._store),this._diff=derived$1(this,y=>{var k,L;return(L=(k=this._diffPromise.read(y))==null?void 0:k.promiseResult.read(y))==null?void 0:L.data}),this._diffPromise=derived$1(this,y=>{const k=this._model.read(y);if(!k)return;const L=this._editor.getModel();if(!L)return;const V=removeIndentation(L.getValueInRange(k.range).split("\n")).text.join("\n"),z=removeIndentation(k.text.split("\n")).text.join("\n");this._originalModel.get().setValue(V),this._modifiedModel.get().setValue(z);const j=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ObservablePromise.fromFn(async()=>{const ie=await j.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},CancellationToken$1.None);if(!ie.identical)return ie.changes})}),this._register(autorunWithStore$1((y,k)=>{if(!this._model.read(y)||this._position.get()===null)return;const V=k.add(this._instantiationService.createInstance(InlineEditSideBySideContentWidget,this._editor,this._position,this._text.map(z=>z.text),this._text.map(z=>z.shift),this._diff));e.addOverlayWidget(V),k.add(toDisposable$1(()=>e.removeOverlayWidget(V)))}))}},InlineEditSideBySideWidget_1=_l,_l._modelId=0,_l);InlineEditSideBySideWidget=InlineEditSideBySideWidget_1=__decorate$30([__param$2S(2,IInstantiationService$1),__param$2S(3,IDiffProviderFactoryService$1),__param$2S(4,IModelService$1)],InlineEditSideBySideWidget);var vl;let InlineEditSideBySideContentWidget=(vl=class extends Disposable$1{constructor(e,t,i,r,g,y){var k,L;super(),this._editor=e,this._position=t,this._text=i,this._shift=r,this._diff=g,this._instantiationService=y,this.id="InlineEditSideBySideContentWidget".concat(InlineEditSideBySideContentWidget_1.id++),this.allowEditorOverflow=!1,this._nodes=$$u("div.inlineEditSideBySide",void 0),this._scrollChanged=observableSignalFromEvent$1("editor.onDidScrollChange",this._editor.onDidScrollChange),this._previewEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget$1,this._nodes,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,scrollbar:{vertical:"hidden",horizontal:"hidden",alwaysConsumeMouseWheel:!1,handleMouseWheel:!1},readOnly:!0,wordWrap:"off",wordWrapOverride1:"off",wordWrapOverride2:"off",wrappingIndent:"none",wrappingStrategy:void 0},{contributions:[],isSimpleWidget:!0},this._editor)),this._previewEditorObs=observableCodeEditor(this._previewEditor),this._editorObs=observableCodeEditor(this._editor),this._previewTextModel=this._register(this._instantiationService.createInstance(TextModel$1,"",(L=(k=this._editor.getModel())==null?void 0:k.getLanguageId())!=null?L:PLAINTEXT_LANGUAGE_ID$1,TextModel$1.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived$1(V=>{const z=this._text.read(V);z&&this._previewTextModel.setValue(z)}).recomputeInitiallyAndOnChange(this._store),this._decorations=derived$1(this,V=>{this._setText.read(V);const z=this._position.read(V);if(!z)return{org:[],mod:[]};const j=this._diff.read(V);if(!j)return{org:[],mod:[]};const ie=[],oe=[];if(j.length===1&&j[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return{org:[],mod:[]};const re=this._shift.get(),ae=le=>new Range$5(le.startLineNumber+z.top-1,le.startColumn+re,le.endLineNumber+z.top-1,le.endColumn+re);for(const le of j)if(le.original.isEmpty||ie.push({range:ae(le.original.toInclusiveRange()),options:diffLineDeleteDecorationBackgroundWithIndicator$1}),le.modified.isEmpty||oe.push({range:le.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator$1}),le.modified.isEmpty||le.original.isEmpty)le.original.isEmpty||ie.push({range:ae(le.original.toInclusiveRange()),options:diffWholeLineDeleteDecoration$1}),le.modified.isEmpty||oe.push({range:le.modified.toInclusiveRange(),options:diffWholeLineAddDecoration$1});else for(const de of le.innerChanges||[])le.original.contains(de.originalRange.startLineNumber)&&ie.push({range:ae(de.originalRange),options:de.originalRange.isEmpty()?diffDeleteDecorationEmpty$1:diffDeleteDecoration$1}),le.modified.contains(de.modifiedRange.startLineNumber)&&oe.push({range:de.modifiedRange,options:de.modifiedRange.isEmpty()?diffAddDecorationEmpty$1:diffAddDecoration$1});return{org:ie,mod:oe}}),this._originalDecorations=derived$1(this,V=>this._decorations.read(V).org),this._modifiedDecorations=derived$1(this,V=>this._decorations.read(V).mod),this._previewEditor.setModel(this._previewTextModel),this._register(this._editorObs.setDecorations(this._originalDecorations)),this._register(this._previewEditorObs.setDecorations(this._modifiedDecorations)),this._register(autorun$1(V=>{const z=this._previewEditorObs.contentWidth.read(V),j=this._text.read(V).split("\n").length-1,ie=this._editor.getOption(67)*j;z<=0||this._previewEditor.layout({height:ie,width:z})})),this._register(autorun$1(V=>{this._position.read(V),this._editor.layoutOverlayWidget(this)})),this._register(autorun$1(V=>{this._scrollChanged.read(V),this._position.read(V)&&this._editor.layoutOverlayWidget(this)}))}getId(){return this.id}getDomNode(){return this._nodes}getPosition(){const e=this._position.get();if(!e)return null;const t=this._editor.getLayoutInfo(),i=this._editor.getScrolledVisiblePosition(new Position$3(e.top,1));if(!i)return null;const r=i.top-1,g=this._editor.getOffsetForColumn(e.left.lineNumber,e.left.column);return{preference:{left:t.contentLeft+g+10,top:r}}}},InlineEditSideBySideContentWidget_1=vl,vl.id=0,vl);InlineEditSideBySideContentWidget=InlineEditSideBySideContentWidget_1=__decorate$30([__param$2S(5,IInstantiationService$1)],InlineEditSideBySideContentWidget);var __decorate$2$=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2R=function(n,e){return function(t,i){e(t,i,n)}},InlineEditController_1$1,fo;let InlineEditController$1=(fo=class extends Disposable$1{static get(e){return e.getContribution(InlineEditController_1$1.ID)}constructor(e,t,i,r,g,y,k,L){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=r,this._commandService=g,this._configurationService=y,this._diffProviderFactoryService=k,this._modelService=L,this._isVisibleContext=InlineEditController_1$1.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=InlineEditController_1$1.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=observableValue$1(this,void 0),this._currentWidget=derivedDisposable$1(this._currentEdit,re=>{var xe;const ae=this._currentEdit.read(re);if(!ae)return;const le=ae.range.endLineNumber,de=ae.range.endColumn,ue=ae.text.endsWith("\n")&&!(ae.range.startLineNumber===ae.range.endLineNumber&&ae.range.startColumn===ae.range.endColumn)?ae.text.slice(0,-1):ae.text,he=new GhostText$1(le,[new GhostTextPart$1(de,ue,!1)]),pe=ae.range.startLineNumber===ae.range.endLineNumber&&he.parts.length===1&&he.parts[0].lines.length===1,Ce=ae.text==="";return!pe&&!Ce?void 0:this.instantiationService.createInstance(GhostTextWidget$2,this.editor,{ghostText:constObservable$1(he),minReservedLineCount:constObservable$1(0),targetTextModel:constObservable$1((xe=this.editor.getModel())!=null?xe:void 0),range:constObservable$1(ae.range)})}),this._isAccepting=observableValue$1(this,!1),this._enabled=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=observableFromEvent$1(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily);const V=observableSignalFromEvent$1("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(autorun$1(re=>{this._enabled.read(re)&&(V.read(re),!this._isAccepting.read(re)&&this.getInlineEdit(e,!0))}));const z=observableFromEvent$1(this,e.onDidChangeCursorPosition,()=>e.getPosition());this._register(autorun$1(re=>{if(!this._enabled.read(re))return;const ae=z.read(re);ae&&this.checkCursorPosition(ae)})),this._register(autorun$1(re=>{const ae=this._currentEdit.read(re);if(this._isCursorAtInlineEditContext.set(!1),!ae){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const le=e.getPosition();le&&this.checkCursorPosition(le)}));const j=observableSignalFromEvent$1("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(autorun$1(async re=>{var ae;this._enabled.read(re)&&(j.read(re),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((ae=this._currentRequestCts)==null||ae.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const ie=observableSignalFromEvent$1("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(autorun$1(re=>{this._enabled.read(re)&&(ie.read(re),this.getInlineEdit(e,!0))}));const oe=this._register(createStyleSheet2$1());this._register(autorun$1(re=>{const ae=this._fontFamily.read(re);oe.setStyle(ae===""||ae==="default"?"":"\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n font-family: ".concat(ae,";\n}"))})),this._register(new InlineEditHintsWidget$1(this.editor,this._currentWidget,this.instantiationService)),this._register(new InlineEditSideBySideWidget(this.editor,this._currentEdit,this.instantiationService,this._diffProviderFactoryService,this._modelService))}checkCursorPosition(e){if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const t=this._currentEdit.get();if(!t){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(Range$5.containsPosition(t.range,e))}validateInlineEdit(e,t){var i,r;if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const y=t.range.endLineNumber,k=t.range.endColumn,L=(r=(i=e.getModel())==null?void 0:i.getLineLength(y))!=null?r:0;if(k!==L+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const r=i.getVersionId(),g=this.languageFeaturesService.inlineEditProvider.all(i);if(g.length===0)return;const y=g[0];this._currentRequestCts=new CancellationTokenSource$3;const k=this._currentRequestCts.token,L=t?InlineEditTriggerKind$3.Automatic:InlineEditTriggerKind$3.Invoke;if(t&&await wait$2(50,k),k.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)return;const z=await y.provideInlineEdit(i,{triggerKind:L},k);if(z&&!(k.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)&&this.validateInlineEdit(e,z))return z}async getInlineEdit(e,t){this._isCursorAtInlineEditContext.set(!1),await this.clear();const i=await this.fetchInlineEdit(e,t);i&&this._currentEdit.set(i,void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){this._isAccepting.set(!0,void 0);const e=this._currentEdit.get();if(!e)return;let t=e.text;e.text.startsWith("\n")&&(t=e.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[EditOperation$1.replace(Range$5.lift(e.range),t)]),e.accepted&&await this._commandService.executeCommand(e.accepted.id,...e.accepted.arguments||[]).then(void 0,onUnexpectedExternalError$1),this.freeEdit(e),transaction$1(i=>{this._currentEdit.set(void 0,i),this._isAccepting.set(!1,i)})}jumpToCurrent(){var i;this._jumpBackPosition=(i=this.editor.getSelection())==null?void 0:i.getStartPosition();const e=this._currentEdit.get();if(!e)return;const t=Position$3.lift({lineNumber:e.range.startLineNumber,column:e.range.startColumn});this.editor.setPosition(t),this.editor.revealPositionInCenterIfOutsideViewport(t)}async clear(e=!0){const t=this._currentEdit.get();t&&(t!=null&&t.rejected)&&e&&await this._commandService.executeCommand(t.rejected.id,...t.rejected.arguments||[]).then(void 0,onUnexpectedExternalError$1),t&&this.freeEdit(t),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}},InlineEditController_1$1=fo,fo.ID="editor.contrib.inlineEditController",fo.inlineEditVisibleKey="inlineEditVisible",fo.inlineEditVisibleContext=new RawContextKey$1(fo.inlineEditVisibleKey,!1),fo.cursorAtInlineEditKey="cursorAtInlineEdit",fo.cursorAtInlineEditContext=new RawContextKey$1(fo.cursorAtInlineEditKey,!1),fo);InlineEditController$1=InlineEditController_1$1=__decorate$2$([__param$2R(1,IInstantiationService$1),__param$2R(2,IContextKeyService$1),__param$2R(3,ILanguageFeaturesService$1),__param$2R(4,ICommandService$1),__param$2R(5,IConfigurationService$1),__param$2R(6,IDiffProviderFactoryService$1),__param$2R(7,IModelService$1)],InlineEditController$1);function wait$2(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}let AcceptInlineEdit$2=class extends EditorAction$1{constructor(){super({id:inlineEditAcceptId$2,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineEditController$1.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineEditController$1.inlineEditVisibleContext,InlineEditController$1.cursorAtInlineEditContext)}],menuOpts:[{menuId:MenuId$1.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=InlineEditController$1.get(t);await(i==null?void 0:i.accept())}},TriggerInlineEdit$1=class extends EditorAction$1{constructor(){const e=ContextKeyExpr$1.and(EditorContextKeys$1.writable,ContextKeyExpr$1.not(InlineEditController$1.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=InlineEditController$1.get(t);i==null||i.trigger()}},JumpToInlineEdit$1=class extends EditorAction$1{constructor(){const e=ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineEditController$1.inlineEditVisibleContext,ContextKeyExpr$1.not(InlineEditController$1.cursorAtInlineEditKey));super({id:inlineEditJumpToId$1,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId$1.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController$1.get(t);i==null||i.jumpToCurrent()}},JumpBackInlineEdit$1=class extends EditorAction$1{constructor(){const e=ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineEditController$1.cursorAtInlineEditContext);super({id:inlineEditJumpBackId$1,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId$1.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController$1.get(t);i==null||i.jumpBack()}},RejectInlineEdit$1=class extends EditorAction$1{constructor(){const e=ContextKeyExpr$1.and(EditorContextKeys$1.writable,InlineEditController$1.inlineEditVisibleContext);super({id:inlineEditRejectId$1,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:MenuId$1.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=InlineEditController$1.get(t);await(i==null?void 0:i.clear())}};registerEditorAction$1(AcceptInlineEdit$2);registerEditorAction$1(RejectInlineEdit$1);registerEditorAction$1(JumpToInlineEdit$1);registerEditorAction$1(JumpBackInlineEdit$1);registerEditorAction$1(TriggerInlineEdit$1);registerEditorContribution$1(InlineEditController$1.ID,InlineEditController$1,3);const inlineEditAcceptId$1="editor.action.inlineEdits.accept",showPreviousInlineEditActionId="editor.action.inlineEdits.showPrevious",showNextInlineEditActionId="editor.action.inlineEdits.showNext",inlineEditVisible=new RawContextKey$1("inlineEditsVisible",!1,localize$1("inlineEditsVisible","Whether an inline edit is visible")),isPinnedContextKey=new RawContextKey$1("inlineEditsIsPinned",!1,localize$1("isPinned","Whether an inline edit is visible")),eu=class eu extends Disposable$1{constructor(e){super(),this._editor=e,this._editorObs=observableCodeEditor(this._editor),this._placeholderText=this._editorObs.getOption(88),this._state=derivedOpts$1({owner:this,equalsFn:structuralEquals},t=>{const i=this._placeholderText.read(t);if(i&&this._editorObs.valueIsEmpty.read(t))return{placeholder:i}}),this._shouldViewBeAlive=isOrWasTrue(this,t=>{var i;return((i=this._state.read(t))==null?void 0:i.placeholder)!==void 0}),this._view=derivedWithStore$1((t,i)=>{if(!this._shouldViewBeAlive.read(t))return;const r=h$2("div.editorPlaceholder");i.add(autorun$1(g=>{var L;const y=this._state.read(g),k=(y==null?void 0:y.placeholder)!==void 0;r.root.style.display=k?"block":"none",r.root.innerText=(L=y==null?void 0:y.placeholder)!=null?L:""})),i.add(autorun$1(g=>{const y=this._editorObs.layoutInfo.read(g);r.root.style.left="".concat(y.contentLeft,"px"),r.root.style.width=y.contentWidth-y.verticalScrollbarWidth+"px",r.root.style.top="".concat(this._editor.getTopForLineNumber(0),"px")})),i.add(autorun$1(g=>{r.root.style.fontFamily=this._editorObs.getOption(49).read(g),r.root.style.fontSize=this._editorObs.getOption(52).read(g)+"px",r.root.style.lineHeight=this._editorObs.getOption(67).read(g)+"px"})),i.add(this._editorObs.createOverlayWidget({allowEditorOverflow:!1,minContentWidthInPx:constObservable$1(0),position:constObservable$1(null),domNode:r.root}))}),this._view.recomputeInitiallyAndOnChange(this._store)}};eu.ID="editor.contrib.placeholderText";let PlaceholderTextContribution=eu;function isOrWasTrue(n,e){return derivedObservableWithCache$1(n,(t,i)=>i===!0?!0:e(t))}var __decorate$2_=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2Q=function(n,e){return function(t,i){e(t,i,n)}};class InlineEdit{constructor(e,t,i){this.range=e,this.newLines=t,this.changes=i}}let InlineEditsWidget=class extends Disposable$1{constructor(e,t,i,r){super(),this._editor=e,this._edit=t,this._userPrompt=i,this._instantiationService=r,this._editorObs=observableCodeEditor(this._editor),this._elements=h$2("div.inline-edits-widget",{style:{position:"absolute",overflow:"visible",top:"0px",left:"0px"}},[h$2("div@editorContainer",{style:{position:"absolute",top:"0px",left:"0px",width:"500px",height:"500px"}},[h$2("div.toolbar@toolbar",{style:{position:"absolute",top:"-25px",left:"0px"}}),h$2("div.promptEditor@promptEditor",{style:{position:"absolute",top:"-25px",left:"80px",width:"300px",height:"22px"}}),h$2("div.preview@editor",{style:{position:"absolute",top:"0px",left:"0px"}})]),svgElem("svg",{style:{overflow:"visible",pointerEvents:"none"}},[svgElem("defs",[svgElem("linearGradient",{id:"Gradient2",x1:"0",y1:"0",x2:"1",y2:"0"},[svgElem("stop",{offset:"0%",class:"gradient-stop"}),svgElem("stop",{offset:"100%",class:"gradient-stop"})])]),svgElem("path@path",{d:"",fill:"url(#Gradient2)"})])]),this._previewTextModel=this._register(this._instantiationService.createInstance(TextModel$1,"",PLAINTEXT_LANGUAGE_ID$1,TextModel$1.DEFAULT_CREATION_OPTIONS,null)),this._setText=derived$1(y=>{const k=this._edit.read(y);k&&this._previewTextModel.setValue(k.newLines.join("\n"))}).recomputeInitiallyAndOnChange(this._store),this._promptTextModel=this._register(this._instantiationService.createInstance(TextModel$1,"",PLAINTEXT_LANGUAGE_ID$1,TextModel$1.DEFAULT_CREATION_OPTIONS,null)),this._promptEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget$1,this._elements.promptEditor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0,placeholder:"Describe the change you want...",fontFamily:DEFAULT_FONT_FAMILY$1},{contributions:EditorExtensionsRegistry$1.getSomeEditorContributions([SuggestController$1.ID,PlaceholderTextContribution.ID,ContextMenuController$1.ID]),isSimpleWidget:!0},this._editor)),this._previewEditor=this._register(this._instantiationService.createInstance(EmbeddedCodeEditorWidget$1,this._elements.editor,{glyphMargin:!1,lineNumbers:"off",minimap:{enabled:!1},guides:{indentation:!1,bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveIndentation:!1},folding:!1,selectOnLineNumbers:!1,selectionHighlight:!1,columnSelection:!1,overviewRulerBorder:!1,overviewRulerLanes:0,lineDecorationsWidth:0,lineNumbersMinChars:0},{contributions:[]},this._editor)),this._previewEditorObs=observableCodeEditor(this._previewEditor),this._decorations=derived$1(this,y=>{var z;this._setText.read(y);const k=(z=this._edit.read(y))==null?void 0:z.changes;if(!k)return[];const L=[],V=[];if(k.length===1&&k[0].innerChanges[0].modifiedRange.equalsRange(this._previewTextModel.getFullModelRange()))return[];for(const j of k)if(j.original.isEmpty||L.push({range:j.original.toInclusiveRange(),options:diffLineDeleteDecorationBackgroundWithIndicator$1}),j.modified.isEmpty||V.push({range:j.modified.toInclusiveRange(),options:diffLineAddDecorationBackgroundWithIndicator$1}),j.modified.isEmpty||j.original.isEmpty)j.original.isEmpty||L.push({range:j.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration$1}),j.modified.isEmpty||V.push({range:j.modified.toInclusiveRange(),options:diffWholeLineAddDecoration$1});else for(const ie of j.innerChanges||[])j.original.contains(ie.originalRange.startLineNumber)&&L.push({range:ie.originalRange,options:ie.originalRange.isEmpty()?diffDeleteDecorationEmpty$1:diffDeleteDecoration$1}),j.modified.contains(ie.modifiedRange.startLineNumber)&&V.push({range:ie.modifiedRange,options:ie.modifiedRange.isEmpty()?diffAddDecorationEmpty$1:diffAddDecoration$1});return V}),this._layout1=derived$1(this,y=>{const k=this._editor.getModel(),L=this._edit.read(y);if(!L)return null;const V=L.range;let z=0;for(let oe=V.startLineNumber;oe{const k=this._edit.read(y);if(!k)return null;const L=k.range,V=this._editorObs.scrollLeft.read(y),z=this._layout1.read(y).left+20-V,j=this._editor.getTopForLineNumber(L.startLineNumber)-this._editorObs.scrollTop.read(y),ie=this._editor.getTopForLineNumber(L.endLineNumberExclusive)-this._editorObs.scrollTop.read(y),oe=new Point(z,j),re=new Point(z,ie),ae=ie-j,le=50,de=this._editor.getOption(67)*k.newLines.length,ue=ae-de,he=new Point(z+le,j+ue/2),pe=new Point(z+le,ie-ue/2);return{topCode:oe,bottomCode:re,codeHeight:ae,topEdit:he,bottomEdit:pe,editHeight:de}});const g=derived$1(this,y=>this._edit.read(y)!==void 0||this._userPrompt.read(y)!==void 0);this._register(applyStyle$1(this._elements.root,{display:derived$1(this,y=>g.read(y)?"block":"none")})),this._register(appendRemoveOnDispose$1(this._editor.getDomNode(),this._elements.root)),this._register(observableCodeEditor(e).createOverlayWidget({domNode:this._elements.root,position:constObservable$1(null),allowEditorOverflow:!1,minContentWidthInPx:derived$1(y=>{var V;const k=(V=this._layout1.read(y))==null?void 0:V.left;if(k===void 0)return 0;const L=this._previewEditorObs.contentWidth.read(y);return k+L})})),this._previewEditor.setModel(this._previewTextModel),this._register(this._previewEditorObs.setDecorations(this._decorations)),this._register(autorun$1(y=>{const k=this._layout.read(y);if(!k)return;const{topCode:L,bottomCode:V,topEdit:z,bottomEdit:j,editHeight:ie}=k,oe=10,re=0,ae=40,le=new PathBuilder().moveTo(L).lineTo(L.deltaX(oe)).curveTo(L.deltaX(oe+ae),z.deltaX(-40-re),z.deltaX(-0)).lineTo(z).lineTo(j).lineTo(j.deltaX(-0)).curveTo(j.deltaX(-40-re),V.deltaX(oe+ae),V.deltaX(oe)).lineTo(V).build();this._elements.path.setAttribute("d",le),this._elements.editorContainer.style.top="".concat(z.y,"px"),this._elements.editorContainer.style.left="".concat(z.x,"px"),this._elements.editorContainer.style.height="".concat(ie,"px");const de=this._previewEditorObs.contentWidth.read(y);this._previewEditor.layout({height:ie,width:de})})),this._promptEditor.setModel(this._promptTextModel),this._promptEditor.layout(),this._register(createTwoWaySync(mapSettableObservable(this._userPrompt,y=>y!=null?y:"",y=>y),observableCodeEditor(this._promptEditor).value)),this._register(autorun$1(y=>{const k=observableCodeEditor(this._promptEditor).isFocused.read(y);this._elements.root.classList.toggle("focused",k)}))}};InlineEditsWidget=__decorate$2_([__param$2Q(3,IInstantiationService$1)],InlineEditsWidget);function mapSettableObservable(n,e,t){return derivedWithSetter(void 0,i=>e(n.read(i)),(i,r)=>n.set(t(i),r))}class Point{constructor(e,t){this.x=e,this.y=t}deltaX(e){return new Point(this.x+e,this.y)}}class PathBuilder{constructor(){this._data=""}moveTo(e){return this._data+="M ".concat(e.x," ").concat(e.y," "),this}lineTo(e){return this._data+="L ".concat(e.x," ").concat(e.y," "),this}curveTo(e,t,i){return this._data+="C ".concat(e.x," ").concat(e.y," ").concat(t.x," ").concat(t.y," ").concat(i.x," ").concat(i.y," "),this}build(){return this._data}}function createTwoWaySync(n,e){const t=new DisposableStore$1;return t.add(autorun$1(i=>{const r=n.read(i);e.set(r,void 0)})),t.add(autorun$1(i=>{const r=e.read(i);n.set(r,void 0)})),t}var __decorate$2Z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2P=function(n,e){return function(t,i){e(t,i,n)}},InlineEditsModel_1,bl;let InlineEditsModel=(bl=class extends Disposable$1{static _createUniqueUri(){return URI$1.from({scheme:"inline-edits",path:new Date().toString()+String(InlineEditsModel_1._modelId++)})}constructor(e,t,i,r,g,y,k){super(),this.textModel=e,this._textModelVersionId=t,this._selection=i,this._debounceValue=r,this.languageFeaturesService=g,this._diffProviderFactoryService=y,this._modelService=k,this._forceUpdateExplicitlySignal=observableSignal$1(this),this._selectedInlineCompletionId=observableValue$1(this,void 0),this._isActive=observableValue$1(this,!1),this._originalModel=derivedDisposable$1(()=>this._modelService.createModel("",null,InlineEditsModel_1._createUniqueUri())).keepObserved(this._store),this._modifiedModel=derivedDisposable$1(()=>this._modelService.createModel("",null,InlineEditsModel_1._createUniqueUri())).keepObserved(this._store),this._pinnedRange=new TrackedRange(this.textModel,this._textModelVersionId),this.isPinned=this._pinnedRange.range.map(L=>!!L),this.userPrompt=observableValue$1(this,void 0),this.inlineEdit=derived$1(this,L=>{var V,z;return(z=(V=this._inlineEdit.read(L))==null?void 0:V.promiseResult.read(L))==null?void 0:z.data}),this._inlineEdit=derived$1(this,L=>{const V=this.selectedInlineEdit.read(L);if(!V)return;const z=V.inlineCompletion.range;if(V.inlineCompletion.insertText.trim()==="")return;let j=V.inlineCompletion.insertText.split(/\r\n|\r|\n/);function ie(le){var ue,he;const de=(he=(ue=le[0].match(/^\s*/))==null?void 0:ue[0])!=null?he:"";return le.map(pe=>pe.replace(new RegExp("^"+de),""))}j=ie(j);let re=this.textModel.getValueInRange(z).split(/\r\n|\r|\n/);re=ie(re),this._originalModel.get().setValue(re.join("\n")),this._modifiedModel.get().setValue(j.join("\n"));const ae=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:"advanced"});return ObservablePromise.fromFn(async()=>{const le=await ae.computeDiff(this._originalModel.get(),this._modifiedModel.get(),{computeMoves:!1,ignoreTrimWhitespace:!1,maxComputationTimeMs:1e3},CancellationToken$1.None);if(!le.identical)return new InlineEdit(LineRange$3.fromRangeInclusive(z),ie(j),le.changes)})}),this._fetchStore=this._register(new DisposableStore$1),this._inlineEditsFetchResult=disposableObservableValue$1(this,void 0),this._inlineEdits=derivedOpts$1({owner:this,equalsFn:structuralEquals},L=>{var V,z;return(z=(V=this._inlineEditsFetchResult.read(L))==null?void 0:V.completions.map(j=>new InlineEditData(j)))!=null?z:[]}),this._fetchInlineEditsPromise=derivedHandleChanges$1({owner:this,createEmptyChangeSummary:()=>({inlineCompletionTriggerKind:InlineCompletionTriggerKind$3.Automatic}),handleChange:(L,V)=>(L.didChange(this._forceUpdateExplicitlySignal)&&(V.inlineCompletionTriggerKind=InlineCompletionTriggerKind$3.Explicit),!0)},async(L,V)=>{var ae;this._fetchStore.clear(),this._forceUpdateExplicitlySignal.read(L),this._textModelVersionId.read(L);function z(le,de){return de(le)}const j=(ae=this._pinnedRange.range.read(L))!=null?ae:z(this._selection.read(L),le=>le.isEmpty()?void 0:le);if(!j){this._inlineEditsFetchResult.set(void 0,void 0),this.userPrompt.set(void 0,void 0);return}const ie={triggerKind:V.inlineCompletionTriggerKind,selectedSuggestionInfo:void 0,userPrompt:this.userPrompt.read(L)},oe=cancelOnDispose(this._fetchStore);await timeout$1(200,oe);const re=await provideInlineCompletions$1(this.languageFeaturesService.inlineCompletionsProvider,j,this.textModel,ie,oe);oe.isCancellationRequested||this._inlineEditsFetchResult.set(re,void 0)}),this._filteredInlineEditItems=derivedOpts$1({owner:this,equalsFn:itemsEquals()},L=>this._inlineEdits.read(L)),this.selectedInlineCompletionIndex=derived$1(this,L=>{const V=this._selectedInlineCompletionId.read(L),z=this._filteredInlineEditItems.read(L),j=this._selectedInlineCompletionId===void 0?-1:z.findIndex(ie=>ie.semanticId===V);return j===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):j}),this.selectedInlineEdit=derived$1(this,L=>{const V=this._filteredInlineEditItems.read(L),z=this.selectedInlineCompletionIndex.read(L);return V[z]}),this._register(recomputeInitiallyAndOnChange$1(this._fetchInlineEditsPromise))}async triggerExplicitly(e){subtransaction$1(e,t=>{this._isActive.set(!0,t),this._forceUpdateExplicitlySignal.trigger(t)}),await this._fetchInlineEditsPromise.get()}stop(e){subtransaction$1(e,t=>{this.userPrompt.set(void 0,t),this._isActive.set(!1,t),this._inlineEditsFetchResult.set(void 0,t),this._pinnedRange.setRange(void 0,t)})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineEditItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){if(e.getModel()!==this.textModel)throw new BugIndicatingError$1;const t=this.selectedInlineEdit.get();t&&(e.pushUndoStop(),e.executeEdits("inlineSuggestion.accept",[t.inlineCompletion.toSingleTextEdit().toSingleEditOperation()]),this.stop())}},InlineEditsModel_1=bl,bl._modelId=0,bl);InlineEditsModel=InlineEditsModel_1=__decorate$2Z([__param$2P(4,ILanguageFeaturesService$1),__param$2P(5,IDiffProviderFactoryService$1),__param$2P(6,IModelService$1)],InlineEditsModel);class InlineEditData{constructor(e){this.inlineCompletion=e,this.semanticId=this.inlineCompletion.hash()}}class TrackedRange extends Disposable$1{constructor(e,t){super(),this._textModel=e,this._versionId=t,this._decorations=observableValue$1(this,[]),this.range=derived$1(this,i=>{var g;this._versionId.read(i);const r=this._decorations.read(i)[0];return r&&(g=this._textModel.getDecorationRange(r))!=null?g:null}),this._register(toDisposable$1(()=>{this._textModel.deltaDecorations(this._decorations.get(),[])}))}setRange(e,t){this._decorations.set(this._textModel.deltaDecorations(this._decorations.get(),e?[{range:e,options:{description:"trackedRange"}}]:[]),t)}}var __decorate$2Y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2O=function(n,e){return function(t,i){e(t,i,n)}},InlineEditsController_1,Cl;let InlineEditsController=(Cl=class extends Disposable$1{static get(e){return e.getContribution(InlineEditsController_1.ID)}constructor(e,t,i,r,g,y){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._debounceService=r,this._languageFeaturesService=g,this._configurationService=y,this._enabled=observableConfigValue("editor.inlineEdits.enabled",!1,this._configurationService),this._editorObs=observableCodeEditor(this.editor),this._selection=derived$1(this,k=>{var L;return(L=this._editorObs.cursorSelection.read(k))!=null?L:new Selection$3(1,1,1,1)}),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineEditsDebounce",{min:50,max:50}),this.model=derivedDisposable$1(this,k=>{if(!this._enabled.read(k)||this._editorObs.isReadonly.read(k))return;const L=this._editorObs.model.read(k);return L?this._instantiationService.createInstance(readHotReloadableExport$1(InlineEditsModel,k),L,this._editorObs.versionId,this._selection,this._debounceValue):void 0}),this._hadInlineEdit=derivedObservableWithCache$1(this,(k,L)=>{var V;return L||((V=this.model.read(k))==null?void 0:V.inlineEdit.read(k))!==void 0}),this._widget=derivedDisposable$1(this,k=>{if(this._hadInlineEdit.read(k))return this._instantiationService.createInstance(readHotReloadableExport$1(InlineEditsWidget,k),this.editor,this.model.map((L,V)=>L==null?void 0:L.inlineEdit.read(V)),flattenSettableObservable(L=>{var V,z;return(z=(V=this.model.read(L))==null?void 0:V.userPrompt)!=null?z:observableValue$1("empty","")}))}),this._register(bindContextKey$1(inlineEditVisible,this._contextKeyService,k=>{var L;return!!((L=this.model.read(k))!=null&&L.inlineEdit.read(k))})),this._register(bindContextKey$1(isPinnedContextKey,this._contextKeyService,k=>{var L;return!!((L=this.model.read(k))!=null&&L.isPinned.read(k))})),this.model.recomputeInitiallyAndOnChange(this._store),this._widget.recomputeInitiallyAndOnChange(this._store)}},InlineEditsController_1=Cl,Cl.ID="editor.contrib.inlineEditsController",Cl);InlineEditsController=InlineEditsController_1=__decorate$2Y([__param$2O(1,IInstantiationService$1),__param$2O(2,IContextKeyService$1),__param$2O(3,ILanguageFeatureDebounceService$1),__param$2O(4,ILanguageFeaturesService$1),__param$2O(5,IConfigurationService$1)],InlineEditsController);function flattenSettableObservable(n){return derivedWithSetter(void 0,e=>n(e).read(e),(e,t)=>{n(void 0).set(e,t)})}function labelAndAlias(n){return{label:n.value,alias:n.original}}const nd=class nd extends EditorAction$1{constructor(){super({id:nd.ID,...labelAndAlias(localize2$1("action.inlineEdits.showNext","Show Next Inline Edit")),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,inlineEditVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var r;const i=InlineEditsController.get(t);(r=i==null?void 0:i.model.get())==null||r.next()}};nd.ID=showNextInlineEditActionId;let ShowNextInlineEditAction=nd;const od=class od extends EditorAction$1{constructor(){super({id:od.ID,...labelAndAlias(localize2$1("action.inlineEdits.showPrevious","Show Previous Inline Edit")),precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,inlineEditVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var r;const i=InlineEditsController.get(t);(r=i==null?void 0:i.model.get())==null||r.previous()}};od.ID=showPreviousInlineEditActionId;let ShowPreviousInlineEditAction=od;class TriggerInlineEditAction extends EditorAction$1{constructor(){super({id:"editor.action.inlineEdits.trigger",...labelAndAlias(localize2$1("action.inlineEdits.trigger","Trigger Inline Edit")),precondition:EditorContextKeys$1.writable})}async run(e,t){const i=InlineEditsController.get(t);await asyncTransaction$1(async r=>{var g;await((g=i==null?void 0:i.model.get())==null?void 0:g.triggerExplicitly(r))})}}let AcceptInlineEdit$1=class extends EditorAction$1{constructor(){super({id:inlineEditAcceptId$1,...labelAndAlias(localize2$1("action.inlineEdits.accept","Accept Inline Edit")),precondition:inlineEditVisible,menuOpts:{menuId:MenuId$1.InlineEditsActions,title:localize$1("inlineEditsActions","Accept Inline Edit"),group:"primary",order:1,icon:Codicon$1.check},kbOpts:{primary:2058,weight:2e4,kbExpr:inlineEditVisible}})}async run(e,t){var r;t instanceof EmbeddedCodeEditorWidget$1&&(t=t.getParentEditor());const i=InlineEditsController.get(t);i&&((r=i.model.get())==null||r.accept(i.editor),i.editor.focus())}};const rd=class rd extends EditorAction$1{constructor(){super({id:rd.ID,...labelAndAlias(localize2$1("action.inlineEdits.hide","Hide Inline Edit")),precondition:inlineEditVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineEditsController.get(t);transaction$1(r=>{var g;(g=i==null?void 0:i.model.get())==null||g.stop(r)})}};rd.ID="editor.action.inlineEdits.hide";let HideInlineEdit=rd;registerEditorContribution$1(InlineEditsController.ID,InlineEditsController,3);registerEditorAction$1(TriggerInlineEditAction);registerEditorAction$1(ShowNextInlineEditAction);registerEditorAction$1(ShowPreviousInlineEditAction);registerEditorAction$1(AcceptInlineEdit$1);registerEditorAction$1(HideInlineEdit);const Context$3={Visible:new RawContextKey$1("parameterHintsVisible",!1),MultipleSignatures:new RawContextKey$1("parameterHintsMultipleSignatures",!1)};async function provideSignatureHelp$1(n,e,t,i,r){const g=n.ordered(e);for(const y of g)try{const k=await y.provideSignatureHelp(e,t,r,i);if(k)return k}catch(k){onUnexpectedExternalError$1(k)}}CommandsRegistry$1.registerCommand("_executeSignatureHelpProvider",async(n,...e)=>{const[t,i,r]=e;assertType$1(URI$1.isUri(t)),assertType$1(Position$3.isIPosition(i)),assertType$1(typeof r=="string"||!r);const g=n.get(ILanguageFeaturesService$1),y=await n.get(ITextModelService$1).createModelReference(t);try{const k=await provideSignatureHelp$1(g.signatureHelpProvider,y.object.textEditorModel,Position$3.lift(i),{triggerKind:SignatureHelpTriggerKind$3.Invoke,isRetrigger:!1,triggerCharacter:r},CancellationToken$1.None);return k?(setTimeout(()=>k.dispose(),0),k.value):void 0}finally{y.dispose()}});var ParameterHintState$1;(function(n){n.Default={type:0};class e{constructor(r,g){this.request=r,this.previouslyActiveHints=g,this.type=2}}n.Pending=e;class t{constructor(r){this.hints=r,this.type=1}}n.Active=t})(ParameterHintState$1||(ParameterHintState$1={}));var Sl;let ParameterHintsModel$1=(Sl=class extends Disposable$1{constructor(e,t,i=Sl.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Emitter$3),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=ParameterHintState$1.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new MutableDisposable$1),this.triggerChars=new CharacterSet$1,this.retriggerChars=new CharacterSet$1,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Delayer$1(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(r=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(r=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(r=>this.onCursorChange(r))),this._register(this.editor.onDidChangeModelContent(r=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(r=>this.onDidType(r))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=ParameterHintState$1.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(onUnexpectedError$1)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new ParameterHintState$1.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const r=this._pendingTriggers.reduce(mergeTriggerContexts$1);this._pendingTriggers=[];const g={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const y=this.editor.getModel(),k=this.editor.getPosition();this.state=new ParameterHintState$1.Pending(createCancelablePromise$1(L=>provideSignatureHelp$1(this.providers,y,k,g,L)),i);try{const L=await this.state.request;return e!==this.triggerId?(L==null||L.dispose(),!1):!L||!L.value.signatures||L.value.signatures.length===0?(L==null||L.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new ParameterHintState$1.Active(L.value),this._lastSignatureHelpResult.value=L,this._onChangedHints.fire(this.state.hints),!0)}catch(L){return e===this.triggerId&&(this.state=ParameterHintState$1.Default),onUnexpectedError$1(L),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const r=i.charCodeAt(0);this.triggerChars.add(r),this.retriggerChars.add(r)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:SignatureHelpTriggerKind$3.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$3.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$3.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}},Sl.DEFAULT_DELAY=120,Sl);function mergeTriggerContexts$1(n,e){switch(e.triggerKind){case SignatureHelpTriggerKind$3.Invoke:return e;case SignatureHelpTriggerKind$3.ContentChange:return n;case SignatureHelpTriggerKind$3.TriggerCharacter:default:return e}}var __decorate$2X=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2N=function(n,e){return function(t,i){e(t,i,n)}},ParameterHintsWidget_1$1;const $$g=$$u,parameterHintsNextIcon$1=registerIcon$1("parameter-hints-next",Codicon$1.chevronDown,localize$1("parameterHintsNextIcon","Icon for show next parameter hint.")),parameterHintsPreviousIcon$1=registerIcon$1("parameter-hints-previous",Codicon$1.chevronUp,localize$1("parameterHintsPreviousIcon","Icon for show previous parameter hint."));var yl;let ParameterHintsWidget$1=(yl=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this.editor=e,this.model=t,this.telemetryService=y,this.renderDisposeables=this._register(new DisposableStore$1),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new MarkdownRenderer$1({editor:e},g,r)),this.keyVisible=Context$3.Visible.bindTo(i),this.keyMultipleSignatures=Context$3.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=$$g(".editor-widget.parameter-hints-widget"),t=append$4(e,$$g(".phwrapper"));t.tabIndex=-1;const i=append$4(t,$$g(".controls")),r=append$4(i,$$g(".button"+ThemeIcon$1.asCSSSelector(parameterHintsPreviousIcon$1))),g=append$4(i,$$g(".overloads")),y=append$4(i,$$g(".button"+ThemeIcon$1.asCSSSelector(parameterHintsNextIcon$1)));this._register(addDisposableListener$1(r,"click",ie=>{EventHelper$2.stop(ie),this.previous()})),this._register(addDisposableListener$1(y,"click",ie=>{EventHelper$2.stop(ie),this.next()}));const k=$$g(".body"),L=new DomScrollableElement$1(k,{alwaysConsumeMouseWheel:!0});this._register(L),t.appendChild(L.getDomNode());const V=append$4(k,$$g(".signature")),z=append$4(k,$$g(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:V,overloads:g,docs:z,scrollbar:L},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(ie=>{this.visible&&this.editor.layoutContentWidget(this)}));const j=()=>{if(!this.domNodes)return;const ie=this.editor.getOption(50),oe=this.domNodes.element;oe.style.fontSize="".concat(ie.fontSize,"px"),oe.style.lineHeight="".concat(ie.lineHeight/ie.fontSize),oe.style.setProperty("--vscode-parameterHintsWidget-editorFontFamily",ie.fontFamily),oe.style.setProperty("--vscode-parameterHintsWidget-editorFontFamilyDefault",EDITOR_FONT_DEFAULTS$1.fontFamily)};j(),this._register(Event$2.chain(this.editor.onDidChangeConfiguration.bind(this.editor),ie=>ie.filter(oe=>oe.hasChanged(50)))(j)),this._register(this.editor.onDidLayoutChange(ie=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)==null||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)==null||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var V;if(this.renderDisposeables.clear(),!this.domNodes)return;const t=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",t),this.keyMultipleSignatures.set(t),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const i=e.signatures[e.activeSignature];if(!i)return;const r=append$4(this.domNodes.signature,$$g(".code")),g=i.parameters.length>0,y=(V=i.activeParameter)!=null?V:e.activeParameter;if(g)this.renderParameters(r,i,y);else{const z=append$4(r,$$g("span"));z.textContent=i.label}const k=i.parameters[y];if(k!=null&&k.documentation){const z=$$g("span.documentation");if(typeof k.documentation=="string")z.textContent=k.documentation;else{const j=this.renderMarkdownDocs(k.documentation);z.appendChild(j.element)}append$4(this.domNodes.docs,$$g("p",{},z))}if(i.documentation!==void 0)if(typeof i.documentation=="string")append$4(this.domNodes.docs,$$g("p",{},i.documentation));else{const z=this.renderMarkdownDocs(i.documentation);append$4(this.domNodes.docs,z.element)}const L=this.hasDocs(i,k);if(this.domNodes.signature.classList.toggle("has-docs",L),this.domNodes.docs.classList.toggle("empty",!L),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,k){let z="";const j=i.parameters[y];Array.isArray(j.label)?z=i.label.substring(j.label[0],j.label[1]):z=j.label,j.documentation&&(z+=typeof j.documentation=="string"?", ".concat(j.documentation):", ".concat(j.documentation.value)),i.documentation&&(z+=typeof i.documentation=="string"?", ".concat(i.documentation):", ".concat(i.documentation.value)),this.announcedLabel!==z&&(alert$1(localize$1("hint","{0}, hint",z)),this.announcedLabel=z)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=new StopWatch$1,i=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var g;(g=this.domNodes)==null||g.scrollbar.scanDomNode()}}));i.element.classList.add("markdown-docs");const r=t.elapsed();return r>300&&this.telemetryService.publicLog2("parameterHints.parseMarkdown",{renderDuration:r}),i}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&assertIsDefined$1(t.documentation).length>0||t&&typeof t.documentation=="object"&&assertIsDefined$1(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&assertIsDefined$1(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&assertIsDefined$1(e.documentation.value).length>0)}renderParameters(e,t,i){const[r,g]=this.getParameterLabelOffsets(t,i),y=document.createElement("span");y.textContent=t.label.substring(0,r);const k=document.createElement("span");k.textContent=t.label.substring(r,g),k.className="parameter active";const L=document.createElement("span");L.textContent=t.label.substring(g),append$4(e,y,k,L)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const r=new RegExp("(\\W|^)".concat(escapeRegExpCharacters$1(i.label),"(?=\\W|$)"),"g");r.test(e.label);const g=r.lastIndex-i.label.length;return g>=0?[g,r.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return ParameterHintsWidget_1$1.ID}updateMaxHeight(){if(!this.domNodes)return;const e=Math.max(this.editor.getLayoutInfo().height/4,250),t="".concat(e,"px");this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}},ParameterHintsWidget_1$1=yl,yl.ID="editor.widget.parameterHintsWidget",yl);ParameterHintsWidget$1=ParameterHintsWidget_1$1=__decorate$2X([__param$2N(2,IContextKeyService$1),__param$2N(3,IOpenerService$1),__param$2N(4,ILanguageService$1),__param$2N(5,ITelemetryService$1)],ParameterHintsWidget$1);registerColor$1("editorHoverWidget.highlightForeground",listHighlightForeground$1,localize$1("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var __decorate$2W=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2M=function(n,e){return function(t,i){e(t,i,n)}},ParameterHintsController_1$1,wl;let ParameterHintsController$1=(wl=class extends Disposable$1{static get(e){return e.getContribution(ParameterHintsController_1$1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new ParameterHintsModel$1(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(r=>{var g;r?(this.widget.value.show(),this.widget.value.render(r)):(g=this.widget.rawValue)==null||g.hide()})),this.widget=new Lazy$1(()=>this._register(t.createInstance(ParameterHintsWidget$1,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)==null||e.previous()}next(){var e;(e=this.widget.rawValue)==null||e.next()}trigger(e){this.model.trigger(e,0)}},ParameterHintsController_1$1=wl,wl.ID="editor.controller.parameterHints",wl);ParameterHintsController$1=ParameterHintsController_1$1=__decorate$2W([__param$2M(1,IInstantiationService$1),__param$2M(2,ILanguageFeaturesService$1)],ParameterHintsController$1);let TriggerParameterHintsAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.triggerParameterHints",label:localize$1("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:EditorContextKeys$1.hasSignatureHelpProvider,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=ParameterHintsController$1.get(t);i==null||i.trigger({triggerKind:SignatureHelpTriggerKind$3.Invoke})}};registerEditorContribution$1(ParameterHintsController$1.ID,ParameterHintsController$1,2);registerEditorAction$1(TriggerParameterHintsAction$1);const weight$5=175,ParameterHintsCommand$1=EditorCommand$1.bindToContribution(ParameterHintsController$1.get);registerEditorCommand$1(new ParameterHintsCommand$1({id:"closeParameterHints",precondition:Context$3.Visible,handler:n=>n.cancel(),kbOpts:{weight:weight$5,kbExpr:EditorContextKeys$1.focus,primary:9,secondary:[1033]}}));registerEditorCommand$1(new ParameterHintsCommand$1({id:"showPrevParameterHint",precondition:ContextKeyExpr$1.and(Context$3.Visible,Context$3.MultipleSignatures),handler:n=>n.previous(),kbOpts:{weight:weight$5,kbExpr:EditorContextKeys$1.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));registerEditorCommand$1(new ParameterHintsCommand$1({id:"showNextParameterHint",precondition:ContextKeyExpr$1.and(Context$3.Visible,Context$3.MultipleSignatures),handler:n=>n.next(),kbOpts:{weight:weight$5,kbExpr:EditorContextKeys$1.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var __decorate$2V=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2L=function(n,e){return function(t,i){e(t,i,n)}};class BaseClass{constructor(e){this.instantiationService=e}init(...e){}}function createWrapper$1(n,e){return class extends e{constructor(){super(...arguments),this._autorun=void 0}init(...i){this._autorun=autorunWithStore$1((r,g)=>{const y=readHotReloadableExport$1(n(),r);g.add(this.instantiationService.createInstance(y,...i))})}dispose(){var i;(i=this._autorun)==null||i.dispose()}}}function wrapInReloadableClass1(n){return isHotReloadEnabled$1()?createWrapper$1(n,BaseClass1):n()}let BaseClass1=class extends BaseClass{constructor(e,t){super(t),this.init(e)}};BaseClass1=__decorate$2V([__param$2L(1,IInstantiationService$1)],BaseClass1);registerEditorContribution$1(PlaceholderTextContribution.ID,wrapInReloadableClass1(()=>PlaceholderTextContribution),0);registerColor$1("editor.placeholder.foreground",ghostTextForeground,localize$1("placeholderForeground","Foreground color of the placeholder text in the editor."));var __decorate$2U=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2K=function(n,e){return function(t,i){e(t,i,n)}};const CONTEXT_RENAME_INPUT_VISIBLE$1=new RawContextKey$1("renameInputVisible",!1,localize$1("renameInputVisible","Whether the rename input widget is visible"));new RawContextKey$1("renameInputFocused",!1,localize$1("renameInputFocused","Whether the rename input widget is focused"));let RenameWidget$1=class{constructor(e,t,i,r,g,y){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=r,this._logService=y,this.allowEditorOverflow=!0,this._disposables=new DisposableStore$1,this._visibleContextKey=CONTEXT_RENAME_INPUT_VISIBLE$1.bindTo(g),this._isEditingRenameCandidate=!1,this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,this._candidates=new Set,this._beforeFirstInputFieldEditSW=new StopWatch$1,this._inputWithButton=new InputWithButton,this._disposables.add(this._inputWithButton),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(k=>{k.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._inputWithButton.domNode),this._renameCandidateListView=this._disposables.add(new RenameCandidateListView$1(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._inputWithButton.input.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._inputWithButton.onDidInputChange(()=>{var e,t,i,r;((e=this._renameCandidateListView)==null?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),(t=this._timeBeforeFirstInputFieldEdit)!=null||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((i=this._renameCandidateProvidersCts)==null?void 0:i.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(r=this._renameCandidateListView)==null||r.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){var g,y,k,L,V;if(!this._domNode)return;const t=e.getColor(widgetShadow$1),i=e.getColor(widgetBorder$1);this._domNode.style.backgroundColor=String((g=e.getColor(editorWidgetBackground$1))!=null?g:""),this._domNode.style.boxShadow=t?" 0 0 8px 2px ".concat(t):"",this._domNode.style.border=i?"1px solid ".concat(i):"",this._domNode.style.color=String((y=e.getColor(inputForeground$1))!=null?y:"");const r=e.getColor(inputBorder$1);this._inputWithButton.domNode.style.backgroundColor=String((k=e.getColor(inputBackground$1))!=null?k:""),this._inputWithButton.input.style.backgroundColor=String((L=e.getColor(inputBackground$1))!=null?L:""),this._inputWithButton.domNode.style.borderWidth=r?"1px":"0px",this._inputWithButton.domNode.style.borderStyle=r?"solid":"none",this._inputWithButton.domNode.style.borderColor=(V=r==null?void 0:r.toString())!=null?V:"none"}_updateFont(){if(this._domNode===void 0)return;assertType$1(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._inputWithButton.input);const e=this._editor.getOption(50);this._label.style.fontSize="".concat(this._computeLabelFontSize(e.fontSize),"px")}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=getClientArea$1(this.getDomNode().ownerDocument.body),t=getDomNodePagePosition$1(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const r=this._editor.getOption(67),{totalHeight:g}=RenameCandidateView$1.getLayoutInfo({lineHeight:r}),y=this._nPxAvailableBelow>g*6?[2,1]:[1,2];return{position:this._position,preference:y}}beforeRender(){var i,r;const[e,t]=this._acceptKeybindings;return this._label.innerText=localize$1({key:"label",comment:['placeholders are keybindings, e.g "F2 to Rename, Shift+F2 to Preview"']},"{0} to Rename, {1} to Preview",(i=this._keybindingService.lookupKeybinding(e))==null?void 0:i.getLabel(),(r=this._keybindingService.lookupKeybinding(t))==null?void 0:r.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;assertType$1(this._renameCandidateListView),assertType$1(this._nPxAvailableAbove!==void 0),assertType$1(this._nPxAvailableBelow!==void 0);const t=getTotalHeight$1(this._inputWithButton.domNode),i=getTotalHeight$1(this._label);let r;e===2?r=this._nPxAvailableBelow:r=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-i-t,width:getTotalWidth$1(this._inputWithButton.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)==null||t.call(this,e)}cancelInput(e,t){var i;(i=this._currentCancelInput)==null||i.call(this,e)}focusNextRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusNext()||(this._inputWithButton.input.value=this._currentName)}focusPreviousRenameSuggestion(){var e;(e=this._renameCandidateListView)!=null&&e.focusPrevious()||(this._inputWithButton.input.value=this._currentName)}getInput(e,t,i,r,g){const{start:y,end:k}=this._getSelection(e,t);this._renameCts=g;const L=new DisposableStore$1;this._nRenameSuggestionsInvocations=0,this._hadAutomaticRenameSuggestionsInvocation=!1,r===void 0?this._inputWithButton.button.style.display="none":(this._inputWithButton.button.style.display="flex",this._requestRenameCandidatesOnce=r,this._requestRenameCandidates(t,!1),L.add(addDisposableListener$1(this._inputWithButton.button,"click",()=>this._requestRenameCandidates(t,!0))),L.add(addDisposableListener$1(this._inputWithButton.button,EventType$3.KEY_DOWN,z=>{const j=new StandardKeyboardEvent$1(z);(j.equals(3)||j.equals(10))&&(j.stopPropagation(),j.preventDefault(),this._requestRenameCandidates(t,!0))}))),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Position$3(e.startLineNumber,e.startColumn),this._currentName=t,this._inputWithButton.input.value=t,this._inputWithButton.input.setAttribute("selectionStart",y.toString()),this._inputWithButton.input.setAttribute("selectionEnd",k.toString()),this._inputWithButton.input.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset(),L.add(toDisposable$1(()=>{this._renameCts=void 0,g.dispose(!0)})),L.add(toDisposable$1(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)})),L.add(toDisposable$1(()=>this._candidates.clear()));const V=new DeferredPromise$1;return V.p.finally(()=>{L.dispose(),this._hide()}),this._currentCancelInput=z=>{var j;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(j=this._renameCandidateListView)==null||j.clearCandidates(),V.complete(z),!0},this._currentAcceptInput=z=>{this._trace("invoking _currentAcceptInput"),assertType$1(this._renameCandidateListView!==void 0);const j=this._renameCandidateListView.nCandidates;let ie,oe;const re=this._renameCandidateListView.focusedCandidate;if(re!==void 0?(this._trace("using new name from renameSuggestion"),ie=re,oe={k:"renameSuggestion"}):(this._trace("using new name from inputField"),ie=this._inputWithButton.input.value,oe=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),ie===t||ie.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),V.complete({newName:ie,wantsPreview:i&&z,stats:{source:oe,nRenameSuggestions:j,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit,nRenameSuggestionsInvocations:this._nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:this._hadAutomaticRenameSuggestionsInvocation}})},L.add(g.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),L.add(this._editor.onDidBlurEditorWidget(()=>{var z;return this.cancelInput(!((z=this._domNode)!=null&&z.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),V.p}_requestRenameCandidates(e,t){if(this._requestRenameCandidatesOnce!==void 0&&(this._renameCandidateProvidersCts!==void 0&&this._renameCandidateProvidersCts.dispose(!0),assertType$1(this._renameCts),this._inputWithButton.buttonState!=="stop")){this._renameCandidateProvidersCts=new CancellationTokenSource$3;const i=t?NewSymbolNameTriggerKind$1.Invoke:NewSymbolNameTriggerKind$1.Automatic,r=this._requestRenameCandidatesOnce(i,this._renameCandidateProvidersCts.token);if(r.length===0){this._inputWithButton.setSparkleButton();return}t||(this._hadAutomaticRenameSuggestionsInvocation=!0),this._nRenameSuggestionsInvocations+=1,this._inputWithButton.setStopButton(),this._updateRenameCandidates(r,e,this._renameCts.token)}}_getSelection(e,t){assertType$1(this._editor.hasModel());const i=this._editor.getSelection();let r=0,g=t.length;return!Range$5.isEmpty(i)&&!Range$5.spansMultipleLines(i)&&Range$5.containsRange(e,i)&&(r=Math.max(0,i.startColumn-e.startColumn),g=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:r,end:g}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._inputWithButton.input.focus(),this._inputWithButton.input.setSelectionRange(parseInt(this._inputWithButton.input.getAttribute("selectionStart")),parseInt(this._inputWithButton.input.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const r=(...V)=>this._trace("_updateRenameCandidates",...V);r("start");const g=await raceCancellation$1(Promise.allSettled(e),i);if(this._inputWithButton.setSparkleButton(),g===void 0){r("returning early - received updateRenameCandidates results - undefined");return}const y=g.flatMap(V=>V.status==="fulfilled"&&isDefined$1(V.value)?V.value:[]);r("received updateRenameCandidates results - total (unfiltered) ".concat(y.length," candidates."));const k=distinct$1(y,V=>V.newSymbolName);r("distinct candidates - ".concat(k.length," candidates."));const L=k.filter(({newSymbolName:V})=>V.trim().length>0&&V!==this._inputWithButton.input.value&&V!==t&&!this._candidates.has(V));if(r("valid distinct candidates - ".concat(y.length," candidates.")),L.forEach(V=>this._candidates.add(V.newSymbolName)),L.length<1){r("returning early - no valid distinct candidates");return}r("setting candidates"),this._renameCandidateListView.setCandidates(L),r("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};RenameWidget$1=__decorate$2U([__param$2K(2,IThemeService$1),__param$2K(3,IKeybindingService$1),__param$2K(4,IContextKeyService$1),__param$2K(5,ILogService$1)],RenameWidget$1);let RenameCandidateListView$1=class Hh{constructor(e,t){this._disposables=new DisposableStore$1,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),this._listContainer.className="rename-box rename-candidate-list-container",e.appendChild(this._listContainer),this._listWidget=Hh._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(getListStyles$1({listInactiveFocusForeground:quickInputListFocusForeground$1,listInactiveFocusBackground:quickInputListFocusBackground$1}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(this._listWidget.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height="".concat(t,"px"),this._listContainer.style.width="".concat(i,"px"),status$1(localize$1("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0)return this._listWidget.focusFirst(),this._listWidget.reveal(0),!0;if(e[0]===this._listWidget.length-1)return this._listWidget.setFocus([]),this._listWidget.reveal(0),!1;{this._listWidget.focusNext();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();if(e.length===0){this._listWidget.focusLast();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}else{if(e[0]===0)return this._listWidget.setFocus([]),!1;{this._listWidget.focusPrevious();const t=this._listWidget.getFocus()[0];return this._listWidget.reveal(t),!0}}}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=RenameCandidateView$1.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(r=>r.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const r=new class{getTemplateId(y){return"candidate"}getHeight(y){return t}},g=new class{constructor(){this.templateId="candidate"}renderTemplate(y){return new RenameCandidateView$1(y,i)}renderElement(y,k,L){L.populate(y)}disposeTemplate(y){y.dispose()}};return new List$1("NewSymbolNameCandidates",e,r,[g],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}};class InputWithButton{constructor(){this._onDidInputChange=new Emitter$3,this.onDidInputChange=this._onDidInputChange.event,this._disposables=new DisposableStore$1}get domNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="rename-input-with-button",this._domNode.style.display="flex",this._domNode.style.flexDirection="row",this._domNode.style.alignItems="center",this._inputNode=document.createElement("input"),this._inputNode.className="rename-input",this._inputNode.type="text",this._inputNode.style.border="none",this._inputNode.setAttribute("aria-label",localize$1("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._domNode.appendChild(this._inputNode),this._buttonNode=document.createElement("div"),this._buttonNode.className="rename-suggestions-button",this._buttonNode.setAttribute("tabindex","0"),this._buttonGenHoverText=localize$1("generateRenameSuggestionsButton","Generate new name suggestions"),this._buttonCancelHoverText=localize$1("cancelRenameSuggestionsButton","Cancel"),this._buttonHover=getBaseLayerHoverDelegate().setupManagedHover(getDefaultHoverDelegate$1("element"),this._buttonNode,this._buttonGenHoverText),this._disposables.add(this._buttonHover),this._domNode.appendChild(this._buttonNode),this._disposables.add(addDisposableListener$1(this.input,EventType$3.INPUT,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener$1(this.input,EventType$3.KEY_DOWN,e=>{const t=new StandardKeyboardEvent$1(e);(t.keyCode===15||t.keyCode===17)&&this._onDidInputChange.fire()})),this._disposables.add(addDisposableListener$1(this.input,EventType$3.CLICK,()=>this._onDidInputChange.fire())),this._disposables.add(addDisposableListener$1(this.input,EventType$3.FOCUS,()=>{this.domNode.style.outlineWidth="1px",this.domNode.style.outlineStyle="solid",this.domNode.style.outlineOffset="-1px",this.domNode.style.outlineColor="var(--vscode-focusBorder)"})),this._disposables.add(addDisposableListener$1(this.input,EventType$3.BLUR,()=>{this.domNode.style.outline="none"}))),this._domNode}get input(){return assertType$1(this._inputNode),this._inputNode}get button(){return assertType$1(this._buttonNode),this._buttonNode}get buttonState(){return this._buttonState}setSparkleButton(){var e,t;this._buttonState="sparkle",(e=this._sparkleIcon)!=null||(this._sparkleIcon=renderIcon$1(Codicon$1.sparkle)),clearNode$1(this.button),this.button.appendChild(this._sparkleIcon),this.button.setAttribute("aria-label","Generating new name suggestions"),(t=this._buttonHover)==null||t.update(this._buttonGenHoverText),this.input.focus()}setStopButton(){var e,t;this._buttonState="stop",(e=this._stopIcon)!=null||(this._stopIcon=renderIcon$1(Codicon$1.primitiveSquare)),clearNode$1(this.button),this.button.appendChild(this._stopIcon),this.button.setAttribute("aria-label","Cancel generating new name suggestions"),(t=this._buttonHover)==null||t.update(this._buttonCancelHoverText),this.input.focus()}dispose(){this._disposables.dispose()}}var ns;let RenameCandidateView$1=(ns=class{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.className="rename-box rename-candidate",this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height="".concat(t.lineHeight,"px"),this._domNode.style.padding="".concat(ns._PADDING,"px");const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height="".concat(t.lineHeight*.8,"px"),this._domNode.appendChild(i),this._icon=renderIcon$1(Codicon$1.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),applyFontInfo$1(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var i;const t=!!((i=e.tags)!=null&&i.includes(NewSymbolNameTag$3.AIGenerated));this._icon.style.display=t?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+ns._PADDING*2}}dispose(){}},ns._PADDING=2,ns);var __decorate$2T=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2J=function(n,e){return function(t,i){e(t,i,n)}},RenameController_1$1;let RenameSkeleton$1=class{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:Range$5.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,r){const g=this._providers[t];if(!g)return{edits:[],rejectReason:i.join("\n")};const y=await g.provideRenameEdits(this.model,this.position,e,r);if(y){if(y.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(y.rejectReason),r)}else return this._provideRenameEdits(e,t+1,i.concat(localize$1("no result","No result.")),r);return y}};async function rename$1(n,e,t,i){const r=new RenameSkeleton$1(e,t,n),g=await r.resolveRenameLocation(CancellationToken$1.None);return g!=null&&g.rejectReason?{edits:[],rejectReason:g.rejectReason}:r.provideRenameEdits(i,CancellationToken$1.None)}var $l;let RenameController$1=($l=class{static get(e){return e.getContribution(RenameController_1$1.ID)}constructor(e,t,i,r,g,y,k,L,V){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=r,this._progressService=g,this._logService=y,this._configService=k,this._languageFeaturesService=L,this._telemetryService=V,this._disposableStore=new DisposableStore$1,this._cts=new CancellationTokenSource$3,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(RenameWidget$1,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var re,ae;const e=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new CancellationTokenSource$3,!this.editor.hasModel()){e("editor has no model");return}const t=this.editor.getPosition(),i=new RenameSkeleton$1(this.editor.getModel(),t,this._languageFeaturesService.renameProvider);if(!i.hasProvider()){e("skeleton has no provider");return}const r=new EditorStateCancellationTokenSource$1(this.editor,5,void 0,this._cts.token);let g;try{e("resolving rename location");const le=i.resolveRenameLocation(r.token);this._progressService.showWhile(le,250),g=await le,e("resolved rename location")}catch(le){le instanceof CancellationError$1?e("resolve rename location cancelled",JSON.stringify(le,null," ")):(e("resolve rename location failed",le instanceof Error?le:JSON.stringify(le,null," ")),(typeof le=="string"||isMarkdownString$1(le))&&((re=MessageController$1.get(this.editor))==null||re.showMessage(le||localize$1("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),t)));return}finally{r.dispose()}if(!g){e("returning early - no loc");return}if(g.rejectReason){e("returning early - rejected with reason: ".concat(g.rejectReason),g.rejectReason),(ae=MessageController$1.get(this.editor))==null||ae.showMessage(g.rejectReason,t);return}if(r.token.isCancellationRequested){e("returning early - cts1 cancelled");return}const y=new EditorStateCancellationTokenSource$1(this.editor,5,g.range,this._cts.token),k=this.editor.getModel(),L=this._languageFeaturesService.newSymbolNamesProvider.all(k),V=await Promise.all(L.map(async le=>{var de;return[le,(de=await le.supportsAutomaticNewSymbolNamesTriggerKind)!=null?de:!1]})),z=(le,de)=>{let ue=V.slice();return le===NewSymbolNameTriggerKind$1.Automatic&&(ue=ue.filter(([he,pe])=>pe)),ue.map(([he])=>he.provideNewSymbolNames(k,g.range,le,de))};e("creating rename input field and awaiting its result");const j=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),ie=await this._renameWidget.getInput(g.range,g.text,j,L.length>0?z:void 0,y);if(e("received response from rename input field"),L.length>0&&this._reportTelemetry(L.length,k.getLanguageId(),ie),typeof ie=="boolean"){e("returning early - rename input field response - ".concat(ie)),ie&&this.editor.focus(),y.dispose();return}this.editor.focus(),e("requesting rename edits");const oe=raceCancellation$1(i.provideRenameEdits(ie.newName,y.token),y.token).then(async le=>{if(!le){e("returning early - no rename edits result");return}if(!this.editor.hasModel()){e("returning early - no model after rename edits are provided");return}if(le.rejectReason){e("returning early - rejected with reason: ".concat(le.rejectReason)),this._notificationService.info(le.rejectReason);return}this.editor.setSelection(Range$5.fromPositions(this.editor.getSelection().getPosition())),e("applying edits"),this._bulkEditService.apply(le,{editor:this.editor,showPreview:ie.wantsPreview,label:localize$1("label","Renaming '{0}' to '{1}'",g==null?void 0:g.text,ie.newName),code:"undoredo.rename",quotableLabel:localize$1("quotableLabel","Renaming {0} to {1}",g==null?void 0:g.text,ie.newName),respectAutoSaveConfig:!0}).then(de=>{e("edits applied"),de.ariaSummary&&alert$1(localize$1("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",g.text,ie.newName,de.ariaSummary))}).catch(de=>{e("error when applying edits ".concat(JSON.stringify(de,null," "))),this._notificationService.error(localize$1("rename.failedApply","Rename failed to apply edits")),this._logService.error(de)})},le=>{e("error when providing rename edits",JSON.stringify(le,null," ")),this._notificationService.error(localize$1("rename.failed","Rename failed to compute edits")),this._logService.error(le)}).finally(()=>{y.dispose()});return e("returning rename operation"),this._progressService.showWhile(oe,250),oe}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const r=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview,nRenameSuggestionsInvocations:i.stats.nRenameSuggestionsInvocations,hadAutomaticRenameSuggestionsInvocation:i.stats.hadAutomaticRenameSuggestionsInvocation};this._telemetryService.publicLog2("renameInvokedEvent",r)}},RenameController_1$1=$l,$l.ID="editor.contrib.renameController",$l);RenameController$1=RenameController_1$1=__decorate$2T([__param$2J(1,IInstantiationService$1),__param$2J(2,INotificationService$1),__param$2J(3,IBulkEditService$1),__param$2J(4,IEditorProgressService$1),__param$2J(5,ILogService$1),__param$2J(6,ITextResourceConfigurationService$1),__param$2J(7,ILanguageFeaturesService$1),__param$2J(8,ITelemetryService$1)],RenameController$1);let RenameAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.rename",label:localize$1("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ContextKeyExpr$1.and(EditorContextKeys$1.writable,EditorContextKeys$1.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(ICodeEditorService$1),[r,g]=Array.isArray(t)&&t||[void 0,void 0];return URI$1.isUri(r)&&Position$3.isIPosition(g)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(y=>{y&&(y.setPosition(g),y.invokeWithinContext(k=>(this.reportTelemetry(k,y),this.run(k,y))))},onUnexpectedError$1):super.runCommand(e,t)}run(e,t){const i=e.get(ILogService$1),r=RenameController$1.get(t);return r?(i.trace("[RenameAction] got controller, running..."),r.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}};registerEditorContribution$1(RenameController$1.ID,RenameController$1,4);registerEditorAction$1(RenameAction$1);const RenameCommand$1=EditorCommand$1.bindToContribution(RenameController$1.get);registerEditorCommand$1(new RenameCommand$1({id:"acceptRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE$1,handler:n=>n.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,ContextKeyExpr$1.not("isComposing")),primary:3}}));registerEditorCommand$1(new RenameCommand$1({id:"acceptRenameInputWithPreview",precondition:ContextKeyExpr$1.and(CONTEXT_RENAME_INPUT_VISIBLE$1,ContextKeyExpr$1.has("config.editor.rename.enablePreview")),handler:n=>n.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.focus,ContextKeyExpr$1.not("isComposing")),primary:2051}}));registerEditorCommand$1(new RenameCommand$1({id:"cancelRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE$1,handler:n=>n.cancelRenameInput(),kbOpts:{weight:199,kbExpr:EditorContextKeys$1.focus,primary:9,secondary:[1033]}}));registerAction2$1(class extends Action2$1{constructor(){super({id:"focusNextRenameSuggestion",title:{...localize2$1("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE$1,keybinding:[{primary:18,weight:199}]})}run(e){const t=e.get(ICodeEditorService$1).getFocusedCodeEditor();if(!t)return;const i=RenameController$1.get(t);i&&i.focusNextRenameSuggestion()}});registerAction2$1(class extends Action2$1{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...localize2$1("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE$1,keybinding:[{primary:16,weight:199}]})}run(e){const t=e.get(ICodeEditorService$1).getFocusedCodeEditor();if(!t)return;const i=RenameController$1.get(t);i&&i.focusPreviousRenameSuggestion()}});registerModelAndPositionCommand$1("_executeDocumentRenameProvider",function(n,e,t,...i){const[r]=i;assertType$1(typeof r=="string");const{renameProvider:g}=n.get(ILanguageFeaturesService$1);return rename$1(g,e,t,r)});registerModelAndPositionCommand$1("_executePrepareRename",async function(n,e,t){const{renameProvider:i}=n.get(ILanguageFeaturesService$1),g=await new RenameSkeleton$1(e,t,i).resolveRenameLocation(CancellationToken$1.None);if(g!=null&&g.rejectReason)throw new Error(g.rejectReason);return g});Registry$1.as(Extensions$g.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:localize$1("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var __decorate$2S=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2I=function(n,e){return function(t,i){e(t,i,n)}},lc;let SectionHeaderDetector$1=(lc=class extends Disposable$1{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(r=>{var y;const g=(y=this.editor.getModel())==null?void 0:y.getLanguageId();g&&r.affects(g)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(r=>{this.options&&!r.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(r=>{this.computeSectionHeaders.schedule()})),this._register(e.onDidChangeModelTokens(r=>{this.computeSectionHeaders.isScheduled()||this.computeSectionHeaders.schedule(1e3)})),this.computeSectionHeaders=this._register(new RunOnceScheduler$1(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(r!=null&&r.markers)))return{foldingRules:r,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var i,r;if(!this.editor.hasModel()||!((i=this.options)!=null&&i.findMarkSectionHeaders)&&!((r=this.options)!=null&&r.findRegionSectionHeaders))return;const e=this.editor.getModel();if(e.isDisposed()||e.isTooLargeForSyncing())return;const t=e.getVersionId();this.editorWorkerService.findSectionHeaders(e.uri,this.options).then(g=>{e.isDisposed()||e.getVersionId()!==t||this.updateDecorations(g)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(g=>{if(!g.shouldBeInComments)return!0;const y=t.validateRange(g.range),k=t.tokenization.getLineTokens(y.startLineNumber),L=k.findTokenIndexAtOffset(y.startColumn-1),V=k.getStandardTokenType(L);return k.getLanguageId(L)===t.getLanguageId()&&V===1}));const i=Object.values(this.currentOccurrences).map(g=>g.decorationId),r=e.map(g=>decoration$2(g));this.editor.changeDecorations(g=>{const y=g.deltaDecorations(i,r);this.currentOccurrences={};for(let k=0,L=y.length;k0?t[0]:[]}async function getDocumentSemanticTokens$1(n,e,t,i,r){const g=getDocumentSemanticTokensProviders$1(n,e),y=await Promise.all(g.map(async k=>{let L,V=null;try{L=await k.provideDocumentSemanticTokens(e,k===t?i:null,r)}catch(z){V=z,L=null}return(!L||!isSemanticTokens$1(L)&&!isSemanticTokensEdits$1(L))&&(L=null),new DocumentSemanticTokensResult$1(k,L,V)}));for(const k of y){if(k.error)throw k.error;if(k.tokens)return k}return y.length>0?y[0]:null}function _getDocumentSemanticTokensProviderHighestGroup$1(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:null}let DocumentRangeSemanticTokensResult$1=class{constructor(e,t){this.provider=e,this.tokens=t}};function hasDocumentRangeSemanticTokensProvider$1(n,e){return n.has(e)}function getDocumentRangeSemanticTokensProviders$1(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:[]}async function getDocumentRangeSemanticTokens$1(n,e,t,i){const r=getDocumentRangeSemanticTokensProviders$1(n,e),g=await Promise.all(r.map(async y=>{let k;try{k=await y.provideDocumentRangeSemanticTokens(e,t,i)}catch(L){onUnexpectedExternalError$1(L),k=null}return(!k||!isSemanticTokens$1(k))&&(k=null),new DocumentRangeSemanticTokensResult$1(y,k)}));for(const y of g)if(y.tokens)return y;return g.length>0?g[0]:null}CommandsRegistry$1.registerCommand("_provideDocumentSemanticTokensLegend",async(n,...e)=>{const[t]=e;assertType$1(t instanceof URI$1);const i=n.get(IModelService$1).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(ILanguageFeaturesService$1),g=_getDocumentSemanticTokensProviderHighestGroup$1(r,i);return g?g[0].getLegend():n.get(ICommandService$1).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});CommandsRegistry$1.registerCommand("_provideDocumentSemanticTokens",async(n,...e)=>{const[t]=e;assertType$1(t instanceof URI$1);const i=n.get(IModelService$1).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(ILanguageFeaturesService$1);if(!hasDocumentSemanticTokensProvider$1(r,i))return n.get(ICommandService$1).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const g=await getDocumentSemanticTokens$1(r,i,null,null,CancellationToken$1.None);if(!g)return;const{provider:y,tokens:k}=g;if(!k||!isSemanticTokens$1(k))return;const L=encodeSemanticTokensDto$1({id:0,type:"full",data:k.data});return k.resultId&&y.releaseDocumentSemanticTokens(k.resultId),L});CommandsRegistry$1.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(n,...e)=>{const[t,i]=e;assertType$1(t instanceof URI$1);const r=n.get(IModelService$1).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:g}=n.get(ILanguageFeaturesService$1),y=getDocumentRangeSemanticTokensProviders$1(g,r);if(y.length===0)return;if(y.length===1)return y[0].getLegend();if(!i||!Range$5.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),y[0].getLegend();const k=await getDocumentRangeSemanticTokens$1(g,r,Range$5.lift(i),CancellationToken$1.None);if(k)return k.provider.getLegend()});CommandsRegistry$1.registerCommand("_provideDocumentRangeSemanticTokens",async(n,...e)=>{const[t,i]=e;assertType$1(t instanceof URI$1),assertType$1(Range$5.isIRange(i));const r=n.get(IModelService$1).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:g}=n.get(ILanguageFeaturesService$1),y=await getDocumentRangeSemanticTokens$1(g,r,Range$5.lift(i),CancellationToken$1.None);if(!(!y||!y.tokens))return encodeSemanticTokensDto$1({id:0,type:"full",data:y.tokens.data})});const SEMANTIC_HIGHLIGHTING_SETTING_ID$1="editor.semanticHighlighting";function isSemanticColoringEnabled$1(n,e,t){var r;const i=(r=t.getValue(SEMANTIC_HIGHLIGHTING_SETTING_ID$1,{overrideIdentifier:n.getLanguageId(),resource:n.uri}))==null?void 0:r.enabled;return typeof i=="boolean"?i:e.getColorTheme().semanticHighlighting}var __decorate$2R=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2H=function(n,e){return function(t,i){e(t,i,n)}},ModelSemanticColoring_1$1;let DocumentSemanticTokensFeature$1=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._watchers=Object.create(null);const k=z=>{this._watchers[z.uri.toString()]=new ModelSemanticColoring$1(z,e,i,g,y)},L=(z,j)=>{j.dispose(),delete this._watchers[z.uri.toString()]},V=()=>{for(const z of t.getModels()){const j=this._watchers[z.uri.toString()];isSemanticColoringEnabled$1(z,i,r)?j||k(z):j&&L(z,j)}};t.getModels().forEach(z=>{isSemanticColoringEnabled$1(z,i,r)&&k(z)}),this._register(t.onModelAdded(z=>{isSemanticColoringEnabled$1(z,i,r)&&k(z)})),this._register(t.onModelRemoved(z=>{const j=this._watchers[z.uri.toString()];j&&L(z,j)})),this._register(r.onDidChangeConfiguration(z=>{z.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID$1)&&V()})),this._register(i.onDidColorThemeChange(V))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};DocumentSemanticTokensFeature$1=__decorate$2R([__param$2H(0,ISemanticTokensStylingService$1),__param$2H(1,IModelService$1),__param$2H(2,IThemeService$1),__param$2H(3,IConfigurationService$1),__param$2H(4,ILanguageFeatureDebounceService$1),__param$2H(5,ILanguageFeaturesService$1)],DocumentSemanticTokensFeature$1);var os;let ModelSemanticColoring$1=(os=class extends Disposable$1{constructor(e,t,i,r,g){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=g.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,"DocumentSemanticTokens",{min:ModelSemanticColoring_1$1.REQUEST_MIN_DELAY,max:ModelSemanticColoring_1$1.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new RunOnceScheduler$1(()=>this._fetchDocumentSemanticTokensNow(),ModelSemanticColoring_1$1.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const y=()=>{dispose$1(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const k of this._provider.all(e))typeof k.onDidChange=="function"&&this._documentProvidersChangeListeners.push(k.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};y(),this._register(this._provider.onDidChange(()=>{y(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(k=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),dispose$1(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!hasDocumentSemanticTokensProvider$1(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new CancellationTokenSource$3,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=getDocumentSemanticTokens$1(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const g=[],y=this._model.onDidChangeContent(L=>{g.push(L)}),k=new StopWatch$1(!1);r.then(L=>{if(this._debounceInformation.update(this._model,k.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),!L)this._setDocumentSemanticTokens(null,null,null,g);else{const{provider:V,tokens:z}=L,j=this._semanticTokensStylingService.getStyling(V);this._setDocumentSemanticTokens(V,z||null,j,g)}},L=>{L&&(isCancellationError$1(L)||typeof L.message=="string"&&L.message.indexOf("busy")!==-1)||onUnexpectedError$1(L),this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),(g.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,r,g){g=Math.min(g,i.length-r,e.length-t);for(let y=0;y{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),y();return}if(isSemanticTokensEdits$1(t)){if(!g){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:g.data};else{let k=0;for(const ie of t.edits)k+=(ie.data?ie.data.length:0)-ie.deleteCount;const L=g.data,V=new Uint32Array(L.length+k);let z=L.length,j=V.length;for(let ie=t.edits.length-1;ie>=0;ie--){const oe=t.edits[ie];if(oe.start>L.length){i.warnInvalidEditStart(g.resultId,t.resultId,ie,oe.start,L.length),this._model.tokenization.setSemanticTokens(null,!0);return}const re=z-(oe.start+oe.deleteCount);re>0&&(ModelSemanticColoring_1$1._copy(L,z-re,V,j-re,re),j-=re),oe.data&&(ModelSemanticColoring_1$1._copy(oe.data,0,V,j-oe.data.length,oe.data.length),j-=oe.data.length),z=oe.start}z>0&&ModelSemanticColoring_1$1._copy(L,0,V,0,z),t={resultId:t.resultId,data:V}}}if(isSemanticTokens$1(t)){this._currentDocumentResponse=new SemanticTokensResponse$1(e,t.resultId,t.data);const k=toMultilineTokens2$1(t,i,this._model.getLanguageId());if(r.length>0)for(const L of r)for(const V of k)for(const z of L.changes)V.applyEdit(z.range,z.text);this._model.tokenization.setSemanticTokens(k,!0)}else this._model.tokenization.setSemanticTokens(null,!0);y()}},ModelSemanticColoring_1$1=os,os.REQUEST_MIN_DELAY=300,os.REQUEST_MAX_DELAY=2e3,os);ModelSemanticColoring$1=ModelSemanticColoring_1$1=__decorate$2R([__param$2H(1,ISemanticTokensStylingService$1),__param$2H(2,IThemeService$1),__param$2H(3,ILanguageFeatureDebounceService$1),__param$2H(4,ILanguageFeaturesService$1)],ModelSemanticColoring$1);let SemanticTokensResponse$1=class{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}};registerEditorFeature$1(DocumentSemanticTokensFeature$1);var __decorate$2Q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2G=function(n,e){return function(t,i){e(t,i,n)}},cc;let ViewportSemanticTokensContribution$1=(cc=class extends Disposable$1{constructor(e,t,i,r,g,y){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=r,this._editor=e,this._provider=y.documentRangeSemanticTokensProvider,this._debounceInformation=g.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new RunOnceScheduler$1(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const k=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{k()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),k()})),this._register(this._editor.onDidChangeModelContent(L=>{this._cancelAll(),k()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),k()})),this._register(this._configurationService.onDidChangeConfiguration(L=>{L.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID$1)&&(this._cancelAll(),k())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),k()})),k()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),r=createCancelablePromise$1(y=>Promise.resolve(getDocumentRangeSemanticTokens$1(this._provider,e,t,y))),g=new StopWatch$1(!1);return r.then(y=>{if(this._debounceInformation.update(e,g.elapsed()),!y||!y.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:k,tokens:L}=y,V=this._semanticTokensStylingService.getStyling(k);e.tokenization.setPartialSemanticTokens(t,toMultilineTokens2$1(L,V,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}},cc.ID="editor.contrib.viewportSemanticTokens",cc);ViewportSemanticTokensContribution$1=__decorate$2Q([__param$2G(1,ISemanticTokensStylingService$1),__param$2G(2,IThemeService$1),__param$2G(3,IConfigurationService$1),__param$2G(4,ILanguageFeatureDebounceService$1),__param$2G(5,ILanguageFeaturesService$1)],ViewportSemanticTokensContribution$1);registerEditorContribution$1(ViewportSemanticTokensContribution$1.ID,ViewportSemanticTokensContribution$1,1);let WordSelectionRangeProvider$1=class{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const r of t){const g=[];i.push(g),this.selectSubwords&&this._addInWordRanges(g,e,r),this._addWordRanges(g,e,r),this._addWhitespaceLine(g,e,r),g.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const r=t.getWordAtPosition(i);if(!r)return;const{word:g,startColumn:y}=r,k=i.column-y;let L=k,V=k,z=0;for(;L>=0;L--){const j=g.charCodeAt(L);if(L!==k&&(j===95||j===45))break;if(isLowerAsciiLetter$1(j)&&isUpperAsciiLetter$1(z))break;z=j}for(L+=1;V0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new Range$5(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}};var __decorate$2P=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2F=function(n,e){return function(t,i){e(t,i,n)}},SmartSelectController_1$1;let SelectionRanges$1=class Uh{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new Uh(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}};var El;let SmartSelectController$1=(El=class{static get(e){return e.getContribution(SmartSelectController_1$1.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)==null||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await provideSelectionRanges$1(this._languageFeaturesService.selectionRangeProvider,i,t.map(g=>g.getPosition()),this._editor.getOption(114),CancellationToken$1.None).then(g=>{var y;if(!(!isNonEmptyArray$1(g)||g.length!==t.length)&&!(!this._editor.hasModel()||!equals$5(this._editor.getSelections(),t,(k,L)=>k.equalsSelection(L)))){for(let k=0;kL.containsPosition(t[k].getStartPosition())&&L.containsPosition(t[k].getEndPosition())),g[k].unshift(t[k]);this._state=g.map(k=>new SelectionRanges$1(0,k)),(y=this._selectionListener)==null||y.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var k;this._ignoreSelection||((k=this._selectionListener)==null||k.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(g=>g.mov(e));const r=this._state.map(g=>Selection$3.fromPositions(g.ranges[g.index].getStartPosition(),g.ranges[g.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}},SmartSelectController_1$1=El,El.ID="editor.contrib.smartSelectController",El);SmartSelectController$1=SmartSelectController_1$1=__decorate$2P([__param$2F(1,ILanguageFeaturesService$1)],SmartSelectController$1);let AbstractSmartSelect$1=class extends EditorAction$1{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=SmartSelectController$1.get(t);i&&await i.run(this._forward)}},GrowSelectionAction$1=class extends AbstractSmartSelect$1{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:localize$1("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"1_basic",title:localize$1({key:"miSmartSelectGrow",comment:["&& denotes a mnemonic"]},"&&Expand Selection"),order:2}})}};CommandsRegistry$1.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");let ShrinkSelectionAction$1=class extends AbstractSmartSelect$1{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:localize$1("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:MenuId$1.MenubarSelectionMenu,group:"1_basic",title:localize$1({key:"miSmartSelectShrink",comment:["&& denotes a mnemonic"]},"&&Shrink Selection"),order:3}})}};registerEditorContribution$1(SmartSelectController$1.ID,SmartSelectController$1,4);registerEditorAction$1(GrowSelectionAction$1);registerEditorAction$1(ShrinkSelectionAction$1);async function provideSelectionRanges$1(n,e,t,i,r){const g=n.all(e).concat(new WordSelectionRangeProvider$1(i.selectSubwords));g.length===1&&g.unshift(new BracketSelectionRangeProvider$1);const y=[],k=[];for(const L of g)y.push(Promise.resolve(L.provideSelectionRanges(e,t,r)).then(V=>{if(isNonEmptyArray$1(V)&&V.length===t.length)for(let z=0;z{if(L.length===0)return[];L.sort((ie,oe)=>Position$3.isBefore(ie.getStartPosition(),oe.getStartPosition())?1:Position$3.isBefore(oe.getStartPosition(),ie.getStartPosition())||Position$3.isBefore(ie.getEndPosition(),oe.getEndPosition())?-1:Position$3.isBefore(oe.getEndPosition(),ie.getEndPosition())?1:0);const V=[];let z;for(const ie of L)(!z||Range$5.containsRange(ie,z)&&!Range$5.equalsRange(ie,z))&&(V.push(ie),z=ie);if(!i.selectLeadingAndTrailingWhitespace)return V;const j=[V[0]];for(let ie=1;ien}),STICKY_INDEX_ATTR$1="data-sticky-line-index",STICKY_IS_LINE_ATTR$1="data-sticky-is-line",STICKY_IS_LINE_NUMBER_ATTR$1="data-sticky-is-line-number",STICKY_IS_FOLDING_ICON_ATTR$1="data-sticky-is-folding-icon";let StickyScrollWidget$2=class extends Disposable$1{constructor(e){super(),this._editor=e,this._foldingIconStore=new DisposableStore$1,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof EmbeddedCodeEditorWidget$1),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(116).scrollWithEditor?"-".concat(this._editor.getScrollLeft(),"px"):"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(116)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const r=this._isWidgetHeightZero(e),g=r?void 0:e,y=r?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(g,t,y),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,r=e.startLineNumbers.findIndex(g=>!i.startLineNumbers.includes(g));return r===-1?0:r}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width="".concat(t,"px"),this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth","".concat(this._editor.getScrollWidth()-e.verticalScrollbarWidth,"px")),this._rootDomNode.style.width="".concat(e.width-e.verticalScrollbarWidth,"px")}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;tk.scrollWidth))+r.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(111)==="mouseover"&&(this._foldingIconStore.add(addDisposableListener$1(this._lineNumbersDomNode,EventType$3.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(addDisposableListener$1(this._lineNumbersDomNode,EventType$3.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,r){const g=this._editor._getViewModel();if(!g)return;const y=g.coordinatesConverter.convertModelPositionToViewPosition(new Position$3(t,1)).lineNumber,k=g.getViewLineRenderingData(y),L=this._editor.getOption(68);let V;try{V=LineDecoration$1.filter(k.inlineDecorations,y,k.minColumn,k.maxColumn)}catch(pe){V=[]}const z=new RenderLineInput$1(!0,!0,k.content,k.continuesWithWrappedLine,k.isBasicASCII,k.containsRTL,0,k.tokens,V,k.tabSize,k.startVisibleColumn,1,1,1,500,"none",!0,!0,null),j=new StringBuilder$1(2e3),ie=renderViewLine$1(z,j);let oe;_ttPolicy$1?oe=_ttPolicy$1.createHTML(j.build()):oe=j.build();const re=document.createElement("span");re.setAttribute(STICKY_INDEX_ATTR$1,String(e)),re.setAttribute(STICKY_IS_LINE_ATTR$1,""),re.setAttribute("role","listitem"),re.tabIndex=0,re.className="sticky-line-content",re.classList.add("stickyLine".concat(t)),re.style.lineHeight="".concat(this._lineHeight,"px"),re.innerHTML=oe;const ae=document.createElement("span");ae.setAttribute(STICKY_INDEX_ATTR$1,String(e)),ae.setAttribute(STICKY_IS_LINE_NUMBER_ATTR$1,""),ae.className="sticky-line-number",ae.style.lineHeight="".concat(this._lineHeight,"px");const le=r.contentLeft;ae.style.width="".concat(le,"px");const de=document.createElement("span");L.renderType===1||L.renderType===3&&t%10===0?de.innerText=t.toString():L.renderType===2&&(de.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),de.className="sticky-line-number-inner",de.style.lineHeight="".concat(this._lineHeight,"px"),de.style.width="".concat(r.lineNumbersWidth,"px"),de.style.paddingLeft="".concat(r.lineNumbersLeft,"px"),ae.appendChild(de);const ue=this._renderFoldingIconForLine(i,t);ue&&ae.appendChild(ue.domNode),this._editor.applyFontInfo(re),this._editor.applyFontInfo(de),ae.style.lineHeight="".concat(this._lineHeight,"px"),re.style.lineHeight="".concat(this._lineHeight,"px"),ae.style.height="".concat(this._lineHeight,"px"),re.style.height="".concat(this._lineHeight,"px");const he=new RenderedStickyLine$1(e,t,re,ae,ue,ie.characterMapping,re.scrollWidth);return this._updateTopAndZIndexOfStickyLine(he)}_updateTopAndZIndexOfStickyLine(e){var z;const t=e.index,i=e.lineDomNode,r=e.lineNumberDomNode,g=t===this._lineNumbers.length-1,y="0",k="1";i.style.zIndex=g?y:k,r.style.zIndex=g?y:k;const L="".concat(t*this._lineHeight+this._lastLineRelativePosition+((z=e.foldingIcon)!=null&&z.isCollapsed?1:0),"px"),V="".concat(t*this._lineHeight,"px");return i.style.top=g?L:V,r.style.top=g?L:V,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(111);if(!e||i==="never")return;const r=e.regions,g=r.findRange(t),y=r.getStartLineNumber(g);if(!(t===y))return;const L=r.isCollapsed(g),V=new StickyFoldingIcon$1(L,y,r.getEndLineNumber(g),this._lineHeight);return V.setVisible(this._isOnGlyphMargin?!0:L||i==="always"),V.domNode.setAttribute(STICKY_IS_FOLDING_ICON_ATTR$1,""),V}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:2,stackOridinal:10}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=getColumnOfNodeOffset$1(t.characterMapping,e,0);return new Position$3(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))==null?void 0:t.lineNumber)!=null?i:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,STICKY_INDEX_ATTR$1);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,STICKY_IS_LINE_ATTR$1)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,STICKY_IS_FOLDING_ICON_ATTR$1)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}},RenderedStickyLine$1=class{constructor(e,t,i,r,g,y,k){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=r,this.foldingIcon=g,this.characterMapping=y,this.scrollWidth=k}},StickyFoldingIcon$1=class{constructor(e,t,i,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=r,this.domNode=document.createElement("div"),this.domNode.style.width="".concat(r,"px"),this.domNode.style.height="".concat(r,"px"),this.domNode.className=ThemeIcon$1.asClassName(e?foldingCollapsedIcon$1:foldingExpandedIcon$1)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}},StickyRange$1=class{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}},StickyElement$1=class{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}},StickyModel$1=class{constructor(e,t,i,r){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=r}};var __decorate$2O=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2E=function(n,e){return function(t,i){e(t,i,n)}},ModelProvider$1;(function(n){n.OUTLINE_MODEL="outlineModel",n.FOLDING_PROVIDER_MODEL="foldingProviderModel",n.INDENTATION_MODEL="indentationModel"})(ModelProvider$1||(ModelProvider$1={}));var Status$1;(function(n){n[n.VALID=0]="VALID",n[n.INVALID=1]="INVALID",n[n.CANCELED=2]="CANCELED"})(Status$1||(Status$1={}));let StickyModelProvider$1=class extends Disposable$1{constructor(e,t,i,r){switch(super(),this._editor=e,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Delayer$1(300)),this._updateOperation=this._register(new DisposableStore$1),this._editor.getOption(116).defaultModel){case ModelProvider$1.OUTLINE_MODEL:this._modelProviders.push(new StickyModelFromCandidateOutlineProvider$1(this._editor,r));case ModelProvider$1.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new StickyModelFromCandidateSyntaxFoldingProvider$1(this._editor,t,r));case ModelProvider$1.INDENTATION_MODEL:this._modelProviders.push(new StickyModelFromCandidateIndentationFoldingProvider$1(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;const g=await i;if(this._modelPromise!==r)return null;switch(g){case Status$1.CANCELED:return this._updateOperation.clear(),null;case Status$1.VALID:return t.stickyModel}}return null}).catch(t=>(onUnexpectedError$1(t),null))}};StickyModelProvider$1=__decorate$2O([__param$2E(2,IInstantiationService$1),__param$2E(3,ILanguageFeaturesService$1)],StickyModelProvider$1);let StickyModelCandidateProvider$1=class extends Disposable$1{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Status$1.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=createCancelablePromise$1(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Status$1.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Status$1.VALID):this._invalid()).then(void 0,i=>(onUnexpectedError$1(i),Status$1.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}},StickyModelFromCandidateOutlineProvider$1=class extends StickyModelCandidateProvider$1{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return OutlineModel$1.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var y;const{stickyOutlineElement:i,providerID:r}=this._stickyModelFromOutlineModel(t,(y=this._stickyModel)==null?void 0:y.outlineProviderId),g=this._editor.getModel();return new StickyModel$1(g.uri,g.getVersionId(),i,r)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Iterable$1.first(e.children.values())instanceof OutlineGroup$1){const k=Iterable$1.find(e.children.values(),L=>L.id===t);if(k)i=k.children;else{let L="",V=-1,z;for(const[j,ie]of e.children.entries()){const oe=this._findSumOfRangesOfGroup(ie);oe>V&&(z=ie,V=oe,L=ie.id)}t=L,i=z.children}}else i=e.children;const r=[],g=Array.from(i.values()).sort((k,L)=>{const V=new StickyRange$1(k.symbol.range.startLineNumber,k.symbol.range.endLineNumber),z=new StickyRange$1(L.symbol.range.startLineNumber,L.symbol.range.endLineNumber);return this._comparator(V,z)});for(const k of g)r.push(this._stickyModelFromOutlineElement(k,k.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new StickyElement$1(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const g of e.children.values())if(g.symbol.selectionRange.startLineNumber!==g.symbol.range.endLineNumber)if(g.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(g,g.symbol.selectionRange.startLineNumber));else for(const y of g.children.values())i.push(this._stickyModelFromOutlineElement(y,g.symbol.selectionRange.startLineNumber));i.sort((g,y)=>this._comparator(g.range,y.range));const r=new StickyRange$1(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new StickyElement$1(r,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof OutlineElement$1?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};StickyModelFromCandidateOutlineProvider$1=__decorate$2O([__param$2E(1,ILanguageFeaturesService$1)],StickyModelFromCandidateOutlineProvider$1);let StickyModelFromCandidateFoldingProvider$1=class extends StickyModelCandidateProvider$1{constructor(e){super(e),this._foldingLimitReporter=new RangesLimitReporter$1(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),r=this._editor.getModel();return new StickyModel$1(r.uri,r.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],r=new StickyElement$1(void 0,[],void 0);for(let g=0;g0&&(this.provider=this._register(new SyntaxRangeProvider$1(e.getModel(),r,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)==null?void 0:t.compute(e))!=null?i:null}};StickyModelFromCandidateSyntaxFoldingProvider$1=__decorate$2O([__param$2E(2,ILanguageFeaturesService$1)],StickyModelFromCandidateSyntaxFoldingProvider$1);var __decorate$2N=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2D=function(n,e){return function(t,i){e(t,i,n)}};let StickyLineCandidate$1=class{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}},StickyLineCandidateProvider$1=class extends Disposable$1{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Emitter$3),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new DisposableStore$1),this._updateSoon=this._register(new RunOnceScheduler$1(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(116)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(116).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(toDisposable$1(()=>{var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)==null?void 0:e.version}updateStickyModelProvider(){var t;(t=this._stickyModelProvider)==null||t.dispose(),this._stickyModelProvider=null;const e=this._editor;e.hasModel()&&(this._stickyModelProvider=new StickyModelProvider$1(e,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)==null||e.dispose(!0),this._cts=new CancellationTokenSource$3,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,r,g){if(t.children.length===0)return;let y=g;const k=[];for(let z=0;zz-j)),V=this.updateIndex(binarySearch$1(k,e.startLineNumber+r,(z,j)=>z-j));for(let z=L;z<=V;z++){const j=t.children[z];if(!j)return;if(j.range){const ie=j.range.startLineNumber,oe=j.range.endLineNumber;e.startLineNumber<=oe+1&&ie-1<=e.endLineNumber&&ie!==y&&(y=ie,i.push(new StickyLineCandidate$1(ie,oe-1,r+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,j,i,r+1,ie))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,j,i,r,g)}}getCandidateStickyLinesIntersecting(e){var r,g;if(!((r=this._model)!=null&&r.element))return[];let t=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,t,0,-1);const i=(g=this._editor._getViewModel())==null?void 0:g.getHiddenAreas();if(i)for(const y of i)t=t.filter(k=>!(k.startLineNumber>=y.startLineNumber&&k.endLineNumber<=y.endLineNumber+1));return t}};StickyLineCandidateProvider$1=__decorate$2N([__param$2D(1,ILanguageFeaturesService$1),__param$2D(2,ILanguageConfigurationService$1)],StickyLineCandidateProvider$1);var __decorate$2M=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2C=function(n,e){return function(t,i){e(t,i,n)}},StickyScrollController_1$1,xl;let StickyScrollController$2=(xl=class extends Disposable$1{constructor(e,t,i,r,g,y,k){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=r,this._contextKeyService=k,this._sessionStore=new DisposableStore$1,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._stickyScrollWidget=new StickyScrollWidget$2(this._editor),this._stickyLineCandidateProvider=new StickyLineCandidateProvider$1(this._editor,i,g),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=StickyScrollWidgetState$1.Empty,this._onDidResize(),this._readConfiguration();const L=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(z=>{this._readConfigurationChange(z)})),this._register(addDisposableListener$1(L,EventType$3.CONTEXT_MENU,async z=>{this._onContextMenu(getWindow$3(L),z)})),this._stickyScrollFocusedContextKey=EditorContextKeys$1.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=EditorContextKeys$1.stickyScrollVisible.bindTo(this._contextKeyService);const V=this._register(trackFocus$1(L));this._register(V.onDidBlur(z=>{this._positionRevealed===!1&&L.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(V.onDidFocus(z=>{this.focus()})),this._registerMouseListeners(),this._register(addDisposableListener$1(L,EventType$3.MOUSE_DOWN,z=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(StickyScrollController_1$1.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)==null||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new DisposableStore$1,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Range$5.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new DisposableStore$1),t=this._register(new ClickLinkGesture$1(this._editor,{extractLineNumberFromMouseEvent:g=>{const y=this._stickyScrollWidget.getEditorPositionFromNode(g.target.element);return y?y.lineNumber:0}})),i=g=>{if(!this._editor.hasModel()||g.target.type!==12||g.target.detail!==this._stickyScrollWidget.getId())return null;const y=g.target.element;if(!y||y.innerText!==y.innerHTML)return null;const k=this._stickyScrollWidget.getEditorPositionFromNode(y);return k?{range:new Range$5(k.lineNumber,k.column,k.lineNumber,k.column+y.innerText.length),textElement:y}:null},r=this._stickyScrollWidget.getDomNode();this._register(addStandardDisposableListener$1(r,EventType$3.CLICK,g=>{if(g.ctrlKey||g.altKey||g.metaKey||!g.leftButton)return;if(g.shiftKey){const V=this._stickyScrollWidget.getLineIndexFromChildDomNode(g.target);if(V===null)return;const z=new Position$3(this._endLineNumbers[V],1);this._revealLineInCenterIfOutsideViewport(z);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(g.target)){const V=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);this._toggleFoldingRegionForLine(V);return}if(!this._stickyScrollWidget.isInStickyLine(g.target))return;let L=this._stickyScrollWidget.getEditorPositionFromNode(g.target);if(!L){const V=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);if(V===null)return;L=new Position$3(V,1)}this._revealPosition(L)})),this._register(addStandardDisposableListener$1(r,EventType$3.MOUSE_MOVE,g=>{if(g.shiftKey){const y=this._stickyScrollWidget.getLineIndexFromChildDomNode(g.target);if(y===null||this._showEndForLine!==null&&this._showEndForLine===y)return;this._showEndForLine=y,this._renderStickyScroll();return}this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(addDisposableListener$1(r,EventType$3.MOUSE_LEAVE,g=>{this._showEndForLine!==void 0&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([g,y])=>{const k=i(g);if(!k||!g.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:L,textElement:V}=k;if(!L.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=L,e.clear();else if(V.style.textDecoration==="underline")return;const z=new CancellationTokenSource$3;e.add(toDisposable$1(()=>z.dispose(!0)));let j;getDefinitionsAtPosition$1(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Position$3(L.startLineNumber,L.startColumn+1),!1,z.token).then(ie=>{if(!z.token.isCancellationRequested)if(ie.length!==0){this._candidateDefinitionsLength=ie.length;const oe=V;j!==oe?(e.clear(),j=oe,j.style.textDecoration="underline",e.add(toDisposable$1(()=>{j.style.textDecoration="none"}))):j||(j=oe,j.style.textDecoration="underline",e.add(toDisposable$1(()=>{j.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async g=>{if(g.target.type!==12||g.target.detail!==this._stickyScrollWidget.getId())return;const y=this._stickyScrollWidget.getEditorPositionFromNode(g.target.element);y&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:y.lineNumber,column:1})),this._instaService.invokeFunction(goToDefinitionWithLocation$1,g,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new StandardMouseEvent$1(e,t);this._contextMenuService.showContextMenu({menuId:MenuId$1.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;toggleCollapseState$1(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const r=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(116);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=void 0,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=void 0,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=void 0,this._renderStickyScroll(0)}))}_readConfigurationChange(e){(e.hasChanged(116)||e.hasChanged(73)||e.hasChanged(67)||e.hasChanged(111)||e.hasChanged(68))&&this._readConfiguration(),e.hasChanged(68)&&this._renderStickyScroll(0)}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const r of e.ranges)if(i>=r.fromLineNumber&&i<=r.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){const t=this._editor.getModel();if(!t||t.isTooLargeForTokenization()){this._resetState();return}const i=this._updateAndGetMinRebuildFromLine(e),r=this._stickyLineCandidateProvider.getVersionId();if(r===void 0||r===t.getVersionId())if(!this._focused)await this._updateState(i);else if(this._focusedStickyElementIndex===-1)await this._updateState(i),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const y=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];await this._updateState(i),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(y)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}_updateAndGetMinRebuildFromLine(e){if(e!==void 0){const t=this._minRebuildFromLine!==void 0?this._minRebuildFromLine:1/0;this._minRebuildFromLine=Math.min(e,t)}return this._minRebuildFromLine}async _updateState(e){var i,r;this._minRebuildFromLine=void 0,this._foldingModel=(r=await((i=FoldingController$1.get(this._editor))==null?void 0:i.getFoldingModel()))!=null?r:void 0,this._widgetState=this.findScrollWidgetState();const t=this._widgetState.startLineNumbers.length>0;this._stickyScrollVisibleContextKey.set(t),this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e)}async _resetState(){this._minRebuildFromLine=void 0,this._foldingModel=void 0,this._widgetState=StickyScrollWidgetState$1.Empty,this._stickyScrollVisibleContextKey.set(!1),this._stickyScrollWidget.setState(void 0,void 0)}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(116).maxLineCount),i=this._editor.getScrollTop();let r=0;const g=[],y=[],k=this._editor.getVisibleRanges();if(k.length!==0){const L=new StickyRange$1(k[0].startLineNumber,k[k.length-1].endLineNumber),V=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(L);for(const z of V){const j=z.startLineNumber,ie=z.endLineNumber,oe=z.nestingDepth;if(ie-j>0){const re=(oe-1)*e,ae=oe*e,le=this._editor.getBottomForLineNumber(j)-i,de=this._editor.getTopForLineNumber(ie)-i,ue=this._editor.getBottomForLineNumber(ie)-i;if(re>de&&re<=ue){g.push(j),y.push(ie+1),r=ue-ae;break}else ae>le&&ae<=ue&&(g.push(j),y.push(ie+1));if(g.length===t)break}}}return this._endLineNumbers=y,new StickyScrollWidgetState$1(g,y,r,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}},StickyScrollController_1$1=xl,xl.ID="store.contrib.stickyScrollController",xl);StickyScrollController$2=StickyScrollController_1$1=__decorate$2M([__param$2C(1,IContextMenuService$1),__param$2C(2,ILanguageFeaturesService$1),__param$2C(3,IInstantiationService$1),__param$2C(4,ILanguageConfigurationService$1),__param$2C(5,ILanguageFeatureDebounceService$1),__param$2C(6,IContextKeyService$1)],StickyScrollController$2);let ToggleStickyScroll$1=class extends Action2$1{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...localize2$1("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:localize$1({key:"mitoggleStickyScroll",comment:["&& denotes a mnemonic"]},"&&Toggle Editor Sticky Scroll")},metadata:{description:localize2$1("toggleEditorStickyScroll.description","Toggle/enable the editor sticky scroll which shows the nested scopes at the top of the viewport")},category:Categories$1.View,toggled:{condition:ContextKeyExpr$1.equals("config.editor.stickyScroll.enabled",!0),title:localize$1("stickyScroll","Sticky Scroll"),mnemonicTitle:localize$1({key:"miStickyScroll",comment:["&& denotes a mnemonic"]},"&&Sticky Scroll")},menu:[{id:MenuId$1.CommandPalette},{id:MenuId$1.MenubarAppearanceMenu,group:"4_editor",order:3},{id:MenuId$1.StickyScrollContext}]})}async run(e){const t=e.get(IConfigurationService$1),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}};const weight$4=100;let FocusStickyScroll$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.focusStickyScroll",title:{...localize2$1("focusStickyScroll","Focus on the editor sticky scroll"),mnemonicTitle:localize$1({key:"mifocusStickyScroll",comment:["&& denotes a mnemonic"]},"&&Focus Sticky Scroll")},precondition:ContextKeyExpr$1.and(ContextKeyExpr$1.has("config.editor.stickyScroll.enabled"),EditorContextKeys$1.stickyScrollVisible),menu:[{id:MenuId$1.CommandPalette}]})}runEditorCommand(e,t){var i;(i=StickyScrollController$2.get(t))==null||i.focus()}},SelectNextStickyScrollLine$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:localize2$1("selectNextStickyScrollLine.title","Select the next editor sticky scroll line"),precondition:EditorContextKeys$1.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight$4,primary:18}})}runEditorCommand(e,t){var i;(i=StickyScrollController$2.get(t))==null||i.focusNext()}},SelectPreviousStickyScrollLine$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:localize2$1("selectPreviousStickyScrollLine.title","Select the previous sticky scroll line"),precondition:EditorContextKeys$1.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight$4,primary:16}})}runEditorCommand(e,t){var i;(i=StickyScrollController$2.get(t))==null||i.focusPrevious()}},GoToStickyScrollLine$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:localize2$1("goToFocusedStickyScrollLine.title","Go to the focused sticky scroll line"),precondition:EditorContextKeys$1.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight$4,primary:3}})}runEditorCommand(e,t){var i;(i=StickyScrollController$2.get(t))==null||i.goToFocused()}},SelectEditor$1=class extends EditorAction2$1{constructor(){super({id:"editor.action.selectEditor",title:localize2$1("selectEditor.title","Select Editor"),precondition:EditorContextKeys$1.stickyScrollFocused.isEqualTo(!0),keybinding:{weight:weight$4,primary:9}})}runEditorCommand(e,t){var i;(i=StickyScrollController$2.get(t))==null||i.selectEditor()}};registerEditorContribution$1(StickyScrollController$2.ID,StickyScrollController$2,1);registerAction2$1(ToggleStickyScroll$1);registerAction2$1(FocusStickyScroll$1);registerAction2$1(SelectPreviousStickyScrollLine$1);registerAction2$1(SelectNextStickyScrollLine$1);registerAction2$1(GoToStickyScrollLine$1);registerAction2$1(SelectEditor$1);var __decorate$2L=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2B=function(n,e){return function(t,i){e(t,i,n)}};let SuggestInlineCompletion$1=class{constructor(e,t,i,r,g,y){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=r,this.command=g,this.completion=y}},InlineCompletionResults$1=class extends RefCountedDisposable$1{constructor(e,t,i,r,g,y){super(g.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=r,this._suggestMemoryService=y}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&L.resolve(CancellationToken$1.None)}return e}};InlineCompletionResults$1=__decorate$2L([__param$2B(5,ISuggestMemoryService$1)],InlineCompletionResults$1);let SuggestInlineCompletions$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,r){var oe;if(i.selectedSuggestionInfo)return;let g;for(const re of this._editorService.listCodeEditors())if(re.getModel()===e){g=re;break}if(!g)return;const y=g.getOption(90);if(QuickSuggestionsOptions$1.isAllOff(y))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const k=e.tokenization.getLineTokens(t.lineNumber),L=k.getStandardTokenType(k.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(QuickSuggestionsOptions$1.valueFor(y,L)!=="inline")return;let V=e.getWordAtPosition(t),z;if(V!=null&&V.word||(z=this._getTriggerCharacterInfo(e,t)),!(V!=null&&V.word)&&!z||(V||(V=e.getWordUntilPosition(t)),V.endColumn!==t.column))return;let j;const ie=e.getValueInRange(new Range$5(t.lineNumber,1,t.lineNumber,t.column));if(!z&&((oe=this._lastResult)!=null&&oe.canBeReused(e,t.lineNumber,V))){const re=new LineContext$3(ie,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=re,this._lastResult.acquire(),j=this._lastResult}else{const re=await provideSuggestionItems$1(this._languageFeatureService.completionProvider,e,t,new CompletionOptions$1(void 0,SuggestModel$1.createSuggestFilter(g).itemKind,z==null?void 0:z.providers),z&&{triggerKind:1,triggerCharacter:z.ch},r);let ae;re.needsClipboard&&(ae=await this._clipboardService.readText());const le=new CompletionModel$1(re.items,t.column,new LineContext$3(ie,0),WordDistance$1.None,g.getOption(119),g.getOption(113),{boostFullMatch:!1,firstMatchCanBeWeak:!1},ae);j=new InlineCompletionResults$1(e,t.lineNumber,V,le,re,this._suggestMemoryService)}return this._lastResult=j,j}handleItemDidShow(e,t){t.completion.resolve(CancellationToken$1.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var g;const i=e.getValueInRange(Range$5.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),r=new Set;for(const y of this._languageFeatureService.completionProvider.all(e))(g=y.triggerCharacters)!=null&&g.includes(i)&&r.add(y);if(r.size!==0)return{providers:r,ch:i}}};SuggestInlineCompletions$1=__decorate$2L([__param$2B(0,ILanguageFeaturesService$1),__param$2B(1,IClipboardService$1),__param$2B(2,ISuggestMemoryService$1),__param$2B(3,ICodeEditorService$1)],SuggestInlineCompletions$1);registerEditorFeature$1(SuggestInlineCompletions$1);let ForceRetokenizeAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.forceRetokenize",label:localize$1("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const r=new StopWatch$1;i.tokenization.forceTokenization(i.getLineCount()),r.stop(),console.log("tokenization took ".concat(r.elapsed()))}};registerEditorAction$1(ForceRetokenizeAction$1);var kl;let ToggleTabFocusModeAction$1=(kl=class extends Action2$1{constructor(){super({id:kl.ID,title:localize2$1({key:"toggle.tabMovesFocus",comment:["Turn on/off use of tab key for moving focus around VS Code"]},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},metadata:{description:localize2$1("tabMovesFocusDescriptions","Determines whether the tab key moves focus around the workbench or inserts the tab character in the current editor. This is also called tab trapping, tab navigation, or tab focus mode.")},f1:!0})}run(){const t=!TabFocus$1.getTabFocusMode();TabFocus$1.setTabFocusMode(t),alert$1(t?localize$1("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):localize$1("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}},kl.ID="editor.action.toggleTabFocusMode",kl);registerAction2$1(ToggleTabFocusModeAction$1);var __decorate$2K=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2A=function(n,e){return function(t,i){e(t,i,n)}};let Link$3=class extends Disposable$1{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},r,g){var j,ie;super(),this._link=t,this._hoverService=r,this._enabled=!0,this.el=append$4(e,$$u("a.monaco-link",{tabIndex:(j=t.tabIndex)!=null?j:0,href:t.href},t.label)),this.hoverDelegate=(ie=i.hoverDelegate)!=null?ie:getDefaultHoverDelegate$1("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const y=this._register(new DomEmitter$1(this.el,"click")),k=this._register(new DomEmitter$1(this.el,"keypress")),L=Event$2.chain(k.event,oe=>oe.map(re=>new StandardKeyboardEvent$1(re)).filter(re=>re.keyCode===3)),V=this._register(new DomEmitter$1(this.el,EventType$2.Tap)).event;this._register(Gesture$1.addTarget(this.el));const z=Event$2.any(y.event,L,V);this._register(z(oe=>{this.enabled&&(EventHelper$2.stop(oe,!0),i!=null&&i.opener?i.opener(this._link.href):g.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e!=null?e:"":!this.hover&&e?this.hover=this._register(this._hoverService.setupManagedHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Link$3=__decorate$2K([__param$2A(3,IHoverService$1),__param$2A(4,IOpenerService$1)],Link$3);var __decorate$2J=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2z=function(n,e){return function(t,i){e(t,i,n)}};const BANNER_ELEMENT_HEIGHT$1=26;let BannerController$1=class extends Disposable$1{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Banner$1))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)==null||t.call(e)}}),this._editor.setBanner(this.banner.element,BANNER_ELEMENT_HEIGHT$1)}};BannerController$1=__decorate$2J([__param$2z(1,IInstantiationService$1)],BannerController$1);let Banner$1=class extends Disposable$1{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(MarkdownRenderer$1,{}),this.element=$$u("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=$$u("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){clearNode$1(this.element)}show(e){clearNode$1(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=append$4(this.element,$$u("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild($$u("div".concat(ThemeIcon$1.asCSSSelector(e.icon))));const r=append$4(this.element,$$u("div.message-container"));if(r.setAttribute("aria-hidden","true"),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=append$4(this.element,$$u("div.message-actions-container")),e.actions)for(const y of e.actions)this._register(this.instantiationService.createInstance(Link$3,this.messageActionsContainer,{...y,tabIndex:-1},{}));const g=append$4(this.element,$$u("div.action-container"));this.actionBar=this._register(new ActionBar$1(g)),this.actionBar.push(this._register(new Action$1("banner.close","Close Banner",ThemeIcon$1.asClassName(widgetClose$1),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Banner$1=__decorate$2J([__param$2z(0,IInstantiationService$1)],Banner$1);var __decorate$2I=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2y=function(n,e){return function(t,i){e(t,i,n)}};const warningIcon$1=registerIcon$1("extensions-warning-message",Codicon$1.warning,localize$1("warningIcon","Icon shown with a warning message in the extensions editor."));var dc;let UnicodeHighlighter$1=(dc=class extends Disposable$1{constructor(e,t,i,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=g=>{if(g&&g.hasMore){if(this._bannerClosed)return;const y=Math.max(g.ambiguousCharacterCount,g.nonBasicAsciiCharacterCount,g.invisibleCharacterCount);let k;if(g.nonBasicAsciiCharacterCount>=y)k={message:localize$1("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new DisableHighlightingOfNonBasicAsciiCharactersAction$1};else if(g.ambiguousCharacterCount>=y)k={message:localize$1("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new DisableHighlightingOfAmbiguousCharactersAction$1};else if(g.invisibleCharacterCount>=y)k={message:localize$1("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new DisableHighlightingOfInvisibleCharactersAction$1};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:k.message,icon:warningIcon$1,actions:[{label:k.command.shortLabel,href:"command:".concat(k.command.id)}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(BannerController$1,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(126),this._register(i.onDidChangeTrust(g=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(g=>{g.hasChanged(126)&&(this._options=e.getOption(126),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=resolveOptions$4(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?language$1:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new DocumentUnicodeHighlighter$1(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new ViewportUnicodeHighlighter$1(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}},dc.ID="editor.contrib.unicodeHighlighter",dc);UnicodeHighlighter$1=__decorate$2I([__param$2y(1,IEditorWorkerService$1),__param$2y(2,IWorkspaceTrustManagementService$1),__param$2y(3,IInstantiationService$1)],UnicodeHighlighter$1);function resolveOptions$4(n,e){return{nonBasicASCII:e.nonBasicASCII===inUntrustedWorkspace$1?!n:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===inUntrustedWorkspace$1?!n:e.includeComments,includeStrings:e.includeStrings===inUntrustedWorkspace$1?!n:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let DocumentUnicodeHighlighter$1=class extends Disposable$1{constructor(e,t,i,r){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new RunOnceScheduler$1(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const r of t.ranges)i.push({range:r,options:Decorations$1.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!isModelDecorationVisible$1(t,e))return null;const i=t.getValueInRange(e.range);return{reason:computeReason$1(i,this._options),inComment:isModelDecorationInComment$1(t,e),inString:isModelDecorationInString$1(t,e)}}};DocumentUnicodeHighlighter$1=__decorate$2I([__param$2y(3,IEditorWorkerService$1)],DocumentUnicodeHighlighter$1);let ViewportUnicodeHighlighter$1=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new RunOnceScheduler$1(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const r of e){const g=UnicodeTextModelHighlighter$1.computeUnicodeHighlights(this._model,this._options,r);for(const y of g.ranges)i.ranges.push(y);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||g.hasMore}if(!i.hasMore)for(const r of i.ranges)t.push({range:r,options:Decorations$1.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return isModelDecorationVisible$1(t,e)?{reason:computeReason$1(i,this._options),inComment:isModelDecorationInComment$1(t,e),inString:isModelDecorationInString$1(t,e)}:null}};const configureUnicodeHighlightOptionsStr$1=localize$1("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let UnicodeHighlighterHoverParticipant$1=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=this._editor.getContribution(UnicodeHighlighter$1.ID);if(!r)return[];const g=[],y=new Set;let k=300;for(const L of t){const V=r.getDecorationInfo(L);if(!V)continue;const j=i.getValueInRange(L.range).codePointAt(0),ie=formatCodePointMarkdown$1(j);let oe;switch(V.reason.kind){case 0:{isBasicASCII$1(V.reason.confusableWith)?oe=localize$1("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",ie,formatCodePointMarkdown$1(V.reason.confusableWith.codePointAt(0))):oe=localize$1("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",ie,formatCodePointMarkdown$1(V.reason.confusableWith.codePointAt(0)));break}case 1:oe=localize$1("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",ie);break;case 2:oe=localize$1("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",ie);break}if(y.has(oe))continue;y.add(oe);const re={codePoint:j,reason:V.reason,inComment:V.inComment,inString:V.inString},ae=localize$1("unicodeHighlight.adjustSettings","Adjust settings"),le="command:".concat(ShowExcludeOptions$1.ID,"?").concat(encodeURIComponent(JSON.stringify(re))),de=new MarkdownString$1("",!0).appendMarkdown(oe).appendText(" ").appendLink(le,ae,configureUnicodeHighlightOptionsStr$1);g.push(new MarkdownHover$1(this,L.range,[de],!1,k++))}return g}renderHoverParts(e,t){return renderMarkdownHovers$1(e,t,this._editor,this._languageService,this._openerService)}};UnicodeHighlighterHoverParticipant$1=__decorate$2I([__param$2y(1,ILanguageService$1),__param$2y(2,IOpenerService$1)],UnicodeHighlighterHoverParticipant$1);function codePointToHex$1(n){return"U+".concat(n.toString(16).padStart(4,"0"))}function formatCodePointMarkdown$1(n){let e="`".concat(codePointToHex$1(n),"`");return InvisibleCharacters$1.isInvisibleCharacter(n)||(e+=' "'.concat("".concat(renderCodePointAsInlineCode$1(n)),'"')),e}function renderCodePointAsInlineCode$1(n){return n===96?"`` ` ``":"`"+String.fromCodePoint(n)+"`"}function computeReason$1(n,e){return UnicodeTextModelHighlighter$1.computeUnicodeHighlightReason(n,e)}var Ll;let Decorations$1=(Ll=class{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i="".concat(e).concat(t);let r=this.map.get(i);return r||(r=ModelDecorationOptions$1.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,r)),r}},Ll.instance=new Ll,Ll),DisableHighlightingInCommentsAction$1=class extends EditorAction$1{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction$1.ID,label:localize$1("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=localize$1("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService$1);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys$1.includeComments,!1,2)}},DisableHighlightingInStringsAction$1=class extends EditorAction$1{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction$1.ID,label:localize$1("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=localize$1("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService$1);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys$1.includeStrings,!1,2)}};var Il;let DisableHighlightingOfAmbiguousCharactersAction$1=(Il=class extends EditorAction$1{constructor(){super({id:Il.ID,label:localize$1("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=localize$1("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService$1);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys$1.ambiguousCharacters,!1,2)}},Il.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters",Il);var Dl;let DisableHighlightingOfInvisibleCharactersAction$1=(Dl=class extends EditorAction$1{constructor(){super({id:Dl.ID,label:localize$1("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=localize$1("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService$1);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys$1.invisibleCharacters,!1,2)}},Dl.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters",Dl);var Tl;let DisableHighlightingOfNonBasicAsciiCharactersAction$1=(Tl=class extends EditorAction$1{constructor(){super({id:Tl.ID,label:localize$1("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=localize$1("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService$1);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys$1.nonBasicASCII,!1,2)}},Tl.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters",Tl);var Nl;let ShowExcludeOptions$1=(Nl=class extends EditorAction$1{constructor(){super({id:Nl.ID,label:localize$1("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:r,reason:g,inString:y,inComment:k}=i,L=String.fromCodePoint(r),V=e.get(IQuickInputService$1),z=e.get(IConfigurationService$1);function j(re){return InvisibleCharacters$1.isInvisibleCharacter(re)?localize$1("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",codePointToHex$1(re)):localize$1("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted","".concat(codePointToHex$1(re),' "').concat(L,'"'))}const ie=[];if(g.kind===0)for(const re of g.notAmbiguousInLocales)ie.push({label:localize$1("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',re),run:async()=>{excludeLocaleFromBeingHighlighted$1(z,[re])}});if(ie.push({label:j(r),run:()=>excludeCharFromBeingHighlighted$1(z,[r])}),k){const re=new DisableHighlightingInCommentsAction$1;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(y){const re=new DisableHighlightingInStringsAction$1;ie.push({label:re.label,run:async()=>re.runAction(z)})}if(g.kind===0){const re=new DisableHighlightingOfAmbiguousCharactersAction$1;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(g.kind===1){const re=new DisableHighlightingOfInvisibleCharactersAction$1;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(g.kind===2){const re=new DisableHighlightingOfNonBasicAsciiCharactersAction$1;ie.push({label:re.label,run:async()=>re.runAction(z)})}else expectNever$1(g);const oe=await V.pick(ie,{title:configureUnicodeHighlightOptionsStr$1});oe&&await oe.run()}},Nl.ID="editor.action.unicodeHighlight.showExcludeOptions",Nl);async function excludeCharFromBeingHighlighted$1(n,e){const t=n.getValue(unicodeHighlightConfigKeys$1.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const r of e)i[String.fromCodePoint(r)]=!0;await n.updateValue(unicodeHighlightConfigKeys$1.allowedCharacters,i,2)}async function excludeLocaleFromBeingHighlighted$1(n,e){var r;const t=(r=n.inspect(unicodeHighlightConfigKeys$1.allowedLocales).user)==null?void 0:r.value;let i;typeof t=="object"&&t?i=Object.assign({},t):i={};for(const g of e)i[g]=!0;await n.updateValue(unicodeHighlightConfigKeys$1.allowedLocales,i,2)}function expectNever$1(n){throw new Error("Unexpected value: ".concat(n))}registerEditorAction$1(DisableHighlightingOfAmbiguousCharactersAction$1);registerEditorAction$1(DisableHighlightingOfInvisibleCharactersAction$1);registerEditorAction$1(DisableHighlightingOfNonBasicAsciiCharactersAction$1);registerEditorAction$1(ShowExcludeOptions$1);registerEditorContribution$1(UnicodeHighlighter$1.ID,UnicodeHighlighter$1,1);HoverParticipantRegistry$1.register(UnicodeHighlighterHoverParticipant$1);var __decorate$2H=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2x=function(n,e){return function(t,i){e(t,i,n)}};const ignoreUnusualLineTerminators$1="ignoreUnusualLineTerminators";function writeIgnoreState$1(n,e,t){n.setModelProperty(e.uri,ignoreUnusualLineTerminators$1,t)}function readIgnoreState$1(n,e){return n.getModelProperty(e.uri,ignoreUnusualLineTerminators$1)}var uc;let UnusualLineTerminatorsDetector$1=(uc=class extends Disposable$1{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(127),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(127)&&(this._config=this._editor.getOption(127),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(r=>{r.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||readIgnoreState$1(this._codeEditorService,e)===!0||this._editor.getOption(92))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:localize$1("unusualLineTerminators.title","Unusual Line Terminators"),message:localize$1("unusualLineTerminators.message","Detected unusual line terminators"),detail:localize$1("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",basename$2(e.uri)),primaryButton:localize$1({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:localize$1("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){writeIgnoreState$1(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}},uc.ID="editor.contrib.unusualLineTerminatorsDetector",uc);UnusualLineTerminatorsDetector$1=__decorate$2H([__param$2x(1,IDialogService$1),__param$2x(2,ICodeEditorService$1)],UnusualLineTerminatorsDetector$1);registerEditorContribution$1(UnusualLineTerminatorsDetector$1.ID,UnusualLineTerminatorsDetector$1,1);var __decorate$2G=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2w=function(n,e){return function(t,i){e(t,i,n)}};class TextualDocumentHighlightProvider{constructor(){this.selector={language:"*"}}provideDocumentHighlights(e,t,i){const r=[],g=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});return g?e.isDisposed()?void 0:e.findMatches(g.word,!0,!1,!0,USUAL_WORD_SEPARATORS$1,!1).map(k=>({range:k.range,kind:DocumentHighlightKind$3.Text})):Promise.resolve(r)}provideMultiDocumentHighlights(e,t,i,r){const g=new ResourceMap$1,y=e.getWordAtPosition({lineNumber:t.lineNumber,column:t.column});if(!y)return Promise.resolve(g);for(const k of[e,...i]){if(k.isDisposed())continue;const V=k.findMatches(y.word,!0,!1,!0,USUAL_WORD_SEPARATORS$1,!1).map(z=>({range:z.range,kind:DocumentHighlightKind$3.Text}));V&&g.set(k.uri,V)}return g}}let TextualMultiDocumentHighlightFeature=class extends Disposable$1{constructor(e){super(),this._register(e.documentHighlightProvider.register("*",new TextualDocumentHighlightProvider)),this._register(e.multiDocumentHighlightProvider.register("*",new TextualDocumentHighlightProvider))}};TextualMultiDocumentHighlightFeature=__decorate$2G([__param$2w(0,ILanguageFeaturesService$1)],TextualMultiDocumentHighlightFeature);var __decorate$2F=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2v=function(n,e){return function(t,i){e(t,i,n)}},WordHighlighter_1$1,WordHighlighterContribution_1$1;const ctxHasWordHighlights$1=new RawContextKey$1("hasWordHighlights",!1);function getOccurrencesAtPosition$1(n,e,t,i){const r=n.ordered(e);return first$1(r.map(g=>()=>Promise.resolve(g.provideDocumentHighlights(e,t,i)).then(void 0,onUnexpectedExternalError$1)),g=>g!=null).then(g=>{if(g){const y=new ResourceMap$1;return y.set(e.uri,g),y}return new ResourceMap$1})}function getOccurrencesAcrossMultipleModels$1(n,e,t,i,r,g){const y=n.ordered(e);return first$1(y.map(k=>()=>{const L=g.filter(V=>shouldSynchronizeModel$1(V)).filter(V=>score$2(k.selector,V.uri,V.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(k.provideMultiDocumentHighlights(e,t,L,r)).then(void 0,onUnexpectedExternalError$1)}),k=>k!=null)}let OccurenceAtPositionRequest$1=class{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=createCancelablePromise$1(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Range$5(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const r=t.startLineNumber,g=t.startColumn,y=t.endColumn,k=this._getCurrentWordRange(e,t);let L=!!(this._wordRange&&this._wordRange.equalsRange(k));for(let V=0,z=i.length;!L&&V=y&&(L=!0)}return L}cancel(){this.result.cancel()}},SemanticOccurenceAtPositionRequest$1=class extends OccurenceAtPositionRequest$1{constructor(e,t,i,r){super(e,t,i),this._providers=r}_compute(e,t,i,r){return getOccurrencesAtPosition$1(this._providers,e,t.getPosition(),r).then(g=>g||new ResourceMap$1)}},MultiModelOccurenceRequest$1=class extends OccurenceAtPositionRequest$1{constructor(e,t,i,r,g){super(e,t,i),this._providers=r,this._otherModels=g}_compute(e,t,i,r){return getOccurrencesAcrossMultipleModels$1(this._providers,e,t.getPosition(),i,r,this._otherModels).then(g=>g||new ResourceMap$1)}};function computeOccurencesAtPosition$1(n,e,t,i,r){return new SemanticOccurenceAtPositionRequest$1(e,t,r,n)}function computeOccurencesMultiModel$1(n,e,t,i,r,g){return new MultiModelOccurenceRequest$1(e,t,r,n,g)}registerModelAndPositionCommand$1("_executeDocumentHighlights",async(n,e,t)=>{const i=n.get(ILanguageFeaturesService$1),r=await getOccurrencesAtPosition$1(i.documentHighlightProvider,e,t,CancellationToken$1.None);return r==null?void 0:r.get(e.uri)});var rs;let WordHighlighter$1=(rs=class{constructor(e,t,i,r,g){this.toUnhook=new DisposableStore$1,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new ResourceMap$1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.runDelayer=this.toUnhook.add(new Delayer$1(50)),this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=g,this._hasWordHighlights=ctxHasWordHighlights$1.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(y=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this.runDelayer.trigger(()=>{this._onPositionChanged(y)})})),this.toUnhook.add(e.onDidFocusEditorText(y=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this.runDelayer.trigger(()=>{this._run()}))})),this.toUnhook.add(e.onDidChangeModelContent(y=>{matchesScheme$1(this.model.uri,"output")||this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(y=>{!y.newModelUrl&&y.oldModelUrl?this._stopSingular():WordHighlighter_1$1.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(y=>{var L,V;const k=this.editor.getOption(81);if(this.occurrencesHighlight!==k)switch(this.occurrencesHighlight=k,k){case"off":this._stopAll();break;case"singleFile":this._stopAll((V=(L=WordHighlighter_1$1.query)==null?void 0:L.modelInfo)==null?void 0:V.model);break;case"multiFile":WordHighlighter_1$1.query&&this._run(!0);break;default:console.warn("Unknown occurrencesHighlight setting value:",k);break}})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,WordHighlighter_1$1.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&(this.runDelayer.cancel(),this._run())}_getSortedHighlights(){return this.decorations.getRanges().sort(Range$5.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(g=>g.containsPosition(this.editor.getPosition()))+1)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const g=this._getWord();if(g){const y=this.editor.getModel().getLineContent(r.startLineNumber);alert$1("".concat(y,", ").concat(i+1," of ").concat(e.length," for '").concat(g.word,"'"))}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(g=>g.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const g=this._getWord();if(g){const y=this.editor.getModel().getLineContent(r.startLineNumber);alert$1("".concat(y,", ").concat(i+1," of ").concat(e.length," for '").concat(g.word,"'"))}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=WordHighlighter_1$1.storedDecorationIDs.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),WordHighlighter_1$1.storedDecorationIDs.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(e){const t=this.codeEditorService.listCodeEditors(),i=[];for(const r of t){if(!r.hasModel()||isEqual$2(r.getModel().uri,e==null?void 0:e.uri))continue;const g=WordHighlighter_1$1.storedDecorationIDs.get(r.getModel().uri);if(!g)continue;r.removeDecorations(g),i.push(r.getModel().uri);const y=WordHighlighterContribution$1.get(r);y!=null&&y.wordHighlighter&&y.wordHighlighter.decorations.length>0&&(y.wordHighlighter.decorations.clear(),y.wordHighlighter.workerRequest=null,y.wordHighlighter._hasWordHighlights.set(!1))}for(const r of i)WordHighlighter_1$1.storedDecorationIDs.delete(r)}_stopSingular(){var e,t,i,r;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())==null?void 0:e.uri.scheme)!==Schemas$1.vscodeNotebookCell&&((i=(t=WordHighlighter_1$1.query)==null?void 0:t.modelInfo)==null?void 0:i.model.uri.scheme)!==Schemas$1.vscodeNotebookCell?(WordHighlighter_1$1.query=null,this._run()):(r=WordHighlighter_1$1.query)!=null&&r.modelInfo&&(WordHighlighter_1$1.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(e){this._removeAllDecorations(e),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())==null?void 0:t.uri.scheme)!==Schemas$1.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Schemas$1.vscodeNotebookCell){const g=[],y=this.codeEditorService.listCodeEditors();for(const k of y){const L=k.getModel();L&&L!==e&&L.uri.scheme===Schemas$1.vscodeNotebookCell&&g.push(L)}return g}const i=[],r=this.codeEditorService.listCodeEditors();for(const g of r){if(!isDiffEditor$1(g))continue;const y=g.getModel();y&&e===y.modified&&i.push(y.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const g of r){const y=g.getModel();y&&y!==e&&i.push(y)}return i}_run(e){var r,g;let t;if(this.editor.hasTextFocus()){const y=this.editor.getSelection();if(!y||y.startLineNumber!==y.endLineNumber){WordHighlighter_1$1.query=null,this._stopAll();return}const k=y.startColumn,L=y.endColumn,V=this._getWord();if(!V||V.startColumn>k||V.endColumn{y===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=L||[],this._beginRenderDecorations())},onUnexpectedError$1)}}computeWithModel(e,t,i,r){return r.length?computeOccurencesMultiModel$1(this.multiDocumentProviders,e,t,i,this.editor.getOption(132),r):computeOccurencesAtPosition$1(this.providers,e,t,i,this.editor.getOption(132))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var t,i,r;this.renderDecorationsTimer=-1;const e=this.codeEditorService.listCodeEditors();for(const g of e){const y=WordHighlighterContribution$1.get(g);if(!y)continue;const k=[],L=(t=g.getModel())==null?void 0:t.uri;if(L&&this.workerRequestValue.has(L)){const V=WordHighlighter_1$1.storedDecorationIDs.get(L),z=this.workerRequestValue.get(L);if(z)for(const ie of z)ie.range&&k.push({range:ie.range,options:getHighlightDecorationOptions$1(ie.kind)});let j=[];g.changeDecorations(ie=>{j=ie.deltaDecorations(V!=null?V:[],k)}),WordHighlighter_1$1.storedDecorationIDs=WordHighlighter_1$1.storedDecorationIDs.set(L,j),k.length>0&&((i=y.wordHighlighter)==null||i.decorations.set(k),(r=y.wordHighlighter)==null||r._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}},WordHighlighter_1$1=rs,rs.storedDecorationIDs=new ResourceMap$1,rs.query=null,rs);WordHighlighter$1=WordHighlighter_1$1=__decorate$2F([__param$2v(4,ICodeEditorService$1)],WordHighlighter$1);var Rl;let WordHighlighterContribution$1=(Rl=class extends Disposable$1{static get(e){return e.getContribution(WordHighlighterContribution_1$1.ID)}constructor(e,t,i,r){super(),this._wordHighlighter=null;const g=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new WordHighlighter$1(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,r))};this._register(e.onDidChangeModel(y=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),g()})),g()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)==null||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)==null||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}},WordHighlighterContribution_1$1=Rl,Rl.ID="editor.contrib.wordHighlighter",Rl);WordHighlighterContribution$1=WordHighlighterContribution_1$1=__decorate$2F([__param$2v(1,IContextKeyService$1),__param$2v(2,ILanguageFeaturesService$1),__param$2v(3,ICodeEditorService$1)],WordHighlighterContribution$1);let WordHighlightNavigationAction$1=class extends EditorAction$1{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=WordHighlighterContribution$1.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}},NextWordHighlightAction$1=class extends WordHighlightNavigationAction$1{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:localize$1("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:ctxHasWordHighlights$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:65,weight:100}})}},PrevWordHighlightAction$1=class extends WordHighlightNavigationAction$1{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:localize$1("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:ctxHasWordHighlights$1,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:1089,weight:100}})}},TriggerWordHighlightAction$1=class extends EditorAction$1{constructor(){super({id:"editor.action.wordHighlight.trigger",label:localize$1("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const r=WordHighlighterContribution$1.get(t);r&&r.restoreViewState(!0)}};registerEditorContribution$1(WordHighlighterContribution$1.ID,WordHighlighterContribution$1,0);registerEditorAction$1(NextWordHighlightAction$1);registerEditorAction$1(PrevWordHighlightAction$1);registerEditorAction$1(TriggerWordHighlightAction$1);registerEditorFeature$1(TextualMultiDocumentHighlightFeature);let MoveWordCommand$1=class extends EditorCommand$1{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const r=getMapForWordSeparators$1(t.getOption(132),t.getOption(131)),g=t.getModel(),y=t.getSelections(),k=y.length>1,L=y.map(V=>{const z=new Position$3(V.positionLineNumber,V.positionColumn),j=this._move(r,g,z,this._wordNavigationType,k);return this._moveTo(V,j,this._inSelectionMode)});if(g.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,L.map(V=>CursorState$3.fromModelSelection(V))),L.length===1){const V=new Position$3(L[0].positionLineNumber,L[0].positionColumn);t.revealPosition(V,0)}}_moveTo(e,t,i){return i?new Selection$3(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Selection$3(t.lineNumber,t.column,t.lineNumber,t.column)}},WordLeftCommand$1=class extends MoveWordCommand$1{_move(e,t,i,r,g){return WordOperations$1.moveWordLeft(e,t,i,r,g)}},WordRightCommand$1=class extends MoveWordCommand$1{_move(e,t,i,r,g){return WordOperations$1.moveWordRight(e,t,i,r)}},CursorWordStartLeft$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}},CursorWordEndLeft$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}},CursorWordLeft$1=class extends WordLeftCommand$1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,(e=ContextKeyExpr$1.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED$1,IsWindowsContext$1))==null?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}},CursorWordStartLeftSelect$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}},CursorWordEndLeftSelect$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}},CursorWordLeftSelect$1=class extends WordLeftCommand$1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,(e=ContextKeyExpr$1.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED$1,IsWindowsContext$1))==null?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}},CursorWordAccessibilityLeft$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators$1(EditorOptions$1.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}},CursorWordAccessibilityLeftSelect$1=class extends WordLeftCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators$1(EditorOptions$1.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}},CursorWordStartRight$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}},CursorWordEndRight$1=class extends WordRightCommand$1{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,(e=ContextKeyExpr$1.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED$1,IsWindowsContext$1))==null?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}},CursorWordRight$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}},CursorWordStartRightSelect$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}},CursorWordEndRightSelect$1=class extends WordRightCommand$1{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr$1.and(EditorContextKeys$1.textInputFocus,(e=ContextKeyExpr$1.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED$1,IsWindowsContext$1))==null?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}},CursorWordRightSelect$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}},CursorWordAccessibilityRight$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators$1(EditorOptions$1.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}},CursorWordAccessibilityRightSelect$1=class extends WordRightCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,r,g){return super._move(getMapForWordSeparators$1(EditorOptions$1.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r,g)}},DeleteWordCommand$1=class extends EditorCommand$1{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const r=e.get(ILanguageConfigurationService$1);if(!t.hasModel())return;const g=getMapForWordSeparators$1(t.getOption(132),t.getOption(131)),y=t.getModel(),k=t.getSelections(),L=t.getOption(6),V=t.getOption(11),z=r.getLanguageConfiguration(y.getLanguageId()).getAutoClosingPairs(),j=t._getViewModel(),ie=k.map(oe=>{const re=this._delete({wordSeparators:g,model:y,selection:oe,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:L,autoClosingQuotes:V,autoClosingPairs:z,autoClosedCharacters:j.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ReplaceCommand$1(re,"")});t.pushUndoStop(),t.executeCommands(this.id,ie),t.pushUndoStop()}},DeleteWordLeftCommand$1=class extends DeleteWordCommand$1{_delete(e,t){const i=WordOperations$1.deleteWordLeft(e,t);return i||new Range$5(1,1,1,1)}},DeleteWordRightCommand$1=class extends DeleteWordCommand$1{_delete(e,t){const i=WordOperations$1.deleteWordRight(e,t);if(i)return i;const r=e.model.getLineCount(),g=e.model.getLineMaxColumn(r);return new Range$5(r,g,r,g)}},DeleteWordStartLeft$1=class extends DeleteWordLeftCommand$1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:EditorContextKeys$1.writable})}},DeleteWordEndLeft$1=class extends DeleteWordLeftCommand$1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:EditorContextKeys$1.writable})}},DeleteWordLeft$1=class extends DeleteWordLeftCommand$1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}},DeleteWordStartRight$1=class extends DeleteWordRightCommand$1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:EditorContextKeys$1.writable})}},DeleteWordEndRight$1=class extends DeleteWordRightCommand$1{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:EditorContextKeys$1.writable})}},DeleteWordRight$1=class extends DeleteWordRightCommand$1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}},DeleteInsideWord$1=class extends EditorAction$1{constructor(){super({id:"deleteInsideWord",precondition:EditorContextKeys$1.writable,label:localize$1("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const r=getMapForWordSeparators$1(t.getOption(132),t.getOption(131)),g=t.getModel(),k=t.getSelections().map(L=>{const V=WordOperations$1.deleteInsideWord(r,g,L);return new ReplaceCommand$1(V,"")});t.pushUndoStop(),t.executeCommands(this.id,k),t.pushUndoStop()}};registerEditorCommand$1(new CursorWordStartLeft$1);registerEditorCommand$1(new CursorWordEndLeft$1);registerEditorCommand$1(new CursorWordLeft$1);registerEditorCommand$1(new CursorWordStartLeftSelect$1);registerEditorCommand$1(new CursorWordEndLeftSelect$1);registerEditorCommand$1(new CursorWordLeftSelect$1);registerEditorCommand$1(new CursorWordStartRight$1);registerEditorCommand$1(new CursorWordEndRight$1);registerEditorCommand$1(new CursorWordRight$1);registerEditorCommand$1(new CursorWordStartRightSelect$1);registerEditorCommand$1(new CursorWordEndRightSelect$1);registerEditorCommand$1(new CursorWordRightSelect$1);registerEditorCommand$1(new CursorWordAccessibilityLeft$1);registerEditorCommand$1(new CursorWordAccessibilityLeftSelect$1);registerEditorCommand$1(new CursorWordAccessibilityRight$1);registerEditorCommand$1(new CursorWordAccessibilityRightSelect$1);registerEditorCommand$1(new DeleteWordStartLeft$1);registerEditorCommand$1(new DeleteWordEndLeft$1);registerEditorCommand$1(new DeleteWordLeft$1);registerEditorCommand$1(new DeleteWordStartRight$1);registerEditorCommand$1(new DeleteWordEndRight$1);registerEditorCommand$1(new DeleteWordRight$1);registerEditorAction$1(DeleteInsideWord$1);let DeleteWordPartLeft$1=class extends DeleteWordCommand$1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=WordPartOperations$1.deleteWordPartLeft(e);return i||new Range$5(1,1,1,1)}},DeleteWordPartRight$1=class extends DeleteWordCommand$1{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:EditorContextKeys$1.writable,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=WordPartOperations$1.deleteWordPartRight(e);if(i)return i;const r=e.model.getLineCount(),g=e.model.getLineMaxColumn(r);return new Range$5(r,g,r,g)}},WordPartLeftCommand$1=class extends MoveWordCommand$1{_move(e,t,i,r,g){return WordPartOperations$1.moveWordPartLeft(e,t,i,g)}},CursorWordPartLeft$1=class extends WordPartLeftCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:783},weight:100}})}};CommandsRegistry$1.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");let CursorWordPartLeftSelect$1=class extends WordPartLeftCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}};CommandsRegistry$1.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");let WordPartRightCommand$1=class extends MoveWordCommand$1{_move(e,t,i,r,g){return WordPartOperations$1.moveWordPartRight(e,t,i)}},CursorWordPartRight$1=class extends WordPartRightCommand$1{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:785},weight:100}})}},CursorWordPartRightSelect$1=class extends WordPartRightCommand$1{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}};registerEditorCommand$1(new DeleteWordPartLeft$1);registerEditorCommand$1(new DeleteWordPartRight$1);registerEditorCommand$1(new CursorWordPartLeft$1);registerEditorCommand$1(new CursorWordPartLeftSelect$1);registerEditorCommand$1(new CursorWordPartRight$1);registerEditorCommand$1(new CursorWordPartRightSelect$1);var hc;let ReadOnlyMessageController$1=(hc=class extends Disposable$1{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=MessageController$1.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(93);t||(this.editor.isSimpleWidget?t=new MarkdownString$1(localize$1("editor.simple.readonly","Cannot edit in read-only input")):t=new MarkdownString$1(localize$1("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}},hc.ID="editor.contrib.readOnlyMessageController",hc);registerEditorContribution$1(ReadOnlyMessageController$1.ID,ReadOnlyMessageController$1,2);var __decorate$2E=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2u=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorBreadcrumbsSource$1=class extends Disposable$1{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=observableValue$1(this,void 0);const r=observableSignalFromEvent$1("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),g=observableSignalFromEvent$1("_textModel.onDidChangeContent",Event$2.debounce(y=>this._textModel.onDidChangeContent(y),()=>{},100));this._register(autorunWithStore$1(async(y,k)=>{r.read(y),g.read(y);const L=k.add(new DisposableCancellationTokenSource$1),V=await this._outlineModelService.getOrCreate(this._textModel,L.token);k.isDisposed||this._currentModel.set(V,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const r=i.asListOfDocumentSymbols().filter(g=>e.contains(g.range.startLineNumber)&&!e.contains(g.range.endLineNumber));return r.sort(reverseOrder$1(compareBy$1(g=>g.range.endLineNumber-g.range.startLineNumber,numberComparator$1))),r.map(g=>({name:g.name,kind:g.kind,startLineNumber:g.range.startLineNumber}))}};DiffEditorBreadcrumbsSource$1=__decorate$2E([__param$2u(1,ILanguageFeaturesService$1),__param$2u(2,IOutlineModelService$1)],DiffEditorBreadcrumbsSource$1);HideUnchangedRegionsFeature$1.setBreadcrumbsSourceFactory((n,e)=>e.createInstance(DiffEditorBreadcrumbsSource$1,n));var gc;let IPadShowKeyboard$1=(gc=class extends Disposable$1{constructor(e){super(),this.editor=e,this.widget=null,isIOS$3&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(92);!this.widget&&e?this.widget=new ShowKeyboardWidget$1(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}},gc.ID="editor.contrib.iPadShowKeyboard",gc);var Ml;let ShowKeyboardWidget$1=(Ml=class extends Disposable$1{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(addDisposableListener$1(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(addDisposableListener$1(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return Ml.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}},Ml.ID="editor.contrib.ShowKeyboardWidget",Ml);registerEditorContribution$1(IPadShowKeyboard$1.ID,IPadShowKeyboard$1,3);var __decorate$2D=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2t=function(n,e){return function(t,i){e(t,i,n)}},InspectTokensController_1$1,Al;let InspectTokensController$1=(Al=class extends Disposable$1{static get(e){return e.getContribution(InspectTokensController_1$1.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(r=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(r=>this.stop())),this._register(TokenizationRegistry$2.onDidChange(r=>this.stop())),this._register(this._editor.onKeyUp(r=>r.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new InspectTokensWidget$1(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}},InspectTokensController_1$1=Al,Al.ID="editor.contrib.inspectTokens",Al);InspectTokensController$1=InspectTokensController_1$1=__decorate$2D([__param$2t(1,IStandaloneThemeService$1),__param$2t(2,ILanguageService$1)],InspectTokensController$1);let InspectTokens$1=class extends EditorAction$1{constructor(){super({id:"editor.action.inspectTokens",label:InspectTokensNLS$1.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=InspectTokensController$1.get(t);i==null||i.launch()}};function renderTokenText$1(n){let e="";for(let t=0,i=n.length;tNullState$1,tokenize:(r,g,y)=>nullTokenize$1(e,y),tokenizeEncoded:(r,g,y)=>nullTokenizeEncoded$1(i,y)}}var Pl;let InspectTokensWidget$1=(Pl=class extends Disposable$1{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=getSafeTokenizationSupport$2(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return Pl._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let L=t.tokens1.length-1;L>=0;L--){const V=t.tokens1[L];if(e.column-1>=V.offset){i=L;break}}let r=0;for(let L=t.tokens2.length>>>1;L>=0;L--)if(e.column-1>=t.tokens2[L<<1]){r=L;break}const g=this._model.getLineContent(e.lineNumber);let y="";if(i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2s=function(n,e){return function(t,i){e(t,i,n)}},HelpQuickAccessProvider_1$1,Ol;let HelpQuickAccessProvider$1=(Ol=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Registry$1.as(Extensions$c.Quickaccess)}provide(e){const t=new DisposableStore$1;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const r=this.registry.getQuickAccessProvider(i.substr(HelpQuickAccessProvider_1$1.PREFIX.length));r&&r.prefix&&r.prefix!==HelpQuickAccessProvider_1$1.PREFIX&&this.quickInputService.quickAccess.show(r.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==HelpQuickAccessProvider_1$1.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,r=i||"…";return{prefix:i,label:r,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:localize$1("helpPickAriaLabel","{0}, {1}",r,t.description),description:t.description}})}},HelpQuickAccessProvider_1$1=Ol,Ol.PREFIX="?",Ol);HelpQuickAccessProvider$1=HelpQuickAccessProvider_1$1=__decorate$2C([__param$2s(0,IQuickInputService$1),__param$2s(1,IKeybindingService$1)],HelpQuickAccessProvider$1);Registry$1.as(Extensions$c.Quickaccess).registerQuickAccessProvider({ctor:HelpQuickAccessProvider$1,prefix:"",helpEntries:[{description:QuickHelpNLS$1.helpQuickAccessActionLabel}]});let AbstractEditorNavigationQuickAccessProvider$1=class{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t,i){var y;const r=new DisposableStore$1;e.canAcceptInBackground=!!((y=this.options)!=null&&y.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const g=r.add(new MutableDisposable$1);return g.value=this.doProvide(e,t,i),r.add(this.onDidActiveTextEditorControlChange(()=>{g.value=void 0,g.value=this.doProvide(e,t)})),r}doProvide(e,t,i){var y;const r=new DisposableStore$1,g=this.activeTextEditorControl;if(g&&this.canProvideWithTextEditor(g)){const k={editor:g},L=getCodeEditor$1(g);if(L){let V=(y=g.saveViewState())!=null?y:void 0;r.add(L.onDidChangeCursorPosition(()=>{var z;V=(z=g.saveViewState())!=null?z:void 0})),k.restoreViewState=()=>{V&&g===this.activeTextEditorControl&&g.restoreViewState(V)},r.add(createSingleCallFunction$1(t.onCancellationRequested)(()=>{var z;return(z=k.restoreViewState)==null?void 0:z.call(k)}))}r.add(toDisposable$1(()=>this.clearDecorations(g))),r.add(this.provideWithTextEditor(k,e,t,i))}else r.add(this.provideWithoutTextEditor(e,t));return r}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&status$1("".concat(i.getLineContent(t.range.startLineNumber)))}getModel(e){var t;return isDiffEditor$1(e)?(t=e.getModel())==null?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const r=[];this.rangeHighlightDecorationId&&(r.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),r.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const g=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId$1(overviewRulerRangeHighlight$1),position:OverviewRulerLane$2.Full}}}],[y,k]=i.deltaDecorations(r,g);this.rangeHighlightDecorationId={rangeHighlightId:y,overviewRulerDecorationId:k}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}};var Fl;let AbstractGotoLineQuickAccessProvider$1=(Fl=class extends AbstractEditorNavigationQuickAccessProvider$1{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=localize$1("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Disposable$1.None}provideWithTextEditor(e,t,i){const r=e.editor,g=new DisposableStore$1;g.add(t.onDidAccept(L=>{const[V]=t.selectedItems;if(V){if(!this.isValidLineNumber(r,V.lineNumber))return;this.gotoLocation(e,{range:this.toRange(V.lineNumber,V.column),keyMods:t.keyMods,preserveFocus:L.inBackground}),L.inBackground||t.hide()}}));const y=()=>{const L=this.parsePosition(r,t.value.trim().substr(Fl.PREFIX.length)),V=this.getPickLabel(r,L.lineNumber,L.column);if(t.items=[{lineNumber:L.lineNumber,column:L.column,label:V}],t.ariaLabel=V,!this.isValidLineNumber(r,L.lineNumber)){this.clearDecorations(r);return}const z=this.toRange(L.lineNumber,L.column);r.revealRangeInCenter(z,0),this.addDecorations(r,z)};y(),g.add(t.onDidChangeValue(()=>y()));const k=getCodeEditor$1(r);return k&&k.getOptions().get(68).renderType===2&&(k.updateOptions({lineNumbers:"on"}),g.add(toDisposable$1(()=>k.updateOptions({lineNumbers:"relative"})))),g}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(g=>parseInt(g,10)).filter(g=>!isNaN(g)),r=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:r+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?localize$1("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):localize$1("gotoLineLabel","Go to line {0}.",t);const r=e.getPosition()||{lineNumber:1,column:1},g=this.lineCount(e);return g>1?localize$1("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",r.lineNumber,r.column,g):localize$1("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",r.lineNumber,r.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const r=this.getModel(e);if(!r)return!1;const g={lineNumber:t,column:i};return r.validatePosition(g).equals(g)}lineCount(e){var t,i;return(i=(t=this.getModel(e))==null?void 0:t.getLineCount())!=null?i:0}},Fl.PREFIX=":",Fl);var __decorate$2B=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2r=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneGotoLineQuickAccessProvider$1=class extends AbstractGotoLineQuickAccessProvider$1{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$2.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};StandaloneGotoLineQuickAccessProvider$1=__decorate$2B([__param$2r(0,ICodeEditorService$1)],StandaloneGotoLineQuickAccessProvider$1);var Bl;let GotoLineAction$3=(Bl=class extends EditorAction$1{constructor(){super({id:Bl.ID,label:GoToLineNLS$1.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(IQuickInputService$1).quickAccess.show(StandaloneGotoLineQuickAccessProvider$1.PREFIX)}},Bl.ID="editor.action.gotoLine",Bl);registerEditorAction$1(GotoLineAction$3);Registry$1.as(Extensions$c.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoLineQuickAccessProvider$1,prefix:StandaloneGotoLineQuickAccessProvider$1.PREFIX,helpEntries:[{description:GoToLineNLS$1.gotoLineActionLabel,commandId:GotoLineAction$3.ID}]});const NO_SCORE2$1=[void 0,[]];function scoreFuzzy2$1(n,e,t=0,i=0){const r=e;return r.values&&r.values.length>1?doScoreFuzzy2Multiple$1(n,r.values,t,i):doScoreFuzzy2Single$1(n,e,t,i)}function doScoreFuzzy2Multiple$1(n,e,t,i){let r=0;const g=[];for(const y of e){const[k,L]=doScoreFuzzy2Single$1(n,y,t,i);if(typeof k!="number")return NO_SCORE2$1;r+=k,g.push(...L)}return[r,normalizeMatches$1(g)]}function doScoreFuzzy2Single$1(n,e,t,i){const r=fuzzyScore$1(e.original,e.originalLowercase,t,n,n.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return r?[r[0],createMatches$1(r)]:NO_SCORE2$1}function normalizeMatches$1(n){const e=n.sort((r,g)=>r.start-g.start),t=[];let i;for(const r of e)!i||!matchOverlaps$1(i,r)?(i=r,t.push(r)):(i.start=Math.min(i.start,r.start),i.end=Math.max(i.end,r.end));return t}function matchOverlaps$1(n,e){return!(n.end=0,y=queryExpectsExactMatch$1(n);let k;const L=n.split(MULTIPLE_QUERY_VALUES_SEPARATOR$1);if(L.length>1)for(const V of L){const z=queryExpectsExactMatch$1(V),{pathNormalized:j,normalized:ie,normalizedLowercase:oe}=normalizeQuery$2(V);ie&&(k||(k=[]),k.push({original:V,originalLowercase:V.toLowerCase(),pathNormalized:j,normalized:ie,normalizedLowercase:oe,expectContiguousMatch:z}))}return{original:n,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:r,values:k,containsPathSeparator:g,expectContiguousMatch:y}}function normalizeQuery$2(n){let e;isWindows$1?e=n.replace(/\//g,sep$1):e=n.replace(/\\/g,sep$1);const t=stripWildcards$1(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function pieceToQuery$1(n){return Array.isArray(n)?prepareQuery$1(n.map(e=>e.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR$1)):prepareQuery$1(n.original)}var __decorate$2A=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2q=function(n,e){return function(t,i){e(t,i,n)}},AbstractGotoSymbolQuickAccessProvider_1$1,No;let AbstractGotoSymbolQuickAccessProvider$1=(No=class extends AbstractEditorNavigationQuickAccessProvider$1{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,localize$1("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Disposable$1.None}provideWithTextEditor(e,t,i,r){const g=e.editor,y=this.getModel(g);return y?this._languageFeaturesService.documentSymbolProvider.has(y)?this.doProvideWithEditorSymbols(e,y,t,i,r):this.doProvideWithoutEditorSymbols(e,y,t,i):Disposable$1.None}doProvideWithoutEditorSymbols(e,t,i,r){const g=new DisposableStore$1;return this.provideLabelPick(i,localize$1("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,g)||r.isCancellationRequested||g.add(this.doProvideWithEditorSymbols(e,t,i,r)))(),g}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new DeferredPromise$1,r=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(r.dispose(),i.complete(!0))}));return t.add(toDisposable$1(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,r,g){var j;const y=e.editor,k=new DisposableStore$1;k.add(i.onDidAccept(ie=>{var re;const[oe]=i.selectedItems;oe&&oe.range&&(this.gotoLocation(e,{range:oe.range.selection,keyMods:i.keyMods,preserveFocus:ie.inBackground}),(re=g==null?void 0:g.handleAccept)==null||re.call(g,oe),ie.inBackground||i.hide())})),k.add(i.onDidTriggerItemButton(({item:ie})=>{ie&&ie.range&&(this.gotoLocation(e,{range:ie.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const L=this.getDocumentSymbols(t,r);let V;const z=async ie=>{V==null||V.dispose(!0),i.busy=!1,V=new CancellationTokenSource$3(r),i.busy=!0;try{const oe=prepareQuery$1(i.value.substr(AbstractGotoSymbolQuickAccessProvider_1$1.PREFIX.length).trim()),re=await this.doGetSymbolPicks(L,oe,void 0,V.token,t);if(r.isCancellationRequested)return;if(re.length>0){if(i.items=re,ie&&oe.original.length===0){const ae=findLast$2(re,le=>!!(le.type!=="separator"&&le.range&&Range$5.containsPosition(le.range.decoration,ie)));ae&&(i.activeItems=[ae])}}else oe.original.length>0?this.provideLabelPick(i,localize$1("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,localize$1("noSymbolResults","No editor symbols"))}finally{r.isCancellationRequested||(i.busy=!1)}};return k.add(i.onDidChangeValue(()=>z(void 0))),z((j=y.getSelection())==null?void 0:j.getPosition()),k.add(i.onDidChangeActive(()=>{const[ie]=i.activeItems;ie&&ie.range&&(y.revealRangeInCenter(ie.range.selection,0),this.addDecorations(y,ie.range.decoration))})),k}async doGetSymbolPicks(e,t,i,r,g){var le,de;const y=await e;if(r.isCancellationRequested)return[];const k=t.original.indexOf(AbstractGotoSymbolQuickAccessProvider_1$1.SCOPE_PREFIX)===0,L=k?1:0;let V,z;t.values&&t.values.length>1?(V=pieceToQuery$1(t.values[0]),z=pieceToQuery$1(t.values.slice(1))):V=t;let j;const ie=(de=(le=this.options)==null?void 0:le.openSideBySideDirection)==null?void 0:de.call(le);ie&&(j=[{iconClass:ie==="right"?ThemeIcon$1.asClassName(Codicon$1.splitHorizontal):ThemeIcon$1.asClassName(Codicon$1.splitVertical),tooltip:ie==="right"?localize$1("openToSide","Open to the Side"):localize$1("openToBottom","Open to the Bottom")}]);const oe=[];for(let ue=0;ueL){let ze=!1;if(V!==t&&([Ie,Ne]=scoreFuzzy2$1(Ce,{...t,values:void 0},L,$e),typeof Ie=="number"&&(ze=!0)),typeof Ie!="number"&&([Ie,Ne]=scoreFuzzy2$1(Ce,V,L,$e),typeof Ie!="number"))continue;if(!ze&&z){if(xe&&z.original.length>0&&([Fe,Ve]=scoreFuzzy2$1(xe,z)),typeof Fe!="number")continue;typeof Ie=="number"&&(Ie+=Fe)}}const Oe=he.tags&&he.tags.indexOf(1)>=0;oe.push({index:ue,kind:he.kind,score:Ie,label:Ce,ariaLabel:getAriaLabelForSymbol$1(he.name,he.kind),description:xe,highlights:Oe?void 0:{label:Ne,description:Ve},range:{selection:Range$5.collapseToStart(he.selectionRange),decoration:he.range},uri:g.uri,symbolName:pe,strikethrough:Oe,buttons:j})}const re=oe.sort((ue,he)=>k?this.compareByKindAndScore(ue,he):this.compareByScore(ue,he));let ae=[];if(k){let Ce=function(){he&&typeof ue=="number"&&pe>0&&(he.label=format$2(NLS_SYMBOL_KIND_CACHE$1[ue]||FALLBACK_NLS_SYMBOL_KIND$1,pe))},ue,he,pe=0;for(const $e of re)ue!==$e.kind?(Ce(),ue=$e.kind,pe=1,he={type:"separator"},ae.push(he)):pe++,ae.push($e);Ce()}else re.length>0&&(ae=[{label:localize$1("symbols","symbols ({0})",oe.length),type:"separator"},...re]);return ae}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=NLS_SYMBOL_KIND_CACHE$1[e.kind]||FALLBACK_NLS_SYMBOL_KIND$1,r=NLS_SYMBOL_KIND_CACHE$1[t.kind]||FALLBACK_NLS_SYMBOL_KIND$1,g=i.localeCompare(r);return g===0?this.compareByScore(e,t):g}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}},AbstractGotoSymbolQuickAccessProvider_1$1=No,No.PREFIX="@",No.SCOPE_PREFIX=":",No.PREFIX_BY_CATEGORY="".concat(No.PREFIX).concat(No.SCOPE_PREFIX),No);AbstractGotoSymbolQuickAccessProvider$1=AbstractGotoSymbolQuickAccessProvider_1$1=__decorate$2A([__param$2q(0,ILanguageFeaturesService$1),__param$2q(1,IOutlineModelService$1)],AbstractGotoSymbolQuickAccessProvider$1);const FALLBACK_NLS_SYMBOL_KIND$1=localize$1("property","properties ({0})"),NLS_SYMBOL_KIND_CACHE$1={5:localize$1("method","methods ({0})"),11:localize$1("function","functions ({0})"),8:localize$1("_constructor","constructors ({0})"),12:localize$1("variable","variables ({0})"),4:localize$1("class","classes ({0})"),22:localize$1("struct","structs ({0})"),23:localize$1("event","events ({0})"),24:localize$1("operator","operators ({0})"),10:localize$1("interface","interfaces ({0})"),2:localize$1("namespace","namespaces ({0})"),3:localize$1("package","packages ({0})"),25:localize$1("typeParameter","type parameters ({0})"),1:localize$1("modules","modules ({0})"),6:localize$1("property","properties ({0})"),9:localize$1("enum","enumerations ({0})"),21:localize$1("enumMember","enumeration members ({0})"),14:localize$1("string","strings ({0})"),0:localize$1("file","files ({0})"),17:localize$1("array","arrays ({0})"),15:localize$1("number","numbers ({0})"),16:localize$1("boolean","booleans ({0})"),18:localize$1("object","objects ({0})"),19:localize$1("key","keys ({0})"),7:localize$1("field","fields ({0})"),13:localize$1("constant","constants ({0})")};var __decorate$2z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2p=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneGotoSymbolQuickAccessProvider$1=class extends AbstractGotoSymbolQuickAccessProvider$1{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$2.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!=null?e:void 0}};StandaloneGotoSymbolQuickAccessProvider$1=__decorate$2z([__param$2p(0,ICodeEditorService$1),__param$2p(1,ILanguageFeaturesService$1),__param$2p(2,IOutlineModelService$1)],StandaloneGotoSymbolQuickAccessProvider$1);var Wl;let GotoSymbolAction$1=(Wl=class extends EditorAction$1{constructor(){super({id:Wl.ID,label:QuickOutlineNLS$1.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:EditorContextKeys$1.hasDocumentSymbolProvider,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(IQuickInputService$1).quickAccess.show(AbstractGotoSymbolQuickAccessProvider$1.PREFIX,{itemActivation:ItemActivation$1.NONE})}},Wl.ID="editor.action.quickOutline",Wl);registerEditorAction$1(GotoSymbolAction$1);Registry$1.as(Extensions$c.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoSymbolQuickAccessProvider$1,prefix:AbstractGotoSymbolQuickAccessProvider$1.PREFIX,helpEntries:[{description:QuickOutlineNLS$1.quickOutlineActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider$1.PREFIX,commandId:GotoSymbolAction$1.ID},{description:QuickOutlineNLS$1.quickOutlineByCategoryActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider$1.PREFIX_BY_CATEGORY}]});function countMapFrom$1(n){var t;const e=new Map;for(const i of n)e.set(i,((t=e.get(i))!=null?t:0)+1);return e}let TfIdfCalculator$1=class Jc{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),r=new Map,g=[];for(const[y,k]of this.documents){if(t.isCancellationRequested)return[];for(const L of k.chunks){const V=this.computeSimilarityScore(L,i,r);V>0&&g.push({key:y,score:V})}}return g}static termFrequencies(e){return countMapFrom$1(Jc.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const r=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(r.length>1)for(const g of r)g.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(g)&&(yield t(g))}}updateDocuments(e){var t;for(const{key:i}of e)this.deleteDocument(i);for(const i of e){const r=[];for(const g of i.textChunks){const y=Jc.termFrequencies(g);for(const k of y.keys())this.chunkOccurrences.set(k,((t=this.chunkOccurrences.get(k))!=null?t:0)+1);r.push({text:g,tf:y})}this.chunkCount+=r.length,this.documents.set(i.key,{chunks:r})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const r of i.tf.keys()){const g=this.chunkOccurrences.get(r);if(typeof g=="number"){const y=g-1;y<=0?this.chunkOccurrences.delete(r):this.chunkOccurrences.set(r,y)}}}}computeSimilarityScore(e,t,i){let r=0;for(const[g,y]of Object.entries(t)){const k=e.tf.get(g);if(!k)continue;let L=i.get(g);typeof L!="number"&&(L=this.computeIdf(g),i.set(g,L));const V=k*L;r+=V*y}return r}computeEmbedding(e){const t=Jc.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var i;const t=(i=this.chunkOccurrences.get(e))!=null?i:0;return t>0?Math.log((this.chunkCount+1)/t):0}computeTfidf(e){const t=Object.create(null);for(const[i,r]of e){const g=this.computeIdf(i);g>0&&(t[i]=r*g)}return t}};function normalizeTfIdfScores$1(n){var i,r;const e=n.slice(0);e.sort((g,y)=>y.score-g.score);const t=(r=(i=e[0])==null?void 0:i.score)!=null?r:0;if(t>0)for(const g of e)g.score/=t;return e}var TriggerAction$1;(function(n){n[n.NO_ACTION=0]="NO_ACTION",n[n.CLOSE_PICKER=1]="CLOSE_PICKER",n[n.REFRESH_PICKER=2]="REFRESH_PICKER",n[n.REMOVE_ITEM=3]="REMOVE_ITEM"})(TriggerAction$1||(TriggerAction$1={}));function isPicksWithActive$1(n){const e=n;return Array.isArray(e.items)}function isFastAndSlowPicks$1(n){const e=n;return!!e.picks&&e.additionalPicks instanceof Promise}let PickerQuickAccessProvider$1=class extends Disposable$1{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var V;const r=new DisposableStore$1;e.canAcceptInBackground=!!((V=this.options)!=null&&V.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let g;const y=r.add(new MutableDisposable$1),k=async()=>{var le;const z=y.value=new DisposableStore$1;g==null||g.dispose(!0),e.busy=!1,g=new CancellationTokenSource$3(t);const j=g.token;let ie=e.value.substring(this.prefix.length);(le=this.options)!=null&&le.shouldSkipTrimPickFilter||(ie=ie.trim());const oe=this._getPicks(ie,z,j,i),re=(de,ue)=>{var Ce;let he,pe;if(isPicksWithActive$1(de)?(he=de.items,pe=de.active):he=de,he.length===0){if(ue)return!1;(ie.length>0||e.hideInput)&&((Ce=this.options)!=null&&Ce.noResultsPick)&&(isFunction$6(this.options.noResultsPick)?he=[this.options.noResultsPick(ie)]:he=[this.options.noResultsPick])}return e.items=he,pe&&(e.activeItems=[pe]),!0},ae=async de=>{let ue=!1,he=!1;await Promise.all([(async()=>{typeof de.mergeDelay=="number"&&(await timeout$1(de.mergeDelay),j.isCancellationRequested)||he||(ue=re(de.picks,!0))})(),(async()=>{e.busy=!0;try{const pe=await de.additionalPicks;if(j.isCancellationRequested)return;let Ce,$e;isPicksWithActive$1(de.picks)?(Ce=de.picks.items,$e=de.picks.active):Ce=de.picks;let xe,Ie;if(isPicksWithActive$1(pe)?(xe=pe.items,Ie=pe.active):xe=pe,xe.length>0||!ue){let Ne;if(!$e&&!Ie){const Fe=e.activeItems[0];Fe&&Ce.indexOf(Fe)!==-1&&(Ne=Fe)}re({items:[...Ce,...xe],active:$e||Ie||Ne})}}finally{j.isCancellationRequested||(e.busy=!1),he=!0}})()])};if(oe!==null)if(isFastAndSlowPicks$1(oe))await ae(oe);else if(!(oe instanceof Promise))re(oe);else{e.busy=!0;try{const de=await oe;if(j.isCancellationRequested)return;isFastAndSlowPicks$1(de)?await ae(de):re(de)}finally{j.isCancellationRequested||(e.busy=!1)}}};r.add(e.onDidChangeValue(()=>k())),k(),r.add(e.onDidAccept(z=>{var ie;if(i!=null&&i.handleAccept){z.inBackground||e.hide(),(ie=i.handleAccept)==null||ie.call(i,e.activeItems[0]);return}const[j]=e.selectedItems;typeof(j==null?void 0:j.accept)=="function"&&(z.inBackground||e.hide(),j.accept(e.keyMods,z))}));const L=async(z,j)=>{var oe,re;if(typeof j.trigger!="function")return;const ie=(re=(oe=j.buttons)==null?void 0:oe.indexOf(z))!=null?re:-1;if(ie>=0){const ae=j.trigger(ie,e.keyMods),le=typeof ae=="number"?ae:await ae;if(t.isCancellationRequested)return;switch(le){case TriggerAction$1.NO_ACTION:break;case TriggerAction$1.CLOSE_PICKER:e.hide();break;case TriggerAction$1.REFRESH_PICKER:k();break;case TriggerAction$1.REMOVE_ITEM:{const de=e.items.indexOf(j);if(de!==-1){const ue=e.items.slice(),he=ue.splice(de,1),pe=e.activeItems.filter($e=>$e!==he[0]),Ce=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=ue,pe&&(e.activeItems=pe),e.keepScrollPosition=Ce}break}}}};return r.add(e.onDidTriggerItemButton(({button:z,item:j})=>L(z,j))),r.add(e.onDidTriggerSeparatorButton(({button:z,separator:j})=>L(z,j))),r}};var __decorate$2y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2o=function(n,e){return function(t,i){e(t,i,n)}},AbstractCommandsQuickAccessProvider_1$1,CommandsHistory_1$1,qo;let AbstractCommandsQuickAccessProvider$1=(qo=class extends PickerQuickAccessProvider$1{constructor(e,t,i,r,g,y){super(AbstractCommandsQuickAccessProvider_1$1.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=r,this.telemetryService=g,this.dialogService=y,this.commandsHistory=this._register(this.instantiationService.createInstance(CommandsHistory$1)),this.options=e}async _getPicks(e,t,i,r){var oe,re,ae,le;const g=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const y=createSingleCallFunction$1(()=>{const de=new TfIdfCalculator$1;de.updateDocuments(g.map(he=>({key:he.commandId,textChunks:[this.getTfIdfChunk(he)]})));const ue=de.calculateScores(e,i);return normalizeTfIdfScores$1(ue).filter(he=>he.score>AbstractCommandsQuickAccessProvider_1$1.TFIDF_THRESHOLD).slice(0,AbstractCommandsQuickAccessProvider_1$1.TFIDF_MAX_RESULTS)}),k=[];for(const de of g){const ue=(oe=AbstractCommandsQuickAccessProvider_1$1.WORD_FILTER(e,de.label))!=null?oe:void 0,he=de.commandAlias&&(re=AbstractCommandsQuickAccessProvider_1$1.WORD_FILTER(e,de.commandAlias))!=null?re:void 0;if(ue||he)de.highlights={label:ue,detail:this.options.showAlias?he:void 0},k.push(de);else if(e===de.commandId)k.push(de);else if(e.length>=3){const pe=y();if(i.isCancellationRequested)return[];const Ce=pe.find($e=>$e.key===de.commandId);Ce&&(de.tfIdfScore=Ce.score,k.push(de))}}const L=new Map;for(const de of k){const ue=L.get(de.label);ue?(de.description=de.commandId,ue.description=ue.commandId):L.set(de.label,de)}k.sort((de,ue)=>{if(de.tfIdfScore&&ue.tfIdfScore)return de.tfIdfScore===ue.tfIdfScore?de.label.localeCompare(ue.label):ue.tfIdfScore-de.tfIdfScore;if(de.tfIdfScore)return 1;if(ue.tfIdfScore)return-1;const he=this.commandsHistory.peek(de.commandId),pe=this.commandsHistory.peek(ue.commandId);if(he&&pe)return he>pe?-1:1;if(he)return-1;if(pe)return 1;if(this.options.suggestedCommandIds){const Ce=this.options.suggestedCommandIds.has(de.commandId),$e=this.options.suggestedCommandIds.has(ue.commandId);if(Ce&&$e)return 0;if(Ce)return-1;if($e)return 1}return de.label.localeCompare(ue.label)});const V=[];let z=!1,j=!0,ie=!!this.options.suggestedCommandIds;for(let de=0;de{var he;const de=await this.getAdditionalCommandPicks(g,k,e,i);if(i.isCancellationRequested)return[];const ue=de.map(pe=>this.toCommandPick(pe,r));return j&&((he=ue[0])==null?void 0:he.type)!=="separator"&&ue.unshift({type:"separator",label:localize$1("suggested","similar commands")}),ue})()}:V}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),r=i?localize$1("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:r,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var g,y;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(g=t==null?void 0:t.from)!=null?g:"quick open"});try{(y=e.args)!=null&&y.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(k){isCancellationError$1(k)||this.dialogService.error(localize$1("canNotRun","Command '{0}' resulted in an error",e.label),toErrorMessage$1(k))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let r=e;return t&&t!==e&&(r+=" - ".concat(t)),i&&i.value!==e&&(r+=" - ".concat(i.value===i.original?i.value:"".concat(i.value," (").concat(i.original,")"))),r}},AbstractCommandsQuickAccessProvider_1$1=qo,qo.PREFIX=">",qo.TFIDF_THRESHOLD=.5,qo.TFIDF_MAX_RESULTS=5,qo.WORD_FILTER=or$1(matchesPrefix$1,matchesWords$1,matchesContiguousSubString$1),qo);AbstractCommandsQuickAccessProvider$1=AbstractCommandsQuickAccessProvider_1$1=__decorate$2y([__param$2o(1,IInstantiationService$1),__param$2o(2,IKeybindingService$1),__param$2o(3,ICommandService$1),__param$2o(4,ITelemetryService$1),__param$2o(5,IDialogService$1)],AbstractCommandsQuickAccessProvider$1);var Ro;let CommandsHistory$1=(Ro=class extends Disposable$1{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===WillSaveStateReason$1.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=CommandsHistory_1$1.getConfiguredCommandHistoryLength(this.configurationService),CommandsHistory_1$1.cache&&CommandsHistory_1$1.cache.limit!==this.configuredCommandsHistoryLength&&(CommandsHistory_1$1.cache.limit=this.configuredCommandsHistoryLength,CommandsHistory_1$1.hasChanges=!0))}load(){const e=this.storageService.get(CommandsHistory_1$1.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(r){this.logService.error("[CommandsHistory] invalid data: ".concat(r))}const i=CommandsHistory_1$1.cache=new LRUCache$1(this.configuredCommandsHistoryLength,1);if(t){let r;t.usesLRU?r=t.entries:r=t.entries.sort((g,y)=>g.value-y.value),r.forEach(g=>i.set(g.key,g.value))}CommandsHistory_1$1.counter=this.storageService.getNumber(CommandsHistory_1$1.PREF_KEY_COUNTER,0,CommandsHistory_1$1.counter)}push(e){CommandsHistory_1$1.cache&&(CommandsHistory_1$1.cache.set(e,CommandsHistory_1$1.counter++),CommandsHistory_1$1.hasChanges=!0)}peek(e){var t;return(t=CommandsHistory_1$1.cache)==null?void 0:t.peek(e)}saveState(){if(!CommandsHistory_1$1.cache||!CommandsHistory_1$1.hasChanges)return;const e={usesLRU:!0,entries:[]};CommandsHistory_1$1.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(CommandsHistory_1$1.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(CommandsHistory_1$1.PREF_KEY_COUNTER,CommandsHistory_1$1.counter,0,0),CommandsHistory_1$1.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var r,g;const i=(g=(r=e.getValue().workbench)==null?void 0:r.commandPalette)==null?void 0:g.history;return typeof i=="number"?i:CommandsHistory_1$1.DEFAULT_COMMANDS_HISTORY_LENGTH}},CommandsHistory_1$1=Ro,Ro.DEFAULT_COMMANDS_HISTORY_LENGTH=50,Ro.PREF_KEY_CACHE="commandPalette.mru.cache",Ro.PREF_KEY_COUNTER="commandPalette.mru.counter",Ro.counter=1,Ro.hasChanges=!1,Ro);CommandsHistory$1=CommandsHistory_1$1=__decorate$2y([__param$2o(0,IStorageService$1),__param$2o(1,IConfigurationService$1),__param$2o(2,ILogService$1)],CommandsHistory$1);let AbstractEditorCommandsQuickAccessProvider$1=class extends AbstractCommandsQuickAccessProvider$1{constructor(e,t,i,r,g,y){super(e,t,i,r,g,y)}getCodeEditorCommandPicks(){var i;const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const r of e.getSupportedActions()){let g;(i=r.metadata)!=null&&i.description&&(isLocalizedString(r.metadata.description)?g=r.metadata.description:g={original:r.metadata.description,value:r.metadata.description}),t.push({commandId:r.id,commandAlias:r.alias,commandDescription:g,label:stripIcons$1(r.label)||r.id})}return t}};var __decorate$2x=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2n=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneCommandsQuickAccessProvider$1=class extends AbstractEditorCommandsQuickAccessProvider$1{get activeTextEditorControl(){var e;return(e=this.codeEditorService.getFocusedCodeEditor())!=null?e:void 0}constructor(e,t,i,r,g,y){super({showAlias:!1},e,i,r,g,y),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};StandaloneCommandsQuickAccessProvider$1=__decorate$2x([__param$2n(0,IInstantiationService$1),__param$2n(1,ICodeEditorService$1),__param$2n(2,IKeybindingService$1),__param$2n(3,ICommandService$1),__param$2n(4,ITelemetryService$1),__param$2n(5,IDialogService$1)],StandaloneCommandsQuickAccessProvider$1);var Vl;let GotoLineAction$2=(Vl=class extends EditorAction$1{constructor(){super({id:Vl.ID,label:QuickCommandNLS$1.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys$1.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(IQuickInputService$1).quickAccess.show(StandaloneCommandsQuickAccessProvider$1.PREFIX)}},Vl.ID="editor.action.quickCommand",Vl);registerEditorAction$1(GotoLineAction$2);Registry$1.as(Extensions$c.Quickaccess).registerQuickAccessProvider({ctor:StandaloneCommandsQuickAccessProvider$1,prefix:StandaloneCommandsQuickAccessProvider$1.PREFIX,helpEntries:[{description:QuickCommandNLS$1.quickCommandHelp,commandId:GotoLineAction$2.ID}]});var __decorate$2w=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2m=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneReferencesController$1=class extends ReferencesController$1{constructor(e,t,i,r,g,y,k){super(!0,e,t,i,r,g,y,k)}};StandaloneReferencesController$1=__decorate$2w([__param$2m(1,IContextKeyService$1),__param$2m(2,ICodeEditorService$1),__param$2m(3,INotificationService$1),__param$2m(4,IInstantiationService$1),__param$2m(5,IStorageService$1),__param$2m(6,IConfigurationService$1)],StandaloneReferencesController$1);registerEditorContribution$1(ReferencesController$1.ID,StandaloneReferencesController$1,4);let ToggleHighContrast$1=class extends EditorAction$1{constructor(){super({id:"editor.action.toggleHighContrast",label:ToggleHighContrastNLS$1.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(IStandaloneThemeService$1),r=i.getColorTheme();isHighContrast$1(r.type)?(i.setTheme(this._originalThemeName||(isDark$1(r.type)?VS_DARK_THEME_NAME$1:VS_LIGHT_THEME_NAME$1)),this._originalThemeName=null):(i.setTheme(isDark$1(r.type)?HC_BLACK_THEME_NAME$1:HC_LIGHT_THEME_NAME$1),this._originalThemeName=r.themeName)}};registerEditorAction$1(ToggleHighContrast$1);function WorkerWrapper$5(n){return new Worker("/tmagic-editor/playground/assets/editor.worker-BF8sMY45.js",{name:n==null?void 0:n.name})}function WorkerWrapper$4(n){return new Worker("/tmagic-editor/playground/assets/css.worker-CffjfGaH.js",{name:n==null?void 0:n.name})}function WorkerWrapper$3(n){return new Worker("/tmagic-editor/playground/assets/html.worker-BnkIKlUq.js",{name:n==null?void 0:n.name})}function WorkerWrapper$2(n){return new Worker("/tmagic-editor/playground/assets/json.worker-BoBKUCni.js",{name:n==null?void 0:n.name})}function WorkerWrapper$1(n){return new Worker("/tmagic-editor/playground/assets/ts.worker-58P_SjQh.js",{name:n==null?void 0:n.name})}let $MAGIC_DESIGN={};const setDesignConfig=n=>{$MAGIC_DESIGN=n},getDesignConfig=n=>$MAGIC_DESIGN[n],_sfc_main$4r=defineComponent({name:"TMBadge",__name:"Badge",props:{value:{},type:{},max:{},isDot:{type:Boolean},hidden:{type:Boolean}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.badge,i=(t==null?void 0:t.component)||"el-badge",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-badge"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$4q=defineComponent({name:"TMButton",__name:"Button",props:{type:{},size:{},link:{type:Boolean},text:{type:Boolean},circle:{type:Boolean},icon:{}},emits:["click"],setup(n,{emit:e}){var L;const t=n,i=(L=getDesignConfig("components"))==null?void 0:L.button,r=(i==null?void 0:i.component)||"el-button",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=(...V)=>{y("click",...V)};return(V,z)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-button"},g.value,{onClick:k}),createSlots({_:2},[V.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(V.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$4p=defineComponent({name:"TMCard",__name:"Card",props:{bodyStyle:{},shadow:{},header:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.card,i=(t==null?void 0:t.component)||"el-card",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-card"},r.value),createSlots({_:2},[y.$slots.header?{name:"header",fn:withCtx(()=>[renderSlot(y.$slots,"header",{class:"header"})]),key:"0"}:void 0,y.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(y.$slots,"default")]),key:"1"}:void 0]),1040))}}),_sfc_main$4o=defineComponent({name:"TMCascader",__name:"Cascader",props:{modelValue:{},placeholder:{},disabled:{type:Boolean},clearable:{type:Boolean},filterable:{type:Boolean},options:{},size:{},popperClass:{},props:{}},emits:["change","update:modelValue"],setup(n,{expose:e,emit:t}){var j;const i=n,r=(j=getDesignConfig("components"))==null?void 0:j.cascader,g=(r==null?void 0:r.component)||"el-cascader",y=computed$1(()=>(r==null?void 0:r.props(i))||i),k=ref$1(),L=t,V=ie=>{L("change",ie)},z=ie=>{L("update:modelValue",ie)};return e({setQuery(ie){k.value&&(k.value.query=ie)},setPreviousQuery(ie){k.value&&(k.value.previousQuery=ie)}}),(ie,oe)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({ref_key:"cascader",ref:k,class:"tmagic-design-cascader"},y.value,{"onUpdate:modelValue":z,onChange:V}),null,16))}}),_sfc_main$4n=defineComponent({name:"TMCheckbox",__name:"Checkbox",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{},trueValue:{default:void 0},falseValue:{default:void 0},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.checkbox,r=(i==null?void 0:i.component)||"el-checkbox",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-checkbox"},g.value,{"onUpdate:modelValue":L,onChange:k}),createSlots({_:2},[z.$slots.default?{name:"default",fn:withCtx(()=>[renderSlot(z.$slots,"default")]),key:"0"}:void 0]),1040))}}),_sfc_main$4m=defineComponent({name:"TMCheckboxGroup",__name:"CheckboxGroup",props:{modelValue:{},label:{},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.checkboxGroup,r=(i==null?void 0:i.component)||"el-checkbox-group",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-checkbox-group"},g.value,{onChange:k,"onUpdate:modelValue":L}),{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$4l=defineComponent({name:"TMCol",__name:"Col",props:{span:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.col,i=(t==null?void 0:t.component)||"el-col",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-col"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$4k=defineComponent({name:"TMCollapse",__name:"Collapse",props:{modelValue:{},accordion:{type:Boolean}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.collapse,r=(i==null?void 0:i.component)||"el-collapse",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-collapse"},g.value,{"onUpdate:modelValue":L,onChange:k}),{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$4j=defineComponent({name:"TMCollapseItem",__name:"CollapseItem",props:{name:{},title:{},disabled:{type:Boolean}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.collapseItem,r=(i==null?void 0:i.component)||"el-collapse-item",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-collapse-item"},g.value,{"onUpdate:modelValue":L,onChange:k}),{title:withCtx(()=>[renderSlot(z.$slots,"title")]),header:withCtx(()=>[renderSlot(z.$slots,"title")]),default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$4i=defineComponent({name:"TMColorPicker",__name:"ColorPicker",props:{modelValue:{},disabled:{type:Boolean,default:!1},showAlpha:{type:Boolean,default:!1},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.colorPicker,r=(i==null?void 0:i.component)||"el-color-picker",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-color-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$4h=defineComponent({name:"TMDatePicker",__name:"DatePicker",props:{type:{default:"date"},modelValue:{},disabled:{type:Boolean},placeholder:{},rangeSeparator:{},startPlaceholder:{},endPlaceholder:{},format:{},dateFormat:{},timeFormat:{},valueFormat:{},unlinkPanels:{type:Boolean},defaultTime:{},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.datePicker,r=(i==null?void 0:i.component)||"el-date-picker",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-date-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$4g=defineComponent({name:"TMDialog",__name:"Dialog",props:{modelValue:{type:Boolean},appendToBody:{type:Boolean},beforeClose:{},title:{},width:{},fullscreen:{type:Boolean},closeOnClickModal:{type:Boolean},closeOnPressEscape:{type:Boolean},destroyOnClose:{type:Boolean}},emits:["close","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=e,r=(V=getDesignConfig("components"))==null?void 0:V.dialog,g=(r==null?void 0:r.component)||"el-dialog",y=computed$1(()=>(r==null?void 0:r.props(t))||t),k=(...z)=>{i("close",...z)},L=z=>{i("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({class:"tmagic-design-dialog"},y.value,{onClose:k,"onUpdate:modelValue":L}),{footer:withCtx(()=>[renderSlot(z.$slots,"footer")]),default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$4f=defineComponent({name:"TMDivider",__name:"Divider",props:{direction:{},borderStyle:{},contentPosition:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.divider,i=(t==null?void 0:t.component)||"el-divider",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-divider"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$4e=defineComponent({name:"TMDropdown",__name:"Dropdown",props:{type:{},size:{},maxHeight:{},splitButton:{type:Boolean},disable:{type:Boolean},placement:{},trigger:{},hideOnClick:{type:Boolean},showTimeout:{},role:{},tabindex:{},popperClass:{},popperOptions:{}},emits:["command"],setup(n,{emit:e}){var L;const t=n,i=(L=getDesignConfig("components"))==null?void 0:L.dropdown,r=(i==null?void 0:i.component)||"el-dropdown",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=(...V)=>{y("command",...V)};return(V,z)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-dropdown"},g.value,{onCommand:k}),{dropdown:withCtx(()=>[renderSlot(V.$slots,"dropdown")]),default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$4d=defineComponent({name:"TMDropdownItem",__name:"DropdownItem",props:{command:{},disabled:{type:Boolean},divided:{type:Boolean},icon:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.dropdownItem,i=(t==null?void 0:t.component)||"el-dropdown-item",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-dropdown-item"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$4c=defineComponent({name:"TMDropdownMenu",__name:"DropdownMenu",setup(n){var i;const e=(i=getDesignConfig("components"))==null?void 0:i.dropdownMenu,t=(e==null?void 0:e.component)||"el-dropdown-menu";return(r,g)=>(openBlock(),createBlock(resolveDynamicComponent(unref(t)),{class:"tmagic-design-dropdown-menu"},{default:withCtx(()=>[renderSlot(r.$slots,"default")]),_:3}))}}),_sfc_main$4b=defineComponent({name:"TMForm",__name:"Form",props:{model:{},labelWidth:{},disabled:{type:Boolean},inline:{type:Boolean},labelPosition:{}},setup(n,{expose:e}){var k;const t=n,i=(k=getDesignConfig("components"))==null?void 0:k.form,r=(i==null?void 0:i.component)||"el-form",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=ref$1();return e({validate(){var L;return(L=y.value)==null?void 0:L.validate()},resetFields(){var L,V,z,j;if(typeof((L=y.value)==null?void 0:L.resetFields)=="function")return(V=y.value)==null?void 0:V.resetFields();if(typeof((z=y.value)==null?void 0:z.reset)=="function")return(j=y.value)==null?void 0:j.reset()}}),(L,V)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:["tmagic-design-form",{"tmagic-design-form-inline":L.inline}],ref_key:"form",ref:y},g.value),{default:withCtx(()=>[renderSlot(L.$slots,"default")]),_:3},16,["class"]))}}),_sfc_main$4a=defineComponent({name:"TMFormItem",__name:"FormItem",props:{prop:{},labelWidth:{},rules:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.formItem,i=(t==null?void 0:t.component)||"el-form-item",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-form-item"},r.value),{label:withCtx(()=>[renderSlot(y.$slots,"label")]),default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$49=defineComponent({name:"TMIcon",__name:"Icon",props:{size:{}},setup(n){var g;const e=(g=getDesignConfig("components"))==null?void 0:g.icon,t=(e==null?void 0:e.component)||"el-icon",i=n,r=computed$1(()=>(e==null?void 0:e.props(i))||i);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(t)),mergeProps({class:"tmagic-design-icon"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$48=defineComponent({name:"TMInput",__name:"Input",props:{modelValue:{},clearable:{type:Boolean},disabled:{type:Boolean},placeholder:{},rows:{},type:{},size:{}},emits:["change","input","update:modelValue"],setup(n,{expose:e,emit:t}){var ie;const i=n,r=(ie=getDesignConfig("components"))==null?void 0:ie.input,g=(r==null?void 0:r.component)||"el-input",y=computed$1(()=>(r==null?void 0:r.props(i))||i),k=t,L=ref$1(),V=(...oe)=>{k("change",...oe)},z=(...oe)=>{k("input",...oe)},j=(...oe)=>{k("update:modelValue",...oe)};return e({instance:L,getInput(){return L.value.input},getTextarea(){return L.value.textarea}}),(oe,re)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({ref_key:"instance",ref:L,class:"tmagic-design-input"},y.value,{onChange:V,onInput:z,"onUpdate:modelValue":j}),createSlots({_:2},[oe.$slots.prepend?{name:"prepend",fn:withCtx(()=>[renderSlot(oe.$slots,"prepend")]),key:"0"}:void 0,oe.$slots.append?{name:"append",fn:withCtx(()=>[renderSlot(oe.$slots,"append")]),key:"1"}:void 0,oe.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(oe.$slots,"prefix")]),key:"2"}:void 0,oe.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(oe.$slots,"suffix")]),key:"3"}:void 0]),1040))}}),_sfc_main$47=defineComponent({name:"TMInputNumber",__name:"InputNumber",props:{modelValue:{type:[String,Number,Boolean]},clearable:{type:Boolean},controlsPosition:{},disabled:{type:Boolean},placeholder:{},step:{},min:{},max:{},size:{}},emits:["change","input","update:modelValue"],setup(n,{emit:e}){var z;const t=n,i=(z=getDesignConfig("components"))==null?void 0:z.inputNumber,r=(i==null?void 0:i.component)||"el-input-number",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=(...j)=>{y("change",...j)},L=(...j)=>{y("input",...j)},V=(...j)=>{y("update:modelValue",...j)};return(j,ie)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-input-number"},g.value,{onChange:k,onInput:L,"onUpdate:modelValue":V}),null,16))}}),_sfc_main$46=defineComponent({name:"TMPagination",__name:"Pagination",props:{layout:{},hideOnSinglePage:{type:Boolean},curPage:{},pageSizes:{},pagesize:{},total:{}},emits:["size-change","current-change"],setup(n,{emit:e}){var V;const t=n,i=e,r=(V=getDesignConfig("components"))==null?void 0:V.pagination,g=(r==null?void 0:r.component)||"el-pagination",y=computed$1(()=>(r==null?void 0:r.props(t))||t),k=(...z)=>{i("size-change",...z)},L=(...z)=>{i("current-change",...z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({class:"tmagic-design-pagination"},y.value,{onSizeChange:k,onPageSizeChange:k,onCurrentChange:L}),null,16))}});var top="top",bottom="bottom",right="right",left="left",auto="auto",basePlacements=[top,bottom,right,left],start="start",end="end",clippingParents="clippingParents",viewport="viewport",popper="popper",reference="reference",variationPlacements=basePlacements.reduce(function(n,e){return n.concat([e+"-"+start,e+"-"+end])},[]),placements=[].concat(basePlacements,[auto]).reduce(function(n,e){return n.concat([e,e+"-"+start,e+"-"+end])},[]),beforeRead="beforeRead",read="read",afterRead="afterRead",beforeMain="beforeMain",main="main",afterMain="afterMain",beforeWrite="beforeWrite",write="write",afterWrite="afterWrite",modifierPhases=[beforeRead,read,afterRead,beforeMain,main,afterMain,beforeWrite,write,afterWrite];function getNodeName(n){return n?(n.nodeName||"").toLowerCase():null}function getWindow$2(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function isElement$2(n){var e=getWindow$2(n).Element;return n instanceof e||n instanceof Element}function isHTMLElement(n){var e=getWindow$2(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function isShadowRoot$1(n){if(typeof ShadowRoot>"u")return!1;var e=getWindow$2(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function applyStyles(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},r=e.attributes[t]||{},g=e.elements[t];!isHTMLElement(g)||!getNodeName(g)||(Object.assign(g.style,i),Object.keys(r).forEach(function(y){var k=r[y];k===!1?g.removeAttribute(y):g.setAttribute(y,k===!0?"":k)}))})}function effect$2(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var r=e.elements[i],g=e.attributes[i]||{},y=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),k=y.reduce(function(L,V){return L[V]="",L},{});!isHTMLElement(r)||!getNodeName(r)||(Object.assign(r.style,k),Object.keys(g).forEach(function(L){r.removeAttribute(L)}))})}}const applyStyles$1={name:"applyStyles",enabled:!0,phase:"write",fn:applyStyles,effect:effect$2,requires:["computeStyles"]};function getBasePlacement(n){return n.split("-")[0]}var max=Math.max,min=Math.min,round=Math.round;function getUAString(){var n=navigator.userAgentData;return n!=null&&n.brands&&Array.isArray(n.brands)?n.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function isLayoutViewport(){return!/^((?!chrome|android).)*safari/i.test(getUAString())}function getBoundingClientRect(n,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var i=n.getBoundingClientRect(),r=1,g=1;e&&isHTMLElement(n)&&(r=n.offsetWidth>0&&round(i.width)/n.offsetWidth||1,g=n.offsetHeight>0&&round(i.height)/n.offsetHeight||1);var y=isElement$2(n)?getWindow$2(n):window,k=y.visualViewport,L=!isLayoutViewport()&&t,V=(i.left+(L&&k?k.offsetLeft:0))/r,z=(i.top+(L&&k?k.offsetTop:0))/g,j=i.width/r,ie=i.height/g;return{width:j,height:ie,top:z,right:V+j,bottom:z+ie,left:V,x:V,y:z}}function getLayoutRect(n){var e=getBoundingClientRect(n),t=n.offsetWidth,i=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:i}}function contains(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&isShadowRoot$1(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function getComputedStyle$3(n){return getWindow$2(n).getComputedStyle(n)}function isTableElement(n){return["table","td","th"].indexOf(getNodeName(n))>=0}function getDocumentElement$1(n){return((isElement$2(n)?n.ownerDocument:n.document)||window.document).documentElement}function getParentNode(n){return getNodeName(n)==="html"?n:n.assignedSlot||n.parentNode||(isShadowRoot$1(n)?n.host:null)||getDocumentElement$1(n)}function getTrueOffsetParent(n){return!isHTMLElement(n)||getComputedStyle$3(n).position==="fixed"?null:n.offsetParent}function getContainingBlock(n){var e=/firefox/i.test(getUAString()),t=/Trident/i.test(getUAString());if(t&&isHTMLElement(n)){var i=getComputedStyle$3(n);if(i.position==="fixed")return null}var r=getParentNode(n);for(isShadowRoot$1(r)&&(r=r.host);isHTMLElement(r)&&["html","body"].indexOf(getNodeName(r))<0;){var g=getComputedStyle$3(r);if(g.transform!=="none"||g.perspective!=="none"||g.contain==="paint"||["transform","perspective"].indexOf(g.willChange)!==-1||e&&g.willChange==="filter"||e&&g.filter&&g.filter!=="none")return r;r=r.parentNode}return null}function getOffsetParent(n){for(var e=getWindow$2(n),t=getTrueOffsetParent(n);t&&isTableElement(t)&&getComputedStyle$3(t).position==="static";)t=getTrueOffsetParent(t);return t&&(getNodeName(t)==="html"||getNodeName(t)==="body"&&getComputedStyle$3(t).position==="static")?e:t||getContainingBlock(n)||e}function getMainAxisFromPlacement(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function within(n,e,t){return max(n,min(e,t))}function withinMaxClamp(n,e,t){var i=within(n,e,t);return i>t?t:i}function getFreshSideObject(){return{top:0,right:0,bottom:0,left:0}}function mergePaddingObject(n){return Object.assign({},getFreshSideObject(),n)}function expandToHashMap(n,e){return e.reduce(function(t,i){return t[i]=n,t},{})}var toPaddingObject=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,mergePaddingObject(typeof e!="number"?e:expandToHashMap(e,basePlacements))};function arrow(n){var e,t=n.state,i=n.name,r=n.options,g=t.elements.arrow,y=t.modifiersData.popperOffsets,k=getBasePlacement(t.placement),L=getMainAxisFromPlacement(k),V=[left,right].indexOf(k)>=0,z=V?"height":"width";if(!(!g||!y)){var j=toPaddingObject(r.padding,t),ie=getLayoutRect(g),oe=L==="y"?top:left,re=L==="y"?bottom:right,ae=t.rects.reference[z]+t.rects.reference[L]-y[L]-t.rects.popper[z],le=y[L]-t.rects.reference[L],de=getOffsetParent(g),ue=de?L==="y"?de.clientHeight||0:de.clientWidth||0:0,he=ae/2-le/2,pe=j[oe],Ce=ue-ie[z]-j[re],$e=ue/2-ie[z]/2+he,xe=within(pe,$e,Ce),Ie=L;t.modifiersData[i]=(e={},e[Ie]=xe,e.centerOffset=xe-$e,e)}}function effect$1(n){var e=n.state,t=n.options,i=t.element,r=i===void 0?"[data-popper-arrow]":i;r!=null&&(typeof r=="string"&&(r=e.elements.popper.querySelector(r),!r)||contains(e.elements.popper,r)&&(e.elements.arrow=r))}const arrow$1={name:"arrow",enabled:!0,phase:"main",fn:arrow,effect:effect$1,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function getVariation(n){return n.split("-")[1]}var unsetSides={top:"auto",right:"auto",bottom:"auto",left:"auto"};function roundOffsetsByDPR(n,e){var t=n.x,i=n.y,r=e.devicePixelRatio||1;return{x:round(t*r)/r||0,y:round(i*r)/r||0}}function mapToStyles(n){var e,t=n.popper,i=n.popperRect,r=n.placement,g=n.variation,y=n.offsets,k=n.position,L=n.gpuAcceleration,V=n.adaptive,z=n.roundOffsets,j=n.isFixed,ie=y.x,oe=ie===void 0?0:ie,re=y.y,ae=re===void 0?0:re,le=typeof z=="function"?z({x:oe,y:ae}):{x:oe,y:ae};oe=le.x,ae=le.y;var de=y.hasOwnProperty("x"),ue=y.hasOwnProperty("y"),he=left,pe=top,Ce=window;if(V){var $e=getOffsetParent(t),xe="clientHeight",Ie="clientWidth";if($e===getWindow$2(t)&&($e=getDocumentElement$1(t),getComputedStyle$3($e).position!=="static"&&k==="absolute"&&(xe="scrollHeight",Ie="scrollWidth")),$e=$e,r===top||(r===left||r===right)&&g===end){pe=bottom;var Ne=j&&$e===Ce&&Ce.visualViewport?Ce.visualViewport.height:$e[xe];ae-=Ne-i.height,ae*=L?1:-1}if(r===left||(r===top||r===bottom)&&g===end){he=right;var Fe=j&&$e===Ce&&Ce.visualViewport?Ce.visualViewport.width:$e[Ie];oe-=Fe-i.width,oe*=L?1:-1}}var Ve=Object.assign({position:k},V&&unsetSides),Oe=z===!0?roundOffsetsByDPR({x:oe,y:ae},getWindow$2(t)):{x:oe,y:ae};if(oe=Oe.x,ae=Oe.y,L){var ze;return Object.assign({},Ve,(ze={},ze[pe]=ue?"0":"",ze[he]=de?"0":"",ze.transform=(Ce.devicePixelRatio||1)<=1?"translate("+oe+"px, "+ae+"px)":"translate3d("+oe+"px, "+ae+"px, 0)",ze))}return Object.assign({},Ve,(e={},e[pe]=ue?ae+"px":"",e[he]=de?oe+"px":"",e.transform="",e))}function computeStyles(n){var e=n.state,t=n.options,i=t.gpuAcceleration,r=i===void 0?!0:i,g=t.adaptive,y=g===void 0?!0:g,k=t.roundOffsets,L=k===void 0?!0:k,V={placement:getBasePlacement(e.placement),variation:getVariation(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,mapToStyles(Object.assign({},V,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:y,roundOffsets:L})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,mapToStyles(Object.assign({},V,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:L})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const computeStyles$1={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:computeStyles,data:{}};var passive={passive:!0};function effect(n){var e=n.state,t=n.instance,i=n.options,r=i.scroll,g=r===void 0?!0:r,y=i.resize,k=y===void 0?!0:y,L=getWindow$2(e.elements.popper),V=[].concat(e.scrollParents.reference,e.scrollParents.popper);return g&&V.forEach(function(z){z.addEventListener("scroll",t.update,passive)}),k&&L.addEventListener("resize",t.update,passive),function(){g&&V.forEach(function(z){z.removeEventListener("scroll",t.update,passive)}),k&&L.removeEventListener("resize",t.update,passive)}}const eventListeners={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect,data:{}};var hash$3={left:"right",right:"left",bottom:"top",top:"bottom"};function getOppositePlacement(n){return n.replace(/left|right|bottom|top/g,function(e){return hash$3[e]})}var hash$2={start:"end",end:"start"};function getOppositeVariationPlacement(n){return n.replace(/start|end/g,function(e){return hash$2[e]})}function getWindowScroll(n){var e=getWindow$2(n),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function getWindowScrollBarX(n){return getBoundingClientRect(getDocumentElement$1(n)).left+getWindowScroll(n).scrollLeft}function getViewportRect(n,e){var t=getWindow$2(n),i=getDocumentElement$1(n),r=t.visualViewport,g=i.clientWidth,y=i.clientHeight,k=0,L=0;if(r){g=r.width,y=r.height;var V=isLayoutViewport();(V||!V&&e==="fixed")&&(k=r.offsetLeft,L=r.offsetTop)}return{width:g,height:y,x:k+getWindowScrollBarX(n),y:L}}function getDocumentRect(n){var e,t=getDocumentElement$1(n),i=getWindowScroll(n),r=(e=n.ownerDocument)==null?void 0:e.body,g=max(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),y=max(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),k=-i.scrollLeft+getWindowScrollBarX(n),L=-i.scrollTop;return getComputedStyle$3(r||t).direction==="rtl"&&(k+=max(t.clientWidth,r?r.clientWidth:0)-g),{width:g,height:y,x:k,y:L}}function isScrollParent(n){var e=getComputedStyle$3(n),t=e.overflow,i=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+r+i)}function getScrollParent$1(n){return["html","body","#document"].indexOf(getNodeName(n))>=0?n.ownerDocument.body:isHTMLElement(n)&&isScrollParent(n)?n:getScrollParent$1(getParentNode(n))}function listScrollParents(n,e){var t;e===void 0&&(e=[]);var i=getScrollParent$1(n),r=i===((t=n.ownerDocument)==null?void 0:t.body),g=getWindow$2(i),y=r?[g].concat(g.visualViewport||[],isScrollParent(i)?i:[]):i,k=e.concat(y);return r?k:k.concat(listScrollParents(getParentNode(y)))}function rectToClientRect(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function getInnerBoundingClientRect(n,e){var t=getBoundingClientRect(n,!1,e==="fixed");return t.top=t.top+n.clientTop,t.left=t.left+n.clientLeft,t.bottom=t.top+n.clientHeight,t.right=t.left+n.clientWidth,t.width=n.clientWidth,t.height=n.clientHeight,t.x=t.left,t.y=t.top,t}function getClientRectFromMixedType(n,e,t){return e===viewport?rectToClientRect(getViewportRect(n,t)):isElement$2(e)?getInnerBoundingClientRect(e,t):rectToClientRect(getDocumentRect(getDocumentElement$1(n)))}function getClippingParents(n){var e=listScrollParents(getParentNode(n)),t=["absolute","fixed"].indexOf(getComputedStyle$3(n).position)>=0,i=t&&isHTMLElement(n)?getOffsetParent(n):n;return isElement$2(i)?e.filter(function(r){return isElement$2(r)&&contains(r,i)&&getNodeName(r)!=="body"}):[]}function getClippingRect(n,e,t,i){var r=e==="clippingParents"?getClippingParents(n):[].concat(e),g=[].concat(r,[t]),y=g[0],k=g.reduce(function(L,V){var z=getClientRectFromMixedType(n,V,i);return L.top=max(z.top,L.top),L.right=min(z.right,L.right),L.bottom=min(z.bottom,L.bottom),L.left=max(z.left,L.left),L},getClientRectFromMixedType(n,y,i));return k.width=k.right-k.left,k.height=k.bottom-k.top,k.x=k.left,k.y=k.top,k}function computeOffsets(n){var e=n.reference,t=n.element,i=n.placement,r=i?getBasePlacement(i):null,g=i?getVariation(i):null,y=e.x+e.width/2-t.width/2,k=e.y+e.height/2-t.height/2,L;switch(r){case top:L={x:y,y:e.y-t.height};break;case bottom:L={x:y,y:e.y+e.height};break;case right:L={x:e.x+e.width,y:k};break;case left:L={x:e.x-t.width,y:k};break;default:L={x:e.x,y:e.y}}var V=r?getMainAxisFromPlacement(r):null;if(V!=null){var z=V==="y"?"height":"width";switch(g){case start:L[V]=L[V]-(e[z]/2-t[z]/2);break;case end:L[V]=L[V]+(e[z]/2-t[z]/2);break}}return L}function detectOverflow(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=i===void 0?n.placement:i,g=t.strategy,y=g===void 0?n.strategy:g,k=t.boundary,L=k===void 0?clippingParents:k,V=t.rootBoundary,z=V===void 0?viewport:V,j=t.elementContext,ie=j===void 0?popper:j,oe=t.altBoundary,re=oe===void 0?!1:oe,ae=t.padding,le=ae===void 0?0:ae,de=mergePaddingObject(typeof le!="number"?le:expandToHashMap(le,basePlacements)),ue=ie===popper?reference:popper,he=n.rects.popper,pe=n.elements[re?ue:ie],Ce=getClippingRect(isElement$2(pe)?pe:pe.contextElement||getDocumentElement$1(n.elements.popper),L,z,y),$e=getBoundingClientRect(n.elements.reference),xe=computeOffsets({reference:$e,element:he,placement:r}),Ie=rectToClientRect(Object.assign({},he,xe)),Ne=ie===popper?Ie:$e,Fe={top:Ce.top-Ne.top+de.top,bottom:Ne.bottom-Ce.bottom+de.bottom,left:Ce.left-Ne.left+de.left,right:Ne.right-Ce.right+de.right},Ve=n.modifiersData.offset;if(ie===popper&&Ve){var Oe=Ve[r];Object.keys(Fe).forEach(function(ze){var qe=[right,bottom].indexOf(ze)>=0?1:-1,Ue=[top,bottom].indexOf(ze)>=0?"y":"x";Fe[ze]+=Oe[Ue]*qe})}return Fe}function computeAutoPlacement(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=t.boundary,g=t.rootBoundary,y=t.padding,k=t.flipVariations,L=t.allowedAutoPlacements,V=L===void 0?placements:L,z=getVariation(i),j=z?k?variationPlacements:variationPlacements.filter(function(re){return getVariation(re)===z}):basePlacements,ie=j.filter(function(re){return V.indexOf(re)>=0});ie.length===0&&(ie=j);var oe=ie.reduce(function(re,ae){return re[ae]=detectOverflow(n,{placement:ae,boundary:r,rootBoundary:g,padding:y})[getBasePlacement(ae)],re},{});return Object.keys(oe).sort(function(re,ae){return oe[re]-oe[ae]})}function getExpandedFallbackPlacements(n){if(getBasePlacement(n)===auto)return[];var e=getOppositePlacement(n);return[getOppositeVariationPlacement(n),e,getOppositeVariationPlacement(e)]}function flip(n){var e=n.state,t=n.options,i=n.name;if(!e.modifiersData[i]._skip){for(var r=t.mainAxis,g=r===void 0?!0:r,y=t.altAxis,k=y===void 0?!0:y,L=t.fallbackPlacements,V=t.padding,z=t.boundary,j=t.rootBoundary,ie=t.altBoundary,oe=t.flipVariations,re=oe===void 0?!0:oe,ae=t.allowedAutoPlacements,le=e.options.placement,de=getBasePlacement(le),ue=de===le,he=L||(ue||!re?[getOppositePlacement(le)]:getExpandedFallbackPlacements(le)),pe=[le].concat(he).reduce(function(Ci,wi){return Ci.concat(getBasePlacement(wi)===auto?computeAutoPlacement(e,{placement:wi,boundary:z,rootBoundary:j,padding:V,flipVariations:re,allowedAutoPlacements:ae}):wi)},[]),Ce=e.rects.reference,$e=e.rects.popper,xe=new Map,Ie=!0,Ne=pe[0],Fe=0;Fe=0,Ue=qe?"width":"height",Et=detectOverflow(e,{placement:Ve,boundary:z,rootBoundary:j,altBoundary:ie,padding:V}),At=qe?ze?right:left:ze?bottom:top;Ce[Ue]>$e[Ue]&&(At=getOppositePlacement(At));var Lt=getOppositePlacement(At),kt=[];if(g&&kt.push(Et[Oe]<=0),k&&kt.push(Et[At]<=0,Et[Lt]<=0),kt.every(function(Ci){return Ci})){Ne=Ve,Ie=!1;break}xe.set(Ve,kt)}if(Ie)for(var ei=re?3:1,jt=function(wi){var Ri=pe.find(function(ai){var hi=xe.get(ai);if(hi)return hi.slice(0,wi).every(function(xi){return xi})});if(Ri)return Ne=Ri,"break"},ri=ei;ri>0;ri--){var ni=jt(ri);if(ni==="break")break}e.placement!==Ne&&(e.modifiersData[i]._skip=!0,e.placement=Ne,e.reset=!0)}}const flip$1={name:"flip",enabled:!0,phase:"main",fn:flip,requiresIfExists:["offset"],data:{_skip:!1}};function getSideOffsets(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function isAnySideFullyClipped(n){return[top,right,bottom,left].some(function(e){return n[e]>=0})}function hide$1(n){var e=n.state,t=n.name,i=e.rects.reference,r=e.rects.popper,g=e.modifiersData.preventOverflow,y=detectOverflow(e,{elementContext:"reference"}),k=detectOverflow(e,{altBoundary:!0}),L=getSideOffsets(y,i),V=getSideOffsets(k,r,g),z=isAnySideFullyClipped(L),j=isAnySideFullyClipped(V);e.modifiersData[t]={referenceClippingOffsets:L,popperEscapeOffsets:V,isReferenceHidden:z,hasPopperEscaped:j},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":z,"data-popper-escaped":j})}const hide$2={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:hide$1};function distanceAndSkiddingToXY(n,e,t){var i=getBasePlacement(n),r=[left,top].indexOf(i)>=0?-1:1,g=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,y=g[0],k=g[1];return y=y||0,k=(k||0)*r,[left,right].indexOf(i)>=0?{x:k,y}:{x:y,y:k}}function offset(n){var e=n.state,t=n.options,i=n.name,r=t.offset,g=r===void 0?[0,0]:r,y=placements.reduce(function(z,j){return z[j]=distanceAndSkiddingToXY(j,e.rects,g),z},{}),k=y[e.placement],L=k.x,V=k.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=L,e.modifiersData.popperOffsets.y+=V),e.modifiersData[i]=y}const offset$1={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:offset};function popperOffsets(n){var e=n.state,t=n.name;e.modifiersData[t]=computeOffsets({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}const popperOffsets$1={name:"popperOffsets",enabled:!0,phase:"read",fn:popperOffsets,data:{}};function getAltAxis(n){return n==="x"?"y":"x"}function preventOverflow(n){var e=n.state,t=n.options,i=n.name,r=t.mainAxis,g=r===void 0?!0:r,y=t.altAxis,k=y===void 0?!1:y,L=t.boundary,V=t.rootBoundary,z=t.altBoundary,j=t.padding,ie=t.tether,oe=ie===void 0?!0:ie,re=t.tetherOffset,ae=re===void 0?0:re,le=detectOverflow(e,{boundary:L,rootBoundary:V,padding:j,altBoundary:z}),de=getBasePlacement(e.placement),ue=getVariation(e.placement),he=!ue,pe=getMainAxisFromPlacement(de),Ce=getAltAxis(pe),$e=e.modifiersData.popperOffsets,xe=e.rects.reference,Ie=e.rects.popper,Ne=typeof ae=="function"?ae(Object.assign({},e.rects,{placement:e.placement})):ae,Fe=typeof Ne=="number"?{mainAxis:Ne,altAxis:Ne}:Object.assign({mainAxis:0,altAxis:0},Ne),Ve=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Oe={x:0,y:0};if($e){if(g){var ze,qe=pe==="y"?top:left,Ue=pe==="y"?bottom:right,Et=pe==="y"?"height":"width",At=$e[pe],Lt=At+le[qe],kt=At-le[Ue],ei=oe?-Ie[Et]/2:0,jt=ue===start?xe[Et]:Ie[Et],ri=ue===start?-Ie[Et]:-xe[Et],ni=e.elements.arrow,Ci=oe&&ni?getLayoutRect(ni):{width:0,height:0},wi=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:getFreshSideObject(),Ri=wi[qe],ai=wi[Ue],hi=within(0,xe[Et],Ci[Et]),xi=he?xe[Et]/2-ei-hi-Ri-Fe.mainAxis:jt-hi-Ri-Fe.mainAxis,Oi=he?-xe[Et]/2+ei+hi+ai+Fe.mainAxis:ri+hi+ai+Fe.mainAxis,Ei=e.elements.arrow&&getOffsetParent(e.elements.arrow),si=Ei?pe==="y"?Ei.clientTop||0:Ei.clientLeft||0:0,fi=(ze=Ve==null?void 0:Ve[pe])!=null?ze:0,li=At+xi-fi-si,Di=At+Oi-fi,ki=within(oe?min(Lt,li):Lt,At,oe?max(kt,Di):kt);$e[pe]=ki,Oe[pe]=ki-At}if(k){var Ai,Ki=pe==="x"?top:left,zi=pe==="x"?bottom:right,bi=$e[Ce],vi=Ce==="y"?"height":"width",Li=bi+le[Ki],oi=bi-le[zi],ii=[top,left].indexOf(de)!==-1,mi=(Ai=Ve==null?void 0:Ve[Ce])!=null?Ai:0,yi=ii?Li:bi-xe[vi]-Ie[vi]-mi+Fe.altAxis,ti=ii?bi+xe[vi]+Ie[vi]-mi-Fe.altAxis:oi,Dt=oe&&ii?withinMaxClamp(yi,bi,ti):within(oe?yi:Li,bi,oe?ti:oi);$e[Ce]=Dt,Oe[Ce]=Dt-bi}e.modifiersData[i]=Oe}}const preventOverflow$1={name:"preventOverflow",enabled:!0,phase:"main",fn:preventOverflow,requiresIfExists:["offset"]};function getHTMLElementScroll(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function getNodeScroll(n){return n===getWindow$2(n)||!isHTMLElement(n)?getWindowScroll(n):getHTMLElementScroll(n)}function isElementScaled(n){var e=n.getBoundingClientRect(),t=round(e.width)/n.offsetWidth||1,i=round(e.height)/n.offsetHeight||1;return t!==1||i!==1}function getCompositeRect(n,e,t){t===void 0&&(t=!1);var i=isHTMLElement(e),r=isHTMLElement(e)&&isElementScaled(e),g=getDocumentElement$1(e),y=getBoundingClientRect(n,r,t),k={scrollLeft:0,scrollTop:0},L={x:0,y:0};return(i||!i&&!t)&&((getNodeName(e)!=="body"||isScrollParent(g))&&(k=getNodeScroll(e)),isHTMLElement(e)?(L=getBoundingClientRect(e,!0),L.x+=e.clientLeft,L.y+=e.clientTop):g&&(L.x=getWindowScrollBarX(g))),{x:y.left+k.scrollLeft-L.x,y:y.top+k.scrollTop-L.y,width:y.width,height:y.height}}function order(n){var e=new Map,t=new Set,i=[];n.forEach(function(g){e.set(g.name,g)});function r(g){t.add(g.name);var y=[].concat(g.requires||[],g.requiresIfExists||[]);y.forEach(function(k){if(!t.has(k)){var L=e.get(k);L&&r(L)}}),i.push(g)}return n.forEach(function(g){t.has(g.name)||r(g)}),i}function orderModifiers(n){var e=order(n);return modifierPhases.reduce(function(t,i){return t.concat(e.filter(function(r){return r.phase===i}))},[])}function debounce$1(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function mergeByName(n){var e=n.reduce(function(t,i){var r=t[i.name];return t[i.name]=r?Object.assign({},r,i,{options:Object.assign({},r.options,i.options),data:Object.assign({},r.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var DEFAULT_OPTIONS={placement:"bottom",modifiers:[],strategy:"absolute"};function areValidElements(){for(var n=arguments.length,e=new Array(n),t=0;te.visible,ae=>{if(typeof ae>"u"){nextTick(()=>{i()});return}t.value=ae},{immediate:!0}),r=computed$1(()=>{if(!e.width)return{};let{width:ae}=e;return typeof ae=="number"&&(ae="".concat(ae,"px")),{width:ae}}),g=ref$1(),y=ref$1(),k=shallowRef();onMounted(()=>{var ae,le;g.value=(le=(ae=getCurrentInstance$1())==null?void 0:ae.proxy)==null?void 0:le.$el.nextElementSibling});const L=useZIndex$2();watch([g,y,t],([ae,le,de])=>{re(),!(!ae||!le||!de)&&(le.style.zIndex="".concat(L.nextZIndex()),k.value=createPopper(ae,le,{placement:e.placement||"bottom",strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,10]}}]}))});const V=()=>{var ae;(ae=y.value)==null||ae.focus()},z=()=>{e.disabled||(t.value=!t.value)},j=()=>{e.disabled||(ie&&clearTimeout(ie),t.value=!0)};let ie=null;const oe=()=>{e.disabled||(ie&&clearTimeout(ie),ie=globalThis.setTimeout(()=>{t.value=!1,ie=null},350))};e.trigger==="click"&&typeof e.visible>"u"&&watch(g,(ae,le)=>{ae==null||ae.addEventListener("click",z),le==null||le.removeEventListener("click",z)},{immediate:!0}),e.trigger==="hover"&&typeof e.visible>"u"&&(watch(g,(ae,le)=>{ae==null||ae.addEventListener("mouseenter",j),le==null||le.removeEventListener("mouseenter",j),ae==null||ae.addEventListener("mouseleave",oe),le==null||le.removeEventListener("mouseleave",oe)},{immediate:!0}),watch(y,(ae,le)=>{ae==null||ae.addEventListener("mouseenter",j),le==null||le.removeEventListener("mouseenter",j),ae==null||ae.addEventListener("mouseleave",oe),le==null||le.removeEventListener("mouseleave",oe)}));const re=()=>{k.value&&(k.value.destroy(),k.value=void 0)};return onBeforeUnmount(()=>{re()}),(ae,le)=>(openBlock(),createElementBlock(Fragment,null,[renderSlot(ae.$slots,"reference"),(openBlock(),createBlock(Teleport$2,{to:"body"},[t.value||!ae.destroyOnClose?withDirectives((openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["tmagic-design-popper",ae.popperClass]),ref_key:"popperElementRef",ref:y,tabindex:ae.tabindex,style:normalizeStyle(r.value),onMouseenterOnce:V},[renderSlot(ae.$slots,"default"),le[0]||(le[0]=createBaseVNode("span",{class:"tmagic-design-popper-arrow","data-popper-arrow":""},null,-1))],46,_hoisted_1$1m)),[[vShow,t.value]]):createCommentVNode("",!0)]))],64))}}),_sfc_main$44=defineComponent({name:"TMRadio",__name:"Radio",props:{modelValue:{type:[String,Number,Boolean]},value:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.radio,i=(t==null?void 0:t.component)||"el-radio",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-radio"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$43=defineComponent({name:"TMRadioButton",__name:"RadioButton",props:{value:{type:[String,Number,Boolean]},label:{type:[String,Number,Boolean]},disabled:{type:Boolean},name:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.radioButton,i=(t==null?void 0:t.component)||"el-radio-button",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-radio-button"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$42=defineComponent({name:"TMRadioGroup",__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean]},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.radioGroup,r=(i==null?void 0:i.component)||"el-radio-group",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-radio-group"},g.value,{onChange:k,"onUpdate:modelValue":L}),{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$41=defineComponent({name:"TMRow",__name:"Row",setup(n){var t;const e=((t=getDesignConfig("components"))==null?void 0:t.row.component)||"el-row";return(i,r)=>(openBlock(),createBlock(resolveDynamicComponent(unref(e)),{class:"tmagic-design-row"},{default:withCtx(()=>[renderSlot(i.$slots,"default")]),_:3}))}}),_sfc_main$40=defineComponent({name:"TMScrollbar",__name:"Scrollbar",setup(n){var i;const e=(i=getDesignConfig("components"))==null?void 0:i.scrollbar,t=(e==null?void 0:e.component)||"el-scrollbar";return(r,g)=>(openBlock(),createBlock(resolveDynamicComponent(unref(t)),{class:"tmagic-design-scrollbar"},{default:withCtx(()=>[renderSlot(r.$slots,"default")]),_:3}))}}),_sfc_main$3$=defineComponent({name:"TMSelect",__name:"Select",props:{modelValue:{},clearable:{type:Boolean},filterable:{type:Boolean},popperClass:{},disabled:{type:Boolean},placeholder:{},remote:{type:Boolean},multiple:{type:Boolean},allowCreate:{type:Boolean},valueKey:{},remoteMethod:{},loading:{type:Boolean},size:{},onSearch:{}},emits:["change","update:modelValue","visibleHandler"],setup(n,{expose:e,emit:t}){var re;const i=n,r=t,g=(re=getDesignConfig("components"))==null?void 0:re.select,y=(g==null?void 0:g.component)||"el-select",k=computed$1(()=>(g==null?void 0:g.props(i))||i),L=ref$1(),V=(...ae)=>{r("change",...ae)},z=(...ae)=>{r("update:modelValue",...ae)},j=(...ae)=>{r("visibleHandler",...ae)},ie=ref$1(),oe=watch(()=>{var ae,le,de,ue,he,pe;return((le=(ae=L.value)==null?void 0:ae.scrollbar)==null?void 0:le.wrap$)||((ue=(de=L.value)==null?void 0:de.scrollbar)==null?void 0:ue.wrapRef)||((pe=(he=L.value)==null?void 0:he.scrollbarRef)==null?void 0:pe.wrapRef)},ae=>{ae&&(nextTick(()=>oe()),ie.value=ae)},{immediate:!0});return e({scrollbarWrap:ie,setQuery(ae){L.value&&(L.value.query=ae)},setPreviousQuery(ae){L.value&&(L.value.previousQuery=ae)},setSelectedLabel(ae){L.value&&(L.value.selectedLabel=ae)},setSelected(){if(L.value)return L.value.setSelected()}}),(ae,le)=>(openBlock(),createBlock(resolveDynamicComponent(unref(y)),mergeProps({class:"tmagic-design-select",ref_key:"select",ref:L},k.value,{onChange:V,onVisibleChange:j,onPopupVisibleChange:j,"onUpdate:modelValue":z}),{default:withCtx(()=>[renderSlot(ae.$slots,"default")]),_:3},16))}}),_sfc_main$3_=defineComponent({name:"TMStep",__name:"Step",props:{title:{},active:{},props:{},status:{}},emits:["click"],setup(n,{emit:e}){var L;const t=n,i=e,r=(...V)=>{i("click",...V)},g=(L=getDesignConfig("components"))==null?void 0:L.step,y=(g==null?void 0:g.component)||"el-step",k=computed$1(()=>(g==null?void 0:g.props(t))||t);return(V,z)=>(openBlock(),createBlock(resolveDynamicComponent(unref(y)),mergeProps({class:"tmagic-design-step"},k.value,{onClick:r}),{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},16))}}),_sfc_main$3Z=defineComponent({name:"TMSteps",__name:"Steps",props:{active:{},space:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.steps,i=(t==null?void 0:t.component)||"el-steps",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-steps"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$3Y=defineComponent({name:"TMSwitch",__name:"Switch",props:{modelValue:{type:[String,Number,Boolean]},label:{},activeValue:{type:[String,Number,Boolean]},inactiveValue:{type:[String,Number,Boolean]},disabled:{type:Boolean},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.switch,r=(i==null?void 0:i.component)||"el-switch",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-switch"},g.value,{"onUpdate:modelValue":L,onChange:k}),{default:withCtx(()=>[renderSlot(z.$slots,"default")]),_:3},16))}}),_sfc_main$3X=defineComponent({name:"TMTable",__name:"Table",props:{data:{default:()=>[]},border:{type:Boolean},maxHeight:{},defaultExpandAll:{type:Boolean}},emits:["select","sort-change","expand-change","cell-click"],setup(n,{expose:e,emit:t}){var re;const i=n,r=(re=getDesignConfig("components"))==null?void 0:re.table,g=(r==null?void 0:r.component)||"el-table",y=computed$1(()=>(r==null?void 0:r.props(i))||i),k=t,L=ref$1(),V=(...ae)=>{k("select",...ae)},z=(...ae)=>{k("sort-change",...ae)},j=(...ae)=>{k("expand-change",...ae)},ie=(...ae)=>{k("cell-click",...ae)};let oe;return watchEffect(()=>{var ae;oe=(ae=L.value)==null?void 0:ae.$el}),e({instance:L,$el:oe,clearSelection(...ae){var le;return(le=L.value)==null?void 0:le.clearSelection(...ae)},toggleRowSelection(...ae){var le;return(le=L.value)==null?void 0:le.toggleRowSelection(...ae)},toggleRowExpansion(...ae){var le;return(le=L.value)==null?void 0:le.toggleRowExpansion(...ae)}}),(ae,le)=>(openBlock(),createBlock(resolveDynamicComponent(unref(g)),mergeProps({class:"tmagic-design-table",ref_key:"table",ref:L},y.value,{"row-class-name":"tmagic-design-table-row","cell-class-name":"tmagic-design-table-cell",onSelect:V,onSortChange:z,onExpandChange:j,onCellClick:ie}),{default:withCtx(()=>[renderSlot(ae.$slots,"default")]),_:3},16))}}),_sfc_main$3W=defineComponent({name:"TMTableColumn",__name:"TableColumn",props:{label:{},align:{},fixed:{type:[String,Boolean]},width:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.tableColumn,i=(t==null?void 0:t.component)||"el-table-column",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),normalizeProps(guardReactiveProps(r.value)),{default:withCtx(({$index:L,row:V})=>[renderSlot(y.$slots,"default",{$index:L,row:V})]),_:3},16))}}),_sfc_main$3V=defineComponent({name:"TMTabPane",__name:"TabPane",props:{name:{},label:{},lazy:{type:Boolean}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.tabPane,i=(t==null?void 0:t.component)||"el-tab-pane",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-tab-pane"},r.value),createSlots({default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:2},[y.$slots.label?{name:"label",fn:withCtx(()=>[renderSlot(y.$slots,"label")]),key:"0"}:void 0]),1040))}}),_sfc_main$3U=defineComponent({name:"TMTabs",__name:"Tabs",props:{type:{},editable:{type:Boolean},tabPosition:{},modelValue:{}},emits:["tab-click","tab-add","tab-remove","update:model-value"],setup(n,{emit:e}){var j;const t=n,i=(j=getDesignConfig("components"))==null?void 0:j.tabs,r=(i==null?void 0:i.component)||"el-tabs",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=(...ie)=>{y("tab-click",...ie)},L=(...ie)=>{y("tab-add",...ie)},V=(...ie)=>{y("tab-remove",...ie)},z=(...ie)=>{y("update:model-value",...ie)};return(ie,oe)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-tabs"},g.value,{onTabClick:k,onTabAdd:L,onTabRemove:V,"onUpdate:modelValue":z}),{default:withCtx(()=>[renderSlot(ie.$slots,"default")]),_:3},16))}}),_sfc_main$3T=defineComponent({name:"TMTag",__name:"Tag",props:{type:{},disableTransition:{type:Boolean}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.tag,i=(t==null?void 0:t.component)||"el-tag",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-tag"},r.value),{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$3S=defineComponent({name:"TMTimePicker",__name:"TimePicker",props:{modelValue:{},disabled:{type:Boolean},placeholder:{},size:{}},emits:["change","update:modelValue"],setup(n,{emit:e}){var V;const t=n,i=(V=getDesignConfig("components"))==null?void 0:V.timePicker,r=(i==null?void 0:i.component)||"el-time-picker",g=computed$1(()=>(i==null?void 0:i.props(t))||t),y=e,k=z=>{y("change",z)},L=z=>{y("update:modelValue",z)};return(z,j)=>(openBlock(),createBlock(resolveDynamicComponent(unref(r)),mergeProps({class:"tmagic-design-time-picker"},g.value,{onChange:k,"onUpdate:modelValue":L}),null,16))}}),_sfc_main$3R=defineComponent({name:"TMTooltip",__name:"Tooltip",props:{placement:{},disabled:{type:Boolean},content:{},effect:{},transition:{},offset:{}},setup(n){var g;const e=n,t=(g=getDesignConfig("components"))==null?void 0:g.tooltip,i=(t==null?void 0:t.component)||"el-tooltip",r=computed$1(()=>(t==null?void 0:t.props(e))||e);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(unref(i)),mergeProps({class:"tmagic-design-tooltip"},r.value),{content:withCtx(()=>[renderSlot(y.$slots,"content")]),default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},16))}}),_sfc_main$3Q=defineComponent({name:"TMUpload",__name:"Upload",props:{action:{},autoUpload:{type:Boolean},disabled:{type:Boolean}},emits:["change"],setup(n,{expose:e,emit:t}){var z;const i=n,r=t,g=(...j)=>{r("change",...j)},y=(z=getDesignConfig("components"))==null?void 0:z.upload,k=(y==null?void 0:y.component)||"el-upload",L=computed$1(()=>(y==null?void 0:y.props(i))||i),V=ref$1();return e({clearFiles(...j){var ie;return(ie=V.value)==null?void 0:ie.clearFiles(...j)}}),(j,ie)=>(openBlock(),createBlock(resolveDynamicComponent(unref(k)),mergeProps({class:"tmagic-design-upload",ref_key:"upload",ref:V},L.value,{onChange:g}),null,16))}}),tMagicMessage={error:n=>{console.error(n)},success:n=>{console.log(n)},warning:n=>{console.warn(n)},info:n=>{console.info(n)},closeAll:n=>{}},tMagicMessageBox={alert:n=>{console.log(n)},confirm:n=>{console.log(n)},close:n=>{console.log(n)}},zIndex$2=ref$1(0),DEFAULT_INITIAL_Z_INDEX=2e3;let useZIndex$2=n=>{const e=n,t=computed$1(()=>{const g=unref(e);return g!=null?g:DEFAULT_INITIAL_Z_INDEX}),i=computed$1(()=>t.value+zIndex$2.value);return{initialZIndex:t,currentZIndex:i,nextZIndex:()=>(zIndex$2.value+=1,i.value)}};const designPlugin={install(n,e){var t,i,r,g,y,k,L,V,z;e.message&&(tMagicMessage.error=(t=e.message)==null?void 0:t.error,tMagicMessage.success=(i=e.message)==null?void 0:i.success,tMagicMessage.warning=(r=e.message)==null?void 0:r.warning,tMagicMessage.info=(g=e.message)==null?void 0:g.info,tMagicMessage.closeAll=(y=e.message)==null?void 0:y.closeAll),e.messageBox&&(tMagicMessageBox.alert=(k=e.messageBox)==null?void 0:k.alert,tMagicMessageBox.confirm=(L=e.messageBox)==null?void 0:L.confirm,tMagicMessageBox.prompt=(V=e.messageBox)==null?void 0:V.prompt,tMagicMessageBox.close=(z=e.messageBox)==null?void 0:z.close),e.loading&&!n.directive("loading")&&n.directive("loading",e.loading),e.useZIndex&&(useZIndex$2=e.useZIndex),n.config.globalProperties.$MAGIC_DESIGN=e,setDesignConfig(e)}};/*! Element Plus Icons Vue v2.3.1 */var arrow_down_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"ArrowDown",__name:"arrow-down",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"})]))}}),arrow_down_default$1=arrow_down_vue_vue_type_script_setup_true_lang_default$1,arrow_left_bold_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowLeftBold",__name:"arrow-left-bold",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M685.248 104.704a64 64 0 0 1 0 90.496L368.448 512l316.8 316.8a64 64 0 0 1-90.496 90.496L232.704 557.248a64 64 0 0 1 0-90.496l362.048-362.048a64 64 0 0 1 90.496 0z"})]))}}),arrow_left_bold_default=arrow_left_bold_vue_vue_type_script_setup_true_lang_default,arrow_right_bold_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowRightBold",__name:"arrow-right-bold",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M338.752 104.704a64 64 0 0 0 0 90.496l316.8 316.8-316.8 316.8a64 64 0 0 0 90.496 90.496l362.048-362.048a64 64 0 0 0 0-90.496L429.248 104.704a64 64 0 0 0-90.496 0z"})]))}}),arrow_right_bold_default=arrow_right_bold_vue_vue_type_script_setup_true_lang_default,arrow_right_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"ArrowRight",__name:"arrow-right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),arrow_right_default$1=arrow_right_vue_vue_type_script_setup_true_lang_default$1,arrow_up_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"ArrowUp",__name:"arrow-up",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),arrow_up_default$1=arrow_up_vue_vue_type_script_setup_true_lang_default$1,back_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Back",__name:"back",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M224 480h640a32 32 0 1 1 0 64H224a32 32 0 0 1 0-64"}),createBaseVNode("path",{fill:"currentColor",d:"m237.248 512 265.408 265.344a32 32 0 0 1-45.312 45.312l-288-288a32 32 0 0 1 0-45.312l288-288a32 32 0 1 1 45.312 45.312z"})]))}}),back_default=back_vue_vue_type_script_setup_true_lang_default,bottom_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Bottom",__name:"bottom",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M544 805.888V168a32 32 0 1 0-64 0v637.888L246.656 557.952a30.72 30.72 0 0 0-45.312 0 35.52 35.52 0 0 0 0 48.064l288 306.048a30.72 30.72 0 0 0 45.312 0l288-306.048a35.52 35.52 0 0 0 0-48 30.72 30.72 0 0 0-45.312 0L544 805.824z"})]))}}),bottom_default=bottom_vue_vue_type_script_setup_true_lang_default,caret_bottom_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CaretBottom",__name:"caret-bottom",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m192 384 320 384 320-384z"})]))}}),caret_bottom_default=caret_bottom_vue_vue_type_script_setup_true_lang_default,caret_right_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"CaretRight",__name:"caret-right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),caret_right_default$1=caret_right_vue_vue_type_script_setup_true_lang_default$1,caret_top_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CaretTop",__name:"caret-top",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 320 192 704h639.936z"})]))}}),caret_top_default=caret_top_vue_vue_type_script_setup_true_lang_default,close_bold_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CloseBold",__name:"close-bold",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z"})]))}}),close_bold_default=close_bold_vue_vue_type_script_setup_true_lang_default,close_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Close",__name:"close",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),close_default$1=close_vue_vue_type_script_setup_true_lang_default$1,coin_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Coin",__name:"coin",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"}),createBaseVNode("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"}),createBaseVNode("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}}),coin_default$1=coin_vue_vue_type_script_setup_true_lang_default$1,copy_document_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"CopyDocument",__name:"copy-document",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),createBaseVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),copy_document_default$1=copy_document_vue_vue_type_script_setup_true_lang_default$1,delete_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Delete",__name:"delete",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),delete_default$1=delete_vue_vue_type_script_setup_true_lang_default$1,document_copy_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"DocumentCopy",__name:"document-copy",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}}),document_copy_default$1=document_copy_vue_vue_type_script_setup_true_lang_default$1,document_vue_vue_type_script_setup_true_lang_default$2=defineComponent({name:"Document",__name:"document",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),document_default$2=document_vue_vue_type_script_setup_true_lang_default$2,edit_pen_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"EditPen",__name:"edit-pen",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m199.04 672.64 193.984 112 224-387.968-193.92-112-224 388.032zm-23.872 60.16 32.896 148.288 144.896-45.696zM455.04 229.248l193.92 112 56.704-98.112-193.984-112-56.64 98.112zM104.32 708.8l384-665.024 304.768 175.936L409.152 884.8h.064l-248.448 78.336zm384 254.272v-64h448v64h-448z"})]))}}),edit_pen_default=edit_pen_vue_vue_type_script_setup_true_lang_default,edit_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Edit",__name:"edit",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 512a32 32 0 1 1 64 0v352a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h352a32 32 0 0 1 0 64H192v640h640z"}),createBaseVNode("path",{fill:"currentColor",d:"m469.952 554.24 52.8-7.552L847.104 222.4a32 32 0 1 0-45.248-45.248L477.44 501.44l-7.552 52.8zm422.4-422.4a96 96 0 0 1 0 135.808l-331.84 331.84a32 32 0 0 1-18.112 9.088L436.8 623.68a32 32 0 0 1-36.224-36.224l15.104-105.6a32 32 0 0 1 9.024-18.112l331.904-331.84a96 96 0 0 1 135.744 0z"})]))}}),edit_default=edit_vue_vue_type_script_setup_true_lang_default,files_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Files",__name:"files",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),files_default$1=files_vue_vue_type_script_setup_true_lang_default$1,full_screen_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"FullScreen",__name:"full-screen",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m160 96.064 192 .192a32 32 0 0 1 0 64l-192-.192V352a32 32 0 0 1-64 0V96h64zm0 831.872V928H96V672a32 32 0 1 1 64 0v191.936l192-.192a32 32 0 1 1 0 64zM864 96.064V96h64v256a32 32 0 1 1-64 0V160.064l-192 .192a32 32 0 1 1 0-64l192-.192zm0 831.872-192-.192a32 32 0 0 1 0-64l192 .192V672a32 32 0 1 1 64 0v256h-64z"})]))}}),full_screen_default=full_screen_vue_vue_type_script_setup_true_lang_default,goods_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Goods",__name:"goods",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M320 288v-22.336C320 154.688 405.504 64 512 64s192 90.688 192 201.664v22.4h131.072a32 32 0 0 1 31.808 28.8l57.6 576a32 32 0 0 1-31.808 35.2H131.328a32 32 0 0 1-31.808-35.2l57.6-576a32 32 0 0 1 31.808-28.8H320zm64 0h256v-22.336C640 189.248 582.272 128 512 128c-70.272 0-128 61.248-128 137.664v22.4zm-64 64H217.92l-51.2 512h690.56l-51.264-512H704v96a32 32 0 1 1-64 0v-96H384v96a32 32 0 0 1-64 0z"})]))}}),goods_default=goods_vue_vue_type_script_setup_true_lang_default,grid_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Grid",__name:"grid",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}}),grid_default$1=grid_vue_vue_type_script_setup_true_lang_default$1,hide_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Hide",__name:"hide",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"}),createBaseVNode("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"})]))}}),hide_default$1=hide_vue_vue_type_script_setup_true_lang_default$1,list_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"List",__name:"list",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M704 192h160v736H160V192h160v64h384zM288 512h448v-64H288zm0 256h448v-64H288zm96-576V96h256v96z"})]))}}),list_default=list_vue_vue_type_script_setup_true_lang_default,memo_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Memo",__name:"memo",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"enable-background":"new 0 0 1024 1024"},viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M480 320h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"}),createBaseVNode("path",{fill:"currentColor",d:"M887.01 72.99C881.01 67 873.34 64 864 64H160c-9.35 0-17.02 3-23.01 8.99C131 78.99 128 86.66 128 96v832c0 9.35 2.99 17.02 8.99 23.01S150.66 960 160 960h704c9.35 0 17.02-2.99 23.01-8.99S896 937.34 896 928V96c0-9.35-3-17.02-8.99-23.01M192 896V128h96v768zm640 0H352V128h480z"}),createBaseVNode("path",{fill:"currentColor",d:"M480 512h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32m0 192h192c21.33 0 32-10.67 32-32s-10.67-32-32-32H480c-21.33 0-32 10.67-32 32s10.67 32 32 32"})]))}}),memo_default=memo_vue_vue_type_script_setup_true_lang_default,plus_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Plus",__name:"plus",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),plus_default$1=plus_vue_vue_type_script_setup_true_lang_default$1,position_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Position",__name:"position",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m249.6 417.088 319.744 43.072 39.168 310.272L845.12 178.88 249.6 417.088zm-129.024 47.168a32 32 0 0 1-7.68-61.44l777.792-311.04a32 32 0 0 1 41.6 41.6l-310.336 775.68a32 32 0 0 1-61.44-7.808L512 516.992l-391.424-52.736z"})]))}}),position_default=position_vue_vue_type_script_setup_true_lang_default,right_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Right",__name:"right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M754.752 480H160a32 32 0 1 0 0 64h594.752L521.344 777.344a32 32 0 0 0 45.312 45.312l288-288a32 32 0 0 0 0-45.312l-288-288a32 32 0 1 0-45.312 45.312z"})]))}}),right_default=right_vue_vue_type_script_setup_true_lang_default,scale_to_original_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ScaleToOriginal",__name:"scale-to-original",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M813.176 180.706a60.235 60.235 0 0 1 60.236 60.235v481.883a60.235 60.235 0 0 1-60.236 60.235H210.824a60.235 60.235 0 0 1-60.236-60.235V240.94a60.235 60.235 0 0 1 60.236-60.235h602.352zm0-60.235H210.824A120.47 120.47 0 0 0 90.353 240.94v481.883a120.47 120.47 0 0 0 120.47 120.47h602.353a120.47 120.47 0 0 0 120.471-120.47V240.94a120.47 120.47 0 0 0-120.47-120.47zm-120.47 180.705a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 0 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118zm-361.412 0a30.118 30.118 0 0 0-30.118 30.118v301.177a30.118 30.118 0 1 0 60.236 0V331.294a30.118 30.118 0 0 0-30.118-30.118M512 361.412a30.118 30.118 0 0 0-30.118 30.117v30.118a30.118 30.118 0 0 0 60.236 0V391.53A30.118 30.118 0 0 0 512 361.412M512 512a30.118 30.118 0 0 0-30.118 30.118v30.117a30.118 30.118 0 0 0 60.236 0v-30.117A30.118 30.118 0 0 0 512 512"})]))}}),scale_to_original_default=scale_to_original_vue_vue_type_script_setup_true_lang_default,search_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Search",__name:"search",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704"})]))}}),search_default=search_vue_vue_type_script_setup_true_lang_default,sugar_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Sugar",__name:"sugar",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m801.728 349.184 4.48 4.48a128 128 0 0 1 0 180.992L534.656 806.144a128 128 0 0 1-181.056 0l-4.48-4.48-19.392 109.696a64 64 0 0 1-108.288 34.176L78.464 802.56a64 64 0 0 1 34.176-108.288l109.76-19.328-4.544-4.544a128 128 0 0 1 0-181.056l271.488-271.488a128 128 0 0 1 181.056 0l4.48 4.48 19.392-109.504a64 64 0 0 1 108.352-34.048l142.592 143.04a64 64 0 0 1-34.24 108.16l-109.248 19.2zm-548.8 198.72h447.168v2.24l60.8-60.8a63.808 63.808 0 0 0 18.752-44.416h-426.88l-89.664 89.728a64.064 64.064 0 0 0-10.24 13.248zm0 64c2.752 4.736 6.144 9.152 10.176 13.248l135.744 135.744a64 64 0 0 0 90.496 0L638.4 611.904zm490.048-230.976L625.152 263.104a64 64 0 0 0-90.496 0L416.768 380.928zM123.712 757.312l142.976 142.976 24.32-137.6a25.6 25.6 0 0 0-29.696-29.632l-137.6 24.256zm633.6-633.344-24.32 137.472a25.6 25.6 0 0 0 29.632 29.632l137.28-24.064-142.656-143.04z"})]))}}),sugar_default=sugar_vue_vue_type_script_setup_true_lang_default,top_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Top",__name:"top",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M572.235 205.282v600.365a30.118 30.118 0 1 1-60.235 0V205.282L292.382 438.633a28.913 28.913 0 0 1-42.646 0 33.43 33.43 0 0 1 0-45.236l271.058-288.045a28.913 28.913 0 0 1 42.647 0L834.5 393.397a33.43 33.43 0 0 1 0 45.176 28.913 28.913 0 0 1-42.647 0l-219.618-233.23z"})]))}}),top_default=top_vue_vue_type_script_setup_true_lang_default,view_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"View",__name:"view",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),view_default$1=view_vue_vue_type_script_setup_true_lang_default$1,warning_filled_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"WarningFilled",__name:"warning-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),warning_filled_default$1=warning_filled_vue_vue_type_script_setup_true_lang_default$1,zoom_in_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"ZoomIn",__name:"zoom-in",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),zoom_in_default$1=zoom_in_vue_vue_type_script_setup_true_lang_default$1,zoom_out_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ZoomOut",__name:"zoom-out",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704M352 448h256a32 32 0 0 1 0 64H352a32 32 0 0 1 0-64"})]))}}),zoom_out_default=zoom_out_vue_vue_type_script_setup_true_lang_default,freeGlobal=typeof global=="object"&&global&&global.Object===Object&&global,freeSelf=typeof self=="object"&&self&&self.Object===Object&&self,root$1=freeGlobal||freeSelf||Function("return this")(),Symbol$1=root$1.Symbol,objectProto$h=Object.prototype,hasOwnProperty$i=objectProto$h.hasOwnProperty,nativeObjectToString$1=objectProto$h.toString,symToStringTag$1=Symbol$1?Symbol$1.toStringTag:void 0;function getRawTag(n){var e=hasOwnProperty$i.call(n,symToStringTag$1),t=n[symToStringTag$1];try{n[symToStringTag$1]=void 0;var i=!0}catch(g){}var r=nativeObjectToString$1.call(n);return i&&(e?n[symToStringTag$1]=t:delete n[symToStringTag$1]),r}var objectProto$g=Object.prototype,nativeObjectToString=objectProto$g.toString;function objectToString$1(n){return nativeObjectToString.call(n)}var nullTag="[object Null]",undefinedTag="[object Undefined]",symToStringTag=Symbol$1?Symbol$1.toStringTag:void 0;function baseGetTag(n){return n==null?n===void 0?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(n)?getRawTag(n):objectToString$1(n)}function isObjectLike(n){return n!=null&&typeof n=="object"}var symbolTag$3="[object Symbol]";function isSymbol(n){return typeof n=="symbol"||isObjectLike(n)&&baseGetTag(n)==symbolTag$3}function arrayMap(n,e){for(var t=-1,i=n==null?0:n.length,r=Array(i);++t0){if(++e>=HOT_COUNT)return arguments[0]}else e=0;return n.apply(void 0,arguments)}}function constant(n){return function(){return n}}var defineProperty=function(){try{var n=getNative(Object,"defineProperty");return n({},"",{}),n}catch(e){}}(),baseSetToString=defineProperty?function(n,e){return defineProperty(n,"toString",{configurable:!0,enumerable:!1,value:constant(e),writable:!0})}:identity$2,setToString=shortOut(baseSetToString);function arrayEach(n,e){for(var t=-1,i=n==null?0:n.length;++t-1}var MAX_SAFE_INTEGER$1=9007199254740991,reIsUint=/^(?:0|[1-9]\d*)$/;function isIndex(n,e){var t=typeof n;return e=e==null?MAX_SAFE_INTEGER$1:e,!!e&&(t=="number"||t!="symbol"&&reIsUint.test(n))&&n>-1&&n%1==0&&n-1&&n%1==0&&n<=MAX_SAFE_INTEGER}function isArrayLike$1(n){return n!=null&&isLength(n.length)&&!isFunction$5(n)}function isIterateeCall(n,e,t){if(!isObject$6(t))return!1;var i=typeof e;return(i=="number"?isArrayLike$1(t)&&isIndex(e,t.length):i=="string"&&e in t)?eq(t[e],n):!1}function createAssigner(n){return baseRest(function(e,t){var i=-1,r=t.length,g=r>1?t[r-1]:void 0,y=r>2?t[2]:void 0;for(g=n.length>3&&typeof g=="function"?(r--,g):void 0,y&&isIterateeCall(t[0],t[1],y)&&(g=r<3?void 0:g,r=1),e=Object(e);++i-1}function listCacheSet(n,e){var t=this.__data__,i=assocIndexOf(t,n);return i<0?(++this.size,t.push([n,e])):t[i][1]=e,this}function ListCache(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e0&&t(k)?e>1?baseFlatten(k,e-1,t,i,r):arrayPush$1(r,k):i||(r[r.length]=k)}return r}function flatten(n){var e=n==null?0:n.length;return e?baseFlatten(n,1):[]}function flatRest(n){return setToString(overRest(n,void 0,flatten),n+"")}var getPrototype=overArg(Object.getPrototypeOf,Object),objectTag$3="[object Object]",funcProto=Function.prototype,objectProto$6=Object.prototype,funcToString=funcProto.toString,hasOwnProperty$9=objectProto$6.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$1(n){if(!isObjectLike(n)||baseGetTag(n)!=objectTag$3)return!1;var e=getPrototype(n);if(e===null)return!0;var t=hasOwnProperty$9.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&funcToString.call(t)==objectCtorString}function castArray$1(){if(!arguments.length)return[];var n=arguments[0];return isArray$3(n)?n:[n]}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(n){var e=this.__data__,t=e.delete(n);return this.size=e.size,t}function stackGet(n){return this.__data__.get(n)}function stackHas(n){return this.__data__.has(n)}var LARGE_ARRAY_SIZE$1=200;function stackSet(n,e){var t=this.__data__;if(t instanceof ListCache){var i=t.__data__;if(!Map$1||i.lengthk))return!1;var V=g.get(n),z=g.get(e);if(V&&z)return V==e&&z==n;var j=-1,ie=!0,oe=t&COMPARE_UNORDERED_FLAG$3?new SetCache:void 0;for(g.set(n,e),g.set(e,n);++j=e||xe<0||j&&Ie>=g}function de(){var $e=now$1();if(le($e))return ue($e);k=setTimeout(de,ae($e))}function ue($e){return k=void 0,ie&&i?oe($e):(i=r=void 0,y)}function he(){k!==void 0&&clearTimeout(k),V=0,i=L=r=k=void 0}function pe(){return k===void 0?y:ue(now$1())}function Ce(){var $e=now$1(),xe=le($e);if(i=arguments,r=this,L=$e,xe){if(k===void 0)return re(L);if(j)return clearTimeout(k),k=setTimeout(de,e),oe(L)}return k===void 0&&(k=setTimeout(de,e)),y}return Ce.cancel=he,Ce.flush=pe,Ce}function assignMergeValue(n,e,t){(t!==void 0&&!eq(n[e],t)||t===void 0&&!(e in n))&&baseAssignValue(n,e,t)}function isArrayLikeObject(n){return isObjectLike(n)&&isArrayLike$1(n)}function safeGet(n,e){if(!(e==="constructor"&&typeof n[e]=="function")&&e!="__proto__")return n[e]}function toPlainObject(n){return copyObject(n,keysIn(n))}function baseMergeDeep(n,e,t,i,r,g,y){var k=safeGet(n,t),L=safeGet(e,t),V=y.get(L);if(V){assignMergeValue(n,t,V);return}var z=g?g(k,L,t+"",n,e,y):void 0,j=z===void 0;if(j){var ie=isArray$3(L),oe=!ie&&isBuffer(L),re=!ie&&!oe&&isTypedArray$1(L);z=L,ie||oe||re?isArray$3(k)?z=k:isArrayLikeObject(k)?z=copyArray(k):oe?(j=!1,z=cloneBuffer(L,!0)):re?(j=!1,z=cloneTypedArray(L,!0)):z=[]:isPlainObject$1(L)||isArguments(L)?(z=k,isArguments(k)?z=toPlainObject(k):(!isObject$6(k)||isFunction$5(k))&&(z=initCloneObject(L))):j=!1}j&&(y.set(L,z),r(z,L,i,g,y),y.delete(L)),assignMergeValue(n,t,z)}function baseMerge(n,e,t,i,r){n!==e&&baseFor(e,function(g,y){if(r||(r=new Stack$1),isObject$6(g))baseMergeDeep(n,e,y,t,baseMerge,i,r);else{var k=i?i(safeGet(n,y),g,y+"",n,e,r):void 0;k===void 0&&(k=g),assignMergeValue(n,y,k)}},keysIn)}var mergeWith=createAssigner(function(n,e,t,i){baseMerge(n,e,t,i)});function findLastIndex$1(n,e,t){var i=n==null?0:n.length;if(!i)return-1;var r=i-1;return baseFindIndex(n,baseIteratee(e),r,!0)}function baseMap(n,e){var t=-1,i=isArrayLike$1(n)?Array(n.length):[];return baseEach(n,function(r,g,y){i[++t]=e(r,g,y)}),i}function map(n,e){var t=isArray$3(n)?arrayMap:baseMap;return t(n,baseIteratee(e))}function flatMap(n,e){return baseFlatten(map(n,e),1)}var INFINITY$1=1/0;function flattenDeep(n){var e=n==null?0:n.length;return e?baseFlatten(n,INFINITY$1):[]}function fromPairs(n){for(var e=-1,t=n==null?0:n.length,i={};++e=LARGE_ARRAY_SIZE){var V=createSet(n);if(V)return setToArray(V);y=!1,r=cacheHas,L=new SetCache}else L=k;e:for(;++i(n.CONTAINER="container",n.PAGE="page",n.ROOT="app",n.PAGE_FRAGMENT="page-fragment",n))(NodeType||{});const NODE_CONDS_KEY="displayConds";var ActionType=(n=>(n.COMP="comp",n.CODE="code",n.DATA_SOURCE="data-source",n))(ActionType||{}),HookType=(n=>(n.CODE="code",n))(HookType||{}),HookCodeType=(n=>(n.CODE="code",n.DATA_SOURCE_METHOD="data-source-method",n))(HookCodeType||{});const asyncLoadJs=(()=>{const n=new Map;return(e,t,i=globalThis.document)=>{let r=n.get(i);if(r||(r=new Map,n.set(i,r)),r.get(e))return r.get(e);const g=new Promise((y,k)=>{const L=i.createElement("script");L.type="text/javascript",t&&(L.crossOrigin=t),L.src=e,i.body.appendChild(L),L.onload=()=>{y()},L.onerror=()=>{k(new Error("加载失败"))},setTimeout(()=>{k(new Error("timeout"))},60*1e3)}).catch(y=>{throw r.delete(e),y});return r.set(e,g),r.get(e)}})(),addClassName=(n,e,t)=>{const i=e.querySelector(".".concat(t));i&&i!==n&&removeClassName(i,t),n.classList.contains(t)||n.classList.add(t)},removeClassName=(n,...e)=>{n.classList.remove(...e)},removeClassNameByClassName=(n,e)=>{const t=n.querySelector(".".concat(e));return t==null||t.classList.remove(e),t},injectStyle$1=(n,e)=>{const t=n.createElement("style");return t.innerHTML=e,n.head.appendChild(t),t},createDiv=({className:n,cssText:e})=>{const t=globalThis.document.createElement("div");return t.className=n,t.style.cssText=e,t},getDocument$1=()=>globalThis.document,calcValueByFontsize=(n,e)=>{if(!n)return e;const{fontSize:t}=n.documentElement.style;if(t){const i=globalThis.parseFloat(t)/100;return Number((e/i).toFixed(2))}return e},dslDomRelateConfig={getIdFromEl:n=>{var e;return(e=n==null?void 0:n.dataset)==null?void 0:e.tmagicId},getElById:(n,e)=>n==null?void 0:n.querySelector('[data-tmagic-id="'.concat(e,'"]')),setIdToEl:(n,e)=>{n.dataset.tmagicId="".concat(e)}},getIdFromEl=()=>dslDomRelateConfig.getIdFromEl,getElById=()=>dslDomRelateConfig.getElById,setIdToEl=()=>dslDomRelateConfig.setIdToEl,toLine=(n="")=>n.replace(/\B([A-Z])/g,"-$1").toLowerCase(),getNodePath=(n,e=[])=>{const t=[],i=function(r,g){if(!Array.isArray(g))return null;for(let y=0,k=g.length;y{const t={node:null,parent:null,page:null};if(!e)return t;if(n===e.id)return t.node=e,t;const i=getNodePath(n,e.items);return i.length&&(i.unshift(e),t.node=i[i.length-1],t.parent=i[i.length-2],i.forEach(r=>{if(isPage(r)||isPageFragment(r)){t.page=r;return}})),t},isObject$5=n=>Object.prototype.toString.call(n)==="[object Object]",isPop=n=>{var e;return!!((e=n==null?void 0:n.type)!=null&&e.toLowerCase().endsWith("pop"))},isPage=n=>{var e;return n?((e=n.type)==null?void 0:e.toLowerCase())===NodeType.PAGE:!1},isPageFragment=n=>{var e;return n?((e=n.type)==null?void 0:e.toLowerCase())===NodeType.PAGE_FRAGMENT:!1},isNumber$6=n=>/^(-?\d+)(\.\d+)?$/.test(n),getHost=n=>{var e;return(e=n.match(/\/\/([^/]+)/))==null?void 0:e[1]},isSameDomain=(n="",e=globalThis.location.host)=>/^(http[s]?:)?\/\//.test(n)?getHost(n)===e:!0,guid=(n=8)=>"x".repeat(n).replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),getKeysArray=n=>"".concat(n).replace(/\[(\d+)\]/g,".$1").split("."),getValueByKeyPath=(n="",e={})=>(Array.isArray(n)?n:getKeysArray(n)).reduce((i,r)=>{if(isObject$5(i)||Array.isArray(i)&&/^\d*$/.test("".concat(r)))return i[r];throw new Error("".concat(e,"中不存在").concat(n))},e),setValueByKeyPath=(n,e,t={})=>set(t,n,e),getNodes=(n,e=[])=>{const t=[],i=function(r,g){if(Array.isArray(g))for(let y=0,k=g.length;y"".concat(z)==="".concat(L.id));V>-1&&(r.slice(V,1),t.push(L)),L.items&&i(r,L.items)}};return i(n,e),t},getDepKeys=(n={},e)=>Array.from(Object.values(n).reduce((t,i)=>{var r;return(((r=i[e])==null?void 0:r.keys)||[]).forEach(g=>t.add(g)),t},new Set)),getDepNodeIds=(n={})=>Array.from(Object.values(n).reduce((e,t)=>(Object.keys(t).forEach(i=>{e.add(i)}),e),new Set)),replaceChildNode=(n,e,t)=>{var k;const i=getNodePath(n.id,e),r=i.pop();let g=i.pop();if(t&&(g=getNodePath(t,e).pop()),!r)throw new Error("未找到目标节点");if(!g)throw new Error("未找到父节点");const y=(k=g.items)==null?void 0:k.findIndex(L=>L.id===r.id);g.items.splice(y,1,n)},DSL_NODE_KEY_COPY_PREFIX="__tmagic__",compiledNode=(n,e,t={},i)=>{let r=[];if(!i)r=getDepKeys(t,e.id);else{const g=t[i];r=(g==null?void 0:g[e.id].keys)||[]}return r.forEach(g=>{const y=getKeysArray(g),k=y.map((z,j)=>j"u")try{const z=getValueByKeyPath(g,e);setValueByKeyPath(k.join("."),z,e),L=z}catch(z){console.warn(z);return}let V;try{V=n(L)}catch(z){console.error(z),V=""}setValueByKeyPath(g,V,e)}),e},compiledCond=(n,e,t,i=[])=>{var r,g;switch(typeof e=="string"&&typeof t>"u"&&(t=""),n){case"is":return e===t;case"not":return e!==t;case"=":return e===t;case"!=":return e!==t;case">":return e>t;case">=":return e>=t;case"<":return e1&&e>=i[0]&&e<=i[1];case"not_between":return i.length<2||ei[1];case"include":return(r=e==null?void 0:e.includes)==null?void 0:r.call(e,t);case"not_include":return typeof e>"u"||!((g=e.includes)!=null&&g.call(e,t))}return!1},getDefaultValueFromFields=n=>{const e={},t={string:void 0,object:{},array:[],boolean:void 0,number:void 0,null:null,any:void 0};return n.forEach(i=>{if(typeof i.defaultValue<"u"){if(i.type==="array"&&!Array.isArray(i.defaultValue)){e[i.name]=t.array;return}if(i.type==="object"&&!isObject$5(i.defaultValue)){if(typeof i.defaultValue=="string"){try{e[i.name]=JSON.parse(i.defaultValue)}catch(r){e[i.name]=t.object,console.warn("defaultValue 解析失败",i.defaultValue,r)}return}e[i.name]=t.object;return}e[i.name]=cloneDeep(i.defaultValue);return}if(i.type==="object"){e[i.name]=i.fields?getDefaultValueFromFields(i.fields):t.object;return}if(i.type){e[i.name]=t[i.type];return}e[i.name]=void 0}),e},DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX="ds-field::",DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX="ds-field-changed",getKeys$1=Object.keys,calculatePercentage=(n,e)=>{const t=globalThis.parseFloat(e)/100;return n*t},isPercentage$2=n=>/^(\d+)(\.\d+)?%$/.test("".concat(n)),convertToNumber=(n,e=0)=>typeof n=="number"?n:typeof n=="string"&&isPercentage$2(n)?calculatePercentage(e,n):parseFloat(n),dataSourceTemplateRegExp=/\$\{([\s\S]+?)\}/g,traverseNode=(n,e,t=[],i=!1)=>{i||e(n,t),Array.isArray(n.items)&&n.items.length&&(t.push(n),n.items.forEach(r=>{traverseNode(r,e,[...t],i)})),i&&e(n,t)},isValueIncludeDataSource=n=>!!(typeof n=="string"&&/\$\{([\s\S]+?)\}/.test(n)||Array.isArray(n)&&"".concat(n[0]).startsWith(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX)||n!=null&&n.isBindDataSource&&n.dataSourceId||n!=null&&n.isBindDataSourceField&&n.dataSourceId);var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}var dayjs_min$1={exports:{}},dayjs_min=dayjs_min$1.exports,hasRequiredDayjs_min;function requireDayjs_min(){return hasRequiredDayjs_min||(hasRequiredDayjs_min=1,function(n,e){(function(t,i){n.exports=i()})(dayjs_min,function(){var t=1e3,i=6e4,r=36e5,g="millisecond",y="second",k="minute",L="hour",V="day",z="week",j="month",ie="quarter",oe="year",re="date",ae="Invalid Date",le=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,de=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,ue={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(qe){var Ue=["th","st","nd","rd"],Et=qe%100;return"["+qe+(Ue[(Et-20)%10]||Ue[Et]||Ue[0])+"]"}},he=function(qe,Ue,Et){var At=String(qe);return!At||At.length>=Ue?qe:""+Array(Ue+1-At.length).join(Et)+qe},pe={s:he,z:function(qe){var Ue=-qe.utcOffset(),Et=Math.abs(Ue),At=Math.floor(Et/60),Lt=Et%60;return(Ue<=0?"+":"-")+he(At,2,"0")+":"+he(Lt,2,"0")},m:function qe(Ue,Et){if(Ue.date()1)return qe(ei[0])}else{var jt=Ue.name;$e[jt]=Ue,Lt=jt}return!At&&Lt&&(Ce=Lt),Lt||!At&&Ce},Fe=function(qe,Ue){if(Ie(qe))return qe.clone();var Et=typeof Ue=="object"?Ue:{};return Et.date=qe,Et.args=arguments,new Oe(Et)},Ve=pe;Ve.l=Ne,Ve.i=Ie,Ve.w=function(qe,Ue){return Fe(qe,{locale:Ue.$L,utc:Ue.$u,x:Ue.$x,$offset:Ue.$offset})};var Oe=function(){function qe(Et){this.$L=Ne(Et.locale,null,!0),this.parse(Et),this.$x=this.$x||Et.x||{},this[xe]=!0}var Ue=qe.prototype;return Ue.parse=function(Et){this.$d=function(At){var Lt=At.date,kt=At.utc;if(Lt===null)return new Date(NaN);if(Ve.u(Lt))return new Date;if(Lt instanceof Date)return new Date(Lt);if(typeof Lt=="string"&&!/Z$/i.test(Lt)){var ei=Lt.match(le);if(ei){var jt=ei[2]-1||0,ri=(ei[7]||"0").substring(0,3);return kt?new Date(Date.UTC(ei[1],jt,ei[3]||1,ei[4]||0,ei[5]||0,ei[6]||0,ri)):new Date(ei[1],jt,ei[3]||1,ei[4]||0,ei[5]||0,ei[6]||0,ri)}}return new Date(Lt)}(Et),this.init()},Ue.init=function(){var Et=this.$d;this.$y=Et.getFullYear(),this.$M=Et.getMonth(),this.$D=Et.getDate(),this.$W=Et.getDay(),this.$H=Et.getHours(),this.$m=Et.getMinutes(),this.$s=Et.getSeconds(),this.$ms=Et.getMilliseconds()},Ue.$utils=function(){return Ve},Ue.isValid=function(){return this.$d.toString()!==ae},Ue.isSame=function(Et,At){var Lt=Fe(Et);return this.startOf(At)<=Lt&&Lt<=this.endOf(At)},Ue.isAfter=function(Et,At){return Fe(Et)typeof n=="string"&&["table-select","tableSelect"].includes(n),asyncLoadConfig=(n,e,{asyncLoad:t,name:i,type:r})=>{r==="html"&&typeof t=="object"&&typeof i<"u"&&(t.name=i,n.asyncLoad=typeof e.asyncLoad=="object"?e.asyncLoad:t)},isMultipleValue=n=>typeof n=="string"&&["checkbox-group","checkboxGroup","table","cascader","group-list","groupList"].includes(n),initItemsValue=(n,e,t,{items:i,name:r,extensible:g})=>{Array.isArray(t[r])?e[r]=t[r].map((y,k)=>{var L;return createValues(n,i,y,(L=e[r])==null?void 0:L[k])}):(e[r]=createValues(n,i,t[r],e[r]),g&&(e[r]=Object.assign({},t[r],e[r])))},setValue=(n,e,t,i)=>{const{items:r,name:g,type:y,checkbox:k}=i;(isMultipleValue(y)||y==="tab"&&i.dynamic)&&(e[g]=t[g]||[]),r?initItemsValue(n,e,t,i):e[g]=getDefaultValue$2(n,i),y==="fieldset"&&k&&typeof e[g]=="object"&&(e[g].value=typeof t[g]=="object"&&t[g].value||0)},initValueItem=function(n,e,t,i){const{items:r}=e,{names:g}=e,{type:y,name:k}=e;return isTableSelect(y)&&k?(i[k]=t[k]||"",i):(asyncLoadConfig(i,t,e),k&&!r&&typeof t[k]<"u"?(typeof i[k]>"u"&&(y==="number"?i[k]=Number(t[k]):i[k]=typeof t[k]=="object"?cloneDeep(t[k]):t[k]),i):g?g.forEach(L=>i[L]=t[L]||""):k?(setValue(n,i,t,e),i):createValues(n,r,t,i))},createValues=function(n,e=[],t={},i={}){return Array.isArray(e)&&e.forEach(r=>{initValueItem(n,r,t,i)}),i},getDefaultValue$2=function(n,{defaultValue:e,type:t,filter:i,multiple:r}){if(typeof e=="function")return e(n);if(e!=="undefined")return typeof e<"u"?e:t==="number"||i==="number"?0:["switch","checkbox"].includes(t)?!1:r||t==="number-range"?[]:""},filterFunction=(n,e,t)=>typeof e=="function"?e(n,{values:(n==null?void 0:n.initValues)||{},model:t.model,parent:(n==null?void 0:n.parentValues)||{},formValue:(n==null?void 0:n.values)||t.model,prop:t.prop,config:t.config,index:t.index}):e,display$1=function(n,e,t){return e==="expand"?e:typeof e=="function"?filterFunction(n,e,t):e!==!1},getRules=function(n,e=[],t){return e=cloneDeep(e),typeof e=="object"&&!Array.isArray(e)&&(e=[e]),e.map(i=>{if(typeof i.validator=="function"){const r=i.validator;i.validator=(g,y,k,L,V)=>r({rule:g,value:t.config.names?t.model:y,callback:k,source:L,options:V},{values:(n==null?void 0:n.initValues)||{},model:t.model,parent:(n==null?void 0:n.parentValues)||{},formValue:(n==null?void 0:n.values)||t.model,prop:t.prop,config:t.config},n)}return i})},initValue=async(n,{initValues:e,config:t})=>{if(!Array.isArray(t))throw new Error("config应该为数组");let i=createValues(n,t,toRaw(e),{});const[r]=t;return r&&typeof r.onInitValue=="function"&&(i=await r.onInitValue(n,{formValue:i,initValue:e})),i||{}},datetimeFormatter=(n,e="-",t="YYYY-MM-DD HH:mm:ss")=>{if(n){let i;return["x","timestamp"].includes(t)?i=dayjs(n).valueOf():typeof n=="string"&&n.includes("Z")||n.constructor===Date?(dayjs.extend(utc),i=dayjs(n).utcOffset(8).format(t)):i=dayjs(n).format(t),i!=="Invalid Date"?i:e}return e},_hoisted_1$1l=["data-tmagic-id","data-tmagic-form-item-prop"],_hoisted_2$z=["innerHTML","title"],_hoisted_3$f=["innerHTML"],_hoisted_4$b=["innerHTML"],_hoisted_5$6=["innerHTML"],_hoisted_6$5=["innerHTML","title"],_hoisted_7$1=["innerHTML"],_hoisted_8$1=["innerHTML"],_hoisted_9=["innerHTML"],_hoisted_10=["innerHTML","title"],_hoisted_11=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14={key:5,style:{"text-align":"center"}},_sfc_main$3P=defineComponent({name:"MFormContainer",__name:"Container",props:{model:{},lastValues:{default:()=>({})},config:{},prop:{default:""},disabled:{type:Boolean},labelWidth:{},expandMore:{type:Boolean,default:!1},stepActive:{},size:{default:"small"},isCompare:{type:Boolean,default:!1}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=ref$1(!1),y=computed$1(()=>t.config.name||""),k=computed$1(()=>{if(!t.isCompare)return!1;const Ve=y.value?t.model[y.value]:t.model,Oe=y.value?t.lastValues[y.value]:t.lastValues;return!isEqual$1(Ve,Oe)}),L=computed$1(()=>t.config.items),V=computed$1(()=>{let Ve="";const{names:Oe}=t.config;if(Oe!=null&&Oe[0])[Ve]=Oe;else if(y.value)Ve=y.value;else return t.prop;return typeof t.prop<"u"&&t.prop!==""?"".concat(t.prop,".").concat(Ve):"".concat(Ve)}),z=computed$1(()=>le.value==="component"&&t.config.component?t.config.component:"m-".concat(L.value?"form":"fields","-").concat(le.value)),j=computed$1(()=>t.disabled||filterFunction(r,t.config.disabled,t)),ie=computed$1(()=>filterFunction(r,t.config.text,t)),oe=computed$1(()=>filterFunction(r,t.config.tooltip,t)),re=computed$1(()=>filterFunction(r,t.config.extra,t)),ae=computed$1(()=>getRules(r,t.config.rules,t)),le=computed$1(()=>{let{type:Ve}=t.config;return Ve=Ve&&filterFunction(r,Ve,t),Ve==="form"||Ve==="container"?"":(Ve==null?void 0:Ve.replace(/([A-Z])/g,"-$1").toLowerCase())||(L.value?"":"text")}),de=computed$1(()=>{const Ve=display$1(r,t.config.display,t);return Ve==="expand"?g.value:Ve}),ue=computed$1(()=>{var Ve;return(Ve=t.config.labelWidth)!=null?Ve:t.labelWidth});watchEffect(()=>{g.value=t.expandMore}),watch(k,Ve=>{le.value!=="hidden"&&(L.value&&!ie.value&&le.value&&de.value||de.value&&Ve&&le.value&&i("addDiffCount"))},{immediate:!0});const he=()=>g.value=!g.value,pe=Ve=>Ve[r==null?void 0:r.keyProps],Ce=(Ve,Oe)=>typeof Ve=="function"?Ve(r,Oe,{model:t.model,values:r==null?void 0:r.initValues,formValue:r==null?void 0:r.values,prop:V.value,config:t.config}):Ve==="number"?+Oe:Oe,$e=(Ve,Oe)=>{if(typeof Oe=="string"&&Ve)return Oe.replace(/^\s*/,"").replace(/\s*$/,"")},xe=()=>i("addDiffCount"),Ie=Ve=>typeof(Ve==null?void 0:Ve.modifyKey)<"u"&&Ve.modifyKey!=="",Ne=()=>{const Ve=typeof y.value;return Ve!=="string"&&Ve!=="symbol"&&Ve!=="number"||y.value===""?!1:typeof y.value=="number"?y.value>=0:!0},Fe=async function(Ve,Oe={}){var jt,ri;const{filter:ze,onChange:qe,trim:Ue,dynamicKey:Et}=t.config;let At=toRaw(Ve);const Lt=Oe.changeRecords||[],kt=[...Lt];try{At=Ce(ze,Ve),typeof qe=="function"&&(At=(jt=await qe(r,At,{model:t.model,values:r==null?void 0:r.initValues,formValue:r==null?void 0:r.values,prop:V.value,config:t.config,changeRecords:kt,setModel:(ni,Ci)=>{setValueByKeyPath(ni,Ci,t.model),t.config.name&&kt.push({propPath:V.value.replace("".concat(t.config.name),ni),value:Ci})}}))!=null?jt:At),At=(ri=$e(Ue,At))!=null?ri:At}catch(ni){console.error(ni)}let ei=V.value;Ie(Oe)?(Et?t.model[Oe.modifyKey]=At:Ne()&&(t.model[y.value][Oe.modifyKey]=At),ei=ei?"".concat(ei,".").concat(Oe.modifyKey):Oe.modifyKey,delete Oe.modifyKey):Ne()&&t.model!==At&&(Ve!==At||t.model[y.value]!==At)&&(t.model[y.value]=At),Lt.length===0&&kt.push({propPath:ei,value:At}),i("change",t.model,{...Oe,changeRecords:kt})};return(Ve,Oe)=>{const ze=resolveComponent("m-fields-hidden"),qe=resolveComponent("Container",!0);return Ve.config?(openBlock(),createElementBlock("div",{key:0,"data-tmagic-id":Ve.config.id,"data-tmagic-form-item-prop":V.value,style:normalizeStyle(Ve.config.tip?"display: flex;align-items: baseline;":""),class:normalizeClass("m-form-container m-container-".concat(le.value||""," ").concat(Ve.config.className||""))},[le.value==="hidden"?(openBlock(),createBlock(ze,{key:0,model:Ve.model,config:Ve.config,name:Ve.config.name,disabled:j.value,prop:V.value},null,8,["model","config","name","disabled","prop"])):L.value&&!ie.value&&le.value&&de.value?(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.model,"last-values":Ve.lastValues,"is-compare":Ve.isCompare,config:Ve.config,disabled:j.value,name:y.value,prop:V.value,"step-active":Ve.stepActive,"expand-more":g.value,"label-width":ue.value,onChange:Fe,onAddDiffCount:xe},null,40,["size","model","last-values","is-compare","config","disabled","name","prop","step-active","expand-more","label-width"])):le.value&&de.value&&!k.value?(openBlock(),createElementBlock(Fragment,{key:2},[createVNode(unref(_sfc_main$4a),{style:normalizeStyle(Ve.config.tip?"flex: 1":""),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:V.value,"label-width":ue.value,"label-position":Ve.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Ve.config.labelTitle},null,8,_hoisted_2$z)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_3$f)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.model,"last-values":Ve.lastValues,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe,onAddDiffCount:xe},null,40,["size","model","last-values","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.model,"last-values":Ve.lastValues,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe,onAddDiffCount:xe},null,40,["size","model","last-values","config","name","disabled","prop"])),re.value&&le.value!=="table"?(openBlock(),createElementBlock("div",{key:2,innerHTML:re.value,class:"m-form-tip"},null,8,_hoisted_4$b)):createCommentVNode("",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Ve.config.tip?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Ve.config.tip},null,8,_hoisted_5$6)]),default:withCtx(()=>[createVNode(unref(_sfc_main$49),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default$1))]),_:1})]),_:1})):createCommentVNode("",!0)],64)):le.value&&de.value&&k.value?(openBlock(),createElementBlock(Fragment,{key:3},[createVNode(unref(_sfc_main$4a),{style:normalizeStyle([Ve.config.tip?"flex: 1":"",{background:"#f7dadd"}]),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:V.value,"label-width":ue.value,"label-position":Ve.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Ve.config.labelTitle},null,8,_hoisted_6$5)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_7$1)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.lastValues,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.lastValues,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe},null,40,["size","model","config","name","disabled","prop"])),re.value?(openBlock(),createElementBlock("div",{key:2,innerHTML:re.value,class:"m-form-tip"},null,8,_hoisted_8$1)):createCommentVNode("",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Ve.config.tip?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Ve.config.tip},null,8,_hoisted_9)]),default:withCtx(()=>[createVNode(unref(_sfc_main$49),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default$1))]),_:1})]),_:1})):createCommentVNode("",!0),createVNode(unref(_sfc_main$4a),{style:normalizeStyle([Ve.config.tip?"flex: 1":"",{background:"#def7da"}]),class:normalizeClass({"tmagic-form-hidden":"".concat(ue.value)==="0"||!ie.value}),prop:V.value,"label-width":ue.value,"label-position":Ve.config.labelPosition,rules:ae.value},{label:withCtx(()=>[createBaseVNode("span",{innerHTML:le.value==="checkbox"?"":ie.value,title:Ve.config.labelTitle},null,8,_hoisted_10)]),default:withCtx(()=>[oe.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:oe.value},null,8,_hoisted_11)]),default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.model,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe},null,40,["size","model","config","name","disabled","prop"]))]),_:1})):(openBlock(),createBlock(resolveDynamicComponent(z.value),{key:pe(Ve.config),size:Ve.size,model:Ve.model,config:Ve.config,name:y.value,disabled:j.value,prop:V.value,onChange:Fe},null,40,["size","model","config","name","disabled","prop"])),re.value?(openBlock(),createElementBlock("div",{key:2,innerHTML:re.value,class:"m-form-tip"},null,8,_hoisted_12)):createCommentVNode("",!0)]),_:1},8,["style","class","prop","label-width","label-position","rules"]),Ve.config.tip?(openBlock(),createBlock(unref(_sfc_main$3R),{key:1,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",{innerHTML:Ve.config.tip},null,8,_hoisted_13)]),default:withCtx(()=>[createVNode(unref(_sfc_main$49),{style:{"line-height":"40px","margin-left":"5px"}},{default:withCtx(()=>[createVNode(unref(warning_filled_default$1))]),_:1})]),_:1})):createCommentVNode("",!0)],64)):L.value&&de.value?(openBlock(),createElementBlock(Fragment,{key:4},[(Ne()?Ve.model[y.value]:Ve.model)?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(L.value,Ue=>(openBlock(),createBlock(qe,{key:pe(Ue),model:Ne()?Ve.model[y.value]:Ve.model,"last-values":Ne()?Ve.lastValues[y.value]||{}:Ve.lastValues,"is-compare":Ve.isCompare,config:Ue,size:Ve.size,disabled:j.value,"step-active":Ve.stepActive,"expand-more":g.value,"label-width":ue.value,prop:V.value,onChange:Fe,onAddDiffCount:xe},null,8,["model","last-values","is-compare","config","size","disabled","step-active","expand-more","label-width","prop"]))),128)):createCommentVNode("",!0)],64)):createCommentVNode("",!0),Ve.config.expand&&le.value!=="fieldset"?(openBlock(),createElementBlock("div",_hoisted_14,[createVNode(unref(_sfc_main$4q),{type:"primary",size:"small",disabled:!1,link:"",onClick:he},{default:withCtx(()=>[createTextVNode(toDisplayString(g.value?"收起配置":"展开更多配置"),1)]),_:1})])):createCommentVNode("",!0)],14,_hoisted_1$1l)):createCommentVNode("",!0)}}}),_hoisted_1$1k=["innerHTML"],_hoisted_2$y=["innerHTML"],_hoisted_3$e={key:1},_hoisted_4$a=["innerHTML"],_hoisted_5$5=["innerHTML"],_hoisted_6$4={key:2,style:{display:"flex"}},_hoisted_7={style:{flex:"1"}},_hoisted_8=["src"],_sfc_main$3O=defineComponent({name:"MFormFieldset",__name:"Fieldset",props:{labelWidth:{},prop:{default:""},size:{},model:{},lastValues:{default:()=>({})},isCompare:{type:Boolean,default:!1},config:{},rules:{default:{}},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=computed$1(()=>t.config.name||""),y=computed$1(()=>{var ie;return t.config.expand&&g.value?(ie=t.model[g.value])==null?void 0:ie.value:!0}),k=computed$1(()=>t.config.items?t.config.labelWidth||t.labelWidth:t.config.labelWidth||t.labelWidth||(t.config.text?void 0:"0")),L=ie=>{i("change",ie,{modifyKey:"value"})},V=(ie,oe)=>i("change",ie,oe),z=(ie,oe)=>{var re;return(re=ie[(r==null?void 0:r.keyProp)||"__key"])!=null?re:oe},j=()=>i("addDiffCount");return(ie,oe)=>(g.value?ie.model[g.value]:ie.model)?(openBlock(),createElementBlock("fieldset",{key:0,class:"m-fieldset",style:normalizeStyle(y.value?"padding: 15px":"border: 0")},[g.value&&ie.config.checkbox?(openBlock(),createBlock(resolveDynamicComponent(y.value?"legend":"div"),{key:0},{default:withCtx(()=>[createVNode(unref(_sfc_main$4n),{modelValue:ie.model[g.value].value,"onUpdate:modelValue":[oe[0]||(oe[0]=re=>ie.model[g.value].value=re),L],prop:"".concat(ie.prop).concat(ie.prop?".":"").concat(ie.config.name,".value"),"true-value":1,"false-value":0},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:ie.config.legend},null,8,_hoisted_1$1k),ie.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:ie.config.extra,class:"m-form-tip"},null,8,_hoisted_2$y)):createCommentVNode("",!0)]),_:1},8,["modelValue","prop"])]),_:1})):(openBlock(),createElementBlock("legend",_hoisted_3$e,[createBaseVNode("span",{innerHTML:ie.config.legend},null,8,_hoisted_4$a),ie.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:ie.config.extra,class:"m-form-tip"},null,8,_hoisted_5$5)):createCommentVNode("",!0)])),ie.config.schematic&&y.value?(openBlock(),createElementBlock("div",_hoisted_6$4,[createBaseVNode("div",_hoisted_7,[(openBlock(!0),createElementBlock(Fragment,null,renderList(ie.config.items,(re,ae)=>(openBlock(),createBlock(_sfc_main$3P,{key:z(re,ae),model:g.value?ie.model[g.value]:ie.model,lastValues:g.value?ie.lastValues[g.value]:ie.lastValues,"is-compare":ie.isCompare,rules:g.value?ie.rules[g.value]:[],config:re,prop:ie.prop,disabled:ie.disabled,labelWidth:k.value,size:ie.size,onChange:V,onAddDiffCount:oe[1]||(oe[1]=le=>j())},null,8,["model","lastValues","is-compare","rules","config","prop","disabled","labelWidth","size"]))),128))]),createBaseVNode("img",{class:"m-form-schematic",src:ie.config.schematic},null,8,_hoisted_8)])):y.value?(openBlock(!0),createElementBlock(Fragment,{key:3},renderList(ie.config.items,(re,ae)=>(openBlock(),createBlock(_sfc_main$3P,{key:z(re,ae),model:g.value?ie.model[g.value]:ie.model,lastValues:g.value?ie.lastValues[g.value]:ie.lastValues,"is-compare":ie.isCompare,rules:g.value?ie.rules[g.value]:[],config:re,prop:ie.prop,labelWidth:k.value,size:ie.size,disabled:ie.disabled,onChange:V,onAddDiffCount:oe[2]||(oe[2]=le=>j())},null,8,["model","lastValues","is-compare","rules","config","prop","labelWidth","size","disabled"]))),128)):createCommentVNode("",!0)],4)):createCommentVNode("",!0)}}),_hoisted_1$1j={class:"m-fields-group-list-item"},_hoisted_2$x={style:{"text-align":"right","margin-top":"20px"}},_hoisted_3$d=["innerHTML"],_sfc_main$3N=defineComponent({name:"MFormGroupListItem",__name:"GroupListItem",props:{model:{},lastValues:{},isCompare:{type:Boolean},groupModel:{},config:{},labelWidth:{},prop:{},size:{},index:{},disabled:{type:Boolean}},emits:["swap-item","remove-item","change","addDiffCount","copy-item"],setup(n,{emit:e}){var xe;const t=n,i=e,r=inject("mForm"),g=(xe=t.config.defaultExpandQuantity)!=null?xe:7,y=ref$1(t.config.expandAll||g>t.index),k=computed$1(()=>({type:"row",span:t.config.span||24,items:t.config.items,labelWidth:t.config.labelWidth,[(r==null?void 0:r.keyProp)||"__key"]:"".concat(t.config[(r==null?void 0:r.keyProp)||"__key"]).concat(String(t.index))})),L=computed$1(()=>{if(t.config.titleKey&&t.model[t.config.titleKey])return t.model[t.config.titleKey];if(t.config.title)return filterFunction(r,t.config.title,t);const Ie=t.config.titlePrefix||"组";return"".concat(Ie," ").concat(String(t.index+1))}),V=computed$1(()=>{var Ie;return((Ie=t.groupModel)==null?void 0:Ie.length)||0}),z=computed$1(()=>filterFunction(r,t.config.itemExtra,t)),j=()=>i("remove-item",t.index),ie=(Ie,Ne)=>{i("change",t.model,Ne)},oe=()=>{y.value=!y.value},re=computed$1(()=>{const Ie=t.config.delete;return Ie&&typeof Ie=="function"?Ie(t.model,t.index,r==null?void 0:r.values):!0}),ae=(Ie=0)=>i("swap-item",t.index,t.index+Ie),le=computed$1(()=>{const{movable:Ie}=t.config;return Ie===void 0?!0:typeof Ie=="function"?Ie(r,t.index||0,t.model,t.groupModel):Ie}),de=computed$1(()=>filterFunction(r,t.config.copyable,t)),ue=()=>i("addDiffCount"),he=()=>{i("copy-item",t.index)},pe=ref$1(!1),Ce=ref$1(1),$e=()=>{pe.value=!1,i("swap-item",t.index,Ce.value-1)};return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$1j,[createBaseVNode("div",null,[createVNode(unref(_sfc_main$4q),{link:"",disabled:Ie.disabled,onClick:oe},{default:withCtx(()=>[createVNode(unref(_sfc_main$49),null,{default:withCtx(()=>[y.value?(openBlock(),createBlock(unref(caret_bottom_default),{key:0})):(openBlock(),createBlock(unref(caret_right_default$1),{key:1}))]),_:1}),createTextVNode(toDisplayString(L.value),1)]),_:1},8,["disabled"]),withDirectives(createVNode(unref(_sfc_main$4q),{type:"danger",size:"small",link:"",icon:unref(delete_default$1),disabled:Ie.disabled,onClick:j},null,8,["icon","disabled"]),[[vShow,re.value]]),de.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,link:"",size:"small",type:"primary",icon:unref(document_copy_default$1),disabled:Ie.disabled,onClick:he},{default:withCtx(()=>Ne[6]||(Ne[6]=[createTextVNode("复制")])),_:1,__:[6]},8,["icon","disabled"])):createCommentVNode("",!0),le.value?(openBlock(),createElementBlock(Fragment,{key:1},[withDirectives(createVNode(unref(_sfc_main$4q),{link:"",size:"small",disabled:Ie.disabled,icon:unref(caret_top_default),onClick:Ne[0]||(Ne[0]=Fe=>ae(-1))},{default:withCtx(()=>Ne[7]||(Ne[7]=[createTextVNode("上移")])),_:1,__:[7]},8,["disabled","icon"]),[[vShow,Ie.index!==0]]),withDirectives(createVNode(unref(_sfc_main$4q),{link:"",size:"small",disabled:Ie.disabled,icon:unref(caret_bottom_default),onClick:Ne[1]||(Ne[1]=Fe=>ae(1))},{default:withCtx(()=>Ne[8]||(Ne[8]=[createTextVNode("下移")])),_:1,__:[8]},8,["disabled","icon"]),[[vShow,Ie.index!==V.value-1]])],64)):createCommentVNode("",!0),Ie.config.moveSpecifyLocation?(openBlock(),createBlock(unref(_sfc_main$45),{key:2,trigger:"click",placement:"top",width:"200",visible:pe.value},{reference:withCtx(()=>[createVNode(unref(_sfc_main$4q),{link:"",size:"small",type:"primary",icon:unref(position_default),disabled:Ie.disabled,onClick:Ne[2]||(Ne[2]=Fe=>pe.value=!0)},{default:withCtx(()=>Ne[9]||(Ne[9]=[createTextVNode("移动至")])),_:1,__:[9]},8,["icon","disabled"])]),default:withCtx(()=>[createBaseVNode("div",null,[createBaseVNode("div",null,[Ne[10]||(Ne[10]=createTextVNode(" 第")),createVNode(unref(_sfc_main$47),{style:{margin:"0 5px"},modelValue:Ce.value,"onUpdate:modelValue":Ne[3]||(Ne[3]=Fe=>Ce.value=Fe),size:"small",min:1,disabled:Ie.disabled},null,8,["modelValue","disabled"]),Ne[11]||(Ne[11]=createTextVNode("行 "))]),createBaseVNode("div",_hoisted_2$x,[createVNode(unref(_sfc_main$4q),{size:"small",text:"",onClick:Ne[4]||(Ne[4]=Fe=>pe.value=!1)},{default:withCtx(()=>Ne[12]||(Ne[12]=[createTextVNode("取消")])),_:1,__:[12]}),createVNode(unref(_sfc_main$4q),{size:"small",type:"primary",onClick:$e},{default:withCtx(()=>Ne[13]||(Ne[13]=[createTextVNode("确认")])),_:1,__:[13]})])])]),_:1},8,["visible"])):createCommentVNode("",!0),z.value?(openBlock(),createElementBlock("span",{key:3,innerHTML:z.value,class:"m-form-tip"},null,8,_hoisted_3$d)):createCommentVNode("",!0)]),y.value?(openBlock(),createBlock(_sfc_main$3P,{key:0,config:k.value,model:Ie.model,lastValues:Ie.lastValues,"is-compare":Ie.isCompare,labelWidth:Ie.labelWidth,prop:"".concat(Ie.prop).concat(Ie.prop?".":"").concat(String(Ie.index)),size:Ie.size,disabled:Ie.disabled,onChange:ie,onAddDiffCount:Ne[5]||(Ne[5]=Fe=>ue())},null,8,["config","model","lastValues","is-compare","labelWidth","prop","size","disabled"])):createCommentVNode("",!0)]))}}),_hoisted_1$1i={class:"m-fields-group-list"},_hoisted_2$w=["innerHTML"],_hoisted_3$c={key:1,class:"el-table__empty-block"},_sfc_main$3M=defineComponent({name:"MFormGroupList",__name:"GroupList",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=computed$1(()=>t.name?typeof t.config.addable=="function"?t.config.addable(r,{model:t.model[t.name],formValue:r==null?void 0:r.values,prop:t.prop,config:t.config}):typeof t.config.addable>"u"?!0:t.config.addable:!1),y=(re,ae)=>{i("change",t.model,ae)},k=async()=>{if(!t.name)return!1;let re={};typeof t.config.defaultAdd=="function"?re=await t.config.defaultAdd(r,{model:t.model[t.name],formValue:r==null?void 0:r.values,prop:t.prop,config:t.config}):t.config.defaultAdd&&(re=t.config.defaultAdd);const ae=await initValue(r,{config:t.config.items,initValues:re});t.model[t.name].push(ae),i("change",t.model[t.name],{changeRecords:[{propPath:"".concat(t.prop,".").concat(t.model[t.name].length-1),value:ae}]})},L=re=>{if(!t.name)return!1;t.model[t.name].splice(re,1),i("change",t.model[t.name])},V=re=>{t.model[t.name].push(cloneDeep(t.model[t.name][re]))},z=(re,ae)=>{if(!t.name)return!1;const{length:le}=t.model[t.name],[de]=t.model[t.name].splice(re,1);t.model[t.name].splice(Math.min(Math.max(ae,0),le-1),0,de),i("change",t.model[t.name])},j=()=>{t.config.type="table",t.config.groupItems=t.config.items,t.config.items=t.config.tableItems||t.config.items.map(re=>({...re,label:re.label||re.text,text:null}))},ie=()=>i("addDiffCount"),oe=(re,ae)=>(re==null?void 0:re[ae])||{};return(re,ae)=>(openBlock(),createElementBlock("div",_hoisted_1$1i,[re.config.extra?(openBlock(),createElementBlock("div",{key:0,innerHTML:re.config.extra,style:{color:"rgba(0, 0, 0, 0.45)"}},null,8,_hoisted_2$w)):createCommentVNode("",!0),!re.model[re.name]||!re.model[re.name].length?(openBlock(),createElementBlock("div",_hoisted_3$c,ae[1]||(ae[1]=[createBaseVNode("span",{class:"el-table__empty-text"},"暂无数据",-1)]))):(openBlock(!0),createElementBlock(Fragment,{key:2},renderList(re.model[re.name],(le,de)=>(openBlock(),createBlock(_sfc_main$3N,{key:de,model:le,lastValues:oe(re.lastValues[re.name],de),"is-compare":re.isCompare,config:re.config,prop:re.prop,index:de,"label-width":re.labelWidth,size:re.size,disabled:re.disabled,"group-model":re.model[re.name],onRemoveItem:L,onCopyItem:V,onSwapItem:z,onChange:y,onAddDiffCount:ae[0]||(ae[0]=ue=>ie())},null,8,["model","lastValues","is-compare","config","prop","index","label-width","size","disabled","group-model"]))),128)),g.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:3,type:"primary",size:re.config.enableToggleMode?"small":"default",disabled:re.disabled,onClick:k},{default:withCtx(()=>ae[2]||(ae[2]=[createTextVNode("新增")])),_:1,__:[2]},8,["size","disabled"])):createCommentVNode("",!0),re.config.enableToggleMode?(openBlock(),createBlock(unref(_sfc_main$4q),{key:4,icon:unref(grid_default$1),size:"small",onClick:j},{default:withCtx(()=>ae[3]||(ae[3]=[createTextVNode("切换为表格")])),_:1,__:[3]},8,["icon"])):createCommentVNode("",!0)]))}}),_hoisted_1$1h={style:{width:"100%",display:"flex","align-items":"center"}},_hoisted_2$v=["innerHTML"],_hoisted_3$b={key:0,style:{display:"flex"}},_hoisted_4$9={style:{flex:"1"}},_hoisted_5$4=["src"],_sfc_main$3L=defineComponent({name:"MFormPanel",__name:"Panel",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=ref$1(t.config.expand!==!1),y=computed$1(()=>t.config.items),k=z=>filterFunction(r,z,t),L=(z,j)=>{i("change",t.model,j)},V=()=>i("addDiffCount");return(z,j)=>y.value&&y.value.length?(openBlock(),createBlock(unref(_sfc_main$4p),{key:0,class:"box-card m-form-panel","body-style":{display:g.value?"block":"none"}},{header:withCtx(()=>[createBaseVNode("div",_hoisted_1$1h,[createVNode(unref(_sfc_main$4q),{style:{padding:"0"},link:"",icon:g.value?unref(caret_bottom_default):unref(caret_right_default$1),onClick:j[0]||(j[0]=ie=>g.value=!g.value)},null,8,["icon"]),z.config&&z.config.extra?(openBlock(),createElementBlock("span",{key:0,innerHTML:z.config.extra,class:"m-form-tip"},null,8,_hoisted_2$v)):createCommentVNode("",!0),renderSlot(z.$slots,"header",{},()=>[createTextVNode(toDisplayString(k(z.config.title)),1)])])]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(z.$slots,"default"),z.config.schematic?(openBlock(),createElementBlock("div",_hoisted_3$b,[createBaseVNode("div",_hoisted_4$9,[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,(ie,oe)=>{var re,ae;return openBlock(),createBlock(_sfc_main$3P,{key:(ae=ie[((re=unref(r))==null?void 0:re.keyProp)||"__key"])!=null?ae:oe,config:ie,model:z.name?z.model[z.name]:z.model,lastValues:z.name?z.lastValues[z.name]:z.lastValues,"is-compare":z.isCompare,prop:z.prop,size:z.size,disabled:z.disabled,"label-width":z.config.labelWidth||z.labelWidth,onChange:L,onAddDiffCount:j[1]||(j[1]=le=>V())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])}),128))]),createBaseVNode("img",{class:"m-form-schematic",src:z.config.schematic},null,8,_hoisted_5$4)])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(y.value,(ie,oe)=>{var re,ae;return openBlock(),createBlock(_sfc_main$3P,{key:(ae=ie[((re=unref(r))==null?void 0:re.keyProp)||"__key"])!=null?ae:oe,config:ie,model:z.name?z.model[z.name]:z.model,lastValues:z.name?z.lastValues[z.name]:z.lastValues,"is-compare":z.isCompare,prop:z.prop,size:z.size,disabled:z.disabled,"label-width":z.config.labelWidth||z.labelWidth,onChange:L,onAddDiffCount:j[2]||(j[2]=le=>V())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])}),128))])]),_:3},8,["body-style"])):createCommentVNode("",!0)}}),_sfc_main$3K=defineComponent({name:"MFormCol",__name:"Col",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},labelWidth:{},expandMore:{type:Boolean},span:{},size:{},prop:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=computed$1(()=>display$1(r,t.config.display,t)),y=(L,V)=>i("change",L,V),k=()=>i("addDiffCount");return(L,V)=>withDirectives((openBlock(),createBlock(unref(_sfc_main$4l),{span:L.span},{default:withCtx(()=>[createVNode(_sfc_main$3P,{model:L.model,lastValues:L.lastValues,"is-compare":L.isCompare,config:L.config,prop:L.prop,"label-width":L.config.labelWidth||L.labelWidth,"expand-more":L.expandMore,size:L.size,disabled:L.disabled,onChange:y,onAddDiffCount:k},null,8,["model","lastValues","is-compare","config","prop","label-width","expand-more","size","disabled"])]),_:1},8,["span"])),[[vShow,g.value&&L.config.type!=="hidden"]])}}),_sfc_main$3J=defineComponent({name:"MFormRow",__name:"Row",props:{model:{},lastValues:{},isCompare:{type:Boolean},config:{},name:{},labelWidth:{},prop:{},size:{},expandMore:{type:Boolean},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=(k,L)=>{i("change",t.name?t.model[t.name]:t.model,L)},y=()=>i("addDiffCount");return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$41),{gutter:10},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.config.items,(V,z)=>{var j,ie;return openBlock(),createBlock(_sfc_main$3K,{key:(ie=V[((j=unref(r))==null?void 0:j.keyProp)||"__key"])!=null?ie:z,span:V.span||k.config.span||24/k.config.items.length,config:V,labelWidth:k.config.labelWidth||k.labelWidth,expandMore:k.expandMore,model:k.name?k.model[k.name]:k.model,lastValues:k.name?k.lastValues[k.name]:k.lastValues,"is-compare":k.isCompare,prop:k.prop,size:k.size,disabled:k.disabled,onChange:g,onAddDiffCount:y},null,8,["span","config","labelWidth","expandMore","model","lastValues","is-compare","prop","size","disabled"])}),128))]),_:1}))}}),_sfc_main$3I=defineComponent({name:"MFormStep",__name:"Step",props:{model:{},name:{},lastValues:{},isCompare:{type:Boolean},config:{},stepActive:{default:1},labelWidth:{},size:{},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){const t=n,i=e,r=inject("mForm"),g=ref$1(1);watchEffect(()=>{g.value=t.stepActive});const y=V=>{g.value=V+1,r==null||r.$emit("update:stepActive",g.value)},k=(V,z)=>{i("change",t.model,z)},L=()=>i("addDiffCount");return(V,z)=>(openBlock(),createElementBlock("div",null,[createVNode(unref(_sfc_main$3Z),{active:g.value,"align-center":"",space:V.config.space},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(V.config.items,(j,ie)=>(openBlock(),createBlock(unref(_sfc_main$3_),{key:j.__key,title:j.title,active:g.value,onClick:oe=>y(ie)},null,8,["title","active","onClick"]))),128))]),_:1},8,["active","space"]),(openBlock(!0),createElementBlock(Fragment,null,renderList(V.config.items,(j,ie)=>(openBlock(),createElementBlock(Fragment,null,[(openBlock(!0),createElementBlock(Fragment,null,renderList(j.items,oe=>{var re;return openBlock(),createElementBlock(Fragment,null,[oe?withDirectives((openBlock(),createBlock(_sfc_main$3P,{key:oe[((re=unref(r))==null?void 0:re.keyProp)||"__key"],config:oe,model:j.name?V.model[j.name]:V.model,lastValues:j.name?V.lastValues[j.name]:V.lastValues,"is-compare":V.isCompare,prop:"".concat(j.name),size:V.size,disabled:V.disabled,"label-width":V.config.labelWidth||V.labelWidth,onChange:k,onAddDiffCount:z[0]||(z[0]=ae=>L())},null,8,["config","model","lastValues","is-compare","prop","size","disabled","label-width"])),[[vShow,g.value-1===ie]]):createCommentVNode("",!0)],64)}),256))],64))),256))]))}});/**! * Sortable 1.15.6 * @author RubaXa * @author owenm * @license MIT */function ownKeys(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);e&&(i=i.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,i)}return t}function _objectSpread2(n){for(var e=1;e=0)&&(t[r]=n[r]);return t}function _objectWithoutProperties(n,e){if(n==null)return{};var t=_objectWithoutPropertiesLoose(n,e),i,r;if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(n);for(r=0;r=0)&&Object.prototype.propertyIsEnumerable.call(n,i)&&(t[i]=n[i])}return t}var version="1.15.6";function userAgent$2(n){if(typeof window<"u"&&window.navigator)return!!navigator.userAgent.match(n)}var IE11OrLess=userAgent$2(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i),Edge=userAgent$2(/Edge/i),FireFox=userAgent$2(/firefox/i),Safari=userAgent$2(/safari/i)&&!userAgent$2(/chrome/i)&&!userAgent$2(/android/i),IOS=userAgent$2(/iP(ad|od|hone)/i),ChromeForAndroid=userAgent$2(/chrome/i)&&userAgent$2(/android/i),captureMode={capture:!1,passive:!1};function on$1(n,e,t){n.addEventListener(e,t,!IE11OrLess&&captureMode)}function off(n,e,t){n.removeEventListener(e,t,!IE11OrLess&&captureMode)}function matches(n,e){if(e){if(e[0]===">"&&(e=e.substring(1)),n)try{if(n.matches)return n.matches(e);if(n.msMatchesSelector)return n.msMatchesSelector(e);if(n.webkitMatchesSelector)return n.webkitMatchesSelector(e)}catch(t){return!1}return!1}}function getParentOrHost(n){return n.host&&n!==document&&n.host.nodeType?n.host:n.parentNode}function closest(n,e,t,i){if(n){t=t||document;do{if(e!=null&&(e[0]===">"?n.parentNode===t&&matches(n,e):matches(n,e))||i&&n===t)return n;if(n===t)break}while(n=getParentOrHost(n))}return null}var R_SPACE=/\s+/g;function toggleClass(n,e,t){if(n&&e)if(n.classList)n.classList[t?"add":"remove"](e);else{var i=(" "+n.className+" ").replace(R_SPACE," ").replace(" "+e+" "," ");n.className=(i+(t?" "+e:"")).replace(R_SPACE," ")}}function css$2(n,e,t){var i=n&&n.style;if(i){if(t===void 0)return document.defaultView&&document.defaultView.getComputedStyle?t=document.defaultView.getComputedStyle(n,""):n.currentStyle&&(t=n.currentStyle),e===void 0?t:t[e];!(e in i)&&e.indexOf("webkit")===-1&&(e="-webkit-"+e),i[e]=t+(typeof t=="string"?"":"px")}}function matrix(n,e){var t="";if(typeof n=="string")t=n;else do{var i=css$2(n,"transform");i&&i!=="none"&&(t=i+" "+t)}while(!e&&(n=n.parentNode));var r=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return r&&new r(t)}function find$3(n,e,t){if(n){var i=n.getElementsByTagName(e),r=0,g=i.length;if(t)for(;r=g,!y)return i;if(i===getWindowScrollingElement())break;i=getParentAutoScrollElement(i,!1)}return!1}function getChild(n,e,t,i){for(var r=0,g=0,y=n.children;g2&&arguments[2]!==void 0?arguments[2]:{},r=i.evt,g=_objectWithoutProperties(i,_excluded);PluginManager.pluginEvent.bind(Sortable)(e,t,_objectSpread2({dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,dragStarted:moved,putSortable,activeSortable:Sortable.active,originalEvent:r,oldIndex,oldDraggableIndex,newIndex,newDraggableIndex,hideGhostForTarget:_hideGhostForTarget,unhideGhostForTarget:_unhideGhostForTarget,cloneNowHidden:function(){cloneHidden=!0},cloneNowShown:function(){cloneHidden=!1},dispatchSortableEvent:function(k){_dispatchEvent({sortable:t,name:k,originalEvent:r})}},g))};function _dispatchEvent(n){dispatchEvent(_objectSpread2({putSortable,cloneEl,targetEl:dragEl,rootEl,oldIndex,oldDraggableIndex,newIndex,newDraggableIndex},n))}var dragEl,parentEl,ghostEl,rootEl,nextEl,lastDownEl,cloneEl,cloneHidden,oldIndex,newIndex,oldDraggableIndex,newDraggableIndex,activeGroup,putSortable,awaitingDragStarted=!1,ignoreNextClick=!1,sortables=[],tapEvt,touchEvt,lastDx,lastDy,tapDistanceLeft,tapDistanceTop,moved,lastTarget,lastDirection,pastFirstInvertThresh=!1,isCircumstantialInvert=!1,targetMoveDistance,ghostRelativeParent,ghostRelativeParentInitialScroll=[],_silent=!1,savedInputChecked=[],documentExists=typeof document<"u",PositionGhostAbsolutely=IOS,CSSFloatProperty=Edge||IE11OrLess?"cssFloat":"float",supportDraggable=documentExists&&!ChromeForAndroid&&!IOS&&"draggable"in document.createElement("div"),supportCssPointerEvents=function(){if(documentExists){if(IE11OrLess)return!1;var n=document.createElement("x");return n.style.cssText="pointer-events:auto",n.style.pointerEvents==="auto"}}(),_detectDirection=function(e,t){var i=css$2(e),r=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),g=getChild(e,0,t),y=getChild(e,1,t),k=g&&css$2(g),L=y&&css$2(y),V=k&&parseInt(k.marginLeft)+parseInt(k.marginRight)+getRect$1(g).width,z=L&&parseInt(L.marginLeft)+parseInt(L.marginRight)+getRect$1(y).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(g&&k.float&&k.float!=="none"){var j=k.float==="left"?"left":"right";return y&&(L.clear==="both"||L.clear===j)?"vertical":"horizontal"}return g&&(k.display==="block"||k.display==="flex"||k.display==="table"||k.display==="grid"||V>=r&&i[CSSFloatProperty]==="none"||y&&i[CSSFloatProperty]==="none"&&V+z>r)?"vertical":"horizontal"},_dragElInRowColumn=function(e,t,i){var r=i?e.left:e.top,g=i?e.right:e.bottom,y=i?e.width:e.height,k=i?t.left:t.top,L=i?t.right:t.bottom,V=i?t.width:t.height;return r===k||g===L||r+y/2===k+V/2},_detectNearestEmptySortable=function(e,t){var i;return sortables.some(function(r){var g=r[expando].options.emptyInsertThreshold;if(!(!g||lastChild(r))){var y=getRect$1(r),k=e>=y.left-g&&e<=y.right+g,L=t>=y.top-g&&t<=y.bottom+g;if(k&&L)return i=r}}),i},_prepareGroup=function(e){function t(g,y){return function(k,L,V,z){var j=k.options.group.name&&L.options.group.name&&k.options.group.name===L.options.group.name;if(g==null&&(y||j))return!0;if(g==null||g===!1)return!1;if(y&&g==="clone")return g;if(typeof g=="function")return t(g(k,L,V,z),y)(k,L,V,z);var ie=(y?k:L).options.group.name;return g===!0||typeof g=="string"&&g===ie||g.join&&g.indexOf(ie)>-1}}var i={},r=e.group;(!r||_typeof(r)!="object")&&(r={name:r}),i.name=r.name,i.checkPull=t(r.pull,!0),i.checkPut=t(r.put),i.revertClone=r.revertClone,e.group=i},_hideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$2(ghostEl,"display","none")},_unhideGhostForTarget=function(){!supportCssPointerEvents&&ghostEl&&css$2(ghostEl,"display","")};documentExists&&!ChromeForAndroid&&document.addEventListener("click",function(n){if(ignoreNextClick)return n.preventDefault(),n.stopPropagation&&n.stopPropagation(),n.stopImmediatePropagation&&n.stopImmediatePropagation(),ignoreNextClick=!1,!1},!0);var nearestEmptyInsertDetectEvent=function(e){if(dragEl){e=e.touches?e.touches[0]:e;var t=_detectNearestEmptySortable(e.clientX,e.clientY);if(t){var i={};for(var r in e)e.hasOwnProperty(r)&&(i[r]=e[r]);i.target=i.rootEl=t,i.preventDefault=void 0,i.stopPropagation=void 0,t[expando]._onDragOver(i)}}},_checkOutsideTargetEl=function(e){dragEl&&dragEl.parentNode[expando]._isOutsideThisEl(e.target)};function Sortable(n,e){if(!(n&&n.nodeType&&n.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(n));this.el=n,this.options=e=_extends$1({},e),n[expando]=this;var t={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(n.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return _detectDirection(n,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(y,k){y.setData("Text",k.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:Sortable.supportPointer!==!1&&"PointerEvent"in window&&(!Safari||IOS),emptyInsertThreshold:5};PluginManager.initializePlugins(this,n,t);for(var i in t)!(i in e)&&(e[i]=t[i]);_prepareGroup(e);for(var r in this)r.charAt(0)==="_"&&typeof this[r]=="function"&&(this[r]=this[r].bind(this));this.nativeDraggable=e.forceFallback?!1:supportDraggable,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?on$1(n,"pointerdown",this._onTapStart):(on$1(n,"mousedown",this._onTapStart),on$1(n,"touchstart",this._onTapStart)),this.nativeDraggable&&(on$1(n,"dragover",this),on$1(n,"dragenter",this)),sortables.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),_extends$1(this,AnimationStateManager())}Sortable.prototype={constructor:Sortable,_isOutsideThisEl:function(e){!this.el.contains(e)&&e!==this.el&&(lastTarget=null)},_getDirection:function(e,t){return typeof this.options.direction=="function"?this.options.direction.call(this,e,t,dragEl):this.options.direction},_onTapStart:function(e){if(e.cancelable){var t=this,i=this.el,r=this.options,g=r.preventOnFilter,y=e.type,k=e.touches&&e.touches[0]||e.pointerType&&e.pointerType==="touch"&&e,L=(k||e).target,V=e.target.shadowRoot&&(e.path&&e.path[0]||e.composedPath&&e.composedPath()[0])||L,z=r.filter;if(_saveInputCheckedState(i),!dragEl&&!(/mousedown|pointerdown/.test(y)&&e.button!==0||r.disabled)&&!V.isContentEditable&&!(!this.nativeDraggable&&Safari&&L&&L.tagName.toUpperCase()==="SELECT")&&(L=closest(L,r.draggable,i,!1),!(L&&L.animated)&&lastDownEl!==L)){if(oldIndex=index(L),oldDraggableIndex=index(L,r.draggable),typeof z=="function"){if(z.call(this,e,L,this)){_dispatchEvent({sortable:t,rootEl:V,name:"filter",targetEl:L,toEl:i,fromEl:i}),pluginEvent("filter",t,{evt:e}),g&&e.preventDefault();return}}else if(z&&(z=z.split(",").some(function(j){if(j=closest(V,j.trim(),i,!1),j)return _dispatchEvent({sortable:t,rootEl:j,name:"filter",targetEl:L,fromEl:i,toEl:i}),pluginEvent("filter",t,{evt:e}),!0}),z)){g&&e.preventDefault();return}r.handle&&!closest(V,r.handle,i,!1)||this._prepareDragStart(e,k,L)}}},_prepareDragStart:function(e,t,i){var r=this,g=r.el,y=r.options,k=g.ownerDocument,L;if(i&&!dragEl&&i.parentNode===g){var V=getRect$1(i);if(rootEl=g,dragEl=i,parentEl=dragEl.parentNode,nextEl=dragEl.nextSibling,lastDownEl=i,activeGroup=y.group,Sortable.dragged=dragEl,tapEvt={target:dragEl,clientX:(t||e).clientX,clientY:(t||e).clientY},tapDistanceLeft=tapEvt.clientX-V.left,tapDistanceTop=tapEvt.clientY-V.top,this._lastX=(t||e).clientX,this._lastY=(t||e).clientY,dragEl.style["will-change"]="all",L=function(){if(pluginEvent("delayEnded",r,{evt:e}),Sortable.eventCanceled){r._onDrop();return}r._disableDelayedDragEvents(),!FireFox&&r.nativeDraggable&&(dragEl.draggable=!0),r._triggerDragStart(e,t),_dispatchEvent({sortable:r,name:"choose",originalEvent:e}),toggleClass(dragEl,y.chosenClass,!0)},y.ignore.split(",").forEach(function(z){find$3(dragEl,z.trim(),_disableDraggable)}),on$1(k,"dragover",nearestEmptyInsertDetectEvent),on$1(k,"mousemove",nearestEmptyInsertDetectEvent),on$1(k,"touchmove",nearestEmptyInsertDetectEvent),y.supportPointer?(on$1(k,"pointerup",r._onDrop),!this.nativeDraggable&&on$1(k,"pointercancel",r._onDrop)):(on$1(k,"mouseup",r._onDrop),on$1(k,"touchend",r._onDrop),on$1(k,"touchcancel",r._onDrop)),FireFox&&this.nativeDraggable&&(this.options.touchStartThreshold=4,dragEl.draggable=!0),pluginEvent("delayStart",this,{evt:e}),y.delay&&(!y.delayOnTouchOnly||t)&&(!this.nativeDraggable||!(Edge||IE11OrLess))){if(Sortable.eventCanceled){this._onDrop();return}y.supportPointer?(on$1(k,"pointerup",r._disableDelayedDrag),on$1(k,"pointercancel",r._disableDelayedDrag)):(on$1(k,"mouseup",r._disableDelayedDrag),on$1(k,"touchend",r._disableDelayedDrag),on$1(k,"touchcancel",r._disableDelayedDrag)),on$1(k,"mousemove",r._delayedDragTouchMoveHandler),on$1(k,"touchmove",r._delayedDragTouchMoveHandler),y.supportPointer&&on$1(k,"pointermove",r._delayedDragTouchMoveHandler),r._dragStartTimer=setTimeout(L,y.delay)}else L()}},_delayedDragTouchMoveHandler:function(e){var t=e.touches?e.touches[0]:e;Math.max(Math.abs(t.clientX-this._lastX),Math.abs(t.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){dragEl&&_disableDraggable(dragEl),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var e=this.el.ownerDocument;off(e,"mouseup",this._disableDelayedDrag),off(e,"touchend",this._disableDelayedDrag),off(e,"touchcancel",this._disableDelayedDrag),off(e,"pointerup",this._disableDelayedDrag),off(e,"pointercancel",this._disableDelayedDrag),off(e,"mousemove",this._delayedDragTouchMoveHandler),off(e,"touchmove",this._delayedDragTouchMoveHandler),off(e,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(e,t){t=t||e.pointerType=="touch"&&e,!this.nativeDraggable||t?this.options.supportPointer?on$1(document,"pointermove",this._onTouchMove):t?on$1(document,"touchmove",this._onTouchMove):on$1(document,"mousemove",this._onTouchMove):(on$1(dragEl,"dragend",this),on$1(rootEl,"dragstart",this._onDragStart));try{document.selection?_nextTick(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch(i){}},_dragStarted:function(e,t){if(awaitingDragStarted=!1,rootEl&&dragEl){pluginEvent("dragStarted",this,{evt:t}),this.nativeDraggable&&on$1(document,"dragover",_checkOutsideTargetEl);var i=this.options;!e&&toggleClass(dragEl,i.dragClass,!1),toggleClass(dragEl,i.ghostClass,!0),Sortable.active=this,e&&this._appendGhost(),_dispatchEvent({sortable:this,name:"start",originalEvent:t})}else this._nulling()},_emulateDragOver:function(){if(touchEvt){this._lastX=touchEvt.clientX,this._lastY=touchEvt.clientY,_hideGhostForTarget();for(var e=document.elementFromPoint(touchEvt.clientX,touchEvt.clientY),t=e;e&&e.shadowRoot&&(e=e.shadowRoot.elementFromPoint(touchEvt.clientX,touchEvt.clientY),e!==t);)t=e;if(dragEl.parentNode[expando]._isOutsideThisEl(e),t)do{if(t[expando]){var i=void 0;if(i=t[expando]._onDragOver({clientX:touchEvt.clientX,clientY:touchEvt.clientY,target:e,rootEl:t}),i&&!this.options.dragoverBubble)break}e=t}while(t=getParentOrHost(t));_unhideGhostForTarget()}},_onTouchMove:function(e){if(tapEvt){var t=this.options,i=t.fallbackTolerance,r=t.fallbackOffset,g=e.touches?e.touches[0]:e,y=ghostEl&&matrix(ghostEl,!0),k=ghostEl&&y&&y.a,L=ghostEl&&y&&y.d,V=PositionGhostAbsolutely&&ghostRelativeParent&&getRelativeScrollOffset(ghostRelativeParent),z=(g.clientX-tapEvt.clientX+r.x)/(k||1)+(V?V[0]-ghostRelativeParentInitialScroll[0]:0)/(k||1),j=(g.clientY-tapEvt.clientY+r.y)/(L||1)+(V?V[1]-ghostRelativeParentInitialScroll[1]:0)/(L||1);if(!Sortable.active&&!awaitingDragStarted){if(i&&Math.max(Math.abs(g.clientX-this._lastX),Math.abs(g.clientY-this._lastY))=0&&(_dispatchEvent({rootEl:parentEl,name:"add",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"remove",toEl:parentEl,originalEvent:e}),_dispatchEvent({rootEl:parentEl,name:"sort",toEl:parentEl,fromEl:rootEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),putSortable&&putSortable.save()):newIndex!==oldIndex&&newIndex>=0&&(_dispatchEvent({sortable:this,name:"update",toEl:parentEl,originalEvent:e}),_dispatchEvent({sortable:this,name:"sort",toEl:parentEl,originalEvent:e})),Sortable.active&&((newIndex==null||newIndex===-1)&&(newIndex=oldIndex,newDraggableIndex=oldDraggableIndex),_dispatchEvent({sortable:this,name:"end",toEl:parentEl,originalEvent:e}),this.save()))),this._nulling()},_nulling:function(){pluginEvent("nulling",this),rootEl=dragEl=parentEl=ghostEl=nextEl=cloneEl=lastDownEl=cloneHidden=tapEvt=touchEvt=moved=newIndex=newDraggableIndex=oldIndex=oldDraggableIndex=lastTarget=lastDirection=putSortable=activeGroup=Sortable.dragged=Sortable.ghost=Sortable.clone=Sortable.active=null,savedInputChecked.forEach(function(e){e.checked=!0}),savedInputChecked.length=lastDx=lastDy=0},handleEvent:function(e){switch(e.type){case"drop":case"dragend":this._onDrop(e);break;case"dragenter":case"dragover":dragEl&&(this._onDragOver(e),_globalDragOver(e));break;case"selectstart":e.preventDefault();break}},toArray:function(){for(var e=[],t,i=this.el.children,r=0,g=i.length,y=this.options;rr.right+g||n.clientY>i.bottom&&n.clientX>i.left:n.clientY>r.bottom+g||n.clientX>i.right&&n.clientY>i.top}function _getSwapDirection(n,e,t,i,r,g,y,k){var L=i?n.clientY:n.clientX,V=i?t.height:t.width,z=i?t.top:t.left,j=i?t.bottom:t.right,ie=!1;if(!y){if(k&&targetMoveDistancez+V*g/2:Lj-targetMoveDistance)return-lastDirection}else if(L>z+V*(1-r)/2&&Lj-V*g/2)?L>z+V/2?1:-1:0}function _getInsertDirection(n){return index(dragEl)({})},isCompare:{type:Boolean,default:!1},config:{},name:{},prop:{default:""},labelWidth:{},sort:{type:Boolean},disabled:{type:Boolean},sortKey:{default:""},text:{},size:{},enableToggleMode:{type:Boolean,default:!0},showIndex:{type:Boolean,default:!0}},emits:["change","select","addDiffCount"],setup(n,{expose:e,emit:t}){const i=n,r=t;let g=null;const y=inject("mForm"),{nextZIndex:k}=useZIndex$2(),L=ref$1(),V=ref$1(),z=ref$1(),j=ref$1(10),ie=ref$1(0),oe=ref$1(1),re=ref$1(!1),ae=computed$1(()=>i.name||i.config.name||""),le=(li=[])=>li.filter((Di,ki)=>ki>=ie.value*j.value&&ki+1<=(ie.value+1)*j.value),de=computed$1(()=>le(i.model[ae.value])),ue=computed$1(()=>i.config.pagination?de.value:i.model[ae.value]),he=computed$1(()=>i.config.pagination?le(i.lastValues[ae.value]):i.lastValues[ae.value]||[]),pe=({prop:li,order:Di})=>{Di==="ascending"?i.model[ae.value]=i.model[ae.value].sort((ki,Ai)=>ki[li]-Ai[li]):Di==="descending"&&(i.model[ae.value]=i.model[ae.value].sort((ki,Ai)=>Ai[li]-ki[li]))},Ce=(li,Di)=>{if(i.model[ae.value].splice(li,0,i.model[ae.value].splice(Di,1)[0]),i.sortKey)for(let ki=i.model[ae.value].length-1,Ai=0;ki>=0;ki--,Ai++)i.model[ae.value][Ai][i.sortKey]=ki;y==null||y.$emit("field-change",i.prop,i.model[ae.value])};let $e;const xe=()=>{var ki;$e==null||$e.destroy();const li=(ki=L.value)==null?void 0:ki.instance.$el,Di=li==null?void 0:li.querySelector(".el-table__body > tbody");Di&&($e=Sortable.create(Di,{draggable:".tmagic-design-table-row",filter:"input",preventOnFilter:!1,direction:"vertical",onEnd:({newIndex:Ai,oldIndex:Ki})=>{typeof Ai>"u"||typeof Ki>"u"||(Ce(Ai,Ki),r("change",i.model[ae.value]),y==null||y.$emit("field-change",i.prop,i.model[ae.value]))}}))},Ie=async li=>{if(i.config.max&&i.model[ae.value].length>=i.config.max){tMagicMessage.error("最多新增配置不能超过".concat(i.config.max,"条"));return}if(typeof i.config.beforeAddRow=="function"&&!i.config.beforeAddRow(y,{model:i.model[ae.value],formValue:y==null?void 0:y.values,prop:i.prop}))return;const Di=i.config.items,ki=i.config.enum||[];let Ai=[];const{length:Ki}=i.model[ae.value],zi=i.config.key||"id";let bi={};if(ki.length){if(Ki>=ki.length)return;Ai=ki.filter(vi=>{let Li=0;for(;Li0&&(bi=Ai[0])}else Array.isArray(li)?Di.forEach((vi,Li)=>{vi.name&&(bi[vi.name]=li[Li])}):(typeof i.config.defaultAdd=="function"?bi=await i.config.defaultAdd(y,{model:i.model[ae.value],formValue:y==null?void 0:y.values}):i.config.defaultAdd&&(bi=i.config.defaultAdd),bi=await initValue(y,{config:Di,initValues:bi}));i.sortKey&&Ki&&(bi[i.sortKey]=i.model[ae.value][Ki-1][i.sortKey]-1),i.model[ae.value].push(bi),r("change",i.model[ae.value],{changeRecords:[{propPath:"".concat(i.prop,".").concat(i.model[ae.value].length-1),value:bi}]})};onMounted(()=>{i.config.defautSort?pe(i.config.defautSort):i.config.defaultSort&&pe(i.config.defaultSort),i.sort&&i.sortKey&&i.model[ae.value].sort((li,Di)=>Di[i.sortKey]-li[i.sortKey])}),watchEffect(()=>{i.config.dropSort&&xe()});const Ne=computed$1(()=>i.model[ae.value].length?typeof i.config.addable=="function"?i.config.addable(y,{model:i.model[ae.value],formValue:y==null?void 0:y.values,prop:i.prop}):typeof i.config.addable>"u"?!0:i.config.addable:!0),Fe=computed$1(()=>typeof i.config.selection=="function"?i.config.selection(y,{model:i.model[ae.value]}):i.config.selection),Ve=computed$1(()=>typeof i.config.importable=="function"?i.config.importable(y,{formValue:y==null?void 0:y.values,model:i.model[ae.value]}):typeof i.config.importable>"u"?!1:i.config.importable),Oe=li=>display$1(y,li,i),ze=(li,Di)=>typeof li=="function"?li(y,{values:y==null?void 0:y.initValues,model:i.model,formValue:y?y.values:i.model,prop:i.prop,index:Di}):li,qe=li=>{i.disabled||(i.model[ae.value].splice(li,1),r("change",i.model[ae.value]))},Ue=(li,Di)=>{var ki,Ai;typeof i.config.selection=="string"&&i.config.selection==="single"&&((ki=L.value)==null||ki.clearSelection(),(Ai=L.value)==null||Ai.toggleRowSelection(Di,!0)),r("select",li,Di),typeof i.config.onSelect=="function"&&i.config.onSelect(y,{selection:li,row:Di,config:i.config})},Et=(li,Di)=>{var ki;(ki=L.value)==null||ki.toggleRowSelection.call(L.value,li,Di)},At=(li,Di)=>{const ki=cloneDeep(li);return typeof li.itemsFunction=="function"&&(ki.items=li.itemsFunction(Di)),delete ki.display,ki},Lt=li=>{g&&clearTimeout(g),g=setTimeout(()=>{Ce(li,li-1),g=void 0},300)},kt=li=>{g&&clearTimeout(g);const Di=li;for(let ki=0;ki{g&&clearTimeout(g),g=setTimeout(()=>{Ce(li,li+1),g=void 0},300)},jt=li=>{g&&clearTimeout(g);const Di=i.model[ae.value].length-1-li;for(let ki=0;ki{const Di=i.config.delete;return Di&&typeof Di=="function"?Di(i.model[ae.value],li,y==null?void 0:y.values):!0},ni=li=>{const Di=i.config.copyable;return Di&&typeof Di=="function"?Di(y,{values:(y==null?void 0:y.initValues)||{},model:i.model,parent:(y==null?void 0:y.parentValues)||{},formValue:(y==null?void 0:y.values)||i.model,prop:i.prop,config:i.config,index:li}):!0},Ci=()=>{const li=i.model[ae.value].length;i.model[ae.value].splice(0,li),y==null||y.$emit("field-change",i.prop,i.model[ae.value])},wi=async li=>{if(!(li!=null&&li.raw))return!1;globalThis.XLSX||await asyncLoadJs("https://cdn.bootcdn.net/ajax/libs/xlsx/0.17.0/xlsx.full.min.js");const Di=new FileReader;return Di.onload=()=>{const ki=Di.result,Ai=globalThis.XLSX.read(ki,{type:"array"});Ai.SheetNames.forEach(Ki=>{const zi=globalThis.XLSX.utils.sheet_to_json(Ai.Sheets[Ki],{header:1});zi!=null&&zi[0]&&zi.forEach(bi=>{Ie(bi)}),setTimeout(()=>{var bi;(bi=V.value)==null||bi.clearFiles()},300)})},Di.readAsArrayBuffer(li.raw),!1},Ri=li=>{j.value=li},ai=li=>{ie.value=li-1},hi=li=>{i.model[ae.value].push(cloneDeep(i.model[ae.value][li]))},xi=()=>{const li=Di=>{var Ki;if(!Di)return"0px";const ki=((Ki=Di.match(/[^\x00-\xff]/g))==null?void 0:Ki.length)||0,Ai=Di.length-ki;return"".concat(Math.max(Ai*8+ki*20,80),"px")};i.config.type="groupList",i.config.enableToggleMode=!0,i.config.tableItems=i.config.items,i.config.items=i.config.groupItems||i.config.items.map(Di=>{const ki=Di.text||Di.label,Ai=li(ki);return{...Di,text:ki,labelWidth:Ai,span:Di.span||12}})},Oi=()=>{z.value&&(re.value?(z.value.classList.remove("fixed"),re.value=!1):(z.value.classList.add("fixed"),z.value.style.zIndex="".concat(k()),re.value=!0))},Ei=li=>{const{prop:Di}=toRefs(i);return"".concat(Di.value).concat(Di.value?".":"").concat(li+1+ie.value*j.value-1)},si=()=>r("addDiffCount"),fi=(li,Di)=>{r("change",i.model,Di)};return e({toggleRowSelection:Et}),(li,Di)=>(openBlock(),createElementBlock("div",_hoisted_1$1g,[(openBlock(),createBlock(Teleport$2,{to:"body",disabled:!re.value},[createBaseVNode("div",{ref_key:"mTable",ref:z,class:normalizeClass(["m-fields-table",{"m-fields-table-item-extra":li.config.itemExtra}])},[li.config.extra?(openBlock(),createElementBlock("span",{key:0,style:{color:"rgba(0, 0, 0, 0.45)"},innerHTML:li.config.extra},null,8,_hoisted_2$u)):createCommentVNode("",!0),createVNode(unref(_sfc_main$3R),{content:"拖拽可排序",placement:"left-start",disabled:li.config.dropSort!==!0},{default:withCtx(()=>[li.model[ae.value]?(openBlock(),createBlock(unref(_sfc_main$3X),{ref_key:"tMagicTable",ref:L,style:{width:"100%"},"row-key":li.config.rowKey||"id",data:ue.value,lastData:he.value,border:li.config.border,"max-height":li.config.maxHeight,"default-expand-all":!0,key:oe.value,onSelect:Ue,onSortChange:pe},{default:withCtx(()=>[li.config.itemExtra&&!li.config.dropSort?(openBlock(),createBlock(unref(_sfc_main$3W),{key:0,fixed:"left",width:"30",type:"expand"},{default:withCtx(ki=>[createBaseVNode("span",{innerHTML:ze(li.config.itemExtra,ki.$index),class:"m-form-tip"},null,8,_hoisted_3$a)]),_:1})):createCommentVNode("",!0),createVNode(unref(_sfc_main$3W),{label:"操作",width:li.config.operateColWidth||100,align:"center",fixed:li.config.fixed===!1?void 0:"left"},{default:withCtx(ki=>[renderSlot(li.$slots,"operateCol",{scope:ki}),withDirectives(createVNode(unref(_sfc_main$4q),{size:"small",type:"danger",link:"",title:"删除",icon:unref(delete_default$1),onClick:Ai=>qe(ki.$index+1+ie.value*j.value-1)},null,8,["icon","onClick"]),[[vShow,ri(ki.$index+1+ie.value*j.value-1)]]),ni(ki.$index+1+ie.value*j.value-1)?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,link:"",size:"small",type:"primary",title:"复制",icon:unref(document_copy_default$1),disabled:li.disabled,onClick:Ai=>hi(ki.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick"])):createCommentVNode("",!0)]),_:3},8,["width","fixed"]),li.sort&&li.model[ae.value]&&li.model[ae.value].length>1?(openBlock(),createBlock(unref(_sfc_main$3W),{key:1,label:"排序",width:"60"},{default:withCtx(ki=>[ki.$index+1+ie.value*j.value-1!==0?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,content:"点击上移,双击置顶",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{plain:"",size:"small",type:"primary",icon:unref(arrow_up_default$1),disabled:li.disabled,link:"",onClick:Ai=>Lt(ki.$index+1+ie.value*j.value-1),onDblclick:Ai=>kt(ki.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick","onDblclick"])]),_:2},1024)):createCommentVNode("",!0),ki.$index+1+ie.value*j.value-1!==li.model[ae.value].length-1?(openBlock(),createBlock(unref(_sfc_main$3R),{key:1,content:"点击下移,双击置底",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{plain:"",size:"small",type:"primary",icon:unref(arrow_down_default$1),disabled:li.disabled,link:"",onClick:Ai=>ei(ki.$index+1+ie.value*j.value-1),onDblclick:Ai=>jt(ki.$index+1+ie.value*j.value-1)},null,8,["icon","disabled","onClick","onDblclick"])]),_:2},1024)):createCommentVNode("",!0)]),_:1})):createCommentVNode("",!0),Fe.value?(openBlock(),createBlock(unref(_sfc_main$3W),{key:2,align:"center","header-align":"center",type:"selection",width:"45"})):createCommentVNode("",!0),li.showIndex&&li.config.showIndex?(openBlock(),createBlock(unref(_sfc_main$3W),{key:3,width:"60",label:"序号"},{default:withCtx(ki=>[createTextVNode(toDisplayString(ki.$index+1+ie.value*j.value),1)]),_:1})):createCommentVNode("",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(li.config.items,(ki,Ai)=>{var Ki,zi;return openBlock(),createElementBlock(Fragment,null,[ki.type!=="hidden"&&Oe(ki.display)?(openBlock(),createBlock(unref(_sfc_main$3W),{prop:ki.name,width:ki.width,label:ki.label,sortable:ki.sortable,"sort-orders":["ascending","descending"],key:(zi=ki[((Ki=unref(y))==null?void 0:Ki.keyProp)||"__key"])!=null?zi:Ai,"class-name":li.config.dropSort===!0?"el-table__column--dropable":""},{default:withCtx(bi=>[bi.$index>-1?(openBlock(),createBlock(_sfc_main$3P,{key:0,labelWidth:"0",disabled:li.disabled,prop:Ei(bi.$index),rules:ki.rules,config:At(ki,bi.row),model:bi.row,lastValues:he.value[bi.$index],"is-compare":li.isCompare,size:li.size,onChange:fi,onAddDiffCount:Di[0]||(Di[0]=vi=>si())},null,8,["disabled","prop","rules","config","model","lastValues","is-compare","size"])):createCommentVNode("",!0)]),_:2},1032,["prop","width","label","sortable","class-name"])):createCommentVNode("",!0)],64)}),256))]),_:3},8,["row-key","data","lastData","border","max-height"])):createCommentVNode("",!0)]),_:3},8,["disabled"]),renderSlot(li.$slots,"default"),createBaseVNode("div",_hoisted_4$8,[Ne.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,size:"small",type:"primary",disabled:li.disabled,plain:"",onClick:Di[1]||(Di[1]=ki=>Ie())},{default:withCtx(()=>Di[3]||(Di[3]=[createTextVNode("新增一行")])),_:1,__:[3]},8,["disabled"])):createCommentVNode("",!0),createBaseVNode("div",_hoisted_5$3,[li.enableToggleMode&&li.config.enableToggleMode!==!1&&!re.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,icon:unref(grid_default$1),size:"small",type:"primary",onClick:xi},{default:withCtx(()=>Di[4]||(Di[4]=[createTextVNode("展开配置")])),_:1,__:[4]},8,["icon"])):createCommentVNode("",!0),li.config.enableFullscreen!==!1?(openBlock(),createBlock(unref(_sfc_main$4q),{key:1,icon:unref(full_screen_default),size:"small",type:"primary",onClick:Oi},{default:withCtx(()=>[createTextVNode(toDisplayString(re.value?"退出全屏":"全屏编辑"),1)]),_:1},8,["icon"])):createCommentVNode("",!0),Ve.value?(openBlock(),createBlock(unref(_sfc_main$3Q),{key:2,style:{display:"inline-block"},ref_key:"excelBtn",ref:V,action:"/noop",disabled:li.disabled,"on-change":wi,"auto-upload":!1},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{size:"small",type:"success",disabled:li.disabled,plain:""},{default:withCtx(()=>Di[5]||(Di[5]=[createTextVNode("导入EXCEL")])),_:1,__:[5]},8,["disabled"])]),_:1},8,["disabled"])):createCommentVNode("",!0),Ve.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:3,size:"small",type:"warning",disabled:li.disabled,plain:"",onClick:Di[2]||(Di[2]=ki=>Ci())},{default:withCtx(()=>Di[6]||(Di[6]=[createTextVNode("清空")])),_:1,__:[6]},8,["disabled"])):createCommentVNode("",!0)])]),li.config.pagination?(openBlock(),createElementBlock("div",_hoisted_6$3,[createVNode(unref(_sfc_main$46),{layout:"total, sizes, prev, pager, next, jumper","hide-on-single-page":li.model[ae.value].length({})},isCompare:{type:Boolean,default:!1},config:{},name:{},size:{},labelWidth:{},prop:{},expandMore:{type:Boolean},disabled:{type:Boolean}},emits:["change","addDiffCount"],setup(n,{emit:e}){var he,pe;const t=(he=getDesignConfig("components"))==null?void 0:he.tabPane,i=(pe=getDesignConfig("components"))==null?void 0:pe.tabs,r=(Ce,$e,xe)=>{const{config:Ie,model:Ne,prop:Fe}=$e,{active:Ve}=Ie;return typeof Ve=="function"?Ve(Ce,{model:Ne,formValue:Ce==null?void 0:Ce.values,prop:Fe}):0>=$e.config.items.length?"0":typeof Ve<"u"?Ve:"0"},g=(Ce,$e,xe)=>{const{config:Ie,model:Ne,prop:Fe}=xe;$e.name=$e.paneName,typeof Ie.onTabClick=="function"&&Ie.onTabClick(Ce,$e,{model:Ne,formValue:Ce==null?void 0:Ce.values,prop:Fe,config:Ie});const Ve=Ie.items.find(Oe=>$e.name===Oe.status);Ve&&typeof Ve.onTabClick=="function"&&Ve.onTabClick(Ce,$e,{model:Ne,formValue:Ce==null?void 0:Ce.values,prop:Fe,config:Ie})},y=n,k=e,L=inject("mForm"),V=ref$1(r(L,y)),z=ref$1({}),j=computed$1(()=>{if(y.config.dynamic){if(!y.config.name)throw new Error("dynamic tab 必须配置name");return y.model[y.config.name]||[]}return y.config.items.filter(Ce=>display$1(L,Ce.display,y))}),ie=Ce=>filterFunction(L,Ce,y);watchEffect(()=>{typeof y.config.activeChange=="function"&&y.config.activeChange(L,V.value,{model:y.model,prop:y.prop})});const oe=Ce=>y.config.dynamic?y.config.items:Ce.items,re=Ce=>g(L,Ce,y),ae=async()=>{if(!y.name)throw new Error("dynamic tab 必须配置name");if(typeof y.config.onTabAdd=="function")y.config.onTabAdd(L,{model:y.model,prop:y.prop,config:y.config}),k("change",y.model);else{const Ce=await initValue(L,{config:y.config.items,initValues:{}});Ce.title="标签".concat(j.value.length+1),y.model[y.name].push(Ce),k("change",y.model[y.name],{changeRecords:[{propPath:"".concat(y.prop,".").concat(y.model[y.name].length-1),value:Ce}]})}L==null||L.$emit("field-change",y.prop,y.model[y.name])},le=Ce=>{if(!y.name)throw new Error("dynamic tab 必须配置name");typeof y.config.onTabRemove=="function"?y.config.onTabRemove(L,Ce,{model:y.model,prop:y.prop,config:y.config}):(y.model[y.name].splice(+Ce,1),(Ce=y.model[y.name].length)&&(V.value=(+V.value-1).toString(),g(L,{name:V.value},y))),k("change",y.model),L==null||L.$emit("field-change",y.prop,y.model[y.name])},de=(Ce,$e)=>{k("change",y.model,$e)},ue=Ce=>{z.value[Ce]?z.value[Ce]+=1:z.value[Ce]=1,k("addDiffCount")};return(Ce,$e)=>{var xe,Ie;return openBlock(),createBlock(resolveDynamicComponent(((xe=unref(i))==null?void 0:xe.component)||"el-tabs"),mergeProps({modelValue:V.value,"onUpdate:modelValue":$e[0]||($e[0]=Ne=>V.value=Ne)},((Ie=unref(i))==null?void 0:Ie.props({type:Ce.config.tabType,editable:Ce.config.editable||!1,tabPosition:Ce.config.tabPosition||"top"}))||{},{class:"tmagic-design-tabs ".concat(Ce.config.dynamic?"magic-form-dynamic-tab":"magic-form-tab"),onTabClick:re,onTabAdd:ae,onTabRemove:le}),{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(j.value,(Ne,Fe)=>{var Ve,Oe,ze,qe;return openBlock(),createBlock(resolveDynamicComponent(((Ve=unref(t))==null?void 0:Ve.component)||"el-tab-pane"),mergeProps({key:(ze=Ne[((Oe=unref(L))==null?void 0:Oe.keyProp)||"__key"])!=null?ze:Fe},{ref_for:!0},((qe=unref(t))==null?void 0:qe.props({name:ie(Ne.status)||Fe.toString(),lazy:Ne.lazy||!1}))||{}),{label:withCtx(()=>[createBaseVNode("span",null,[createTextVNode(toDisplayString(ie(Ne.title)),1),createVNode(unref(_sfc_main$4r),{hidden:!z.value[Fe],value:z.value[Fe],class:"diff-count-badge"},null,8,["hidden","value"])])]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(oe(Ne),Ue=>{var Et;return openBlock(),createBlock(_sfc_main$3P,{key:Ue[((Et=unref(L))==null?void 0:Et.keyProp)||"__key"],config:Ue,disabled:Ce.disabled,model:Ce.config.dynamic?(Ce.name?Ce.model[Ce.name]:Ce.model)[Fe]:Ne.name?(Ce.name?Ce.model[Ce.name]:Ce.model)[Ne.name]:Ce.name?Ce.model[Ce.name]:Ce.model,"last-values":unref(isEmpty$3)(Ce.lastValues)?{}:Ce.config.dynamic?(Ce.name?Ce.lastValues[Ce.name]:Ce.lastValues)[Fe]:Ne.name?(Ce.name?Ce.lastValues[Ce.name]:Ce.lastValues)[Ne.name]:Ce.name?Ce.lastValues[Ce.name]:Ce.lastValues,"is-compare":Ce.isCompare,prop:Ce.config.dynamic?"".concat(Ce.prop).concat(Ce.prop?".":"").concat(String(Fe)):Ce.prop,size:Ce.size,"label-width":Ne.labelWidth||Ce.labelWidth,"expand-more":Ce.expandMore,onChange:de,onAddDiffCount:At=>ue(Fe)},null,8,["config","disabled","model","last-values","is-compare","prop","size","label-width","expand-more","onAddDiffCount"])}),128))]),_:2},1040)}),128))]),_:1},16,["modelValue","class"])}}});let $MAGIC_FORM={};const setConfig=n=>{$MAGIC_FORM=n},getConfig=n=>$MAGIC_FORM[n],useAddField=n=>{if(!n)return;const e=inject("mForm"),t=getCurrentInstance$1();watch(()=>t==null?void 0:t.proxy,i=>{i?e==null||e.setField(n,i):e==null||e.deleteField(n)},{immediate:!0})},_sfc_main$3F=defineComponent({name:"MFormCascader",__name:"Cascader",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){var re;const t=n,i=e,r=inject("mForm");useAddField(t.prop);const g=getConfig("request"),y=ref$1(),k=ref$1([]),L=ref$1(null),V=computed$1(()=>filterFunction(r,t.config.checkStrictly,t)),z=computed$1(()=>filterFunction(r,t.config.valueSeparator,t)),j=computed$1({get(){return typeof t.model[t.name]=="string"&&z.value?t.model[t.name].split(z.value):t.model[t.name]},set(ae){let le=ae;z.value&&(le=ae.join(z.value)),t.model[t.name]=le}}),ie=async function(){const{config:ae}=t,{option:le}=ae;if(!le)return;let{body:de}=le;const ue={url:le.url,cache:le.cache,timeout:le.timeout,data:{}};de&&r&&(typeof de=="function"&&t.model&&r&&(de=de(r,{model:t.model,formValue:r.values,formValues:r.values,config:t.config})),ue.data=de);const he=await g(ue);L.value=he[le.root],L.value&&typeof(le==null?void 0:le.item)=="function"&&(k.value=le.item(he[le.root]))};typeof t.config.options=="function"&&t.model&&r?watchEffect(()=>{typeof t.config.options=="function"&&Promise.resolve(t.config.options(r,{model:t.model,prop:t.prop,formValue:r==null?void 0:r.values})).then(ae=>{k.value=ae})}):!((re=t.config.options)!=null&&re.length)||t.config.remote?Promise.resolve(ie()):Array.isArray(t.config.options)&&watchEffect(()=>{k.value=t.config.options});const oe=()=>{y.value&&(y.value.setQuery(""),y.value.setPreviousQuery(null),i("change",t.model[t.name]))};return(ae,le)=>{var de,ue,he;return openBlock(),createBlock(unref(_sfc_main$4o),{modelValue:j.value,"onUpdate:modelValue":le[0]||(le[0]=pe=>j.value=pe),ref_key:"tMagicCascader",ref:y,style:{width:"100%"},clearable:"",filterable:"",size:ae.size,placeholder:ae.config.placeholder,disabled:ae.disabled,options:k.value,"popper-class":ae.config.popperClass,props:{multiple:(de=ae.config.multiple)!=null?de:!1,emitPath:(ue=ae.config.emitPath)!=null?ue:!0,checkStrictly:(he=V.value)!=null?he:!1},onChange:oe},null,8,["modelValue","size","placeholder","disabled","options","popper-class","props"])}}}),_sfc_main$3E=defineComponent({name:"MFormCheckbox",__name:"Checkbox",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=computed$1(()=>{if(typeof t.config.activeValue>"u"){if(t.config.filter==="number")return 1}else return t.config.activeValue}),g=computed$1(()=>{if(typeof t.config.inactiveValue>"u"){if(t.config.filter==="number")return 0}else return t.config.inactiveValue}),y=k=>{i("change",k)};return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$4n),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),size:k.size,trueValue:r.value,falseValue:g.value,disabled:k.disabled,onChange:y},{default:withCtx(()=>[createTextVNode(toDisplayString(k.config.text),1)]),_:1},8,["modelValue","size","trueValue","falseValue","disabled"]))}}),_sfc_main$3D=defineComponent({name:"MFormCheckGroup",__name:"CheckboxGroup",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop),t.model&&!t.model[t.name]&&(t.model[t.name]=[]);const r=k=>{i("change",k)},g=inject("mForm"),y=computed$1(()=>Array.isArray(t.config.options)?t.config.options:typeof t.config.options=="function"?filterFunction(g,t.config.options,t)||[]:[]);return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$4m),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),size:k.size,disabled:k.disabled,onChange:r},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,V=>(openBlock(),createBlock(unref(_sfc_main$4n),{value:V.value,key:V.value,disabled:V.disabled},{default:withCtx(()=>[createTextVNode(toDisplayString(V.text),1)]),_:2},1032,["value","disabled"]))),128))]),_:1},8,["modelValue","size","disabled"]))}}),_sfc_main$3C=defineComponent({name:"MFormColorPicker",__name:"ColorPicker",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=g=>i("change",g);return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$4i),{modelValue:g.model[g.name],"onUpdate:modelValue":y[0]||(y[0]=k=>g.model[g.name]=k),size:g.size,disabled:g.disabled,showAlpha:!0,onChange:r},null,8,["modelValue","size","disabled"]))}}),_sfc_main$3B=defineComponent({name:"MFormDate",__name:"Date",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop),t.model[t.name]=datetimeFormatter(t.model[t.name],"",t.config.valueFormat||"YYYY/MM/DD");const r=g=>{i("change",g)};return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$4h),{modelValue:g.model[g.name],"onUpdate:modelValue":y[0]||(y[0]=k=>g.model[g.name]=k),type:"date",size:g.size,placeholder:g.config.placeholder,disabled:g.disabled,format:g.config.format||"YYYY/MM/DD","value-format":g.config.valueFormat||"YYYY/MM/DD",onChange:r},null,8,["modelValue","size","placeholder","disabled","format","value-format"]))}}),_sfc_main$3A=defineComponent({name:"MFormDateRange",__name:"Daterange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const{names:r}=t.config,g=ref$1([]);t.model!==void 0&&(r!=null&&r.length?watch([()=>t.model[r[0]],()=>t.model[r[1]]],([L,V],[z,j])=>{g.value||(g.value=[]);const ie="".concat(t.config.dateFormat||"YYYY/MM/DD"," ").concat(t.config.timeFormat||"HH:mm:ss");(!L||!V)&&(g.value=[]),L!==z&&(g.value[0]=datetimeFormatter(L,"",ie)),V!==j&&(g.value[1]=datetimeFormatter(V,"",ie))},{immediate:!0}):t.name&&t.model[t.name]&&watch(()=>t.model[t.name],(L,V)=>{const z="".concat(t.config.dateFormat||"YYYY/MM/DD"," ").concat(t.config.timeFormat||"HH:mm:ss");L!==V&&(g.value=L.map(j=>j?datetimeFormatter(j,"",z):void 0))},{immediate:!0}));const y=L=>{r==null||r.forEach((V,z)=>{t.model&&(Array.isArray(L)?t.model[V]=L[z]:t.model[V]=void 0)})},k=L=>{const V=L||[];t.name?i("change",V):(r!=null&&r.length&&y(V),i("change",t.model))};return(L,V)=>(openBlock(),createBlock(unref(_sfc_main$4h),{modelValue:g.value,"onUpdate:modelValue":V[0]||(V[0]=z=>g.value=z),type:"datetimerange","range-separator":"-","start-placeholder":"开始日期","end-placeholder":"结束日期",size:L.size,"unlink-panels":!0,disabled:L.disabled,"default-time":L.config.defaultTime,"value-format":L.config.valueFormat||"YYYY/MM/DD HH:mm:ss","date-format":L.config.dateFormat||"YYYY/MM/DD","time-format":L.config.timeFormat||"HH:mm:ss",onChange:k},null,8,["modelValue","size","disabled","default-time","value-format","date-format","time-format"]))}}),_sfc_main$3z=defineComponent({name:"MFormDateTime",__name:"DateTime",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){var y,k;const t=n,i=e;useAddField(t.prop);const r=(k=(y=t.model)==null?void 0:y[t.name])==null?void 0:k.toString();t.model&&(!r||r==="Invalid Date"?t.model[t.name]="":t.model[t.name]=datetimeFormatter(t.model[t.name],"",t.config.valueFormat||"YYYY/MM/DD HH:mm:ss"));const g=L=>{i("change",L)};return(L,V)=>(openBlock(),createBlock(unref(_sfc_main$4h),{modelValue:L.model[L.name],"onUpdate:modelValue":V[0]||(V[0]=z=>L.model[L.name]=z),"popper-class":"magic-datetime-picker-popper",type:"datetime",size:L.size,placeholder:L.config.placeholder,disabled:L.disabled,format:L.config.format||"YYYY/MM/DD HH:mm:ss","value-format":L.config.valueFormat||"YYYY/MM/DD HH:mm:ss","default-time":L.config.defaultTime,onChange:g},null,8,["modelValue","size","placeholder","disabled","format","value-format","default-time"]))}}),_hoisted_1$1f={key:0},_sfc_main$3y=defineComponent({name:"MFormDisplay",__name:"Display",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},setup(n){const e=n;return e.config.initValue&&e.model&&(e.model[e.name]=e.config.initValue),useAddField(e.prop),(t,i)=>t.model?(openBlock(),createElementBlock("span",_hoisted_1$1f,toDisplayString(t.model[t.name]),1)):createCommentVNode("",!0)}}),_hoisted_1$1e={class:"m-fields-dynamic-field"},_sfc_main$3x=defineComponent({name:"MFormDynamicField",__name:"DynamicField",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=getConfig("request"),g=reactive$1({value:{}}),y=reactive$1({value:{}}),k=async()=>{if(typeof t.config.returnFields!="function"||!t.model)return;const z=await t.config.returnFields(t.config,t.model,r);g.value={},y.value={},z.forEach(j=>{var oe;if(typeof j!="object"||j.name===void 0)return;let ie=((oe=t.model)==null?void 0:oe[j.name])||"";!ie&&j.defaultValue!==void 0&&(ie=j.defaultValue,i("change",ie,{modifyKey:j.name})),g.value[j.name]=ie,y.value[j.name]=j.label||""})},L=watch(()=>{var z;return(z=t.model)==null?void 0:z[t.config.dynamicKey]},z=>{z!==""&&k()},{immediate:!0});onBeforeUnmount(()=>{typeof L=="function"&&L()});const V=z=>{i("change",g.value[z],{modifyKey:z})};return(z,j)=>(openBlock(),createElementBlock("div",_hoisted_1$1e,[createVNode(unref(_sfc_main$4b),{size:"small"},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Object.keys(g.value),ie=>(openBlock(),createBlock(unref(_sfc_main$4a),{key:ie,label:y.value[ie]},{default:withCtx(()=>[createVNode(unref(_sfc_main$48),{modelValue:g.value[ie],"onUpdate:modelValue":oe=>g.value[ie]=oe,placeholder:y.value[ie],onChange:oe=>V(ie)},null,8,["modelValue","onUpdate:modelValue","placeholder","onChange"])]),_:2},1032,["label"]))),128))]),_:1})]))}}),_sfc_main$3w=defineComponent({name:"MFormHidden",__name:"Hidden",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},setup(n){return useAddField(n.prop),(t,i)=>t.model?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":i[0]||(i[0]=r=>t.model[t.name]=r),type:"hidden"},null,512)),[[vModelText,t.model[t.name]]]):createCommentVNode("",!0)}}),_sfc_main$3v=defineComponent({name:"MForm",__name:"Form",props:{config:{default:()=>[]},initValues:{default:()=>({})},lastValues:{default:()=>({})},isCompare:{type:Boolean,default:!1},parentValues:{default:()=>({})},labelWidth:{default:"200px"},disabled:{type:Boolean,default:!1},height:{default:"auto"},stepActive:{default:1},size:{},inline:{type:Boolean,default:!1},labelPosition:{default:"right"},keyProp:{default:"__key"},popperClass:{},preventSubmitDefault:{type:Boolean},extendState:{}},emits:["change","error","field-input","field-change","update:stepActive"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=ref$1(),y=ref$1(!1),k=ref$1({}),L=ref$1({}),V=new Map,z=getConfig("request"),j=reactive$1({keyProp:i.keyProp,popperClass:i.popperClass,config:i.config,initValues:i.initValues,isCompare:i.isCompare,lastValues:i.lastValues,parentValues:i.parentValues,values:k,lastValuesProcessed:L,$emit:r,fields:V,setField:(ae,le)=>V.set(ae,le),getField:ae=>V.get(ae),deleteField:ae=>V.delete(ae),$messageBox:tMagicMessageBox,$message:tMagicMessage,post:ae=>{if(z)return z({method:"POST",...ae})}});watchEffect(async()=>{if(j.initValues=i.initValues,j.lastValues=i.lastValues,j.isCompare=i.isCompare,j.config=i.config,j.keyProp=i.keyProp,j.popperClass=i.popperClass,j.parentValues=i.parentValues,typeof i.extendState=="function"){const ae=await i.extendState(j)||{};Object.entries(ae).forEach(([le,de])=>{j[le]=de})}}),provide("mForm",j);const ie=shallowRef([]);watch([()=>i.config,()=>i.initValues],([ae],[le])=>{ie.value=[],isEqual$1(toRaw(ae),toRaw(le))||(y.value=!1),initValue(j,{initValues:i.initValues,config:i.config}).then(de=>{k.value=de,y.value=!i.isCompare}),i.isCompare&&initValue(j,{initValues:i.lastValues,config:i.config}).then(de=>{L.value=de,y.value=!0})},{immediate:!0});const oe=(ae,le)=>{var de;(de=le.changeRecords)!=null&&de.length&&ie.value.push(...le.changeRecords),r("change",k.value,le)},re=ae=>{i.preventSubmitDefault&&ae.preventDefault()};return e({values:k,lastValuesProcessed:L,formState:j,initialized:y,changeRecords:ie,changeHandler:oe,resetForm:()=>{var ae;(ae=g.value)==null||ae.resetFields(),ie.value=[]},submitForm:async ae=>{var le;try{return await((le=g.value)==null?void 0:le.validate()),ae?k.value:cloneDeep(toRaw(k.value))}catch(de){r("error",de);const ue=[];throw Object.entries(de).forEach(([,he])=>{he.forEach(({field:pe,message:Ce})=>{pe&&Ce&&ue.push("".concat(pe," -> ").concat(Ce)),pe&&!Ce&&ue.push("".concat(pe," -> 出现错误")),!pe&&Ce&&ue.push("".concat(Ce))})}),new Error(ue.join("
    "))}}}),(ae,le)=>(openBlock(),createBlock(unref(_sfc_main$4b),{class:"m-form",ref_key:"tMagicForm",ref:g,model:k.value,"label-width":ae.labelWidth,style:normalizeStyle("height: ".concat(ae.height)),inline:ae.inline,"label-position":ae.labelPosition,onSubmit:re},{default:withCtx(()=>[y.value&&Array.isArray(ae.config)?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ae.config,(de,ue)=>{var he;return openBlock(),createBlock(_sfc_main$3P,{disabled:ae.disabled,key:(he=de[ae.keyProp])!=null?he:ue,config:de,model:k.value,"last-values":L.value,"is-compare":ae.isCompare,"label-width":de.labelWidth||ae.labelWidth,"step-active":ae.stepActive,size:ae.size,onChange:oe},null,8,["disabled","config","model","last-values","is-compare","label-width","step-active","size"])}),128)):createCommentVNode("",!0)]),_:1},8,["model","label-width","style","inline","label-position"]))}}),_hoisted_1$1d={style:{"min-height":"1px"}},_sfc_main$3u=defineComponent({name:"MFormDialog",__name:"FormDialog",props:{config:{default:()=>[]},values:{default:()=>({})},parentValues:{},width:{},labelWidth:{},fullscreen:{type:Boolean},disabled:{type:Boolean},title:{},inline:{type:Boolean},labelPosition:{},zIndex:{},size:{},confirmText:{default:"确定"},preventSubmitDefault:{type:Boolean}},emits:["close","submit","error","change"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=ref$1(),y=ref$1(!1),k=ref$1(!1),L=ref$1(1),V=ref$1("".concat(document.body.clientHeight-194,"px")),z=computed$1(()=>{const{length:pe}=i.config;for(let Ce=0;Ce{const{length:pe}=i.config;for(let Ce=0;Ce{L.value=1,r("close")},oe=async()=>{var pe,Ce;try{const $e=await((pe=g.value)==null?void 0:pe.submitForm());r("submit",$e,{changeRecords:(Ce=g.value)==null?void 0:Ce.changeRecords})}catch($e){r("error",$e)}},re=()=>{L.value-=1},ae=()=>{L.value+=1},le=(pe,Ce)=>{r("change",pe,Ce)},de=()=>{y.value=!0},ue=()=>{y.value=!1},he=()=>{ue()};return e({form:g,saveFetch:k,dialogVisible:y,cancel:he,save:oe,show:de,hide:ue}),(pe,Ce)=>(openBlock(),createBlock(unref(_sfc_main$4g),{modelValue:y.value,"onUpdate:modelValue":Ce[1]||(Ce[1]=$e=>y.value=$e),class:"m-form-dialog",top:"20px","append-to-body":"",title:pe.title,width:pe.width,zIndex:pe.zIndex,fullscreen:pe.fullscreen,"close-on-click-modal":!1,onClose:ie},{footer:withCtx(()=>[createVNode(unref(_sfc_main$41),{class:"dialog-footer"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4l),{span:12,style:{"text-align":"left"}},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$1d,[renderSlot(pe.$slots,"left")])]),_:3}),createVNode(unref(_sfc_main$4l),{span:12},{default:withCtx(()=>[renderSlot(pe.$slots,"footer",{},()=>[createVNode(unref(_sfc_main$4q),{onClick:he,size:"small"},{default:withCtx(()=>Ce[2]||(Ce[2]=[createTextVNode("取 消")])),_:1,__:[2]}),j.value&&L.value>1?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,type:"info",size:"small",onClick:re},{default:withCtx(()=>Ce[3]||(Ce[3]=[createTextVNode("上一步")])),_:1,__:[3]})):createCommentVNode("",!0),j.value&&z.value>L.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:1,type:"info",size:"small",onClick:ae},{default:withCtx(()=>Ce[4]||(Ce[4]=[createTextVNode("下一步")])),_:1,__:[4]})):(openBlock(),createBlock(unref(_sfc_main$4q),{key:2,type:"primary",size:"small",disabled:pe.disabled,loading:k.value,onClick:oe},{default:withCtx(()=>[createTextVNode(toDisplayString(pe.confirmText),1)]),_:1},8,["disabled","loading"]))])]),_:3})]),_:3})]),default:withCtx(()=>[y.value?(openBlock(),createElementBlock("div",{key:0,class:"m-dialog-body",style:normalizeStyle("max-height: ".concat(V.value,"; overflow-y: auto; overflow-x: hidden;"))},[createVNode(_sfc_main$3v,{modelValue:L.value,"onUpdate:modelValue":Ce[0]||(Ce[0]=$e=>L.value=$e),ref_key:"form",ref:g,size:pe.size,disabled:pe.disabled,config:pe.config,"init-values":pe.values,"parent-values":pe.parentValues,"label-width":pe.labelWidth,"label-position":pe.labelPosition,inline:pe.inline,"prevent-submit-default":pe.preventSubmitDefault,onChange:le},null,8,["modelValue","size","disabled","config","init-values","parent-values","label-width","label-position","inline","prevent-submit-default"]),renderSlot(pe.$slots,"default")],4)):createCommentVNode("",!0)]),_:3},8,["modelValue","title","width","zIndex","fullscreen"]))}}),_hoisted_1$1c=["href"],_hoisted_2$t={key:2,class:"m-fields-link"},_sfc_main$3t=defineComponent({name:"MFormLink",__name:"Link",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=ref$1({}),g=ref$1(),y=inject("mForm"),k=computed$1(()=>{var oe;return typeof t.config.href=="function"&&t.model?t.config.href(t.model):t.config.href||((oe=t.model)==null?void 0:oe[t.name])}),L=()=>{var oe;r.value=((oe=t.model)==null?void 0:oe[t.name])||{}},V=computed$1(()=>typeof t.config.form=="function"?t.config.form(y,{model:t.model||{},values:t.values||{}}):t.config.form),z=computed$1(()=>typeof t.config.displayText=="function"?t.config.displayText(y,{model:t.model||{}}):t.config.displayText?t.config.displayText:"跳转"),j=()=>{L(),g.value&&(g.value.dialogVisible=!0)},ie=oe=>{t.model&&(t.model[t.name]=oe,r.value=oe,i("change",t.model[t.name])),g.value&&(g.value.dialogVisible=!1)};return(oe,re)=>oe.config.href&&!oe.disabled?(openBlock(),createElementBlock("a",{key:0,target:"_blank",href:k.value,style:normalizeStyle(oe.config.css||{})},toDisplayString(z.value),13,_hoisted_1$1c)):oe.config.href&&oe.disabled?(openBlock(),createElementBlock("span",{key:1,style:normalizeStyle(oe.config.disabledCss||{})},toDisplayString(z.value),5)):(openBlock(),createElementBlock("div",_hoisted_2$t,[createVNode(unref(_sfc_main$4q),{link:"",type:"primary",onClick:j},{default:withCtx(()=>re[0]||(re[0]=[createTextVNode("点击编辑")])),_:1,__:[0]}),createVNode(_sfc_main$3u,{ref_key:"editor",ref:g,title:oe.config.formTitle||"编辑扩展配置",width:oe.config.formWidth,values:r.value,config:V.value,parentValues:oe.values,fullscreen:oe.config.fullscreen,onSubmit:ie},null,8,["title","width","values","config","parentValues","fullscreen"])]))}}),_sfc_main$3s=defineComponent({name:"MFormNumber",__name:"Number",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=inject("mForm"),g=k=>{i("change",k)},y=k=>{i("input",k),r==null||r.$emit("field-input",t.prop,k)};return(k,L)=>k.model?(openBlock(),createBlock(unref(_sfc_main$47),{key:0,modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),clearable:"","controls-position":"right",size:k.size,max:k.config.max,min:k.config.min,step:k.config.step,placeholder:k.config.placeholder,disabled:k.disabled,onChange:g,onInput:y},null,8,["modelValue","size","max","min","step","placeholder","disabled"])):createCommentVNode("",!0)}}),_hoisted_1$1b={class:"m-fields-number-range"},_sfc_main$3r=defineComponent({name:"MFormNumberRange",__name:"NumberRange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop),Array.isArray(t.model[t.name])||(t.model[t.name]=[]);const r=y=>{i("change",[Number(y),t.model[t.name][1]])},g=y=>{i("change",[t.model[t.name][0],Number(y)])};return(y,k)=>(openBlock(),createElementBlock("div",_hoisted_1$1b,[createVNode(unref(_sfc_main$48),{modelValue:y.model[y.name][0],"onUpdate:modelValue":k[0]||(k[0]=L=>y.model[y.name][0]=L),clearable:"",size:y.size,disabled:y.disabled,onChange:r},null,8,["modelValue","size","disabled"]),k[2]||(k[2]=createBaseVNode("span",{class:"split-tag"},"-",-1)),createVNode(unref(_sfc_main$48),{modelValue:y.model[y.name][1],"onUpdate:modelValue":k[1]||(k[1]=L=>y.model[y.name][1]=L),clearable:"",size:y.size,disabled:y.disabled,onChange:g},null,8,["modelValue","size","disabled"])]))}}),_hoisted_1$1a={key:1},_sfc_main$3q=defineComponent({name:"MFormRadioGroup",__name:"RadioGroup",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=computed$1(()=>t.config.childType==="button"?_sfc_main$43:_sfc_main$44),r=e,g=k=>{r("change",k)},y=k=>{t.model[t.name]=t.model[t.name]===k?"":k,g(t.model[t.name])};return useAddField(t.prop),(k,L)=>k.model?(openBlock(),createBlock(unref(_sfc_main$42),{key:0,modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),size:k.size,disabled:k.disabled},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.config.options,V=>(openBlock(),createBlock(resolveDynamicComponent(i.value),{value:V.value,key:"".concat(V.value),onClick:withModifiers(z=>y(V.value),["prevent"])},{default:withCtx(()=>[V.tooltip?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,placement:"top-start",content:V.tooltip},{default:withCtx(()=>[createBaseVNode("div",null,[V.icon?(openBlock(),createBlock(unref(_sfc_main$49),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(V.icon)))]),_:2},1024)):createCommentVNode("",!0),createBaseVNode("span",null,toDisplayString(V.text),1)])]),_:2},1032,["content"])):(openBlock(),createElementBlock("div",_hoisted_1$1a,[V.icon?(openBlock(),createBlock(unref(_sfc_main$49),{key:0,size:"16"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(V.icon)))]),_:2},1024)):createCommentVNode("",!0),createBaseVNode("span",null,toDisplayString(V.text),1)]))]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["modelValue","size","disabled"])):createCommentVNode("",!0)}}),configProviderContextKey$1=Symbol(),defaultNamespace$1="el",statePrefix$1="is-",_bem$1=(n,e,t,i,r)=>{let g="".concat(n,"-").concat(e);return t&&(g+="-".concat(t)),i&&(g+="__".concat(i)),r&&(g+="--".concat(r)),g},namespaceContextKey$1=Symbol("namespaceContextKey"),useGetDerivedNamespace$1=n=>{const e=n||(getCurrentInstance$1()?inject(namespaceContextKey$1,ref$1(defaultNamespace$1)):ref$1(defaultNamespace$1));return computed$1(()=>unref(e)||defaultNamespace$1)},useNamespace$1=(n,e)=>{const t=useGetDerivedNamespace$1(e);return{namespace:t,b:(ae="")=>_bem$1(t.value,n,ae,"",""),e:ae=>ae?_bem$1(t.value,n,"",ae,""):"",m:ae=>ae?_bem$1(t.value,n,"","",ae):"",be:(ae,le)=>ae&&le?_bem$1(t.value,n,ae,le,""):"",em:(ae,le)=>ae&&le?_bem$1(t.value,n,"",ae,le):"",bm:(ae,le)=>ae&&le?_bem$1(t.value,n,ae,"",le):"",bem:(ae,le,de)=>ae&&le&&de?_bem$1(t.value,n,ae,le,de):"",is:(ae,...le)=>{const de=le.length>=1?le[0]:!0;return ae&&de?"".concat(statePrefix$1).concat(ae):""},cssVar:ae=>{const le={};for(const de in ae)ae[de]&&(le["--".concat(t.value,"-").concat(de)]=ae[de]);return le},cssVarName:ae=>"--".concat(t.value,"-").concat(ae),cssVarBlock:ae=>{const le={};for(const de in ae)ae[de]&&(le["--".concat(t.value,"-").concat(n,"-").concat(de)]=ae[de]);return le},cssVarBlockName:ae=>"--".concat(t.value,"-").concat(n,"-").concat(ae)}};/** * @vue/shared v3.5.13 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/const NOOP=()=>{},hasOwnProperty$3=Object.prototype.hasOwnProperty,hasOwn=(n,e)=>hasOwnProperty$3.call(n,e),isArray$2=Array.isArray,isDate$1=n=>toTypeString(n)==="[object Date]",isFunction$4=n=>typeof n=="function",isString$5=n=>typeof n=="string",isObject$4=n=>n!==null&&typeof n=="object",isPromise=n=>(isObject$4(n)||isFunction$4(n))&&isFunction$4(n.then)&&isFunction$4(n.catch),objectToString=Object.prototype.toString,toTypeString=n=>objectToString.call(n),isPlainObject=n=>toTypeString(n)==="[object Object]",cacheStringFunction=n=>{const e=Object.create(null);return t=>e[t]||(e[t]=n(t))},camelizeRE=/-(\w)/g,camelize$1=cacheStringFunction(n=>n.replace(camelizeRE,(e,t)=>t?t.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(n=>n.replace(hyphenateRE,"-$1").toLowerCase()),capitalize$2=cacheStringFunction(n=>n.charAt(0).toUpperCase()+n.slice(1)),isBoolean$2=n=>typeof n=="boolean",isNumber$5=n=>typeof n=="number",isElement$1=n=>typeof Element>"u"?!1:n instanceof Element;var __defProp$9$1=Object.defineProperty,__defProps$6$1=Object.defineProperties,__getOwnPropDescs$6$1=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$b$1=Object.getOwnPropertySymbols,__hasOwnProp$b$1=Object.prototype.hasOwnProperty,__propIsEnum$b$1=Object.prototype.propertyIsEnumerable,__defNormalProp$9$1=(n,e,t)=>e in n?__defProp$9$1(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,__spreadValues$9$1=(n,e)=>{for(var t in e||(e={}))__hasOwnProp$b$1.call(e,t)&&__defNormalProp$9$1(n,t,e[t]);if(__getOwnPropSymbols$b$1)for(var t of __getOwnPropSymbols$b$1(e))__propIsEnum$b$1.call(e,t)&&__defNormalProp$9$1(n,t,e[t]);return n},__spreadProps$6$1=(n,e)=>__defProps$6$1(n,__getOwnPropDescs$6$1(e));function computedEager$1(n,e){var t;const i=shallowRef();return watchEffect(()=>{i.value=n()},__spreadProps$6$1(__spreadValues$9$1({},e),{flush:(t=void 0)!=null?t:"sync"})),readonly(i)}var _a$8;const isClient$1=typeof window<"u",isString$4=n=>typeof n=="string",noop$2=()=>{},isIOS$2=isClient$1&&((_a$8=window==null?void 0:window.navigator)==null?void 0:_a$8.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function resolveUnref$1(n){return typeof n=="function"?n():unref(n)}function identity$1(n){return n}function tryOnScopeDispose$1(n){return getCurrentScope()?(onScopeDispose(n),!0):!1}function unrefElement$1(n){var e;const t=resolveUnref$1(n);return(e=t==null?void 0:t.$el)!=null?e:t}const defaultWindow$1=isClient$1?window:void 0;function useEventListener$1(...n){let e,t,i,r;if(isString$4(n[0])||Array.isArray(n[0])?([t,i,r]=n,e=defaultWindow$1):[e,t,i,r]=n,!e)return noop$2;Array.isArray(t)||(t=[t]),Array.isArray(i)||(i=[i]);const g=[],y=()=>{g.forEach(z=>z()),g.length=0},k=(z,j,ie,oe)=>(z.addEventListener(j,ie,oe),()=>z.removeEventListener(j,ie,oe)),L=watch(()=>[unrefElement$1(e),resolveUnref$1(r)],([z,j])=>{y(),z&&g.push(...t.flatMap(ie=>i.map(oe=>k(z,ie,oe,j))))},{immediate:!0,flush:"post"}),V=()=>{L(),y()};return tryOnScopeDispose$1(V),V}let _iOSWorkaround$1=!1;function onClickOutside$1(n,e,t={}){const{window:i=defaultWindow$1,ignore:r=[],capture:g=!0,detectIframe:y=!1}=t;if(!i)return;isIOS$2&&!_iOSWorkaround$1&&(_iOSWorkaround$1=!0,Array.from(i.document.body.children).forEach(ie=>ie.addEventListener("click",noop$2)));let k=!0;const L=ie=>r.some(oe=>{if(typeof oe=="string")return Array.from(i.document.querySelectorAll(oe)).some(re=>re===ie.target||ie.composedPath().includes(re));{const re=unrefElement$1(oe);return re&&(ie.target===re||ie.composedPath().includes(re))}}),z=[useEventListener$1(i,"click",ie=>{const oe=unrefElement$1(n);if(!(!oe||oe===ie.target||ie.composedPath().includes(oe))){if(ie.detail===0&&(k=!L(ie)),!k){k=!0;return}e(ie)}},{passive:!0,capture:g}),useEventListener$1(i,"pointerdown",ie=>{const oe=unrefElement$1(n);oe&&(k=!ie.composedPath().includes(oe)&&!L(ie))},{passive:!0}),y&&useEventListener$1(i,"blur",ie=>{var oe;const re=unrefElement$1(n);((oe=i.document.activeElement)==null?void 0:oe.tagName)==="IFRAME"&&!(re!=null&&re.contains(i.document.activeElement))&&e(ie)})].filter(Boolean);return()=>z.forEach(ie=>ie())}const _global$1=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey$1="__vueuse_ssr_handlers__";_global$1[globalKey$1]=_global$1[globalKey$1]||{};var SwipeDirection$1;(function(n){n.UP="UP",n.RIGHT="RIGHT",n.DOWN="DOWN",n.LEFT="LEFT",n.NONE="NONE"})(SwipeDirection$1||(SwipeDirection$1={}));var __defProp$5=Object.defineProperty,__getOwnPropSymbols$1=Object.getOwnPropertySymbols,__hasOwnProp$5=Object.prototype.hasOwnProperty,__propIsEnum$1=Object.prototype.propertyIsEnumerable,__defNormalProp$1=(n,e,t)=>e in n?__defProp$5(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,__spreadValues$1=(n,e)=>{for(var t in e||(e={}))__hasOwnProp$5.call(e,t)&&__defNormalProp$1(n,t,e[t]);if(__getOwnPropSymbols$1)for(var t of __getOwnPropSymbols$1(e))__propIsEnum$1.call(e,t)&&__defNormalProp$1(n,t,e[t]);return n};const _TransitionPresets$1={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};__spreadValues$1({linear:identity$1},_TransitionPresets$1);const initial$1={current:0},zIndex$1=ref$1(0),defaultInitialZIndex$1=2e3,ZINDEX_INJECTION_KEY$1=Symbol("elZIndexContextKey"),zIndexContextKey$1=Symbol("zIndexContextKey"),useZIndex$1=n=>{const e=getCurrentInstance$1()?inject(ZINDEX_INJECTION_KEY$1,initial$1):initial$1,t=n||(getCurrentInstance$1()?inject(zIndexContextKey$1,void 0):void 0),i=computed$1(()=>{const y=unref(t);return isNumber$5(y)?y:defaultInitialZIndex$1}),r=computed$1(()=>i.value+zIndex$1.value),g=()=>(e.current++,zIndex$1.value=e.current,r.value);return!isClient$1&&inject(ZINDEX_INJECTION_KEY$1),{initialZIndex:i,currentZIndex:r,nextZIndex:g}};var English$1={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const buildTranslator$1=n=>(e,t)=>translate$1(e,t,unref(n)),translate$1=(n,e,t)=>get(t,n,n).replace(/\{(\w+)\}/g,(i,r)=>{var g;return"".concat((g=e==null?void 0:e[r])!=null?g:"{".concat(r,"}"))}),buildLocaleContext$1=n=>{const e=computed$1(()=>unref(n).name),t=isRef(n)?n:ref$1(n);return{lang:e,locale:t,t:buildTranslator$1(n)}},localeContextKey$1=Symbol("localeContextKey"),useLocale$1=n=>{const e=n||inject(localeContextKey$1,ref$1());return buildLocaleContext$1(computed$1(()=>e.value||English$1))},epPropKey$1="__epPropKey",definePropType$1=n=>n,isEpProp$1=n=>isObject$4(n)&&!!n[epPropKey$1],buildProp$1=(n,e)=>{if(!isObject$4(n)||isEpProp$1(n))return n;const{values:t,required:i,default:r,type:g,validator:y}=n,L={type:g,required:!!i,validator:t||y?V=>{let z=!1,j=[];if(t&&(j=Array.from(t),hasOwn(n,"default")&&j.push(r),z||(z=j.includes(V))),y&&(z||(z=y(V))),!z&&j.length>0){const ie=[...new Set(j)].map(oe=>JSON.stringify(oe)).join(", ");warn("Invalid prop: validation failed".concat(e?' for prop "'.concat(e,'"'):"",". Expected one of [").concat(ie,"], got value ").concat(JSON.stringify(V),"."))}return z}:void 0,[epPropKey$1]:!0};return hasOwn(n,"default")&&(L.default=r),L},buildProps$1=n=>fromPairs(Object.entries(n).map(([e,t])=>[e,buildProp$1(t,e)])),componentSizes$1=["","default","small","large"];buildProp$1({type:String,values:componentSizes$1,required:!1});const SIZE_INJECTION_KEY$1=Symbol("size"),emptyValuesContextKey$1=Symbol("emptyValuesContextKey");buildProps$1({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:n=>isFunction$4(n)?!n():!n}});const keysOf$1=n=>Object.keys(n),globalConfig$1=ref$1();function useGlobalConfig$1(n,e=void 0){return getCurrentInstance$1()?inject(configProviderContextKey$1,globalConfig$1):globalConfig$1}function useGlobalComponentSettings$1(n,e){const t=useGlobalConfig$1(),i=useNamespace$1(n,computed$1(()=>{var k;return((k=t.value)==null?void 0:k.namespace)||defaultNamespace$1})),r=useLocale$1(computed$1(()=>{var k;return(k=t.value)==null?void 0:k.locale})),g=useZIndex$1(computed$1(()=>{var k;return((k=t.value)==null?void 0:k.zIndex)||defaultInitialZIndex$1})),y=computed$1(()=>{var k;return unref(e)||((k=t.value)==null?void 0:k.size)||""});return provideGlobalConfig$1(computed$1(()=>unref(t)||{})),{ns:i,locale:r,zIndex:g,size:y}}const provideGlobalConfig$1=(n,e,t=!1)=>{var i;const r=!!getCurrentInstance$1(),g=r?useGlobalConfig$1():void 0,y=(i=void 0)!=null?i:r?provide:void 0;if(!y)return;const k=computed$1(()=>{const L=unref(n);return g!=null&&g.value?mergeConfig$1(g.value,L):L});return y(configProviderContextKey$1,k),y(localeContextKey$1,computed$1(()=>k.value.locale)),y(namespaceContextKey$1,computed$1(()=>k.value.namespace)),y(zIndexContextKey$1,computed$1(()=>k.value.zIndex)),y(SIZE_INJECTION_KEY$1,{size:computed$1(()=>k.value.size||"")}),y(emptyValuesContextKey$1,computed$1(()=>({emptyValues:k.value.emptyValues,valueOnClear:k.value.valueOnClear}))),(t||!globalConfig$1.value)&&(globalConfig$1.value=k.value),k},mergeConfig$1=(n,e)=>{const t=[...new Set([...keysOf$1(n),...keysOf$1(e)])],i={};for(const r of t)i[r]=e[r]!==void 0?e[r]:n[r];return i};var _export_sfc$2=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t};const classNameToArray$1=(n="")=>n.split(" ").filter(e=>!!e.trim()),addClass$2=(n,e)=>{!n||!e.trim()||n.classList.add(...classNameToArray$1(e))},removeClass$2=(n,e)=>{!n||!e.trim()||n.classList.remove(...classNameToArray$1(e))},getStyle$1=(n,e)=>{var t;if(!isClient$1||!n||!e)return"";let i=camelize$1(e);i==="float"&&(i="cssFloat");try{const r=n.style[i];if(r)return r;const g=(t=document.defaultView)==null?void 0:t.getComputedStyle(n,"");return g?g[i]:""}catch(r){return n.style[i]}},withInstall$1=(n,e)=>(n.install=t=>{for(const i of[n,...Object.values({})])t.component(i.name,i)},n);/*! Element Plus Icons Vue v2.3.1 */var coin_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Coin",__name:"coin",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m161.92 580.736 29.888 58.88C171.328 659.776 160 681.728 160 704c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 615.808 928 657.664 928 704c0 129.728-188.544 224-416 224S96 833.728 96 704c0-46.592 24.32-88.576 65.92-123.264z"}),createBaseVNode("path",{fill:"currentColor",d:"m161.92 388.736 29.888 58.88C171.328 467.84 160 489.792 160 512c0 82.304 155.328 160 352 160s352-77.696 352-160c0-22.272-11.392-44.16-31.808-64.32l30.464-58.432C903.936 423.808 928 465.664 928 512c0 129.728-188.544 224-416 224S96 641.728 96 512c0-46.592 24.32-88.576 65.92-123.264z"}),createBaseVNode("path",{fill:"currentColor",d:"M512 544c-227.456 0-416-94.272-416-224S284.544 96 512 96s416 94.272 416 224-188.544 224-416 224m0-64c196.672 0 352-77.696 352-160S708.672 160 512 160s-352 77.696-352 160 155.328 160 352 160"})]))}}),coin_default=coin_vue_vue_type_script_setup_true_lang_default,connection_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Connection",__name:"connection",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 384v64H448a128 128 0 0 0-128 128v128a128 128 0 0 0 128 128h320a128 128 0 0 0 128-128V576a128 128 0 0 0-64-110.848V394.88c74.56 26.368 128 97.472 128 181.056v128a192 192 0 0 1-192 192H448a192 192 0 0 1-192-192V576a192 192 0 0 1 192-192z"}),createBaseVNode("path",{fill:"currentColor",d:"M384 640v-64h192a128 128 0 0 0 128-128V320a128 128 0 0 0-128-128H256a128 128 0 0 0-128 128v128a128 128 0 0 0 64 110.848v70.272A192.064 192.064 0 0 1 64 448V320a192 192 0 0 1 192-192h320a192 192 0 0 1 192 192v128a192 192 0 0 1-192 192z"})]))}}),connection_default=connection_vue_vue_type_script_setup_true_lang_default,copy_document_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CopyDocument",__name:"copy-document",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M768 832a128 128 0 0 1-128 128H192A128 128 0 0 1 64 832V384a128 128 0 0 1 128-128v64a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64z"}),createBaseVNode("path",{fill:"currentColor",d:"M384 128a64 64 0 0 0-64 64v448a64 64 0 0 0 64 64h448a64 64 0 0 0 64-64V192a64 64 0 0 0-64-64zm0-64h448a128 128 0 0 1 128 128v448a128 128 0 0 1-128 128H384a128 128 0 0 1-128-128V192A128 128 0 0 1 384 64"})]))}}),copy_document_default=copy_document_vue_vue_type_script_setup_true_lang_default,document_copy_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"DocumentCopy",__name:"document-copy",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 320v576h576V320zm-32-64h640a32 32 0 0 1 32 32v640a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32M960 96v704a32 32 0 0 1-32 32h-96v-64h64V128H384v64h-64V96a32 32 0 0 1 32-32h576a32 32 0 0 1 32 32M256 672h320v64H256zm0-192h320v64H256z"})]))}}),document_copy_default=document_copy_vue_vue_type_script_setup_true_lang_default,document_vue_vue_type_script_setup_true_lang_default$1=defineComponent({name:"Document",__name:"document",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),document_default$1=document_vue_vue_type_script_setup_true_lang_default$1,files_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Files",__name:"files",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 384v448h768V384zm-32-64h832a32 32 0 0 1 32 32v512a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V352a32 32 0 0 1 32-32m64-128h704v64H160zm96-128h512v64H256z"})]))}}),files_default=files_vue_vue_type_script_setup_true_lang_default,folder_opened_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"FolderOpened",__name:"folder-opened",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M878.08 448H241.92l-96 384h636.16l96-384zM832 384v-64H485.76L357.504 192H128v448l57.92-231.744A32 32 0 0 1 216.96 384zm-24.96 512H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h287.872l128.384 128H864a32 32 0 0 1 32 32v96h23.04a32 32 0 0 1 31.04 39.744l-112 448A32 32 0 0 1 807.04 896"})]))}}),folder_opened_default=folder_opened_vue_vue_type_script_setup_true_lang_default,grid_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Grid",__name:"grid",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 384v256H384V384zm64 0h192v256H704zm-64 512H384V704h256zm64 0V704h192v192zm-64-768v192H384V128zm64 0h192v192H704zM320 384v256H128V384zm0 512H128V704h192zm0-768v192H128V128z"})]))}}),grid_default=grid_vue_vue_type_script_setup_true_lang_default,picture_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"PictureFilled",__name:"picture-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M96 896a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h832a32 32 0 0 1 32 32v704a32 32 0 0 1-32 32zm315.52-228.48-68.928-68.928a32 32 0 0 0-45.248 0L128 768.064h778.688l-242.112-290.56a32 32 0 0 0-49.216 0L458.752 665.408a32 32 0 0 1-47.232 2.112M256 384a96 96 0 1 0 192.064-.064A96 96 0 0 0 256 384"})]))}}),picture_filled_default=picture_filled_vue_vue_type_script_setup_true_lang_default,switch_button_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"SwitchButton",__name:"switch-button",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M352 159.872V230.4a352 352 0 1 0 320 0v-70.528A416.128 416.128 0 0 1 512 960a416 416 0 0 1-160-800.128z"}),createBaseVNode("path",{fill:"currentColor",d:"M512 64q32 0 32 32v320q0 32-32 32t-32-32V96q0-32 32-32"})]))}}),switch_button_default=switch_button_vue_vue_type_script_setup_true_lang_default,ticket_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Ticket",__name:"ticket",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M640 832H64V640a128 128 0 1 0 0-256V192h576v160h64V192h256v192a128 128 0 1 0 0 256v192H704V672h-64zm0-416v192h64V416z"})]))}}),ticket_default=ticket_vue_vue_type_script_setup_true_lang_default,tickets_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Tickets",__name:"tickets",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M192 128v768h640V128zm-32-64h704a32 32 0 0 1 32 32v832a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h192v64H320zm0 384h384v64H320z"})]))}}),tickets_default=tickets_vue_vue_type_script_setup_true_lang_default;const ariaProps$1=buildProps$1({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),useAriaProps$1=n=>pick(ariaProps$1,n),formItemContextKey$1=Symbol("formItemContextKey"),defaultIdInjection$1={prefix:Math.floor(Math.random()*1e4),current:0},ID_INJECTION_KEY$1=Symbol("elIdInjection"),useIdInjection$1=()=>getCurrentInstance$1()?inject(ID_INJECTION_KEY$1,defaultIdInjection$1):defaultIdInjection$1,useId$1=n=>{const e=useIdInjection$1(),t=useGetDerivedNamespace$1();return computedEager$1(()=>unref(n)||"".concat(t.value,"-id-").concat(e.prefix,"-").concat(e.current++))},POPPER_INJECTION_KEY$1=Symbol("popper"),POPPER_CONTENT_INJECTION_KEY$1=Symbol("popperContent"),roleTypes$1=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],popperProps$1=buildProps$1({role:{type:String,values:roleTypes$1,default:"tooltip"}}),__default__$11=defineComponent({name:"ElPopper",inheritAttrs:!1}),_sfc_main$3p=defineComponent({...__default__$11,props:popperProps$1,setup(n,{expose:e}){const t=n,i=ref$1(),r=ref$1(),g=ref$1(),y=ref$1(),k=computed$1(()=>t.role),L={triggerRef:i,popperInstanceRef:r,contentRef:g,referenceRef:y,role:k};return e(L),provide(POPPER_INJECTION_KEY$1,L),(V,z)=>renderSlot(V.$slots,"default")}});var Popper$1=_export_sfc$2(_sfc_main$3p,[["__file","popper.vue"]]);const __default__$10=defineComponent({name:"ElPopperArrow",inheritAttrs:!1}),_sfc_main$3o=defineComponent({...__default__$10,setup(n,{expose:e}){const t=useNamespace$1("popper"),{arrowRef:i,arrowStyle:r}=inject(POPPER_CONTENT_INJECTION_KEY$1,void 0);return onBeforeUnmount(()=>{i.value=void 0}),e({arrowRef:i}),(g,y)=>(openBlock(),createElementBlock("span",{ref_key:"arrowRef",ref:i,class:normalizeClass(unref(t).e("arrow")),style:normalizeStyle(unref(r)),"data-popper-arrow":""},null,6))}});var ElPopperArrow$1=_export_sfc$2(_sfc_main$3o,[["__file","arrow.vue"]]);const popperTriggerProps$1=buildProps$1({virtualRef:{type:definePropType$1(Object)},virtualTriggering:Boolean,onMouseenter:{type:definePropType$1(Function)},onMouseleave:{type:definePropType$1(Function)},onClick:{type:definePropType$1(Function)},onKeydown:{type:definePropType$1(Function)},onFocus:{type:definePropType$1(Function)},onBlur:{type:definePropType$1(Function)},onContextmenu:{type:definePropType$1(Function)},id:String,open:Boolean}),FORWARD_REF_INJECTION_KEY$1=Symbol("elForwardRef"),useForwardRef$1=n=>{provide(FORWARD_REF_INJECTION_KEY$1,{setForwardRef:t=>{n.value=t}})},useForwardRefDirective$1=n=>({mounted(e){n(e)},updated(e){n(e)},unmounted(){n(null)}}),isFocusable$1=n=>{if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.tabIndex<0||n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true")return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return!(n.type==="hidden"||n.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},NAME$1="ElOnlyChild",OnlyChild$1=defineComponent({name:NAME$1,setup(n,{slots:e,attrs:t}){var i;const r=inject(FORWARD_REF_INJECTION_KEY$1),g=useForwardRefDirective$1((i=r==null?void 0:r.setForwardRef)!=null?i:NOOP);return()=>{var y;const k=(y=e.default)==null?void 0:y.call(e,t);if(!k||k.length>1)return null;const L=findFirstLegitChild$1(k);return L?withDirectives(cloneVNode(L,t),[[g]]):null}}});function findFirstLegitChild$1(n){if(!n)return null;const e=n;for(const t of e){if(isObject$4(t))switch(t.type){case Comment:continue;case Text$2:case"svg":return wrapTextContent$1(t);case Fragment:return findFirstLegitChild$1(t.children);default:return t}return wrapTextContent$1(t)}return null}function wrapTextContent$1(n){const e=useNamespace$1("only-child");return createVNode("span",{class:e.e("content")},[n])}const __default__$$=defineComponent({name:"ElPopperTrigger",inheritAttrs:!1}),_sfc_main$3n=defineComponent({...__default__$$,props:popperTriggerProps$1,setup(n,{expose:e}){const t=n,{role:i,triggerRef:r}=inject(POPPER_INJECTION_KEY$1,void 0);useForwardRef$1(r);const g=computed$1(()=>k.value?t.id:void 0),y=computed$1(()=>{if(i&&i.value==="tooltip")return t.open&&t.id?t.id:void 0}),k=computed$1(()=>{if(i&&i.value!=="tooltip")return i.value}),L=computed$1(()=>k.value?"".concat(t.open):void 0);let V;const z=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return onMounted(()=>{watch(()=>t.virtualRef,j=>{j&&(r.value=unrefElement$1(j))},{immediate:!0}),watch(r,(j,ie)=>{V==null||V(),V=void 0,isElement$1(j)&&(z.forEach(oe=>{var re;const ae=t[oe];ae&&(j.addEventListener(oe.slice(2).toLowerCase(),ae),(re=ie==null?void 0:ie.removeEventListener)==null||re.call(ie,oe.slice(2).toLowerCase(),ae))}),isFocusable$1(j)&&(V=watch([g,y,k,L],oe=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((re,ae)=>{isNil(oe[ae])?j.removeAttribute(re):j.setAttribute(re,oe[ae])})},{immediate:!0}))),isElement$1(ie)&&isFocusable$1(ie)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(oe=>ie.removeAttribute(oe))},{immediate:!0})}),onBeforeUnmount(()=>{if(V==null||V(),V=void 0,r.value&&isElement$1(r.value)){const j=r.value;z.forEach(ie=>{const oe=t[ie];oe&&j.removeEventListener(ie.slice(2).toLowerCase(),oe)}),r.value=void 0}}),e({triggerRef:r}),(j,ie)=>j.virtualTriggering?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(OnlyChild$1),mergeProps({key:0},j.$attrs,{"aria-controls":unref(g),"aria-describedby":unref(y),"aria-expanded":unref(L),"aria-haspopup":unref(k)}),{default:withCtx(()=>[renderSlot(j.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var ElPopperTrigger$1=_export_sfc$2(_sfc_main$3n,[["__file","trigger.vue"]]);const FOCUS_AFTER_TRAPPED$1="focus-trap.focus-after-trapped",FOCUS_AFTER_RELEASED$1="focus-trap.focus-after-released",FOCUSOUT_PREVENTED$1="focus-trap.focusout-prevented",FOCUS_AFTER_TRAPPED_OPTS$1={cancelable:!0,bubbles:!1},FOCUSOUT_PREVENTED_OPTS$1={cancelable:!0,bubbles:!1},ON_TRAP_FOCUS_EVT$1="focusAfterTrapped",ON_RELEASE_FOCUS_EVT$1="focusAfterReleased",FOCUS_TRAP_INJECTION_KEY$1=Symbol("elFocusTrap"),focusReason$1=ref$1(),lastUserFocusTimestamp$1=ref$1(0),lastAutomatedFocusTimestamp$1=ref$1(0);let focusReasonUserCount$1=0;const obtainAllFocusableElements$2=n=>{const e=[],t=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0||i===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)e.push(t.currentNode);return e},getVisibleElement$1=(n,e)=>{for(const t of n)if(!isHidden$1(t,e))return t},isHidden$1=(n,e)=>{if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(e&&n===e)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1},getEdges$1=n=>{const e=obtainAllFocusableElements$2(n),t=getVisibleElement$1(e,n),i=getVisibleElement$1(e.reverse(),n);return[t,i]},isSelectable$1=n=>n instanceof HTMLInputElement&&"select"in n,tryFocus$1=(n,e)=>{if(n&&n.focus){const t=document.activeElement;let i=!1;isElement$1(n)&&!isFocusable$1(n)&&!n.getAttribute("tabindex")&&(n.setAttribute("tabindex","-1"),i=!0),n.focus({preventScroll:!0}),lastAutomatedFocusTimestamp$1.value=window.performance.now(),n!==t&&isSelectable$1(n)&&e&&n.select(),isElement$1(n)&&i&&n.removeAttribute("tabindex")}};function removeFromStack$1(n,e){const t=[...n],i=n.indexOf(e);return i!==-1&&t.splice(i,1),t}const createFocusableStack$1=()=>{let n=[];return{push:i=>{const r=n[0];r&&i!==r&&r.pause(),n=removeFromStack$1(n,i),n.unshift(i)},remove:i=>{var r,g;n=removeFromStack$1(n,i),(g=(r=n[0])==null?void 0:r.resume)==null||g.call(r)}}},focusFirstDescendant$1=(n,e=!1)=>{const t=document.activeElement;for(const i of n)if(tryFocus$1(i,e),document.activeElement!==t)return},focusableStack$1=createFocusableStack$1(),isFocusCausedByUserEvent$1=()=>lastUserFocusTimestamp$1.value>lastAutomatedFocusTimestamp$1.value,notifyFocusReasonPointer$1=()=>{focusReason$1.value="pointer",lastUserFocusTimestamp$1.value=window.performance.now()},notifyFocusReasonKeydown$1=()=>{focusReason$1.value="keyboard",lastUserFocusTimestamp$1.value=window.performance.now()},useFocusReason$1=()=>(onMounted(()=>{focusReasonUserCount$1===0&&(document.addEventListener("mousedown",notifyFocusReasonPointer$1),document.addEventListener("touchstart",notifyFocusReasonPointer$1),document.addEventListener("keydown",notifyFocusReasonKeydown$1)),focusReasonUserCount$1++}),onBeforeUnmount(()=>{focusReasonUserCount$1--,focusReasonUserCount$1<=0&&(document.removeEventListener("mousedown",notifyFocusReasonPointer$1),document.removeEventListener("touchstart",notifyFocusReasonPointer$1),document.removeEventListener("keydown",notifyFocusReasonKeydown$1))}),{focusReason:focusReason$1,lastUserFocusTimestamp:lastUserFocusTimestamp$1,lastAutomatedFocusTimestamp:lastAutomatedFocusTimestamp$1}),createFocusOutPreventedEvent$1=n=>new CustomEvent(FOCUSOUT_PREVENTED$1,{...FOCUSOUT_PREVENTED_OPTS$1,detail:n}),EVENT_CODE$1={tab:"Tab",enter:"Enter",space:"Space",esc:"Escape",numpadEnter:"NumpadEnter"};let registeredEscapeHandlers$1=[];const cachedHandler$1=n=>{n.code===EVENT_CODE$1.esc&®isteredEscapeHandlers$1.forEach(e=>e(n))},useEscapeKeydown$1=n=>{onMounted(()=>{registeredEscapeHandlers$1.length===0&&document.addEventListener("keydown",cachedHandler$1),isClient$1&®isteredEscapeHandlers$1.push(n)}),onBeforeUnmount(()=>{registeredEscapeHandlers$1=registeredEscapeHandlers$1.filter(e=>e!==n),registeredEscapeHandlers$1.length===0&&isClient$1&&document.removeEventListener("keydown",cachedHandler$1)})},_sfc_main$3m=defineComponent({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[ON_TRAP_FOCUS_EVT$1,ON_RELEASE_FOCUS_EVT$1,"focusin","focusout","focusout-prevented","release-requested"],setup(n,{emit:e}){const t=ref$1();let i,r;const{focusReason:g}=useFocusReason$1();useEscapeKeydown$1(re=>{n.trapped&&!y.paused&&e("release-requested",re)});const y={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},k=re=>{if(!n.loop&&!n.trapped||y.paused)return;const{code:ae,altKey:le,ctrlKey:de,metaKey:ue,currentTarget:he,shiftKey:pe}=re,{loop:Ce}=n,$e=ae===EVENT_CODE$1.tab&&!le&&!de&&!ue,xe=document.activeElement;if($e&&xe){const Ie=he,[Ne,Fe]=getEdges$1(Ie);if(Ne&&Fe){if(!pe&&xe===Fe){const Oe=createFocusOutPreventedEvent$1({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||(re.preventDefault(),Ce&&tryFocus$1(Ne,!0))}else if(pe&&[Ne,Ie].includes(xe)){const Oe=createFocusOutPreventedEvent$1({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||(re.preventDefault(),Ce&&tryFocus$1(Fe,!0))}}else if(xe===Ie){const Oe=createFocusOutPreventedEvent$1({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||re.preventDefault()}}};provide(FOCUS_TRAP_INJECTION_KEY$1,{focusTrapRef:t,onKeydown:k}),watch(()=>n.focusTrapEl,re=>{re&&(t.value=re)},{immediate:!0}),watch([t],([re],[ae])=>{re&&(re.addEventListener("keydown",k),re.addEventListener("focusin",z),re.addEventListener("focusout",j)),ae&&(ae.removeEventListener("keydown",k),ae.removeEventListener("focusin",z),ae.removeEventListener("focusout",j))});const L=re=>{e(ON_TRAP_FOCUS_EVT$1,re)},V=re=>e(ON_RELEASE_FOCUS_EVT$1,re),z=re=>{const ae=unref(t);if(!ae)return;const le=re.target,de=re.relatedTarget,ue=le&&ae.contains(le);n.trapped||de&&ae.contains(de)||(i=de),ue&&e("focusin",re),!y.paused&&n.trapped&&(ue?r=le:tryFocus$1(r,!0))},j=re=>{const ae=unref(t);if(!(y.paused||!ae))if(n.trapped){const le=re.relatedTarget;!isNil(le)&&!ae.contains(le)&&setTimeout(()=>{if(!y.paused&&n.trapped){const de=createFocusOutPreventedEvent$1({focusReason:g.value});e("focusout-prevented",de),de.defaultPrevented||tryFocus$1(r,!0)}},0)}else{const le=re.target;le&&ae.contains(le)||e("focusout",re)}};async function ie(){await nextTick();const re=unref(t);if(re){focusableStack$1.push(y);const ae=re.contains(document.activeElement)?i:document.activeElement;if(i=ae,!re.contains(ae)){const de=new Event(FOCUS_AFTER_TRAPPED$1,FOCUS_AFTER_TRAPPED_OPTS$1);re.addEventListener(FOCUS_AFTER_TRAPPED$1,L),re.dispatchEvent(de),de.defaultPrevented||nextTick(()=>{let ue=n.focusStartEl;isString$5(ue)||(tryFocus$1(ue),document.activeElement!==ue&&(ue="first")),ue==="first"&&focusFirstDescendant$1(obtainAllFocusableElements$2(re),!0),(document.activeElement===ae||ue==="container")&&tryFocus$1(re)})}}}function oe(){const re=unref(t);if(re){re.removeEventListener(FOCUS_AFTER_TRAPPED$1,L);const ae=new CustomEvent(FOCUS_AFTER_RELEASED$1,{...FOCUS_AFTER_TRAPPED_OPTS$1,detail:{focusReason:g.value}});re.addEventListener(FOCUS_AFTER_RELEASED$1,V),re.dispatchEvent(ae),!ae.defaultPrevented&&(g.value=="keyboard"||!isFocusCausedByUserEvent$1()||re.contains(document.activeElement))&&tryFocus$1(i!=null?i:document.body),re.removeEventListener(FOCUS_AFTER_RELEASED$1,V),focusableStack$1.remove(y)}}return onMounted(()=>{n.trapped&&ie(),watch(()=>n.trapped,re=>{re?ie():oe()})}),onBeforeUnmount(()=>{n.trapped&&oe(),t.value&&(t.value.removeEventListener("keydown",k),t.value.removeEventListener("focusin",z),t.value.removeEventListener("focusout",j),t.value=void 0)}),{onKeydown:k}}});function _sfc_render$M(n,e,t,i,r,g){return renderSlot(n.$slots,"default",{handleKeydown:n.onKeydown})}var ElFocusTrap$1=_export_sfc$2(_sfc_main$3m,[["render",_sfc_render$M],["__file","focus-trap.vue"]]),E$1="top",R="bottom",W="right",P$1="left",me="auto",G=[E$1,R,W,P$1],U$1="start",J="end",Xe="clippingParents",je="viewport",K="popper",Ye="reference",De=G.reduce(function(n,e){return n.concat([e+"-"+U$1,e+"-"+J])},[]),Ee=[].concat(G,[me]).reduce(function(n,e){return n.concat([e,e+"-"+U$1,e+"-"+J])},[]),Ge="beforeRead",Je="read",Ke="afterRead",Qe="beforeMain",Ze="main",et="afterMain",tt="beforeWrite",nt="write",rt="afterWrite",ot=[Ge,Je,Ke,Qe,Ze,et,tt,nt,rt];function C(n){return n?(n.nodeName||"").toLowerCase():null}function H(n){if(n==null)return window;if(n.toString()!=="[object Window]"){var e=n.ownerDocument;return e&&e.defaultView||window}return n}function Q(n){var e=H(n).Element;return n instanceof e||n instanceof Element}function B(n){var e=H(n).HTMLElement;return n instanceof e||n instanceof HTMLElement}function Pe(n){if(typeof ShadowRoot>"u")return!1;var e=H(n).ShadowRoot;return n instanceof e||n instanceof ShadowRoot}function Mt(n){var e=n.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},r=e.attributes[t]||{},g=e.elements[t];!B(g)||!C(g)||(Object.assign(g.style,i),Object.keys(r).forEach(function(y){var k=r[y];k===!1?g.removeAttribute(y):g.setAttribute(y,k===!0?"":k)}))})}function Rt(n){var e=n.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var r=e.elements[i],g=e.attributes[i]||{},y=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),k=y.reduce(function(L,V){return L[V]="",L},{});!B(r)||!C(r)||(Object.assign(r.style,k),Object.keys(g).forEach(function(L){r.removeAttribute(L)}))})}}var Ae={name:"applyStyles",enabled:!0,phase:"write",fn:Mt,effect:Rt,requires:["computeStyles"]};function q(n){return n.split("-")[0]}var X$1=Math.max,ve=Math.min,Z=Math.round;function ee(n,e){e===void 0&&(e=!1);var t=n.getBoundingClientRect(),i=1,r=1;if(B(n)&&e){var g=n.offsetHeight,y=n.offsetWidth;y>0&&(i=Z(t.width)/y||1),g>0&&(r=Z(t.height)/g||1)}return{width:t.width/i,height:t.height/r,top:t.top/r,right:t.right/i,bottom:t.bottom/r,left:t.left/i,x:t.left/i,y:t.top/r}}function ke(n){var e=ee(n),t=n.offsetWidth,i=n.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:n.offsetLeft,y:n.offsetTop,width:t,height:i}}function it(n,e){var t=e.getRootNode&&e.getRootNode();if(n.contains(e))return!0;if(t&&Pe(t)){var i=e;do{if(i&&n.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function N$1(n){return H(n).getComputedStyle(n)}function Wt(n){return["table","td","th"].indexOf(C(n))>=0}function I$1(n){return((Q(n)?n.ownerDocument:n.document)||window.document).documentElement}function ge(n){return C(n)==="html"?n:n.assignedSlot||n.parentNode||(Pe(n)?n.host:null)||I$1(n)}function at(n){return!B(n)||N$1(n).position==="fixed"?null:n.offsetParent}function Bt(n){var e=navigator.userAgent.toLowerCase().indexOf("firefox")!==-1,t=navigator.userAgent.indexOf("Trident")!==-1;if(t&&B(n)){var i=N$1(n);if(i.position==="fixed")return null}var r=ge(n);for(Pe(r)&&(r=r.host);B(r)&&["html","body"].indexOf(C(r))<0;){var g=N$1(r);if(g.transform!=="none"||g.perspective!=="none"||g.contain==="paint"||["transform","perspective"].indexOf(g.willChange)!==-1||e&&g.willChange==="filter"||e&&g.filter&&g.filter!=="none")return r;r=r.parentNode}return null}function se(n){for(var e=H(n),t=at(n);t&&Wt(t)&&N$1(t).position==="static";)t=at(t);return t&&(C(t)==="html"||C(t)==="body"&&N$1(t).position==="static")?e:t||Bt(n)||e}function Le(n){return["top","bottom"].indexOf(n)>=0?"x":"y"}function fe(n,e,t){return X$1(n,ve(e,t))}function St(n,e,t){var i=fe(n,e,t);return i>t?t:i}function st(){return{top:0,right:0,bottom:0,left:0}}function ft(n){return Object.assign({},st(),n)}function ct(n,e){return e.reduce(function(t,i){return t[i]=n,t},{})}var Tt=function(n,e){return n=typeof n=="function"?n(Object.assign({},e.rects,{placement:e.placement})):n,ft(typeof n!="number"?n:ct(n,G))};function Ht(n){var e,t=n.state,i=n.name,r=n.options,g=t.elements.arrow,y=t.modifiersData.popperOffsets,k=q(t.placement),L=Le(k),V=[P$1,W].indexOf(k)>=0,z=V?"height":"width";if(!(!g||!y)){var j=Tt(r.padding,t),ie=ke(g),oe=L==="y"?E$1:P$1,re=L==="y"?R:W,ae=t.rects.reference[z]+t.rects.reference[L]-y[L]-t.rects.popper[z],le=y[L]-t.rects.reference[L],de=se(g),ue=de?L==="y"?de.clientHeight||0:de.clientWidth||0:0,he=ae/2-le/2,pe=j[oe],Ce=ue-ie[z]-j[re],$e=ue/2-ie[z]/2+he,xe=fe(pe,$e,Ce),Ie=L;t.modifiersData[i]=(e={},e[Ie]=xe,e.centerOffset=xe-$e,e)}}function Ct(n){var e=n.state,t=n.options,i=t.element,r=i===void 0?"[data-popper-arrow]":i;r!=null&&(typeof r=="string"&&(r=e.elements.popper.querySelector(r),!r)||!it(e.elements.popper,r)||(e.elements.arrow=r))}var pt={name:"arrow",enabled:!0,phase:"main",fn:Ht,effect:Ct,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function te(n){return n.split("-")[1]}var qt={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Vt(n){var e=n.x,t=n.y,i=window,r=i.devicePixelRatio||1;return{x:Z(e*r)/r||0,y:Z(t*r)/r||0}}function ut(n){var e,t=n.popper,i=n.popperRect,r=n.placement,g=n.variation,y=n.offsets,k=n.position,L=n.gpuAcceleration,V=n.adaptive,z=n.roundOffsets,j=n.isFixed,ie=y.x,oe=ie===void 0?0:ie,re=y.y,ae=re===void 0?0:re,le=typeof z=="function"?z({x:oe,y:ae}):{x:oe,y:ae};oe=le.x,ae=le.y;var de=y.hasOwnProperty("x"),ue=y.hasOwnProperty("y"),he=P$1,pe=E$1,Ce=window;if(V){var $e=se(t),xe="clientHeight",Ie="clientWidth";if($e===H(t)&&($e=I$1(t),N$1($e).position!=="static"&&k==="absolute"&&(xe="scrollHeight",Ie="scrollWidth")),$e=$e,r===E$1||(r===P$1||r===W)&&g===J){pe=R;var Ne=j&&$e===Ce&&Ce.visualViewport?Ce.visualViewport.height:$e[xe];ae-=Ne-i.height,ae*=L?1:-1}if(r===P$1||(r===E$1||r===R)&&g===J){he=W;var Fe=j&&$e===Ce&&Ce.visualViewport?Ce.visualViewport.width:$e[Ie];oe-=Fe-i.width,oe*=L?1:-1}}var Ve=Object.assign({position:k},V&&qt),Oe=z===!0?Vt({x:oe,y:ae}):{x:oe,y:ae};if(oe=Oe.x,ae=Oe.y,L){var ze;return Object.assign({},Ve,(ze={},ze[pe]=ue?"0":"",ze[he]=de?"0":"",ze.transform=(Ce.devicePixelRatio||1)<=1?"translate("+oe+"px, "+ae+"px)":"translate3d("+oe+"px, "+ae+"px, 0)",ze))}return Object.assign({},Ve,(e={},e[pe]=ue?ae+"px":"",e[he]=de?oe+"px":"",e.transform="",e))}function Nt(n){var e=n.state,t=n.options,i=t.gpuAcceleration,r=i===void 0?!0:i,g=t.adaptive,y=g===void 0?!0:g,k=t.roundOffsets,L=k===void 0?!0:k,V={placement:q(e.placement),variation:te(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:r,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,ut(Object.assign({},V,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:y,roundOffsets:L})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,ut(Object.assign({},V,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:L})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}var Me={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Nt,data:{}},ye={passive:!0};function It(n){var e=n.state,t=n.instance,i=n.options,r=i.scroll,g=r===void 0?!0:r,y=i.resize,k=y===void 0?!0:y,L=H(e.elements.popper),V=[].concat(e.scrollParents.reference,e.scrollParents.popper);return g&&V.forEach(function(z){z.addEventListener("scroll",t.update,ye)}),k&&L.addEventListener("resize",t.update,ye),function(){g&&V.forEach(function(z){z.removeEventListener("scroll",t.update,ye)}),k&&L.removeEventListener("resize",t.update,ye)}}var Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:It,data:{}},_t={left:"right",right:"left",bottom:"top",top:"bottom"};function be(n){return n.replace(/left|right|bottom|top/g,function(e){return _t[e]})}var zt={start:"end",end:"start"};function lt(n){return n.replace(/start|end/g,function(e){return zt[e]})}function We(n){var e=H(n),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function Be(n){return ee(I$1(n)).left+We(n).scrollLeft}function Ft(n){var e=H(n),t=I$1(n),i=e.visualViewport,r=t.clientWidth,g=t.clientHeight,y=0,k=0;return i&&(r=i.width,g=i.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(y=i.offsetLeft,k=i.offsetTop)),{width:r,height:g,x:y+Be(n),y:k}}function Ut(n){var e,t=I$1(n),i=We(n),r=(e=n.ownerDocument)==null?void 0:e.body,g=X$1(t.scrollWidth,t.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),y=X$1(t.scrollHeight,t.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),k=-i.scrollLeft+Be(n),L=-i.scrollTop;return N$1(r||t).direction==="rtl"&&(k+=X$1(t.clientWidth,r?r.clientWidth:0)-g),{width:g,height:y,x:k,y:L}}function Se(n){var e=N$1(n),t=e.overflow,i=e.overflowX,r=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+r+i)}function dt(n){return["html","body","#document"].indexOf(C(n))>=0?n.ownerDocument.body:B(n)&&Se(n)?n:dt(ge(n))}function ce(n,e){var t;e===void 0&&(e=[]);var i=dt(n),r=i===((t=n.ownerDocument)==null?void 0:t.body),g=H(i),y=r?[g].concat(g.visualViewport||[],Se(i)?i:[]):i,k=e.concat(y);return r?k:k.concat(ce(ge(y)))}function Te(n){return Object.assign({},n,{left:n.x,top:n.y,right:n.x+n.width,bottom:n.y+n.height})}function Xt(n){var e=ee(n);return e.top=e.top+n.clientTop,e.left=e.left+n.clientLeft,e.bottom=e.top+n.clientHeight,e.right=e.left+n.clientWidth,e.width=n.clientWidth,e.height=n.clientHeight,e.x=e.left,e.y=e.top,e}function ht(n,e){return e===je?Te(Ft(n)):Q(e)?Xt(e):Te(Ut(I$1(n)))}function Yt(n){var e=ce(ge(n)),t=["absolute","fixed"].indexOf(N$1(n).position)>=0,i=t&&B(n)?se(n):n;return Q(i)?e.filter(function(r){return Q(r)&&it(r,i)&&C(r)!=="body"}):[]}function Gt(n,e,t){var i=e==="clippingParents"?Yt(n):[].concat(e),r=[].concat(i,[t]),g=r[0],y=r.reduce(function(k,L){var V=ht(n,L);return k.top=X$1(V.top,k.top),k.right=ve(V.right,k.right),k.bottom=ve(V.bottom,k.bottom),k.left=X$1(V.left,k.left),k},ht(n,g));return y.width=y.right-y.left,y.height=y.bottom-y.top,y.x=y.left,y.y=y.top,y}function mt(n){var e=n.reference,t=n.element,i=n.placement,r=i?q(i):null,g=i?te(i):null,y=e.x+e.width/2-t.width/2,k=e.y+e.height/2-t.height/2,L;switch(r){case E$1:L={x:y,y:e.y-t.height};break;case R:L={x:y,y:e.y+e.height};break;case W:L={x:e.x+e.width,y:k};break;case P$1:L={x:e.x-t.width,y:k};break;default:L={x:e.x,y:e.y}}var V=r?Le(r):null;if(V!=null){var z=V==="y"?"height":"width";switch(g){case U$1:L[V]=L[V]-(e[z]/2-t[z]/2);break;case J:L[V]=L[V]+(e[z]/2-t[z]/2);break}}return L}function ne(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=i===void 0?n.placement:i,g=t.boundary,y=g===void 0?Xe:g,k=t.rootBoundary,L=k===void 0?je:k,V=t.elementContext,z=V===void 0?K:V,j=t.altBoundary,ie=j===void 0?!1:j,oe=t.padding,re=oe===void 0?0:oe,ae=ft(typeof re!="number"?re:ct(re,G)),le=z===K?Ye:K,de=n.rects.popper,ue=n.elements[ie?le:z],he=Gt(Q(ue)?ue:ue.contextElement||I$1(n.elements.popper),y,L),pe=ee(n.elements.reference),Ce=mt({reference:pe,element:de,placement:r}),$e=Te(Object.assign({},de,Ce)),xe=z===K?$e:pe,Ie={top:he.top-xe.top+ae.top,bottom:xe.bottom-he.bottom+ae.bottom,left:he.left-xe.left+ae.left,right:xe.right-he.right+ae.right},Ne=n.modifiersData.offset;if(z===K&&Ne){var Fe=Ne[r];Object.keys(Ie).forEach(function(Ve){var Oe=[W,R].indexOf(Ve)>=0?1:-1,ze=[E$1,R].indexOf(Ve)>=0?"y":"x";Ie[Ve]+=Fe[ze]*Oe})}return Ie}function Jt(n,e){e===void 0&&(e={});var t=e,i=t.placement,r=t.boundary,g=t.rootBoundary,y=t.padding,k=t.flipVariations,L=t.allowedAutoPlacements,V=L===void 0?Ee:L,z=te(i),j=z?k?De:De.filter(function(re){return te(re)===z}):G,ie=j.filter(function(re){return V.indexOf(re)>=0});ie.length===0&&(ie=j);var oe=ie.reduce(function(re,ae){return re[ae]=ne(n,{placement:ae,boundary:r,rootBoundary:g,padding:y})[q(ae)],re},{});return Object.keys(oe).sort(function(re,ae){return oe[re]-oe[ae]})}function Kt(n){if(q(n)===me)return[];var e=be(n);return[lt(n),e,lt(e)]}function Qt(n){var e=n.state,t=n.options,i=n.name;if(!e.modifiersData[i]._skip){for(var r=t.mainAxis,g=r===void 0?!0:r,y=t.altAxis,k=y===void 0?!0:y,L=t.fallbackPlacements,V=t.padding,z=t.boundary,j=t.rootBoundary,ie=t.altBoundary,oe=t.flipVariations,re=oe===void 0?!0:oe,ae=t.allowedAutoPlacements,le=e.options.placement,de=q(le),ue=de===le,he=L||(ue||!re?[be(le)]:Kt(le)),pe=[le].concat(he).reduce(function(Ci,wi){return Ci.concat(q(wi)===me?Jt(e,{placement:wi,boundary:z,rootBoundary:j,padding:V,flipVariations:re,allowedAutoPlacements:ae}):wi)},[]),Ce=e.rects.reference,$e=e.rects.popper,xe=new Map,Ie=!0,Ne=pe[0],Fe=0;Fe=0,Ue=qe?"width":"height",Et=ne(e,{placement:Ve,boundary:z,rootBoundary:j,altBoundary:ie,padding:V}),At=qe?ze?W:P$1:ze?R:E$1;Ce[Ue]>$e[Ue]&&(At=be(At));var Lt=be(At),kt=[];if(g&&kt.push(Et[Oe]<=0),k&&kt.push(Et[At]<=0,Et[Lt]<=0),kt.every(function(Ci){return Ci})){Ne=Ve,Ie=!1;break}xe.set(Ve,kt)}if(Ie)for(var ei=re?3:1,jt=function(Ci){var wi=pe.find(function(Ri){var ai=xe.get(Ri);if(ai)return ai.slice(0,Ci).every(function(hi){return hi})});if(wi)return Ne=wi,"break"},ri=ei;ri>0;ri--){var ni=jt(ri);if(ni==="break")break}e.placement!==Ne&&(e.modifiersData[i]._skip=!0,e.placement=Ne,e.reset=!0)}}var vt={name:"flip",enabled:!0,phase:"main",fn:Qt,requiresIfExists:["offset"],data:{_skip:!1}};function gt(n,e,t){return t===void 0&&(t={x:0,y:0}),{top:n.top-e.height-t.y,right:n.right-e.width+t.x,bottom:n.bottom-e.height+t.y,left:n.left-e.width-t.x}}function yt(n){return[E$1,W,R,P$1].some(function(e){return n[e]>=0})}function Zt(n){var e=n.state,t=n.name,i=e.rects.reference,r=e.rects.popper,g=e.modifiersData.preventOverflow,y=ne(e,{elementContext:"reference"}),k=ne(e,{altBoundary:!0}),L=gt(y,i),V=gt(k,r,g),z=yt(L),j=yt(V);e.modifiersData[t]={referenceClippingOffsets:L,popperEscapeOffsets:V,isReferenceHidden:z,hasPopperEscaped:j},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":z,"data-popper-escaped":j})}var bt={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Zt};function en(n,e,t){var i=q(n),r=[P$1,E$1].indexOf(i)>=0?-1:1,g=typeof t=="function"?t(Object.assign({},e,{placement:n})):t,y=g[0],k=g[1];return y=y||0,k=(k||0)*r,[P$1,W].indexOf(i)>=0?{x:k,y}:{x:y,y:k}}function tn(n){var e=n.state,t=n.options,i=n.name,r=t.offset,g=r===void 0?[0,0]:r,y=Ee.reduce(function(z,j){return z[j]=en(j,e.rects,g),z},{}),k=y[e.placement],L=k.x,V=k.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=L,e.modifiersData.popperOffsets.y+=V),e.modifiersData[i]=y}var wt={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:tn};function nn(n){var e=n.state,t=n.name;e.modifiersData[t]=mt({reference:e.rects.reference,element:e.rects.popper,placement:e.placement})}var He={name:"popperOffsets",enabled:!0,phase:"read",fn:nn,data:{}};function rn(n){return n==="x"?"y":"x"}function on(n){var e=n.state,t=n.options,i=n.name,r=t.mainAxis,g=r===void 0?!0:r,y=t.altAxis,k=y===void 0?!1:y,L=t.boundary,V=t.rootBoundary,z=t.altBoundary,j=t.padding,ie=t.tether,oe=ie===void 0?!0:ie,re=t.tetherOffset,ae=re===void 0?0:re,le=ne(e,{boundary:L,rootBoundary:V,padding:j,altBoundary:z}),de=q(e.placement),ue=te(e.placement),he=!ue,pe=Le(de),Ce=rn(pe),$e=e.modifiersData.popperOffsets,xe=e.rects.reference,Ie=e.rects.popper,Ne=typeof ae=="function"?ae(Object.assign({},e.rects,{placement:e.placement})):ae,Fe=typeof Ne=="number"?{mainAxis:Ne,altAxis:Ne}:Object.assign({mainAxis:0,altAxis:0},Ne),Ve=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,Oe={x:0,y:0};if($e){if(g){var ze,qe=pe==="y"?E$1:P$1,Ue=pe==="y"?R:W,Et=pe==="y"?"height":"width",At=$e[pe],Lt=At+le[qe],kt=At-le[Ue],ei=oe?-Ie[Et]/2:0,jt=ue===U$1?xe[Et]:Ie[Et],ri=ue===U$1?-Ie[Et]:-xe[Et],ni=e.elements.arrow,Ci=oe&&ni?ke(ni):{width:0,height:0},wi=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:st(),Ri=wi[qe],ai=wi[Ue],hi=fe(0,xe[Et],Ci[Et]),xi=he?xe[Et]/2-ei-hi-Ri-Fe.mainAxis:jt-hi-Ri-Fe.mainAxis,Oi=he?-xe[Et]/2+ei+hi+ai+Fe.mainAxis:ri+hi+ai+Fe.mainAxis,Ei=e.elements.arrow&&se(e.elements.arrow),si=Ei?pe==="y"?Ei.clientTop||0:Ei.clientLeft||0:0,fi=(ze=Ve==null?void 0:Ve[pe])!=null?ze:0,li=At+xi-fi-si,Di=At+Oi-fi,ki=fe(oe?ve(Lt,li):Lt,At,oe?X$1(kt,Di):kt);$e[pe]=ki,Oe[pe]=ki-At}if(k){var Ai,Ki=pe==="x"?E$1:P$1,zi=pe==="x"?R:W,bi=$e[Ce],vi=Ce==="y"?"height":"width",Li=bi+le[Ki],oi=bi-le[zi],ii=[E$1,P$1].indexOf(de)!==-1,mi=(Ai=Ve==null?void 0:Ve[Ce])!=null?Ai:0,yi=ii?Li:bi-xe[vi]-Ie[vi]-mi+Fe.altAxis,ti=ii?bi+xe[vi]+Ie[vi]-mi-Fe.altAxis:oi,Dt=oe&&ii?St(yi,bi,ti):fe(oe?yi:Li,bi,oe?ti:oi);$e[Ce]=Dt,Oe[Ce]=Dt-bi}e.modifiersData[i]=Oe}}var xt={name:"preventOverflow",enabled:!0,phase:"main",fn:on,requiresIfExists:["offset"]};function an(n){return{scrollLeft:n.scrollLeft,scrollTop:n.scrollTop}}function sn(n){return n===H(n)||!B(n)?We(n):an(n)}function fn(n){var e=n.getBoundingClientRect(),t=Z(e.width)/n.offsetWidth||1,i=Z(e.height)/n.offsetHeight||1;return t!==1||i!==1}function cn(n,e,t){t===void 0&&(t=!1);var i=B(e),r=B(e)&&fn(e),g=I$1(e),y=ee(n,r),k={scrollLeft:0,scrollTop:0},L={x:0,y:0};return(i||!i&&!t)&&((C(e)!=="body"||Se(g))&&(k=sn(e)),B(e)?(L=ee(e,!0),L.x+=e.clientLeft,L.y+=e.clientTop):g&&(L.x=Be(g))),{x:y.left+k.scrollLeft-L.x,y:y.top+k.scrollTop-L.y,width:y.width,height:y.height}}function pn(n){var e=new Map,t=new Set,i=[];n.forEach(function(g){e.set(g.name,g)});function r(g){t.add(g.name);var y=[].concat(g.requires||[],g.requiresIfExists||[]);y.forEach(function(k){if(!t.has(k)){var L=e.get(k);L&&r(L)}}),i.push(g)}return n.forEach(function(g){t.has(g.name)||r(g)}),i}function un(n){var e=pn(n);return ot.reduce(function(t,i){return t.concat(e.filter(function(r){return r.phase===i}))},[])}function ln(n){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(n())})})),e}}function dn(n){var e=n.reduce(function(t,i){var r=t[i.name];return t[i.name]=r?Object.assign({},r,i,{options:Object.assign({},r.options,i.options),data:Object.assign({},r.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var Ot={placement:"bottom",modifiers:[],strategy:"absolute"};function $t(){for(var n=arguments.length,e=new Array(n),t=0;t({})},strategy:{type:String,values:POSITIONING_STRATEGIES$1,default:"absolute"}}),popperContentProps$1=buildProps$1({...popperCoreConfigProps$1,...popperArrowProps$1,id:String,style:{type:definePropType$1([String,Array,Object])},className:{type:definePropType$1([String,Array,Object])},effect:{type:definePropType$1(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:definePropType$1([String,Array,Object])},popperStyle:{type:definePropType$1([String,Array,Object])},referenceEl:{type:definePropType$1(Object)},triggerTargetEl:{type:definePropType$1(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...useAriaProps$1(["ariaLabel"])}),popperContentEmits$1={mouseenter:n=>n instanceof MouseEvent,mouseleave:n=>n instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},usePopperContentFocusTrap$1=(n,e)=>{const t=ref$1(!1),i=ref$1();return{focusStartRef:i,trapped:t,onFocusAfterReleased:V=>{var z;((z=V.detail)==null?void 0:z.focusReason)!=="pointer"&&(i.value="first",e("blur"))},onFocusAfterTrapped:()=>{e("focus")},onFocusInTrap:V=>{n.visible&&!t.value&&(V.target&&(i.value=V.target),t.value=!0)},onFocusoutPrevented:V=>{n.trapping||(V.detail.focusReason==="pointer"&&V.preventDefault(),t.value=!1)},onReleaseRequested:()=>{t.value=!1,e("close")}}},buildPopperOptions$1=(n,e=[])=>{const{placement:t,strategy:i,popperOptions:r}=n,g={placement:t,strategy:i,...r,modifiers:[...genModifiers$1(n),...e]};return deriveExtraModifiers$1(g,r==null?void 0:r.modifiers),g},unwrapMeasurableEl$1=n=>{if(isClient$1)return unrefElement$1(n)};function genModifiers$1(n){const{offset:e,gpuAcceleration:t,fallbackPlacements:i}=n;return[{name:"offset",options:{offset:[0,e!=null?e:12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:t}}]}function deriveExtraModifiers$1(n,e){e&&(n.modifiers=[...n.modifiers,...e!=null?e:[]])}const usePopper$1=(n,e,t={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:L})=>{const V=deriveState$1(L);Object.assign(y.value,V)},requires:["computeStyles"]},r=computed$1(()=>{const{onFirstUpdate:L,placement:V,strategy:z,modifiers:j}=unref(t);return{onFirstUpdate:L,placement:V||"bottom",strategy:z||"absolute",modifiers:[...j||[],i,{name:"applyStyles",enabled:!1}]}}),g=shallowRef(),y=ref$1({styles:{popper:{position:unref(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),k=()=>{g.value&&(g.value.destroy(),g.value=void 0)};return watch(r,L=>{const V=unref(g);V&&V.setOptions(L)},{deep:!0}),watch([n,e],([L,V])=>{k(),!(!L||!V)&&(g.value=yn(L,V,unref(r)))}),onBeforeUnmount(()=>{k()}),{state:computed$1(()=>{var L;return{...((L=unref(g))==null?void 0:L.state)||{}}}),styles:computed$1(()=>unref(y).styles),attributes:computed$1(()=>unref(y).attributes),update:()=>{var L;return(L=unref(g))==null?void 0:L.update()},forceUpdate:()=>{var L;return(L=unref(g))==null?void 0:L.forceUpdate()},instanceRef:computed$1(()=>unref(g))}};function deriveState$1(n){const e=Object.keys(n.elements),t=fromPairs(e.map(r=>[r,n.styles[r]||{}])),i=fromPairs(e.map(r=>[r,n.attributes[r]]));return{styles:t,attributes:i}}const DEFAULT_ARROW_OFFSET$1=0,usePopperContent$1=n=>{const{popperInstanceRef:e,contentRef:t,triggerRef:i,role:r}=inject(POPPER_INJECTION_KEY$1,void 0),g=ref$1(),y=computed$1(()=>n.arrowOffset),k=computed$1(()=>({name:"eventListeners",enabled:!!n.visible})),L=computed$1(()=>{var de;const ue=unref(g),he=(de=unref(y))!=null?de:DEFAULT_ARROW_OFFSET$1;return{name:"arrow",enabled:!isUndefined$4(ue),options:{element:ue,padding:he}}}),V=computed$1(()=>({onFirstUpdate:()=>{re()},...buildPopperOptions$1(n,[unref(L),unref(k)])})),z=computed$1(()=>unwrapMeasurableEl$1(n.referenceEl)||unref(i)),{attributes:j,state:ie,styles:oe,update:re,forceUpdate:ae,instanceRef:le}=usePopper$1(z,t,V);return watch(le,de=>e.value=de,{flush:"sync"}),onMounted(()=>{watch(()=>{var de;return(de=unref(z))==null?void 0:de.getBoundingClientRect()},()=>{re()})}),{attributes:j,arrowRef:g,contentRef:t,instanceRef:le,state:ie,styles:oe,role:r,forceUpdate:ae,update:re}},usePopperContentDOM$1=(n,{attributes:e,styles:t,role:i})=>{const{nextZIndex:r}=useZIndex$1(),g=useNamespace$1("popper"),y=computed$1(()=>unref(e).popper),k=ref$1(isNumber$5(n.zIndex)?n.zIndex:r()),L=computed$1(()=>[g.b(),g.is("pure",n.pure),g.is(n.effect),n.popperClass]),V=computed$1(()=>[{zIndex:unref(k)},unref(t).popper,n.popperStyle||{}]),z=computed$1(()=>i.value==="dialog"?"false":void 0),j=computed$1(()=>unref(t).arrow||{});return{ariaModal:z,arrowStyle:j,contentAttrs:y,contentClass:L,contentStyle:V,contentZIndex:k,updateZIndex:()=>{k.value=isNumber$5(n.zIndex)?n.zIndex:r()}}},__default__$_=defineComponent({name:"ElPopperContent"}),_sfc_main$3l=defineComponent({...__default__$_,props:popperContentProps$1,emits:popperContentEmits$1,setup(n,{expose:e,emit:t}){const i=n,{focusStartRef:r,trapped:g,onFocusAfterReleased:y,onFocusAfterTrapped:k,onFocusInTrap:L,onFocusoutPrevented:V,onReleaseRequested:z}=usePopperContentFocusTrap$1(i,t),{attributes:j,arrowRef:ie,contentRef:oe,styles:re,instanceRef:ae,role:le,update:de}=usePopperContent$1(i),{ariaModal:ue,arrowStyle:he,contentAttrs:pe,contentClass:Ce,contentStyle:$e,updateZIndex:xe}=usePopperContentDOM$1(i,{styles:re,attributes:j,role:le}),Ie=inject(formItemContextKey$1,void 0);provide(POPPER_CONTENT_INJECTION_KEY$1,{arrowStyle:he,arrowRef:ie}),Ie&&provide(formItemContextKey$1,{...Ie,addInputId:NOOP,removeInputId:NOOP});let Ne;const Fe=(Oe=!0)=>{de(),Oe&&xe()},Ve=()=>{Fe(!1),i.visible&&i.focusOnShow?g.value=!0:i.visible===!1&&(g.value=!1)};return onMounted(()=>{watch(()=>i.triggerTargetEl,(Oe,ze)=>{Ne==null||Ne(),Ne=void 0;const qe=unref(Oe||oe.value),Ue=unref(ze||oe.value);isElement$1(qe)&&(Ne=watch([le,()=>i.ariaLabel,ue,()=>i.id],Et=>{["role","aria-label","aria-modal","id"].forEach((At,Lt)=>{isNil(Et[Lt])?qe.removeAttribute(At):qe.setAttribute(At,Et[Lt])})},{immediate:!0})),Ue!==qe&&isElement$1(Ue)&&["role","aria-label","aria-modal","id"].forEach(Et=>{Ue.removeAttribute(Et)})},{immediate:!0}),watch(()=>i.visible,Ve,{immediate:!0})}),onBeforeUnmount(()=>{Ne==null||Ne(),Ne=void 0}),e({popperContentRef:oe,popperInstanceRef:ae,updatePopper:Fe,contentStyle:$e}),(Oe,ze)=>(openBlock(),createElementBlock("div",mergeProps({ref_key:"contentRef",ref:oe},unref(pe),{style:unref($e),class:unref(Ce),tabindex:"-1",onMouseenter:qe=>Oe.$emit("mouseenter",qe),onMouseleave:qe=>Oe.$emit("mouseleave",qe)}),[createVNode(unref(ElFocusTrap$1),{trapped:unref(g),"trap-on-focus-in":!0,"focus-trap-el":unref(oe),"focus-start-el":unref(r),onFocusAfterTrapped:unref(k),onFocusAfterReleased:unref(y),onFocusin:unref(L),onFocusoutPrevented:unref(V),onReleaseRequested:unref(z)},{default:withCtx(()=>[renderSlot(Oe.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var ElPopperContent$1=_export_sfc$2(_sfc_main$3l,[["__file","content.vue"]]);const ElPopper$1=withInstall$1(Popper$1),TOOLTIP_INJECTION_KEY$1=Symbol("elTooltip");function useTimeout$1(){let n;const e=(i,r)=>{t(),n=window.setTimeout(i,r)},t=()=>window.clearTimeout(n);return tryOnScopeDispose$1(()=>t()),{registerTimeout:e,cancelTimeout:t}}const useDelayedToggleProps$1=buildProps$1({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),useDelayedToggle$1=({showAfter:n,hideAfter:e,autoClose:t,open:i,close:r})=>{const{registerTimeout:g}=useTimeout$1(),{registerTimeout:y,cancelTimeout:k}=useTimeout$1();return{onOpen:z=>{g(()=>{i(z);const j=unref(t);isNumber$5(j)&&j>0&&y(()=>{r(z)},j)},unref(n))},onClose:z=>{k(),g(()=>{r(z)},unref(e))}}},teleportProps$1=buildProps$1({to:{type:definePropType$1([String,Object]),required:!0},disabled:Boolean}),useTooltipContentProps$1=buildProps$1({...useDelayedToggleProps$1,...popperContentProps$1,appendTo:{type:teleportProps$1.to.type},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:definePropType$1(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...useAriaProps$1(["ariaLabel"])}),useTooltipTriggerProps$1=buildProps$1({...popperTriggerProps$1,disabled:Boolean,trigger:{type:definePropType$1([String,Array]),default:"hover"},triggerKeys:{type:definePropType$1(Array),default:()=>[EVENT_CODE$1.enter,EVENT_CODE$1.numpadEnter,EVENT_CODE$1.space]}}),_prop$1=buildProp$1({type:definePropType$1(Boolean),default:null}),_event$1=buildProp$1({type:definePropType$1(Function)}),createModelToggleComposable$1=n=>{const e="update:".concat(n),t="onUpdate:".concat(n),i=[e],r={[n]:_prop$1,[t]:_event$1};return{useModelToggle:({indicator:y,toggleReason:k,shouldHideWhenRouteChanges:L,shouldProceed:V,onShow:z,onHide:j})=>{const ie=getCurrentInstance$1(),{emit:oe}=ie,re=ie.props,ae=computed$1(()=>isFunction$4(re[t])),le=computed$1(()=>re[n]===null),de=xe=>{y.value!==!0&&(y.value=!0,k&&(k.value=xe),isFunction$4(z)&&z(xe))},ue=xe=>{y.value!==!1&&(y.value=!1,k&&(k.value=xe),isFunction$4(j)&&j(xe))},he=xe=>{if(re.disabled===!0||isFunction$4(V)&&!V())return;const Ie=ae.value&&isClient$1;Ie&&oe(e,!0),(le.value||!Ie)&&de(xe)},pe=xe=>{if(re.disabled===!0||!isClient$1)return;const Ie=ae.value&&isClient$1;Ie&&oe(e,!1),(le.value||!Ie)&&ue(xe)},Ce=xe=>{isBoolean$2(xe)&&(re.disabled&&xe?ae.value&&oe(e,!1):y.value!==xe&&(xe?de():ue()))},$e=()=>{y.value?pe():he()};return watch(()=>re[n],Ce),L&&ie.appContext.config.globalProperties.$route!==void 0&&watch(()=>({...ie.proxy.$route}),()=>{L.value&&y.value&&pe()}),onMounted(()=>{Ce(re[n])}),{hide:pe,show:he,toggle:$e,hasUpdateHandler:ae}},useModelToggleProps:r,useModelToggleEmits:i}},{useModelToggleProps:useTooltipModelToggleProps$1,useModelToggleEmits:useTooltipModelToggleEmits$1,useModelToggle:useTooltipModelToggle$1}=createModelToggleComposable$1("visible"),useTooltipProps$1=buildProps$1({...popperProps$1,...useTooltipModelToggleProps$1,...useTooltipContentProps$1,...useTooltipTriggerProps$1,...popperArrowProps$1,showArrow:{type:Boolean,default:!0}}),tooltipEmits$1=[...useTooltipModelToggleEmits$1,"before-show","before-hide","show","hide","open","close"],isTriggerType$1=(n,e)=>isArray$2(n)?n.includes(e):n===e,whenTrigger$1=(n,e,t)=>i=>{isTriggerType$1(unref(n),e)&&t(i)},composeEventHandlers$1=(n,e,{checkForDefaultPrevented:t=!0}={})=>r=>{const g=n==null?void 0:n(r);if(t===!1||!g)return e==null?void 0:e(r)},__default__$Z=defineComponent({name:"ElTooltipTrigger"}),_sfc_main$3k=defineComponent({...__default__$Z,props:useTooltipTriggerProps$1,setup(n,{expose:e}){const t=n,i=useNamespace$1("tooltip"),{controlled:r,id:g,open:y,onOpen:k,onClose:L,onToggle:V}=inject(TOOLTIP_INJECTION_KEY$1,void 0),z=ref$1(null),j=()=>{if(unref(r)||t.disabled)return!0},ie=toRef(t,"trigger"),oe=composeEventHandlers$1(j,whenTrigger$1(ie,"hover",k)),re=composeEventHandlers$1(j,whenTrigger$1(ie,"hover",L)),ae=composeEventHandlers$1(j,whenTrigger$1(ie,"click",pe=>{pe.button===0&&V(pe)})),le=composeEventHandlers$1(j,whenTrigger$1(ie,"focus",k)),de=composeEventHandlers$1(j,whenTrigger$1(ie,"focus",L)),ue=composeEventHandlers$1(j,whenTrigger$1(ie,"contextmenu",pe=>{pe.preventDefault(),V(pe)})),he=composeEventHandlers$1(j,pe=>{const{code:Ce}=pe;t.triggerKeys.includes(Ce)&&(pe.preventDefault(),V(pe))});return e({triggerRef:z}),(pe,Ce)=>(openBlock(),createBlock(unref(ElPopperTrigger$1),{id:unref(g),"virtual-ref":pe.virtualRef,open:unref(y),"virtual-triggering":pe.virtualTriggering,class:normalizeClass(unref(i).e("trigger")),onBlur:unref(de),onClick:unref(ae),onContextmenu:unref(ue),onFocus:unref(le),onMouseenter:unref(oe),onMouseleave:unref(re),onKeydown:unref(he)},{default:withCtx(()=>[renderSlot(pe.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var ElTooltipTrigger$1=_export_sfc$2(_sfc_main$3k,[["__file","trigger.vue"]]);const _sfc_main$3j=defineComponent({__name:"teleport",props:teleportProps$1,setup(n){return(e,t)=>e.disabled?renderSlot(e.$slots,"default",{key:0}):(openBlock(),createBlock(Teleport$2,{key:1,to:e.to},[renderSlot(e.$slots,"default")],8,["to"]))}});var Teleport$1=_export_sfc$2(_sfc_main$3j,[["__file","teleport.vue"]]);const ElTeleport$1=withInstall$1(Teleport$1),usePopperContainerId$1=()=>{const n=useGetDerivedNamespace$1(),e=useIdInjection$1(),t=computed$1(()=>"".concat(n.value,"-popper-container-").concat(e.prefix)),i=computed$1(()=>"#".concat(t.value));return{id:t,selector:i}},createContainer$1=n=>{const e=document.createElement("div");return e.id=n,document.body.appendChild(e),e},usePopperContainer$1=()=>{const{id:n,selector:e}=usePopperContainerId$1();return onBeforeMount(()=>{isClient$1&&(document.body.querySelector(e.value)||createContainer$1(n.value))}),{id:n,selector:e}},__default__$Y=defineComponent({name:"ElTooltipContent",inheritAttrs:!1}),_sfc_main$3i=defineComponent({...__default__$Y,props:useTooltipContentProps$1,setup(n,{expose:e}){const t=n,{selector:i}=usePopperContainerId$1(),r=useNamespace$1("tooltip"),g=ref$1(),y=computedEager$1(()=>{var Lt;return(Lt=g.value)==null?void 0:Lt.popperContentRef});let k;const{controlled:L,id:V,open:z,trigger:j,onClose:ie,onOpen:oe,onShow:re,onHide:ae,onBeforeShow:le,onBeforeHide:de}=inject(TOOLTIP_INJECTION_KEY$1,void 0),ue=computed$1(()=>t.transition||"".concat(r.namespace.value,"-fade-in-linear")),he=computed$1(()=>t.persistent);onBeforeUnmount(()=>{k==null||k()});const pe=computed$1(()=>unref(he)?!0:unref(z)),Ce=computed$1(()=>t.disabled?!1:unref(z)),$e=computed$1(()=>t.appendTo||i.value),xe=computed$1(()=>{var Lt;return(Lt=t.style)!=null?Lt:{}}),Ie=ref$1(!0),Ne=()=>{ae(),At()&&tryFocus$1(document.body),Ie.value=!0},Fe=()=>{if(unref(L))return!0},Ve=composeEventHandlers$1(Fe,()=>{t.enterable&&unref(j)==="hover"&&oe()}),Oe=composeEventHandlers$1(Fe,()=>{unref(j)==="hover"&&ie()}),ze=()=>{var Lt,kt;(kt=(Lt=g.value)==null?void 0:Lt.updatePopper)==null||kt.call(Lt),le==null||le()},qe=()=>{de==null||de()},Ue=()=>{re()},Et=()=>{t.virtualTriggering||ie()},At=Lt=>{var kt;const ei=(kt=g.value)==null?void 0:kt.popperContentRef,jt=(Lt==null?void 0:Lt.relatedTarget)||document.activeElement;return ei==null?void 0:ei.contains(jt)};return watch(()=>unref(z),Lt=>{Lt?(Ie.value=!1,k=onClickOutside$1(y,()=>{if(unref(L))return;unref(j)!=="hover"&&ie()})):k==null||k()},{flush:"post"}),watch(()=>t.content,()=>{var Lt,kt;(kt=(Lt=g.value)==null?void 0:Lt.updatePopper)==null||kt.call(Lt)}),e({contentRef:g,isFocusInsideContent:At}),(Lt,kt)=>(openBlock(),createBlock(unref(ElTeleport$1),{disabled:!Lt.teleported,to:unref($e)},{default:withCtx(()=>[createVNode(Transition,{name:unref(ue),onAfterLeave:Ne,onBeforeEnter:ze,onAfterEnter:Ue,onBeforeLeave:qe},{default:withCtx(()=>[unref(pe)?withDirectives((openBlock(),createBlock(unref(ElPopperContent$1),mergeProps({key:0,id:unref(V),ref_key:"contentRef",ref:g},Lt.$attrs,{"aria-label":Lt.ariaLabel,"aria-hidden":Ie.value,"boundaries-padding":Lt.boundariesPadding,"fallback-placements":Lt.fallbackPlacements,"gpu-acceleration":Lt.gpuAcceleration,offset:Lt.offset,placement:Lt.placement,"popper-options":Lt.popperOptions,"arrow-offset":Lt.arrowOffset,strategy:Lt.strategy,effect:Lt.effect,enterable:Lt.enterable,pure:Lt.pure,"popper-class":Lt.popperClass,"popper-style":[Lt.popperStyle,unref(xe)],"reference-el":Lt.referenceEl,"trigger-target-el":Lt.triggerTargetEl,visible:unref(Ce),"z-index":Lt.zIndex,onMouseenter:unref(Ve),onMouseleave:unref(Oe),onBlur:Et,onClose:unref(ie)}),{default:withCtx(()=>[renderSlot(Lt.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","arrow-offset","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[vShow,unref(Ce)]]):createCommentVNode("v-if",!0)]),_:3},8,["name"])]),_:3},8,["disabled","to"]))}});var ElTooltipContent$1=_export_sfc$2(_sfc_main$3i,[["__file","content.vue"]]);const __default__$X=defineComponent({name:"ElTooltip"}),_sfc_main$3h=defineComponent({...__default__$X,props:useTooltipProps$1,emits:tooltipEmits$1,setup(n,{expose:e,emit:t}){const i=n;usePopperContainer$1();const r=useNamespace$1("tooltip"),g=useId$1(),y=ref$1(),k=ref$1(),L=()=>{var he;const pe=unref(y);pe&&((he=pe.popperInstanceRef)==null||he.update())},V=ref$1(!1),z=ref$1(),{show:j,hide:ie,hasUpdateHandler:oe}=useTooltipModelToggle$1({indicator:V,toggleReason:z}),{onOpen:re,onClose:ae}=useDelayedToggle$1({showAfter:toRef(i,"showAfter"),hideAfter:toRef(i,"hideAfter"),autoClose:toRef(i,"autoClose"),open:j,close:ie}),le=computed$1(()=>isBoolean$2(i.visible)&&!oe.value),de=computed$1(()=>[r.b(),i.popperClass]);provide(TOOLTIP_INJECTION_KEY$1,{controlled:le,id:g,open:readonly(V),trigger:toRef(i,"trigger"),onOpen:he=>{re(he)},onClose:he=>{ae(he)},onToggle:he=>{unref(V)?ae(he):re(he)},onShow:()=>{t("show",z.value)},onHide:()=>{t("hide",z.value)},onBeforeShow:()=>{t("before-show",z.value)},onBeforeHide:()=>{t("before-hide",z.value)},updatePopper:L}),watch(()=>i.disabled,he=>{he&&V.value&&(V.value=!1)});const ue=he=>{var pe;return(pe=k.value)==null?void 0:pe.isFocusInsideContent(he)};return onDeactivated(()=>V.value&&ie()),e({popperRef:y,contentRef:k,isFocusInsideContent:ue,updatePopper:L,onOpen:re,onClose:ae,hide:ie}),(he,pe)=>(openBlock(),createBlock(unref(ElPopper$1),{ref_key:"popperRef",ref:y,role:he.role},{default:withCtx(()=>[createVNode(ElTooltipTrigger$1,{disabled:he.disabled,trigger:he.trigger,"trigger-keys":he.triggerKeys,"virtual-ref":he.virtualRef,"virtual-triggering":he.virtualTriggering},{default:withCtx(()=>[he.$slots.default?renderSlot(he.$slots,"default",{key:0}):createCommentVNode("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),createVNode(ElTooltipContent$1,{ref_key:"contentRef",ref:k,"aria-label":he.ariaLabel,"boundaries-padding":he.boundariesPadding,content:he.content,disabled:he.disabled,effect:he.effect,enterable:he.enterable,"fallback-placements":he.fallbackPlacements,"hide-after":he.hideAfter,"gpu-acceleration":he.gpuAcceleration,offset:he.offset,persistent:he.persistent,"popper-class":unref(de),"popper-style":he.popperStyle,placement:he.placement,"popper-options":he.popperOptions,"arrow-offset":he.arrowOffset,pure:he.pure,"raw-content":he.rawContent,"reference-el":he.referenceEl,"trigger-target-el":he.triggerTargetEl,"show-after":he.showAfter,strategy:he.strategy,teleported:he.teleported,transition:he.transition,"virtual-triggering":he.virtualTriggering,"z-index":he.zIndex,"append-to":he.appendTo},{default:withCtx(()=>[renderSlot(he.$slots,"content",{},()=>[he.rawContent?(openBlock(),createElementBlock("span",{key:0,innerHTML:he.content},null,8,["innerHTML"])):(openBlock(),createElementBlock("span",{key:1},toDisplayString(he.content),1))]),he.showArrow?(openBlock(),createBlock(unref(ElPopperArrow$1),{key:0})):createCommentVNode("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","arrow-offset","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var Tooltip$1=_export_sfc$2(_sfc_main$3h,[["__file","tooltip.vue"]]);const ElTooltip$1=withInstall$1(Tooltip$1);function bound01$1(n,e){isOnePointZero$1(n)&&(n="100%");var t=isPercentage$1(n);return n=e===360?n:Math.min(e,Math.max(0,parseFloat(n))),t&&(n=parseInt(String(n*e),10)/100),Math.abs(n-e)<1e-6?1:(e===360?n=(n<0?n%e+e:n%e)/parseFloat(String(e)):n=n%e/parseFloat(String(e)),n)}function clamp01(n){return Math.min(1,Math.max(0,n))}function isOnePointZero$1(n){return typeof n=="string"&&n.indexOf(".")!==-1&&parseFloat(n)===1}function isPercentage$1(n){return typeof n=="string"&&n.indexOf("%")!==-1}function boundAlpha(n){return n=parseFloat(n),(isNaN(n)||n<0||n>1)&&(n=1),n}function convertToPercentage(n){return n<=1?"".concat(Number(n)*100,"%"):n}function pad2(n){return n.length===1?"0"+n:String(n)}function rgbToRgb(n,e,t){return{r:bound01$1(n,255)*255,g:bound01$1(e,255)*255,b:bound01$1(t,255)*255}}function rgbToHsl(n,e,t){n=bound01$1(n,255),e=bound01$1(e,255),t=bound01$1(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),g=0,y=0,k=(i+r)/2;if(i===r)y=0,g=0;else{var L=i-r;switch(y=k>.5?L/(2-i-r):L/(i+r),i){case n:g=(e-t)/L+(e1&&(t-=1),t<1/6?n+(e-n)*(6*t):t<1/2?e:t<2/3?n+(e-n)*(2/3-t)*6:n}function hslToRgb(n,e,t){var i,r,g;if(n=bound01$1(n,360),e=bound01$1(e,100),t=bound01$1(t,100),e===0)r=t,g=t,i=t;else{var y=t<.5?t*(1+e):t+e-t*e,k=2*t-y;i=hue2rgb(k,y,n+1/3),r=hue2rgb(k,y,n),g=hue2rgb(k,y,n-1/3)}return{r:i*255,g:r*255,b:g*255}}function rgbToHsv(n,e,t){n=bound01$1(n,255),e=bound01$1(e,255),t=bound01$1(t,255);var i=Math.max(n,e,t),r=Math.min(n,e,t),g=0,y=i,k=i-r,L=i===0?0:k/i;if(i===r)g=0;else{switch(i){case n:g=(e-t)/k+(e>16,g:(n&65280)>>8,b:n&255}}var names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",goldenrod:"#daa520",gold:"#ffd700",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavenderblush:"#fff0f5",lavender:"#e6e6fa",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",rebeccapurple:"#663399",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};function inputToRGB(n){var e={r:0,g:0,b:0},t=1,i=null,r=null,g=null,y=!1,k=!1;return typeof n=="string"&&(n=stringInputToObject(n)),typeof n=="object"&&(isValidCSSUnit(n.r)&&isValidCSSUnit(n.g)&&isValidCSSUnit(n.b)?(e=rgbToRgb(n.r,n.g,n.b),y=!0,k=String(n.r).substr(-1)==="%"?"prgb":"rgb"):isValidCSSUnit(n.h)&&isValidCSSUnit(n.s)&&isValidCSSUnit(n.v)?(i=convertToPercentage(n.s),r=convertToPercentage(n.v),e=hsvToRgb(n.h,i,r),y=!0,k="hsv"):isValidCSSUnit(n.h)&&isValidCSSUnit(n.s)&&isValidCSSUnit(n.l)&&(i=convertToPercentage(n.s),g=convertToPercentage(n.l),e=hslToRgb(n.h,i,g),y=!0,k="hsl"),Object.prototype.hasOwnProperty.call(n,"a")&&(t=n.a)),t=boundAlpha(t),{ok:y,format:n.format||k,r:Math.min(255,Math.max(e.r,0)),g:Math.min(255,Math.max(e.g,0)),b:Math.min(255,Math.max(e.b,0)),a:t}}var CSS_INTEGER="[-\\+]?\\d+%?",CSS_NUMBER="[-\\+]?\\d*\\.\\d+%?",CSS_UNIT="(?:".concat(CSS_NUMBER,")|(?:").concat(CSS_INTEGER,")"),PERMISSIVE_MATCH3="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),PERMISSIVE_MATCH4="[\\s|\\(]+(".concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")[,|\\s]+(").concat(CSS_UNIT,")\\s*\\)?"),matchers={CSS_UNIT:new RegExp(CSS_UNIT),rgb:new RegExp("rgb"+PERMISSIVE_MATCH3),rgba:new RegExp("rgba"+PERMISSIVE_MATCH4),hsl:new RegExp("hsl"+PERMISSIVE_MATCH3),hsla:new RegExp("hsla"+PERMISSIVE_MATCH4),hsv:new RegExp("hsv"+PERMISSIVE_MATCH3),hsva:new RegExp("hsva"+PERMISSIVE_MATCH4),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/};function stringInputToObject(n){if(n=n.trim().toLowerCase(),n.length===0)return!1;var e=!1;if(names[n])n=names[n],e=!0;else if(n==="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var t=matchers.rgb.exec(n);return t?{r:t[1],g:t[2],b:t[3]}:(t=matchers.rgba.exec(n),t?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=matchers.hsl.exec(n),t?{h:t[1],s:t[2],l:t[3]}:(t=matchers.hsla.exec(n),t?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=matchers.hsv.exec(n),t?{h:t[1],s:t[2],v:t[3]}:(t=matchers.hsva.exec(n),t?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=matchers.hex8.exec(n),t?{r:parseIntFromHex(t[1]),g:parseIntFromHex(t[2]),b:parseIntFromHex(t[3]),a:convertHexToDecimal(t[4]),format:e?"name":"hex8"}:(t=matchers.hex6.exec(n),t?{r:parseIntFromHex(t[1]),g:parseIntFromHex(t[2]),b:parseIntFromHex(t[3]),format:e?"name":"hex"}:(t=matchers.hex4.exec(n),t?{r:parseIntFromHex(t[1]+t[1]),g:parseIntFromHex(t[2]+t[2]),b:parseIntFromHex(t[3]+t[3]),a:convertHexToDecimal(t[4]+t[4]),format:e?"name":"hex8"}:(t=matchers.hex3.exec(n),t?{r:parseIntFromHex(t[1]+t[1]),g:parseIntFromHex(t[2]+t[2]),b:parseIntFromHex(t[3]+t[3]),format:e?"name":"hex"}:!1)))))))))}function isValidCSSUnit(n){return!!matchers.CSS_UNIT.exec(String(n))}var TinyColor=function(){function n(e,t){e===void 0&&(e=""),t===void 0&&(t={});var i;if(e instanceof n)return e;typeof e=="number"&&(e=numberInputToObject(e)),this.originalInput=e;var r=inputToRGB(e);this.originalInput=e,this.r=r.r,this.g=r.g,this.b=r.b,this.a=r.a,this.roundA=Math.round(100*this.a)/100,this.format=(i=t.format)!==null&&i!==void 0?i:r.format,this.gradientType=t.gradientType,this.r<1&&(this.r=Math.round(this.r)),this.g<1&&(this.g=Math.round(this.g)),this.b<1&&(this.b=Math.round(this.b)),this.isValid=r.ok}return n.prototype.isDark=function(){return this.getBrightness()<128},n.prototype.isLight=function(){return!this.isDark()},n.prototype.getBrightness=function(){var e=this.toRgb();return(e.r*299+e.g*587+e.b*114)/1e3},n.prototype.getLuminance=function(){var e=this.toRgb(),t,i,r,g=e.r/255,y=e.g/255,k=e.b/255;return g<=.03928?t=g/12.92:t=Math.pow((g+.055)/1.055,2.4),y<=.03928?i=y/12.92:i=Math.pow((y+.055)/1.055,2.4),k<=.03928?r=k/12.92:r=Math.pow((k+.055)/1.055,2.4),.2126*t+.7152*i+.0722*r},n.prototype.getAlpha=function(){return this.a},n.prototype.setAlpha=function(e){return this.a=boundAlpha(e),this.roundA=Math.round(100*this.a)/100,this},n.prototype.isMonochrome=function(){var e=this.toHsl().s;return e===0},n.prototype.toHsv=function(){var e=rgbToHsv(this.r,this.g,this.b);return{h:e.h*360,s:e.s,v:e.v,a:this.a}},n.prototype.toHsvString=function(){var e=rgbToHsv(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.v*100);return this.a===1?"hsv(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsva(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHsl=function(){var e=rgbToHsl(this.r,this.g,this.b);return{h:e.h*360,s:e.s,l:e.l,a:this.a}},n.prototype.toHslString=function(){var e=rgbToHsl(this.r,this.g,this.b),t=Math.round(e.h*360),i=Math.round(e.s*100),r=Math.round(e.l*100);return this.a===1?"hsl(".concat(t,", ").concat(i,"%, ").concat(r,"%)"):"hsla(".concat(t,", ").concat(i,"%, ").concat(r,"%, ").concat(this.roundA,")")},n.prototype.toHex=function(e){return e===void 0&&(e=!1),rgbToHex(this.r,this.g,this.b,e)},n.prototype.toHexString=function(e){return e===void 0&&(e=!1),"#"+this.toHex(e)},n.prototype.toHex8=function(e){return e===void 0&&(e=!1),rgbaToHex(this.r,this.g,this.b,this.a,e)},n.prototype.toHex8String=function(e){return e===void 0&&(e=!1),"#"+this.toHex8(e)},n.prototype.toHexShortString=function(e){return e===void 0&&(e=!1),this.a===1?this.toHexString(e):this.toHex8String(e)},n.prototype.toRgb=function(){return{r:Math.round(this.r),g:Math.round(this.g),b:Math.round(this.b),a:this.a}},n.prototype.toRgbString=function(){var e=Math.round(this.r),t=Math.round(this.g),i=Math.round(this.b);return this.a===1?"rgb(".concat(e,", ").concat(t,", ").concat(i,")"):"rgba(".concat(e,", ").concat(t,", ").concat(i,", ").concat(this.roundA,")")},n.prototype.toPercentageRgb=function(){var e=function(t){return"".concat(Math.round(bound01$1(t,255)*100),"%")};return{r:e(this.r),g:e(this.g),b:e(this.b),a:this.a}},n.prototype.toPercentageRgbString=function(){var e=function(t){return Math.round(bound01$1(t,255)*100)};return this.a===1?"rgb(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%)"):"rgba(".concat(e(this.r),"%, ").concat(e(this.g),"%, ").concat(e(this.b),"%, ").concat(this.roundA,")")},n.prototype.toName=function(){if(this.a===0)return"transparent";if(this.a<1)return!1;for(var e="#"+rgbToHex(this.r,this.g,this.b,!1),t=0,i=Object.entries(names);t=0,g=!t&&r&&(e.startsWith("hex")||e==="name");return g?e==="name"&&this.a===0?this.toName():this.toRgbString():(e==="rgb"&&(i=this.toRgbString()),e==="prgb"&&(i=this.toPercentageRgbString()),(e==="hex"||e==="hex6")&&(i=this.toHexString()),e==="hex3"&&(i=this.toHexString(!0)),e==="hex4"&&(i=this.toHex8String(!0)),e==="hex8"&&(i=this.toHex8String()),e==="name"&&(i=this.toName()),e==="hsl"&&(i=this.toHslString()),e==="hsv"&&(i=this.toHsvString()),i||this.toHexString())},n.prototype.toNumber=function(){return(Math.round(this.r)<<16)+(Math.round(this.g)<<8)+Math.round(this.b)},n.prototype.clone=function(){return new n(this.toString())},n.prototype.lighten=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l+=e/100,t.l=clamp01(t.l),new n(t)},n.prototype.brighten=function(e){e===void 0&&(e=10);var t=this.toRgb();return t.r=Math.max(0,Math.min(255,t.r-Math.round(255*-(e/100)))),t.g=Math.max(0,Math.min(255,t.g-Math.round(255*-(e/100)))),t.b=Math.max(0,Math.min(255,t.b-Math.round(255*-(e/100)))),new n(t)},n.prototype.darken=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.l-=e/100,t.l=clamp01(t.l),new n(t)},n.prototype.tint=function(e){return e===void 0&&(e=10),this.mix("white",e)},n.prototype.shade=function(e){return e===void 0&&(e=10),this.mix("black",e)},n.prototype.desaturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s-=e/100,t.s=clamp01(t.s),new n(t)},n.prototype.saturate=function(e){e===void 0&&(e=10);var t=this.toHsl();return t.s+=e/100,t.s=clamp01(t.s),new n(t)},n.prototype.greyscale=function(){return this.desaturate(100)},n.prototype.spin=function(e){var t=this.toHsl(),i=(t.h+e)%360;return t.h=i<0?360+i:i,new n(t)},n.prototype.mix=function(e,t){t===void 0&&(t=50);var i=this.toRgb(),r=new n(e).toRgb(),g=t/100,y={r:(r.r-i.r)*g+i.r,g:(r.g-i.g)*g+i.g,b:(r.b-i.b)*g+i.b,a:(r.a-i.a)*g+i.a};return new n(y)},n.prototype.analogous=function(e,t){e===void 0&&(e=6),t===void 0&&(t=30);var i=this.toHsl(),r=360/t,g=[this];for(i.h=(i.h-(r*e>>1)+720)%360;--e;)i.h=(i.h+r)%360,g.push(new n(i));return g},n.prototype.complement=function(){var e=this.toHsl();return e.h=(e.h+180)%360,new n(e)},n.prototype.monochromatic=function(e){e===void 0&&(e=6);for(var t=this.toHsv(),i=t.h,r=t.s,g=t.v,y=[],k=1/e;e--;)y.push(new n({h:i,s:r,v:g})),g=(g+k)%1;return y},n.prototype.splitcomplement=function(){var e=this.toHsl(),t=e.h;return[this,new n({h:(t+72)%360,s:e.s,l:e.l}),new n({h:(t+216)%360,s:e.s,l:e.l})]},n.prototype.onBackground=function(e){var t=this.toRgb(),i=new n(e).toRgb(),r=t.a+i.a*(1-t.a);return new n({r:(t.r*t.a+i.r*i.a*(1-t.a))/r,g:(t.g*t.a+i.g*i.a*(1-t.a))/r,b:(t.b*t.a+i.b*i.a*(1-t.a))/r,a:r})},n.prototype.triad=function(){return this.polyad(3)},n.prototype.tetrad=function(){return this.polyad(4)},n.prototype.polyad=function(e){for(var t=this.toHsl(),i=t.h,r=[this],g=360/e,y=1;y68?1900:2e3)},z=function(le){return function(de){this[le]=+de}},j=[/[+-]\d\d:?(\d\d)?|Z/,function(le){(this.zone||(this.zone={})).offset=function(de){if(!de||de==="Z")return 0;var ue=de.match(/([+-]|\d\d)/g),he=60*ue[1]+(+ue[2]||0);return he===0?0:ue[0]==="+"?-he:he}(le)}],ie=function(le){var de=L[le];return de&&(de.indexOf?de:de.s.concat(de.f))},oe=function(le,de){var ue,he=L.meridiem;if(he){for(var pe=1;pe<=24;pe+=1)if(le.indexOf(he(pe,0,de))>-1){ue=pe>12;break}}else ue=le===(de?"pm":"PM");return ue},re={A:[k,function(le){this.afternoon=oe(le,!1)}],a:[k,function(le){this.afternoon=oe(le,!0)}],Q:[r,function(le){this.month=3*(le-1)+1}],S:[r,function(le){this.milliseconds=100*+le}],SS:[g,function(le){this.milliseconds=10*+le}],SSS:[/\d{3}/,function(le){this.milliseconds=+le}],s:[y,z("seconds")],ss:[y,z("seconds")],m:[y,z("minutes")],mm:[y,z("minutes")],H:[y,z("hours")],h:[y,z("hours")],HH:[y,z("hours")],hh:[y,z("hours")],D:[y,z("day")],DD:[g,z("day")],Do:[k,function(le){var de=L.ordinal,ue=le.match(/\d+/);if(this.day=ue[0],de)for(var he=1;he<=31;he+=1)de(he).replace(/\[|\]/g,"")===le&&(this.day=he)}],w:[y,z("week")],ww:[g,z("week")],M:[y,z("month")],MM:[g,z("month")],MMM:[k,function(le){var de=ie("months"),ue=(ie("monthsShort")||de.map(function(he){return he.slice(0,3)})).indexOf(le)+1;if(ue<1)throw new Error;this.month=ue%12||ue}],MMMM:[k,function(le){var de=ie("months").indexOf(le)+1;if(de<1)throw new Error;this.month=de%12||de}],Y:[/[+-]?\d+/,z("year")],YY:[g,function(le){this.year=V(le)}],YYYY:[/\d{4}/,z("year")],Z:j,ZZ:j};function ae(le){var de,ue;de=le,ue=L&&L.formats;for(var he=(le=de.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(Fe,Ve,Oe){var ze=Oe&&Oe.toUpperCase();return Ve||ue[Oe]||t[Oe]||ue[ze].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(qe,Ue,Et){return Ue||Et.slice(1)})})).match(i),pe=he.length,Ce=0;Ce-1)return new Date((Lt==="X"?1e3:1)*At);var jt=ae(Lt)(At),ri=jt.year,ni=jt.month,Ci=jt.day,wi=jt.hours,Ri=jt.minutes,ai=jt.seconds,hi=jt.milliseconds,xi=jt.zone,Oi=jt.week,Ei=new Date,si=Ci||(ri||ni?1:Ei.getDate()),fi=ri||Ei.getFullYear(),li=0;ri&&!ni||(li=ni>0?ni-1:Ei.getMonth());var Di,ki=wi||0,Ai=Ri||0,Ki=ai||0,zi=hi||0;return xi?new Date(Date.UTC(fi,li,si,ki,Ai,Ki,zi+60*xi.offset*1e3)):kt?new Date(Date.UTC(fi,li,si,ki,Ai,Ki,zi)):(Di=new Date(fi,li,si,ki,Ai,Ki,zi),Oi&&(Di=ei(Di).week(Oi).toDate()),Di)}catch(bi){return new Date("")}}($e,Ne,xe,ue),this.init(),ze&&ze!==!0&&(this.$L=this.locale(ze).$L),Oe&&$e!=this.format(Ne)&&(this.$d=new Date("")),L={}}else if(Ne instanceof Array)for(var qe=Ne.length,Ue=1;Ue<=qe;Ue+=1){Ie[1]=Ne[Ue-1];var Et=ue.apply(this,Ie);if(Et.isValid()){this.$d=Et.$d,this.$L=Et.$L,this.init();break}Ue===qe&&(this.$d=new Date(""))}else pe.call(this,Ce)}}})}(customParseFormat$2)),customParseFormat$2.exports}var customParseFormatExports=requireCustomParseFormat();const customParseFormat=getDefaultExportFromCjs(customParseFormatExports);var advancedFormat$2={exports:{}},advancedFormat$1=advancedFormat$2.exports,hasRequiredAdvancedFormat;function requireAdvancedFormat(){return hasRequiredAdvancedFormat||(hasRequiredAdvancedFormat=1,function(n,e){(function(t,i){n.exports=i()})(advancedFormat$1,function(){return function(t,i){var r=i.prototype,g=r.format;r.format=function(y){var k=this,L=this.$locale();if(!this.isValid())return g.bind(this)(y);var V=this.$utils(),z=(y||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(j){switch(j){case"Q":return Math.ceil((k.$M+1)/3);case"Do":return L.ordinal(k.$D);case"gggg":return k.weekYear();case"GGGG":return k.isoWeekYear();case"wo":return L.ordinal(k.week(),"W");case"w":case"ww":return V.s(k.week(),j==="w"?1:2,"0");case"W":case"WW":return V.s(k.isoWeek(),j==="W"?1:2,"0");case"k":case"kk":return V.s(String(k.$H===0?24:k.$H),j==="k"?1:2,"0");case"X":return Math.floor(k.$d.getTime()/1e3);case"x":return k.$d.getTime();case"z":return"["+k.offsetName()+"]";case"zzz":return"["+k.offsetName("long")+"]";default:return j}});return g.bind(this)(z)}}})}(advancedFormat$2)),advancedFormat$2.exports}var advancedFormatExports=requireAdvancedFormat();const advancedFormat=getDefaultExportFromCjs(advancedFormatExports);var weekOfYear$2={exports:{}},weekOfYear$1=weekOfYear$2.exports,hasRequiredWeekOfYear;function requireWeekOfYear(){return hasRequiredWeekOfYear||(hasRequiredWeekOfYear=1,function(n,e){(function(t,i){n.exports=i()})(weekOfYear$1,function(){var t="week",i="year";return function(r,g,y){var k=g.prototype;k.week=function(L){if(L===void 0&&(L=null),L!==null)return this.add(7*(L-this.week()),"day");var V=this.$locale().yearStart||1;if(this.month()===11&&this.date()>25){var z=y(this).startOf(i).add(1,i).date(V),j=y(this).endOf(t);if(z.isBefore(j))return 1}var ie=y(this).startOf(i).date(V).startOf(t).subtract(1,"millisecond"),oe=this.diff(ie,t,!0);return oe<0?y(this).startOf("week").week():Math.ceil(oe)},k.weeks=function(L){return L===void 0&&(L=null),this.week(L)}}})}(weekOfYear$2)),weekOfYear$2.exports}var weekOfYearExports=requireWeekOfYear();const weekOfYear=getDefaultExportFromCjs(weekOfYearExports);var weekYear$2={exports:{}},weekYear$1=weekYear$2.exports,hasRequiredWeekYear;function requireWeekYear(){return hasRequiredWeekYear||(hasRequiredWeekYear=1,function(n,e){(function(t,i){n.exports=i()})(weekYear$1,function(){return function(t,i){i.prototype.weekYear=function(){var r=this.month(),g=this.week(),y=this.year();return g===1&&r===11?y+1:r===0&&g>=52?y-1:y}}})}(weekYear$2)),weekYear$2.exports}var weekYearExports=requireWeekYear();const weekYear=getDefaultExportFromCjs(weekYearExports);var dayOfYear$2={exports:{}},dayOfYear$1=dayOfYear$2.exports,hasRequiredDayOfYear;function requireDayOfYear(){return hasRequiredDayOfYear||(hasRequiredDayOfYear=1,function(n,e){(function(t,i){n.exports=i()})(dayOfYear$1,function(){return function(t,i,r){i.prototype.dayOfYear=function(g){var y=Math.round((r(this).startOf("day")-r(this).startOf("year"))/864e5)+1;return g==null?y:this.add(g-y,"day")}}})}(dayOfYear$2)),dayOfYear$2.exports}var dayOfYearExports=requireDayOfYear();const dayOfYear=getDefaultExportFromCjs(dayOfYearExports);var isSameOrAfter$2={exports:{}},isSameOrAfter$1=isSameOrAfter$2.exports,hasRequiredIsSameOrAfter;function requireIsSameOrAfter(){return hasRequiredIsSameOrAfter||(hasRequiredIsSameOrAfter=1,function(n,e){(function(t,i){n.exports=i()})(isSameOrAfter$1,function(){return function(t,i){i.prototype.isSameOrAfter=function(r,g){return this.isSame(r,g)||this.isAfter(r,g)}}})}(isSameOrAfter$2)),isSameOrAfter$2.exports}var isSameOrAfterExports=requireIsSameOrAfter();const isSameOrAfter=getDefaultExportFromCjs(isSameOrAfterExports);var isSameOrBefore$2={exports:{}},isSameOrBefore$1=isSameOrBefore$2.exports,hasRequiredIsSameOrBefore;function requireIsSameOrBefore(){return hasRequiredIsSameOrBefore||(hasRequiredIsSameOrBefore=1,function(n,e){(function(t,i){n.exports=i()})(isSameOrBefore$1,function(){return function(t,i){i.prototype.isSameOrBefore=function(r,g){return this.isSame(r,g)||this.isBefore(r,g)}}})}(isSameOrBefore$2)),isSameOrBefore$2.exports}var isSameOrBeforeExports=requireIsSameOrBefore();const isSameOrBefore=getDefaultExportFromCjs(isSameOrBeforeExports);function _extends(){return _extends=Object.assign?Object.assign.bind():function(n){for(var e=1;e"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(n){return!1}}function _construct(n,e,t){return _isNativeReflectConstruct()?_construct=Reflect.construct.bind():_construct=function(r,g,y){var k=[null];k.push.apply(k,g);var L=Function.bind.apply(r,k),V=new L;return y&&_setPrototypeOf(V,y.prototype),V},_construct.apply(null,arguments)}function _isNativeFunction(n){return Function.toString.call(n).indexOf("[native code]")!==-1}function _wrapNativeSuper(n){var e=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper=function(i){if(i===null||!_isNativeFunction(i))return i;if(typeof i!="function")throw new TypeError("Super expression must either be null or a function");if(typeof e<"u"){if(e.has(i))return e.get(i);e.set(i,r)}function r(){return _construct(i,arguments,_getPrototypeOf(this).constructor)}return r.prototype=Object.create(i.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(r,i)},_wrapNativeSuper(n)}var formatRegExp=/%[sdj%]/g,warning=function(){};function convertFieldsError(n){if(!n||!n.length)return null;var e={};return n.forEach(function(t){var i=t.field;e[i]=e[i]||[],e[i].push(t)}),e}function format$1(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i=g)return k;switch(k){case"%s":return String(t[r++]);case"%d":return Number(t[r++]);case"%j":try{return JSON.stringify(t[r++])}catch(L){return"[Circular]"}break;default:return k}});return y}return n}function isNativeStringType(n){return n==="string"||n==="url"||n==="hex"||n==="email"||n==="date"||n==="pattern"}function isEmptyValue(n,e){return!!(n==null||e==="array"&&Array.isArray(n)&&!n.length||isNativeStringType(e)&&typeof n=="string"&&!n)}function asyncParallelArray(n,e,t){var i=[],r=0,g=n.length;function y(k){i.push.apply(i,k||[]),r++,r===g&&t(i)}n.forEach(function(k){e(k,y)})}function asyncSerialArray(n,e,t){var i=0,r=n.length;function g(y){if(y&&y.length){t(y);return}var k=i;i=i+1,k()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+\.)+[a-zA-Z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}))$/,hex:/^#?([a-f0-9]{6}|[a-f0-9]{3})$/i},types={integer:function(e){return types.number(e)&&parseInt(e,10)===e},float:function(e){return types.number(e)&&!types.integer(e)},array:function(e){return Array.isArray(e)},regexp:function(e){if(e instanceof RegExp)return!0;try{return!!new RegExp(e)}catch(t){return!1}},date:function(e){return typeof e.getTime=="function"&&typeof e.getMonth=="function"&&typeof e.getYear=="function"&&!isNaN(e.getTime())},number:function(e){return isNaN(e)?!1:typeof e=="number"},object:function(e){return typeof e=="object"&&!types.array(e)},method:function(e){return typeof e=="function"},email:function(e){return typeof e=="string"&&e.length<=320&&!!e.match(pattern$2.email)},url:function(e){return typeof e=="string"&&e.length<=2048&&!!e.match(getUrlRegex())},hex:function(e){return typeof e=="string"&&!!e.match(pattern$2.hex)}},type$1=function(e,t,i,r,g){if(e.required&&t===void 0){required$1(e,t,i,r,g);return}var y=["integer","float","array","regexp","object","method","email","number","date","url","hex"],k=e.type;y.indexOf(k)>-1?types[k](t)||r.push(format$1(g.messages.types[k],e.fullField,e.type)):k&&typeof t!==e.type&&r.push(format$1(g.messages.types[k],e.fullField,e.type))},range$1=function(e,t,i,r,g){var y=typeof e.len=="number",k=typeof e.min=="number",L=typeof e.max=="number",V=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,z=t,j=null,ie=typeof t=="number",oe=typeof t=="string",re=Array.isArray(t);if(ie?j="number":oe?j="string":re&&(j="array"),!j)return!1;re&&(z=t.length),oe&&(z=t.replace(V,"_").length),y?z!==e.len&&r.push(format$1(g.messages[j].len,e.fullField,e.len)):k&&!L&&ze.max?r.push(format$1(g.messages[j].max,e.fullField,e.max)):k&&L&&(ze.max)&&r.push(format$1(g.messages[j].range,e.fullField,e.min,e.max))},ENUM$1="enum",enumerable$1=function(e,t,i,r,g){e[ENUM$1]=Array.isArray(e[ENUM$1])?e[ENUM$1]:[],e[ENUM$1].indexOf(t)===-1&&r.push(format$1(g.messages[ENUM$1],e.fullField,e[ENUM$1].join(", ")))},pattern$1=function(e,t,i,r,g){if(e.pattern){if(e.pattern instanceof RegExp)e.pattern.lastIndex=0,e.pattern.test(t)||r.push(format$1(g.messages.pattern.mismatch,e.fullField,t,e.pattern));else if(typeof e.pattern=="string"){var y=new RegExp(e.pattern);y.test(t)||r.push(format$1(g.messages.pattern.mismatch,e.fullField,t,e.pattern))}}},rules={required:required$1,whitespace,type:type$1,range:range$1,enum:enumerable$1,pattern:pattern$1},string$1=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t,"string")&&!e.required)return i();rules.required(e,t,r,y,g,"string"),isEmptyValue(t,"string")||(rules.type(e,t,r,y,g),rules.range(e,t,r,y,g),rules.pattern(e,t,r,y,g),e.whitespace===!0&&rules.whitespace(e,t,r,y,g))}i(y)},method2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&rules.type(e,t,r,y,g)}i(y)},number2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(t===""&&(t=void 0),isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&(rules.type(e,t,r,y,g),rules.range(e,t,r,y,g))}i(y)},_boolean=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&rules.type(e,t,r,y,g)}i(y)},regexp2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),isEmptyValue(t)||rules.type(e,t,r,y,g)}i(y)},integer2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&(rules.type(e,t,r,y,g),rules.range(e,t,r,y,g))}i(y)},floatFn=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&(rules.type(e,t,r,y,g),rules.range(e,t,r,y,g))}i(y)},array2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(t==null&&!e.required)return i();rules.required(e,t,r,y,g,"array"),t!=null&&(rules.type(e,t,r,y,g),rules.range(e,t,r,y,g))}i(y)},object2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&rules.type(e,t,r,y,g)}i(y)},ENUM="enum",enumerable2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g),t!==void 0&&rules[ENUM](e,t,r,y,g)}i(y)},pattern2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t,"string")&&!e.required)return i();rules.required(e,t,r,y,g),isEmptyValue(t,"string")||rules.pattern(e,t,r,y,g)}i(y)},date2=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t,"date")&&!e.required)return i();if(rules.required(e,t,r,y,g),!isEmptyValue(t,"date")){var L;t instanceof Date?L=t:L=new Date(t),rules.type(e,L,r,y,g),L&&rules.range(e,L.getTime(),r,y,g)}}i(y)},required2=function(e,t,i,r,g){var y=[],k=Array.isArray(t)?"array":typeof t;rules.required(e,t,r,y,g,k),i(y)},type2=function(e,t,i,r,g){var y=e.type,k=[],L=e.required||!e.required&&r.hasOwnProperty(e.field);if(L){if(isEmptyValue(t,y)&&!e.required)return i();rules.required(e,t,r,k,g,y),isEmptyValue(t,y)||rules.type(e,t,r,k,g)}i(k)},any=function(e,t,i,r,g){var y=[],k=e.required||!e.required&&r.hasOwnProperty(e.field);if(k){if(isEmptyValue(t)&&!e.required)return i();rules.required(e,t,r,y,g)}i(y)},validators={string:string$1,method:method2,number:number2,boolean:_boolean,regexp:regexp2,integer:integer2,float:floatFn,array:array2,object:object2,enum:enumerable2,pattern:pattern2,date:date2,url:type2,hex:type2,email:type2,required:required2,any};function newMessages(){return{default:"Validation error on field %s",required:"%s is required",enum:"%s must be one of %s",whitespace:"%s cannot be empty",date:{format:"%s date %s is invalid for format %s",parse:"%s date could not be parsed, %s is invalid ",invalid:"%s date %s is invalid"},types:{string:"%s is not a %s",method:"%s is not a %s (function)",array:"%s is not an %s",object:"%s is not an %s",number:"%s is not a %s",date:"%s is not a %s",boolean:"%s is not a %s",integer:"%s is not an %s",float:"%s is not a %s",regexp:"%s is not a valid %s",email:"%s is not a valid %s",url:"%s is not a valid %s",hex:"%s is not a valid %s"},string:{len:"%s must be exactly %s characters",min:"%s must be at least %s characters",max:"%s cannot be longer than %s characters",range:"%s must be between %s and %s characters"},number:{len:"%s must equal %s",min:"%s cannot be less than %s",max:"%s cannot be greater than %s",range:"%s must be between %s and %s"},array:{len:"%s must be exactly %s in length",min:"%s cannot be less than %s in length",max:"%s cannot be greater than %s in length",range:"%s must be between %s and %s in length"},pattern:{mismatch:"%s value %s does not match pattern %s"},clone:function(){var e=JSON.parse(JSON.stringify(this));return e.clone=this.clone,e}}}var messages=newMessages(),Schema=function(){function n(t){this.rules=null,this._messages=messages,this.define(t)}var e=n.prototype;return e.define=function(i){var r=this;if(!i)throw new Error("Cannot configure a schema with no rules");if(typeof i!="object"||Array.isArray(i))throw new Error("Rules must be an object");this.rules={},Object.keys(i).forEach(function(g){var y=i[g];r.rules[g]=Array.isArray(y)?y:[y]})},e.messages=function(i){return i&&(this._messages=deepMerge(newMessages(),i)),this._messages},e.validate=function(i,r,g){var y=this;r===void 0&&(r={}),g===void 0&&(g=function(){});var k=i,L=r,V=g;if(typeof L=="function"&&(V=L,L={}),!this.rules||Object.keys(this.rules).length===0)return V&&V(null,k),Promise.resolve(k);function z(ae){var le=[],de={};function ue(pe){if(Array.isArray(pe)){var Ce;le=(Ce=le).concat.apply(Ce,pe)}else le.push(pe)}for(var he=0;heo},ie64:function(){return _.ie()&&D},firefox:function(){return a()||f},opera:function(){return a()||s},webkit:function(){return a()||u},safari:function(){return _.webkit()},chrome:function(){return a()||d},windows:function(){return a()||p},osx:function(){return a()||l},linux:function(){return a()||m},iphone:function(){return a()||x},mobile:function(){return a()||x||E||w||F},nativeApp:function(){return a()||M},android:function(){return a()||w},ipad:function(){return a()||E}},A=_,c=!!(typeof window<"u"&&window.document&&window.document.createElement),U={canUseDOM:c},h$1=U,X;h$1.canUseDOM&&(X=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function S(n,e){if(!h$1.canUseDOM||e&&!("addEventListener"in document))return!1;var t="on"+n,i=t in document;if(!i){var r=document.createElement("div");r.setAttribute(t,"return;"),i=typeof r[t]=="function"}return!i&&X&&n==="wheel"&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}var b=S,O=10,I=40,P=800;function T(n){var e=0,t=0,i=0,r=0;return"detail"in n&&(t=n.detail),"wheelDelta"in n&&(t=-n.wheelDelta/120),"wheelDeltaY"in n&&(t=-n.wheelDeltaY/120),"wheelDeltaX"in n&&(e=-n.wheelDeltaX/120),"axis"in n&&n.axis===n.HORIZONTAL_AXIS&&(e=t,t=0),i=e*O,r=t*O,"deltaY"in n&&(r=n.deltaY),"deltaX"in n&&(i=n.deltaX),(i||r)&&n.deltaMode&&(n.deltaMode==1?(i*=I,r*=I):(i*=P,r*=P)),i&&!e&&(e=i<1?-1:1),r&&!t&&(t=r<1?-1:1),{spinX:e,spinY:t,pixelX:i,pixelY:r}}T.getEventType=function(){return A.firefox()?"DOMMouseScroll":b("wheel")?"wheel":"mousewheel"};var Y=T;/** * Checks if an event is supported in the current execution environment. * * NOTE: This will not work correctly for non-generic events such as `change`, * `reset`, `load`, `error`, and `select`. * * Borrows from Modernizr. * * @param {string} eventNameSuffix Event name, e.g. "click". * @param {?boolean} capture Check if the capture phase is supported. * @return {boolean} True if the event is supported. * @internal * @license Modernizr 3.0.0pre (Custom Build) | MIT */function createLoadingComponent$1(n,e){let t;const i=ref$1(!1),r=reactive$1({...n,originalPosition:"",originalOverflow:"",visible:!1});function g(oe){r.text=oe}function y(){const oe=r.parent,re=ie.ns;if(!oe.vLoadingAddClassList){let ae=oe.getAttribute("loading-number");ae=Number.parseInt(ae)-1,ae?oe.setAttribute("loading-number",ae.toString()):(removeClass$2(oe,re.bm("parent","relative")),oe.removeAttribute("loading-number")),removeClass$2(oe,re.bm("parent","hidden"))}k(),j.unmount()}function k(){var oe,re;(re=(oe=ie.$el)==null?void 0:oe.parentNode)==null||re.removeChild(ie.$el)}function L(){var oe;n.beforeClose&&!n.beforeClose()||(i.value=!0,clearTimeout(t),t=setTimeout(V,400),r.visible=!1,(oe=n.closed)==null||oe.call(n))}function V(){if(!i.value)return;const oe=r.parent;i.value=!1,oe.vLoadingAddClassList=void 0,y()}const j=createApp(defineComponent({name:"ElLoading",setup(oe,{expose:re}){const{ns:ae,zIndex:le}=useGlobalComponentSettings$1("loading");return re({ns:ae,zIndex:le}),()=>{const de=r.spinner||r.svg,ue=h$3("svg",{class:"circular",viewBox:r.svgViewBox?r.svgViewBox:"0 0 50 50",...de?{innerHTML:de}:{}},[h$3("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),he=r.text?h$3("p",{class:ae.b("text")},[r.text]):void 0;return h$3(Transition,{name:ae.b("fade"),onAfterLeave:V},{default:withCtx(()=>[withDirectives(createVNode("div",{style:{backgroundColor:r.background||""},class:[ae.b("mask"),r.customClass,r.fullscreen?"is-fullscreen":""]},[h$3("div",{class:ae.b("spinner")},[ue,he])]),[[vShow,r.visible]])])})}}}));Object.assign(j._context,e!=null?e:{});const ie=j.mount(document.createElement("div"));return{...toRefs(r),setText:g,removeElLoadingChild:k,close:L,handleAfterLeave:V,vm:ie,get $el(){return ie.$el}}}let fullscreenInstance$1;const Loading$1=function(n={}){if(!isClient$1)return;const e=resolveOptions$3(n);if(e.fullscreen&&fullscreenInstance$1)return fullscreenInstance$1;const t=createLoadingComponent$1({...e,closed:()=>{var r;(r=e.closed)==null||r.call(e),e.fullscreen&&(fullscreenInstance$1=void 0)}},Loading$1._context);addStyle$1(e,e.parent,t),addClassList$1(e,e.parent,t),e.parent.vLoadingAddClassList=()=>addClassList$1(e,e.parent,t);let i=e.parent.getAttribute("loading-number");return i?i="".concat(Number.parseInt(i)+1):i="1",e.parent.setAttribute("loading-number",i),e.parent.appendChild(t.$el),nextTick(()=>t.visible.value=e.visible),e.fullscreen&&(fullscreenInstance$1=t),t},resolveOptions$3=n=>{var e,t,i,r;let g;return isString$5(n.target)?g=(e=document.querySelector(n.target))!=null?e:document.body:g=n.target||document.body,{parent:g===document.body||n.body?document.body:g,background:n.background||"",svg:n.svg||"",svgViewBox:n.svgViewBox||"",spinner:n.spinner||!1,text:n.text||"",fullscreen:g===document.body&&((t=n.fullscreen)!=null?t:!0),lock:(i=n.lock)!=null?i:!1,customClass:n.customClass||"",visible:(r=n.visible)!=null?r:!0,beforeClose:n.beforeClose,closed:n.closed,target:g}},addStyle$1=async(n,e,t)=>{const{nextZIndex:i}=t.vm.zIndex||t.vm._.exposed.zIndex,r={};if(n.fullscreen)t.originalPosition.value=getStyle$1(document.body,"position"),t.originalOverflow.value=getStyle$1(document.body,"overflow"),r.zIndex=i();else if(n.parent===document.body){t.originalPosition.value=getStyle$1(document.body,"position"),await nextTick();for(const g of["top","left"]){const y=g==="top"?"scrollTop":"scrollLeft";r[g]="".concat(n.target.getBoundingClientRect()[g]+document.body[y]+document.documentElement[y]-Number.parseInt(getStyle$1(document.body,"margin-".concat(g)),10),"px")}for(const g of["height","width"])r[g]="".concat(n.target.getBoundingClientRect()[g],"px")}else t.originalPosition.value=getStyle$1(e,"position");for(const[g,y]of Object.entries(r))t.$el.style[g]=y},addClassList$1=(n,e,t)=>{const i=t.vm.ns||t.vm._.exposed.ns;["absolute","fixed","sticky"].includes(t.originalPosition.value)?removeClass$2(e,i.bm("parent","relative")):addClass$2(e,i.bm("parent","relative")),n.fullscreen&&n.lock?addClass$2(e,i.bm("parent","hidden")):removeClass$2(e,i.bm("parent","hidden"))};Loading$1._context=null;const INSTANCE_KEY$1=Symbol("ElLoading"),createInstance$1=(n,e)=>{var t,i,r,g;const y=e.instance,k=oe=>isObject$4(e.value)?e.value[oe]:void 0,L=oe=>{const re=isString$5(oe)&&(y==null?void 0:y[oe])||oe;return re&&ref$1(re)},V=oe=>L(k(oe)||n.getAttribute("element-loading-".concat(hyphenate(oe)))),z=(t=k("fullscreen"))!=null?t:e.modifiers.fullscreen,j={text:V("text"),svg:V("svg"),svgViewBox:V("svgViewBox"),spinner:V("spinner"),background:V("background"),customClass:V("customClass"),fullscreen:z,target:(i=k("target"))!=null?i:z?void 0:n,body:(r=k("body"))!=null?r:e.modifiers.body,lock:(g=k("lock"))!=null?g:e.modifiers.lock},ie=Loading$1(j);ie._context=vLoading$1._context,n[INSTANCE_KEY$1]={options:j,instance:ie}},updateOptions$1=(n,e)=>{for(const t of Object.keys(e))isRef(e[t])&&(e[t].value=n[t])},vLoading$1={mounted(n,e){e.value&&createInstance$1(n,e)},updated(n,e){const t=n[INSTANCE_KEY$1];e.oldValue!==e.value&&(e.value&&!e.oldValue?createInstance$1(n,e):e.value&&e.oldValue?isObject$4(e.value)&&updateOptions$1(e.value,t.options):t==null||t.instance.close())},unmounted(n){var e;(e=n[INSTANCE_KEY$1])==null||e.instance.close(),n[INSTANCE_KEY$1]=null}};vLoading$1._context=null;const _hoisted_1$19={key:2},_sfc_main$3g=defineComponent({name:"MFormSelect",__name:"Select",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{expose:e,emit:t}){var ze,qe;const i=n,r=t,g=(ze=getDesignConfig("components"))==null?void 0:ze.option,y=(qe=getDesignConfig("components"))==null?void 0:qe.optionGroup;if(!i.model)throw new Error("不能没有model");useAddField(i.prop);const k=ref$1(),L=inject("mForm"),V=ref$1([]),z=ref$1([]),j=ref$1(!1),ie=ref$1(!1),oe=ref$1(0),re=ref$1(0),ae=ref$1(20),le=ref$1(""),de=ref$1([]),ue=ref$1(!0),he=(Ue,Et)=>{if(typeof Et=="object"){const At=i.config.valueKey||"value";return Et[At]===Ue[At]}return Ue===Et},pe=Ue=>{const{option:Et={text:"text",value:"value"}}=i.config,{text:At="text",value:Lt="value"}=Et;return Ue.map(kt=>({text:typeof At=="function"?At(kt):kt[At],value:typeof Lt=="function"?Lt(kt):kt[Lt]}))},Ce=async()=>{var ai;if(!i.model)return[];if(z.value.length)return z.value;j.value=!0;let Ue=[];const{option:Et}=i.config;if(!Et)return[];const{root:At="",totalKey:Lt="total"}=Et;let{body:kt={},url:ei}=Et;typeof ei=="function"&&(ei=await ei(L,{model:i.model,formValue:L==null?void 0:L.values}));let jt={method:Et.method||"POST",url:ei,cache:Et.cache,timeout:Et.timeout,mode:Et.mode,headers:Et.headers||{},json:Et.json||!1};typeof kt=="function"&&(kt=kt(L,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config})),kt.query=le.value,kt.pgSize=ae.value,kt.pgIndex=re.value,jt.data=kt;const ri=getConfig("request");typeof Et.beforeRequest=="function"&&(jt=await Et.beforeRequest(L,jt,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,prop:i.prop,config:i.config})),((ai=Et.method)==null?void 0:ai.toLocaleLowerCase())==="jsonp"&&(jt.jsonpCallback=Et.jsonpCallback||"callback");let ni=await ri(jt);typeof Et.afterRequest=="function"&&(ni=await Et.afterRequest(L,ni,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop,postOptions:jt}));const Ci=getValueByKeyPath(At,ni),wi=globalThis.parseInt(getValueByKeyPath(Lt,ni),10);wi>0&&(oe.value=wi),de.value=de.value.concat(Ci),Ci&&(typeof Et.item=="function"?Ue=Et.item(Ci):Ci.map&&(Ue=pe(Ci))),j.value=!1;const Ri=[];return i.config.multiple&&i.model[i.name]&&V.value.forEach(hi=>{var Oi;((Oi=i.model)==null?void 0:Oi[i.name].includes(hi.value))&&!Ue.find(Ei=>Ei.value===hi.value)&&Ri.push(hi)}),re.value===0?Ri.concat(Ue):V.value.concat(Ue)},$e=async()=>{if(!i.model)return[];const Ue=i.model[i.name],{config:Et}=i;return z.value=await Ce(),ue.value=!1,Et.group?Et.multiple&&Ue.findIndex?z.value.filter(At=>At.options.findIndex(Lt=>Ue.find(kt=>he(Lt.value,kt))>-1)>-1):z.value.filter(At=>At.options.findIndex(Lt=>he(Lt.value,Ue))>-1):Et.multiple&&Ue.findIndex?z.value.filter(At=>Ue.findIndex(Lt=>he(At.value,Lt))>-1):z.value.filter(At=>he(At.value,Ue))},xe=async()=>{var wi;if(!i.model)return[];const{option:Ue}=i.config;if(!Ue)return[];const{root:Et="",initRoot:At=""}=Ue;let{initBody:Lt={}}=Ue,kt=[],ei=Ue.initUrl;if(!ei)return $e();typeof ei=="function"&&(ei=await ei(L,{model:i.model,formValue:L==null?void 0:L.values})),typeof Lt=="function"&&(Lt=Lt(L,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config}));let jt={method:Ue.method||"POST",url:ei,data:{id:i.model[i.name],...Lt},mode:Ue.mode,headers:Ue.headers||{},json:Ue.json||!1};typeof Ue.beforeInitRequest=="function"&&(jt=await Ue.beforeInitRequest(L,jt,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop})),((wi=Ue.method)==null?void 0:wi.toLocaleLowerCase())==="jsonp"&&(jt.jsonpCallback=Ue.jsonpCallback||"callback");let ni=await getConfig("request")(jt);typeof Ue.afterRequest=="function"&&(ni=await Ue.afterRequest(L,ni,{model:i.model,formValue:L==null?void 0:L.values,formValues:L==null?void 0:L.values,config:i.config,prop:i.prop,postOptions:jt}));let Ci=getValueByKeyPath(At||Et,ni);return Ci&&(Array.isArray(Ci)||(Ci=[Ci]),typeof Ue.item=="function"?kt=Ue.item(Ci):Ci.map&&(kt=pe(Ci))),kt},Ie=Ue=>{V.value=Ue};if(typeof i.config.options=="function"?watchEffect(()=>{typeof i.config.options=="function"&&Promise.resolve(i.config.options(L,{model:i.model,prop:i.prop,formValues:L==null?void 0:L.values,formValue:L==null?void 0:L.values,config:i.config})).then(Ue=>{Ie(Ue)})}):Array.isArray(i.config.options)?watchEffect(()=>{Ie(i.config.options)}):i.config.option&&onBeforeMount(()=>{if(!i.model)return;const Ue=i.model[i.name];(Array.isArray(Ue)?Ue.length:typeof Ue<"u")&&xe().then(Et=>{Ie(Et)})}),i.config.remote){const Ue=watch(()=>{var Et;return(Et=k.value)==null?void 0:Et.scrollbarWrap},Et=>{Et&&(nextTick(()=>Ue()),Et.addEventListener("scroll",async At=>{const Lt=At.currentTarget;ie.value||Lt.scrollHeight-Lt.clientHeight-Lt.scrollTop>1||oe.value<=V.value.length||(ie.value=!0,re.value+=1,Ie(await Ce()),ie.value=!1)}))},{immediate:!0})}const Ne=L==null?void 0:L.popperClass,Fe=Ue=>{r("change",Ue)},Ve=async Ue=>{var Et;Ue&&i.config.remote&&(le.value&&k.value?(k.value.setQuery(le.value),k.value.setPreviousQuery(le.value),k.value.setSelectedLabel(le.value)):V.value.length<=(i.config.multiple?(Et=i.model)==null?void 0:Et[i.name].length:1)&&Ie(await Ce()))},Oe=async Ue=>{z.value.length||(le.value=Ue,re.value=0,Ie(await Ce()),i.config.multiple&&setTimeout(()=>{var Et;(Et=k.value)==null||Et.setSelected()},0))};return e({options:V,setOptions:Ie}),(Ue,Et)=>{const At=vLoading$1;return Ue.model?withDirectives((openBlock(),createBlock(unref(_sfc_main$3$),{key:0,modelValue:Ue.model[Ue.name],"onUpdate:modelValue":Et[0]||(Et[0]=Lt=>Ue.model[Ue.name]=Lt),class:"m-select",ref_key:"tMagicSelect",ref:k,clearable:typeof Ue.config.clearable<"u"?Ue.config.clearable:!0,filterable:typeof Ue.config.filterable<"u"?Ue.config.filterable:!0,"popper-class":"m-select-popper ".concat(unref(Ne)),size:Ue.size,remote:ue.value,placeholder:Ue.config.placeholder,multiple:Ue.config.multiple,"value-key":Ue.config.valueKey||"value","allow-create":Ue.config.allowCreate,disabled:Ue.disabled,"remote-method":Ue.config.remote&&Oe,onChange:Fe,onVisibleChange:Ve},{default:withCtx(()=>[Ue.config.group?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(V.value,(Lt,kt)=>{var ei,jt;return openBlock(),createBlock(resolveDynamicComponent(((ei=unref(y))==null?void 0:ei.component)||"el-option-group"),mergeProps({key:kt},{ref_for:!0},((jt=unref(y))==null?void 0:jt.props({label:Lt.label,disabled:Lt.disabled}))||{label:Lt.label,disabled:Lt.disabled}),{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(Lt.options,(ri,ni)=>{var Ci,wi;return openBlock(),createBlock(resolveDynamicComponent(((Ci=unref(g))==null?void 0:Ci.component)||"el-option"),mergeProps({key:ni},{ref_for:!0},((wi=unref(g))==null?void 0:wi.props({label:ri.label||ri.text,value:ri.value,disabled:ri.disabled}))||{label:ri.label||ri.text,value:ri.value,disabled:ri.disabled}),null,16)}),128))]),_:2},1040)}),128)):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(V.value,Lt=>{var kt,ei;return openBlock(),createBlock(resolveDynamicComponent(((kt=unref(g))==null?void 0:kt.component)||"el-option"),mergeProps({class:"tmagic-design-option",key:Ue.config.valueKey?Lt.value[Ue.config.valueKey]:Lt.value},{ref_for:!0},((ei=unref(g))==null?void 0:ei.props({label:Lt.text,value:Lt.value,disabled:Lt.disabled}))||{label:Lt.text,value:Lt.value,disabled:Lt.disabled}),null,16)}),128)),ie.value?withDirectives((openBlock(),createElementBlock("div",_hoisted_1$19,null,512)),[[At,!0]]):createCommentVNode("",!0)]),_:1},8,["modelValue","clearable","filterable","popper-class","size","remote","placeholder","multiple","value-key","allow-create","disabled","remote-method"])),[[At,j.value]]):createCommentVNode("",!0)}}}),_sfc_main$3f=defineComponent({name:"MFormSwitch",__name:"Switch",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=k=>{i("change",k)},g=computed$1(()=>{if(typeof t.config.activeValue>"u"){if(t.config.filter==="number")return 1}else return t.config.activeValue;return!0}),y=computed$1(()=>{if(typeof t.config.inactiveValue>"u"){if(t.config.filter==="number")return 0}else return t.config.inactiveValue;return!1});return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$3Y),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),size:k.size,activeValue:g.value,inactiveValue:y.value,disabled:k.disabled,onChange:r},null,8,["modelValue","size","activeValue","inactiveValue","disabled"]))}}),_hoisted_1$18={style:{width:"100%"}},_hoisted_2$s={style:{display:"flex","justify-content":"flex-end"}},_sfc_main$3e=defineComponent({name:"MFormText",__name:"Text",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=inject("mForm"),g=computed$1(()=>typeof t.config.append=="string"?{text:t.config.append,type:"button",handler:void 0}:t.config.append&&typeof t.config.append=="object"?t.config.append.value===0?!1:t.config.append:!1),y=ref$1(!1),k=()=>{i("change",t.model[t.name].trim()||""),y.value=!1},L=debounce(de=>{typeof de=="string"&&!t.config.trim&&(y.value=de.trim()!==de)},300),V=de=>{i("change",de)},z=de=>{L(de),i("input",de),r==null||r.$emit("field-input",t.prop,de)},j=()=>{g.value&&typeof g.value.handler=="function"&&g.value.handler(r,{model:t.model,values:r==null?void 0:r.values})},ie=de=>{if(!t.model||!t.name)return;const ue=de.key==="ArrowUp",he=de.key==="ArrowDown";if(!ue&&!he)return;const pe=t.model[t.name];let Ce,$e;if(isNumber$6(pe)?Ce=+pe:pe.replace(/^([0-9.]+)([a-z%]+)$/,(Fe,Ve,Oe)=>{Ce=+Ve,$e=Oe}),Ce===void 0)return;const xe=navigator.platform.match("Mac")?de.metaKey:de.ctrlKey,Ie=de.shiftKey,Ne=de.altKey;ue?xe?Ce+=100:Ne?Ce=(Ce*1e4+1e3)/1e4:Ie?Ce=Ce+10:Ce+=1:he&&(xe?Ce-=100:Ne?Ce=(Ce*1e4-1e3)/1e4:Ie?Ce-=10:Ce-=1),t.model[t.name]="".concat(Ce).concat($e||""),i("change",t.model[t.name])},oe=ref$1(),re=ref$1(),ae=shallowRef();watch(oe,de=>{var ue;le(),!(!((ue=re.value)!=null&&ue.$el)||!de)&&(ae.value=createPopper(re.value.$el,de,{placement:t.config.tooltip?"top":"bottom",strategy:"absolute",modifiers:[{name:"offset",options:{offset:[0,10]}}]}))});const le=()=>{ae.value&&(ae.value.destroy(),ae.value=void 0)};return(de,ue)=>(openBlock(),createElementBlock("div",_hoisted_1$18,[createVNode(unref(_sfc_main$48),{modelValue:de.model[de.name],"onUpdate:modelValue":ue[0]||(ue[0]=he=>de.model[de.name]=he),ref_key:"input",ref:re,clearable:"",size:de.size,placeholder:de.config.placeholder,disabled:de.disabled,onChange:V,onInput:z,onKeyup:ue[1]||(ue[1]=he=>ie(he))},createSlots({_:2},[g.value?{name:"append",fn:withCtx(()=>[g.value.type==="button"?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,style:{color:"#409eff"},size:de.size,onClick:withModifiers(j,["prevent"])},{default:withCtx(()=>[createTextVNode(toDisplayString(g.value.text),1)]),_:1},8,["size"])):createCommentVNode("",!0)]),key:"0"}:void 0]),1032,["modelValue","size","placeholder","disabled"]),(openBlock(),createBlock(Teleport$2,{to:"body"},[y.value?(openBlock(),createElementBlock("div",{key:0,class:"tmagic-form-text-popper m-form-item__content",ref_key:"popoverEl",ref:oe},[ue[5]||(ue[5]=createBaseVNode("div",{class:"m-form-validate__warning"},"输入内容前后有空格,是否移除空格?",-1)),createBaseVNode("div",_hoisted_2$s,[createVNode(unref(_sfc_main$4q),{link:"",size:"small",onClick:ue[2]||(ue[2]=he=>y.value=!1)},{default:withCtx(()=>ue[3]||(ue[3]=[createTextVNode("保持原样")])),_:1,__:[3]}),createVNode(unref(_sfc_main$4q),{type:"primary",size:"small",onClick:k},{default:withCtx(()=>ue[4]||(ue[4]=[createTextVNode("移除空格")])),_:1,__:[4]})]),ue[6]||(ue[6]=createBaseVNode("span",{class:"tmagic-form-text-popper-arrow","data-popper-arrow":""},null,-1))],512)):createCommentVNode("",!0)]))]))}}),_sfc_main$3d=defineComponent({name:"MFormTextarea",__name:"Textarea",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change","input"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=inject("mForm"),g=k=>{i("change",k)},y=k=>{i("input",k),r==null||r.$emit("field-input",t.prop,k)};return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$48),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),type:"textarea",size:k.size,clearable:"",placeholder:k.config.placeholder,disabled:k.disabled,onChange:g,onInput:y},null,8,["modelValue","size","placeholder","disabled"]))}}),_sfc_main$3c=defineComponent({name:"MFormTime",__name:"Time",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const r=g=>{i("change",g)};return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$3S),{modelValue:g.model[g.name],"onUpdate:modelValue":y[0]||(y[0]=k=>g.model[g.name]=k),"value-format":g.config.valueFormat||"HH:mm:ss",format:g.config.format||"HH:mm:ss",size:g.size,placeholder:g.config.placeholder,disabled:g.disabled,onChange:r},null,8,["modelValue","value-format","format","size","placeholder","disabled"]))}}),_sfc_main$3b=defineComponent({name:"MFormTimeRange",__name:"Timerange",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e;useAddField(t.prop);const{names:r}=t.config,g=ref$1([]);t.model!==void 0&&(r!=null&&r.length)&&watch([()=>t.model[r[0]],()=>t.model[r[1]]],([L,V],[z,j])=>{g.value||(g.value=[]),(!L||!V)&&(g.value=[]),L!==z&&(g.value[0]=L),V!==j&&(g.value[1]=V)},{immediate:!0});const y=L=>{r==null||r.forEach((V,z)=>{t.model&&(Array.isArray(L)?t.model[V]=L[z]:t.model[V]=void 0)})},k=L=>{const V=L||[];r!=null&&r.length&&y(V),i("change",V)};return(L,V)=>(openBlock(),createBlock(unref(_sfc_main$3S),{modelValue:g.value,"onUpdate:modelValue":V[0]||(V[0]=z=>g.value=z),"is-range":"","range-separator":"-","start-placeholder":"开始时间","end-placeholder":"结束时间",size:L.size,"unlink-panels":!0,disabled:L.disabled,"default-time":L.config.defaultTime,onChange:k},null,8,["modelValue","size","disabled","default-time"]))}}),defineFormConfig=n=>n,footerHeight=60,_sfc_main$3a=defineComponent({name:"MFormBox",__name:"FormBox",props:{config:{default:()=>[]},values:{default:()=>({})},parentValues:{},width:{},height:{},labelWidth:{},disabled:{type:Boolean},size:{},confirmText:{default:"确定"},inline:{type:Boolean},labelPosition:{},preventSubmitDefault:{type:Boolean}},emits:["change","submit","error"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=computed$1(()=>{const oe={};return typeof i.width=="number"&&(oe.width="".concat(i.width,"px")),typeof i.height=="number"&&(oe.height="".concat(i.height,"px")),oe}),y=ref$1(),k=ref$1(!1),L=ref$1(0);watchEffect(()=>{i.height&&(L.value=i.height-footerHeight)});const V=async()=>{var oe,re;try{const ae=await((oe=y.value)==null?void 0:oe.submitForm());r("submit",ae,{changeRecords:(re=y.value)==null?void 0:re.changeRecords})}catch(ae){r("error",ae)}},z=(oe,re)=>{r("change",oe,re)};return e({form:y,saveFetch:k,show:()=>{},hide:()=>{}}),(oe,re)=>(openBlock(),createElementBlock("div",{class:"m-form-box",style:normalizeStyle(g.value)},[createBaseVNode("div",{class:"m-box-body",style:normalizeStyle(L.value?{height:"".concat(L.value,"px")}:{})},[createVNode(unref(_sfc_main$40),null,{default:withCtx(()=>[createVNode(_sfc_main$3v,{ref_key:"form",ref:y,size:oe.size,disabled:oe.disabled,config:oe.config,"init-values":oe.values,"parent-values":oe.parentValues,"label-width":oe.labelWidth,"label-position":oe.labelPosition,inline:oe.inline,"prevent-submit-default":oe.preventSubmitDefault,onChange:z},null,8,["size","disabled","config","init-values","parent-values","label-width","label-position","inline","prevent-submit-default"]),renderSlot(oe.$slots,"default")]),_:3})],4),createBaseVNode("div",{class:"dialog-footer",style:normalizeStyle("height: ".concat(footerHeight,"px"))},[createBaseVNode("div",null,[renderSlot(oe.$slots,"left")]),createBaseVNode("div",null,[renderSlot(oe.$slots,"footer",{},()=>[createVNode(unref(_sfc_main$4q),{type:"primary",size:oe.size,disabled:oe.disabled,loading:k.value,onClick:V},{default:withCtx(()=>[createTextVNode(toDisplayString(oe.confirmText),1)]),_:1},8,["size","disabled","loading"])])])],4)],4))}}),createForm=n=>n,defaultInstallOpt$1={},formPlugin={install(n,e={}){const t=Object.assign(defaultInstallOpt$1,e);n.config.globalProperties.$MAGIC_FORM=t,setConfig(t),n.component("m-form",_sfc_main$3v),n.component("m-form-dialog",_sfc_main$3u),n.component("m-form-container",_sfc_main$3P),n.component("m-form-fieldset",_sfc_main$3O),n.component("m-form-group-list",_sfc_main$3M),n.component("m-form-panel",_sfc_main$3L),n.component("m-form-row",_sfc_main$3J),n.component("m-form-step",_sfc_main$3I),n.component("m-form-table",_sfc_main$3H),n.component("m-form-tab",_sfc_main$3G),n.component("m-fields-text",_sfc_main$3e),n.component("m-fields-img-upload",_sfc_main$3e),n.component("m-fields-number",_sfc_main$3s),n.component("m-fields-number-range",_sfc_main$3r),n.component("m-fields-textarea",_sfc_main$3d),n.component("m-fields-hidden",_sfc_main$3w),n.component("m-fields-date",_sfc_main$3B),n.component("m-fields-datetime",_sfc_main$3z),n.component("m-fields-daterange",_sfc_main$3A),n.component("m-fields-timerange",_sfc_main$3b),n.component("m-fields-time",_sfc_main$3c),n.component("m-fields-checkbox",_sfc_main$3E),n.component("m-fields-switch",_sfc_main$3f),n.component("m-fields-color-picker",_sfc_main$3C),n.component("m-fields-checkbox-group",_sfc_main$3D),n.component("m-fields-radio-group",_sfc_main$3q),n.component("m-fields-display",_sfc_main$3y),n.component("m-fields-link",_sfc_main$3t),n.component("m-fields-select",_sfc_main$3g),n.component("m-fields-cascader",_sfc_main$3F),n.component("m-fields-dynamic-field",_sfc_main$3x)}},_hoisted_1$17=["innerHTML"],_sfc_main$39=defineComponent({name:"MTableActionsColumn",__name:"ActionsColumn",props:{columns:{default:()=>[]},config:{default:()=>({})},rowkeyName:{default:"c_id"},editState:{default:()=>[]}},emits:["after-action"],setup(n,{emit:e}){const t=n,i=e,r=(L,V)=>typeof L=="function"?L(V):!0,g=(L,V)=>typeof L=="function"?L(V):L,y=async(L,V,z)=>{var j,ie,oe;await((j=L.before)==null?void 0:j.call(L,V,z)),L.type==="edit"?t.editState[z]=V:await((ie=L.handler)==null?void 0:ie.call(L,V,z)),(oe=L.after)==null||oe.call(L,V,z)},k=async(L,V)=>{var re,ae;const z=(ae=(re=V.actions)==null?void 0:re.find(le=>le.type==="edit"))==null?void 0:ae.action;if(!z)return;const j={},ie=t.editState[L];t.columns.filter(le=>le.type).forEach(le=>{j[le.prop]=ie[le.prop]});const oe=await z({data:j});oe?oe.ret===0?(tMagicMessage.success("保存成功"),t.editState[L]=void 0,i("after-action")):tMagicMessage.error(oe.msg||"保存失败"):(t.editState[L]=void 0,i("after-action"))};return(L,V)=>(openBlock(),createBlock(unref(_sfc_main$3W),{label:L.config.label,width:L.config.width,fixed:L.config.fixed},{default:withCtx(z=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(L.config.actions,(j,ie)=>(openBlock(),createBlock(unref(_sfc_main$3R),{placement:j.tooltipPlacement||"top",key:ie,disabled:!j.tooltip,content:j.tooltip},{default:withCtx(()=>[withDirectives(createVNode(unref(_sfc_main$4q),{class:"action-btn",link:"",size:"small",type:j.buttonType||"primary",icon:j.icon,onClick:oe=>y(j,z.row,z.$index)},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:g(j.text,z.row)},null,8,_hoisted_1$17)]),_:2},1032,["type","icon","onClick"]),[[vShow,r(j.display,z.row)&&!L.editState[z.$index]]])]),_:2},1032,["placement","disabled","content"]))),128)),withDirectives(createVNode(unref(_sfc_main$4q),{class:"action-btn",link:"",type:"primary",size:"small",onClick:j=>k(z.$index,L.config)},{default:withCtx(()=>V[0]||(V[0]=[createTextVNode("保存")])),_:2,__:[0]},1032,["onClick"]),[[vShow,L.editState[z.$index]]]),withDirectives(createVNode(unref(_sfc_main$4q),{class:"action-btn",link:"",type:"primary",size:"small",onClick:j=>L.editState[z.$index]=void 0},{default:withCtx(()=>V[1]||(V[1]=[createTextVNode("取消")])),_:2,__:[1]},1032,["onClick"]),[[vShow,L.editState[z.$index]]])]),_:1},8,["label","width","fixed"]))}}),_sfc_main$38=defineComponent({name:"MTableColumn",__name:"ComponentColumn",props:{config:{default:()=>({})}},setup(n){const e=n,t=(r,g)=>typeof e.config.props=="function"?e.config.props(r,g)||{}:e.config.props||{},i=(r,g)=>typeof e.config.listeners=="function"?e.config.listeners(r,g)||{}:e.config.listeners||{};return(r,g)=>(openBlock(),createBlock(unref(_sfc_main$3W),{"show-overflow-tooltip":"",label:r.config.label,width:r.config.width,fixed:r.config.fixed,sortable:r.config.sortable,prop:r.config.prop},{default:withCtx(y=>[(openBlock(),createBlock(resolveDynamicComponent(r.config.component),mergeProps(t(y.row,y.$index),toHandlers(i(y.row,y.$index))),null,16))]),_:1},8,["label","width","fixed","sortable","prop"]))}}),_hoisted_1$16=["innerHTML"],_sfc_main$37=defineComponent({name:"MTableExpandColumn",__name:"ExpandColumn",props:{config:{default:()=>({})}},setup(n){const e=n,t=i=>typeof e.config.props=="function"?e.config.props(i)||{}:e.config.props||{};return(i,r)=>(openBlock(),createBlock(unref(_sfc_main$3W),{type:"expand",width:i.config.width,fixed:i.config.fixed},{default:withCtx(g=>[i.config.table?(openBlock(),createBlock(_sfc_main$34,{key:0,"show-header":!1,columns:i.config.table,data:i.config.prop&&g.row[i.config.prop]||[]},null,8,["columns","data"])):createCommentVNode("",!0),i.config.form?(openBlock(),createBlock(unref(_sfc_main$3v),{key:1,config:i.config.form,"init-values":i.config.values||i.config.prop&&g.row[i.config.prop]||{}},null,8,["config","init-values"])):createCommentVNode("",!0),i.config.expandContent?(openBlock(),createElementBlock("div",{key:2,innerHTML:i.config.expandContent(g.row,i.config.prop)},null,8,_hoisted_1$16)):createCommentVNode("",!0),i.config.component?(openBlock(),createBlock(resolveDynamicComponent(i.config.component),normalizeProps(mergeProps({key:3},t(g.row))),null,16)):createCommentVNode("",!0)]),_:1},8,["width","fixed"]))}}),formatter$1=(n,e,t)=>{if(!n.prop)return"";if(n.formatter){n.formatter==="datetime"&&(n.formatter=i=>datetimeFormatter(i));try{return n.formatter(e[n.prop],e,t)}catch(i){return console.error("Formatter error:",i),e[n.prop]}}else return e[n.prop]},_sfc_main$36=defineComponent({name:"MTablePopoverColumn",__name:"PopoverColumn",props:{config:{default:()=>({})}},setup(n){return(e,t)=>(openBlock(),createBlock(unref(_sfc_main$3W),{label:e.config.label,width:e.config.width,fixed:e.config.fixed},{default:withCtx(i=>{var r;return[e.config.popover?(openBlock(),createBlock(unref(_sfc_main$45),{key:0,placement:e.config.popover.placement,width:e.config.popover.width,trigger:e.config.popover.trigger,"destroy-on-close":(r=e.config.popover.destroyOnClose)!=null?r:!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$4q),{link:"",type:"primary"},{default:withCtx(()=>[createTextVNode(toDisplayString(e.config.text||unref(formatter$1)(e.config,i.row,{index:i.$index})),1)]),_:2},1024)]),default:withCtx(()=>[e.config.popover.tableEmbed?(openBlock(),createBlock(_sfc_main$34,{key:0,"show-header":e.config.showHeader,columns:e.config.table,data:e.config.prop&&i.row[e.config.prop]||[]},null,8,["show-header","columns","data"])):createCommentVNode("",!0)]),_:2},1032,["placement","width","trigger","destroy-on-close"])):createCommentVNode("",!0)]}),_:1},8,["label","width","fixed"]))}}),_hoisted_1$15={key:0},_hoisted_2$r=["innerHTML"],_hoisted_3$9=["href"],_hoisted_4$7=["src"],_hoisted_5$2=["href"],_hoisted_6$2=["innerHTML"],_sfc_main$35=defineComponent({name:"MTableColumn",__name:"TextColumn",props:{config:{default:()=>({})},editState:{default:()=>({})}},setup(n){return(e,t)=>{const i=resolveComponent("m-form-container"),r=ElTooltip$1;return openBlock(),createBlock(unref(_sfc_main$3W),{"show-overflow-tooltip":"",label:e.config.label,width:e.config.width,fixed:e.config.fixed,sortable:e.config.sortable,prop:e.config.prop},{default:withCtx(g=>[e.config.type==="index"?(openBlock(),createElementBlock("div",_hoisted_1$15,toDisplayString(e.config.pageIndex&&e.config.pageSize?e.config.pageIndex*e.config.pageSize+g.$index+1:g.$index+1),1)):e.config.type&&e.editState[g.$index]?(openBlock(),createBlock(unref(_sfc_main$4b),{key:1,"label-width":"0",model:e.editState[g.$index]},{default:withCtx(()=>[createVNode(i,{prop:e.config.prop,rules:e.config.rules,config:e.config,name:e.config.prop,model:e.editState[g.$index]},null,8,["prop","rules","config","name","model"])]),_:2},1032,["model"])):e.config.action==="actionLink"&&e.config.prop?(openBlock(),createBlock(unref(_sfc_main$4q),{key:2,link:"",type:"primary",onClick:y=>{var k,L;return(L=(k=e.config).handler)==null?void 0:L.call(k,g.row)}},{default:withCtx(()=>[createBaseVNode("span",{innerHTML:unref(formatter$1)(e.config,g.row,{index:g.$index})},null,8,_hoisted_2$r)]),_:2},1032,["onClick"])):e.config.action==="img"&&e.config.prop?(openBlock(),createElementBlock("a",{key:3,target:"_blank",href:g.row[e.config.prop]},[createBaseVNode("img",{src:g.row[e.config.prop],height:"50"},null,8,_hoisted_4$7)],8,_hoisted_3$9)):e.config.action==="link"&&e.config.prop?(openBlock(),createElementBlock("a",{key:4,target:"_blank",href:g.row[e.config.prop],class:"keep-all"},toDisplayString(g.row[e.config.prop]),9,_hoisted_5$2)):e.config.action==="tip"?(openBlock(),createBlock(r,{key:5,placement:"left"},{content:withCtx(()=>[createBaseVNode("div",null,toDisplayString(unref(formatter$1)(e.config,g.row,{index:g.$index})),1)]),default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{link:"",type:"primary"},{default:withCtx(()=>[createTextVNode(toDisplayString(e.config.buttonText||"扩展配置"),1)]),_:1})]),_:2},1024)):e.config.action==="tag"&&e.config.prop?(openBlock(),createBlock(unref(_sfc_main$3T),{key:6,type:typeof e.config.type=="function"?e.config.type(g.row[e.config.prop],g.row):e.config.type,"close-transition":""},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(formatter$1)(e.config,g.row,{index:g.$index})),1)]),_:2},1032,["type"])):(openBlock(),createElementBlock("div",{key:7,innerHTML:unref(formatter$1)(e.config,g.row,{index:g.$index})},null,8,_hoisted_6$2))]),_:1},8,["label","width","fixed","sortable","prop"])}}}),_sfc_main$34=defineComponent({name:"MTable",__name:"Table",props:{data:{},columns:{default:()=>[]},spanMethod:{},loading:{type:Boolean,default:!1},bodyHeight:{},showHeader:{type:Boolean,default:!0},emptyText:{},defaultExpandAll:{type:Boolean,default:!1},rowkeyName:{},border:{type:Boolean,default:!1}},emits:["sort-change","after-action","select","select-all","selection-change","expand-change","cell-click"],setup(n,{expose:e,emit:t}){var Ce;const i=n,r=t,g=ref$1(),y=ref$1([]),k=(Ce=getDesignConfig("components"))==null?void 0:Ce.tableColumn,L=computed$1(()=>{const $e=i.columns.filter(xe=>xe.selection);return $e.length?$e[0]:null}),V=computed$1(()=>L.value?i.data||[]:cloneDeep(i.data)||[]),z=computed$1(()=>typeof i.border<"u"?i.border:!0),j=$e=>{r("sort-change",$e)},ie=($e,xe)=>{const Ie=L.value;Ie&&(Ie.selection,r("select",$e,xe))},oe=$e=>{r("select-all",$e)},re=$e=>{r("selection-change",$e)},ae=(...$e)=>{r("cell-click",...$e)},le=(...$e)=>{r("expand-change",...$e)},de=($e,xe)=>{var Ie;(Ie=g.value)==null||Ie.toggleRowSelection($e,xe)},ue=($e,xe)=>{var Ie;(Ie=g.value)==null||Ie.toggleRowExpansion($e,xe)},he=()=>{var $e;($e=g.value)==null||$e.clearSelection()},pe=$e=>typeof i.spanMethod=="function"?i.spanMethod($e):()=>({rowspan:0,colspan:0});return e({toggleRowSelection:de,toggleRowExpansion:ue,clearSelection:he}),($e,xe)=>{const Ie=vLoading$1;return withDirectives((openBlock(),createBlock(unref(_sfc_main$3X),{"tooltip-effect":"dark","tooltip-options":{popperOptions:{strategy:"absolute"}},class:"m-table",ref_key:"tMagicTable",ref:g,data:V.value,"show-header":$e.showHeader,"max-height":$e.bodyHeight,"default-expand-all":$e.defaultExpandAll,border:z.value,"row-key":$e.rowkeyName||"id","tree-props":{children:"children"},"empty-text":$e.emptyText||"暂无数据","span-method":pe,onSortChange:j,onSelect:ie,onSelectAll:oe,onSelectionChange:re,onCellClick:ae,onExpandChange:le},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList($e.columns,(Ne,Fe)=>{var Ve;return openBlock(),createElementBlock(Fragment,null,[Ne.type==="expand"?(openBlock(),createBlock(_sfc_main$37,{config:Ne,key:Fe},null,8,["config"])):Ne.type==="component"?(openBlock(),createBlock(_sfc_main$38,{config:Ne,key:Fe},null,8,["config"])):Ne.selection?(openBlock(),createBlock(resolveDynamicComponent(((Ve=unref(k))==null?void 0:Ve.component)||"el-table-column"),{width:"40",type:"selection",key:Fe,selectable:Ne.selectable},null,8,["selectable"])):Ne.actions?(openBlock(),createBlock(_sfc_main$39,{columns:$e.columns,config:Ne,"rowkey-name":$e.rowkeyName,"edit-state":y.value,key:Fe,onAfterAction:xe[0]||(xe[0]=Oe=>$e.$emit("after-action"))},null,8,["columns","config","rowkey-name","edit-state"])):Ne.type==="popover"?(openBlock(),createBlock(_sfc_main$36,{key:Fe,config:Ne},null,8,["config"])):(openBlock(),createBlock(_sfc_main$35,{key:Fe,config:Ne,"edit-state":y.value},null,8,["config","edit-state"]))],64)}),256))]),_:1},8,["data","show-header","max-height","default-expand-all","border","row-key","empty-text"])),[[Ie,$e.loading]])}}}),tablePlugin={install(n){n.component("m-table",_sfc_main$34)}};var browser={exports:{}},safeBuffer={exports:{}},buffer={},base64Js={},hasRequiredBase64Js;function requireBase64Js(){if(hasRequiredBase64Js)return base64Js;hasRequiredBase64Js=1,base64Js.byteLength=k,base64Js.toByteArray=V,base64Js.fromByteArray=ie;for(var n=[],e=[],t=typeof Uint8Array<"u"?Uint8Array:Array,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r=0,g=i.length;r0)throw new Error("Invalid string. Length must be a multiple of 4");var ae=oe.indexOf("=");ae===-1&&(ae=re);var le=ae===re?0:4-ae%4;return[ae,le]}function k(oe){var re=y(oe),ae=re[0],le=re[1];return(ae+le)*3/4-le}function L(oe,re,ae){return(re+ae)*3/4-ae}function V(oe){var re,ae=y(oe),le=ae[0],de=ae[1],ue=new t(L(oe,le,de)),he=0,pe=de>0?le-4:le,Ce;for(Ce=0;Ce>16&255,ue[he++]=re>>8&255,ue[he++]=re&255;return de===2&&(re=e[oe.charCodeAt(Ce)]<<2|e[oe.charCodeAt(Ce+1)]>>4,ue[he++]=re&255),de===1&&(re=e[oe.charCodeAt(Ce)]<<10|e[oe.charCodeAt(Ce+1)]<<4|e[oe.charCodeAt(Ce+2)]>>2,ue[he++]=re>>8&255,ue[he++]=re&255),ue}function z(oe){return n[oe>>18&63]+n[oe>>12&63]+n[oe>>6&63]+n[oe&63]}function j(oe,re,ae){for(var le,de=[],ue=re;uepe?pe:he+ue));return le===1?(re=oe[ae-1],de.push(n[re>>2]+n[re<<4&63]+"==")):le===2&&(re=(oe[ae-2]<<8)+oe[ae-1],de.push(n[re>>10]+n[re>>4&63]+n[re<<2&63]+"=")),de.join("")}return base64Js}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */var hasRequiredIeee754;function requireIeee754(){return hasRequiredIeee754||(hasRequiredIeee754=1,ieee754.read=function(n,e,t,i,r){var g,y,k=r*8-i-1,L=(1<>1,z=-7,j=t?r-1:0,ie=t?-1:1,oe=n[e+j];for(j+=ie,g=oe&(1<<-z)-1,oe>>=-z,z+=k;z>0;g=g*256+n[e+j],j+=ie,z-=8);for(y=g&(1<<-z)-1,g>>=-z,z+=i;z>0;y=y*256+n[e+j],j+=ie,z-=8);if(g===0)g=1-V;else{if(g===L)return y?NaN:(oe?-1:1)*(1/0);y=y+Math.pow(2,i),g=g-V}return(oe?-1:1)*y*Math.pow(2,g-i)},ieee754.write=function(n,e,t,i,r,g){var y,k,L,V=g*8-r-1,z=(1<>1,ie=r===23?Math.pow(2,-24)-Math.pow(2,-77):0,oe=i?0:g-1,re=i?1:-1,ae=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(k=isNaN(e)?1:0,y=z):(y=Math.floor(Math.log(e)/Math.LN2),e*(L=Math.pow(2,-y))<1&&(y--,L*=2),y+j>=1?e+=ie/L:e+=ie*Math.pow(2,1-j),e*L>=2&&(y++,L/=2),y+j>=z?(k=0,y=z):y+j>=1?(k=(e*L-1)*Math.pow(2,r),y=y+j):(k=e*Math.pow(2,j-1)*Math.pow(2,r),y=0));r>=8;n[t+oe]=k&255,oe+=re,k/=256,r-=8);for(y=y<0;n[t+oe]=y&255,oe+=re,y/=256,V-=8);n[t+oe-re]|=ae*128}),ieee754}/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT */var hasRequiredBuffer;function requireBuffer(){return hasRequiredBuffer||(hasRequiredBuffer=1,function(n){const e=requireBase64Js(),t=requireIeee754(),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;n.Buffer=k,n.SlowBuffer=ue,n.INSPECT_MAX_BYTES=50;const r=2147483647;n.kMaxLength=r,k.TYPED_ARRAY_SUPPORT=g(),!k.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function g(){try{const ti=new Uint8Array(1),Dt={foo:function(){return 42}};return Object.setPrototypeOf(Dt,Uint8Array.prototype),Object.setPrototypeOf(ti,Dt),ti.foo()===42}catch(ti){return!1}}Object.defineProperty(k.prototype,"parent",{enumerable:!0,get:function(){if(k.isBuffer(this))return this.buffer}}),Object.defineProperty(k.prototype,"offset",{enumerable:!0,get:function(){if(k.isBuffer(this))return this.byteOffset}});function y(ti){if(ti>r)throw new RangeError('The value "'+ti+'" is invalid for option "size"');const Dt=new Uint8Array(ti);return Object.setPrototypeOf(Dt,k.prototype),Dt}function k(ti,Dt,Pt){if(typeof ti=="number"){if(typeof Dt=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return j(ti)}return L(ti,Dt,Pt)}k.poolSize=8192;function L(ti,Dt,Pt){if(typeof ti=="string")return ie(ti,Dt);if(ArrayBuffer.isView(ti))return re(ti);if(ti==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ti);if(Li(ti,ArrayBuffer)||ti&&Li(ti.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Li(ti,SharedArrayBuffer)||ti&&Li(ti.buffer,SharedArrayBuffer)))return ae(ti,Dt,Pt);if(typeof ti=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const ci=ti.valueOf&&ti.valueOf();if(ci!=null&&ci!==ti)return k.from(ci,Dt,Pt);const Ti=le(ti);if(Ti)return Ti;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof ti[Symbol.toPrimitive]=="function")return k.from(ti[Symbol.toPrimitive]("string"),Dt,Pt);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof ti)}k.from=function(ti,Dt,Pt){return L(ti,Dt,Pt)},Object.setPrototypeOf(k.prototype,Uint8Array.prototype),Object.setPrototypeOf(k,Uint8Array);function V(ti){if(typeof ti!="number")throw new TypeError('"size" argument must be of type number');if(ti<0)throw new RangeError('The value "'+ti+'" is invalid for option "size"')}function z(ti,Dt,Pt){return V(ti),ti<=0?y(ti):Dt!==void 0?typeof Pt=="string"?y(ti).fill(Dt,Pt):y(ti).fill(Dt):y(ti)}k.alloc=function(ti,Dt,Pt){return z(ti,Dt,Pt)};function j(ti){return V(ti),y(ti<0?0:de(ti)|0)}k.allocUnsafe=function(ti){return j(ti)},k.allocUnsafeSlow=function(ti){return j(ti)};function ie(ti,Dt){if((typeof Dt!="string"||Dt==="")&&(Dt="utf8"),!k.isEncoding(Dt))throw new TypeError("Unknown encoding: "+Dt);const Pt=he(ti,Dt)|0;let ci=y(Pt);const Ti=ci.write(ti,Dt);return Ti!==Pt&&(ci=ci.slice(0,Ti)),ci}function oe(ti){const Dt=ti.length<0?0:de(ti.length)|0,Pt=y(Dt);for(let ci=0;ci=r)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r.toString(16)+" bytes");return ti|0}function ue(ti){return+ti!=ti&&(ti=0),k.alloc(+ti)}k.isBuffer=function(Dt){return Dt!=null&&Dt._isBuffer===!0&&Dt!==k.prototype},k.compare=function(Dt,Pt){if(Li(Dt,Uint8Array)&&(Dt=k.from(Dt,Dt.offset,Dt.byteLength)),Li(Pt,Uint8Array)&&(Pt=k.from(Pt,Pt.offset,Pt.byteLength)),!k.isBuffer(Dt)||!k.isBuffer(Pt))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Dt===Pt)return 0;let ci=Dt.length,Ti=Pt.length;for(let Mi=0,pi=Math.min(ci,Ti);MiTi.length?(k.isBuffer(pi)||(pi=k.from(pi)),pi.copy(Ti,Mi)):Uint8Array.prototype.set.call(Ti,pi,Mi);else if(k.isBuffer(pi))pi.copy(Ti,Mi);else throw new TypeError('"list" argument must be an Array of Buffers');Mi+=pi.length}return Ti};function he(ti,Dt){if(k.isBuffer(ti))return ti.length;if(ArrayBuffer.isView(ti)||Li(ti,ArrayBuffer))return ti.byteLength;if(typeof ti!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof ti);const Pt=ti.length,ci=arguments.length>2&&arguments[2]===!0;if(!ci&&Pt===0)return 0;let Ti=!1;for(;;)switch(Dt){case"ascii":case"latin1":case"binary":return Pt;case"utf8":case"utf-8":return Ai(ti).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Pt*2;case"hex":return Pt>>>1;case"base64":return bi(ti).length;default:if(Ti)return ci?-1:Ai(ti).length;Dt=(""+Dt).toLowerCase(),Ti=!0}}k.byteLength=he;function pe(ti,Dt,Pt){let ci=!1;if((Dt===void 0||Dt<0)&&(Dt=0),Dt>this.length||((Pt===void 0||Pt>this.length)&&(Pt=this.length),Pt<=0)||(Pt>>>=0,Dt>>>=0,Pt<=Dt))return"";for(ti||(ti="utf8");;)switch(ti){case"hex":return kt(this,Dt,Pt);case"utf8":case"utf-8":return qe(this,Dt,Pt);case"ascii":return At(this,Dt,Pt);case"latin1":case"binary":return Lt(this,Dt,Pt);case"base64":return ze(this,Dt,Pt);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ei(this,Dt,Pt);default:if(ci)throw new TypeError("Unknown encoding: "+ti);ti=(ti+"").toLowerCase(),ci=!0}}k.prototype._isBuffer=!0;function Ce(ti,Dt,Pt){const ci=ti[Dt];ti[Dt]=ti[Pt],ti[Pt]=ci}k.prototype.swap16=function(){const Dt=this.length;if(Dt%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let Pt=0;PtPt&&(Dt+=" ... "),""},i&&(k.prototype[i]=k.prototype.inspect),k.prototype.compare=function(Dt,Pt,ci,Ti,Mi){if(Li(Dt,Uint8Array)&&(Dt=k.from(Dt,Dt.offset,Dt.byteLength)),!k.isBuffer(Dt))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Dt);if(Pt===void 0&&(Pt=0),ci===void 0&&(ci=Dt?Dt.length:0),Ti===void 0&&(Ti=0),Mi===void 0&&(Mi=this.length),Pt<0||ci>Dt.length||Ti<0||Mi>this.length)throw new RangeError("out of range index");if(Ti>=Mi&&Pt>=ci)return 0;if(Ti>=Mi)return-1;if(Pt>=ci)return 1;if(Pt>>>=0,ci>>>=0,Ti>>>=0,Mi>>>=0,this===Dt)return 0;let pi=Mi-Ti,ui=ci-Pt;const $i=Math.min(pi,ui),di=this.slice(Ti,Mi),Wi=Dt.slice(Pt,ci);for(let Gi=0;Gi<$i;++Gi)if(di[Gi]!==Wi[Gi]){pi=di[Gi],ui=Wi[Gi];break}return pi2147483647?Pt=2147483647:Pt<-2147483648&&(Pt=-2147483648),Pt=+Pt,oi(Pt)&&(Pt=Ti?0:ti.length-1),Pt<0&&(Pt=ti.length+Pt),Pt>=ti.length){if(Ti)return-1;Pt=ti.length-1}else if(Pt<0)if(Ti)Pt=0;else return-1;if(typeof Dt=="string"&&(Dt=k.from(Dt,ci)),k.isBuffer(Dt))return Dt.length===0?-1:xe(ti,Dt,Pt,ci,Ti);if(typeof Dt=="number")return Dt=Dt&255,typeof Uint8Array.prototype.indexOf=="function"?Ti?Uint8Array.prototype.indexOf.call(ti,Dt,Pt):Uint8Array.prototype.lastIndexOf.call(ti,Dt,Pt):xe(ti,[Dt],Pt,ci,Ti);throw new TypeError("val must be string, number or Buffer")}function xe(ti,Dt,Pt,ci,Ti){let Mi=1,pi=ti.length,ui=Dt.length;if(ci!==void 0&&(ci=String(ci).toLowerCase(),ci==="ucs2"||ci==="ucs-2"||ci==="utf16le"||ci==="utf-16le")){if(ti.length<2||Dt.length<2)return-1;Mi=2,pi/=2,ui/=2,Pt/=2}function $i(Wi,Gi){return Mi===1?Wi[Gi]:Wi.readUInt16BE(Gi*Mi)}let di;if(Ti){let Wi=-1;for(di=Pt;dipi&&(Pt=pi-ui),di=Pt;di>=0;di--){let Wi=!0;for(let Gi=0;GiTi&&(ci=Ti)):ci=Ti;const Mi=Dt.length;ci>Mi/2&&(ci=Mi/2);let pi;for(pi=0;pi>>0,isFinite(ci)?(ci=ci>>>0,Ti===void 0&&(Ti="utf8")):(Ti=ci,ci=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const Mi=this.length-Pt;if((ci===void 0||ci>Mi)&&(ci=Mi),Dt.length>0&&(ci<0||Pt<0)||Pt>this.length)throw new RangeError("Attempt to write outside buffer bounds");Ti||(Ti="utf8");let pi=!1;for(;;)switch(Ti){case"hex":return Ie(this,Dt,Pt,ci);case"utf8":case"utf-8":return Ne(this,Dt,Pt,ci);case"ascii":case"latin1":case"binary":return Fe(this,Dt,Pt,ci);case"base64":return Ve(this,Dt,Pt,ci);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Oe(this,Dt,Pt,ci);default:if(pi)throw new TypeError("Unknown encoding: "+Ti);Ti=(""+Ti).toLowerCase(),pi=!0}},k.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ze(ti,Dt,Pt){return Dt===0&&Pt===ti.length?e.fromByteArray(ti):e.fromByteArray(ti.slice(Dt,Pt))}function qe(ti,Dt,Pt){Pt=Math.min(ti.length,Pt);const ci=[];let Ti=Dt;for(;Ti239?4:Mi>223?3:Mi>191?2:1;if(Ti+ui<=Pt){let $i,di,Wi,Gi;switch(ui){case 1:Mi<128&&(pi=Mi);break;case 2:$i=ti[Ti+1],($i&192)===128&&(Gi=(Mi&31)<<6|$i&63,Gi>127&&(pi=Gi));break;case 3:$i=ti[Ti+1],di=ti[Ti+2],($i&192)===128&&(di&192)===128&&(Gi=(Mi&15)<<12|($i&63)<<6|di&63,Gi>2047&&(Gi<55296||Gi>57343)&&(pi=Gi));break;case 4:$i=ti[Ti+1],di=ti[Ti+2],Wi=ti[Ti+3],($i&192)===128&&(di&192)===128&&(Wi&192)===128&&(Gi=(Mi&15)<<18|($i&63)<<12|(di&63)<<6|Wi&63,Gi>65535&&Gi<1114112&&(pi=Gi))}}pi===null?(pi=65533,ui=1):pi>65535&&(pi-=65536,ci.push(pi>>>10&1023|55296),pi=56320|pi&1023),ci.push(pi),Ti+=ui}return Et(ci)}const Ue=4096;function Et(ti){const Dt=ti.length;if(Dt<=Ue)return String.fromCharCode.apply(String,ti);let Pt="",ci=0;for(;cici)&&(Pt=ci);let Ti="";for(let Mi=Dt;Mici&&(Dt=ci),Pt<0?(Pt+=ci,Pt<0&&(Pt=0)):Pt>ci&&(Pt=ci),PtPt)throw new RangeError("Trying to access beyond buffer length")}k.prototype.readUintLE=k.prototype.readUIntLE=function(Dt,Pt,ci){Dt=Dt>>>0,Pt=Pt>>>0,ci||jt(Dt,Pt,this.length);let Ti=this[Dt],Mi=1,pi=0;for(;++pi>>0,Pt=Pt>>>0,ci||jt(Dt,Pt,this.length);let Ti=this[Dt+--Pt],Mi=1;for(;Pt>0&&(Mi*=256);)Ti+=this[Dt+--Pt]*Mi;return Ti},k.prototype.readUint8=k.prototype.readUInt8=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,1,this.length),this[Dt]},k.prototype.readUint16LE=k.prototype.readUInt16LE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,2,this.length),this[Dt]|this[Dt+1]<<8},k.prototype.readUint16BE=k.prototype.readUInt16BE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,2,this.length),this[Dt]<<8|this[Dt+1]},k.prototype.readUint32LE=k.prototype.readUInt32LE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,4,this.length),(this[Dt]|this[Dt+1]<<8|this[Dt+2]<<16)+this[Dt+3]*16777216},k.prototype.readUint32BE=k.prototype.readUInt32BE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,4,this.length),this[Dt]*16777216+(this[Dt+1]<<16|this[Dt+2]<<8|this[Dt+3])},k.prototype.readBigUInt64LE=mi(function(Dt){Dt=Dt>>>0,fi(Dt,"offset");const Pt=this[Dt],ci=this[Dt+7];(Pt===void 0||ci===void 0)&&li(Dt,this.length-8);const Ti=Pt+this[++Dt]*2**8+this[++Dt]*2**16+this[++Dt]*2**24,Mi=this[++Dt]+this[++Dt]*2**8+this[++Dt]*2**16+ci*2**24;return BigInt(Ti)+(BigInt(Mi)<>>0,fi(Dt,"offset");const Pt=this[Dt],ci=this[Dt+7];(Pt===void 0||ci===void 0)&&li(Dt,this.length-8);const Ti=Pt*2**24+this[++Dt]*2**16+this[++Dt]*2**8+this[++Dt],Mi=this[++Dt]*2**24+this[++Dt]*2**16+this[++Dt]*2**8+ci;return(BigInt(Ti)<>>0,Pt=Pt>>>0,ci||jt(Dt,Pt,this.length);let Ti=this[Dt],Mi=1,pi=0;for(;++pi=Mi&&(Ti-=Math.pow(2,8*Pt)),Ti},k.prototype.readIntBE=function(Dt,Pt,ci){Dt=Dt>>>0,Pt=Pt>>>0,ci||jt(Dt,Pt,this.length);let Ti=Pt,Mi=1,pi=this[Dt+--Ti];for(;Ti>0&&(Mi*=256);)pi+=this[Dt+--Ti]*Mi;return Mi*=128,pi>=Mi&&(pi-=Math.pow(2,8*Pt)),pi},k.prototype.readInt8=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,1,this.length),this[Dt]&128?(255-this[Dt]+1)*-1:this[Dt]},k.prototype.readInt16LE=function(Dt,Pt){Dt=Dt>>>0,Pt||jt(Dt,2,this.length);const ci=this[Dt]|this[Dt+1]<<8;return ci&32768?ci|4294901760:ci},k.prototype.readInt16BE=function(Dt,Pt){Dt=Dt>>>0,Pt||jt(Dt,2,this.length);const ci=this[Dt+1]|this[Dt]<<8;return ci&32768?ci|4294901760:ci},k.prototype.readInt32LE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,4,this.length),this[Dt]|this[Dt+1]<<8|this[Dt+2]<<16|this[Dt+3]<<24},k.prototype.readInt32BE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,4,this.length),this[Dt]<<24|this[Dt+1]<<16|this[Dt+2]<<8|this[Dt+3]},k.prototype.readBigInt64LE=mi(function(Dt){Dt=Dt>>>0,fi(Dt,"offset");const Pt=this[Dt],ci=this[Dt+7];(Pt===void 0||ci===void 0)&&li(Dt,this.length-8);const Ti=this[Dt+4]+this[Dt+5]*2**8+this[Dt+6]*2**16+(ci<<24);return(BigInt(Ti)<>>0,fi(Dt,"offset");const Pt=this[Dt],ci=this[Dt+7];(Pt===void 0||ci===void 0)&&li(Dt,this.length-8);const Ti=(Pt<<24)+this[++Dt]*2**16+this[++Dt]*2**8+this[++Dt];return(BigInt(Ti)<>>0,Pt||jt(Dt,4,this.length),t.read(this,Dt,!0,23,4)},k.prototype.readFloatBE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,4,this.length),t.read(this,Dt,!1,23,4)},k.prototype.readDoubleLE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,8,this.length),t.read(this,Dt,!0,52,8)},k.prototype.readDoubleBE=function(Dt,Pt){return Dt=Dt>>>0,Pt||jt(Dt,8,this.length),t.read(this,Dt,!1,52,8)};function ri(ti,Dt,Pt,ci,Ti,Mi){if(!k.isBuffer(ti))throw new TypeError('"buffer" argument must be a Buffer instance');if(Dt>Ti||Dtti.length)throw new RangeError("Index out of range")}k.prototype.writeUintLE=k.prototype.writeUIntLE=function(Dt,Pt,ci,Ti){if(Dt=+Dt,Pt=Pt>>>0,ci=ci>>>0,!Ti){const ui=Math.pow(2,8*ci)-1;ri(this,Dt,Pt,ci,ui,0)}let Mi=1,pi=0;for(this[Pt]=Dt&255;++pi>>0,ci=ci>>>0,!Ti){const ui=Math.pow(2,8*ci)-1;ri(this,Dt,Pt,ci,ui,0)}let Mi=ci-1,pi=1;for(this[Pt+Mi]=Dt&255;--Mi>=0&&(pi*=256);)this[Pt+Mi]=Dt/pi&255;return Pt+ci},k.prototype.writeUint8=k.prototype.writeUInt8=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,1,255,0),this[Pt]=Dt&255,Pt+1},k.prototype.writeUint16LE=k.prototype.writeUInt16LE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,2,65535,0),this[Pt]=Dt&255,this[Pt+1]=Dt>>>8,Pt+2},k.prototype.writeUint16BE=k.prototype.writeUInt16BE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,2,65535,0),this[Pt]=Dt>>>8,this[Pt+1]=Dt&255,Pt+2},k.prototype.writeUint32LE=k.prototype.writeUInt32LE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,4,4294967295,0),this[Pt+3]=Dt>>>24,this[Pt+2]=Dt>>>16,this[Pt+1]=Dt>>>8,this[Pt]=Dt&255,Pt+4},k.prototype.writeUint32BE=k.prototype.writeUInt32BE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,4,4294967295,0),this[Pt]=Dt>>>24,this[Pt+1]=Dt>>>16,this[Pt+2]=Dt>>>8,this[Pt+3]=Dt&255,Pt+4};function ni(ti,Dt,Pt,ci,Ti){si(Dt,ci,Ti,ti,Pt,7);let Mi=Number(Dt&BigInt(4294967295));ti[Pt++]=Mi,Mi=Mi>>8,ti[Pt++]=Mi,Mi=Mi>>8,ti[Pt++]=Mi,Mi=Mi>>8,ti[Pt++]=Mi;let pi=Number(Dt>>BigInt(32)&BigInt(4294967295));return ti[Pt++]=pi,pi=pi>>8,ti[Pt++]=pi,pi=pi>>8,ti[Pt++]=pi,pi=pi>>8,ti[Pt++]=pi,Pt}function Ci(ti,Dt,Pt,ci,Ti){si(Dt,ci,Ti,ti,Pt,7);let Mi=Number(Dt&BigInt(4294967295));ti[Pt+7]=Mi,Mi=Mi>>8,ti[Pt+6]=Mi,Mi=Mi>>8,ti[Pt+5]=Mi,Mi=Mi>>8,ti[Pt+4]=Mi;let pi=Number(Dt>>BigInt(32)&BigInt(4294967295));return ti[Pt+3]=pi,pi=pi>>8,ti[Pt+2]=pi,pi=pi>>8,ti[Pt+1]=pi,pi=pi>>8,ti[Pt]=pi,Pt+8}k.prototype.writeBigUInt64LE=mi(function(Dt,Pt=0){return ni(this,Dt,Pt,BigInt(0),BigInt("0xffffffffffffffff"))}),k.prototype.writeBigUInt64BE=mi(function(Dt,Pt=0){return Ci(this,Dt,Pt,BigInt(0),BigInt("0xffffffffffffffff"))}),k.prototype.writeIntLE=function(Dt,Pt,ci,Ti){if(Dt=+Dt,Pt=Pt>>>0,!Ti){const $i=Math.pow(2,8*ci-1);ri(this,Dt,Pt,ci,$i-1,-$i)}let Mi=0,pi=1,ui=0;for(this[Pt]=Dt&255;++Mi>0)-ui&255;return Pt+ci},k.prototype.writeIntBE=function(Dt,Pt,ci,Ti){if(Dt=+Dt,Pt=Pt>>>0,!Ti){const $i=Math.pow(2,8*ci-1);ri(this,Dt,Pt,ci,$i-1,-$i)}let Mi=ci-1,pi=1,ui=0;for(this[Pt+Mi]=Dt&255;--Mi>=0&&(pi*=256);)Dt<0&&ui===0&&this[Pt+Mi+1]!==0&&(ui=1),this[Pt+Mi]=(Dt/pi>>0)-ui&255;return Pt+ci},k.prototype.writeInt8=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,1,127,-128),Dt<0&&(Dt=255+Dt+1),this[Pt]=Dt&255,Pt+1},k.prototype.writeInt16LE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,2,32767,-32768),this[Pt]=Dt&255,this[Pt+1]=Dt>>>8,Pt+2},k.prototype.writeInt16BE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,2,32767,-32768),this[Pt]=Dt>>>8,this[Pt+1]=Dt&255,Pt+2},k.prototype.writeInt32LE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,4,2147483647,-2147483648),this[Pt]=Dt&255,this[Pt+1]=Dt>>>8,this[Pt+2]=Dt>>>16,this[Pt+3]=Dt>>>24,Pt+4},k.prototype.writeInt32BE=function(Dt,Pt,ci){return Dt=+Dt,Pt=Pt>>>0,ci||ri(this,Dt,Pt,4,2147483647,-2147483648),Dt<0&&(Dt=4294967295+Dt+1),this[Pt]=Dt>>>24,this[Pt+1]=Dt>>>16,this[Pt+2]=Dt>>>8,this[Pt+3]=Dt&255,Pt+4},k.prototype.writeBigInt64LE=mi(function(Dt,Pt=0){return ni(this,Dt,Pt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),k.prototype.writeBigInt64BE=mi(function(Dt,Pt=0){return Ci(this,Dt,Pt,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function wi(ti,Dt,Pt,ci,Ti,Mi){if(Pt+ci>ti.length)throw new RangeError("Index out of range");if(Pt<0)throw new RangeError("Index out of range")}function Ri(ti,Dt,Pt,ci,Ti){return Dt=+Dt,Pt=Pt>>>0,Ti||wi(ti,Dt,Pt,4),t.write(ti,Dt,Pt,ci,23,4),Pt+4}k.prototype.writeFloatLE=function(Dt,Pt,ci){return Ri(this,Dt,Pt,!0,ci)},k.prototype.writeFloatBE=function(Dt,Pt,ci){return Ri(this,Dt,Pt,!1,ci)};function ai(ti,Dt,Pt,ci,Ti){return Dt=+Dt,Pt=Pt>>>0,Ti||wi(ti,Dt,Pt,8),t.write(ti,Dt,Pt,ci,52,8),Pt+8}k.prototype.writeDoubleLE=function(Dt,Pt,ci){return ai(this,Dt,Pt,!0,ci)},k.prototype.writeDoubleBE=function(Dt,Pt,ci){return ai(this,Dt,Pt,!1,ci)},k.prototype.copy=function(Dt,Pt,ci,Ti){if(!k.isBuffer(Dt))throw new TypeError("argument should be a Buffer");if(ci||(ci=0),!Ti&&Ti!==0&&(Ti=this.length),Pt>=Dt.length&&(Pt=Dt.length),Pt||(Pt=0),Ti>0&&Ti=this.length)throw new RangeError("Index out of range");if(Ti<0)throw new RangeError("sourceEnd out of bounds");Ti>this.length&&(Ti=this.length),Dt.length-Pt>>0,ci=ci===void 0?this.length:ci>>>0,Dt||(Dt=0);let Mi;if(typeof Dt=="number")for(Mi=Pt;Mi2**32?Ti=Oi(String(Pt)):typeof Pt=="bigint"&&(Ti=String(Pt),(Pt>BigInt(2)**BigInt(32)||Pt<-(BigInt(2)**BigInt(32)))&&(Ti=Oi(Ti)),Ti+="n"),ci+=" It must be ".concat(Dt,". Received ").concat(Ti),ci},RangeError);function Oi(ti){let Dt="",Pt=ti.length;const ci=ti[0]==="-"?1:0;for(;Pt>=ci+4;Pt-=3)Dt="_".concat(ti.slice(Pt-3,Pt)).concat(Dt);return"".concat(ti.slice(0,Pt)).concat(Dt)}function Ei(ti,Dt,Pt){fi(Dt,"offset"),(ti[Dt]===void 0||ti[Dt+Pt]===void 0)&&li(Dt,ti.length-(Pt+1))}function si(ti,Dt,Pt,ci,Ti,Mi){if(ti>Pt||ti= 0".concat(pi," and < 2").concat(pi," ** ").concat((Mi+1)*8).concat(pi):ui=">= -(2".concat(pi," ** ").concat((Mi+1)*8-1).concat(pi,") and < 2 ** ")+"".concat((Mi+1)*8-1).concat(pi),new hi.ERR_OUT_OF_RANGE("value",ui,ti)}Ei(ci,Ti,Mi)}function fi(ti,Dt){if(typeof ti!="number")throw new hi.ERR_INVALID_ARG_TYPE(Dt,"number",ti)}function li(ti,Dt,Pt){throw Math.floor(ti)!==ti?(fi(ti,Pt),new hi.ERR_OUT_OF_RANGE("offset","an integer",ti)):Dt<0?new hi.ERR_BUFFER_OUT_OF_BOUNDS:new hi.ERR_OUT_OF_RANGE("offset",">= 0 and <= ".concat(Dt),ti)}const Di=/[^+/0-9A-Za-z-_]/g;function ki(ti){if(ti=ti.split("=")[0],ti=ti.trim().replace(Di,""),ti.length<2)return"";for(;ti.length%4!==0;)ti=ti+"=";return ti}function Ai(ti,Dt){Dt=Dt||1/0;let Pt;const ci=ti.length;let Ti=null;const Mi=[];for(let pi=0;pi55295&&Pt<57344){if(!Ti){if(Pt>56319){(Dt-=3)>-1&&Mi.push(239,191,189);continue}else if(pi+1===ci){(Dt-=3)>-1&&Mi.push(239,191,189);continue}Ti=Pt;continue}if(Pt<56320){(Dt-=3)>-1&&Mi.push(239,191,189),Ti=Pt;continue}Pt=(Ti-55296<<10|Pt-56320)+65536}else Ti&&(Dt-=3)>-1&&Mi.push(239,191,189);if(Ti=null,Pt<128){if((Dt-=1)<0)break;Mi.push(Pt)}else if(Pt<2048){if((Dt-=2)<0)break;Mi.push(Pt>>6|192,Pt&63|128)}else if(Pt<65536){if((Dt-=3)<0)break;Mi.push(Pt>>12|224,Pt>>6&63|128,Pt&63|128)}else if(Pt<1114112){if((Dt-=4)<0)break;Mi.push(Pt>>18|240,Pt>>12&63|128,Pt>>6&63|128,Pt&63|128)}else throw new Error("Invalid code point")}return Mi}function Ki(ti){const Dt=[];for(let Pt=0;Pt>8,Ti=Pt%256,Mi.push(Ti),Mi.push(ci);return Mi}function bi(ti){return e.toByteArray(ki(ti))}function vi(ti,Dt,Pt,ci){let Ti;for(Ti=0;Ti=Dt.length||Ti>=ti.length);++Ti)Dt[Ti+Pt]=ti[Ti];return Ti}function Li(ti,Dt){return ti instanceof Dt||ti!=null&&ti.constructor!=null&&ti.constructor.name!=null&&ti.constructor.name===Dt.name}function oi(ti){return ti!==ti}const ii=function(){const ti="0123456789abcdef",Dt=new Array(256);for(let Pt=0;Pt<16;++Pt){const ci=Pt*16;for(let Ti=0;Ti<16;++Ti)Dt[ci+Ti]=ti[Pt]+ti[Ti]}return Dt}();function mi(ti){return typeof BigInt>"u"?yi:ti}function yi(){throw new Error("BigInt not supported")}}(buffer)),buffer}/*! safe-buffer. MIT License. Feross Aboukhadijeh */var hasRequiredSafeBuffer;function requireSafeBuffer(){return hasRequiredSafeBuffer||(hasRequiredSafeBuffer=1,function(n,e){var t=requireBuffer(),i=t.Buffer;function r(y,k){for(var L in y)k[L]=y[L]}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?n.exports=t:(r(t,e),e.Buffer=g);function g(y,k,L){return i(y,k,L)}g.prototype=Object.create(i.prototype),r(i,g),g.from=function(y,k,L){if(typeof y=="number")throw new TypeError("Argument must not be a number");return i(y,k,L)},g.alloc=function(y,k,L){if(typeof y!="number")throw new TypeError("Argument must be a number");var V=i(y);return k!==void 0?typeof L=="string"?V.fill(k,L):V.fill(k):V.fill(0),V},g.allocUnsafe=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return i(y)},g.allocUnsafeSlow=function(y){if(typeof y!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(y)}}(safeBuffer,safeBuffer.exports)),safeBuffer.exports}var hasRequiredBrowser;function requireBrowser(){if(hasRequiredBrowser)return browser.exports;hasRequiredBrowser=1;var n=65536,e=4294967295;function t(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")}var i=requireSafeBuffer().Buffer,r=commonjsGlobal.crypto||commonjsGlobal.msCrypto;r&&r.getRandomValues?browser.exports=g:browser.exports=t;function g(y,k){if(y>e)throw new RangeError("requested too many random bytes");var L=i.allocUnsafe(y);if(y>0)if(y>n)for(var V=0;V.*?/,k=/[<>\/\u2028\u2029]/g,L=["*","async"],V={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function z(oe){return V[oe]}function j(){for(var oe=n(e),re="",ae=0;ae0}),At=Et.filter(function(Lt){return L.indexOf(Lt)===-1});return At.length>0?(Et.indexOf("async")>-1?"async ":"")+"function"+(Et.join("").indexOf("*")>-1?"*":"")+qe.substr(Ue):qe}if(ae.ignoreFunction&&typeof re=="function"&&(re=void 0),re===void 0)return String(re);var Oe;return ae.isJSON&&!ae.space?Oe=JSON.stringify(re):Oe=JSON.stringify(re,ae.isJSON?null:Fe,ae.space),typeof Oe!="string"?String(Oe):(ae.unsafe!==!0&&(Oe=Oe.replace(k,z)),le.length===0&&de.length===0&&ue.length===0&&he.length===0&&pe.length===0&&Ce.length===0&&$e.length===0&&xe.length===0&&Ie.length===0&&Ne.length===0?Oe:Oe.replace(i,function(ze,qe,Ue,Et){if(qe)return ze;if(Ue==="D")return'new Date("'+ue[Et].toISOString()+'")';if(Ue==="R")return"new RegExp("+oe(de[Et].source)+', "'+de[Et].flags+'")';if(Ue==="M")return"new Map("+oe(Array.from(he[Et].entries()),ae)+")";if(Ue==="S")return"new Set("+oe(Array.from(pe[Et].values()),ae)+")";if(Ue==="A")return"Array.prototype.slice.call("+oe(Object.assign({length:Ce[Et].length},Ce[Et]),ae)+")";if(Ue==="U")return"undefined";if(Ue==="I")return xe[Et];if(Ue==="B")return'BigInt("'+Ie[Et]+'")';if(Ue==="L")return"new URL("+oe(Ne[Et].toString(),ae)+")";var At=le[Et];return Ve(At)}))},serializeJavascript}var serializeJavascriptExports=requireSerializeJavascript();const serialize=getDefaultExportFromCjs(serializeJavascriptExports),_hoisted_1$14=["src"],_sfc_main$33=defineComponent({name:"MEditorIcon",__name:"Icon",props:{icon:{}},setup(n){const e=t=>/^(\.|(\.\.)?\/)/.test(t);return(t,i)=>t.icon?typeof t.icon=="string"&&(t.icon.startsWith("http")||e(t.icon))?(openBlock(),createBlock(unref(_sfc_main$49),{key:1,class:"magic-editor-icon"},{default:withCtx(()=>[createBaseVNode("img",{src:t.icon},null,8,_hoisted_1$14)]),_:1})):typeof t.icon=="string"?(openBlock(),createElementBlock("i",{key:2,class:normalizeClass(["magic-editor-icon",t.icon])},null,2)):(openBlock(),createBlock(unref(_sfc_main$49),{key:3,class:"magic-editor-icon"},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(toRaw(t.icon))))]),_:1})):(openBlock(),createBlock(unref(_sfc_main$49),{key:0,class:"magic-editor-icon"},{default:withCtx(()=>[createVNode(unref(edit_default))]),_:1}))}});let $TMAGIC_EDITOR={};const setEditorConfig=n=>{$TMAGIC_EDITOR=n},getEditorConfig=n=>$TMAGIC_EDITOR[n];function isNumber$1$1(n){return n>47&&n<58}function isAlpha$1(n,e,t){return e=e||65,t=t||90,n&=-33,n>=e&&n<=t}function isAlphaNumericWord(n){return isNumber$1$1(n)||isAlphaWord(n)}function isAlphaWord(n){return n===95||isAlpha$1(n)}function isUmlaut(n){return n===196||n==214||n===220||n===228||n===246||n===252}function isWhiteSpace$3(n){return n===32||n===9||n===160}function isSpace$1(n){return isWhiteSpace$3(n)||n===10||n===13}function isQuote$2(n){return n===39||n===34}let Scanner$2=class jh{constructor(e,t,i){i==null&&typeof e=="string"&&(i=e.length),this.string=e,this.pos=this.start=t||0,this.end=i||0}eof(){return this.pos>=this.end}limit(e,t){return new jh(this.string,e,t)}peek(){return this.string.charCodeAt(this.pos)}next(){if(this.pos1&&(r.multiple=!0),t.jsx&&text$2(n)?(r.value=getText(n),r.expression=!0):r.value=literal$1$1(n)?slice(n):void 0,r}}function attribute(n){if(quoted(n))return{value:slice(n)};if(literal$1$1(n,!0)){const e=slice(n);let t;return consume$2(n,isEquals)&&(quoted(n)||literal$1$1(n,!0))&&(t=slice(n)),{name:e,value:t}}}function repeater$1(n){return isRepeater(peek$3(n))?n.tokens[n.pos++]:void 0}function quoted(n){const e=n.pos,t=peek$3(n);if(isQuote$1(t)){for(n.pos++;readable$1(n);)if(isQuote$1(next(n),t.single))return n.start=e,!0;throw error$1(n,"Unclosed quote",t)}return!1}function literal$1$1(n,e){const t=n.pos,i={attribute:0,expression:0,group:0};for(;readable$1(n);){const r=peek$3(n);if(i.expression)isBracket$2(r,"expression")&&(i[r.context]+=r.open?1:-1);else{if(isQuote$1(r)||isOperator$1(r)||isWhiteSpace$2(r)||isRepeater(r))break;if(isBracket$2(r)){if(!e)break;if(r.open)i[r.context]++;else if(i[r.context])i[r.context]--;else break}}n.pos++}return t!==n.pos?(n.start=t,!0):!1}function elementName(n,e){const t=n.pos;if(e.jsx&&consume$2(n,isCapitalizedLiteral))for(;readable$1(n);){const{pos:i}=n;if(!consume$2(n,isClassNameOperator)||!consume$2(n,isCapitalizedLiteral)){n.pos=i;break}}for(;readable$1(n)&&consume$2(n,isElementName$1););return n.pos!==t?(n.start=t,!0):!1}function text$2(n){const e=n.pos;if(consume$2(n,isTextStart)){let t=0;for(;readable$1(n);){const i=next(n);if(isBracket$2(i,"expression"))if(i.open)t++;else if(t)t--;else break}return n.start=e,!0}return!1}function getText(n){let e=n.start,t=n.pos;return isBracket$2(n.tokens[e],"expression",!0)&&e++,isBracket$2(n.tokens[t-1],"expression",!1)&&t--,slice(n,e,t)}function isBracket$2(n,e,t){return!!(n&&n.type==="Bracket"&&(!e||n.context===e)&&(t==null||n.open===t))}function isOperator$1(n,e){return!!(n&&n.type==="Operator"&&(!e||n.operator===e))}function isQuote$1(n,e){return!!(n&&n.type==="Quote"&&(e==null||n.single===e))}function isWhiteSpace$2(n){return!!(n&&n.type==="WhiteSpace")}function isEquals(n){return isOperator$1(n,"equal")}function isRepeater(n){return!!(n&&n.type==="Repeater")}function isLiteral$2(n){return n.type==="Literal"}function isCapitalizedLiteral(n){if(isLiteral$2(n)){const e=n.value.charCodeAt(0);return e>=65&&e<=90}return!1}function isElementName$1(n){return n.type==="Literal"||n.type==="RepeaterNumber"||n.type==="RepeaterPlaceholder"}function isClassNameOperator(n){return isOperator$1(n,"class")}function isAttributeSetStart(n){return isBracket$2(n,"attribute",!0)}function isAttributeSetEnd(n){return isBracket$2(n,"attribute",!1)}function isTextStart(n){return isBracket$2(n,"expression",!0)}function isGroupStart(n){return isBracket$2(n,"group",!0)}function createLiteral$1(n){return{type:"Literal",value:n}}function isEmpty$2(n){return!n.name&&!n.value&&!n.attributes}function isChildOperator(n){return isOperator$1(n,"child")}function isSiblingOperator$1(n){return isOperator$1(n,"sibling")}function isClimbOperator(n){return isOperator$1(n,"climb")}function isCloseOperator(n){return isOperator$1(n,"close")}var Chars$3;(function(n){n[n.CurlyBracketOpen=123]="CurlyBracketOpen",n[n.CurlyBracketClose=125]="CurlyBracketClose",n[n.Escape=92]="Escape",n[n.Equals=61]="Equals",n[n.SquareBracketOpen=91]="SquareBracketOpen",n[n.SquareBracketClose=93]="SquareBracketClose",n[n.Asterisk=42]="Asterisk",n[n.Hash=35]="Hash",n[n.Dollar=36]="Dollar",n[n.Dash=45]="Dash",n[n.Dot=46]="Dot",n[n.Slash=47]="Slash",n[n.Colon=58]="Colon",n[n.Excl=33]="Excl",n[n.At=64]="At",n[n.Underscore=95]="Underscore",n[n.RoundBracketOpen=40]="RoundBracketOpen",n[n.RoundBracketClose=41]="RoundBracketClose",n[n.Sibling=43]="Sibling",n[n.Child=62]="Child",n[n.Climb=94]="Climb",n[n.SingleQuote=39]="SingleQuote",n[n.DoubleQuote=34]="DoubleQuote"})(Chars$3||(Chars$3={}));function escaped(n){return n.eat(Chars$3.Escape)?(n.start=n.pos,n.eof()||n.pos++,!0):!1}function tokenize$1(n){const e=new Scanner$2(n),t=[],i={group:0,attribute:0,expression:0,quote:0};let r=0,g;for(;!e.eof();)if(r=e.peek(),g=getToken$1(e,i),g)t.push(g),g.type==="Quote"?i.quote=r===i.quote?0:r:g.type==="Bracket"&&(i[g.context]+=g.open?1:-1);else throw e.error("Unexpected character");return t}function getToken$1(n,e){return field$2(n,e)||repeaterPlaceholder(n)||repeaterNumber(n)||repeater(n)||whiteSpace$1(n)||literal$2(n,e)||operator$1(n)||quote(n)||bracket$1(n)}function literal$2(n,e){const t=n.pos,i=e.expression;let r="";for(;!n.eof();){if(escaped(n)){r+=n.current();continue}const g=n.peek();if(g===Chars$3.Slash&&!e.quote&&!e.expression&&!e.attribute){const y=n.string.charCodeAt(n.pos-1),k=n.string.charCodeAt(n.pos+1);if(isNumber$1$1(y)&&isNumber$1$1(k)){r+=n.string[n.pos++];continue}}if(g===e.quote||g===Chars$3.Dollar||isAllowedOperator(g,e))break;if(i){if(g===Chars$3.CurlyBracketOpen)e.expression++;else if(g===Chars$3.CurlyBracketClose)if(e.expression>i)e.expression--;else break}else if(!e.quote&&(!e.attribute&&!isElementName(g)||isAllowedSpace(g,e)||isAllowedRepeater(g,e)||isQuote$2(g)||bracketType(g)))break;r+=n.string[n.pos++]}if(t!==n.pos)return n.start=t,{type:"Literal",value:r,start:t,end:n.pos}}function whiteSpace$1(n){const e=n.pos;if(n.eatWhile(isSpace$1))return{type:"WhiteSpace",start:e,end:n.pos,value:n.substring(e,n.pos)}}function quote(n){const e=n.peek();if(isQuote$2(e))return{type:"Quote",single:e===Chars$3.SingleQuote,start:n.pos++,end:n.pos}}function bracket$1(n){const e=n.peek(),t=bracketType(e);if(t)return{type:"Bracket",open:isOpenBracket$2(e),context:t,start:n.pos++,end:n.pos}}function operator$1(n){const e=operatorType$1(n.peek());if(e)return{type:"Operator",operator:e,start:n.pos++,end:n.pos}}function repeater(n){const e=n.pos;if(n.eat(Chars$3.Asterisk)){n.start=n.pos;let t=1,i=!1;return n.eatWhile(isNumber$1$1)?t=Number(n.current()):i=!0,{type:"Repeater",count:t,value:0,implicit:i,start:e,end:n.pos}}}function repeaterPlaceholder(n){const e=n.pos;if(n.eat(Chars$3.Dollar)&&n.eat(Chars$3.Hash))return{type:"RepeaterPlaceholder",value:void 0,start:e,end:n.pos};n.pos=e}function repeaterNumber(n){const e=n.pos;if(n.eatWhile(Chars$3.Dollar)){const t=n.pos-e;let i=!1,r=1,g=0;if(n.eat(Chars$3.At)){for(;n.eat(Chars$3.Climb);)g++;i=n.eat(Chars$3.Dash),n.start=n.pos,n.eatWhile(isNumber$1$1)&&(r=Number(n.current()))}return n.start=e,{type:"RepeaterNumber",size:t,reverse:i,base:r,parent:g,start:e,end:n.pos}}}function field$2(n,e){const t=n.pos;if((e.expression||e.attribute)&&n.eat(Chars$3.Dollar)&&n.eat(Chars$3.CurlyBracketOpen)){n.start=n.pos;let i,r="";if(n.eatWhile(isNumber$1$1)?(i=Number(n.current()),r=n.eat(Chars$3.Colon)?consumePlaceholder$2(n):""):isAlpha$1(n.peek())&&(r=consumePlaceholder$2(n)),n.eat(Chars$3.CurlyBracketClose))return{type:"Field",index:i,name:r,start:t,end:n.pos};throw n.error("Expecting }")}n.pos=t}function consumePlaceholder$2(n){const e=[];for(n.start=n.pos;!n.eof();)if(n.eat(Chars$3.CurlyBracketOpen))e.push(n.pos);else if(n.eat(Chars$3.CurlyBracketClose)){if(!e.length){n.pos--;break}e.pop()}else n.pos++;if(e.length)throw n.pos=e.pop(),n.error("Expecting }");return n.current()}function isAllowedOperator(n,e){const t=operatorType$1(n);return!t||e.quote||e.expression?!1:!e.attribute||t==="equal"}function isAllowedSpace(n,e){return isSpace$1(n)&&!e.expression}function isAllowedRepeater(n,e){return n===Chars$3.Asterisk&&!e.attribute&&!e.expression}function bracketType(n){if(n===Chars$3.RoundBracketOpen||n===Chars$3.RoundBracketClose)return"group";if(n===Chars$3.SquareBracketOpen||n===Chars$3.SquareBracketClose)return"attribute";if(n===Chars$3.CurlyBracketOpen||n===Chars$3.CurlyBracketClose)return"expression"}function operatorType$1(n){return n===Chars$3.Child&&"child"||n===Chars$3.Sibling&&"sibling"||n===Chars$3.Climb&&"climb"||n===Chars$3.Dot&&"class"||n===Chars$3.Hash&&"id"||n===Chars$3.Slash&&"close"||n===Chars$3.Equals&&"equal"||void 0}function isOpenBracket$2(n){return n===Chars$3.CurlyBracketOpen||n===Chars$3.SquareBracketOpen||n===Chars$3.RoundBracketOpen}function isElementName(n){return isAlphaNumericWord(n)||isUmlaut(n)||n===Chars$3.Dash||n===Chars$3.Colon||n===Chars$3.Excl}const operators={child:">",class:".",climb:"^",id:"#",equal:"=",close:"/",sibling:"+"},tokenVisitor={Literal(n){return n.value},Quote(n){return n.single?"'":'"'},Bracket(n){return n.context==="attribute"?n.open?"[":"]":n.context==="expression"?n.open?"{":"}":n.open?"(":"}"},Operator(n){return operators[n.operator]},Field(n,e){return n.index!=null?n.name?"${".concat(n.index,":").concat(n.name,"}"):"${".concat(n.index):n.name?e.getVariable(n.name):""},RepeaterPlaceholder(n,e){let t;for(let i=e.repeaters.length-1;i>=0;i--)if(e.repeaters[i].implicit){t=e.repeaters[i];break}return e.inserted=!0,e.getText(t&&t.value)},RepeaterNumber(n,e){let t=1;const i=e.repeaters.length-1,r=e.repeaters[i];if(r&&(t=n.reverse?n.base+r.count-r.value-1:n.base+r.value,n.parent)){const y=Math.max(0,i-n.parent);if(y!==i){const k=e.repeaters[y];t+=r.count*k.value}}let g=String(t);for(;g.lengthg.trim()):i=e.text);const r={type:"Abbreviation",children:convertGroup(n,{inserted:!1,repeaters:[],text:e.text,cleanText:i,repeatGuard:e.maxRepeat||Number.POSITIVE_INFINITY,getText(g){var y;t=!0;let k;if(Array.isArray(e.text)){if(g!==void 0&&g>=0&&gg.name==="href");r?r.value||(r.value=[i]):(n.attributes||(n.attributes=[]),n.attributes.push({name:"href",value:[i],valueType:"doubleQuote"}))}function attachRepeater(n,e){for(const t of n)t.repeat||(t.repeat=Object.assign({},e));return n}function parseAbbreviation(n,e){try{const t=typeof n=="string"?tokenize$1(n):n;return convert(abbreviation(t,e),e)}catch(t){throw t instanceof ScannerError&&typeof n=="string"&&(t.message+="\n".concat(n,"\n").concat("-".repeat(t.pos),"^")),t}}var OperatorType;(function(n){n.Sibling="+",n.Important="!",n.ArgumentDelimiter=",",n.ValueDelimiter="-",n.PropertyDelimiter=":"})(OperatorType||(OperatorType={}));var Chars$2;(function(n){n[n.Hash=35]="Hash",n[n.Dollar=36]="Dollar",n[n.Dash=45]="Dash",n[n.Dot=46]="Dot",n[n.Colon=58]="Colon",n[n.Comma=44]="Comma",n[n.Excl=33]="Excl",n[n.At=64]="At",n[n.Percent=37]="Percent",n[n.Underscore=95]="Underscore",n[n.RoundBracketOpen=40]="RoundBracketOpen",n[n.RoundBracketClose=41]="RoundBracketClose",n[n.CurlyBracketOpen=123]="CurlyBracketOpen",n[n.CurlyBracketClose=125]="CurlyBracketClose",n[n.Sibling=43]="Sibling",n[n.SingleQuote=39]="SingleQuote",n[n.DoubleQuote=34]="DoubleQuote",n[n.Transparent=116]="Transparent",n[n.Slash=47]="Slash"})(Chars$2||(Chars$2={}));function tokenize$2(n,e){let t=0,i;const r=new Scanner$2(n),g=[];for(;!r.eof();){if(i=getToken(r,t===0&&!e),!i)throw r.error("Unexpected character");if(i.type==="Bracket"&&(!t&&i.open&&mergeTokens(r,g),t+=i.open?1:-1,t<0))throw r.error("Unexpected bracket",i.start);g.push(i),shouldConsumeDashAfter(i)&&(i=operator(r))&&g.push(i)}return g}function getToken(n,e){return field$1(n)||customProperty(n)||numberValue(n)||colorValue(n)||stringValue(n)||bracket(n)||operator(n)||whiteSpace(n)||literal$1(n,e)}function field$1(n){const e=n.pos;if(n.eat(Chars$2.Dollar)&&n.eat(Chars$2.CurlyBracketOpen)){n.start=n.pos;let t,i="";if(n.eatWhile(isNumber$1$1)?(t=Number(n.current()),i=n.eat(Chars$2.Colon)?consumePlaceholder$1(n):""):isAlpha$1(n.peek())&&(i=consumePlaceholder$1(n)),n.eat(Chars$2.CurlyBracketClose))return{type:"Field",index:t,name:i,start:e,end:n.pos};throw n.error("Expecting }")}n.pos=e}function consumePlaceholder$1(n){const e=[];for(n.start=n.pos;!n.eof();)if(n.eat(Chars$2.CurlyBracketOpen))e.push(n.pos);else if(n.eat(Chars$2.CurlyBracketClose)){if(!e.length){n.pos--;break}e.pop()}else n.pos++;if(e.length)throw n.pos=e.pop(),n.error("Expecting }");return n.current()}function literal$1(n,e){const t=n.pos;if(n.eat(isIdentPrefix)?n.eatWhile(t?isKeyword:isLiteral$1):n.eat(isAlphaWord)?n.eatWhile(e?isLiteral$1:isKeyword):(n.eat(Chars$2.Dot),n.eatWhile(isLiteral$1)),t!==n.pos)return n.start=t,createLiteral(n,n.start=t)}function createLiteral(n,e=n.start,t=n.pos){return{type:"Literal",value:n.substring(e,t),start:e,end:t}}function numberValue(n){const e=n.pos;if(consumeNumber(n)){n.start=e;const t=n.current();return n.start=n.pos,n.eat(Chars$2.Percent)||n.eatWhile(isAlphaWord),{type:"NumberValue",value:Number(t),rawValue:t,unit:n.current(),start:e,end:n.pos}}}function stringValue(n){const e=n.peek(),t=n.pos;let i=!1;if(isQuote$2(e)){for(n.pos++;!n.eof();)if(n.eat(e)){i=!0;break}else n.pos++;return n.start=t,{type:"StringValue",value:n.substring(t+1,n.pos-(i?1:0)),quote:e===Chars$2.SingleQuote?"single":"double",start:t,end:n.pos}}}function colorValue(n){const e=n.pos;if(n.eat(Chars$2.Hash)){const t=n.pos;let i="",r="";if(n.eatWhile(isHex)?(i=n.substring(t,n.pos),r=colorAlpha(n)):n.eat(Chars$2.Transparent)?(i="0",r=colorAlpha(n)||"0"):r=colorAlpha(n),i||r||n.eof()){const{r:g,g:y,b:k,a:L}=parseColor(i,r);return{type:"ColorValue",r:g,g:y,b:k,a:L,raw:n.substring(e+1,n.pos),start:e,end:n.pos}}else return createLiteral(n,e)}n.pos=e}function colorAlpha(n){const e=n.pos;return n.eat(Chars$2.Dot)?(n.start=e,n.eatWhile(isNumber$1$1)?n.current():"1"):""}function whiteSpace(n){const e=n.pos;if(n.eatWhile(isSpace$1))return{type:"WhiteSpace",start:e,end:n.pos}}function customProperty(n){const e=n.pos;if(n.eat(Chars$2.Dash)&&n.eat(Chars$2.Dash))return n.start=e,n.eatWhile(isKeyword),{type:"CustomProperty",value:n.current(),start:e,end:n.pos};n.pos=e}function bracket(n){const e=n.peek();if(isBracket$1(e))return{type:"Bracket",open:e===Chars$2.RoundBracketOpen,start:n.pos++,end:n.pos}}function operator(n){const e=operatorType(n.peek());if(e)return{type:"Operator",operator:e,start:n.pos++,end:n.pos}}function consumeNumber(n){const e=n.pos;n.eat(Chars$2.Dash);const t=n.pos,i=n.eatWhile(isNumber$1$1),r=n.pos;if(n.eat(Chars$2.Dot)){const g=n.eatWhile(isNumber$1$1);!i&&!g&&(n.pos=r)}return n.pos===t&&(n.pos=e),n.pos!==e}function isIdentPrefix(n){return n===Chars$2.At||n===Chars$2.Dollar}function operatorType(n){return n===Chars$2.Sibling&&OperatorType.Sibling||n===Chars$2.Excl&&OperatorType.Important||n===Chars$2.Comma&&OperatorType.ArgumentDelimiter||n===Chars$2.Colon&&OperatorType.PropertyDelimiter||n===Chars$2.Dash&&OperatorType.ValueDelimiter||void 0}function isHex(n){return isNumber$1$1(n)||isAlpha$1(n,65,70)}function isKeyword(n){return isAlphaNumericWord(n)||n===Chars$2.Dash}function isBracket$1(n){return n===Chars$2.RoundBracketOpen||n===Chars$2.RoundBracketClose}function isLiteral$1(n){return isAlphaWord(n)||n===Chars$2.Percent||n===Chars$2.Slash}function parseColor(n,e){let t="0",i="0",r="0",g=Number(e!=null&&e!==""?e:1);if(n==="t")g=0;else switch(n.length){case 0:break;case 1:t=i=r=n+n;break;case 2:t=i=r=n;break;case 3:t=n[0]+n[0],i=n[1]+n[1],r=n[2]+n[2];break;default:n+=n,t=n.slice(0,2),i=n.slice(2,4),r=n.slice(4,6)}return{r:parseInt(t,16),g:parseInt(i,16),b:parseInt(r,16),a:g}}function shouldConsumeDashAfter(n){return n.type==="ColorValue"||n.type==="NumberValue"&&!n.unit}function mergeTokens(n,e){let t=0,i=0;for(;e.length;){const r=last(e);if(r.type==="Literal"||r.type==="NumberValue")t=r.start,i||(i=r.end),e.pop();else break}t!==i&&e.push(createLiteral(n,t,i))}function last(n){return n[n.length-1]}function tokenScanner(n){return{tokens:n,start:0,pos:0,size:n.length}}function peek$2(n){return n.tokens[n.pos]}function readable(n){return n.pos{e(g,i,t),i.push(g),g.children.forEach(r),i.pop()};n.children.forEach(r)}function find$1$1(n,e){for(let t=0;t{const k=y.name&&e.snippets[y.name];if(!k||t.includes(k))return null;let L;try{L=parseAbbreviation(k,e)}catch(V){return r==null||r('Unable to parse "'.concat(k,'" snippet'),V),null}t.push(k),walkResolve(L,g),t.pop();for(const V of L.children){if(y.attributes){const z=V.attributes||[],j=y.attributes||[];V.attributes=i?j.concat(z):z.concat(j)}mergeNodes(y,V)}return L};return walkResolve(n,g),n}function walkResolve(n,e,t){let i=[];for(const r of n.children){const g=e(r);if(g){i=i.concat(g.children);const y=findDeepest(g);isNode$1(y.node)&&(y.node.children=y.node.children.concat(walkResolve(r,e)))}else i.push(r),r.children=walkResolve(r,e)}return n.children=i}function mergeNodes(n,e){n.selfClosing&&(e.selfClosing=!0),n.value!=null&&(e.value=n.value),n.repeat&&(e.repeat=n.repeat)}const expressionStart="{",expressionEnd="}";function createOutputStream(n,e=0){return{options:n,value:"",level:e,offset:0,line:0,column:0}}function push(n,e){const t=n.options["output.text"];_push(n,t(e,n.offset,n.line,n.column))}function pushString(n,e){const t=splitByLines$1(e);for(let i=0,r=t.length-1;i<=r;i++)push(n,t[i]),i!==r&&pushNewline(n,!0)}function pushNewline(n,e){const t=n.options["output.baseIndent"],i=n.options["output.newline"];push(n,i+t),n.line++,n.column=t.length,e&&pushIndent(n,e===!0?n.level:e)}function pushIndent(n,e=n.level){const t=n.options["output.indent"];push(n,t.repeat(Math.max(e,0)))}function pushField(n,e,t){const i=n.options["output.field"];_push(n,i(e,t,n.offset,n.line,n.column))}function tagName(n,e){return strCase(n,e.options["output.tagCase"])}function attrName(n,e){return strCase(n,e.options["output.attributeCase"])}function attrQuote(n,e,t){return n.valueType==="expression"?t?expressionStart:expressionEnd:e.options["output.attributeQuotes"]==="single"?"'":'"'}function isBooleanAttribute(n,e){return n.boolean||e.options["output.booleanAttributes"].includes((n.name||"").toLowerCase())}function selfClose(n){switch(n.options["output.selfClosingStyle"]){case"xhtml":return" /";case"xml":return"/";default:return""}}function isInline(n,e){return typeof n=="string"?e.options.inlineElements.includes(n.toLowerCase()):n.name?isInline(n.name,e):!!(n.value&&!n.attributes)}function splitByLines$1(n){return n.split(/\r\n|\r|\n/g)}function _push(n,e){n.value+=e,n.offset+=e.length,n.column+=e.length}function strCase(n,e){return e?e==="upper"?n.toUpperCase():n.toLowerCase():n}const elementMap={p:"span",ul:"li",ol:"li",table:"tr",tr:"td",tbody:"tr",thead:"tr",tfoot:"tr",colgroup:"col",select:"option",optgroup:"option",audio:"source",video:"source",object:"param",map:"area"};function implicitTag(n,e,t){!n.name&&n.attributes&&resolveImplicitTag(n,e,t)}function resolveImplicitTag(n,e,t){const i=getParentElement(e),r=t.context?t.context.name:"",g=lowercase(i?i.name:r);n.name=elementMap[g]||(isInline(g,t)?"span":"div")}function lowercase(n){return(n||"").toLowerCase()}function getParentElement(n){for(let e=n.length-1;e>=0;e--){const t=n[e];if(isNode$1(t))return t}}var latin={common:["lorem","ipsum","dolor","sit","amet","consectetur","adipisicing","elit"],words:["exercitationem","perferendis","perspiciatis","laborum","eveniet","sunt","iure","nam","nobis","eum","cum","officiis","excepturi","odio","consectetur","quasi","aut","quisquam","vel","eligendi","itaque","non","odit","tempore","quaerat","dignissimos","facilis","neque","nihil","expedita","vitae","vero","ipsum","nisi","animi","cumque","pariatur","velit","modi","natus","iusto","eaque","sequi","illo","sed","ex","et","voluptatibus","tempora","veritatis","ratione","assumenda","incidunt","nostrum","placeat","aliquid","fuga","provident","praesentium","rem","necessitatibus","suscipit","adipisci","quidem","possimus","voluptas","debitis","sint","accusantium","unde","sapiente","voluptate","qui","aspernatur","laudantium","soluta","amet","quo","aliquam","saepe","culpa","libero","ipsa","dicta","reiciendis","nesciunt","doloribus","autem","impedit","minima","maiores","repudiandae","ipsam","obcaecati","ullam","enim","totam","delectus","ducimus","quis","voluptates","dolores","molestiae","harum","dolorem","quia","voluptatem","molestias","magni","distinctio","omnis","illum","dolorum","voluptatum","ea","quas","quam","corporis","quae","blanditiis","atque","deserunt","laboriosam","earum","consequuntur","hic","cupiditate","quibusdam","accusamus","ut","rerum","error","minus","eius","ab","ad","nemo","fugit","officia","at","in","id","quos","reprehenderit","numquam","iste","fugiat","sit","inventore","beatae","repellendus","magnam","recusandae","quod","explicabo","doloremque","aperiam","consequatur","asperiores","commodi","optio","dolor","labore","temporibus","repellat","veniam","architecto","est","esse","mollitia","nulla","a","similique","eos","alias","dolore","tenetur","deleniti","porro","facere","maxime","corrupti"]},ru={common:["далеко-далеко","за","словесными","горами","в стране","гласных","и согласных","живут","рыбные","тексты"],words:["вдали","от всех","они","буквенных","домах","на берегу","семантика","большого","языкового","океана","маленький","ручеек","даль","журчит","по всей","обеспечивает","ее","всеми","необходимыми","правилами","эта","парадигматическая","страна","которой","жаренные","предложения","залетают","прямо","рот","даже","всемогущая","пунктуация","не","имеет","власти","над","рыбными","текстами","ведущими","безорфографичный","образ","жизни","однажды","одна","маленькая","строчка","рыбного","текста","имени","lorem","ipsum","решила","выйти","большой","мир","грамматики","великий","оксмокс","предупреждал","о","злых","запятых","диких","знаках","вопроса","коварных","точках","запятой","но","текст","дал","сбить","себя","толку","он","собрал","семь","своих","заглавных","букв","подпоясал","инициал","за","пояс","пустился","дорогу","взобравшись","первую","вершину","курсивных","гор","бросил","последний","взгляд","назад","силуэт","своего","родного","города","буквоград","заголовок","деревни","алфавит","подзаголовок","своего","переулка","грустный","реторический","вопрос","скатился","его","щеке","продолжил","свой","путь","дороге","встретил","рукопись","она","предупредила","моей","все","переписывается","несколько","раз","единственное","что","меня","осталось","это","приставка","возвращайся","ты","лучше","свою","безопасную","страну","послушавшись","рукописи","наш","продолжил","свой","путь","вскоре","ему","повстречался","коварный","составитель","рекламных","текстов","напоивший","языком","речью","заманивший","свое","агентство","которое","использовало","снова","снова","своих","проектах","если","переписали","то","живет","там","до","сих","пор"]},sp={common:["mujer","uno","dolor","más","de","poder","mismo","si"],words:["ejercicio","preferencia","perspicacia","laboral","paño","suntuoso","molde","namibia","planeador","mirar","demás","oficinista","excepción","odio","consecuencia","casi","auto","chicharra","velo","elixir","ataque","no","odio","temporal","cuórum","dignísimo","facilismo","letra","nihilista","expedición","alma","alveolar","aparte","león","animal","como","paria","belleza","modo","natividad","justo","ataque","séquito","pillo","sed","ex","y","voluminoso","temporalidad","verdades","racional","asunción","incidente","marejada","placenta","amanecer","fuga","previsor","presentación","lejos","necesariamente","sospechoso","adiposidad","quindío","pócima","voluble","débito","sintió","accesorio","falda","sapiencia","volutas","queso","permacultura","laudo","soluciones","entero","pan","litro","tonelada","culpa","libertario","mosca","dictado","reincidente","nascimiento","dolor","escolar","impedimento","mínima","mayores","repugnante","dulce","obcecado","montaña","enigma","total","deletéreo","décima","cábala","fotografía","dolores","molesto","olvido","paciencia","resiliencia","voluntad","molestias","magnífico","distinción","ovni","marejada","cerro","torre","y","abogada","manantial","corporal","agua","crepúsculo","ataque","desierto","laboriosamente","angustia","afortunado","alma","encefalograma","materialidad","cosas","o","renuncia","error","menos","conejo","abadía","analfabeto","remo","fugacidad","oficio","en","almácigo","vos","pan","represión","números","triste","refugiado","trote","inventor","corchea","repelente","magma","recusado","patrón","explícito","paloma","síndrome","inmune","autoinmune","comodidad","ley","vietnamita","demonio","tasmania","repeler","apéndice","arquitecto","columna","yugo","computador","mula","a","propósito","fantasía","alias","rayo","tenedor","deleznable","ventana","cara","anemia","corrupto"]};const vocabularies={ru,sp,latin},reLorem=/^lorem([a-z]*)(\d*)(-\d*)?$/i;function lorem(n,e,t){let i;if(n.name&&(i=n.name.match(reLorem))){const r=vocabularies[i[1]]||vocabularies.latin,g=i[2]?Math.max(1,Number(i[2])):30,y=i[3]?Math.max(g,Number(i[3].slice(1))):g,k=rand(g,y),L=n.repeat||findRepeater(e);n.name=n.attributes=void 0,n.value=[paragraph(r,k,!L||L.value===0)],n.repeat&&e.length>1&&resolveImplicitTag(n,e,t)}}function rand(n,e){return Math.floor(Math.random()*(e-n)+n)}function sample(n,e){const t=n.length,i=Math.min(t,e),r=[];for(;r.length3&&e<=6?i=rand(0,1):e>6&&e<=12?i=rand(0,2):i=rand(1,4);for(let r=0,g;r=0;e--){const t=n[e];if(t.type==="AbbreviationNode"&&t.repeat)return t.repeat}}function xsl(n){matchesName(n.name)&&n.attributes&&(n.children.length||n.value)&&(n.attributes=n.attributes.filter(isAllowed))}function isAllowed(n){return n.name!=="select"}function matchesName(n){return n==="xsl:variable"||n==="xsl:with-param"}const reElement=/^(-+)([a-z0-9]+[a-z0-9-]*)/i,reModifier=/^(_+)([a-z0-9]+[a-z0-9-_]*)/i,blockCandidates1=n=>/^[a-z]\-/i.test(n),blockCandidates2=n=>/^[a-z]/i.test(n);function bem(n,e,t){expandClassNames(n),expandShortNotation(n,e,t)}function expandClassNames(n){const e=getBEMData(n),t=[];for(const i of e.classNames){const r=i.indexOf("_");r>0&&!i.startsWith("-")?(t.push(i.slice(0,r)),t.push(i.slice(r))):t.push(i)}t.length&&(e.classNames=t.filter(uniqueClass),e.block=findBlockName(e.classNames),updateClass(n,e.classNames.join(" ")))}function expandShortNotation(n,e,t){const i=getBEMData(n),r=[],{options:g}=t,y=e.slice(1).concat(n);for(let L of i.classNames){let V="",z;const j=L;(z=L.match(reElement))&&(V=getBlockName(y,z[1].length,t.context)+g["bem.element"]+z[2],r.push(V),L=L.slice(z[0].length)),(z=L.match(reModifier))&&(V||(V=getBlockName(y,z[1].length),r.push(V)),r.push("".concat(V).concat(g["bem.modifier"]).concat(z[2])),L=L.slice(z[0].length)),L===j&&r.push(j)}const k=r.filter(uniqueClass);k.length&&updateClass(n,k.join(" "))}function getBEMData(n){if(!n._bem){let e="";if(n.attributes){for(const t of n.attributes)if(t.name==="class"&&t.value){e=stringifyValue(t.value);break}}n._bem=parseBEM(e)}return n._bem}function getBEMDataFromContext(n){return n._bem||(n._bem=parseBEM(n.attributes&&n.attributes.class||"")),n._bem}function parseBEM(n){const e=n?n.split(/\s+/):[];return{classNames:e,block:findBlockName(e)}}function getBlockName(n,e=0,t){let r=Math.max(n.length-e,0);do{const g=n[r];if(g){const y=getBEMData(g);if(y.block)return y.block}}while(0t.name==="input"||t.name==="textarea");e&&(n.attributes&&(n.attributes=n.attributes.filter(t=>!(t.name==="for"&&isEmptyAttribute(t)))),e.attributes&&(e.attributes=e.attributes.filter(t=>!(t.name==="id"&&isEmptyAttribute(t)))))}}function isEmptyAttribute(n){if(!n.value)return!0;if(n.value.length===1){const e=n.value[0];if(e&&typeof e!="string"&&!e.name)return!0}return!1}function walk$2(n,e,t){const i=(g,y,k)=>{const{parent:L,current:V}=t;t.parent=V,t.current=g,e(g,y,k,t,r),t.current=V,t.parent=L},r=(g,y,k)=>{t.ancestors.push(t.current),i(g,y,k),t.ancestors.pop()};n.children.forEach(i)}function createWalkState(n){return{current:null,parent:void 0,ancestors:[],config:n,field:1,out:createOutputStream(n.options)}}const caret=[{type:"Field",index:0,name:""}];function isSnippet(n){return n?!n.name&&!n.attributes:!1}function isInlineElement(n,e){return n?isInline(n,e):!1}function isField(n){return typeof n=="object"&&n.type==="Field"}function pushTokens(n,e){const{out:t}=e;let i=-1;for(const r of n)typeof r=="string"?pushString(t,r):(pushField(t,e.field+r.index,r.name),r.index>i&&(i=r.index));i!==-1&&(e.field+=i+1)}function splitByLines(n){const e=[];let t=[];for(const i of n)if(typeof i=="string"){const r=i.split(/\r\n?|\n/g);for(t.push(r.shift()||"");r.length;)e.push(t),t=[r.shift()||""]}else t.push(i);return t.length&&e.push(t),e}function shouldOutputAttribute(n){return!n.implied||n.valueType!=="raw"||!!n.value&&n.value.length>0}var TemplateChars;(function(n){n[n.Start=91]="Start",n[n.End=93]="End",n[n.Underscore=95]="Underscore",n[n.Dash=45]="Dash"})(TemplateChars||(TemplateChars={}));function template$1(n){const e=[],t={pos:0,text:n};let i,r=t.pos,g=t.pos;for(;t.pos=65&&n<=90}function isToken(n){return isTokenStart(n)||n>47&&n<58||n===TemplateChars.Underscore||n===TemplateChars.Dash}function createCommentState(n){const{options:e}=n;return{enabled:e["comment.enabled"],trigger:e["comment.trigger"],before:e["comment.before"]?template$1(e["comment.before"]):void 0,after:e["comment.after"]?template$1(e["comment.after"]):void 0}}function commentNodeBefore(n,e){shouldComment(n,e)&&e.comment.before&&output(n,e.comment.before,e)}function commentNodeAfter(n,e){shouldComment(n,e)&&e.comment.after&&output(n,e.comment.after,e)}function shouldComment(n,e){const{comment:t}=e;if(!t.enabled||!t.trigger||!n.name||!n.attributes)return!1;for(const i of n.attributes)if(i.name&&t.trigger.includes(i.name))return!0;return!1}function output(n,e,t){const i={},{out:r}=t;for(const g of n.attributes)g.name&&g.value&&(i[g.name.toUpperCase()]=g.value);for(const g of e)typeof g=="string"?pushString(r,g):i[g.name]&&(pushString(r,g.before),pushTokens(i[g.name],t),pushString(r,g.after))}const htmlTagRegex=/^<([\w\-:]+)[\s>]/,reservedKeywords=new Set(["for","while","of","async","await","const","let","var","continue","break","debugger","do","export","import","in","instanceof","new","return","switch","this","throw","try","catch","typeof","void","with","yield"]);function html$2(n,e){const t=createWalkState(e);return t.comment=createCommentState(e),walk$2(n,element$1,t),t.out.value}function element$1(n,e,t,i,r){const{out:g,config:y}=i,k=shouldFormat$1(n,e,t,i),L=getIndent(i);if(g.level+=L,k&&pushNewline(g,!0),n.name){const V=tagName(n.name,y);if(commentNodeBefore(n,i),pushString(g,"<".concat(V)),n.attributes)for(const z of n.attributes)shouldOutputAttribute(z)&&pushAttribute(z,i);if(n.selfClosing&&!n.children.length&&!n.value)pushString(g,"".concat(selfClose(y),">"));else{if(pushString(g,">"),!pushSnippet(n,i,r)){if(n.value){const z=n.value.some(hasNewline)||startsWithBlockTag(n.value,y);z&&pushNewline(i.out,++g.level),pushTokens(n.value,i),z&&pushNewline(i.out,--g.level)}if(n.children.forEach(r),!n.value&&!n.children.length){const z=y.options["output.formatLeafNode"]||y.options["output.formatForce"].includes(n.name);z&&pushNewline(i.out,++g.level),pushTokens(caret,i),z&&pushNewline(i.out,--g.level)}}pushString(g,"")),commentNodeAfter(n,i)}}else!pushSnippet(n,i,r)&&n.value&&(pushTokens(n.value,i),n.children.forEach(r));if(k&&e===t.length-1&&i.parent){const V=isSnippet(i.parent)?0:1;pushNewline(g,g.level-V)}g.level-=L}function pushAttribute(n,e){const{out:t,config:i}=e;if(n.name){const r=i.options["markup.attributes"],g=i.options["markup.valuePrefix"];let{name:y,value:k}=n,L=attrQuote(n,i,!0),V=attrQuote(n,i);r&&(y=getMultiValue(y,r,n.multiple)||y),y=attrName(y,i),i.options["jsx.enabled"]&&n.multiple&&(L=expressionStart,V=expressionEnd);const z=g?getMultiValue(n.name,g,n.multiple):null;if(z&&(k==null?void 0:k.length)===1&&typeof k[0]=="string"){const j=k[0];k=[isPropKey(j)?"".concat(z,".").concat(j):"".concat(z,"['").concat(j,"']")],i.options["jsx.enabled"]&&(L=expressionStart,V=expressionEnd)}isBooleanAttribute(n,i)&&!k?i.options["output.compactBoolean"]||(k=[y]):k||(k=caret),pushString(t," "+y),k?(pushString(t,"="+L),pushTokens(k,e),pushString(t,V)):i.options["output.selfClosingStyle"]!=="html"&&pushString(t,"="+L+V)}}function pushSnippet(n,e,t){if(n.value&&n.children.length){const i=n.value.findIndex(isField);if(i!==-1){pushTokens(n.value.slice(0,i),e);const r=e.out.line;let g=i+1;return n.children.forEach(t),e.out.line!==r&&typeof n.value[g]=="string"&&pushString(e.out,n.value[g++].trimLeft()),pushTokens(n.value.slice(g),e),!0}}return!1}function shouldFormat$1(n,e,t,i){const{config:r,parent:g}=i;if(!r.options["output.format"]||e===0&&!g||g&&isSnippet(g)&&t.length===1)return!1;if(isSnippet(n)&&(isSnippet(t[e-1])||isSnippet(t[e+1])||n.value.some(hasNewline)||n.value.some(isField)&&n.children.length))return!0;if(isInline(n,r)){if(e===0){for(let y=0;y=r.options["output.inlineBreak"])return!0}for(let y=0,k=n.children.length;ytypeof r=="string"?r.replace(/\s+/g,"."):r);pushTokens(i,e)}else pushString(e.out,"#"),pushTokens(t.value,e)}function pushSecondaryAttributes(n,e){if(n.length){const{out:t,config:i,options:r}=e;r.beforeAttribute&&pushString(t,r.beforeAttribute);for(let g=0;gk&&(k=V)}r.level++;for(let L=0;Lr)return 0;const g=Math.min(i,r),y=Math.max(i,r);let k=1,L=1,V=y,z=0,j=0,ie=!1,oe=!1;for(;k>4).toString(16)}function toHex$1(n){return pad(n.toString(16),2)}function pad(n,e){for(;n.lengthg.snippet));for(let g=0;g0)}}function propertyValue(n,e,t){const i=t.options["stylesheet.json"],r=i?getSingleNumeric(n):null;if(r&&(!r.unit||r.unit==="px"))push(e,String(r.value));else{const g=getQuote(t);i&&push(e,g);for(let y=0;yt.toUpperCase())}function getQuote(n){return n.options["stylesheet.jsonDoubleQuotes"]?'"':"'"}const gradientName="lg";function parse$3(n,e){var t;const i=((t=e.cache)===null||t===void 0?void 0:t.stylesheetSnippets)||convertSnippets(e.snippets),r=[];e.cache&&(e.cache.stylesheetSnippets=i),typeof n=="string"&&(n=parse$2$1(n,{value:isValueScope(e)}));const g=getSnippetsForScope(i,e);for(const y of n){const k=resolveNode(y,g,e);k&&r.push(k)}return r}function convertSnippets(n){const e=[];for(const t of Object.keys(n))e.push(createSnippet(t,n[t]));return nest(e)}function resolveNode(n,e,t){if(!resolveGradient(n,t)){const i=t.options["stylesheet.fuzzySearchMinScore"];if(isValueScope(t)){const r=t.context.name,g=e.find(y=>y.type===CSSSnippetType.Property&&y.property===r);resolveValueKeywords(n,t,g,i),n.snippet=g}else if(n.name){const r=findBestMatch(n.name,e,i,!0);if(n.snippet=r,r){const g=r.type===CSSSnippetType.Property?resolveAsProperty(n,r,t):resolveAsSnippet(n,r);if(g)n=g;else if(t.options["stylesheet.strictMatch"])return null}}}return(n.name||t.context)&&resolveNumericValue(n,t),n}function resolveGradient(n,e){let t=null;const i=n.value.length===1?n.value[0]:null;if(i&&i.value.length===1){const r=i.value[0];r.type==="FunctionCall"&&r.name===gradientName&&(t=r)}return t||n.name===gradientName?(t?t=Object.assign(Object.assign({},t),{name:"linear-gradient"}):t={type:"FunctionCall",name:"linear-gradient",arguments:[cssValue(field(0,""))]},e.context||(n.name="background-image"),n.value=[cssValue(t)],!0):!1}function resolveAsProperty(n,e,t){const i=n.name,r=getUnmatchedPart(i,e.key);if(r){if(n.value.length)return null;const g=resolveKeyword(r,t,e);if(!g)return null;n.value.push(cssValue(g))}if(n.name=e.property,n.value.length)resolveValueKeywords(n,t,e);else if(e.value.length){const g=e.value[0];n.value=e.value.length===1||g.some(hasField)?g:g.map(y=>wrapWithField(y,t))}return n}function resolveValueKeywords(n,e,t,i){for(const r of n.value){const g=[];for(const y of r.value)if(y.type==="Literal")g.push(resolveKeyword(y.value,e,t,i)||y);else if(y.type==="FunctionCall"){const k=resolveKeyword(y.name,e,t,i);k&&k.type==="FunctionCall"?g.push(Object.assign(Object.assign({},k),{arguments:y.arguments.concat(k.arguments.slice(y.arguments.length))})):g.push(y)}else g.push(y);r.value=g}}function resolveAsSnippet(n,e){let t=0,i;const r=/\$\{(\d+)(:[^}]+)?\}/g,g=n.value[0],y=[];for(;i=r.exec(e.value);)t!==i.index&&y.push(literal(e.value.slice(t,i.index))),t=i.index+i[0].length,g&&g.value.length?y.push(g.value.shift()):y.push(field(Number(i[1]),i[2]?i[2].slice(1):""));const k=e.value.slice(t);return k&&y.push(literal(k)),n.name=void 0,n.value=[cssValue(...y)],n}function findBestMatch(n,e,t=0,i=!1){let r=null,g=0;for(const y of e){const k=scoreMatch(n,getScoringPart(y),i);if(k===1)return y;k&&k>=g&&(g=k,r=y)}return g>=t?r:null}function getScoringPart(n){return typeof n=="string"?n:n.key}function getUnmatchedPart(n,e){for(let t=0,i=0;tt.type===CSSSnippetType.Raw);if(e.context.name===CSSAbbreviationScope.Property)return n.filter(t=>t.type===CSSSnippetType.Property)}return n}var markupSnippets={a:"a[href]","a:blank":"a[href='http://${0}' target='_blank' rel='noopener noreferrer']","a:link":"a[href='http://${0}']","a:mail":"a[href='mailto:${0}']","a:tel":"a[href='tel:+${0}']",abbr:"abbr[title]","acr|acronym":"acronym[title]",base:"base[href]/",basefont:"basefont/",br:"br/",frame:"frame/",hr:"hr/",bdo:"bdo[dir]","bdo:r":"bdo[dir=rtl]","bdo:l":"bdo[dir=ltr]",col:"col/",link:"link[rel=stylesheet href]/","link:css":"link[href='${1:style}.css']","link:print":"link[href='${1:print}.css' media=print]","link:favicon":"link[rel='shortcut icon' type=image/x-icon href='${1:favicon.ico}']","link:mf|link:manifest":"link[rel='manifest' href='${1:manifest.json}']","link:touch":"link[rel=apple-touch-icon href='${1:favicon.png}']","link:rss":"link[rel=alternate type=application/rss+xml title=RSS href='${1:rss.xml}']","link:atom":"link[rel=alternate type=application/atom+xml title=Atom href='${1:atom.xml}']","link:im|link:import":"link[rel=import href='${1:component}.html']",meta:"meta/","meta:utf":"meta[http-equiv=Content-Type content='text/html;charset=UTF-8']","meta:vp":"meta[name=viewport content='width=${1:device-width}, initial-scale=${2:1.0}']","meta:compat":"meta[http-equiv=X-UA-Compatible content='${1:IE=7}']","meta:edge":"meta:compat[content='${1:ie=edge}']","meta:redirect":"meta[http-equiv=refresh content='0; url=${1:http://example.com}']","meta:refresh":"meta[http-equiv=refresh content='${1:5}']","meta:kw":"meta[name=keywords content]","meta:desc":"meta[name=description content]",style:"style",script:"script","script:src":"script[src]","script:module":"script[type=module src]",img:"img[src alt]/","img:s|img:srcset":"img[srcset src alt]","img:z|img:sizes":"img[sizes srcset src alt]",picture:"picture","src|source":"source/","src:sc|source:src":"source[src type]","src:s|source:srcset":"source[srcset]","src:t|source:type":"source[srcset type='${1:image/}']","src:z|source:sizes":"source[sizes srcset]","src:m|source:media":"source[media='(${1:min-width: })' srcset]","src:mt|source:media:type":"source:media[type='${2:image/}']","src:mz|source:media:sizes":"source:media[sizes srcset]","src:zt|source:sizes:type":"source[sizes srcset type='${1:image/}']",iframe:"iframe[src frameborder=0]",embed:"embed[src type]/",object:"object[data type]",param:"param[name value]/",map:"map[name]",area:"area[shape coords href alt]/","area:d":"area[shape=default]","area:c":"area[shape=circle]","area:r":"area[shape=rect]","area:p":"area[shape=poly]",form:"form[action]","form:get":"form[method=get]","form:post":"form[method=post]",label:"label[for]",input:"input[type=${1:text}]/",inp:"input[name=${1} id=${1}]","input:h|input:hidden":"input[type=hidden name]","input:t|input:text":"inp[type=text]","input:search":"inp[type=search]","input:email":"inp[type=email]","input:url":"inp[type=url]","input:p|input:password":"inp[type=password]","input:datetime":"inp[type=datetime]","input:date":"inp[type=date]","input:datetime-local":"inp[type=datetime-local]","input:month":"inp[type=month]","input:week":"inp[type=week]","input:time":"inp[type=time]","input:tel":"inp[type=tel]","input:number":"inp[type=number]","input:color":"inp[type=color]","input:c|input:checkbox":"inp[type=checkbox]","input:r|input:radio":"inp[type=radio]","input:range":"inp[type=range]","input:f|input:file":"inp[type=file]","input:s|input:submit":"input[type=submit value]","input:i|input:image":"input[type=image src alt]","input:b|input:btn|input:button":"input[type=button value]","input:reset":"input:button[type=reset]",isindex:"isindex/",select:"select[name=${1} id=${1}]","select:d|select:disabled":"select[disabled.]","opt|option":"option[value]",textarea:"textarea[name=${1} id=${1}]","tarea:c|textarea:cols":"textarea[name=${1} id=${1} cols=${2:30}]","tarea:r|textarea:rows":"textarea[name=${1} id=${1} rows=${3:10}]","tarea:cr|textarea:cols:rows":"textarea[name=${1} id=${1} cols=${2:30} rows=${3:10}]",marquee:"marquee[behavior direction]","menu:c|menu:context":"menu[type=context]","menu:t|menu:toolbar":"menu[type=toolbar]",video:"video[src]",audio:"audio[src]","html:xml":"html[xmlns=http://www.w3.org/1999/xhtml]",keygen:"keygen/",command:"command/","btn:s|button:s|button:submit":"button[type=submit]","btn:r|button:r|button:reset":"button[type=reset]","btn:b|button:b|button:button":"button[type=button]","btn:d|button:d|button:disabled":"button[disabled.]","fst:d|fset:d|fieldset:d|fieldset:disabled":"fieldset[disabled.]",bq:"blockquote",fig:"figure",figc:"figcaption",pic:"picture",ifr:"iframe",emb:"embed",obj:"object",cap:"caption",colg:"colgroup",fst:"fieldset",btn:"button",optg:"optgroup",tarea:"textarea",leg:"legend",sect:"section",art:"article",hdr:"header",ftr:"footer",adr:"address",dlg:"dialog",str:"strong",prog:"progress",mn:"main",tem:"template",fset:"fieldset",datal:"datalist",kg:"keygen",out:"output",det:"details",sum:"summary",cmd:"command",data:"data[value]",meter:"meter[value]",time:"time[datetime]","ri:d|ri:dpr":"img:s","ri:v|ri:viewport":"img:z","ri:a|ri:art":"pic>src:m+img","ri:t|ri:type":"pic>src:t+img","!!!":"{}",doc:"html[lang=${lang}]>(head>meta[charset=${charset}]+meta:vp+title{${1:Document}})+body","!|html:5":"!!!+doc",c:"{}","cc:ie":"{}","cc:noie":"{${0}}"},stylesheetSnippets={"@f":"@font-face {\n font-family: ${1};\n src: url(${2});\n}","@ff":"@font-face {\n font-family: '${1:FontName}';\n src: url('${2:FileName}.eot');\n src: url('${2:FileName}.eot?#iefix') format('embedded-opentype'),\n url('${2:FileName}.woff') format('woff'),\n url('${2:FileName}.ttf') format('truetype'),\n url('${2:FileName}.svg#${1:FontName}') format('svg');\n font-style: ${3:normal};\n font-weight: ${4:normal};\n}","@i|@import":"@import url(${0});","@kf":"@keyframes ${1:identifier} {\n ${2}\n}","@m|@media":"@media ${1:screen} {\n ${0}\n}",ac:"align-content:start|end|flex-start|flex-end|center|space-between|space-around|stretch|space-evenly",ai:"align-items:start|end|flex-start|flex-end|center|baseline|stretch",anim:"animation:${1:name} ${2:duration} ${3:timing-function} ${4:delay} ${5:iteration-count} ${6:direction} ${7:fill-mode}",animdel:"animation-delay:time",animdir:"animation-direction:normal|reverse|alternate|alternate-reverse",animdur:"animation-duration:${1:0}s",animfm:"animation-fill-mode:both|forwards|backwards",animic:"animation-iteration-count:1|infinite",animn:"animation-name",animps:"animation-play-state:running|paused",animtf:"animation-timing-function:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(${1:0.1}, ${2:0.7}, ${3:1.0}, ${3:0.1})",ap:"appearance:none",as:"align-self:start|end|auto|flex-start|flex-end|center|baseline|stretch",b:"bottom",bd:"border:${1:1px} ${2:solid} ${3:#000}",bdb:"border-bottom:${1:1px} ${2:solid} ${3:#000}",bdbc:"border-bottom-color:${1:#000}",bdbi:"border-bottom-image:url(${0})",bdbk:"border-break:close",bdbli:"border-bottom-left-image:url(${0})|continue",bdblrs:"border-bottom-left-radius",bdbri:"border-bottom-right-image:url(${0})|continue",bdbrrs:"border-bottom-right-radius",bdbs:"border-bottom-style",bdbw:"border-bottom-width",bdc:"border-color:${1:#000}",bdci:"border-corner-image:url(${0})|continue",bdcl:"border-collapse:collapse|separate",bdf:"border-fit:repeat|clip|scale|stretch|overwrite|overflow|space",bdi:"border-image:url(${0})",bdl:"border-left:${1:1px} ${2:solid} ${3:#000}",bdlc:"border-left-color:${1:#000}",bdlen:"border-length",bdli:"border-left-image:url(${0})",bdls:"border-left-style",bdlw:"border-left-width",bdr:"border-right:${1:1px} ${2:solid} ${3:#000}",bdrc:"border-right-color:${1:#000}",bdri:"border-right-image:url(${0})",bdrs:"border-radius",bdrst:"border-right-style",bdrw:"border-right-width",bds:"border-style:none|hidden|dotted|dashed|solid|double|dot-dash|dot-dot-dash|wave|groove|ridge|inset|outset",bdsp:"border-spacing",bdt:"border-top:${1:1px} ${2:solid} ${3:#000}",bdtc:"border-top-color:${1:#000}",bdti:"border-top-image:url(${0})",bdtli:"border-top-left-image:url(${0})|continue",bdtlrs:"border-top-left-radius",bdtri:"border-top-right-image:url(${0})|continue",bdtrrs:"border-top-right-radius",bdts:"border-top-style",bdtw:"border-top-width",bdw:"border-width",bbs:"border-block-start",bbe:"border-block-end",bis:"border-inline-start",bie:"border-inline-end",bfv:"backface-visibility:hidden|visible",bg:"background:${1:#000}","bg:n":"background: none",bga:"background-attachment:fixed|scroll",bgbk:"background-break:bounding-box|each-box|continuous",bgc:"background-color:${1:#fff}",bgcp:"background-clip:padding-box|border-box|content-box|no-clip",bgi:"background-image:url(${0})",bgo:"background-origin:padding-box|border-box|content-box",bgp:"background-position:${1:0} ${2:0}",bgpx:"background-position-x",bgpy:"background-position-y",bgr:"background-repeat:no-repeat|repeat-x|repeat-y|space|round",bgsz:"background-size:contain|cover",bs:"block-size",bxsh:"box-shadow:${1:inset }${2:hoff} ${3:voff} ${4:blur} ${5:#000}|none",bxsz:"box-sizing:border-box|content-box|border-box",c:"color:${1:#000}",cg:"column-gap",cr:"color:rgb(${1:0}, ${2:0}, ${3:0})",cra:"color:rgba(${1:0}, ${2:0}, ${3:0}, ${4:.5})",cl:"clear:both|left|right|none",cm:"/* ${0} */",cnt:"content:'${0}'|normal|open-quote|no-open-quote|close-quote|no-close-quote|attr(${0})|counter(${0})|counters(${0})",coi:"counter-increment",colm:"columns",colmc:"column-count",colmf:"column-fill",colmg:"column-gap",colmr:"column-rule",colmrc:"column-rule-color",colmrs:"column-rule-style",colmrw:"column-rule-width",colms:"column-span",colmw:"column-width",cor:"counter-reset",cp:"clip:auto|rect(${1:top} ${2:right} ${3:bottom} ${4:left})",cps:"caption-side:top|bottom",cur:"cursor:pointer|auto|default|crosshair|hand|help|move|pointer|text",d:"display:block|none|flex|inline-flex|inline|inline-block|grid|inline-grid|subgrid|list-item|run-in|contents|table|inline-table|table-caption|table-column|table-column-group|table-header-group|table-footer-group|table-row|table-row-group|table-cell|ruby|ruby-base|ruby-base-group|ruby-text|ruby-text-group",ec:"empty-cells:show|hide",f:"font:${1:1em} ${2:sans-serif}",fd:"font-display:auto|block|swap|fallback|optional",fef:"font-effect:none|engrave|emboss|outline",fem:"font-emphasize",femp:"font-emphasize-position:before|after",fems:"font-emphasize-style:none|accent|dot|circle|disc",ff:"font-family:serif|sans-serif|cursive|fantasy|monospace",fft:'font-family:"Times New Roman", Times, Baskerville, Georgia, serif',ffa:'font-family:Arial, "Helvetica Neue", Helvetica, sans-serif',ffv:"font-family:Verdana, Geneva, sans-serif",fl:"float:left|right|none",fs:"font-style:italic|normal|oblique",fsm:"font-smoothing:antialiased|subpixel-antialiased|none",fst:"font-stretch:normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded",fv:"font-variant:normal|small-caps",fvs:"font-variation-settings:normal|inherit|initial|unset",fw:"font-weight:normal|bold|bolder|lighter",fx:"flex",fxb:"flex-basis:fill|max-content|min-content|fit-content|content",fxd:"flex-direction:row|row-reverse|column|column-reverse",fxf:"flex-flow",fxg:"flex-grow",fxsh:"flex-shrink",fxw:"flex-wrap:nowrap|wrap|wrap-reverse",fsz:"font-size",fsza:"font-size-adjust",g:"gap",gtc:"grid-template-columns:repeat(${0})|minmax()",gtr:"grid-template-rows:repeat(${0})|minmax()",gta:"grid-template-areas",gt:"grid-template",gg:"grid-gap",gcg:"grid-column-gap",grg:"grid-row-gap",gac:"grid-auto-columns:auto|minmax()",gar:"grid-auto-rows:auto|minmax()",gaf:"grid-auto-flow:row|column|dense|inherit|initial|unset",gd:"grid",gc:"grid-column",gcs:"grid-column-start",gce:"grid-column-end",gr:"grid-row",grs:"grid-row-start",gre:"grid-row-end",ga:"grid-area",h:"height",is:"inline-size",jc:"justify-content:start|end|stretch|flex-start|flex-end|center|space-between|space-around|space-evenly",ji:"justify-items:start|end|center|stretch",js:"justify-self:start|end|center|stretch",l:"left",lg:"background-image:linear-gradient(${1})",lh:"line-height",lis:"list-style",lisi:"list-style-image",lisp:"list-style-position:inside|outside",list:"list-style-type:disc|circle|square|decimal|decimal-leading-zero|lower-roman|upper-roman",lts:"letter-spacing:normal",m:"margin",mah:"max-height",mar:"max-resolution",maw:"max-width",mb:"margin-bottom",mih:"min-height",mir:"min-resolution",miw:"min-width",ml:"margin-left",mr:"margin-right",mt:"margin-top",mbs:"margin-block-start",mbe:"margin-block-end",mis:"margin-inline-start",mie:"margin-inline-end",ol:"outline",olc:"outline-color:${1:#000}|invert",olo:"outline-offset",ols:"outline-style:none|dotted|dashed|solid|double|groove|ridge|inset|outset",olw:"outline-width:thin|medium|thick","op|opa":"opacity",ord:"order",ori:"orientation:landscape|portrait",orp:"orphans",ov:"overflow:hidden|visible|hidden|scroll|auto",ovs:"overflow-style:scrollbar|auto|scrollbar|panner|move|marquee",ovx:"overflow-x:hidden|visible|hidden|scroll|auto",ovy:"overflow-y:hidden|visible|hidden|scroll|auto",p:"padding",pb:"padding-bottom",pgba:"page-break-after:auto|always|left|right",pgbb:"page-break-before:auto|always|left|right",pgbi:"page-break-inside:auto|avoid",pl:"padding-left",pos:"position:relative|absolute|relative|fixed|static",pr:"padding-right",pt:"padding-top",pbs:"padding-block-start",pbe:"padding-block-end",pis:"padding-inline-start",pie:"padding-inline-end",spbs:"scroll-padding-block-start",spbe:"scroll-padding-block-end",spis:"scroll-padding-inline-start",spie:"scroll-padding-inline-end",q:"quotes",qen:"quotes:'\\201C' '\\201D' '\\2018' '\\2019'",qru:"quotes:'\\00AB' '\\00BB' '\\201E' '\\201C'",r:"right",rg:"row-gap",rsz:"resize:none|both|horizontal|vertical",t:"top",ta:"text-align:left|center|right|justify",tal:"text-align-last:left|center|right",tbl:"table-layout:fixed",td:"text-decoration:none|underline|overline|line-through",te:"text-emphasis:none|accent|dot|circle|disc|before|after",th:"text-height:auto|font-size|text-size|max-size",ti:"text-indent",tj:"text-justify:auto|inter-word|inter-ideograph|inter-cluster|distribute|kashida|tibetan",to:"text-outline:${1:0} ${2:0} ${3:#000}",tov:"text-overflow:ellipsis|clip",tr:"text-replace",trf:"transform:${1}|skewX(${1:angle})|skewY(${1:angle})|scale(${1:x}, ${2:y})|scaleX(${1:x})|scaleY(${1:y})|scaleZ(${1:z})|scale3d(${1:x}, ${2:y}, ${3:z})|rotate(${1:angle})|rotateX(${1:angle})|rotateY(${1:angle})|rotateZ(${1:angle})|translate(${1:x}, ${2:y})|translateX(${1:x})|translateY(${1:y})|translateZ(${1:z})|translate3d(${1:tx}, ${2:ty}, ${3:tz})",trfo:"transform-origin",trfs:"transform-style:preserve-3d",trs:"transition:${1:prop} ${2:time}",trsde:"transition-delay:${1:time}",trsdu:"transition-duration:${1:time}",trsp:"transition-property:${1:prop}",trstf:"transition-timing-function:${1:fn}",tsh:"text-shadow:${1:hoff} ${2:voff} ${3:blur} ${4:#000}",tt:"text-transform:uppercase|lowercase|capitalize|none",tw:"text-wrap:none|normal|unrestricted|suppress",us:"user-select:none",v:"visibility:hidden|visible|collapse",va:"vertical-align:top|super|text-top|middle|baseline|bottom|text-bottom|sub","w|wid":"width",whs:"white-space:nowrap|pre|pre-wrap|pre-line|normal",whsc:"white-space-collapse:normal|keep-all|loose|break-strict|break-all",wido:"widows",wm:"writing-mode:lr-tb|lr-tb|lr-bt|rl-tb|rl-bt|tb-rl|tb-lr|bt-lr|bt-rl",wob:"word-break:normal|keep-all|break-all",wos:"word-spacing",wow:"word-wrap:none|unrestricted|suppress|break-word|normal",z:"z-index",zom:"zoom:1"},xslSnippets={"tm|tmatch":"xsl:template[match mode]","tn|tname":"xsl:template[name]",call:"xsl:call-template[name]",ap:"xsl:apply-templates[select mode]",api:"xsl:apply-imports",imp:"xsl:import[href]",inc:"xsl:include[href]",ch:"xsl:choose","wh|xsl:when":"xsl:when[test]",ot:"xsl:otherwise",if:"xsl:if[test]",par:"xsl:param[name]",pare:"xsl:param[name select]",var:"xsl:variable[name]",vare:"xsl:variable[name select]",wp:"xsl:with-param[name select]",key:"xsl:key[name match use]",elem:"xsl:element[name]",attr:"xsl:attribute[name]",attrs:"xsl:attribute-set[name]",cp:"xsl:copy[select]",co:"xsl:copy-of[select]",val:"xsl:value-of[select]","for|each":"xsl:for-each[select]",tex:"xsl:text",com:"xsl:comment",msg:"xsl:message[terminate=no]",fall:"xsl:fallback",num:"xsl:number[value]",nam:"namespace-alias[stylesheet-prefix result-prefix]",pres:"xsl:preserve-space[elements]",strip:"xsl:strip-space[elements]",proc:"xsl:processing-instruction[name]",sort:"xsl:sort[select order]",choose:"xsl:choose>xsl:when+xsl:otherwise",xsl:"!!!+xsl:stylesheet[version=1.0 xmlns:xsl=http://www.w3.org/1999/XSL/Transform]>{\n|}","!!!":'{}'},pugSnippets={"!!!":"{doctype html}"},variables={lang:"en",locale:"en-US",charset:"UTF-8",indentation:" ",newline:"\n"};const defaultSyntaxes={markup:"html",stylesheet:"css"},defaultOptions$1$1={inlineElements:["a","abbr","acronym","applet","b","basefont","bdo","big","br","button","cite","code","del","dfn","em","font","i","iframe","img","input","ins","kbd","label","map","object","q","s","samp","select","small","span","strike","strong","sub","sup","textarea","tt","u","var"],"output.indent":" ","output.baseIndent":"","output.newline":"\n","output.tagCase":"","output.attributeCase":"","output.attributeQuotes":"double","output.format":!0,"output.formatLeafNode":!1,"output.formatSkip":["html"],"output.formatForce":["body"],"output.inlineBreak":3,"output.compactBoolean":!1,"output.booleanAttributes":["contenteditable","seamless","async","autofocus","autoplay","checked","controls","defer","disabled","formnovalidate","hidden","ismap","loop","multiple","muted","novalidate","readonly","required","reversed","selected","typemustmatch"],"output.reverseAttributes":!1,"output.selfClosingStyle":"html","output.field":(n,e)=>e,"output.text":n=>n,"markup.href":!0,"comment.enabled":!1,"comment.trigger":["id","class"],"comment.before":"","comment.after":"\n","bem.enabled":!1,"bem.element":"__","bem.modifier":"_","jsx.enabled":!1,"stylesheet.keywords":["auto","inherit","unset","none"],"stylesheet.unitless":["z-index","line-height","opacity","font-weight","zoom","flex","flex-grow","flex-shrink"],"stylesheet.shortHex":!0,"stylesheet.between":": ","stylesheet.after":";","stylesheet.intUnit":"px","stylesheet.floatUnit":"em","stylesheet.unitAliases":{e:"em",p:"%",x:"ex",r:"rem"},"stylesheet.json":!1,"stylesheet.jsonDoubleQuotes":!1,"stylesheet.fuzzySearchMinScore":0,"stylesheet.strictMatch":!1},defaultConfig$1={type:"markup",syntax:"html",variables,snippets:{},options:defaultOptions$1$1},syntaxConfig={markup:{snippets:parseSnippets(markupSnippets)},xhtml:{options:{"output.selfClosingStyle":"xhtml"}},xml:{options:{"output.selfClosingStyle":"xml"}},xsl:{snippets:parseSnippets(xslSnippets),options:{"output.selfClosingStyle":"xml"}},jsx:{options:{"jsx.enabled":!0,"markup.attributes":{class:"className","class*":"styleName",for:"htmlFor"},"markup.valuePrefix":{"class*":"styles"}}},vue:{options:{"markup.attributes":{"class*":":class"}}},svelte:{options:{"jsx.enabled":!0}},pug:{snippets:parseSnippets(pugSnippets)},stylesheet:{snippets:parseSnippets(stylesheetSnippets)},sass:{options:{"stylesheet.after":""}},stylus:{options:{"stylesheet.between":" ","stylesheet.after":""}}};function parseSnippets(n){const e={};return Object.keys(n).forEach(t=>{for(const i of t.split("|"))e[i]=n[t]}),e}function resolveConfig(n={},e={}){const t=n.type||"markup",i=n.syntax||defaultSyntaxes[t];return Object.assign(Object.assign(Object.assign({},defaultConfig$1),n),{type:t,syntax:i,variables:mergedData(t,i,"variables",n,e),snippets:mergedData(t,i,"snippets",n,e),options:mergedData(t,i,"options",n,e)})}function mergedData(n,e,t,i,r={}){const g=syntaxConfig[n],y=r[n],k=syntaxConfig[e],L=r[e];return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},defaultConfig$1[t]),g&&g[t]),k&&k[t]),y&&y[t]),L&&L[t]),i[t])}function backwardScanner(n,e=0){return{text:n,start:e,pos:n.length}}function sol(n){return n.pos===n.start}function peek(n,e=0){return n.text.charCodeAt(n.pos-1+e)}function previous(n){if(!sol(n))return n.text.charCodeAt(--n.pos)}function consume(n,e){if(sol(n))return!1;const t=typeof e=="function"?e(peek(n)):e===peek(n);return t&&n.pos--,!!t}function consumeWhile(n,e){const t=n.pos;for(;consume(n,e););return n.pos=65&&n<=90}function isNumber$4(n){return n>47&&n<58}function isWhiteSpace(n){return n===Chars.Space||n===Chars.Tab}function isUnquotedValue(n){return!isNaN(n)&&n!==Chars.Equals&&!isWhiteSpace(n)&&!isQuote$3(n)}function isOpenBracket(n){return n===Brackets.CurlyL||n===Brackets.RoundL||n===Brackets.SquareL}function isCloseBracket(n){return n===Brackets.CurlyR||n===Brackets.RoundR||n===Brackets.SquareR}const code=n=>n.charCodeAt(0),specialChars="#.*:$-_!@%^+>/".split("").map(code),defaultOptions$2={type:"markup",lookAhead:!0,prefix:""};function extractAbbreviation$1(n,e=n.length,t={}){const i=Object.assign(Object.assign({},defaultOptions$2),t);e=Math.min(n.length,Math.max(0,e==null?n.length:e)),i.lookAhead&&(e=offsetPastAutoClosed(n,e,i));let r;const g=getStartOffset(n,e,i.prefix||"");if(g===-1)return;const y=backwardScanner(n,g);y.pos=e;const k=[];for(;!sol(y);){if(r=peek(y),k.includes(Brackets.CurlyR)){if(r===Brackets.CurlyR){k.push(r),y.pos--;continue}if(r!==Brackets.CurlyL){y.pos--;continue}}if(isCloseBrace(r,i.type))k.push(r);else if(isOpenBrace(r,i.type)){if(k.pop()!==bracePairs[r])break}else if(k.includes(Brackets.SquareR)||k.includes(Brackets.CurlyR)){y.pos--;continue}else if(isHtml(y)||!isAbbreviation(r))break;y.pos--}if(!k.length&&y.pos!==e){const L=n.slice(y.pos,e).replace(/^[*+>^]+/,"");return{abbreviation:L,location:e-L.length,start:t.prefix?g-t.prefix.length:e-L.length,end:e}}}function offsetPastAutoClosed(n,e,t){for(isQuote$3(n.charCodeAt(e))&&e++;isCloseBrace(n.charCodeAt(e),t.type);)e++;return e}function getStartOffset(n,e,t){if(!t)return 0;const i=backwardScanner(n),r=t.split("").map(code);i.pos=e;let g;for(;!sol(i);)if(!(consumePair(i,Brackets.SquareR,Brackets.SquareL)||consumePair(i,Brackets.CurlyR,Brackets.CurlyL))){if(g=i.pos,consumeArray(i,r))return g;i.pos--}return-1}function consumePair(n,e,t){const i=n.pos;if(consume(n,e))for(;!sol(n);){if(consume(n,t))return!0;n.pos--}return n.pos=i,!1}function consumeArray(n,e){const t=n.pos;let i=!1;for(let r=e.length-1;r>=0&&!sol(n)&&consume(n,e[r]);r--)i=r===0;return i||(n.pos=t),i}function isAbbreviation(n){return n>64&&n<91||n>96&&n<123||n>47&&n<58||specialChars.includes(n)}function isOpenBrace(n,e){return n===Brackets.RoundL||e==="markup"&&(n===Brackets.SquareL||n===Brackets.CurlyL)}function isCloseBrace(n,e){return n===Brackets.RoundR||e==="markup"&&(n===Brackets.SquareR||n===Brackets.CurlyR)}function expandAbbreviation$1(n,e){const t=resolveConfig(e);return t.type==="stylesheet"?stylesheet(n,t):markup(n,t)}function markup(n,e){return stringify$2(parse$1$1(n,e),e)}function stylesheet(n,e){return css$1(parse$3(n,e),e)}const cssData={properties:["additive-symbols","align-content","align-items","justify-items","justify-self","justify-items","align-self","all","alt","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","behavior","block-size","border","border-block-end","border-block-start","border-block-end-color","border-block-start-color","border-block-end-style","border-block-start-style","border-block-end-width","border-block-start-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline-end","border-inline-start","border-inline-end-color","border-inline-start-color","border-inline-end-style","border-inline-start-style","border-inline-end-width","border-inline-start-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation-filters","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","columns","column-span","column-width","contain","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","enable-background","fallback","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","glyph-orientation-horizontal","glyph-orientation-vertical","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-gap","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-gap","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","height","hyphens","image-orientation","image-rendering","ime-mode","inline-size","isolation","justify-content","kerning","left","letter-spacing","lighting-color","line-break","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block-end","margin-block-start","margin-bottom","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","marker","marker-end","marker-mid","marker-start","mask-type","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","motion","motion-offset","motion-path","motion-rotation","-moz-animation","-moz-animation-delay","-moz-animation-direction","-moz-animation-duration","-moz-animation-iteration-count","-moz-animation-name","-moz-animation-play-state","-moz-animation-timing-function","-moz-appearance","-moz-backface-visibility","-moz-background-clip","-moz-background-inline-policy","-moz-background-origin","-moz-border-bottom-colors","-moz-border-image","-moz-border-left-colors","-moz-border-right-colors","-moz-border-top-colors","-moz-box-align","-moz-box-direction","-moz-box-flex","-moz-box-flexgroup","-moz-box-ordinal-group","-moz-box-orient","-moz-box-pack","-moz-box-sizing","-moz-column-count","-moz-column-gap","-moz-column-rule","-moz-column-rule-color","-moz-column-rule-style","-moz-column-rule-width","-moz-columns","-moz-column-width","-moz-font-feature-settings","-moz-hyphens","-moz-perspective","-moz-perspective-origin","-moz-text-align-last","-moz-text-decoration-color","-moz-text-decoration-line","-moz-text-decoration-style","-moz-text-size-adjust","-moz-transform","-moz-transform-origin","-moz-transition","-moz-transition-delay","-moz-transition-duration","-moz-transition-property","-moz-transition-timing-function","-moz-user-focus","-moz-user-select","-ms-accelerator","-ms-behavior","-ms-block-progression","-ms-content-zoom-chaining","-ms-content-zooming","-ms-content-zoom-limit","-ms-content-zoom-limit-max","-ms-content-zoom-limit-min","-ms-content-zoom-snap","-ms-content-zoom-snap-points","-ms-content-zoom-snap-type","-ms-filter","-ms-flex","-ms-flex-align","-ms-flex-direction","-ms-flex-flow","-ms-flex-item-align","-ms-flex-line-pack","-ms-flex-order","-ms-flex-pack","-ms-flex-wrap","-ms-flow-from","-ms-flow-into","-ms-grid-column","-ms-grid-column-align","-ms-grid-columns","-ms-grid-column-span","-ms-grid-layer","-ms-grid-row","-ms-grid-row-align","-ms-grid-rows","-ms-grid-row-span","-ms-high-contrast-adjust","-ms-hyphenate-limit-chars","-ms-hyphenate-limit-lines","-ms-hyphenate-limit-zone","-ms-hyphens","-ms-ime-mode","-ms-interpolation-mode","-ms-layout-grid","-ms-layout-grid-char","-ms-layout-grid-line","-ms-layout-grid-mode","-ms-layout-grid-type","-ms-line-break","-ms-overflow-style","-ms-perspective","-ms-perspective-origin","-ms-perspective-origin-x","-ms-perspective-origin-y","-ms-progress-appearance","-ms-scrollbar-3dlight-color","-ms-scrollbar-arrow-color","-ms-scrollbar-base-color","-ms-scrollbar-darkshadow-color","-ms-scrollbar-face-color","-ms-scrollbar-highlight-color","-ms-scrollbar-shadow-color","-ms-scrollbar-track-color","-ms-scroll-chaining","-ms-scroll-limit","-ms-scroll-limit-x-max","-ms-scroll-limit-x-min","-ms-scroll-limit-y-max","-ms-scroll-limit-y-min","-ms-scroll-rails","-ms-scroll-snap-points-x","-ms-scroll-snap-points-y","-ms-scroll-snap-type","-ms-scroll-snap-x","-ms-scroll-snap-y","-ms-scroll-translation","-ms-text-align-last","-ms-text-autospace","-ms-text-combine-horizontal","-ms-text-justify","-ms-text-kashida-space","-ms-text-overflow","-ms-text-size-adjust","-ms-text-underline-position","-ms-touch-action","-ms-touch-select","-ms-transform","-ms-transform-origin","-ms-transform-origin-x","-ms-transform-origin-y","-ms-transform-origin-z","-ms-user-select","-ms-word-break","-ms-word-wrap","-ms-wrap-flow","-ms-wrap-margin","-ms-wrap-through","-ms-writing-mode","-ms-zoom","-ms-zoom-animation","nav-down","nav-index","nav-left","nav-right","nav-up","negative","-o-animation","-o-animation-delay","-o-animation-direction","-o-animation-duration","-o-animation-fill-mode","-o-animation-iteration-count","-o-animation-name","-o-animation-play-state","-o-animation-timing-function","object-fit","object-position","-o-border-image","-o-object-fit","-o-object-position","opacity","order","orphans","-o-table-baseline","-o-tab-size","-o-text-overflow","-o-transform","-o-transform-origin","-o-transition","-o-transition-delay","-o-transition-duration","-o-transition-property","-o-transition-timing-function","offset-block-end","offset-block-start","offset-inline-end","offset-inline-start","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","pad","padding","padding-bottom","padding-block-end","padding-block-start","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","paint-order","perspective","perspective-origin","pointer-events","position","prefix","quotes","range","resize","right","ruby-align","ruby-overhang","ruby-position","ruby-span","scrollbar-3dlight-color","scrollbar-arrow-color","scrollbar-base-color","scrollbar-darkshadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-track-color","scroll-behavior","scroll-snap-coordinate","scroll-snap-destination","scroll-snap-points-x","scroll-snap-points-y","scroll-snap-type","shape-image-threshold","shape-margin","shape-outside","shape-rendering","size","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","suffix","system","symbols","table-layout","tab-size","text-align","text-align-last","text-anchor","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","touch-action","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","unicode-range","user-select","vertical-align","visibility","-webkit-animation","-webkit-animation-delay","-webkit-animation-direction","-webkit-animation-duration","-webkit-animation-fill-mode","-webkit-animation-iteration-count","-webkit-animation-name","-webkit-animation-play-state","-webkit-animation-timing-function","-webkit-appearance","-webkit-backdrop-filter","-webkit-backface-visibility","-webkit-background-clip","-webkit-background-composite","-webkit-background-origin","-webkit-border-image","-webkit-box-align","-webkit-box-direction","-webkit-box-flex","-webkit-box-flex-group","-webkit-box-ordinal-group","-webkit-box-orient","-webkit-box-pack","-webkit-box-reflect","-webkit-box-sizing","-webkit-break-after","-webkit-break-before","-webkit-break-inside","-webkit-column-break-after","-webkit-column-break-before","-webkit-column-break-inside","-webkit-column-count","-webkit-column-gap","-webkit-column-rule","-webkit-column-rule-color","-webkit-column-rule-style","-webkit-column-rule-width","-webkit-columns","-webkit-column-span","-webkit-column-width","-webkit-filter","-webkit-flow-from","-webkit-flow-into","-webkit-font-feature-settings","-webkit-hyphens","-webkit-line-break","-webkit-margin-bottom-collapse","-webkit-margin-collapse","-webkit-margin-start","-webkit-margin-top-collapse","-webkit-mask-clip","-webkit-mask-image","-webkit-mask-origin","-webkit-mask-repeat","-webkit-mask-size","-webkit-nbsp-mode","-webkit-overflow-scrolling","-webkit-padding-start","-webkit-perspective","-webkit-perspective-origin","-webkit-region-fragment","-webkit-tap-highlight-color","-webkit-text-fill-color","-webkit-text-size-adjust","-webkit-text-stroke","-webkit-text-stroke-color","-webkit-text-stroke-width","-webkit-touch-callout","-webkit-transform","-webkit-transform-origin","-webkit-transform-origin-x","-webkit-transform-origin-y","-webkit-transform-origin-z","-webkit-transform-style","-webkit-transition","-webkit-transition-delay","-webkit-transition-duration","-webkit-transition-property","-webkit-transition-timing-function","-webkit-user-drag","-webkit-user-modify","-webkit-user-select","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","z-index","zoom"]},htmlData={tags:["body","head","html","address","blockquote","dd","div","section","article","aside","header","footer","nav","menu","dl","dt","fieldset","form","frame","frameset","h1","h2","h3","h4","h5","h6","iframe","noframes","object","ol","p","ul","applet","center","dir","hr","pre","a","abbr","acronym","area","b","base","basefont","bdo","big","br","button","caption","cite","code","col","colgroup","del","dfn","em","font","i","img","input","ins","isindex","kbd","label","legend","li","link","map","meta","noscript","optgroup","option","param","q","s","samp","script","select","small","span","strike","strong","style","sub","sup","table","tbody","td","textarea","tfoot","th","thead","title","tr","tt","u","var","canvas","main","figure","plaintext","figcaption","hgroup","details","summary"]},snippetKeyCache=new Map;let markupSnippetKeys;const stylesheetCustomSnippetsKeyCache=new Map,htmlAbbreviationStartRegex=/^[a-z,A-Z,!,(,[,#,\.\{]/,jsxAbbreviationStartRegex=/^[a-z,A-Z,!,(,[,#,\.]/,cssAbbreviationRegex=/^-?[a-z,A-Z,!,@,#]/,htmlAbbreviationRegex=/[a-z,A-Z\.]/,commonlyUsedTags=[...htmlData.tags,"lorem"],bemFilterSuffix="bem",filterDelimitor="|",trimFilterSuffix="t",commentFilterSuffix="c",maxFilters=3;function doComplete(n,e,t,i,r){var g;const y=isStyleSheet(i);if(!y){if(!snippetKeyCache.has(i)){const he=Object.assign(Object.assign({},getDefaultSnippets(i)),customSnippetsRegistry[i]);snippetKeyCache.set(i,Object.keys(he))}markupSnippetKeys=(g=snippetKeyCache.get(i))!==null&&g!==void 0?g:[]}const k={lookAhead:!y,type:getSyntaxType(i)},L=extractAbbreviation(n,e,t,k);if(!L)return;const{abbreviationRange:V,abbreviation:z,currentLineTillPosition:j,filter:ie}=L;if(getCurrentWord(j)===z&&j.endsWith("<".concat(z))&&!y)return;const re=getExpandOptions(i,ie);let ae="",le,de=[];if(((he,pe)=>{if(isAbbreviationValid(he,z)){try{ae=expandAbbreviation$1(pe,re),y&&"!important".startsWith(pe)&&(ae="!important")}catch(Ce){}!ae||isExpandedTextNoise(he,pe,ae,re.options)||(le={kind:n.languages.CompletionItemKind.Property,label:z+(ie?"|"+ie.replace(",","|"):""),documentation:replaceTabStopsWithCursors(ae),detail:"Emmet abbreviation",insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:V,insertText:escapeNonTabStopDollar(addFinalTabStop(ae))},de=[le])}})(i,z),y){if(z.length>4&&cssData.properties.some(he=>he.startsWith(z)))return{suggestions:[],incomplete:!0};if(le&&ae.length){le.range=V,le.insertText=escapeNonTabStopDollar(addFinalTabStop(ae)),le.documentation=replaceTabStopsWithCursors(ae),le.label=removeTabStops(ae),le.filterText=z;const he=stylesheetCustomSnippetsKeyCache.has(i)?stylesheetCustomSnippetsKeyCache.get(i):stylesheetCustomSnippetsKeyCache.get("css");if(de=makeSnippetSuggestion(n,he!=null?he:[],z,z,V,re,"Emmet Custom Snippet",!1),!de.find(pe=>pe.insertText===(le==null?void 0:le.insertText))){const pe=new RegExp(".*"+z.split("").map(Ce=>Ce==="$"||Ce==="+"?"\\"+Ce:Ce).join(".*")+".*","i");(/\d/.test(z)||pe.test(le.label))&&de.push(le)}}}else{let he=z;const pe=z.match(/(>|\+)([\w:-]+)$/);if(pe&&pe.length===3&&(he=pe[2]),i!=="xml"){const Ce=makeSnippetSuggestion(n,commonlyUsedTags,he,z,V,re,"Emmet Abbreviation");de=de.concat(Ce)}{const Ce=makeSnippetSuggestion(n,markupSnippetKeys.filter($e=>!commonlyUsedTags.includes($e)),he,z,V,re,"Emmet Abbreviation");le&&Ce.length>0&&he!==z&&(le.sortText="0"+le.label,Ce.forEach($e=>{$e.filterText=z,$e.sortText="9"+z})),de=de.concat(Ce)}i==="html"&&de.length>=2&&z.includes(":")&&(le==null?void 0:le.insertText)==="<".concat(z,">${0}")&&(de=de.filter(Ce=>Ce.label!==z))}return de.length?{suggestions:de,incomplete:!0}:void 0}function makeSnippetSuggestion(n,e,t,i,r,g,y,k=!0){if(!t||!e)return[];const L=[];return e.forEach(V=>{if(!V.startsWith(t.toLowerCase())||k&&V===t.toLowerCase())return;const z=i+V.substr(t.length);let j;try{j=expandAbbreviation$1(z,g)}catch(oe){}if(!j)return;const ie={kind:n.languages.CompletionItemKind.Property,label:t+V.substr(t.length),documentation:replaceTabStopsWithCursors(j),detail:y,insertTextRules:n.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:r,insertText:escapeNonTabStopDollar(addFinalTabStop(j))};L.push(ie)}),L}function getCurrentWord(n){if(n){const e=n.match(/[\w,:,-,\.]*$/);if(e)return e[0]}}function replaceTabStopsWithCursors(n){return n.replace(/([^\\])\$\{\d+\}/g,"$1|").replace(/\$\{\d+:([^\}]+)\}/g,"$1")}function removeTabStops(n){return n.replace(/([^\\])\$\{\d+\}/g,"$1").replace(/\$\{\d+:([^\}]+)\}/g,"$1")}function escapeNonTabStopDollar(n){return n&&n.replace(/([^\\])(\$)([^\{])/g,"$1\\$2$3")}function addFinalTabStop(n){if(!n||!n.trim())return n;let e=-1,t=[],i=!1,r=!1,g=0;const y=n.length;try{for(;g=y||n[g]!="}"&&n[g]!=":")continue;const V=n.substring(k,L);if(i=V==="0",i)break;let z=!1;if(n[g++]==":")for(;gNumber(e)?(e=Number(V),t=[{numberStart:k,numberEnd:L}],r=!z):Number(V)===e&&t.push({numberStart:k,numberEnd:L})}}catch(k){}if(r&&!i)for(let k=0;k"${".concat(n).concat(e?":"+e:"","}");function isStyleSheet(n){return n==="css"}function getSyntaxType(n){return isStyleSheet(n)?"stylesheet":"markup"}function getDefaultSyntax(n){return isStyleSheet(n)?"css":"html"}function getDefaultSnippets(n){const t={type:getSyntaxType(n),syntax:n},i=resolveConfig(t);return n==="xml"?{}:i.snippets}function getFilters(n,e){let t;for(let i=0;i\+\*\^]|$)/.test(e)&&!/\(.*\)[>\+\*\^]/.test(e)&&!/\[[^\[\]\(\)]+=".*"\]/.test(e)&&!/[>\+\*\^]\(.*\)/.test(e)?!1:n==="jsx"?jsxAbbreviationStartRegex.test(e)&&htmlAbbreviationRegex.test(e):htmlAbbreviationStartRegex.test(e)&&htmlAbbreviationRegex.test(e)}function isExpandedTextNoise(n,e,t,i){var r,g;if(isStyleSheet(n)&&i){const k=(r=i["stylesheet.between"])!==null&&r!==void 0?r:": ",L=(g=i["stylesheet.after"])!==null&&g!==void 0?g:";";let V=e.indexOf(k[0],Math.max(e.length-k.length,0));V=V>=0?V:e.length;const z=e.substring(0,V);return t==="".concat(z).concat(k,"${0}").concat(L)||t.replace(/\s/g,"")===e.replace(/\s/g,"")+L}if(n==="xml"&&commonlyUsedTags.some(k=>k.startsWith(e.toLowerCase())))return!0;if(commonlyUsedTags.includes(e.toLowerCase())||markupSnippetKeys.includes(e)||/[-,:]/.test(e)&&!/--|::/.test(e)&&!e.endsWith(":")||e===".")return!1;const y=e.match(/^([a-z,A-Z,\d]*)\.$/);return y?!(y[1]&&htmlData.tags.includes(y[1])):n==="jsx"&&/^([A-Z][A-Za-z0-9]*)+$/.test(e)?!1:t.toLowerCase()==="<".concat(e.toLowerCase(),">${1}")}function getExpandOptions(n,e){var t;const i=e?e.split(",").map(z=>z.trim()):[],r=i.includes("bem"),g=i.includes("c"),y={"output.formatSkip":["html"],"output.formatForce":["body"],"output.field":emmetSnippetField,"output.inlineBreak":0,"output.compactBoolean":!1,"output.reverseAttributes":!1,"markup.href":!0,"comment.enabled":g,"comment.trigger":["id","class"],"comment.before":"","comment.after":"\n","bem.enabled":r,"bem.element":"__","bem.modifier":"_","jsx.enabled":n==="jsx","stylesheet.shortHex":!0,"stylesheet.between":n==="stylus"?" ":": ","stylesheet.after":n==="sass"||n==="stylus"?"":";","stylesheet.intUnit":"px","stylesheet.floatUnit":"em","stylesheet.unitAliases":{e:"em",p:"%",x:"ex",r:"rem"},"stylesheet.fuzzySearchMinScore":.3,"output.format":!0,"output.selfClosingStyle":"html"},k=getSyntaxType(n),L=getDefaultSyntax(n),V=k==="stylesheet"?(t=customSnippetsRegistry[n])!==null&&t!==void 0?t:customSnippetsRegistry[L]:customSnippetsRegistry[n];return{type:k,options:y,variables:{},snippets:V,syntax:n,text:void 0,maxRepeat:1e3}}function isValidEmmetToken(n,e,t,i){const r=n[e],g=r.type;return t==="html"?g===""&&(e===0||n[e-1].type==="delimiter.html")||n[0].type==="text.html.basic":t==="css"?g===""?!0:g==="tag."+i:t==="jsx"?r.language==="mdx"&&g===""?!0:!!e&&["identifier.js","type.identifier.js","identifier.ts","type.identifier.ts"].includes(g):!1}const tokenEnvCache=new WeakMap;function getTokenizationEnv(n){if(tokenEnvCache.has(n))return tokenEnvCache.get(n);let e=n._tokenization||n.tokenization._tokenization,t=e==null?void 0:e._tokenizationStateStore;if(!e||!t){const g=n.tokenization,y=g.grammarTokens||g._tokens;y?(e=y._defaultBackgroundTokenizer,t=e._tokenizerWithStateStore):(Object.values(g).some(k=>e=k.tokenizeViewport&&k),Object.values(e).some(k=>t=k.tokenizationSupport&&k))}const i=t.tokenizationSupport||e._tokenizationSupport,r={_stateStore:t,_support:i};return tokenEnvCache.set(n,r),r}function isValidLocationForEmmetAbbreviation(n,e,t,i){var r;const{column:g,lineNumber:y}=e,{_stateStore:k,_support:L}=getTokenizationEnv(n),V=((r=k.getBeginState)===null||r===void 0?void 0:r.call(k,y-1).clone())||k.getStartState(y).clone(),j=L.tokenize(n.getLineContent(y),!0,V,0).tokens;let ie=!1;for(let oe=j.length-1;oe>=0;oe--)if(g-1>j[oe].offset){ie=isValidEmmetToken(j,oe,t,i);break}return ie}const LANGUAGE_MODES={html:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],jade:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],slim:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],haml:["!",".","}",":","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],xml:[".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],xsl:["!",".","}","*","$","/","]",">","0","1","2","3","4","5","6","7","8","9"],css:[":","!","-","0","1","2","3","4","5","6","7","8","9"],scss:[":","!","-","0","1","2","3","4","5","6","7","8","9"],sass:[":","!","0","1","2","3","4","5","6","7","8","9"],less:[":","!","-","0","1","2","3","4","5","6","7","8","9"],stylus:[":","!","0","1","2","3","4","5","6","7","8","9"],javascript:["!",".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"],typescript:["!",".","}","*","$","]","/",">","0","1","2","3","4","5","6","7","8","9"]},MAPPED_MODES={handlebars:"html",php:"html",twig:"html"};function registerProvider(n,e,t){if(!n){console.error("emmet-monaco-es: 'monaco' should be either declared on window or passed as first parameter");return}const i=e.map(r=>n.languages.registerCompletionItemProvider(r,{triggerCharacters:LANGUAGE_MODES[MAPPED_MODES[r]||r],provideCompletionItems:(g,y)=>isValidLocationForEmmetAbbreviation(g,y,t,r)?doComplete(n,g,y,t):void 0}));return()=>{i.forEach(r=>r.dispose())}}function emmetHTML(n=window.monaco,e=["html"]){return registerProvider(n,e,"html")}function emmetCSS(n=window.monaco,e=["css"]){return registerProvider(n,e,"css")}function tail(n,e=0){return n[n.length-(1+e)]}function tail2(n){if(n.length===0)throw new Error("Invalid tail call");return[n.slice(0,n.length-1),n[n.length-1]]}function equals$3(n,e,t=(i,r)=>i===r){if(n===e)return!0;if(!n||!e||n.length!==e.length)return!1;for(let i=0,r=n.length;it(n[i],e))}function binarySearch2(n,e){let t=0,i=n-1;for(;t<=i;){const r=(t+i)/2|0,g=e(r);if(g<0)t=r+1;else if(g>0)i=r-1;else return r}return-(t+1)}function quickSelect(n,e,t){if(n=n|0,n>=e.length)throw new TypeError("invalid index");const i=e[Math.floor(e.length*Math.random())],r=[],g=[],y=[];for(const k of e){const L=t(k,i);L<0?r.push(k):L>0?g.push(k):y.push(k)}return n!!e)}function coalesceInPlace(n){let e=0;for(let t=0;t0}function distinct(n,e=t=>t){const t=new Set;return n.filter(i=>{const r=e(i);return t.has(r)?!1:(t.add(r),!0)})}function firstOrDefault(n,e){return n.length>0?n[0]:e}function range(n,e){let t=typeof e=="number"?n:0;typeof e=="number"?t=n:(t=0,e=n);const i=[];if(t<=e)for(let r=t;re;r--)i.push(r);return i}function arrayInsert(n,e,t){const i=n.slice(0,e),r=n.slice(e);return i.concat(t,r)}function pushToStart(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.unshift(e))}function pushToEnd(n,e){const t=n.indexOf(e);t>-1&&(n.splice(t,1),n.push(e))}function pushMany(n,e){for(const t of e)n.push(t)}function asArray(n){return Array.isArray(n)?n:[n]}function insertInto(n,e,t){const i=getActualStartIndex(n,e),r=n.length,g=t.length;n.length=r+g;for(let y=r-1;y>=i;y--)n[y+g]=n[y];for(let y=0;y0}n.isGreaterThan=i;function r(g){return g===0}n.isNeitherLessOrGreaterThan=r,n.greaterThan=1,n.lessThan=-1,n.neitherLessOrGreaterThan=0})(CompareResult||(CompareResult={}));function compareBy(n,e){return(t,i)=>e(n(t),n(i))}function tieBreakComparators(...n){return(e,t)=>{for(const i of n){const r=i(e,t);if(!CompareResult.isNeitherLessOrGreaterThan(r))return r}return CompareResult.neitherLessOrGreaterThan}}const numberComparator=(n,e)=>n-e,booleanComparator=(n,e)=>numberComparator(n?1:0,e?1:0);function reverseOrder(n){return(e,t)=>-n(e,t)}class ArrayQueue{constructor(e){this.items=e,this.firstIdx=0,this.lastIdx=this.items.length-1}get length(){return this.lastIdx-this.firstIdx+1}takeWhile(e){let t=this.firstIdx;for(;t=0&&e(this.items[t]);)t--;const i=t===this.lastIdx?null:this.items.slice(t+1,this.lastIdx+1);return this.lastIdx=t,i}peek(){if(this.length!==0)return this.items[this.firstIdx]}dequeue(){const e=this.items[this.firstIdx];return this.firstIdx++,e}takeCount(e){const t=this.items.slice(this.firstIdx,this.firstIdx+e);return this.firstIdx+=e,t}}class CallbackIterable{constructor(e){this.iterate=e}toArray(){const e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(e){return new CallbackIterable(t=>this.iterate(i=>e(i)?t(i):!0))}map(e){return new CallbackIterable(t=>this.iterate(i=>t(e(i))))}findLast(e){let t;return this.iterate(i=>(e(i)&&(t=i),!0)),t}findLastMaxBy(e){let t,i=!0;return this.iterate(r=>((i||CompareResult.isGreaterThan(e(r,t)))&&(i=!1,t=r),!0)),t}}CallbackIterable.empty=new CallbackIterable(n=>{});class Permutation{constructor(e){this._indexMap=e}static createSortPermutation(e,t){const i=Array.from(e.keys()).sort((r,g)=>t(e[r],e[g]));return new Permutation(i)}apply(e){return e.map((t,i)=>e[this._indexMap[i]])}inverse(){const e=this._indexMap.slice();for(let t=0;t"u"}function isDefined(n){return!isUndefinedOrNull(n)}function isUndefinedOrNull(n){return isUndefined$3(n)||n===null}function assertType(n,e){if(!n)throw new Error(e?"Unexpected type, expected '".concat(e,"'"):"Unexpected type")}function assertIsDefined(n){if(isUndefinedOrNull(n))throw new Error("Assertion Failed: argument is undefined or null");return n}function isFunction$3(n){return typeof n=="function"}function validateConstraints(n,e){const t=Math.min(n.length,e.length);for(let i=0;i{e[t]=i&&typeof i=="object"?deepClone(i):i}),e}function deepFreeze(n){if(!n||typeof n!="object")return n;const e=[n];for(;e.length>0;){const t=e.shift();Object.freeze(t);for(const i in t)if(_hasOwnProperty.call(t,i)){const r=t[i];typeof r=="object"&&!Object.isFrozen(r)&&!isTypedArray(r)&&e.push(r)}}return n}const _hasOwnProperty=Object.prototype.hasOwnProperty;function cloneAndChange(n,e){return _cloneAndChange(n,e,new Set)}function _cloneAndChange(n,e,t){if(isUndefinedOrNull(n))return n;const i=e(n);if(typeof i<"u")return i;if(Array.isArray(n)){const r=[];for(const g of n)r.push(_cloneAndChange(g,e,t));return r}if(isObject$3(n)){if(t.has(n))throw new Error("Cannot clone recursive data-structure");t.add(n);const r={};for(const g in n)_hasOwnProperty.call(n,g)&&(r[g]=_cloneAndChange(n[g],e,t));return t.delete(n),r}return n}function mixin(n,e,t=!0){return isObject$3(n)?(isObject$3(e)&&Object.keys(e).forEach(i=>{i in n?t&&(isObject$3(n[i])&&isObject$3(e[i])?mixin(n[i],e[i],t):n[i]=e[i]):n[i]=e[i]}),n):e}function equals$2(n,e){if(n===e)return!0;if(n==null||e===null||e===void 0||typeof n!=typeof e||typeof n!="object"||Array.isArray(n)!==Array.isArray(e))return!1;let t,i;if(Array.isArray(n)){if(n.length!==e.length)return!1;for(t=0;tfunction(){const g=Array.prototype.slice.call(arguments,0);return e(r,g)},i={};for(const r of n)i[r]=t(r);return i}let isPseudo=typeof document<"u"&&document.location&&document.location.hash.indexOf("pseudo=true")>=0;function _format$1(n,e){let t;return e.length===0?t=n:t=n.replace(/\{(\d+)\}/g,(i,r)=>{const g=r[0],y=e[g];let k=i;return typeof y=="string"?k=y:(typeof y=="number"||typeof y=="boolean"||y===void 0||y===null)&&(k=String(y)),k}),isPseudo&&(t="["+t.replace(/[aouei]/g,"$&$&")+"]"),t}function localize(n,e,...t){return _format$1(e,t)}function localize2(n,e,...t){const i=_format$1(e,t);return{value:i,original:i}}function getConfiguredDefaultLocale(n){}var _a$7,_b$2;const LANGUAGE_DEFAULT="en";let _isWindows=!1,_isMacintosh=!1,_isLinux=!1,_isNative=!1,_isWeb=!1,_isIOS=!1,_isMobile=!1,_locale,_language=LANGUAGE_DEFAULT,_platformLocale=LANGUAGE_DEFAULT,_translationsConfigFile,_userAgent;const $globalThis=globalThis;let nodeProcess;typeof $globalThis.vscode<"u"&&typeof $globalThis.vscode.process<"u"?nodeProcess=$globalThis.vscode.process:typeof process<"u"&&typeof((_a$7=process==null?void 0:process.versions)===null||_a$7===void 0?void 0:_a$7.node)=="string"&&(nodeProcess=process);const isElectronProcess=typeof((_b$2=nodeProcess==null?void 0:nodeProcess.versions)===null||_b$2===void 0?void 0:_b$2.electron)=="string",isElectronRenderer=isElectronProcess&&(nodeProcess==null?void 0:nodeProcess.type)==="renderer";if(typeof nodeProcess=="object"){_isWindows=nodeProcess.platform==="win32",_isMacintosh=nodeProcess.platform==="darwin",_isLinux=nodeProcess.platform==="linux",_isLinux&&nodeProcess.env.SNAP&&nodeProcess.env.SNAP_REVISION,nodeProcess.env.CI||nodeProcess.env.BUILD_ARTIFACTSTAGINGDIRECTORY,_locale=LANGUAGE_DEFAULT,_language=LANGUAGE_DEFAULT;const n=nodeProcess.env.VSCODE_NLS_CONFIG;if(n)try{const e=JSON.parse(n),t=e.availableLanguages["*"];_locale=e.locale,_platformLocale=e.osLocale,_language=t||LANGUAGE_DEFAULT,_translationsConfigFile=e._translationsConfigFile}catch(e){}_isNative=!0}else typeof navigator=="object"&&!isElectronRenderer?(_userAgent=navigator.userAgent,_isWindows=_userAgent.indexOf("Windows")>=0,_isMacintosh=_userAgent.indexOf("Macintosh")>=0,_isIOS=(_userAgent.indexOf("Macintosh")>=0||_userAgent.indexOf("iPad")>=0||_userAgent.indexOf("iPhone")>=0)&&!!navigator.maxTouchPoints&&navigator.maxTouchPoints>0,_isLinux=_userAgent.indexOf("Linux")>=0,_isMobile=(_userAgent==null?void 0:_userAgent.indexOf("Mobi"))>=0,_isWeb=!0,localize({},"_"),_locale=LANGUAGE_DEFAULT,_language=_locale,_platformLocale=navigator.language):console.error("Unable to resolve platform.");const isWindows=_isWindows,isMacintosh=_isMacintosh,isLinux=_isLinux,isNative=_isNative,isWeb=_isWeb,isWebWorker=_isWeb&&typeof $globalThis.importScripts=="function",webWorkerOrigin=isWebWorker?$globalThis.origin:void 0,isIOS$1=_isIOS,isMobile=_isMobile,userAgent$1=_userAgent,language=_language,setTimeout0IsFaster=typeof $globalThis.postMessage=="function"&&!$globalThis.importScripts,setTimeout0=(()=>{if(setTimeout0IsFaster){const n=[];$globalThis.addEventListener("message",t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let i=0,r=n.length;i{const i=++e;n.push({id:i,callback:t}),$globalThis.postMessage({vscodeScheduleAsyncWork:i},"*")}}return n=>setTimeout(n)})(),OS=_isMacintosh||_isIOS?2:_isWindows?1:3;let _isLittleEndian=!0,_isLittleEndianComputed=!1;function isLittleEndian(){if(!_isLittleEndianComputed){_isLittleEndianComputed=!0;const n=new Uint8Array(2);n[0]=1,n[1]=2,_isLittleEndian=new Uint16Array(n.buffer)[0]===513}return _isLittleEndian}const isChrome$1=!!(userAgent$1&&userAgent$1.indexOf("Chrome")>=0),isFirefox$2=!!(userAgent$1&&userAgent$1.indexOf("Firefox")>=0),isSafari$1=!!(!isChrome$1&&userAgent$1&&userAgent$1.indexOf("Safari")>=0),isEdge=!!(userAgent$1&&userAgent$1.indexOf("Edg/")>=0),isAndroid$1=!!(userAgent$1&&userAgent$1.indexOf("Android")>=0),EDITOR_MODEL_DEFAULTS={tabSize:4,indentSize:4,insertSpaces:!0,detectIndentation:!0,trimAutoWhitespace:!0,largeFileOptimizations:!0,bracketPairColorizationOptions:{enabled:!0,independentColorPoolPerBracketType:!1}};var Iterable;(function(n){function e(he){return he&&typeof he=="object"&&typeof he[Symbol.iterator]=="function"}n.is=e;const t=Object.freeze([]);function i(){return t}n.empty=i;function*r(he){yield he}n.single=r;function g(he){return e(he)?he:r(he)}n.wrap=g;function y(he){return he||t}n.from=y;function*k(he){for(let pe=he.length-1;pe>=0;pe--)yield he[pe]}n.reverse=k;function L(he){return!he||he[Symbol.iterator]().next().done===!0}n.isEmpty=L;function V(he){return he[Symbol.iterator]().next().value}n.first=V;function z(he,pe){for(const Ce of he)if(pe(Ce))return!0;return!1}n.some=z;function j(he,pe){for(const Ce of he)if(pe(Ce))return Ce}n.find=j;function*ie(he,pe){for(const Ce of he)pe(Ce)&&(yield Ce)}n.filter=ie;function*oe(he,pe){let Ce=0;for(const $e of he)yield pe($e,Ce++)}n.map=oe;function*re(...he){for(const pe of he)yield*pe}n.concat=re;function ae(he,pe,Ce){let $e=Ce;for(const xe of he)$e=pe($e,xe);return $e}n.reduce=ae;function*le(he,pe,Ce=he.length){for(pe<0&&(pe+=he.length),Ce<0?Ce+=he.length:Ce>he.length&&(Ce=he.length);pe{r||(r=!0,this._remove(i))}}shift(){if(this._first!==Node$5.Undefined){const e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Node$5.Undefined){const e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Node$5.Undefined&&e.next!==Node$5.Undefined){const t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Node$5.Undefined&&e.next===Node$5.Undefined?(this._first=Node$5.Undefined,this._last=Node$5.Undefined):e.next===Node$5.Undefined?(this._last=this._last.prev,this._last.next=Node$5.Undefined):e.prev===Node$5.Undefined&&(this._first=this._first.next,this._first.prev=Node$5.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Node$5.Undefined;)yield e.element,e=e.next}}const USUAL_WORD_SEPARATORS="`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?";function createWordRegExp(n=""){let e="(-?\\d*\\.\\d\\w*)|([^";for(const t of USUAL_WORD_SEPARATORS)n.indexOf(t)>=0||(e+="\\"+t);return e+="\\s]+)",new RegExp(e,"g")}const DEFAULT_WORD_REGEXP=createWordRegExp();function ensureValidWordDefinition(n){let e=DEFAULT_WORD_REGEXP;if(n&&n instanceof RegExp)if(n.global)e=n;else{let t="g";n.ignoreCase&&(t+="i"),n.multiline&&(t+="m"),n.unicode&&(t+="u"),e=new RegExp(n.source,t)}return e.lastIndex=0,e}const _defaultConfig=new LinkedList;_defaultConfig.unshift({maxLen:1e3,windowSize:15,timeBudget:150});function getWordAtText(n,e,t,i,r){if(e=ensureValidWordDefinition(e),r||(r=Iterable.first(_defaultConfig)),t.length>r.maxLen){let V=n-r.maxLen/2;return V<0?V=0:i+=V,t=t.substring(V,n+r.maxLen/2),getWordAtText(n,e,t,i,r)}const g=Date.now(),y=n-1-i;let k=-1,L=null;for(let V=1;!(Date.now()-g>=r.timeBudget);V++){const z=y-r.windowSize*V;e.lastIndex=Math.max(0,z);const j=_findRegexMatchEnclosingPosition(e,t,y,k);if(!j&&L||(L=j,z<=0))break;k=z}if(L){const V={word:L[0],startColumn:i+1+L.index,endColumn:i+1+L.index+L[0].length};return e.lastIndex=0,V}return null}function _findRegexMatchEnclosingPosition(n,e,t,i){let r;for(;r=n.exec(e);){const g=r.index||0;if(g<=t&&n.lastIndex>=t)return r;if(i>0&&g>i)return null}return null}const MINIMAP_GUTTER_WIDTH=8;class ConfigurationChangedEvent{constructor(e){this._values=e}hasChanged(e){return this._values[e]}}class ComputeOptionsMemory{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}}class BaseEditorOption{constructor(e,t,i,r){this.id=e,this.name=t,this.defaultValue=i,this.schema=r}applyUpdate(e,t){return applyUpdate(e,t)}compute(e,t,i){return i}}class ApplyUpdateResult{constructor(e,t){this.newValue=e,this.didChange=t}}function applyUpdate(n,e){if(typeof n!="object"||typeof e!="object"||!n||!e)return new ApplyUpdateResult(e,n!==e);if(Array.isArray(n)||Array.isArray(e)){const i=Array.isArray(n)&&Array.isArray(e)&&equals$3(n,e);return new ApplyUpdateResult(e,!i)}let t=!1;for(const i in e)if(e.hasOwnProperty(i)){const r=applyUpdate(n[i],e[i]);r.didChange&&(n[i]=r.newValue,t=!0)}return new ApplyUpdateResult(n,t)}class ComputedEditorOption{constructor(e){this.schema=void 0,this.id=e,this.name="_never_",this.defaultValue=void 0}applyUpdate(e,t){return applyUpdate(e,t)}validate(e){return this.defaultValue}}class SimpleEditorOption{constructor(e,t,i,r){this.id=e,this.name=t,this.defaultValue=i,this.schema=r}applyUpdate(e,t){return applyUpdate(e,t)}validate(e){return typeof e>"u"?this.defaultValue:e}compute(e,t,i){return i}}function boolean(n,e){return typeof n>"u"?e:n==="false"?!1:!!n}class EditorBooleanOption extends SimpleEditorOption{constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="boolean",r.default=i),super(e,t,i,r)}validate(e){return boolean(e,this.defaultValue)}}function clampedInt(n,e,t,i){if(typeof n>"u")return e;let r=parseInt(n,10);return isNaN(r)?e:(r=Math.max(t,r),r=Math.min(i,r),r|0)}class EditorIntOption extends SimpleEditorOption{static clampedInt(e,t,i,r){return clampedInt(e,t,i,r)}constructor(e,t,i,r,g,y=void 0){typeof y<"u"&&(y.type="integer",y.default=i,y.minimum=r,y.maximum=g),super(e,t,i,y),this.minimum=r,this.maximum=g}validate(e){return EditorIntOption.clampedInt(e,this.defaultValue,this.minimum,this.maximum)}}function clampedFloat(n,e,t,i){if(typeof n>"u")return e;const r=EditorFloatOption.float(n,e);return EditorFloatOption.clamp(r,t,i)}class EditorFloatOption extends SimpleEditorOption{static clamp(e,t,i){return ei?i:e}static float(e,t){if(typeof e=="number")return e;if(typeof e>"u")return t;const i=parseFloat(e);return isNaN(i)?t:i}constructor(e,t,i,r,g){typeof g<"u"&&(g.type="number",g.default=i),super(e,t,i,g),this.validationFn=r}validate(e){return this.validationFn(EditorFloatOption.float(e,this.defaultValue))}}class EditorStringOption extends SimpleEditorOption{static string(e,t){return typeof e!="string"?t:e}constructor(e,t,i,r=void 0){typeof r<"u"&&(r.type="string",r.default=i),super(e,t,i,r)}validate(e){return EditorStringOption.string(e,this.defaultValue)}}function stringSet(n,e,t,i){return typeof n!="string"?e:i&&n in i?i[n]:t.indexOf(n)===-1?e:n}class EditorStringEnumOption extends SimpleEditorOption{constructor(e,t,i,r,g=void 0){typeof g<"u"&&(g.type="string",g.enum=r,g.default=i),super(e,t,i,g),this._allowedValues=r}validate(e){return stringSet(e,this.defaultValue,this._allowedValues)}}class EditorEnumOption extends BaseEditorOption{constructor(e,t,i,r,g,y,k=void 0){typeof k<"u"&&(k.type="string",k.enum=g,k.default=r),super(e,t,i,k),this._allowedValues=g,this._convert=y}validate(e){return typeof e!="string"?this.defaultValue:this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}}function _autoIndentFromString(n){switch(n){case"none":return 0;case"keep":return 1;case"brackets":return 2;case"advanced":return 3;case"full":return 4}}class EditorAccessibilitySupport extends BaseEditorOption{constructor(){super(2,"accessibilitySupport",0,{type:"string",enum:["auto","on","off"],enumDescriptions:[localize("accessibilitySupport.auto","Use platform APIs to detect when a Screen Reader is attached."),localize("accessibilitySupport.on","Optimize for usage with a Screen Reader."),localize("accessibilitySupport.off","Assume a screen reader is not attached.")],default:"auto",tags:["accessibility"],description:localize("accessibilitySupport","Controls if the UI should run in a mode where it is optimized for screen readers.")})}validate(e){switch(e){case"auto":return 0;case"off":return 1;case"on":return 2}return this.defaultValue}compute(e,t,i){return i===0?e.accessibilitySupport:i}}class EditorComments extends BaseEditorOption{constructor(){const e={insertSpace:!0,ignoreEmptyLines:!0};super(23,"comments",e,{"editor.comments.insertSpace":{type:"boolean",default:e.insertSpace,description:localize("comments.insertSpace","Controls whether a space character is inserted when commenting.")},"editor.comments.ignoreEmptyLines":{type:"boolean",default:e.ignoreEmptyLines,description:localize("comments.ignoreEmptyLines","Controls if empty lines should be ignored with toggle, add or remove actions for line comments.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertSpace:boolean(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:boolean(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}}function _cursorBlinkingStyleFromString(n){switch(n){case"blink":return 1;case"smooth":return 2;case"phase":return 3;case"expand":return 4;case"solid":return 5}}var TextEditorCursorStyle$1;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(TextEditorCursorStyle$1||(TextEditorCursorStyle$1={}));function _cursorStyleFromString(n){switch(n){case"line":return TextEditorCursorStyle$1.Line;case"block":return TextEditorCursorStyle$1.Block;case"underline":return TextEditorCursorStyle$1.Underline;case"line-thin":return TextEditorCursorStyle$1.LineThin;case"block-outline":return TextEditorCursorStyle$1.BlockOutline;case"underline-thin":return TextEditorCursorStyle$1.UnderlineThin}}class EditorClassName extends ComputedEditorOption{constructor(){super(142)}compute(e,t,i){const r=["monaco-editor"];return t.get(39)&&r.push(t.get(39)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(74)==="default"?r.push("mouse-default"):t.get(74)==="copy"&&r.push("mouse-copy"),t.get(111)&&r.push("showUnused"),t.get(140)&&r.push("showDeprecated"),r.join(" ")}}class EditorEmptySelectionClipboard extends EditorBooleanOption{constructor(){super(37,"emptySelectionClipboard",!0,{description:localize("emptySelectionClipboard","Controls whether copying without a selection copies the current line.")})}compute(e,t,i){return i&&e.emptySelectionClipboard}}class EditorFind extends BaseEditorOption{constructor(){const e={cursorMoveOnType:!0,seedSearchStringFromSelection:"always",autoFindInSelection:"never",globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(41,"find",e,{"editor.find.cursorMoveOnType":{type:"boolean",default:e.cursorMoveOnType,description:localize("find.cursorMoveOnType","Controls whether the cursor should jump to find matches while typing.")},"editor.find.seedSearchStringFromSelection":{type:"string",enum:["never","always","selection"],default:e.seedSearchStringFromSelection,enumDescriptions:[localize("editor.find.seedSearchStringFromSelection.never","Never seed search string from the editor selection."),localize("editor.find.seedSearchStringFromSelection.always","Always seed search string from the editor selection, including word at cursor position."),localize("editor.find.seedSearchStringFromSelection.selection","Only seed search string from the editor selection.")],description:localize("find.seedSearchStringFromSelection","Controls whether the search string in the Find Widget is seeded from the editor selection.")},"editor.find.autoFindInSelection":{type:"string",enum:["never","always","multiline"],default:e.autoFindInSelection,enumDescriptions:[localize("editor.find.autoFindInSelection.never","Never turn on Find in Selection automatically (default)."),localize("editor.find.autoFindInSelection.always","Always turn on Find in Selection automatically."),localize("editor.find.autoFindInSelection.multiline","Turn on Find in Selection automatically when multiple lines of content are selected.")],description:localize("find.autoFindInSelection","Controls the condition for turning on Find in Selection automatically.")},"editor.find.globalFindClipboard":{type:"boolean",default:e.globalFindClipboard,description:localize("find.globalFindClipboard","Controls whether the Find Widget should read or modify the shared find clipboard on macOS."),included:isMacintosh},"editor.find.addExtraSpaceOnTop":{type:"boolean",default:e.addExtraSpaceOnTop,description:localize("find.addExtraSpaceOnTop","Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.")},"editor.find.loop":{type:"boolean",default:e.loop,description:localize("find.loop","Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{cursorMoveOnType:boolean(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection=="boolean"?e.seedSearchStringFromSelection?"always":"never":stringSet(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,["never","always","selection"]),autoFindInSelection:typeof e.autoFindInSelection=="boolean"?e.autoFindInSelection?"always":"never":stringSet(t.autoFindInSelection,this.defaultValue.autoFindInSelection,["never","always","multiline"]),globalFindClipboard:boolean(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:boolean(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:boolean(t.loop,this.defaultValue.loop)}}}class EditorFontLigatures extends BaseEditorOption{constructor(){super(51,"fontLigatures",EditorFontLigatures.OFF,{anyOf:[{type:"boolean",description:localize("fontLigatures","Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.")},{type:"string",description:localize("fontFeatureSettings","Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.")}],description:localize("fontLigaturesGeneral","Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"||e.length===0?EditorFontLigatures.OFF:e==="true"?EditorFontLigatures.ON:e:e?EditorFontLigatures.ON:EditorFontLigatures.OFF}}EditorFontLigatures.OFF='"liga" off, "calt" off';EditorFontLigatures.ON='"liga" on, "calt" on';class EditorFontVariations extends BaseEditorOption{constructor(){super(54,"fontVariations",EditorFontVariations.OFF,{anyOf:[{type:"boolean",description:localize("fontVariations","Enables/Disables the translation from font-weight to font-variation-settings. Change this to a string for fine-grained control of the 'font-variation-settings' CSS property.")},{type:"string",description:localize("fontVariationSettings","Explicit 'font-variation-settings' CSS property. A boolean can be passed instead if one only needs to translate font-weight to font-variation-settings.")}],description:localize("fontVariationsGeneral","Configures font variations. Can be either a boolean to enable/disable the translation from font-weight to font-variation-settings or a string for the value of the CSS 'font-variation-settings' property."),default:!1})}validate(e){return typeof e>"u"?this.defaultValue:typeof e=="string"?e==="false"?EditorFontVariations.OFF:e==="true"?EditorFontVariations.TRANSLATE:e:e?EditorFontVariations.TRANSLATE:EditorFontVariations.OFF}compute(e,t,i){return e.fontInfo.fontVariationSettings}}EditorFontVariations.OFF="normal";EditorFontVariations.TRANSLATE="translate";class EditorFontInfo extends ComputedEditorOption{constructor(){super(50)}compute(e,t,i){return e.fontInfo}}class EditorFontSize extends SimpleEditorOption{constructor(){super(52,"fontSize",EDITOR_FONT_DEFAULTS.fontSize,{type:"number",minimum:6,maximum:100,default:EDITOR_FONT_DEFAULTS.fontSize,description:localize("fontSize","Controls the font size in pixels.")})}validate(e){const t=EditorFloatOption.float(e,this.defaultValue);return t===0?EDITOR_FONT_DEFAULTS.fontSize:EditorFloatOption.clamp(t,6,100)}compute(e,t,i){return e.fontInfo.fontSize}}class EditorFontWeight extends BaseEditorOption{constructor(){super(53,"fontWeight",EDITOR_FONT_DEFAULTS.fontWeight,{anyOf:[{type:"number",minimum:EditorFontWeight.MINIMUM_VALUE,maximum:EditorFontWeight.MAXIMUM_VALUE,errorMessage:localize("fontWeightErrorMessage",'Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.')},{type:"string",pattern:"^(normal|bold|1000|[1-9][0-9]{0,2})$"},{enum:EditorFontWeight.SUGGESTION_VALUES}],default:EDITOR_FONT_DEFAULTS.fontWeight,description:localize("fontWeight",'Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.')})}validate(e){return e==="normal"||e==="bold"?e:String(EditorIntOption.clampedInt(e,EDITOR_FONT_DEFAULTS.fontWeight,EditorFontWeight.MINIMUM_VALUE,EditorFontWeight.MAXIMUM_VALUE))}}EditorFontWeight.SUGGESTION_VALUES=["normal","bold","100","200","300","400","500","600","700","800","900"];EditorFontWeight.MINIMUM_VALUE=1;EditorFontWeight.MAXIMUM_VALUE=1e3;class EditorGoToLocation extends BaseEditorOption{constructor(){const e={multiple:"peek",multipleDefinitions:"peek",multipleTypeDefinitions:"peek",multipleDeclarations:"peek",multipleImplementations:"peek",multipleReferences:"peek",alternativeDefinitionCommand:"editor.action.goToReferences",alternativeTypeDefinitionCommand:"editor.action.goToReferences",alternativeDeclarationCommand:"editor.action.goToReferences",alternativeImplementationCommand:"",alternativeReferenceCommand:""},t={type:"string",enum:["peek","gotoAndPeek","goto"],default:e.multiple,enumDescriptions:[localize("editor.gotoLocation.multiple.peek","Show Peek view of the results (default)"),localize("editor.gotoLocation.multiple.gotoAndPeek","Go to the primary result and show a Peek view"),localize("editor.gotoLocation.multiple.goto","Go to the primary result and enable Peek-less navigation to others")]},i=["","editor.action.referenceSearch.trigger","editor.action.goToReferences","editor.action.peekImplementation","editor.action.goToImplementation","editor.action.peekTypeDefinition","editor.action.goToTypeDefinition","editor.action.peekDeclaration","editor.action.revealDeclaration","editor.action.peekDefinition","editor.action.revealDefinitionAside","editor.action.revealDefinition"];super(58,"gotoLocation",e,{"editor.gotoLocation.multiple":{deprecationMessage:localize("editor.gotoLocation.multiple.deprecated","This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.")},"editor.gotoLocation.multipleDefinitions":{description:localize("editor.editor.gotoLocation.multipleDefinitions","Controls the behavior the 'Go to Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleTypeDefinitions":{description:localize("editor.editor.gotoLocation.multipleTypeDefinitions","Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleDeclarations":{description:localize("editor.editor.gotoLocation.multipleDeclarations","Controls the behavior the 'Go to Declaration'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleImplementations":{description:localize("editor.editor.gotoLocation.multipleImplemenattions","Controls the behavior the 'Go to Implementations'-command when multiple target locations exist."),...t},"editor.gotoLocation.multipleReferences":{description:localize("editor.editor.gotoLocation.multipleReferences","Controls the behavior the 'Go to References'-command when multiple target locations exist."),...t},"editor.gotoLocation.alternativeDefinitionCommand":{type:"string",default:e.alternativeDefinitionCommand,enum:i,description:localize("alternativeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Definition' is the current location.")},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:"string",default:e.alternativeTypeDefinitionCommand,enum:i,description:localize("alternativeTypeDefinitionCommand","Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.")},"editor.gotoLocation.alternativeDeclarationCommand":{type:"string",default:e.alternativeDeclarationCommand,enum:i,description:localize("alternativeDeclarationCommand","Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.")},"editor.gotoLocation.alternativeImplementationCommand":{type:"string",default:e.alternativeImplementationCommand,enum:i,description:localize("alternativeImplementationCommand","Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.")},"editor.gotoLocation.alternativeReferenceCommand":{type:"string",default:e.alternativeReferenceCommand,enum:i,description:localize("alternativeReferenceCommand","Alternative command id that is being executed when the result of 'Go to Reference' is the current location.")}})}validate(e){var t,i,r,g,y;if(!e||typeof e!="object")return this.defaultValue;const k=e;return{multiple:stringSet(k.multiple,this.defaultValue.multiple,["peek","gotoAndPeek","goto"]),multipleDefinitions:(t=k.multipleDefinitions)!==null&&t!==void 0?t:stringSet(k.multipleDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleTypeDefinitions:(i=k.multipleTypeDefinitions)!==null&&i!==void 0?i:stringSet(k.multipleTypeDefinitions,"peek",["peek","gotoAndPeek","goto"]),multipleDeclarations:(r=k.multipleDeclarations)!==null&&r!==void 0?r:stringSet(k.multipleDeclarations,"peek",["peek","gotoAndPeek","goto"]),multipleImplementations:(g=k.multipleImplementations)!==null&&g!==void 0?g:stringSet(k.multipleImplementations,"peek",["peek","gotoAndPeek","goto"]),multipleReferences:(y=k.multipleReferences)!==null&&y!==void 0?y:stringSet(k.multipleReferences,"peek",["peek","gotoAndPeek","goto"]),alternativeDefinitionCommand:EditorStringOption.string(k.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:EditorStringOption.string(k.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:EditorStringOption.string(k.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:EditorStringOption.string(k.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:EditorStringOption.string(k.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}}class EditorHover extends BaseEditorOption{constructor(){const e={enabled:!0,delay:300,hidingDelay:300,sticky:!0,above:!0};super(60,"hover",e,{"editor.hover.enabled":{type:"boolean",default:e.enabled,description:localize("hover.enabled","Controls whether the hover is shown.")},"editor.hover.delay":{type:"number",default:e.delay,minimum:0,maximum:1e4,description:localize("hover.delay","Controls the delay in milliseconds after which the hover is shown.")},"editor.hover.sticky":{type:"boolean",default:e.sticky,description:localize("hover.sticky","Controls whether the hover should remain visible when mouse is moved over it.")},"editor.hover.hidingDelay":{type:"integer",minimum:0,default:e.hidingDelay,description:localize("hover.hidingDelay","Controls the delay in milliseconds after which the hover is hidden. Requires `editor.hover.sticky` to be enabled.")},"editor.hover.above":{type:"boolean",default:e.above,description:localize("hover.above","Prefer showing hovers above the line, if there's space.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),delay:EditorIntOption.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:boolean(t.sticky,this.defaultValue.sticky),hidingDelay:EditorIntOption.clampedInt(t.hidingDelay,this.defaultValue.hidingDelay,0,6e5),above:boolean(t.above,this.defaultValue.above)}}}class EditorLayoutInfoComputer extends ComputedEditorOption{constructor(){super(145)}compute(e,t,i){return EditorLayoutInfoComputer.computeLayout(t,{memory:e.memory,outerWidth:e.outerWidth,outerHeight:e.outerHeight,isDominatedByLongLines:e.isDominatedByLongLines,lineHeight:e.fontInfo.lineHeight,viewLineCount:e.viewLineCount,lineNumbersDigitCount:e.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:e.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:e.fontInfo.maxDigitWidth,pixelRatio:e.pixelRatio,glyphMarginDecorationLaneCount:e.glyphMarginDecorationLaneCount})}static computeContainedMinimapLineCount(e){const t=e.height/e.lineHeight,i=Math.floor(e.paddingTop/e.lineHeight);let r=Math.floor(e.paddingBottom/e.lineHeight);e.scrollBeyondLastLine&&(r=Math.max(r,t-1));const g=(i+e.viewLineCount+r)/(e.pixelRatio*e.height),y=Math.floor(e.viewLineCount/g);return{typicalViewportLineCount:t,extraLinesBeforeFirstLine:i,extraLinesBeyondLastLine:r,desiredRatio:g,minimapLineCount:y}}static _computeMinimapLayout(e,t){const i=e.outerWidth,r=e.outerHeight,g=e.pixelRatio;if(!e.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(g*r),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:r};const y=t.stableMinimapLayoutInput,k=y&&e.outerHeight===y.outerHeight&&e.lineHeight===y.lineHeight&&e.typicalHalfwidthCharacterWidth===y.typicalHalfwidthCharacterWidth&&e.pixelRatio===y.pixelRatio&&e.scrollBeyondLastLine===y.scrollBeyondLastLine&&e.paddingTop===y.paddingTop&&e.paddingBottom===y.paddingBottom&&e.minimap.enabled===y.minimap.enabled&&e.minimap.side===y.minimap.side&&e.minimap.size===y.minimap.size&&e.minimap.showSlider===y.minimap.showSlider&&e.minimap.renderCharacters===y.minimap.renderCharacters&&e.minimap.maxColumn===y.minimap.maxColumn&&e.minimap.scale===y.minimap.scale&&e.verticalScrollbarWidth===y.verticalScrollbarWidth&&e.isViewportWrapping===y.isViewportWrapping,L=e.lineHeight,V=e.typicalHalfwidthCharacterWidth,z=e.scrollBeyondLastLine,j=e.minimap.renderCharacters;let ie=g>=2?Math.round(e.minimap.scale*2):e.minimap.scale;const oe=e.minimap.maxColumn,re=e.minimap.size,ae=e.minimap.side,le=e.verticalScrollbarWidth,de=e.viewLineCount,ue=e.remainingWidth,he=e.isViewportWrapping,pe=j?2:3;let Ce=Math.floor(g*r);const $e=Ce/g;let xe=!1,Ie=!1,Ne=pe*ie,Fe=ie/g,Ve=1;if(re==="fill"||re==="fit"){const{typicalViewportLineCount:Lt,extraLinesBeforeFirstLine:kt,extraLinesBeyondLastLine:ei,desiredRatio:jt,minimapLineCount:ri}=EditorLayoutInfoComputer.computeContainedMinimapLineCount({viewLineCount:de,scrollBeyondLastLine:z,paddingTop:e.paddingTop,paddingBottom:e.paddingBottom,height:r,lineHeight:L,pixelRatio:g});if(de/ri>1)xe=!0,Ie=!0,ie=1,Ne=1,Fe=ie/g;else{let Ci=!1,wi=ie+1;if(re==="fit"){const Ri=Math.ceil((kt+de+ei)*Ne);he&&k&&ue<=t.stableFitRemainingWidth?(Ci=!0,wi=t.stableFitMaxMinimapScale):Ci=Ri>Ce}if(re==="fill"||Ci){xe=!0;const Ri=ie;Ne=Math.min(L*g,Math.max(1,Math.floor(1/jt))),he&&k&&ue<=t.stableFitRemainingWidth&&(wi=t.stableFitMaxMinimapScale),ie=Math.min(wi,Math.max(1,Math.floor(Ne/pe))),ie>Ri&&(Ve=Math.min(2,ie/Ri)),Fe=ie/g/Ve,Ce=Math.ceil(Math.max(Lt,kt+de+ei)*Ne),he?(t.stableMinimapLayoutInput=e,t.stableFitRemainingWidth=ue,t.stableFitMaxMinimapScale=ie):(t.stableMinimapLayoutInput=null,t.stableFitRemainingWidth=0)}}}const Oe=Math.floor(oe*Fe),ze=Math.min(Oe,Math.max(0,Math.floor((ue-le-2)*Fe/(V+Fe)))+MINIMAP_GUTTER_WIDTH);let qe=Math.floor(g*ze);const Ue=qe/g;qe=Math.floor(qe*Ve);const Et=j?1:2,At=ae==="left"?0:i-ze-le;return{renderMinimap:Et,minimapLeft:At,minimapWidth:ze,minimapHeightIsEditorHeight:xe,minimapIsSampling:Ie,minimapScale:ie,minimapLineHeight:Ne,minimapCanvasInnerWidth:qe,minimapCanvasInnerHeight:Ce,minimapCanvasOuterWidth:Ue,minimapCanvasOuterHeight:$e}}static computeLayout(e,t){const i=t.outerWidth|0,r=t.outerHeight|0,g=t.lineHeight|0,y=t.lineNumbersDigitCount|0,k=t.typicalHalfwidthCharacterWidth,L=t.maxDigitWidth,V=t.pixelRatio,z=t.viewLineCount,j=e.get(137),ie=j==="inherit"?e.get(136):j,oe=ie==="inherit"?e.get(132):ie,re=e.get(135),ae=t.isDominatedByLongLines,le=e.get(57),de=e.get(68).renderType!==0,ue=e.get(69),he=e.get(105),pe=e.get(84),Ce=e.get(73),$e=e.get(103),xe=$e.verticalScrollbarSize,Ie=$e.verticalHasArrows,Ne=$e.arrowSize,Fe=$e.horizontalScrollbarSize,Ve=e.get(43),Oe=e.get(110)!=="never";let ze=e.get(66);Ve&&Oe&&(ze+=16);let qe=0;if(de){const hi=Math.max(y,ue);qe=Math.round(hi*L)}let Ue=0;le&&(Ue=g*t.glyphMarginDecorationLaneCount);let Et=0,At=Et+Ue,Lt=At+qe,kt=Lt+ze;const ei=i-Ue-qe-ze;let jt=!1,ri=!1,ni=-1;ie==="inherit"&&ae?(jt=!0,ri=!0):oe==="on"||oe==="bounded"?ri=!0:oe==="wordWrapColumn"&&(ni=re);const Ci=EditorLayoutInfoComputer._computeMinimapLayout({outerWidth:i,outerHeight:r,lineHeight:g,typicalHalfwidthCharacterWidth:k,pixelRatio:V,scrollBeyondLastLine:he,paddingTop:pe.top,paddingBottom:pe.bottom,minimap:Ce,verticalScrollbarWidth:xe,viewLineCount:z,remainingWidth:ei,isViewportWrapping:ri},t.memory||new ComputeOptionsMemory);Ci.renderMinimap!==0&&Ci.minimapLeft===0&&(Et+=Ci.minimapWidth,At+=Ci.minimapWidth,Lt+=Ci.minimapWidth,kt+=Ci.minimapWidth);const wi=ei-Ci.minimapWidth,Ri=Math.max(1,Math.floor((wi-xe-2)/k)),ai=Ie?Ne:0;return ri&&(ni=Math.max(1,Ri),oe==="bounded"&&(ni=Math.min(ni,re))),{width:i,height:r,glyphMarginLeft:Et,glyphMarginWidth:Ue,glyphMarginDecorationLaneCount:t.glyphMarginDecorationLaneCount,lineNumbersLeft:At,lineNumbersWidth:qe,decorationsLeft:Lt,decorationsWidth:ze,contentLeft:kt,contentWidth:wi,minimap:Ci,viewportColumn:Ri,isWordWrapMinified:jt,isViewportWrapping:ri,wrappingColumn:ni,verticalScrollbarWidth:xe,horizontalScrollbarHeight:Fe,overviewRuler:{top:ai,width:xe,height:r-2*ai,right:0}}}}class WrappingStrategy extends BaseEditorOption{constructor(){super(139,"wrappingStrategy","simple",{"editor.wrappingStrategy":{enumDescriptions:[localize("wrappingStrategy.simple","Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width."),localize("wrappingStrategy.advanced","Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.")],type:"string",enum:["simple","advanced"],default:"simple",description:localize("wrappingStrategy","Controls the algorithm that computes wrapping points. Note that when in accessibility mode, advanced will be used for the best experience.")}})}validate(e){return stringSet(e,"simple",["simple","advanced"])}compute(e,t,i){return t.get(2)===2?"advanced":i}}var ShowLightbulbIconMode$1;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(ShowLightbulbIconMode$1||(ShowLightbulbIconMode$1={}));class EditorLightbulb extends BaseEditorOption{constructor(){const e={enabled:ShowLightbulbIconMode$1.On};super(65,"lightbulb",e,{"editor.lightbulb.enabled":{type:"string",tags:["experimental"],enum:[ShowLightbulbIconMode$1.Off,ShowLightbulbIconMode$1.OnCode,ShowLightbulbIconMode$1.On],default:e.enabled,enumDescriptions:[localize("editor.lightbulb.enabled.off","Disable the code action menu."),localize("editor.lightbulb.enabled.onCode","Show the code action menu when the cursor is on lines with code."),localize("editor.lightbulb.enabled.on","Show the code action menu when the cursor is on lines with code or on empty lines.")],description:localize("enabled","Enables the Code Action lightbulb in the editor.")}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{enabled:stringSet(e.enabled,this.defaultValue.enabled,[ShowLightbulbIconMode$1.Off,ShowLightbulbIconMode$1.OnCode,ShowLightbulbIconMode$1.On])}}}class EditorStickyScroll extends BaseEditorOption{constructor(){const e={enabled:!0,maxLineCount:5,defaultModel:"outlineModel",scrollWithEditor:!0};super(115,"stickyScroll",e,{"editor.stickyScroll.enabled":{type:"boolean",default:e.enabled,description:localize("editor.stickyScroll.enabled","Shows the nested current scopes during the scroll at the top of the editor."),tags:["experimental"]},"editor.stickyScroll.maxLineCount":{type:"number",default:e.maxLineCount,minimum:1,maximum:20,description:localize("editor.stickyScroll.maxLineCount","Defines the maximum number of sticky lines to show.")},"editor.stickyScroll.defaultModel":{type:"string",enum:["outlineModel","foldingProviderModel","indentationModel"],default:e.defaultModel,description:localize("editor.stickyScroll.defaultModel","Defines the model to use for determining which lines to stick. If the outline model does not exist, it will fall back on the folding provider model which falls back on the indentation model. This order is respected in all three cases.")},"editor.stickyScroll.scrollWithEditor":{type:"boolean",default:e.scrollWithEditor,description:localize("editor.stickyScroll.scrollWithEditor","Enable scrolling of Sticky Scroll with the editor's horizontal scrollbar.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),maxLineCount:EditorIntOption.clampedInt(t.maxLineCount,this.defaultValue.maxLineCount,1,20),defaultModel:stringSet(t.defaultModel,this.defaultValue.defaultModel,["outlineModel","foldingProviderModel","indentationModel"]),scrollWithEditor:boolean(t.scrollWithEditor,this.defaultValue.scrollWithEditor)}}}class EditorInlayHints extends BaseEditorOption{constructor(){const e={enabled:"on",fontSize:0,fontFamily:"",padding:!1};super(141,"inlayHints",e,{"editor.inlayHints.enabled":{type:"string",default:e.enabled,description:localize("inlayHints.enable","Enables the inlay hints in the editor."),enum:["on","onUnlessPressed","offUnlessPressed","off"],markdownEnumDescriptions:[localize("editor.inlayHints.on","Inlay hints are enabled"),localize("editor.inlayHints.onUnlessPressed","Inlay hints are showing by default and hide when holding {0}",isMacintosh?"Ctrl+Option":"Ctrl+Alt"),localize("editor.inlayHints.offUnlessPressed","Inlay hints are hidden by default and show when holding {0}",isMacintosh?"Ctrl+Option":"Ctrl+Alt"),localize("editor.inlayHints.off","Inlay hints are disabled")]},"editor.inlayHints.fontSize":{type:"number",default:e.fontSize,markdownDescription:localize("inlayHints.fontSize","Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.","`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:"string",default:e.fontFamily,markdownDescription:localize("inlayHints.fontFamily","Controls font family of inlay hints in the editor. When set to empty, the {0} is used.","`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:"boolean",default:e.padding,description:localize("inlayHints.padding","Enables the padding around the inlay hints in the editor.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return typeof t.enabled=="boolean"&&(t.enabled=t.enabled?"on":"off"),{enabled:stringSet(t.enabled,this.defaultValue.enabled,["on","off","offUnlessPressed","onUnlessPressed"]),fontSize:EditorIntOption.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily),padding:boolean(t.padding,this.defaultValue.padding)}}}class EditorLineDecorationsWidth extends BaseEditorOption{constructor(){super(66,"lineDecorationsWidth",10)}validate(e){return typeof e=="string"&&/^\d+(\.\d+)?ch$/.test(e)?-parseFloat(e.substring(0,e.length-2)):EditorIntOption.clampedInt(e,this.defaultValue,0,1e3)}compute(e,t,i){return i<0?EditorIntOption.clampedInt(-i*e.fontInfo.typicalHalfwidthCharacterWidth,this.defaultValue,0,1e3):i}}class EditorLineHeight extends EditorFloatOption{constructor(){super(67,"lineHeight",EDITOR_FONT_DEFAULTS.lineHeight,e=>EditorFloatOption.clamp(e,0,150),{markdownDescription:localize("lineHeight","Controls the line height. \n - Use 0 to automatically compute the line height from the font size.\n - Values between 0 and 8 will be used as a multiplier with the font size.\n - Values greater than or equal to 8 will be used as effective values.")})}compute(e,t,i){return e.fontInfo.lineHeight}}class EditorMinimap extends BaseEditorOption{constructor(){const e={enabled:!0,size:"proportional",side:"right",showSlider:"mouseover",autohide:!1,renderCharacters:!0,maxColumn:120,scale:1,showRegionSectionHeaders:!0,showMarkSectionHeaders:!0,sectionHeaderFontSize:9};super(73,"minimap",e,{"editor.minimap.enabled":{type:"boolean",default:e.enabled,description:localize("minimap.enabled","Controls whether the minimap is shown.")},"editor.minimap.autohide":{type:"boolean",default:e.autohide,description:localize("minimap.autohide","Controls whether the minimap is hidden automatically.")},"editor.minimap.size":{type:"string",enum:["proportional","fill","fit"],enumDescriptions:[localize("minimap.size.proportional","The minimap has the same size as the editor contents (and might scroll)."),localize("minimap.size.fill","The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling)."),localize("minimap.size.fit","The minimap will shrink as necessary to never be larger than the editor (no scrolling).")],default:e.size,description:localize("minimap.size","Controls the size of the minimap.")},"editor.minimap.side":{type:"string",enum:["left","right"],default:e.side,description:localize("minimap.side","Controls the side where to render the minimap.")},"editor.minimap.showSlider":{type:"string",enum:["always","mouseover"],default:e.showSlider,description:localize("minimap.showSlider","Controls when the minimap slider is shown.")},"editor.minimap.scale":{type:"number",default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:localize("minimap.scale","Scale of content drawn in the minimap: 1, 2 or 3.")},"editor.minimap.renderCharacters":{type:"boolean",default:e.renderCharacters,description:localize("minimap.renderCharacters","Render the actual characters on a line as opposed to color blocks.")},"editor.minimap.maxColumn":{type:"number",default:e.maxColumn,description:localize("minimap.maxColumn","Limit the width of the minimap to render at most a certain number of columns.")},"editor.minimap.showRegionSectionHeaders":{type:"boolean",default:e.showRegionSectionHeaders,description:localize("minimap.showRegionSectionHeaders","Controls whether named regions are shown as section headers in the minimap.")},"editor.minimap.showMarkSectionHeaders":{type:"boolean",default:e.showMarkSectionHeaders,description:localize("minimap.showMarkSectionHeaders","Controls whether MARK: comments are shown as section headers in the minimap.")},"editor.minimap.sectionHeaderFontSize":{type:"number",default:e.sectionHeaderFontSize,description:localize("minimap.sectionHeaderFontSize","Controls the font size of section headers in the minimap.")}})}validate(e){var t;if(!e||typeof e!="object")return this.defaultValue;const i=e;return{enabled:boolean(i.enabled,this.defaultValue.enabled),autohide:boolean(i.autohide,this.defaultValue.autohide),size:stringSet(i.size,this.defaultValue.size,["proportional","fill","fit"]),side:stringSet(i.side,this.defaultValue.side,["right","left"]),showSlider:stringSet(i.showSlider,this.defaultValue.showSlider,["always","mouseover"]),renderCharacters:boolean(i.renderCharacters,this.defaultValue.renderCharacters),scale:EditorIntOption.clampedInt(i.scale,1,1,3),maxColumn:EditorIntOption.clampedInt(i.maxColumn,this.defaultValue.maxColumn,1,1e4),showRegionSectionHeaders:boolean(i.showRegionSectionHeaders,this.defaultValue.showRegionSectionHeaders),showMarkSectionHeaders:boolean(i.showMarkSectionHeaders,this.defaultValue.showMarkSectionHeaders),sectionHeaderFontSize:EditorFloatOption.clamp((t=i.sectionHeaderFontSize)!==null&&t!==void 0?t:this.defaultValue.sectionHeaderFontSize,4,32)}}}function _multiCursorModifierFromString(n){return n==="ctrlCmd"?isMacintosh?"metaKey":"ctrlKey":"altKey"}class EditorPadding extends BaseEditorOption{constructor(){super(84,"padding",{top:0,bottom:0},{"editor.padding.top":{type:"number",default:0,minimum:0,maximum:1e3,description:localize("padding.top","Controls the amount of space between the top edge of the editor and the first line.")},"editor.padding.bottom":{type:"number",default:0,minimum:0,maximum:1e3,description:localize("padding.bottom","Controls the amount of space between the bottom edge of the editor and the last line.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{top:EditorIntOption.clampedInt(t.top,0,0,1e3),bottom:EditorIntOption.clampedInt(t.bottom,0,0,1e3)}}}class EditorParameterHints extends BaseEditorOption{constructor(){const e={enabled:!0,cycle:!0};super(86,"parameterHints",e,{"editor.parameterHints.enabled":{type:"boolean",default:e.enabled,description:localize("parameterHints.enabled","Enables a pop-up that shows parameter documentation and type information as you type.")},"editor.parameterHints.cycle":{type:"boolean",default:e.cycle,description:localize("parameterHints.cycle","Controls whether the parameter hints menu cycles or closes when reaching the end of the list.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),cycle:boolean(t.cycle,this.defaultValue.cycle)}}}class EditorPixelRatio extends ComputedEditorOption{constructor(){super(143)}compute(e,t,i){return e.pixelRatio}}class EditorQuickSuggestions extends BaseEditorOption{constructor(){const e={other:"on",comments:"off",strings:"off"},t=[{type:"boolean"},{type:"string",enum:["on","inline","off"],enumDescriptions:[localize("on","Quick suggestions show inside the suggest widget"),localize("inline","Quick suggestions show as ghost text"),localize("off","Quick suggestions are disabled")]}];super(89,"quickSuggestions",e,{type:"object",additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:localize("quickSuggestions.strings","Enable quick suggestions inside strings.")},comments:{anyOf:t,default:e.comments,description:localize("quickSuggestions.comments","Enable quick suggestions inside comments.")},other:{anyOf:t,default:e.other,description:localize("quickSuggestions.other","Enable quick suggestions outside of strings and comments.")}},default:e,markdownDescription:localize("quickSuggestions","Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.","#editor.suggestOnTriggerCharacters#")}),this.defaultValue=e}validate(e){if(typeof e=="boolean"){const V=e?"on":"off";return{comments:V,strings:V,other:V}}if(!e||typeof e!="object")return this.defaultValue;const{other:t,comments:i,strings:r}=e,g=["on","inline","off"];let y,k,L;return typeof t=="boolean"?y=t?"on":"off":y=stringSet(t,this.defaultValue.other,g),typeof i=="boolean"?k=i?"on":"off":k=stringSet(i,this.defaultValue.comments,g),typeof r=="boolean"?L=r?"on":"off":L=stringSet(r,this.defaultValue.strings,g),{other:y,comments:k,strings:L}}}class EditorRenderLineNumbersOption extends BaseEditorOption{constructor(){super(68,"lineNumbers",{renderType:1,renderFn:null},{type:"string",enum:["off","on","relative","interval"],enumDescriptions:[localize("lineNumbers.off","Line numbers are not rendered."),localize("lineNumbers.on","Line numbers are rendered as absolute number."),localize("lineNumbers.relative","Line numbers are rendered as distance in lines to cursor position."),localize("lineNumbers.interval","Line numbers are rendered every 10 lines.")],default:"on",description:localize("lineNumbers","Controls the display of line numbers.")})}validate(e){let t=this.defaultValue.renderType,i=this.defaultValue.renderFn;return typeof e<"u"&&(typeof e=="function"?(t=4,i=e):e==="interval"?t=3:e==="relative"?t=2:e==="on"?t=1:t=0),{renderType:t,renderFn:i}}}function filterValidationDecorations(n){const e=n.get(98);return e==="editable"?n.get(91):e!=="on"}class EditorRulers extends BaseEditorOption{constructor(){const e=[],t={type:"number",description:localize("rulers.size","Number of monospace characters at which this editor ruler will render.")};super(102,"rulers",e,{type:"array",items:{anyOf:[t,{type:["object"],properties:{column:t,color:{type:"string",description:localize("rulers.color","Color of this editor ruler."),format:"color-hex"}}}]},default:e,description:localize("rulers","Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.")})}validate(e){if(Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="number")t.push({column:EditorIntOption.clampedInt(i,0,0,1e4),color:null});else if(i&&typeof i=="object"){const r=i;t.push({column:EditorIntOption.clampedInt(r.column,0,0,1e4),color:r.color})}return t.sort((i,r)=>i.column-r.column),t}return this.defaultValue}}class ReadonlyMessage extends BaseEditorOption{constructor(){super(92,"readOnlyMessage",void 0)}validate(e){return!e||typeof e!="object"?this.defaultValue:e}}function _scrollbarVisibilityFromString(n,e){if(typeof n!="string")return e;switch(n){case"hidden":return 2;case"visible":return 3;default:return 1}}let EditorScrollbar$1=class extends BaseEditorOption{constructor(){const e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1,ignoreHorizontalScrollbarInContentHeight:!1};super(103,"scrollbar",e,{"editor.scrollbar.vertical":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.vertical.auto","The vertical scrollbar will be visible only when necessary."),localize("scrollbar.vertical.visible","The vertical scrollbar will always be visible."),localize("scrollbar.vertical.fit","The vertical scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.vertical","Controls the visibility of the vertical scrollbar.")},"editor.scrollbar.horizontal":{type:"string",enum:["auto","visible","hidden"],enumDescriptions:[localize("scrollbar.horizontal.auto","The horizontal scrollbar will be visible only when necessary."),localize("scrollbar.horizontal.visible","The horizontal scrollbar will always be visible."),localize("scrollbar.horizontal.fit","The horizontal scrollbar will always be hidden.")],default:"auto",description:localize("scrollbar.horizontal","Controls the visibility of the horizontal scrollbar.")},"editor.scrollbar.verticalScrollbarSize":{type:"number",default:e.verticalScrollbarSize,description:localize("scrollbar.verticalScrollbarSize","The width of the vertical scrollbar.")},"editor.scrollbar.horizontalScrollbarSize":{type:"number",default:e.horizontalScrollbarSize,description:localize("scrollbar.horizontalScrollbarSize","The height of the horizontal scrollbar.")},"editor.scrollbar.scrollByPage":{type:"boolean",default:e.scrollByPage,description:localize("scrollbar.scrollByPage","Controls whether clicks scroll by page or jump to click position.")},"editor.scrollbar.ignoreHorizontalScrollbarInContentHeight":{type:"boolean",default:e.ignoreHorizontalScrollbarInContentHeight,description:localize("scrollbar.ignoreHorizontalScrollbarInContentHeight","When set, the horizontal scrollbar will not increase the size of the editor's content.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e,i=EditorIntOption.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=EditorIntOption.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:EditorIntOption.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:_scrollbarVisibilityFromString(t.vertical,this.defaultValue.vertical),horizontal:_scrollbarVisibilityFromString(t.horizontal,this.defaultValue.horizontal),useShadows:boolean(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:boolean(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:boolean(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:boolean(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:boolean(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:i,horizontalSliderSize:EditorIntOption.clampedInt(t.horizontalSliderSize,i,0,1e3),verticalScrollbarSize:r,verticalSliderSize:EditorIntOption.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:boolean(t.scrollByPage,this.defaultValue.scrollByPage),ignoreHorizontalScrollbarInContentHeight:boolean(t.ignoreHorizontalScrollbarInContentHeight,this.defaultValue.ignoreHorizontalScrollbarInContentHeight)}}};const inUntrustedWorkspace="inUntrustedWorkspace",unicodeHighlightConfigKeys={allowedCharacters:"editor.unicodeHighlight.allowedCharacters",invisibleCharacters:"editor.unicodeHighlight.invisibleCharacters",nonBasicASCII:"editor.unicodeHighlight.nonBasicASCII",ambiguousCharacters:"editor.unicodeHighlight.ambiguousCharacters",includeComments:"editor.unicodeHighlight.includeComments",includeStrings:"editor.unicodeHighlight.includeStrings",allowedLocales:"editor.unicodeHighlight.allowedLocales"};class UnicodeHighlight extends BaseEditorOption{constructor(){const e={nonBasicASCII:inUntrustedWorkspace,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:inUntrustedWorkspace,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(125,"unicodeHighlight",e,{[unicodeHighlightConfigKeys.nonBasicASCII]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.nonBasicASCII,description:localize("unicodeHighlight.nonBasicASCII","Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.")},[unicodeHighlightConfigKeys.invisibleCharacters]:{restricted:!0,type:"boolean",default:e.invisibleCharacters,description:localize("unicodeHighlight.invisibleCharacters","Controls whether characters that just reserve space or have no width at all are highlighted.")},[unicodeHighlightConfigKeys.ambiguousCharacters]:{restricted:!0,type:"boolean",default:e.ambiguousCharacters,description:localize("unicodeHighlight.ambiguousCharacters","Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.")},[unicodeHighlightConfigKeys.includeComments]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.includeComments,description:localize("unicodeHighlight.includeComments","Controls whether characters in comments should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.includeStrings]:{restricted:!0,type:["boolean","string"],enum:[!0,!1,inUntrustedWorkspace],default:e.includeStrings,description:localize("unicodeHighlight.includeStrings","Controls whether characters in strings should also be subject to Unicode highlighting.")},[unicodeHighlightConfigKeys.allowedCharacters]:{restricted:!0,type:"object",default:e.allowedCharacters,description:localize("unicodeHighlight.allowedCharacters","Defines allowed characters that are not being highlighted."),additionalProperties:{type:"boolean"}},[unicodeHighlightConfigKeys.allowedLocales]:{restricted:!0,type:"object",additionalProperties:{type:"boolean"},default:e.allowedLocales,description:localize("unicodeHighlight.allowedLocales","Unicode characters that are common in allowed locales are not being highlighted.")}})}applyUpdate(e,t){let i=!1;t.allowedCharacters&&e&&(equals$2(e.allowedCharacters,t.allowedCharacters)||(e={...e,allowedCharacters:t.allowedCharacters},i=!0)),t.allowedLocales&&e&&(equals$2(e.allowedLocales,t.allowedLocales)||(e={...e,allowedLocales:t.allowedLocales},i=!0));const r=super.applyUpdate(e,t);return i?new ApplyUpdateResult(r.newValue,!0):r}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{nonBasicASCII:primitiveSet(t.nonBasicASCII,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),invisibleCharacters:boolean(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:boolean(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:primitiveSet(t.includeComments,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),includeStrings:primitiveSet(t.includeStrings,inUntrustedWorkspace,[!0,!1,inUntrustedWorkspace]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!="object"||!e)return t;const i={};for(const[r,g]of Object.entries(e))g===!0&&(i[r]=!0);return i}}class InlineEditorSuggest extends BaseEditorOption{constructor(){const e={enabled:!0,mode:"subwordSmart",showToolbar:"onHover",suppressSuggestions:!1,keepOnBlur:!1,fontFamily:"default"};super(62,"inlineSuggest",e,{"editor.inlineSuggest.enabled":{type:"boolean",default:e.enabled,description:localize("inlineSuggest.enabled","Controls whether to automatically show inline suggestions in the editor.")},"editor.inlineSuggest.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize("inlineSuggest.showToolbar.always","Show the inline suggestion toolbar whenever an inline suggestion is shown."),localize("inlineSuggest.showToolbar.onHover","Show the inline suggestion toolbar when hovering over an inline suggestion."),localize("inlineSuggest.showToolbar.never","Never show the inline suggestion toolbar.")],description:localize("inlineSuggest.showToolbar","Controls when to show the inline suggestion toolbar.")},"editor.inlineSuggest.suppressSuggestions":{type:"boolean",default:e.suppressSuggestions,description:localize("inlineSuggest.suppressSuggestions","Controls how inline suggestions interact with the suggest widget. If enabled, the suggest widget is not shown automatically when inline suggestions are available.")},"editor.inlineSuggest.fontFamily":{type:"string",default:e.fontFamily,description:localize("inlineSuggest.fontFamily","Controls the font family of the inline suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),mode:stringSet(t.mode,this.defaultValue.mode,["prefix","subword","subwordSmart"]),showToolbar:stringSet(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),suppressSuggestions:boolean(t.suppressSuggestions,this.defaultValue.suppressSuggestions),keepOnBlur:boolean(t.keepOnBlur,this.defaultValue.keepOnBlur),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily)}}}class InlineEditorEdit extends BaseEditorOption{constructor(){const e={enabled:!1,showToolbar:"onHover",fontFamily:"default",keepOnBlur:!1,backgroundColoring:!1};super(63,"experimentalInlineEdit",e,{"editor.experimentalInlineEdit.enabled":{type:"boolean",default:e.enabled,description:localize("inlineEdit.enabled","Controls whether to show inline edits in the editor.")},"editor.experimentalInlineEdit.showToolbar":{type:"string",default:e.showToolbar,enum:["always","onHover","never"],enumDescriptions:[localize("inlineEdit.showToolbar.always","Show the inline edit toolbar whenever an inline suggestion is shown."),localize("inlineEdit.showToolbar.onHover","Show the inline edit toolbar when hovering over an inline suggestion."),localize("inlineEdit.showToolbar.never","Never show the inline edit toolbar.")],description:localize("inlineEdit.showToolbar","Controls when to show the inline edit toolbar.")},"editor.experimentalInlineEdit.fontFamily":{type:"string",default:e.fontFamily,description:localize("inlineEdit.fontFamily","Controls the font family of the inline edit.")},"editor.experimentalInlineEdit.backgroundColoring":{type:"boolean",default:e.backgroundColoring,description:localize("inlineEdit.backgroundColoring","Controls whether to color the background of inline edits.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showToolbar:stringSet(t.showToolbar,this.defaultValue.showToolbar,["always","onHover","never"]),fontFamily:EditorStringOption.string(t.fontFamily,this.defaultValue.fontFamily),keepOnBlur:boolean(t.keepOnBlur,this.defaultValue.keepOnBlur),backgroundColoring:boolean(t.backgroundColoring,this.defaultValue.backgroundColoring)}}}class BracketPairColorization extends BaseEditorOption{constructor(){const e={enabled:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(15,"bracketPairColorization",e,{"editor.bracketPairColorization.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("bracketPairColorization.enabled","Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.","`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:"boolean",default:e.independentColorPoolPerBracketType,description:localize("bracketPairColorization.independentColorPoolPerBracketType","Controls whether each bracket type has its own independent color pool.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:boolean(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}}class GuideOptions extends BaseEditorOption{constructor(){const e={bracketPairs:!1,bracketPairsHorizontal:"active",highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(16,"guides",e,{"editor.guides.bracketPairs":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize("editor.guides.bracketPairs.true","Enables bracket pair guides."),localize("editor.guides.bracketPairs.active","Enables bracket pair guides only for the active bracket pair."),localize("editor.guides.bracketPairs.false","Disables bracket pair guides.")],default:e.bracketPairs,description:localize("editor.guides.bracketPairs","Controls whether bracket pair guides are enabled or not.")},"editor.guides.bracketPairsHorizontal":{type:["boolean","string"],enum:[!0,"active",!1],enumDescriptions:[localize("editor.guides.bracketPairsHorizontal.true","Enables horizontal guides as addition to vertical bracket pair guides."),localize("editor.guides.bracketPairsHorizontal.active","Enables horizontal guides only for the active bracket pair."),localize("editor.guides.bracketPairsHorizontal.false","Disables horizontal bracket pair guides.")],default:e.bracketPairsHorizontal,description:localize("editor.guides.bracketPairsHorizontal","Controls whether horizontal bracket pair guides are enabled or not.")},"editor.guides.highlightActiveBracketPair":{type:"boolean",default:e.highlightActiveBracketPair,description:localize("editor.guides.highlightActiveBracketPair","Controls whether the editor should highlight the active bracket pair.")},"editor.guides.indentation":{type:"boolean",default:e.indentation,description:localize("editor.guides.indentation","Controls whether the editor should render indent guides.")},"editor.guides.highlightActiveIndentation":{type:["boolean","string"],enum:[!0,"always",!1],enumDescriptions:[localize("editor.guides.highlightActiveIndentation.true","Highlights the active indent guide."),localize("editor.guides.highlightActiveIndentation.always","Highlights the active indent guide even if bracket guides are highlighted."),localize("editor.guides.highlightActiveIndentation.false","Do not highlight the active indent guide.")],default:e.highlightActiveIndentation,description:localize("editor.guides.highlightActiveIndentation","Controls whether the editor should highlight the active indent guide.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{bracketPairs:primitiveSet(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,"active"]),bracketPairsHorizontal:primitiveSet(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,"active"]),highlightActiveBracketPair:boolean(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:boolean(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:primitiveSet(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,"always"])}}}function primitiveSet(n,e,t){const i=t.indexOf(n);return i===-1?e:t[i]}class EditorSuggest extends BaseEditorOption{constructor(){const e={insertMode:"insert",filterGraceful:!0,snippetsPreventQuickSuggestions:!1,localityBonus:!1,shareSuggestSelections:!1,selectionMode:"always",showIcons:!0,showStatusBar:!1,preview:!1,previewMode:"subwordSmart",showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,matchOnWordStartOnly:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(118,"suggest",e,{"editor.suggest.insertMode":{type:"string",enum:["insert","replace"],enumDescriptions:[localize("suggest.insertMode.insert","Insert suggestion without overwriting text right of the cursor."),localize("suggest.insertMode.replace","Insert suggestion and overwrite text right of the cursor.")],default:e.insertMode,description:localize("suggest.insertMode","Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.")},"editor.suggest.filterGraceful":{type:"boolean",default:e.filterGraceful,description:localize("suggest.filterGraceful","Controls whether filtering and sorting suggestions accounts for small typos.")},"editor.suggest.localityBonus":{type:"boolean",default:e.localityBonus,description:localize("suggest.localityBonus","Controls whether sorting favors words that appear close to the cursor.")},"editor.suggest.shareSuggestSelections":{type:"boolean",default:e.shareSuggestSelections,markdownDescription:localize("suggest.shareSuggestSelections","Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.selectionMode":{type:"string",enum:["always","never","whenTriggerCharacter","whenQuickSuggestion"],enumDescriptions:[localize("suggest.insertMode.always","Always select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.never","Never select a suggestion when automatically triggering IntelliSense."),localize("suggest.insertMode.whenTriggerCharacter","Select a suggestion only when triggering IntelliSense from a trigger character."),localize("suggest.insertMode.whenQuickSuggestion","Select a suggestion only when triggering IntelliSense as you type.")],default:e.selectionMode,markdownDescription:localize("suggest.selectionMode","Controls whether a suggestion is selected when the widget shows. Note that this only applies to automatically triggered suggestions (`#editor.quickSuggestions#` and `#editor.suggestOnTriggerCharacters#`) and that a suggestion is always selected when explicitly invoked, e.g via `Ctrl+Space`.")},"editor.suggest.snippetsPreventQuickSuggestions":{type:"boolean",default:e.snippetsPreventQuickSuggestions,description:localize("suggest.snippetsPreventQuickSuggestions","Controls whether an active snippet prevents quick suggestions.")},"editor.suggest.showIcons":{type:"boolean",default:e.showIcons,description:localize("suggest.showIcons","Controls whether to show or hide icons in suggestions.")},"editor.suggest.showStatusBar":{type:"boolean",default:e.showStatusBar,description:localize("suggest.showStatusBar","Controls the visibility of the status bar at the bottom of the suggest widget.")},"editor.suggest.preview":{type:"boolean",default:e.preview,description:localize("suggest.preview","Controls whether to preview the suggestion outcome in the editor.")},"editor.suggest.showInlineDetails":{type:"boolean",default:e.showInlineDetails,description:localize("suggest.showInlineDetails","Controls whether suggest details show inline with the label or only in the details widget.")},"editor.suggest.maxVisibleSuggestions":{type:"number",deprecationMessage:localize("suggest.maxVisibleSuggestions.dep","This setting is deprecated. The suggest widget can now be resized.")},"editor.suggest.filteredTypes":{type:"object",deprecationMessage:localize("deprecated","This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.")},"editor.suggest.showMethods":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showMethods","When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFunctions","When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showConstructors","When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showDeprecated","When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.matchOnWordStartOnly":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.matchOnWordStartOnly","When enabled IntelliSense filtering requires that the first character matches on a word start. For example, `c` on `Console` or `WebContext` but _not_ on `description`. When disabled IntelliSense will show more results but still sorts them by match quality.")},"editor.suggest.showFields":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFields","When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showVariables","When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showClasss","When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showStructs","When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showInterfaces","When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showModules","When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showPropertys","When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEvents","When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showOperators","When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showUnits","When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showValues","When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showConstants","When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEnums","When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showEnumMembers","When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showKeywords","When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showTexts","When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showColors","When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFiles","When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showReferences","When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showCustomcolors","When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showFolders","When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showTypeParameters","When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showSnippets","When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showUsers","When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:"boolean",default:!0,markdownDescription:localize("editor.suggest.showIssues","When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{insertMode:stringSet(t.insertMode,this.defaultValue.insertMode,["insert","replace"]),filterGraceful:boolean(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:boolean(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:boolean(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:boolean(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),selectionMode:stringSet(t.selectionMode,this.defaultValue.selectionMode,["always","never","whenQuickSuggestion","whenTriggerCharacter"]),showIcons:boolean(t.showIcons,this.defaultValue.showIcons),showStatusBar:boolean(t.showStatusBar,this.defaultValue.showStatusBar),preview:boolean(t.preview,this.defaultValue.preview),previewMode:stringSet(t.previewMode,this.defaultValue.previewMode,["prefix","subword","subwordSmart"]),showInlineDetails:boolean(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:boolean(t.showMethods,this.defaultValue.showMethods),showFunctions:boolean(t.showFunctions,this.defaultValue.showFunctions),showConstructors:boolean(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:boolean(t.showDeprecated,this.defaultValue.showDeprecated),matchOnWordStartOnly:boolean(t.matchOnWordStartOnly,this.defaultValue.matchOnWordStartOnly),showFields:boolean(t.showFields,this.defaultValue.showFields),showVariables:boolean(t.showVariables,this.defaultValue.showVariables),showClasses:boolean(t.showClasses,this.defaultValue.showClasses),showStructs:boolean(t.showStructs,this.defaultValue.showStructs),showInterfaces:boolean(t.showInterfaces,this.defaultValue.showInterfaces),showModules:boolean(t.showModules,this.defaultValue.showModules),showProperties:boolean(t.showProperties,this.defaultValue.showProperties),showEvents:boolean(t.showEvents,this.defaultValue.showEvents),showOperators:boolean(t.showOperators,this.defaultValue.showOperators),showUnits:boolean(t.showUnits,this.defaultValue.showUnits),showValues:boolean(t.showValues,this.defaultValue.showValues),showConstants:boolean(t.showConstants,this.defaultValue.showConstants),showEnums:boolean(t.showEnums,this.defaultValue.showEnums),showEnumMembers:boolean(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:boolean(t.showKeywords,this.defaultValue.showKeywords),showWords:boolean(t.showWords,this.defaultValue.showWords),showColors:boolean(t.showColors,this.defaultValue.showColors),showFiles:boolean(t.showFiles,this.defaultValue.showFiles),showReferences:boolean(t.showReferences,this.defaultValue.showReferences),showFolders:boolean(t.showFolders,this.defaultValue.showFolders),showTypeParameters:boolean(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:boolean(t.showSnippets,this.defaultValue.showSnippets),showUsers:boolean(t.showUsers,this.defaultValue.showUsers),showIssues:boolean(t.showIssues,this.defaultValue.showIssues)}}}class SmartSelect extends BaseEditorOption{constructor(){super(113,"smartSelect",{selectLeadingAndTrailingWhitespace:!0,selectSubwords:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:localize("selectLeadingAndTrailingWhitespace","Whether leading and trailing whitespace should always be selected."),default:!0,type:"boolean"},"editor.smartSelect.selectSubwords":{description:localize("selectSubwords","Whether subwords (like 'foo' in 'fooBar' or 'foo_bar') should be selected."),default:!0,type:"boolean"}})}validate(e){return!e||typeof e!="object"?this.defaultValue:{selectLeadingAndTrailingWhitespace:boolean(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace),selectSubwords:boolean(e.selectSubwords,this.defaultValue.selectSubwords)}}}class WordSegmenterLocales extends BaseEditorOption{constructor(){const e=[];super(130,"wordSegmenterLocales",e,{anyOf:[{description:localize("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"string"},{description:localize("wordSegmenterLocales","Locales to be used for word segmentation when doing word related navigations or operations. Specify the BCP 47 language tag of the word you wish to recognize (e.g., ja, zh-CN, zh-Hant-TW, etc.)."),type:"array",items:{type:"string"}}]})}validate(e){if(typeof e=="string"&&(e=[e]),Array.isArray(e)){const t=[];for(const i of e)if(typeof i=="string")try{Intl.Segmenter.supportedLocalesOf(i).length>0&&t.push(i)}catch(r){}return t}return this.defaultValue}}class WrappingIndentOption extends BaseEditorOption{constructor(){super(138,"wrappingIndent",1,{"editor.wrappingIndent":{type:"string",enum:["none","same","indent","deepIndent"],enumDescriptions:[localize("wrappingIndent.none","No indentation. Wrapped lines begin at column 1."),localize("wrappingIndent.same","Wrapped lines get the same indentation as the parent."),localize("wrappingIndent.indent","Wrapped lines get +1 indentation toward the parent."),localize("wrappingIndent.deepIndent","Wrapped lines get +2 indentation toward the parent.")],description:localize("wrappingIndent","Controls the indentation of wrapped lines."),default:"same"}})}validate(e){switch(e){case"none":return 0;case"same":return 1;case"indent":return 2;case"deepIndent":return 3}return 1}compute(e,t,i){return t.get(2)===2?0:i}}class EditorWrappingInfoComputer extends ComputedEditorOption{constructor(){super(146)}compute(e,t,i){const r=t.get(145);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}}class EditorDropIntoEditor extends BaseEditorOption{constructor(){const e={enabled:!0,showDropSelector:"afterDrop"};super(36,"dropIntoEditor",e,{"editor.dropIntoEditor.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("dropIntoEditor.enabled","Controls whether you can drag and drop a file into a text editor by holding down the `Shift` key (instead of opening the file in an editor).")},"editor.dropIntoEditor.showDropSelector":{type:"string",markdownDescription:localize("dropIntoEditor.showDropSelector","Controls if a widget is shown when dropping files into the editor. This widget lets you control how the file is dropped."),enum:["afterDrop","never"],enumDescriptions:[localize("dropIntoEditor.showDropSelector.afterDrop","Show the drop selector widget after a file is dropped into the editor."),localize("dropIntoEditor.showDropSelector.never","Never show the drop selector widget. Instead the default drop provider is always used.")],default:"afterDrop"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showDropSelector:stringSet(t.showDropSelector,this.defaultValue.showDropSelector,["afterDrop","never"])}}}class EditorPasteAs extends BaseEditorOption{constructor(){const e={enabled:!0,showPasteSelector:"afterPaste"};super(85,"pasteAs",e,{"editor.pasteAs.enabled":{type:"boolean",default:e.enabled,markdownDescription:localize("pasteAs.enabled","Controls whether you can paste content in different ways.")},"editor.pasteAs.showPasteSelector":{type:"string",markdownDescription:localize("pasteAs.showPasteSelector","Controls if a widget is shown when pasting content in to the editor. This widget lets you control how the file is pasted."),enum:["afterPaste","never"],enumDescriptions:[localize("pasteAs.showPasteSelector.afterPaste","Show the paste selector widget after content is pasted into the editor."),localize("pasteAs.showPasteSelector.never","Never show the paste selector widget. Instead the default pasting behavior is always used.")],default:"afterPaste"}})}validate(e){if(!e||typeof e!="object")return this.defaultValue;const t=e;return{enabled:boolean(t.enabled,this.defaultValue.enabled),showPasteSelector:stringSet(t.showPasteSelector,this.defaultValue.showPasteSelector,["afterPaste","never"])}}}const DEFAULT_WINDOWS_FONT_FAMILY="Consolas, 'Courier New', monospace",DEFAULT_MAC_FONT_FAMILY="Menlo, Monaco, 'Courier New', monospace",DEFAULT_LINUX_FONT_FAMILY="'Droid Sans Mono', 'monospace', monospace",EDITOR_FONT_DEFAULTS={fontFamily:isMacintosh?DEFAULT_MAC_FONT_FAMILY:isLinux?DEFAULT_LINUX_FONT_FAMILY:DEFAULT_WINDOWS_FONT_FAMILY,fontWeight:"normal",fontSize:isMacintosh?12:14,lineHeight:0,letterSpacing:0},editorOptionsRegistry=[];function register$2(n){return editorOptionsRegistry[n.id]=n,n}const EditorOptions={acceptSuggestionOnCommitCharacter:register$2(new EditorBooleanOption(0,"acceptSuggestionOnCommitCharacter",!0,{markdownDescription:localize("acceptSuggestionOnCommitCharacter","Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`;`) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:register$2(new EditorStringEnumOption(1,"acceptSuggestionOnEnter","on",["on","smart","off"],{markdownEnumDescriptions:["",localize("acceptSuggestionOnEnterSmart","Only accept a suggestion with `Enter` when it makes a textual change."),""],markdownDescription:localize("acceptSuggestionOnEnter","Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:register$2(new EditorAccessibilitySupport),accessibilityPageSize:register$2(new EditorIntOption(3,"accessibilityPageSize",10,1,1073741824,{description:localize("accessibilityPageSize","Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default."),tags:["accessibility"]})),ariaLabel:register$2(new EditorStringOption(4,"ariaLabel",localize("editorViewAccessibleLabel","Editor content"))),ariaRequired:register$2(new EditorBooleanOption(5,"ariaRequired",!1,void 0)),screenReaderAnnounceInlineSuggestion:register$2(new EditorBooleanOption(8,"screenReaderAnnounceInlineSuggestion",!0,{description:localize("screenReaderAnnounceInlineSuggestion","Control whether inline suggestions are announced by a screen reader."),tags:["accessibility"]})),autoClosingBrackets:register$2(new EditorStringEnumOption(6,"autoClosingBrackets","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingBrackets.languageDefined","Use language configurations to determine when to autoclose brackets."),localize("editor.autoClosingBrackets.beforeWhitespace","Autoclose brackets only when the cursor is to the left of whitespace."),""],description:localize("autoClosingBrackets","Controls whether the editor should automatically close brackets after the user adds an opening bracket.")})),autoClosingComments:register$2(new EditorStringEnumOption(7,"autoClosingComments","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingComments.languageDefined","Use language configurations to determine when to autoclose comments."),localize("editor.autoClosingComments.beforeWhitespace","Autoclose comments only when the cursor is to the left of whitespace."),""],description:localize("autoClosingComments","Controls whether the editor should automatically close comments after the user adds an opening comment.")})),autoClosingDelete:register$2(new EditorStringEnumOption(9,"autoClosingDelete","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingDelete.auto","Remove adjacent closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingDelete","Controls whether the editor should remove adjacent closing quotes or brackets when deleting.")})),autoClosingOvertype:register$2(new EditorStringEnumOption(10,"autoClosingOvertype","auto",["always","auto","never"],{enumDescriptions:["",localize("editor.autoClosingOvertype.auto","Type over closing quotes or brackets only if they were automatically inserted."),""],description:localize("autoClosingOvertype","Controls whether the editor should type over closing quotes or brackets.")})),autoClosingQuotes:register$2(new EditorStringEnumOption(11,"autoClosingQuotes","languageDefined",["always","languageDefined","beforeWhitespace","never"],{enumDescriptions:["",localize("editor.autoClosingQuotes.languageDefined","Use language configurations to determine when to autoclose quotes."),localize("editor.autoClosingQuotes.beforeWhitespace","Autoclose quotes only when the cursor is to the left of whitespace."),""],description:localize("autoClosingQuotes","Controls whether the editor should automatically close quotes after the user adds an opening quote.")})),autoIndent:register$2(new EditorEnumOption(12,"autoIndent",4,"full",["none","keep","brackets","advanced","full"],_autoIndentFromString,{enumDescriptions:[localize("editor.autoIndent.none","The editor will not insert indentation automatically."),localize("editor.autoIndent.keep","The editor will keep the current line's indentation."),localize("editor.autoIndent.brackets","The editor will keep the current line's indentation and honor language defined brackets."),localize("editor.autoIndent.advanced","The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages."),localize("editor.autoIndent.full","The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.")],description:localize("autoIndent","Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.")})),automaticLayout:register$2(new EditorBooleanOption(13,"automaticLayout",!1)),autoSurround:register$2(new EditorStringEnumOption(14,"autoSurround","languageDefined",["languageDefined","quotes","brackets","never"],{enumDescriptions:[localize("editor.autoSurround.languageDefined","Use language configurations to determine when to automatically surround selections."),localize("editor.autoSurround.quotes","Surround with quotes but not brackets."),localize("editor.autoSurround.brackets","Surround with brackets but not quotes."),""],description:localize("autoSurround","Controls whether the editor should automatically surround selections when typing quotes or brackets.")})),bracketPairColorization:register$2(new BracketPairColorization),bracketPairGuides:register$2(new GuideOptions),stickyTabStops:register$2(new EditorBooleanOption(116,"stickyTabStops",!1,{description:localize("stickyTabStops","Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.")})),codeLens:register$2(new EditorBooleanOption(17,"codeLens",!0,{description:localize("codeLens","Controls whether the editor shows CodeLens.")})),codeLensFontFamily:register$2(new EditorStringOption(18,"codeLensFontFamily","",{description:localize("codeLensFontFamily","Controls the font family for CodeLens.")})),codeLensFontSize:register$2(new EditorIntOption(19,"codeLensFontSize",0,0,100,{type:"number",default:0,minimum:0,maximum:100,markdownDescription:localize("codeLensFontSize","Controls the font size in pixels for CodeLens. When set to 0, 90% of `#editor.fontSize#` is used.")})),colorDecorators:register$2(new EditorBooleanOption(20,"colorDecorators",!0,{description:localize("colorDecorators","Controls whether the editor should render the inline color decorators and color picker.")})),colorDecoratorActivatedOn:register$2(new EditorStringEnumOption(148,"colorDecoratorsActivatedOn","clickAndHover",["clickAndHover","hover","click"],{enumDescriptions:[localize("editor.colorDecoratorActivatedOn.clickAndHover","Make the color picker appear both on click and hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.hover","Make the color picker appear on hover of the color decorator"),localize("editor.colorDecoratorActivatedOn.click","Make the color picker appear on click of the color decorator")],description:localize("colorDecoratorActivatedOn","Controls the condition to make a color picker appear from a color decorator")})),colorDecoratorsLimit:register$2(new EditorIntOption(21,"colorDecoratorsLimit",500,1,1e6,{markdownDescription:localize("colorDecoratorsLimit","Controls the max number of color decorators that can be rendered in an editor at once.")})),columnSelection:register$2(new EditorBooleanOption(22,"columnSelection",!1,{description:localize("columnSelection","Enable that the selection with the mouse and keys is doing column selection.")})),comments:register$2(new EditorComments),contextmenu:register$2(new EditorBooleanOption(24,"contextmenu",!0)),copyWithSyntaxHighlighting:register$2(new EditorBooleanOption(25,"copyWithSyntaxHighlighting",!0,{description:localize("copyWithSyntaxHighlighting","Controls whether syntax highlighting should be copied into the clipboard.")})),cursorBlinking:register$2(new EditorEnumOption(26,"cursorBlinking",1,"blink",["blink","smooth","phase","expand","solid"],_cursorBlinkingStyleFromString,{description:localize("cursorBlinking","Control the cursor animation style.")})),cursorSmoothCaretAnimation:register$2(new EditorStringEnumOption(27,"cursorSmoothCaretAnimation","off",["off","explicit","on"],{enumDescriptions:[localize("cursorSmoothCaretAnimation.off","Smooth caret animation is disabled."),localize("cursorSmoothCaretAnimation.explicit","Smooth caret animation is enabled only when the user moves the cursor with an explicit gesture."),localize("cursorSmoothCaretAnimation.on","Smooth caret animation is always enabled.")],description:localize("cursorSmoothCaretAnimation","Controls whether the smooth caret animation should be enabled.")})),cursorStyle:register$2(new EditorEnumOption(28,"cursorStyle",TextEditorCursorStyle$1.Line,"line",["line","block","underline","line-thin","block-outline","underline-thin"],_cursorStyleFromString,{description:localize("cursorStyle","Controls the cursor style.")})),cursorSurroundingLines:register$2(new EditorIntOption(29,"cursorSurroundingLines",0,0,1073741824,{description:localize("cursorSurroundingLines","Controls the minimal number of visible leading lines (minimum 0) and trailing lines (minimum 1) surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.")})),cursorSurroundingLinesStyle:register$2(new EditorStringEnumOption(30,"cursorSurroundingLinesStyle","default",["default","all"],{enumDescriptions:[localize("cursorSurroundingLinesStyle.default","`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),localize("cursorSurroundingLinesStyle.all","`cursorSurroundingLines` is enforced always.")],markdownDescription:localize("cursorSurroundingLinesStyle","Controls when `#editor.cursorSurroundingLines#` should be enforced.")})),cursorWidth:register$2(new EditorIntOption(31,"cursorWidth",0,0,1073741824,{markdownDescription:localize("cursorWidth","Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:register$2(new EditorBooleanOption(32,"disableLayerHinting",!1)),disableMonospaceOptimizations:register$2(new EditorBooleanOption(33,"disableMonospaceOptimizations",!1)),domReadOnly:register$2(new EditorBooleanOption(34,"domReadOnly",!1)),dragAndDrop:register$2(new EditorBooleanOption(35,"dragAndDrop",!0,{description:localize("dragAndDrop","Controls whether the editor should allow moving selections via drag and drop.")})),emptySelectionClipboard:register$2(new EditorEmptySelectionClipboard),dropIntoEditor:register$2(new EditorDropIntoEditor),stickyScroll:register$2(new EditorStickyScroll),experimentalWhitespaceRendering:register$2(new EditorStringEnumOption(38,"experimentalWhitespaceRendering","svg",["svg","font","off"],{enumDescriptions:[localize("experimentalWhitespaceRendering.svg","Use a new rendering method with svgs."),localize("experimentalWhitespaceRendering.font","Use a new rendering method with font characters."),localize("experimentalWhitespaceRendering.off","Use the stable rendering method.")],description:localize("experimentalWhitespaceRendering","Controls whether whitespace is rendered with a new, experimental method.")})),extraEditorClassName:register$2(new EditorStringOption(39,"extraEditorClassName","")),fastScrollSensitivity:register$2(new EditorFloatOption(40,"fastScrollSensitivity",5,n=>n<=0?5:n,{markdownDescription:localize("fastScrollSensitivity","Scrolling speed multiplier when pressing `Alt`.")})),find:register$2(new EditorFind),fixedOverflowWidgets:register$2(new EditorBooleanOption(42,"fixedOverflowWidgets",!1)),folding:register$2(new EditorBooleanOption(43,"folding",!0,{description:localize("folding","Controls whether the editor has code folding enabled.")})),foldingStrategy:register$2(new EditorStringEnumOption(44,"foldingStrategy","auto",["auto","indentation"],{enumDescriptions:[localize("foldingStrategy.auto","Use a language-specific folding strategy if available, else the indentation-based one."),localize("foldingStrategy.indentation","Use the indentation-based folding strategy.")],description:localize("foldingStrategy","Controls the strategy for computing folding ranges.")})),foldingHighlight:register$2(new EditorBooleanOption(45,"foldingHighlight",!0,{description:localize("foldingHighlight","Controls whether the editor should highlight folded ranges.")})),foldingImportsByDefault:register$2(new EditorBooleanOption(46,"foldingImportsByDefault",!1,{description:localize("foldingImportsByDefault","Controls whether the editor automatically collapses import ranges.")})),foldingMaximumRegions:register$2(new EditorIntOption(47,"foldingMaximumRegions",5e3,10,65e3,{description:localize("foldingMaximumRegions","The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.")})),unfoldOnClickAfterEndOfLine:register$2(new EditorBooleanOption(48,"unfoldOnClickAfterEndOfLine",!1,{description:localize("unfoldOnClickAfterEndOfLine","Controls whether clicking on the empty content after a folded line will unfold the line.")})),fontFamily:register$2(new EditorStringOption(49,"fontFamily",EDITOR_FONT_DEFAULTS.fontFamily,{description:localize("fontFamily","Controls the font family.")})),fontInfo:register$2(new EditorFontInfo),fontLigatures2:register$2(new EditorFontLigatures),fontSize:register$2(new EditorFontSize),fontWeight:register$2(new EditorFontWeight),fontVariations:register$2(new EditorFontVariations),formatOnPaste:register$2(new EditorBooleanOption(55,"formatOnPaste",!1,{description:localize("formatOnPaste","Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.")})),formatOnType:register$2(new EditorBooleanOption(56,"formatOnType",!1,{description:localize("formatOnType","Controls whether the editor should automatically format the line after typing.")})),glyphMargin:register$2(new EditorBooleanOption(57,"glyphMargin",!0,{description:localize("glyphMargin","Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.")})),gotoLocation:register$2(new EditorGoToLocation),hideCursorInOverviewRuler:register$2(new EditorBooleanOption(59,"hideCursorInOverviewRuler",!1,{description:localize("hideCursorInOverviewRuler","Controls whether the cursor should be hidden in the overview ruler.")})),hover:register$2(new EditorHover),inDiffEditor:register$2(new EditorBooleanOption(61,"inDiffEditor",!1)),letterSpacing:register$2(new EditorFloatOption(64,"letterSpacing",EDITOR_FONT_DEFAULTS.letterSpacing,n=>EditorFloatOption.clamp(n,-5,20),{description:localize("letterSpacing","Controls the letter spacing in pixels.")})),lightbulb:register$2(new EditorLightbulb),lineDecorationsWidth:register$2(new EditorLineDecorationsWidth),lineHeight:register$2(new EditorLineHeight),lineNumbers:register$2(new EditorRenderLineNumbersOption),lineNumbersMinChars:register$2(new EditorIntOption(69,"lineNumbersMinChars",5,1,300)),linkedEditing:register$2(new EditorBooleanOption(70,"linkedEditing",!1,{description:localize("linkedEditing","Controls whether the editor has linked editing enabled. Depending on the language, related symbols such as HTML tags, are updated while editing.")})),links:register$2(new EditorBooleanOption(71,"links",!0,{description:localize("links","Controls whether the editor should detect links and make them clickable.")})),matchBrackets:register$2(new EditorStringEnumOption(72,"matchBrackets","always",["always","near","never"],{description:localize("matchBrackets","Highlight matching brackets.")})),minimap:register$2(new EditorMinimap),mouseStyle:register$2(new EditorStringEnumOption(74,"mouseStyle","text",["text","default","copy"])),mouseWheelScrollSensitivity:register$2(new EditorFloatOption(75,"mouseWheelScrollSensitivity",1,n=>n===0?1:n,{markdownDescription:localize("mouseWheelScrollSensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:register$2(new EditorBooleanOption(76,"mouseWheelZoom",!1,{markdownDescription:isMacintosh?localize("mouseWheelZoom.mac","Zoom the font of the editor when using mouse wheel and holding `Cmd`."):localize("mouseWheelZoom","Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:register$2(new EditorBooleanOption(77,"multiCursorMergeOverlapping",!0,{description:localize("multiCursorMergeOverlapping","Merge multiple cursors when they are overlapping.")})),multiCursorModifier:register$2(new EditorEnumOption(78,"multiCursorModifier","altKey","alt",["ctrlCmd","alt"],_multiCursorModifierFromString,{markdownEnumDescriptions:[localize("multiCursorModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiCursorModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:localize({},"The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).")})),multiCursorPaste:register$2(new EditorStringEnumOption(79,"multiCursorPaste","spread",["spread","full"],{markdownEnumDescriptions:[localize("multiCursorPaste.spread","Each cursor pastes a single line of the text."),localize("multiCursorPaste.full","Each cursor pastes the full text.")],markdownDescription:localize("multiCursorPaste","Controls pasting when the line count of the pasted text matches the cursor count.")})),multiCursorLimit:register$2(new EditorIntOption(80,"multiCursorLimit",1e4,1,1e5,{markdownDescription:localize("multiCursorLimit","Controls the max number of cursors that can be in an active editor at once.")})),occurrencesHighlight:register$2(new EditorStringEnumOption(81,"occurrencesHighlight","singleFile",["off","singleFile","multiFile"],{markdownEnumDescriptions:[localize("occurrencesHighlight.off","Does not highlight occurrences."),localize("occurrencesHighlight.singleFile","Highlights occurrences only in the current file."),localize("occurrencesHighlight.multiFile","Experimental: Highlights occurrences across all valid open files.")],markdownDescription:localize("occurrencesHighlight","Controls whether occurrences should be highlighted across open files.")})),overviewRulerBorder:register$2(new EditorBooleanOption(82,"overviewRulerBorder",!0,{description:localize("overviewRulerBorder","Controls whether a border should be drawn around the overview ruler.")})),overviewRulerLanes:register$2(new EditorIntOption(83,"overviewRulerLanes",3,0,3)),padding:register$2(new EditorPadding),pasteAs:register$2(new EditorPasteAs),parameterHints:register$2(new EditorParameterHints),peekWidgetDefaultFocus:register$2(new EditorStringEnumOption(87,"peekWidgetDefaultFocus","tree",["tree","editor"],{enumDescriptions:[localize("peekWidgetDefaultFocus.tree","Focus the tree when opening peek"),localize("peekWidgetDefaultFocus.editor","Focus the editor when opening peek")],description:localize("peekWidgetDefaultFocus","Controls whether to focus the inline editor or the tree in the peek widget.")})),definitionLinkOpensInPeek:register$2(new EditorBooleanOption(88,"definitionLinkOpensInPeek",!1,{description:localize("definitionLinkOpensInPeek","Controls whether the Go to Definition mouse gesture always opens the peek widget.")})),quickSuggestions:register$2(new EditorQuickSuggestions),quickSuggestionsDelay:register$2(new EditorIntOption(90,"quickSuggestionsDelay",10,0,1073741824,{description:localize("quickSuggestionsDelay","Controls the delay in milliseconds after which quick suggestions will show up.")})),readOnly:register$2(new EditorBooleanOption(91,"readOnly",!1)),readOnlyMessage:register$2(new ReadonlyMessage),renameOnType:register$2(new EditorBooleanOption(93,"renameOnType",!1,{description:localize("renameOnType","Controls whether the editor auto renames on type."),markdownDeprecationMessage:localize("renameOnTypeDeprecate","Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:register$2(new EditorBooleanOption(94,"renderControlCharacters",!0,{description:localize("renderControlCharacters","Controls whether the editor should render control characters."),restricted:!0})),renderFinalNewline:register$2(new EditorStringEnumOption(95,"renderFinalNewline",isLinux?"dimmed":"on",["off","on","dimmed"],{description:localize("renderFinalNewline","Render last line number when the file ends with a newline.")})),renderLineHighlight:register$2(new EditorStringEnumOption(96,"renderLineHighlight","line",["none","gutter","line","all"],{enumDescriptions:["","","",localize("renderLineHighlight.all","Highlights both the gutter and the current line.")],description:localize("renderLineHighlight","Controls how the editor should render the current line highlight.")})),renderLineHighlightOnlyWhenFocus:register$2(new EditorBooleanOption(97,"renderLineHighlightOnlyWhenFocus",!1,{description:localize("renderLineHighlightOnlyWhenFocus","Controls if the editor should render the current line highlight only when the editor is focused.")})),renderValidationDecorations:register$2(new EditorStringEnumOption(98,"renderValidationDecorations","editable",["editable","on","off"])),renderWhitespace:register$2(new EditorStringEnumOption(99,"renderWhitespace","selection",["none","boundary","selection","trailing","all"],{enumDescriptions:["",localize("renderWhitespace.boundary","Render whitespace characters except for single spaces between words."),localize("renderWhitespace.selection","Render whitespace characters only on selected text."),localize("renderWhitespace.trailing","Render only trailing whitespace characters."),""],description:localize("renderWhitespace","Controls how the editor should render whitespace characters.")})),revealHorizontalRightPadding:register$2(new EditorIntOption(100,"revealHorizontalRightPadding",15,0,1e3)),roundedSelection:register$2(new EditorBooleanOption(101,"roundedSelection",!0,{description:localize("roundedSelection","Controls whether selections should have rounded corners.")})),rulers:register$2(new EditorRulers),scrollbar:register$2(new EditorScrollbar$1),scrollBeyondLastColumn:register$2(new EditorIntOption(104,"scrollBeyondLastColumn",4,0,1073741824,{description:localize("scrollBeyondLastColumn","Controls the number of extra characters beyond which the editor will scroll horizontally.")})),scrollBeyondLastLine:register$2(new EditorBooleanOption(105,"scrollBeyondLastLine",!0,{description:localize("scrollBeyondLastLine","Controls whether the editor will scroll beyond the last line.")})),scrollPredominantAxis:register$2(new EditorBooleanOption(106,"scrollPredominantAxis",!0,{description:localize("scrollPredominantAxis","Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.")})),selectionClipboard:register$2(new EditorBooleanOption(107,"selectionClipboard",!0,{description:localize("selectionClipboard","Controls whether the Linux primary clipboard should be supported."),included:isLinux})),selectionHighlight:register$2(new EditorBooleanOption(108,"selectionHighlight",!0,{description:localize("selectionHighlight","Controls whether the editor should highlight matches similar to the selection.")})),selectOnLineNumbers:register$2(new EditorBooleanOption(109,"selectOnLineNumbers",!0)),showFoldingControls:register$2(new EditorStringEnumOption(110,"showFoldingControls","mouseover",["always","never","mouseover"],{enumDescriptions:[localize("showFoldingControls.always","Always show the folding controls."),localize("showFoldingControls.never","Never show the folding controls and reduce the gutter size."),localize("showFoldingControls.mouseover","Only show the folding controls when the mouse is over the gutter.")],description:localize("showFoldingControls","Controls when the folding controls on the gutter are shown.")})),showUnused:register$2(new EditorBooleanOption(111,"showUnused",!0,{description:localize("showUnused","Controls fading out of unused code.")})),showDeprecated:register$2(new EditorBooleanOption(140,"showDeprecated",!0,{description:localize("showDeprecated","Controls strikethrough deprecated variables.")})),inlayHints:register$2(new EditorInlayHints),snippetSuggestions:register$2(new EditorStringEnumOption(112,"snippetSuggestions","inline",["top","bottom","inline","none"],{enumDescriptions:[localize("snippetSuggestions.top","Show snippet suggestions on top of other suggestions."),localize("snippetSuggestions.bottom","Show snippet suggestions below other suggestions."),localize("snippetSuggestions.inline","Show snippets suggestions with other suggestions."),localize("snippetSuggestions.none","Do not show snippet suggestions.")],description:localize("snippetSuggestions","Controls whether snippets are shown with other suggestions and how they are sorted.")})),smartSelect:register$2(new SmartSelect),smoothScrolling:register$2(new EditorBooleanOption(114,"smoothScrolling",!1,{description:localize("smoothScrolling","Controls whether the editor will scroll using an animation.")})),stopRenderingLineAfter:register$2(new EditorIntOption(117,"stopRenderingLineAfter",1e4,-1,1073741824)),suggest:register$2(new EditorSuggest),inlineSuggest:register$2(new InlineEditorSuggest),inlineEdit:register$2(new InlineEditorEdit),inlineCompletionsAccessibilityVerbose:register$2(new EditorBooleanOption(149,"inlineCompletionsAccessibilityVerbose",!1,{description:localize("inlineCompletionsAccessibilityVerbose","Controls whether the accessibility hint should be provided to screen reader users when an inline completion is shown.")})),suggestFontSize:register$2(new EditorIntOption(119,"suggestFontSize",0,0,1e3,{markdownDescription:localize("suggestFontSize","Font size for the suggest widget. When set to {0}, the value of {1} is used.","`0`","`#editor.fontSize#`")})),suggestLineHeight:register$2(new EditorIntOption(120,"suggestLineHeight",0,0,1e3,{markdownDescription:localize("suggestLineHeight","Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.","`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:register$2(new EditorBooleanOption(121,"suggestOnTriggerCharacters",!0,{description:localize("suggestOnTriggerCharacters","Controls whether suggestions should automatically show up when typing trigger characters.")})),suggestSelection:register$2(new EditorStringEnumOption(122,"suggestSelection","first",["first","recentlyUsed","recentlyUsedByPrefix"],{markdownEnumDescriptions:[localize("suggestSelection.first","Always select the first suggestion."),localize("suggestSelection.recentlyUsed","Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),localize("suggestSelection.recentlyUsedByPrefix","Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:localize("suggestSelection","Controls how suggestions are pre-selected when showing the suggest list.")})),tabCompletion:register$2(new EditorStringEnumOption(123,"tabCompletion","off",["on","off","onlySnippets"],{enumDescriptions:[localize("tabCompletion.on","Tab complete will insert the best matching suggestion when pressing tab."),localize("tabCompletion.off","Disable tab completions."),localize("tabCompletion.onlySnippets","Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.")],description:localize("tabCompletion","Enables tab completions.")})),tabIndex:register$2(new EditorIntOption(124,"tabIndex",0,-1,1073741824)),unicodeHighlight:register$2(new UnicodeHighlight),unusualLineTerminators:register$2(new EditorStringEnumOption(126,"unusualLineTerminators","prompt",["auto","off","prompt"],{enumDescriptions:[localize("unusualLineTerminators.auto","Unusual line terminators are automatically removed."),localize("unusualLineTerminators.off","Unusual line terminators are ignored."),localize("unusualLineTerminators.prompt","Unusual line terminators prompt to be removed.")],description:localize("unusualLineTerminators","Remove unusual line terminators that might cause problems.")})),useShadowDOM:register$2(new EditorBooleanOption(127,"useShadowDOM",!0)),useTabStops:register$2(new EditorBooleanOption(128,"useTabStops",!0,{description:localize("useTabStops","Spaces and tabs are inserted and deleted in alignment with tab stops.")})),wordBreak:register$2(new EditorStringEnumOption(129,"wordBreak","normal",["normal","keepAll"],{markdownEnumDescriptions:[localize("wordBreak.normal","Use the default line break rule."),localize("wordBreak.keepAll","Word breaks should not be used for Chinese/Japanese/Korean (CJK) text. Non-CJK text behavior is the same as for normal.")],description:localize("wordBreak","Controls the word break rules used for Chinese/Japanese/Korean (CJK) text.")})),wordSegmenterLocales:register$2(new WordSegmenterLocales),wordSeparators:register$2(new EditorStringOption(131,"wordSeparators",USUAL_WORD_SEPARATORS,{description:localize("wordSeparators","Characters that will be used as word separators when doing word related navigations or operations.")})),wordWrap:register$2(new EditorStringEnumOption(132,"wordWrap","off",["off","on","wordWrapColumn","bounded"],{markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize({},"Lines will wrap at `#editor.wordWrapColumn#`."),localize({},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:localize({},"Controls how lines should wrap.")})),wordWrapBreakAfterCharacters:register$2(new EditorStringOption(133,"wordWrapBreakAfterCharacters"," })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」")),wordWrapBreakBeforeCharacters:register$2(new EditorStringOption(134,"wordWrapBreakBeforeCharacters","([{‘“〈《「『【〔([{「£¥$£¥++")),wordWrapColumn:register$2(new EditorIntOption(135,"wordWrapColumn",80,1,1073741824,{markdownDescription:localize({},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:register$2(new EditorStringEnumOption(136,"wordWrapOverride1","inherit",["off","on","inherit"])),wordWrapOverride2:register$2(new EditorStringEnumOption(137,"wordWrapOverride2","inherit",["off","on","inherit"])),editorClassName:register$2(new EditorClassName),defaultColorDecorators:register$2(new EditorBooleanOption(147,"defaultColorDecorators",!1,{markdownDescription:localize("defaultColorDecorators","Controls whether inline color decorations should be shown using the default document color provider")})),pixelRatio:register$2(new EditorPixelRatio),tabFocusMode:register$2(new EditorBooleanOption(144,"tabFocusMode",!1,{markdownDescription:localize("tabFocusMode","Controls whether the editor receives tabs or defers them to the workbench for navigation.")})),layoutInfo:register$2(new EditorLayoutInfoComputer),wrappingInfo:register$2(new EditorWrappingInfoComputer),wrappingIndent:register$2(new WrappingIndentOption),wrappingStrategy:register$2(new WrappingStrategy)};class ErrorHandler{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ErrorNoTelemetry.isErrorNoTelemetry(e)?new ErrorNoTelemetry(e.message+"\n\n"+e.stack):new Error(e.message+"\n\n"+e.stack):e},0)}}emit(e){this.listeners.forEach(t=>{t(e)})}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}}const errorHandler=new ErrorHandler;function onUnexpectedError(n){isCancellationError(n)||errorHandler.onUnexpectedError(n)}function onUnexpectedExternalError(n){isCancellationError(n)||errorHandler.onUnexpectedExternalError(n)}function transformErrorForSerialization(n){if(n instanceof Error){const{name:e,message:t}=n,i=n.stacktrace||n.stack;return{$isError:!0,name:e,message:t,stack:i,noTelemetry:ErrorNoTelemetry.isErrorNoTelemetry(n)}}return n}const canceledName="Canceled";function isCancellationError(n){return n instanceof CancellationError?!0:n instanceof Error&&n.name===canceledName&&n.message===canceledName}class CancellationError extends Error{constructor(){super(canceledName),this.name=this.message}}function canceled(){const n=new Error(canceledName);return n.name=n.message,n}function illegalArgument(n){return n?new Error("Illegal argument: ".concat(n)):new Error("Illegal argument")}function illegalState(n){return n?new Error("Illegal state: ".concat(n)):new Error("Illegal state")}class NotSupportedError extends Error{constructor(e){super("NotSupported"),e&&(this.message=e)}}class ErrorNoTelemetry extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof ErrorNoTelemetry)return e;const t=new ErrorNoTelemetry;return t.message=e.message,t.stack=e.stack,t}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}}class BugIndicatingError extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,BugIndicatingError.prototype)}}function createSingleCallFunction(n,e){const t=this;let i=!1,r;return function(){return i||(i=!0,r=n.apply(t,arguments)),r}}function trackDisposable(n){return n}function setParentOfDisposable(n,e){}function markAsSingleton(n){return n}function isDisposable(n){return typeof n.dispose=="function"&&n.dispose.length===0}function dispose(n){if(Iterable.is(n)){const e=[];for(const t of n)if(t)try{t.dispose()}catch(i){e.push(i)}if(e.length===1)throw e[0];if(e.length>1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(n)?[]:n}else if(n)return n.dispose(),n}function combinedDisposable(...n){return toDisposable(()=>dispose(n))}function toDisposable(n){return{dispose:createSingleCallFunction(()=>{n()})}}class DisposableStore{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{dispose(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?DisposableStore.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}deleteAndLeak(e){e&&this._toDispose.has(e)&&this._toDispose.delete(e)}}DisposableStore.DISABLE_DISPOSED_WARNING=!1;class Disposable{constructor(){this._store=new DisposableStore,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}}Disposable.None=Object.freeze({dispose(){}});class MutableDisposable{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)===null||t===void 0||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)===null||e===void 0||e.dispose(),this._value=void 0}}class RefCountedDisposable{constructor(e){this._disposable=e,this._counter=1}acquire(){return this._counter++,this}release(){return--this._counter===0&&this._disposable.dispose(),this}}class ImmortalReference{constructor(e){this.object=e}dispose(){}}class DisposableMap{constructor(){this._store=new Map,this._isDisposed=!1}dispose(){this._isDisposed=!0,this.clearAndDisposeAll()}clearAndDisposeAll(){if(this._store.size)try{dispose(this._store.values())}finally{this._store.clear()}}get(e){return this._store.get(e)}set(e,t,i=!1){var r;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),i||(r=this._store.get(e))===null||r===void 0||r.dispose(),this._store.set(e,t)}deleteAndDispose(e){var t;(t=this._store.get(e))===null||t===void 0||t.dispose(),this._store.delete(e)}[Symbol.iterator](){return this._store[Symbol.iterator]()}}const hasPerformanceNow=globalThis.performance&&typeof globalThis.performance.now=="function";class StopWatch{static create(e){return new StopWatch(e)}constructor(e){this._now=hasPerformanceNow&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}}var Event$1;(function(n){n.None=()=>Disposable.None;function e(Ve,Oe){return j(Ve,()=>{},0,void 0,!0,void 0,Oe)}n.defer=e;function t(Ve){return(Oe,ze=null,qe)=>{let Ue=!1,Et;return Et=Ve(At=>{if(!Ue)return Et?Et.dispose():Ue=!0,Oe.call(ze,At)},null,qe),Ue&&Et.dispose(),Et}}n.once=t;function i(Ve,Oe,ze){return V((qe,Ue=null,Et)=>Ve(At=>qe.call(Ue,Oe(At)),null,Et),ze)}n.map=i;function r(Ve,Oe,ze){return V((qe,Ue=null,Et)=>Ve(At=>{Oe(At),qe.call(Ue,At)},null,Et),ze)}n.forEach=r;function g(Ve,Oe,ze){return V((qe,Ue=null,Et)=>Ve(At=>Oe(At)&&qe.call(Ue,At),null,Et),ze)}n.filter=g;function y(Ve){return Ve}n.signal=y;function k(...Ve){return(Oe,ze=null,qe)=>{const Ue=combinedDisposable(...Ve.map(Et=>Et(At=>Oe.call(ze,At))));return z(Ue,qe)}}n.any=k;function L(Ve,Oe,ze,qe){let Ue=ze;return i(Ve,Et=>(Ue=Oe(Ue,Et),Ue),qe)}n.reduce=L;function V(Ve,Oe){let ze;const qe={onWillAddFirstListener(){ze=Ve(Ue.fire,Ue)},onDidRemoveLastListener(){ze==null||ze.dispose()}},Ue=new Emitter$1(qe);return Oe==null||Oe.add(Ue),Ue.event}function z(Ve,Oe){return Oe instanceof Array?Oe.push(Ve):Oe&&Oe.add(Ve),Ve}function j(Ve,Oe,ze=100,qe=!1,Ue=!1,Et,At){let Lt,kt,ei,jt=0,ri;const ni={leakWarningThreshold:Et,onWillAddFirstListener(){Lt=Ve(wi=>{jt++,kt=Oe(kt,wi),qe&&!ei&&(Ci.fire(kt),kt=void 0),ri=()=>{const Ri=kt;kt=void 0,ei=void 0,(!qe||jt>1)&&Ci.fire(Ri),jt=0},typeof ze=="number"?(clearTimeout(ei),ei=setTimeout(ri,ze)):ei===void 0&&(ei=0,queueMicrotask(ri))})},onWillRemoveListener(){Ue&&jt>0&&(ri==null||ri())},onDidRemoveLastListener(){ri=void 0,Lt.dispose()}},Ci=new Emitter$1(ni);return At==null||At.add(Ci),Ci.event}n.debounce=j;function ie(Ve,Oe=0,ze){return n.debounce(Ve,(qe,Ue)=>qe?(qe.push(Ue),qe):[Ue],Oe,void 0,!0,void 0,ze)}n.accumulate=ie;function oe(Ve,Oe=(qe,Ue)=>qe===Ue,ze){let qe=!0,Ue;return g(Ve,Et=>{const At=qe||!Oe(Et,Ue);return qe=!1,Ue=Et,At},ze)}n.latch=oe;function re(Ve,Oe,ze){return[n.filter(Ve,Oe,ze),n.filter(Ve,qe=>!Oe(qe),ze)]}n.split=re;function ae(Ve,Oe=!1,ze=[],qe){let Ue=ze.slice(),Et=Ve(kt=>{Ue?Ue.push(kt):Lt.fire(kt)});qe&&qe.add(Et);const At=()=>{Ue==null||Ue.forEach(kt=>Lt.fire(kt)),Ue=null},Lt=new Emitter$1({onWillAddFirstListener(){Et||(Et=Ve(kt=>Lt.fire(kt)),qe&&qe.add(Et))},onDidAddFirstListener(){Ue&&(Oe?setTimeout(At):At())},onDidRemoveLastListener(){Et&&Et.dispose(),Et=null}});return qe&&qe.add(Lt),Lt.event}n.buffer=ae;function le(Ve,Oe){return(qe,Ue,Et)=>{const At=Oe(new ue);return Ve(function(Lt){const kt=At.evaluate(Lt);kt!==de&&qe.call(Ue,kt)},void 0,Et)}}n.chain=le;const de=Symbol("HaltChainable");class ue{constructor(){this.steps=[]}map(Oe){return this.steps.push(Oe),this}forEach(Oe){return this.steps.push(ze=>(Oe(ze),ze)),this}filter(Oe){return this.steps.push(ze=>Oe(ze)?ze:de),this}reduce(Oe,ze){let qe=ze;return this.steps.push(Ue=>(qe=Oe(qe,Ue),qe)),this}latch(Oe=(ze,qe)=>ze===qe){let ze=!0,qe;return this.steps.push(Ue=>{const Et=ze||!Oe(Ue,qe);return ze=!1,qe=Ue,Et?Ue:de}),this}evaluate(Oe){for(const ze of this.steps)if(Oe=ze(Oe),Oe===de)break;return Oe}}function he(Ve,Oe,ze=qe=>qe){const qe=(...Lt)=>At.fire(ze(...Lt)),Ue=()=>Ve.on(Oe,qe),Et=()=>Ve.removeListener(Oe,qe),At=new Emitter$1({onWillAddFirstListener:Ue,onDidRemoveLastListener:Et});return At.event}n.fromNodeEventEmitter=he;function pe(Ve,Oe,ze=qe=>qe){const qe=(...Lt)=>At.fire(ze(...Lt)),Ue=()=>Ve.addEventListener(Oe,qe),Et=()=>Ve.removeEventListener(Oe,qe),At=new Emitter$1({onWillAddFirstListener:Ue,onDidRemoveLastListener:Et});return At.event}n.fromDOMEventEmitter=pe;function Ce(Ve){return new Promise(Oe=>t(Ve)(Oe))}n.toPromise=Ce;function $e(Ve){const Oe=new Emitter$1;return Ve.then(ze=>{Oe.fire(ze)},()=>{Oe.fire(void 0)}).finally(()=>{Oe.dispose()}),Oe.event}n.fromPromise=$e;function xe(Ve,Oe,ze){return Oe(ze),Ve(qe=>Oe(qe))}n.runAndSubscribe=xe;class Ie{constructor(Oe,ze){this._observable=Oe,this._counter=0,this._hasChanged=!1;const qe={onWillAddFirstListener:()=>{Oe.addObserver(this)},onDidRemoveLastListener:()=>{Oe.removeObserver(this)}};this.emitter=new Emitter$1(qe),ze&&ze.add(this.emitter)}beginUpdate(Oe){this._counter++}handlePossibleChange(Oe){}handleChange(Oe,ze){this._hasChanged=!0}endUpdate(Oe){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function Ne(Ve,Oe){return new Ie(Ve,Oe).emitter.event}n.fromObservable=Ne;function Fe(Ve){return(Oe,ze,qe)=>{let Ue=0,Et=!1;const At={beginUpdate(){Ue++},endUpdate(){Ue--,Ue===0&&(Ve.reportChanges(),Et&&(Et=!1,Oe.call(ze)))},handlePossibleChange(){},handleChange(){Et=!0}};Ve.addObserver(At),Ve.reportChanges();const Lt={dispose(){Ve.removeObserver(At)}};return qe instanceof DisposableStore?qe.add(Lt):Array.isArray(qe)&&qe.push(Lt),Lt}}n.fromObservableLight=Fe})(Event$1||(Event$1={}));class EventProfiling{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name="".concat(e,"_").concat(EventProfiling._idPool++),EventProfiling.all.add(this)}start(e){this._stopWatch=new StopWatch,this.listenerCount=e}stop(){if(this._stopWatch){const e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}}EventProfiling.all=new Set;EventProfiling._idPool=0;let _globalLeakWarningThreshold=-1;class LeakageMonitor{constructor(e,t=Math.random().toString(18).slice(2,5)){this.threshold=e,this.name=t,this._warnCountdown=0}dispose(){var e;(e=this._stacks)===null||e===void 0||e.clear()}check(e,t){const i=this.threshold;if(i<=0||t{const g=this._stacks.get(e.value)||0;this._stacks.set(e.value,g-1)}}}class Stacktrace{static create(){var e;return new Stacktrace((e=new Error().stack)!==null&&e!==void 0?e:"")}constructor(e){this.value=e}print(){console.warn(this.value.split("\n").slice(2).join("\n"))}}class UniqueContainer{constructor(e){this.value=e}}const compactionThreshold=2;let Emitter$1=class{constructor(e){var t,i,r,g,y;this._size=0,this._options=e,this._leakageMon=!((t=this._options)===null||t===void 0)&&t.leakWarningThreshold?new LeakageMonitor((r=(i=this._options)===null||i===void 0?void 0:i.leakWarningThreshold)!==null&&r!==void 0?r:_globalLeakWarningThreshold):void 0,this._perfMon=!((g=this._options)===null||g===void 0)&&g._profName?new EventProfiling(this._options._profName):void 0,this._deliveryQueue=(y=this._options)===null||y===void 0?void 0:y.deliveryQueue}dispose(){var e,t,i,r;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)===null||e===void 0?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(t=this._options)===null||t===void 0?void 0:t.onDidRemoveLastListener)===null||i===void 0||i.call(t),(r=this._leakageMon)===null||r===void 0||r.dispose())}get event(){var e;return(e=this._event)!==null&&e!==void 0||(this._event=(t,i,r)=>{var g,y,k,L,V;if(this._leakageMon&&this._size>this._leakageMon.threshold*3)return console.warn("[".concat(this._leakageMon.name,"] REFUSES to accept new listeners because it exceeded its threshold by far")),Disposable.None;if(this._disposed)return Disposable.None;i&&(t=t.bind(i));const z=new UniqueContainer(t);let j;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(z.stack=Stacktrace.create(),j=this._leakageMon.check(z.stack,this._size+1)),this._listeners?this._listeners instanceof UniqueContainer?((V=this._deliveryQueue)!==null&&V!==void 0||(this._deliveryQueue=new EventDeliveryQueuePrivate),this._listeners=[this._listeners,z]):this._listeners.push(z):((y=(g=this._options)===null||g===void 0?void 0:g.onWillAddFirstListener)===null||y===void 0||y.call(g,this),this._listeners=z,(L=(k=this._options)===null||k===void 0?void 0:k.onDidAddFirstListener)===null||L===void 0||L.call(k,this)),this._size++;const ie=toDisposable(()=>{j==null||j(),this._removeListener(z)});return r instanceof DisposableStore?r.add(ie):Array.isArray(r)&&r.push(ie),ie}),this._event}_removeListener(e){var t,i,r,g;if((i=(t=this._options)===null||t===void 0?void 0:t.onWillRemoveListener)===null||i===void 0||i.call(t,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(g=(r=this._options)===null||r===void 0?void 0:r.onDidRemoveLastListener)===null||g===void 0||g.call(r,this),this._size=0;return}const y=this._listeners,k=y.indexOf(e);if(k===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,y[k]=void 0;const L=this._deliveryQueue.current===this;if(this._size*compactionThreshold<=y.length){let V=0;for(let z=0;z0}};const createEventDeliveryQueue=()=>new EventDeliveryQueuePrivate;class EventDeliveryQueuePrivate{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}}class PauseableEmitter extends Emitter$1{constructor(e){super(e),this._isPaused=0,this._eventQueue=new LinkedList,this._mergeFn=e==null?void 0:e.merge}pause(){this._isPaused++}resume(){if(this._isPaused!==0&&--this._isPaused===0)if(this._mergeFn){if(this._eventQueue.size>0){const e=Array.from(this._eventQueue);this._eventQueue.clear(),super.fire(this._mergeFn(e))}}else for(;!this._isPaused&&this._eventQueue.size!==0;)super.fire(this._eventQueue.shift())}fire(e){this._size&&(this._isPaused!==0?this._eventQueue.push(e):super.fire(e))}}class DebounceEmitter extends PauseableEmitter{constructor(e){var t;super(e),this._delay=(t=e.delay)!==null&&t!==void 0?t:100}fire(e){this._handle||(this.pause(),this._handle=setTimeout(()=>{this._handle=void 0,this.resume()},this._delay)),super.fire(e)}}class MicrotaskEmitter extends Emitter$1{constructor(e){super(e),this._queuedEvents=[],this._mergeFn=e==null?void 0:e.merge}fire(e){this.hasListeners()&&(this._queuedEvents.push(e),this._queuedEvents.length===1&&queueMicrotask(()=>{this._mergeFn?super.fire(this._mergeFn(this._queuedEvents)):this._queuedEvents.forEach(t=>super.fire(t)),this._queuedEvents=[]}))}}class EventMultiplexer{constructor(){this.hasListeners=!1,this.events=[],this.emitter=new Emitter$1({onWillAddFirstListener:()=>this.onFirstListenerAdd(),onDidRemoveLastListener:()=>this.onLastListenerRemove()})}get event(){return this.emitter.event}add(e){const t={event:e,listener:null};return this.events.push(t),this.hasListeners&&this.hook(t),toDisposable(createSingleCallFunction(()=>{this.hasListeners&&this.unhook(t);const r=this.events.indexOf(t);this.events.splice(r,1)}))}onFirstListenerAdd(){this.hasListeners=!0,this.events.forEach(e=>this.hook(e))}onLastListenerRemove(){this.hasListeners=!1,this.events.forEach(e=>this.unhook(e))}hook(e){e.listener=e.event(t=>this.emitter.fire(t))}unhook(e){var t;(t=e.listener)===null||t===void 0||t.dispose(),e.listener=null}dispose(){var e;this.emitter.dispose();for(const t of this.events)(e=t.listener)===null||e===void 0||e.dispose();this.events=[]}}class EventBufferer{constructor(){this.buffers=[]}wrapEvent(e){return(t,i,r)=>e(g=>{const y=this.buffers[this.buffers.length-1];y?y.push(()=>t.call(i,g)):t.call(i,g)},void 0,r)}bufferEvents(e){const t=[];this.buffers.push(t);const i=e();return this.buffers.pop(),t.forEach(r=>r()),i}}class Relay{constructor(){this.listening=!1,this.inputEvent=Event$1.None,this.inputEventListener=Disposable.None,this.emitter=new Emitter$1({onDidAddFirstListener:()=>{this.listening=!0,this.inputEventListener=this.inputEvent(this.emitter.fire,this.emitter)},onDidRemoveLastListener:()=>{this.listening=!1,this.inputEventListener.dispose()}}),this.event=this.emitter.event}set input(e){this.inputEvent=e,this.listening&&(this.inputEventListener.dispose(),this.inputEventListener=e(this.emitter.fire,this.emitter))}dispose(){this.inputEventListener.dispose(),this.emitter.dispose()}}const shortcutEvent=Object.freeze(function(n,e){const t=setTimeout(n.bind(e),0);return{dispose(){clearTimeout(t)}}});var CancellationToken;(function(n){function e(t){return t===n.None||t===n.Cancelled||t instanceof MutableToken?!0:!t||typeof t!="object"?!1:typeof t.isCancellationRequested=="boolean"&&typeof t.onCancellationRequested=="function"}n.isCancellationToken=e,n.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Event$1.None}),n.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:shortcutEvent})})(CancellationToken||(CancellationToken={}));class MutableToken{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?shortcutEvent:(this._emitter||(this._emitter=new Emitter$1),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}}let CancellationTokenSource$1=class{constructor(e){this._token=void 0,this._parentListener=void 0,this._parentListener=e&&e.onCancellationRequested(this.cancel,this)}get token(){return this._token||(this._token=new MutableToken),this._token}cancel(){this._token?this._token instanceof MutableToken&&this._token.cancel():this._token=CancellationToken.Cancelled}dispose(e=!1){var t;e&&this.cancel(),(t=this._parentListener)===null||t===void 0||t.dispose(),this._token?this._token instanceof MutableToken&&this._token.dispose():this._token=CancellationToken.None}};class KeyCodeStrMap{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}}const uiMap=new KeyCodeStrMap,userSettingsUSMap=new KeyCodeStrMap,userSettingsGeneralMap=new KeyCodeStrMap,EVENT_KEY_CODE_MAP=new Array(230),scanCodeStrToInt=Object.create(null),scanCodeLowerCaseStrToInt=Object.create(null),IMMUTABLE_CODE_TO_KEY_CODE=[];for(let n=0;n<=193;n++)IMMUTABLE_CODE_TO_KEY_CODE[n]=-1;(function(){const n="",e=[[1,0,"None",0,"unknown",0,"VK_UNKNOWN",n,n],[1,1,"Hyper",0,n,0,n,n,n],[1,2,"Super",0,n,0,n,n,n],[1,3,"Fn",0,n,0,n,n,n],[1,4,"FnLock",0,n,0,n,n,n],[1,5,"Suspend",0,n,0,n,n,n],[1,6,"Resume",0,n,0,n,n,n],[1,7,"Turbo",0,n,0,n,n,n],[1,8,"Sleep",0,n,0,"VK_SLEEP",n,n],[1,9,"WakeUp",0,n,0,n,n,n],[0,10,"KeyA",31,"A",65,"VK_A",n,n],[0,11,"KeyB",32,"B",66,"VK_B",n,n],[0,12,"KeyC",33,"C",67,"VK_C",n,n],[0,13,"KeyD",34,"D",68,"VK_D",n,n],[0,14,"KeyE",35,"E",69,"VK_E",n,n],[0,15,"KeyF",36,"F",70,"VK_F",n,n],[0,16,"KeyG",37,"G",71,"VK_G",n,n],[0,17,"KeyH",38,"H",72,"VK_H",n,n],[0,18,"KeyI",39,"I",73,"VK_I",n,n],[0,19,"KeyJ",40,"J",74,"VK_J",n,n],[0,20,"KeyK",41,"K",75,"VK_K",n,n],[0,21,"KeyL",42,"L",76,"VK_L",n,n],[0,22,"KeyM",43,"M",77,"VK_M",n,n],[0,23,"KeyN",44,"N",78,"VK_N",n,n],[0,24,"KeyO",45,"O",79,"VK_O",n,n],[0,25,"KeyP",46,"P",80,"VK_P",n,n],[0,26,"KeyQ",47,"Q",81,"VK_Q",n,n],[0,27,"KeyR",48,"R",82,"VK_R",n,n],[0,28,"KeyS",49,"S",83,"VK_S",n,n],[0,29,"KeyT",50,"T",84,"VK_T",n,n],[0,30,"KeyU",51,"U",85,"VK_U",n,n],[0,31,"KeyV",52,"V",86,"VK_V",n,n],[0,32,"KeyW",53,"W",87,"VK_W",n,n],[0,33,"KeyX",54,"X",88,"VK_X",n,n],[0,34,"KeyY",55,"Y",89,"VK_Y",n,n],[0,35,"KeyZ",56,"Z",90,"VK_Z",n,n],[0,36,"Digit1",22,"1",49,"VK_1",n,n],[0,37,"Digit2",23,"2",50,"VK_2",n,n],[0,38,"Digit3",24,"3",51,"VK_3",n,n],[0,39,"Digit4",25,"4",52,"VK_4",n,n],[0,40,"Digit5",26,"5",53,"VK_5",n,n],[0,41,"Digit6",27,"6",54,"VK_6",n,n],[0,42,"Digit7",28,"7",55,"VK_7",n,n],[0,43,"Digit8",29,"8",56,"VK_8",n,n],[0,44,"Digit9",30,"9",57,"VK_9",n,n],[0,45,"Digit0",21,"0",48,"VK_0",n,n],[1,46,"Enter",3,"Enter",13,"VK_RETURN",n,n],[1,47,"Escape",9,"Escape",27,"VK_ESCAPE",n,n],[1,48,"Backspace",1,"Backspace",8,"VK_BACK",n,n],[1,49,"Tab",2,"Tab",9,"VK_TAB",n,n],[1,50,"Space",10,"Space",32,"VK_SPACE",n,n],[0,51,"Minus",88,"-",189,"VK_OEM_MINUS","-","OEM_MINUS"],[0,52,"Equal",86,"=",187,"VK_OEM_PLUS","=","OEM_PLUS"],[0,53,"BracketLeft",92,"[",219,"VK_OEM_4","[","OEM_4"],[0,54,"BracketRight",94,"]",221,"VK_OEM_6","]","OEM_6"],[0,55,"Backslash",93,"\\",220,"VK_OEM_5","\\","OEM_5"],[0,56,"IntlHash",0,n,0,n,n,n],[0,57,"Semicolon",85,";",186,"VK_OEM_1",";","OEM_1"],[0,58,"Quote",95,"'",222,"VK_OEM_7","'","OEM_7"],[0,59,"Backquote",91,"`",192,"VK_OEM_3","`","OEM_3"],[0,60,"Comma",87,",",188,"VK_OEM_COMMA",",","OEM_COMMA"],[0,61,"Period",89,".",190,"VK_OEM_PERIOD",".","OEM_PERIOD"],[0,62,"Slash",90,"/",191,"VK_OEM_2","/","OEM_2"],[1,63,"CapsLock",8,"CapsLock",20,"VK_CAPITAL",n,n],[1,64,"F1",59,"F1",112,"VK_F1",n,n],[1,65,"F2",60,"F2",113,"VK_F2",n,n],[1,66,"F3",61,"F3",114,"VK_F3",n,n],[1,67,"F4",62,"F4",115,"VK_F4",n,n],[1,68,"F5",63,"F5",116,"VK_F5",n,n],[1,69,"F6",64,"F6",117,"VK_F6",n,n],[1,70,"F7",65,"F7",118,"VK_F7",n,n],[1,71,"F8",66,"F8",119,"VK_F8",n,n],[1,72,"F9",67,"F9",120,"VK_F9",n,n],[1,73,"F10",68,"F10",121,"VK_F10",n,n],[1,74,"F11",69,"F11",122,"VK_F11",n,n],[1,75,"F12",70,"F12",123,"VK_F12",n,n],[1,76,"PrintScreen",0,n,0,n,n,n],[1,77,"ScrollLock",84,"ScrollLock",145,"VK_SCROLL",n,n],[1,78,"Pause",7,"PauseBreak",19,"VK_PAUSE",n,n],[1,79,"Insert",19,"Insert",45,"VK_INSERT",n,n],[1,80,"Home",14,"Home",36,"VK_HOME",n,n],[1,81,"PageUp",11,"PageUp",33,"VK_PRIOR",n,n],[1,82,"Delete",20,"Delete",46,"VK_DELETE",n,n],[1,83,"End",13,"End",35,"VK_END",n,n],[1,84,"PageDown",12,"PageDown",34,"VK_NEXT",n,n],[1,85,"ArrowRight",17,"RightArrow",39,"VK_RIGHT","Right",n],[1,86,"ArrowLeft",15,"LeftArrow",37,"VK_LEFT","Left",n],[1,87,"ArrowDown",18,"DownArrow",40,"VK_DOWN","Down",n],[1,88,"ArrowUp",16,"UpArrow",38,"VK_UP","Up",n],[1,89,"NumLock",83,"NumLock",144,"VK_NUMLOCK",n,n],[1,90,"NumpadDivide",113,"NumPad_Divide",111,"VK_DIVIDE",n,n],[1,91,"NumpadMultiply",108,"NumPad_Multiply",106,"VK_MULTIPLY",n,n],[1,92,"NumpadSubtract",111,"NumPad_Subtract",109,"VK_SUBTRACT",n,n],[1,93,"NumpadAdd",109,"NumPad_Add",107,"VK_ADD",n,n],[1,94,"NumpadEnter",3,n,0,n,n,n],[1,95,"Numpad1",99,"NumPad1",97,"VK_NUMPAD1",n,n],[1,96,"Numpad2",100,"NumPad2",98,"VK_NUMPAD2",n,n],[1,97,"Numpad3",101,"NumPad3",99,"VK_NUMPAD3",n,n],[1,98,"Numpad4",102,"NumPad4",100,"VK_NUMPAD4",n,n],[1,99,"Numpad5",103,"NumPad5",101,"VK_NUMPAD5",n,n],[1,100,"Numpad6",104,"NumPad6",102,"VK_NUMPAD6",n,n],[1,101,"Numpad7",105,"NumPad7",103,"VK_NUMPAD7",n,n],[1,102,"Numpad8",106,"NumPad8",104,"VK_NUMPAD8",n,n],[1,103,"Numpad9",107,"NumPad9",105,"VK_NUMPAD9",n,n],[1,104,"Numpad0",98,"NumPad0",96,"VK_NUMPAD0",n,n],[1,105,"NumpadDecimal",112,"NumPad_Decimal",110,"VK_DECIMAL",n,n],[0,106,"IntlBackslash",97,"OEM_102",226,"VK_OEM_102",n,n],[1,107,"ContextMenu",58,"ContextMenu",93,n,n,n],[1,108,"Power",0,n,0,n,n,n],[1,109,"NumpadEqual",0,n,0,n,n,n],[1,110,"F13",71,"F13",124,"VK_F13",n,n],[1,111,"F14",72,"F14",125,"VK_F14",n,n],[1,112,"F15",73,"F15",126,"VK_F15",n,n],[1,113,"F16",74,"F16",127,"VK_F16",n,n],[1,114,"F17",75,"F17",128,"VK_F17",n,n],[1,115,"F18",76,"F18",129,"VK_F18",n,n],[1,116,"F19",77,"F19",130,"VK_F19",n,n],[1,117,"F20",78,"F20",131,"VK_F20",n,n],[1,118,"F21",79,"F21",132,"VK_F21",n,n],[1,119,"F22",80,"F22",133,"VK_F22",n,n],[1,120,"F23",81,"F23",134,"VK_F23",n,n],[1,121,"F24",82,"F24",135,"VK_F24",n,n],[1,122,"Open",0,n,0,n,n,n],[1,123,"Help",0,n,0,n,n,n],[1,124,"Select",0,n,0,n,n,n],[1,125,"Again",0,n,0,n,n,n],[1,126,"Undo",0,n,0,n,n,n],[1,127,"Cut",0,n,0,n,n,n],[1,128,"Copy",0,n,0,n,n,n],[1,129,"Paste",0,n,0,n,n,n],[1,130,"Find",0,n,0,n,n,n],[1,131,"AudioVolumeMute",117,"AudioVolumeMute",173,"VK_VOLUME_MUTE",n,n],[1,132,"AudioVolumeUp",118,"AudioVolumeUp",175,"VK_VOLUME_UP",n,n],[1,133,"AudioVolumeDown",119,"AudioVolumeDown",174,"VK_VOLUME_DOWN",n,n],[1,134,"NumpadComma",110,"NumPad_Separator",108,"VK_SEPARATOR",n,n],[0,135,"IntlRo",115,"ABNT_C1",193,"VK_ABNT_C1",n,n],[1,136,"KanaMode",0,n,0,n,n,n],[0,137,"IntlYen",0,n,0,n,n,n],[1,138,"Convert",0,n,0,n,n,n],[1,139,"NonConvert",0,n,0,n,n,n],[1,140,"Lang1",0,n,0,n,n,n],[1,141,"Lang2",0,n,0,n,n,n],[1,142,"Lang3",0,n,0,n,n,n],[1,143,"Lang4",0,n,0,n,n,n],[1,144,"Lang5",0,n,0,n,n,n],[1,145,"Abort",0,n,0,n,n,n],[1,146,"Props",0,n,0,n,n,n],[1,147,"NumpadParenLeft",0,n,0,n,n,n],[1,148,"NumpadParenRight",0,n,0,n,n,n],[1,149,"NumpadBackspace",0,n,0,n,n,n],[1,150,"NumpadMemoryStore",0,n,0,n,n,n],[1,151,"NumpadMemoryRecall",0,n,0,n,n,n],[1,152,"NumpadMemoryClear",0,n,0,n,n,n],[1,153,"NumpadMemoryAdd",0,n,0,n,n,n],[1,154,"NumpadMemorySubtract",0,n,0,n,n,n],[1,155,"NumpadClear",131,"Clear",12,"VK_CLEAR",n,n],[1,156,"NumpadClearEntry",0,n,0,n,n,n],[1,0,n,5,"Ctrl",17,"VK_CONTROL",n,n],[1,0,n,4,"Shift",16,"VK_SHIFT",n,n],[1,0,n,6,"Alt",18,"VK_MENU",n,n],[1,0,n,57,"Meta",91,"VK_COMMAND",n,n],[1,157,"ControlLeft",5,n,0,"VK_LCONTROL",n,n],[1,158,"ShiftLeft",4,n,0,"VK_LSHIFT",n,n],[1,159,"AltLeft",6,n,0,"VK_LMENU",n,n],[1,160,"MetaLeft",57,n,0,"VK_LWIN",n,n],[1,161,"ControlRight",5,n,0,"VK_RCONTROL",n,n],[1,162,"ShiftRight",4,n,0,"VK_RSHIFT",n,n],[1,163,"AltRight",6,n,0,"VK_RMENU",n,n],[1,164,"MetaRight",57,n,0,"VK_RWIN",n,n],[1,165,"BrightnessUp",0,n,0,n,n,n],[1,166,"BrightnessDown",0,n,0,n,n,n],[1,167,"MediaPlay",0,n,0,n,n,n],[1,168,"MediaRecord",0,n,0,n,n,n],[1,169,"MediaFastForward",0,n,0,n,n,n],[1,170,"MediaRewind",0,n,0,n,n,n],[1,171,"MediaTrackNext",124,"MediaTrackNext",176,"VK_MEDIA_NEXT_TRACK",n,n],[1,172,"MediaTrackPrevious",125,"MediaTrackPrevious",177,"VK_MEDIA_PREV_TRACK",n,n],[1,173,"MediaStop",126,"MediaStop",178,"VK_MEDIA_STOP",n,n],[1,174,"Eject",0,n,0,n,n,n],[1,175,"MediaPlayPause",127,"MediaPlayPause",179,"VK_MEDIA_PLAY_PAUSE",n,n],[1,176,"MediaSelect",128,"LaunchMediaPlayer",181,"VK_MEDIA_LAUNCH_MEDIA_SELECT",n,n],[1,177,"LaunchMail",129,"LaunchMail",180,"VK_MEDIA_LAUNCH_MAIL",n,n],[1,178,"LaunchApp2",130,"LaunchApp2",183,"VK_MEDIA_LAUNCH_APP2",n,n],[1,179,"LaunchApp1",0,n,0,"VK_MEDIA_LAUNCH_APP1",n,n],[1,180,"SelectTask",0,n,0,n,n,n],[1,181,"LaunchScreenSaver",0,n,0,n,n,n],[1,182,"BrowserSearch",120,"BrowserSearch",170,"VK_BROWSER_SEARCH",n,n],[1,183,"BrowserHome",121,"BrowserHome",172,"VK_BROWSER_HOME",n,n],[1,184,"BrowserBack",122,"BrowserBack",166,"VK_BROWSER_BACK",n,n],[1,185,"BrowserForward",123,"BrowserForward",167,"VK_BROWSER_FORWARD",n,n],[1,186,"BrowserStop",0,n,0,"VK_BROWSER_STOP",n,n],[1,187,"BrowserRefresh",0,n,0,"VK_BROWSER_REFRESH",n,n],[1,188,"BrowserFavorites",0,n,0,"VK_BROWSER_FAVORITES",n,n],[1,189,"ZoomToggle",0,n,0,n,n,n],[1,190,"MailReply",0,n,0,n,n,n],[1,191,"MailForward",0,n,0,n,n,n],[1,192,"MailSend",0,n,0,n,n,n],[1,0,n,114,"KeyInComposition",229,n,n,n],[1,0,n,116,"ABNT_C2",194,"VK_ABNT_C2",n,n],[1,0,n,96,"OEM_8",223,"VK_OEM_8",n,n],[1,0,n,0,n,0,"VK_KANA",n,n],[1,0,n,0,n,0,"VK_HANGUL",n,n],[1,0,n,0,n,0,"VK_JUNJA",n,n],[1,0,n,0,n,0,"VK_FINAL",n,n],[1,0,n,0,n,0,"VK_HANJA",n,n],[1,0,n,0,n,0,"VK_KANJI",n,n],[1,0,n,0,n,0,"VK_CONVERT",n,n],[1,0,n,0,n,0,"VK_NONCONVERT",n,n],[1,0,n,0,n,0,"VK_ACCEPT",n,n],[1,0,n,0,n,0,"VK_MODECHANGE",n,n],[1,0,n,0,n,0,"VK_SELECT",n,n],[1,0,n,0,n,0,"VK_PRINT",n,n],[1,0,n,0,n,0,"VK_EXECUTE",n,n],[1,0,n,0,n,0,"VK_SNAPSHOT",n,n],[1,0,n,0,n,0,"VK_HELP",n,n],[1,0,n,0,n,0,"VK_APPS",n,n],[1,0,n,0,n,0,"VK_PROCESSKEY",n,n],[1,0,n,0,n,0,"VK_PACKET",n,n],[1,0,n,0,n,0,"VK_DBE_SBCSCHAR",n,n],[1,0,n,0,n,0,"VK_DBE_DBCSCHAR",n,n],[1,0,n,0,n,0,"VK_ATTN",n,n],[1,0,n,0,n,0,"VK_CRSEL",n,n],[1,0,n,0,n,0,"VK_EXSEL",n,n],[1,0,n,0,n,0,"VK_EREOF",n,n],[1,0,n,0,n,0,"VK_PLAY",n,n],[1,0,n,0,n,0,"VK_ZOOM",n,n],[1,0,n,0,n,0,"VK_NONAME",n,n],[1,0,n,0,n,0,"VK_PA1",n,n],[1,0,n,0,n,0,"VK_OEM_CLEAR",n,n]],t=[],i=[];for(const r of e){const[g,y,k,L,V,z,j,ie,oe]=r;if(i[y]||(i[y]=!0,scanCodeStrToInt[k]=y,scanCodeLowerCaseStrToInt[k.toLowerCase()]=y,g&&(IMMUTABLE_CODE_TO_KEY_CODE[y]=L)),!t[L]){if(t[L]=!0,!V)throw new Error("String representation missing for key code ".concat(L," around scan code ").concat(k));uiMap.define(L,V),userSettingsUSMap.define(L,ie||V),userSettingsGeneralMap.define(L,oe||ie||V)}z&&(EVENT_KEY_CODE_MAP[z]=L)}})();var KeyCodeUtils;(function(n){function e(k){return uiMap.keyCodeToStr(k)}n.toString=e;function t(k){return uiMap.strToKeyCode(k)}n.fromString=t;function i(k){return userSettingsUSMap.keyCodeToStr(k)}n.toUserSettingsUS=i;function r(k){return userSettingsGeneralMap.keyCodeToStr(k)}n.toUserSettingsGeneral=r;function g(k){return userSettingsUSMap.strToKeyCode(k)||userSettingsGeneralMap.strToKeyCode(k)}n.fromUserSettings=g;function y(k){if(k>=98&&k<=113)return null;switch(k){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return uiMap.keyCodeToStr(k)}n.toElectronAccelerator=y})(KeyCodeUtils||(KeyCodeUtils={}));function KeyChord(n,e){const t=(e&65535)<<16>>>0;return(n|t)>>>0}var define_process_env_default={};let safeProcess;const vscodeGlobal=globalThis.vscode;if(typeof vscodeGlobal<"u"&&typeof vscodeGlobal.process<"u"){const n=vscodeGlobal.process;safeProcess={get platform(){return n.platform},get arch(){return n.arch},get env(){return n.env},cwd(){return n.cwd()}}}else typeof process<"u"?safeProcess={get platform(){return process.platform},get arch(){return process.arch},get env(){return define_process_env_default},cwd(){return define_process_env_default.VSCODE_CWD||process.cwd()}}:safeProcess={get platform(){return isWindows?"win32":isMacintosh?"darwin":"linux"},get arch(){},get env(){return{}},cwd(){return"/"}};const cwd=safeProcess.cwd,env=safeProcess.env,platform=safeProcess.platform,CHAR_UPPERCASE_A=65,CHAR_LOWERCASE_A=97,CHAR_UPPERCASE_Z=90,CHAR_LOWERCASE_Z=122,CHAR_DOT=46,CHAR_FORWARD_SLASH=47,CHAR_BACKWARD_SLASH=92,CHAR_COLON=58,CHAR_QUESTION_MARK=63;class ErrorInvalidArgType extends Error{constructor(e,t,i){let r;typeof t=="string"&&t.indexOf("not ")===0?(r="must not be",t=t.replace(/^not /,"")):r="must be";const g=e.indexOf(".")!==-1?"property":"argument";let y='The "'.concat(e,'" ').concat(g," ").concat(r," of type ").concat(t);y+=". Received type ".concat(typeof i),super(y),this.code="ERR_INVALID_ARG_TYPE"}}function validateObject(n,e){if(n===null||typeof n!="object")throw new ErrorInvalidArgType(e,"Object",n)}function validateString(n,e){if(typeof n!="string")throw new ErrorInvalidArgType(e,"string",n)}const platformIsWin32=platform==="win32";function isPathSeparator$1(n){return n===CHAR_FORWARD_SLASH||n===CHAR_BACKWARD_SLASH}function isPosixPathSeparator(n){return n===CHAR_FORWARD_SLASH}function isWindowsDeviceRoot(n){return n>=CHAR_UPPERCASE_A&&n<=CHAR_UPPERCASE_Z||n>=CHAR_LOWERCASE_A&&n<=CHAR_LOWERCASE_Z}function normalizeString(n,e,t,i){let r="",g=0,y=-1,k=0,L=0;for(let V=0;V<=n.length;++V){if(V2){const z=r.lastIndexOf(t);z===-1?(r="",g=0):(r=r.slice(0,z),g=r.length-1-r.lastIndexOf(t)),y=V,k=0;continue}else if(r.length!==0){r="",g=0,y=V,k=0;continue}}e&&(r+=r.length>0?"".concat(t,".."):"..",g=2)}else r.length>0?r+="".concat(t).concat(n.slice(y+1,V)):r=n.slice(y+1,V),g=V-y-1;y=V,k=0}else L===CHAR_DOT&&k!==-1?++k:k=-1}return r}function _format(n,e){validateObject(e,"pathObject");const t=e.dir||e.root,i=e.base||"".concat(e.name||"").concat(e.ext||"");return t?t===e.root?"".concat(t).concat(i):"".concat(t).concat(n).concat(i):i}const win32={resolve(...n){let e="",t="",i=!1;for(let r=n.length-1;r>=-1;r--){let g;if(r>=0){if(g=n[r],validateString(g,"path"),g.length===0)continue}else e.length===0?g=cwd():(g=env["=".concat(e)]||cwd(),(g===void 0||g.slice(0,2).toLowerCase()!==e.toLowerCase()&&g.charCodeAt(2)===CHAR_BACKWARD_SLASH)&&(g="".concat(e,"\\")));const y=g.length;let k=0,L="",V=!1;const z=g.charCodeAt(0);if(y===1)isPathSeparator$1(z)&&(k=1,V=!0);else if(isPathSeparator$1(z))if(V=!0,isPathSeparator$1(g.charCodeAt(1))){let j=2,ie=j;for(;j2&&isPathSeparator$1(g.charCodeAt(2))&&(V=!0,k=3));if(L.length>0)if(e.length>0){if(L.toLowerCase()!==e.toLowerCase())continue}else e=L;if(i){if(e.length>0)break}else if(t="".concat(g.slice(k),"\\").concat(t),i=V,V&&e.length>0)break}return t=normalizeString(t,!i,"\\",isPathSeparator$1),i?"".concat(e,"\\").concat(t):"".concat(e).concat(t)||"."},normalize(n){validateString(n,"path");const e=n.length;if(e===0)return".";let t=0,i,r=!1;const g=n.charCodeAt(0);if(e===1)return isPosixPathSeparator(g)?"\\":n;if(isPathSeparator$1(g))if(r=!0,isPathSeparator$1(n.charCodeAt(1))){let k=2,L=k;for(;k2&&isPathSeparator$1(n.charCodeAt(2))&&(r=!0,t=3));let y=t0&&isPathSeparator$1(n.charCodeAt(e-1))&&(y+="\\"),i===void 0?r?"\\".concat(y):y:r?"".concat(i,"\\").concat(y):"".concat(i).concat(y)},isAbsolute(n){validateString(n,"path");const e=n.length;if(e===0)return!1;const t=n.charCodeAt(0);return isPathSeparator$1(t)||e>2&&isWindowsDeviceRoot(t)&&n.charCodeAt(1)===CHAR_COLON&&isPathSeparator$1(n.charCodeAt(2))},join(...n){if(n.length===0)return".";let e,t;for(let g=0;g0&&(e===void 0?e=t=y:e+="\\".concat(y))}if(e===void 0)return".";let i=!0,r=0;if(typeof t=="string"&&isPathSeparator$1(t.charCodeAt(0))){++r;const g=t.length;g>1&&isPathSeparator$1(t.charCodeAt(1))&&(++r,g>2&&(isPathSeparator$1(t.charCodeAt(2))?++r:i=!1))}if(i){for(;r=2&&(e="\\".concat(e.slice(r)))}return win32.normalize(e)},relative(n,e){if(validateString(n,"from"),validateString(e,"to"),n===e)return"";const t=win32.resolve(n),i=win32.resolve(e);if(t===i||(n=t.toLowerCase(),e=i.toLowerCase(),n===e))return"";let r=0;for(;rr&&n.charCodeAt(g-1)===CHAR_BACKWARD_SLASH;)g--;const y=g-r;let k=0;for(;kk&&e.charCodeAt(L-1)===CHAR_BACKWARD_SLASH;)L--;const V=L-k,z=yz){if(e.charCodeAt(k+ie)===CHAR_BACKWARD_SLASH)return i.slice(k+ie+1);if(ie===2)return i.slice(k+ie)}y>z&&(n.charCodeAt(r+ie)===CHAR_BACKWARD_SLASH?j=ie:ie===2&&(j=3)),j===-1&&(j=0)}let oe="";for(ie=r+j+1;ie<=g;++ie)(ie===g||n.charCodeAt(ie)===CHAR_BACKWARD_SLASH)&&(oe+=oe.length===0?"..":"\\..");return k+=j,oe.length>0?"".concat(oe).concat(i.slice(k,L)):(i.charCodeAt(k)===CHAR_BACKWARD_SLASH&&++k,i.slice(k,L))},toNamespacedPath(n){if(typeof n!="string"||n.length===0)return n;const e=win32.resolve(n);if(e.length<=2)return n;if(e.charCodeAt(0)===CHAR_BACKWARD_SLASH){if(e.charCodeAt(1)===CHAR_BACKWARD_SLASH){const t=e.charCodeAt(2);if(t!==CHAR_QUESTION_MARK&&t!==CHAR_DOT)return"\\\\?\\UNC\\".concat(e.slice(2))}}else if(isWindowsDeviceRoot(e.charCodeAt(0))&&e.charCodeAt(1)===CHAR_COLON&&e.charCodeAt(2)===CHAR_BACKWARD_SLASH)return"\\\\?\\".concat(e);return n},dirname(n){validateString(n,"path");const e=n.length;if(e===0)return".";let t=-1,i=0;const r=n.charCodeAt(0);if(e===1)return isPathSeparator$1(r)?n:".";if(isPathSeparator$1(r)){if(t=i=1,isPathSeparator$1(n.charCodeAt(1))){let k=2,L=k;for(;k2&&isPathSeparator$1(n.charCodeAt(2))?3:2,i=t);let g=-1,y=!0;for(let k=e-1;k>=i;--k)if(isPathSeparator$1(n.charCodeAt(k))){if(!y){g=k;break}}else y=!1;if(g===-1){if(t===-1)return".";g=t}return n.slice(0,g)},basename(n,e){e!==void 0&&validateString(e,"ext"),validateString(n,"path");let t=0,i=-1,r=!0,g;if(n.length>=2&&isWindowsDeviceRoot(n.charCodeAt(0))&&n.charCodeAt(1)===CHAR_COLON&&(t=2),e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let y=e.length-1,k=-1;for(g=n.length-1;g>=t;--g){const L=n.charCodeAt(g);if(isPathSeparator$1(L)){if(!r){t=g+1;break}}else k===-1&&(r=!1,k=g+1),y>=0&&(L===e.charCodeAt(y)?--y===-1&&(i=g):(y=-1,i=k))}return t===i?i=k:i===-1&&(i=n.length),n.slice(t,i)}for(g=n.length-1;g>=t;--g)if(isPathSeparator$1(n.charCodeAt(g))){if(!r){t=g+1;break}}else i===-1&&(r=!1,i=g+1);return i===-1?"":n.slice(t,i)},extname(n){validateString(n,"path");let e=0,t=-1,i=0,r=-1,g=!0,y=0;n.length>=2&&n.charCodeAt(1)===CHAR_COLON&&isWindowsDeviceRoot(n.charCodeAt(0))&&(e=i=2);for(let k=n.length-1;k>=e;--k){const L=n.charCodeAt(k);if(isPathSeparator$1(L)){if(!g){i=k+1;break}continue}r===-1&&(g=!1,r=k+1),L===CHAR_DOT?t===-1?t=k:y!==1&&(y=1):t!==-1&&(y=-1)}return t===-1||r===-1||y===0||y===1&&t===r-1&&t===i+1?"":n.slice(t,r)},format:_format.bind(null,"\\"),parse(n){validateString(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.length;let i=0,r=n.charCodeAt(0);if(t===1)return isPathSeparator$1(r)?(e.root=e.dir=n,e):(e.base=e.name=n,e);if(isPathSeparator$1(r)){if(i=1,isPathSeparator$1(n.charCodeAt(1))){let j=2,ie=j;for(;j0&&(e.root=n.slice(0,i));let g=-1,y=i,k=-1,L=!0,V=n.length-1,z=0;for(;V>=i;--V){if(r=n.charCodeAt(V),isPathSeparator$1(r)){if(!L){y=V+1;break}continue}k===-1&&(L=!1,k=V+1),r===CHAR_DOT?g===-1?g=V:z!==1&&(z=1):g!==-1&&(z=-1)}return k!==-1&&(g===-1||z===0||z===1&&g===k-1&&g===y+1?e.base=e.name=n.slice(y,k):(e.name=n.slice(y,g),e.base=n.slice(y,k),e.ext=n.slice(g,k))),y>0&&y!==i?e.dir=n.slice(0,y-1):e.dir=e.root,e},sep:"\\",delimiter:";",win32:null,posix:null},posixCwd=(()=>{if(platformIsWin32){const n=/\\/g;return()=>{const e=cwd().replace(n,"/");return e.slice(e.indexOf("/"))}}return()=>cwd()})(),posix={resolve(...n){let e="",t=!1;for(let i=n.length-1;i>=-1&&!t;i--){const r=i>=0?n[i]:posixCwd();validateString(r,"path"),r.length!==0&&(e="".concat(r,"/").concat(e),t=r.charCodeAt(0)===CHAR_FORWARD_SLASH)}return e=normalizeString(e,!t,"/",isPosixPathSeparator),t?"/".concat(e):e.length>0?e:"."},normalize(n){if(validateString(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===CHAR_FORWARD_SLASH,t=n.charCodeAt(n.length-1)===CHAR_FORWARD_SLASH;return n=normalizeString(n,!e,"/",isPosixPathSeparator),n.length===0?e?"/":t?"./":".":(t&&(n+="/"),e?"/".concat(n):n)},isAbsolute(n){return validateString(n,"path"),n.length>0&&n.charCodeAt(0)===CHAR_FORWARD_SLASH},join(...n){if(n.length===0)return".";let e;for(let t=0;t0&&(e===void 0?e=i:e+="/".concat(i))}return e===void 0?".":posix.normalize(e)},relative(n,e){if(validateString(n,"from"),validateString(e,"to"),n===e||(n=posix.resolve(n),e=posix.resolve(e),n===e))return"";const t=1,i=n.length,r=i-t,g=1,y=e.length-g,k=rk){if(e.charCodeAt(g+V)===CHAR_FORWARD_SLASH)return e.slice(g+V+1);if(V===0)return e.slice(g+V)}else r>k&&(n.charCodeAt(t+V)===CHAR_FORWARD_SLASH?L=V:V===0&&(L=0));let z="";for(V=t+L+1;V<=i;++V)(V===i||n.charCodeAt(V)===CHAR_FORWARD_SLASH)&&(z+=z.length===0?"..":"/..");return"".concat(z).concat(e.slice(g+L))},toNamespacedPath(n){return n},dirname(n){if(validateString(n,"path"),n.length===0)return".";const e=n.charCodeAt(0)===CHAR_FORWARD_SLASH;let t=-1,i=!0;for(let r=n.length-1;r>=1;--r)if(n.charCodeAt(r)===CHAR_FORWARD_SLASH){if(!i){t=r;break}}else i=!1;return t===-1?e?"/":".":e&&t===1?"//":n.slice(0,t)},basename(n,e){e!==void 0&&validateString(e,"ext"),validateString(n,"path");let t=0,i=-1,r=!0,g;if(e!==void 0&&e.length>0&&e.length<=n.length){if(e===n)return"";let y=e.length-1,k=-1;for(g=n.length-1;g>=0;--g){const L=n.charCodeAt(g);if(L===CHAR_FORWARD_SLASH){if(!r){t=g+1;break}}else k===-1&&(r=!1,k=g+1),y>=0&&(L===e.charCodeAt(y)?--y===-1&&(i=g):(y=-1,i=k))}return t===i?i=k:i===-1&&(i=n.length),n.slice(t,i)}for(g=n.length-1;g>=0;--g)if(n.charCodeAt(g)===CHAR_FORWARD_SLASH){if(!r){t=g+1;break}}else i===-1&&(r=!1,i=g+1);return i===-1?"":n.slice(t,i)},extname(n){validateString(n,"path");let e=-1,t=0,i=-1,r=!0,g=0;for(let y=n.length-1;y>=0;--y){const k=n.charCodeAt(y);if(k===CHAR_FORWARD_SLASH){if(!r){t=y+1;break}continue}i===-1&&(r=!1,i=y+1),k===CHAR_DOT?e===-1?e=y:g!==1&&(g=1):e!==-1&&(g=-1)}return e===-1||i===-1||g===0||g===1&&e===i-1&&e===t+1?"":n.slice(e,i)},format:_format.bind(null,"/"),parse(n){validateString(n,"path");const e={root:"",dir:"",base:"",ext:"",name:""};if(n.length===0)return e;const t=n.charCodeAt(0)===CHAR_FORWARD_SLASH;let i;t?(e.root="/",i=1):i=0;let r=-1,g=0,y=-1,k=!0,L=n.length-1,V=0;for(;L>=i;--L){const z=n.charCodeAt(L);if(z===CHAR_FORWARD_SLASH){if(!k){g=L+1;break}continue}y===-1&&(k=!1,y=L+1),z===CHAR_DOT?r===-1?r=L:V!==1&&(V=1):r!==-1&&(V=-1)}if(y!==-1){const z=g===0&&t?1:g;r===-1||V===0||V===1&&r===y-1&&r===g+1?e.base=e.name=n.slice(z,y):(e.name=n.slice(z,r),e.base=n.slice(z,y),e.ext=n.slice(r,y))}return g>0?e.dir=n.slice(0,g-1):t&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null};posix.win32=win32.win32=win32;posix.posix=win32.posix=posix;const normalize=platformIsWin32?win32.normalize:posix.normalize,resolve=platformIsWin32?win32.resolve:posix.resolve,relative=platformIsWin32?win32.relative:posix.relative,dirname$1=platformIsWin32?win32.dirname:posix.dirname,basename$1=platformIsWin32?win32.basename:posix.basename,extname$1=platformIsWin32?win32.extname:posix.extname,sep=platformIsWin32?win32.sep:posix.sep,_schemePattern=/^\w[\w\d+.-]*$/,_singleSlashStart=/^\//,_doubleSlashStart=/^\/\//;function _validateUri(n,e){if(!n.scheme&&e)throw new Error('[UriError]: Scheme is missing: {scheme: "", authority: "'.concat(n.authority,'", path: "').concat(n.path,'", query: "').concat(n.query,'", fragment: "').concat(n.fragment,'"}'));if(n.scheme&&!_schemePattern.test(n.scheme))throw new Error("[UriError]: Scheme contains illegal characters.");if(n.path){if(n.authority){if(!_singleSlashStart.test(n.path))throw new Error('[UriError]: If a URI contains an authority component, then the path component must either be empty or begin with a slash ("/") character')}else if(_doubleSlashStart.test(n.path))throw new Error('[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")')}}function _schemeFix(n,e){return!n&&!e?"file":n}function _referenceResolution(n,e){switch(n){case"https":case"http":case"file":e?e[0]!==_slash&&(e=_slash+e):e=_slash;break}return e}const _empty="",_slash="/",_regexp=/^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/;class URI{static isUri(e){return e instanceof URI?!0:e?typeof e.authority=="string"&&typeof e.fragment=="string"&&typeof e.path=="string"&&typeof e.query=="string"&&typeof e.scheme=="string"&&typeof e.fsPath=="string"&&typeof e.with=="function"&&typeof e.toString=="function":!1}constructor(e,t,i,r,g,y=!1){typeof e=="object"?(this.scheme=e.scheme||_empty,this.authority=e.authority||_empty,this.path=e.path||_empty,this.query=e.query||_empty,this.fragment=e.fragment||_empty):(this.scheme=_schemeFix(e,y),this.authority=t||_empty,this.path=_referenceResolution(this.scheme,i||_empty),this.query=r||_empty,this.fragment=g||_empty,_validateUri(this,y))}get fsPath(){return uriToFsPath(this,!1)}with(e){if(!e)return this;let{scheme:t,authority:i,path:r,query:g,fragment:y}=e;return t===void 0?t=this.scheme:t===null&&(t=_empty),i===void 0?i=this.authority:i===null&&(i=_empty),r===void 0?r=this.path:r===null&&(r=_empty),g===void 0?g=this.query:g===null&&(g=_empty),y===void 0?y=this.fragment:y===null&&(y=_empty),t===this.scheme&&i===this.authority&&r===this.path&&g===this.query&&y===this.fragment?this:new Uri$1(t,i,r,g,y)}static parse(e,t=!1){const i=_regexp.exec(e);return i?new Uri$1(i[2]||_empty,percentDecode(i[4]||_empty),percentDecode(i[5]||_empty),percentDecode(i[7]||_empty),percentDecode(i[9]||_empty),t):new Uri$1(_empty,_empty,_empty,_empty,_empty)}static file(e){let t=_empty;if(isWindows&&(e=e.replace(/\\/g,_slash)),e[0]===_slash&&e[1]===_slash){const i=e.indexOf(_slash,2);i===-1?(t=e.substring(2),e=_slash):(t=e.substring(2,i),e=e.substring(i)||_slash)}return new Uri$1("file",t,e,_empty,_empty)}static from(e,t){return new Uri$1(e.scheme,e.authority,e.path,e.query,e.fragment,t)}static joinPath(e,...t){if(!e.path)throw new Error("[UriError]: cannot call joinPath on URI without path");let i;return isWindows&&e.scheme==="file"?i=URI.file(win32.join(uriToFsPath(e,!0),...t)).path:i=posix.join(e.path,...t),e.with({path:i})}toString(e=!1){return _asFormatted(this,e)}toJSON(){return this}static revive(e){var t,i;if(e){if(e instanceof URI)return e;{const r=new Uri$1(e);return r._formatted=(t=e.external)!==null&&t!==void 0?t:null,r._fsPath=e._sep===_pathSepMarker&&(i=e.fsPath)!==null&&i!==void 0?i:null,r}}else return e}}const _pathSepMarker=isWindows?1:void 0;let Uri$1=class extends URI{constructor(){super(...arguments),this._formatted=null,this._fsPath=null}get fsPath(){return this._fsPath||(this._fsPath=uriToFsPath(this,!1)),this._fsPath}toString(e=!1){return e?_asFormatted(this,!0):(this._formatted||(this._formatted=_asFormatted(this,!1)),this._formatted)}toJSON(){const e={$mid:1};return this._fsPath&&(e.fsPath=this._fsPath,e._sep=_pathSepMarker),this._formatted&&(e.external=this._formatted),this.path&&(e.path=this.path),this.scheme&&(e.scheme=this.scheme),this.authority&&(e.authority=this.authority),this.query&&(e.query=this.query),this.fragment&&(e.fragment=this.fragment),e}};const encodeTable={58:"%3A",47:"%2F",63:"%3F",35:"%23",91:"%5B",93:"%5D",64:"%40",33:"%21",36:"%24",38:"%26",39:"%27",40:"%28",41:"%29",42:"%2A",43:"%2B",44:"%2C",59:"%3B",61:"%3D",32:"%20"};function encodeURIComponentFast(n,e,t){let i,r=-1;for(let g=0;g=97&&y<=122||y>=65&&y<=90||y>=48&&y<=57||y===45||y===46||y===95||y===126||e&&y===47||t&&y===91||t&&y===93||t&&y===58)r!==-1&&(i+=encodeURIComponent(n.substring(r,g)),r=-1),i!==void 0&&(i+=n.charAt(g));else{i===void 0&&(i=n.substr(0,g));const k=encodeTable[y];k!==void 0?(r!==-1&&(i+=encodeURIComponent(n.substring(r,g)),r=-1),i+=k):r===-1&&(r=g)}}return r!==-1&&(i+=encodeURIComponent(n.substring(r))),i!==void 0?i:n}function encodeURIComponentMinimal(n){let e;for(let t=0;t1&&n.scheme==="file"?t="//".concat(n.authority).concat(n.path):n.path.charCodeAt(0)===47&&(n.path.charCodeAt(1)>=65&&n.path.charCodeAt(1)<=90||n.path.charCodeAt(1)>=97&&n.path.charCodeAt(1)<=122)&&n.path.charCodeAt(2)===58?e?t=n.path.substr(1):t=n.path[1].toLowerCase()+n.path.substr(2):t=n.path,isWindows&&(t=t.replace(/\//g,"\\")),t}function _asFormatted(n,e){const t=e?encodeURIComponentMinimal:encodeURIComponentFast;let i="",{scheme:r,authority:g,path:y,query:k,fragment:L}=n;if(r&&(i+=r,i+=":"),(g||r==="file")&&(i+=_slash,i+=_slash),g){let V=g.indexOf("@");if(V!==-1){const z=g.substr(0,V);g=g.substr(V+1),V=z.lastIndexOf(":"),V===-1?i+=t(z,!1,!1):(i+=t(z.substr(0,V),!1,!1),i+=":",i+=t(z.substr(V+1),!1,!0)),i+="@"}g=g.toLowerCase(),V=g.lastIndexOf(":"),V===-1?i+=t(g,!1,!0):(i+=t(g.substr(0,V),!1,!0),i+=g.substr(V))}if(y){if(y.length>=3&&y.charCodeAt(0)===47&&y.charCodeAt(2)===58){const V=y.charCodeAt(1);V>=65&&V<=90&&(y="/".concat(String.fromCharCode(V+32),":").concat(y.substr(3)))}else if(y.length>=2&&y.charCodeAt(1)===58){const V=y.charCodeAt(0);V>=65&&V<=90&&(y="".concat(String.fromCharCode(V+32),":").concat(y.substr(2)))}i+=t(y,!0,!1)}return k&&(i+="?",i+=t(k,!1,!1)),L&&(i+="#",i+=e?L:encodeURIComponentFast(L,!1,!1)),i}function decodeURIComponentGraceful(n){try{return decodeURIComponent(n)}catch(e){return n.length>3?n.substr(0,3)+decodeURIComponentGraceful(n.substr(3)):n}}const _rEncodedAsHex=/(%[0-9A-Za-z][0-9A-Za-z])+/g;function percentDecode(n){return n.match(_rEncodedAsHex)?n.replace(_rEncodedAsHex,e=>decodeURIComponentGraceful(e)):n}let Position$1=class us{constructor(e,t){this.lineNumber=e,this.column=t}with(e=this.lineNumber,t=this.column){return e===this.lineNumber&&t===this.column?this:new us(e,t)}delta(e=0,t=0){return this.with(this.lineNumber+e,this.column+t)}equals(e){return us.equals(this,e)}static equals(e,t){return!e&&!t?!0:!!e&&!!t&&e.lineNumber===t.lineNumber&&e.column===t.column}isBefore(e){return us.isBefore(this,e)}static isBefore(e,t){return e.lineNumberi||e===i&&t>r?(this.startLineNumber=i,this.startColumn=r,this.endLineNumber=e,this.endColumn=t):(this.startLineNumber=e,this.startColumn=t,this.endLineNumber=i,this.endColumn=r)}isEmpty(){return Hn.isEmpty(this)}static isEmpty(e){return e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn}containsPosition(e){return Hn.containsPosition(this,e)}static containsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.columne.endColumn)}static strictContainsPosition(e,t){return!(t.lineNumbere.endLineNumber||t.lineNumber===e.startLineNumber&&t.column<=e.startColumn||t.lineNumber===e.endLineNumber&&t.column>=e.endColumn)}containsRange(e){return Hn.containsRange(this,e)}static containsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumne.endColumn)}strictContainsRange(e){return Hn.strictContainsRange(this,e)}static strictContainsRange(e,t){return!(t.startLineNumbere.endLineNumber||t.endLineNumber>e.endLineNumber||t.startLineNumber===e.startLineNumber&&t.startColumn<=e.startColumn||t.endLineNumber===e.endLineNumber&&t.endColumn>=e.endColumn)}plusRange(e){return Hn.plusRange(this,e)}static plusRange(e,t){let i,r,g,y;return t.startLineNumbere.endLineNumber?(g=t.endLineNumber,y=t.endColumn):t.endLineNumber===e.endLineNumber?(g=t.endLineNumber,y=Math.max(t.endColumn,e.endColumn)):(g=e.endLineNumber,y=e.endColumn),new Hn(i,r,g,y)}intersectRanges(e){return Hn.intersectRanges(this,e)}static intersectRanges(e,t){let i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn;const k=t.startLineNumber,L=t.startColumn,V=t.endLineNumber,z=t.endColumn;return iV?(g=V,y=z):g===V&&(y=Math.min(y,z)),i>g||i===g&&r>y?null:new Hn(i,r,g,y)}equalsRange(e){return Hn.equalsRange(this,e)}static equalsRange(e,t){return!e&&!t?!0:!!e&&!!t&&e.startLineNumber===t.startLineNumber&&e.startColumn===t.startColumn&&e.endLineNumber===t.endLineNumber&&e.endColumn===t.endColumn}getEndPosition(){return Hn.getEndPosition(this)}static getEndPosition(e){return new Position$1(e.endLineNumber,e.endColumn)}getStartPosition(){return Hn.getStartPosition(this)}static getStartPosition(e){return new Position$1(e.startLineNumber,e.startColumn)}toString(){return"["+this.startLineNumber+","+this.startColumn+" -> "+this.endLineNumber+","+this.endColumn+"]"}setEndPosition(e,t){return new Hn(this.startLineNumber,this.startColumn,e,t)}setStartPosition(e,t){return new Hn(e,t,this.endLineNumber,this.endColumn)}collapseToStart(){return Hn.collapseToStart(this)}static collapseToStart(e){return new Hn(e.startLineNumber,e.startColumn,e.startLineNumber,e.startColumn)}collapseToEnd(){return Hn.collapseToEnd(this)}static collapseToEnd(e){return new Hn(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn)}delta(e){return new Hn(this.startLineNumber+e,this.startColumn,this.endLineNumber+e,this.endColumn)}static fromPositions(e,t=e){return new Hn(e.lineNumber,e.column,t.lineNumber,t.column)}static lift(e){return e?new Hn(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):null}static isIRange(e){return e&&typeof e.startLineNumber=="number"&&typeof e.startColumn=="number"&&typeof e.endLineNumber=="number"&&typeof e.endColumn=="number"}static areIntersectingOrTouching(e,t){return!(e.endLineNumbere.startLineNumber}toJSON(){return this}},Selection$1=class mo extends Range$2{constructor(e,t,i,r){super(e,t,i,r),this.selectionStartLineNumber=e,this.selectionStartColumn=t,this.positionLineNumber=i,this.positionColumn=r}toString(){return"["+this.selectionStartLineNumber+","+this.selectionStartColumn+" -> "+this.positionLineNumber+","+this.positionColumn+"]"}equalsSelection(e){return mo.selectionsEqual(this,e)}static selectionsEqual(e,t){return e.selectionStartLineNumber===t.selectionStartLineNumber&&e.selectionStartColumn===t.selectionStartColumn&&e.positionLineNumber===t.positionLineNumber&&e.positionColumn===t.positionColumn}getDirection(){return this.selectionStartLineNumber===this.startLineNumber&&this.selectionStartColumn===this.startColumn?0:1}setEndPosition(e,t){return this.getDirection()===0?new mo(this.startLineNumber,this.startColumn,e,t):new mo(e,t,this.startLineNumber,this.startColumn)}getPosition(){return new Position$1(this.positionLineNumber,this.positionColumn)}getSelectionStart(){return new Position$1(this.selectionStartLineNumber,this.selectionStartColumn)}setStartPosition(e,t){return this.getDirection()===0?new mo(e,t,this.endLineNumber,this.endColumn):new mo(this.endLineNumber,this.endColumn,e,t)}static fromPositions(e,t=e){return new mo(e.lineNumber,e.column,t.lineNumber,t.column)}static fromRange(e,t){return t===0?new mo(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn):new mo(e.endLineNumber,e.endColumn,e.startLineNumber,e.startColumn)}static liftSelection(e){return new mo(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn)}static selectionsArrEqual(e,t){if(e&&!t||!e&&t)return!1;if(!e&&!t)return!0;if(e.length!==t.length)return!1;for(let i=0,r=e.length;i{this._tokenizationSupports.get(e)===t&&(this._tokenizationSupports.delete(e),this.handleChange([e]))})}get(e){return this._tokenizationSupports.get(e)||null}registerFactory(e,t){var i;(i=this._factories.get(e))===null||i===void 0||i.dispose();const r=new TokenizationSupportFactoryData(this,e,t);return this._factories.set(e,r),toDisposable(()=>{const g=this._factories.get(e);!g||g!==r||(this._factories.delete(e),g.dispose())})}async getOrCreate(e){const t=this.get(e);if(t)return t;const i=this._factories.get(e);return!i||i.isResolved?null:(await i.resolve(),this.get(e))}isResolved(e){if(this.get(e))return!0;const i=this._factories.get(e);return!!(!i||i.isResolved)}setColorMap(e){this._colorMap=e,this._onDidChange.fire({changedLanguages:Array.from(this._tokenizationSupports.keys()),changedColorMap:!0})}getColorMap(){return this._colorMap}getDefaultBackground(){return this._colorMap&&this._colorMap.length>2?this._colorMap[2]:null}};class TokenizationSupportFactoryData extends Disposable{get isResolved(){return this._isResolved}constructor(e,t,i){super(),this._registry=e,this._languageId=t,this._factory=i,this._isDisposed=!1,this._resolvePromise=null,this._isResolved=!1}dispose(){this._isDisposed=!0,super.dispose()}async resolve(){return this._resolvePromise||(this._resolvePromise=this._create()),this._resolvePromise}async _create(){const e=await this._factory.tokenizationSupport;this._isResolved=!0,e&&!this._isDisposed&&this._register(this._registry.register(this._languageId,e))}}let Token$2=class{constructor(e,t,i){this.offset=e,this.type=t,this.language=i,this._tokenBrand=void 0}toString(){return"("+this.offset+", "+this.type+")"}};class TokenizationResult{constructor(e,t){this.tokens=e,this.endState=t,this._tokenizationResultBrand=void 0}}class EncodedTokenizationResult{constructor(e,t){this.tokens=e,this.endState=t,this._encodedTokenizationResultBrand=void 0}}var CompletionItemKinds;(function(n){const e=new Map;e.set(0,Codicon.symbolMethod),e.set(1,Codicon.symbolFunction),e.set(2,Codicon.symbolConstructor),e.set(3,Codicon.symbolField),e.set(4,Codicon.symbolVariable),e.set(5,Codicon.symbolClass),e.set(6,Codicon.symbolStruct),e.set(7,Codicon.symbolInterface),e.set(8,Codicon.symbolModule),e.set(9,Codicon.symbolProperty),e.set(10,Codicon.symbolEvent),e.set(11,Codicon.symbolOperator),e.set(12,Codicon.symbolUnit),e.set(13,Codicon.symbolValue),e.set(15,Codicon.symbolEnum),e.set(14,Codicon.symbolConstant),e.set(15,Codicon.symbolEnum),e.set(16,Codicon.symbolEnumMember),e.set(17,Codicon.symbolKeyword),e.set(27,Codicon.symbolSnippet),e.set(18,Codicon.symbolText),e.set(19,Codicon.symbolColor),e.set(20,Codicon.symbolFile),e.set(21,Codicon.symbolReference),e.set(22,Codicon.symbolCustomColor),e.set(23,Codicon.symbolFolder),e.set(24,Codicon.symbolTypeParameter),e.set(25,Codicon.account),e.set(26,Codicon.issues);function t(g){let y=e.get(g);return y||(console.info("No codicon found for CompletionItemKind "+g),y=Codicon.symbolProperty),y}n.toIcon=t;const i=new Map;i.set("method",0),i.set("function",1),i.set("constructor",2),i.set("field",3),i.set("variable",4),i.set("class",5),i.set("struct",6),i.set("interface",7),i.set("module",8),i.set("property",9),i.set("event",10),i.set("operator",11),i.set("unit",12),i.set("value",13),i.set("constant",14),i.set("enum",15),i.set("enum-member",16),i.set("enumMember",16),i.set("keyword",17),i.set("snippet",27),i.set("text",18),i.set("color",19),i.set("file",20),i.set("reference",21),i.set("customcolor",22),i.set("folder",23),i.set("type-parameter",24),i.set("typeParameter",24),i.set("account",25),i.set("issue",26);function r(g,y){let k=i.get(g);return typeof k>"u"&&!y&&(k=9),k}n.fromString=r})(CompletionItemKinds||(CompletionItemKinds={}));var InlineCompletionTriggerKind$1;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(InlineCompletionTriggerKind$1||(InlineCompletionTriggerKind$1={}));class SelectedSuggestionInfo{constructor(e,t,i,r){this.range=e,this.text=t,this.completionKind=i,this.isSnippetText=r}equals(e){return Range$2.lift(this.range).equalsRange(e.range)&&this.text===e.text&&this.completionKind===e.completionKind&&this.isSnippetText===e.isSnippetText}}var DocumentPasteTriggerKind;(function(n){n[n.Automatic=0]="Automatic",n[n.PasteAs=1]="PasteAs"})(DocumentPasteTriggerKind||(DocumentPasteTriggerKind={}));var SignatureHelpTriggerKind$1;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(SignatureHelpTriggerKind$1||(SignatureHelpTriggerKind$1={}));var DocumentHighlightKind$1;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(DocumentHighlightKind$1||(DocumentHighlightKind$1={}));function isLocationLink(n){return n&&URI.isUri(n.uri)&&Range$2.isIRange(n.range)&&(Range$2.isIRange(n.originSelectionRange)||Range$2.isIRange(n.targetSelectionRange))}const symbolKindNames={17:localize("Array","array"),16:localize("Boolean","boolean"),4:localize("Class","class"),13:localize("Constant","constant"),8:localize("Constructor","constructor"),9:localize("Enum","enumeration"),21:localize("EnumMember","enumeration member"),23:localize("Event","event"),7:localize("Field","field"),0:localize("File","file"),11:localize("Function","function"),10:localize("Interface","interface"),19:localize("Key","key"),5:localize("Method","method"),1:localize("Module","module"),2:localize("Namespace","namespace"),20:localize("Null","null"),15:localize("Number","number"),18:localize("Object","object"),24:localize("Operator","operator"),3:localize("Package","package"),6:localize("Property","property"),14:localize("String","string"),22:localize("Struct","struct"),25:localize("TypeParameter","type parameter"),12:localize("Variable","variable")};function getAriaLabelForSymbol(n,e){return localize("symbolAriaLabel","{0} ({1})",n,symbolKindNames[e])}var SymbolKinds;(function(n){const e=new Map;e.set(0,Codicon.symbolFile),e.set(1,Codicon.symbolModule),e.set(2,Codicon.symbolNamespace),e.set(3,Codicon.symbolPackage),e.set(4,Codicon.symbolClass),e.set(5,Codicon.symbolMethod),e.set(6,Codicon.symbolProperty),e.set(7,Codicon.symbolField),e.set(8,Codicon.symbolConstructor),e.set(9,Codicon.symbolEnum),e.set(10,Codicon.symbolInterface),e.set(11,Codicon.symbolFunction),e.set(12,Codicon.symbolVariable),e.set(13,Codicon.symbolConstant),e.set(14,Codicon.symbolString),e.set(15,Codicon.symbolNumber),e.set(16,Codicon.symbolBoolean),e.set(17,Codicon.symbolArray),e.set(18,Codicon.symbolObject),e.set(19,Codicon.symbolKey),e.set(20,Codicon.symbolNull),e.set(21,Codicon.symbolEnumMember),e.set(22,Codicon.symbolStruct),e.set(23,Codicon.symbolEvent),e.set(24,Codicon.symbolOperator),e.set(25,Codicon.symbolTypeParameter);function t(i){let r=e.get(i);return r||(console.info("No codicon found for SymbolKind "+i),r=Codicon.symbolProperty),r}n.toIcon=t})(SymbolKinds||(SymbolKinds={}));class FoldingRangeKind{static fromValue(e){switch(e){case"comment":return FoldingRangeKind.Comment;case"imports":return FoldingRangeKind.Imports;case"region":return FoldingRangeKind.Region}return new FoldingRangeKind(e)}constructor(e){this.value=e}}FoldingRangeKind.Comment=new FoldingRangeKind("comment");FoldingRangeKind.Imports=new FoldingRangeKind("imports");FoldingRangeKind.Region=new FoldingRangeKind("region");var NewSymbolNameTag$1;(function(n){n[n.AIGenerated=1]="AIGenerated"})(NewSymbolNameTag$1||(NewSymbolNameTag$1={}));var Command$1;(function(n){function e(t){return!t||typeof t!="object"?!1:typeof t.id=="string"&&typeof t.title=="string"}n.is=e})(Command$1||(Command$1={}));var InlayHintKind$1;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(InlayHintKind$1||(InlayHintKind$1={}));class LazyTokenizationSupport{constructor(e){this.createSupport=e,this._tokenizationSupport=null}dispose(){this._tokenizationSupport&&this._tokenizationSupport.then(e=>{e&&e.dispose()})}get tokenizationSupport(){return this._tokenizationSupport||(this._tokenizationSupport=this.createSupport()),this._tokenizationSupport}}const TokenizationRegistry=new TokenizationRegistry$1;var InlineEditTriggerKind$1;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(InlineEditTriggerKind$1||(InlineEditTriggerKind$1={}));var AccessibilitySupport;(function(n){n[n.Unknown=0]="Unknown",n[n.Disabled=1]="Disabled",n[n.Enabled=2]="Enabled"})(AccessibilitySupport||(AccessibilitySupport={}));var CodeActionTriggerType;(function(n){n[n.Invoke=1]="Invoke",n[n.Auto=2]="Auto"})(CodeActionTriggerType||(CodeActionTriggerType={}));var CompletionItemInsertTextRule;(function(n){n[n.None=0]="None",n[n.KeepWhitespace=1]="KeepWhitespace",n[n.InsertAsSnippet=4]="InsertAsSnippet"})(CompletionItemInsertTextRule||(CompletionItemInsertTextRule={}));var CompletionItemKind;(function(n){n[n.Method=0]="Method",n[n.Function=1]="Function",n[n.Constructor=2]="Constructor",n[n.Field=3]="Field",n[n.Variable=4]="Variable",n[n.Class=5]="Class",n[n.Struct=6]="Struct",n[n.Interface=7]="Interface",n[n.Module=8]="Module",n[n.Property=9]="Property",n[n.Event=10]="Event",n[n.Operator=11]="Operator",n[n.Unit=12]="Unit",n[n.Value=13]="Value",n[n.Constant=14]="Constant",n[n.Enum=15]="Enum",n[n.EnumMember=16]="EnumMember",n[n.Keyword=17]="Keyword",n[n.Text=18]="Text",n[n.Color=19]="Color",n[n.File=20]="File",n[n.Reference=21]="Reference",n[n.Customcolor=22]="Customcolor",n[n.Folder=23]="Folder",n[n.TypeParameter=24]="TypeParameter",n[n.User=25]="User",n[n.Issue=26]="Issue",n[n.Snippet=27]="Snippet"})(CompletionItemKind||(CompletionItemKind={}));var CompletionItemTag;(function(n){n[n.Deprecated=1]="Deprecated"})(CompletionItemTag||(CompletionItemTag={}));var CompletionTriggerKind;(function(n){n[n.Invoke=0]="Invoke",n[n.TriggerCharacter=1]="TriggerCharacter",n[n.TriggerForIncompleteCompletions=2]="TriggerForIncompleteCompletions"})(CompletionTriggerKind||(CompletionTriggerKind={}));var ContentWidgetPositionPreference;(function(n){n[n.EXACT=0]="EXACT",n[n.ABOVE=1]="ABOVE",n[n.BELOW=2]="BELOW"})(ContentWidgetPositionPreference||(ContentWidgetPositionPreference={}));var CursorChangeReason;(function(n){n[n.NotSet=0]="NotSet",n[n.ContentFlush=1]="ContentFlush",n[n.RecoverFromMarkers=2]="RecoverFromMarkers",n[n.Explicit=3]="Explicit",n[n.Paste=4]="Paste",n[n.Undo=5]="Undo",n[n.Redo=6]="Redo"})(CursorChangeReason||(CursorChangeReason={}));var DefaultEndOfLine;(function(n){n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(DefaultEndOfLine||(DefaultEndOfLine={}));var DocumentHighlightKind;(function(n){n[n.Text=0]="Text",n[n.Read=1]="Read",n[n.Write=2]="Write"})(DocumentHighlightKind||(DocumentHighlightKind={}));var EditorAutoIndentStrategy;(function(n){n[n.None=0]="None",n[n.Keep=1]="Keep",n[n.Brackets=2]="Brackets",n[n.Advanced=3]="Advanced",n[n.Full=4]="Full"})(EditorAutoIndentStrategy||(EditorAutoIndentStrategy={}));var EditorOption;(function(n){n[n.acceptSuggestionOnCommitCharacter=0]="acceptSuggestionOnCommitCharacter",n[n.acceptSuggestionOnEnter=1]="acceptSuggestionOnEnter",n[n.accessibilitySupport=2]="accessibilitySupport",n[n.accessibilityPageSize=3]="accessibilityPageSize",n[n.ariaLabel=4]="ariaLabel",n[n.ariaRequired=5]="ariaRequired",n[n.autoClosingBrackets=6]="autoClosingBrackets",n[n.autoClosingComments=7]="autoClosingComments",n[n.screenReaderAnnounceInlineSuggestion=8]="screenReaderAnnounceInlineSuggestion",n[n.autoClosingDelete=9]="autoClosingDelete",n[n.autoClosingOvertype=10]="autoClosingOvertype",n[n.autoClosingQuotes=11]="autoClosingQuotes",n[n.autoIndent=12]="autoIndent",n[n.automaticLayout=13]="automaticLayout",n[n.autoSurround=14]="autoSurround",n[n.bracketPairColorization=15]="bracketPairColorization",n[n.guides=16]="guides",n[n.codeLens=17]="codeLens",n[n.codeLensFontFamily=18]="codeLensFontFamily",n[n.codeLensFontSize=19]="codeLensFontSize",n[n.colorDecorators=20]="colorDecorators",n[n.colorDecoratorsLimit=21]="colorDecoratorsLimit",n[n.columnSelection=22]="columnSelection",n[n.comments=23]="comments",n[n.contextmenu=24]="contextmenu",n[n.copyWithSyntaxHighlighting=25]="copyWithSyntaxHighlighting",n[n.cursorBlinking=26]="cursorBlinking",n[n.cursorSmoothCaretAnimation=27]="cursorSmoothCaretAnimation",n[n.cursorStyle=28]="cursorStyle",n[n.cursorSurroundingLines=29]="cursorSurroundingLines",n[n.cursorSurroundingLinesStyle=30]="cursorSurroundingLinesStyle",n[n.cursorWidth=31]="cursorWidth",n[n.disableLayerHinting=32]="disableLayerHinting",n[n.disableMonospaceOptimizations=33]="disableMonospaceOptimizations",n[n.domReadOnly=34]="domReadOnly",n[n.dragAndDrop=35]="dragAndDrop",n[n.dropIntoEditor=36]="dropIntoEditor",n[n.emptySelectionClipboard=37]="emptySelectionClipboard",n[n.experimentalWhitespaceRendering=38]="experimentalWhitespaceRendering",n[n.extraEditorClassName=39]="extraEditorClassName",n[n.fastScrollSensitivity=40]="fastScrollSensitivity",n[n.find=41]="find",n[n.fixedOverflowWidgets=42]="fixedOverflowWidgets",n[n.folding=43]="folding",n[n.foldingStrategy=44]="foldingStrategy",n[n.foldingHighlight=45]="foldingHighlight",n[n.foldingImportsByDefault=46]="foldingImportsByDefault",n[n.foldingMaximumRegions=47]="foldingMaximumRegions",n[n.unfoldOnClickAfterEndOfLine=48]="unfoldOnClickAfterEndOfLine",n[n.fontFamily=49]="fontFamily",n[n.fontInfo=50]="fontInfo",n[n.fontLigatures=51]="fontLigatures",n[n.fontSize=52]="fontSize",n[n.fontWeight=53]="fontWeight",n[n.fontVariations=54]="fontVariations",n[n.formatOnPaste=55]="formatOnPaste",n[n.formatOnType=56]="formatOnType",n[n.glyphMargin=57]="glyphMargin",n[n.gotoLocation=58]="gotoLocation",n[n.hideCursorInOverviewRuler=59]="hideCursorInOverviewRuler",n[n.hover=60]="hover",n[n.inDiffEditor=61]="inDiffEditor",n[n.inlineSuggest=62]="inlineSuggest",n[n.inlineEdit=63]="inlineEdit",n[n.letterSpacing=64]="letterSpacing",n[n.lightbulb=65]="lightbulb",n[n.lineDecorationsWidth=66]="lineDecorationsWidth",n[n.lineHeight=67]="lineHeight",n[n.lineNumbers=68]="lineNumbers",n[n.lineNumbersMinChars=69]="lineNumbersMinChars",n[n.linkedEditing=70]="linkedEditing",n[n.links=71]="links",n[n.matchBrackets=72]="matchBrackets",n[n.minimap=73]="minimap",n[n.mouseStyle=74]="mouseStyle",n[n.mouseWheelScrollSensitivity=75]="mouseWheelScrollSensitivity",n[n.mouseWheelZoom=76]="mouseWheelZoom",n[n.multiCursorMergeOverlapping=77]="multiCursorMergeOverlapping",n[n.multiCursorModifier=78]="multiCursorModifier",n[n.multiCursorPaste=79]="multiCursorPaste",n[n.multiCursorLimit=80]="multiCursorLimit",n[n.occurrencesHighlight=81]="occurrencesHighlight",n[n.overviewRulerBorder=82]="overviewRulerBorder",n[n.overviewRulerLanes=83]="overviewRulerLanes",n[n.padding=84]="padding",n[n.pasteAs=85]="pasteAs",n[n.parameterHints=86]="parameterHints",n[n.peekWidgetDefaultFocus=87]="peekWidgetDefaultFocus",n[n.definitionLinkOpensInPeek=88]="definitionLinkOpensInPeek",n[n.quickSuggestions=89]="quickSuggestions",n[n.quickSuggestionsDelay=90]="quickSuggestionsDelay",n[n.readOnly=91]="readOnly",n[n.readOnlyMessage=92]="readOnlyMessage",n[n.renameOnType=93]="renameOnType",n[n.renderControlCharacters=94]="renderControlCharacters",n[n.renderFinalNewline=95]="renderFinalNewline",n[n.renderLineHighlight=96]="renderLineHighlight",n[n.renderLineHighlightOnlyWhenFocus=97]="renderLineHighlightOnlyWhenFocus",n[n.renderValidationDecorations=98]="renderValidationDecorations",n[n.renderWhitespace=99]="renderWhitespace",n[n.revealHorizontalRightPadding=100]="revealHorizontalRightPadding",n[n.roundedSelection=101]="roundedSelection",n[n.rulers=102]="rulers",n[n.scrollbar=103]="scrollbar",n[n.scrollBeyondLastColumn=104]="scrollBeyondLastColumn",n[n.scrollBeyondLastLine=105]="scrollBeyondLastLine",n[n.scrollPredominantAxis=106]="scrollPredominantAxis",n[n.selectionClipboard=107]="selectionClipboard",n[n.selectionHighlight=108]="selectionHighlight",n[n.selectOnLineNumbers=109]="selectOnLineNumbers",n[n.showFoldingControls=110]="showFoldingControls",n[n.showUnused=111]="showUnused",n[n.snippetSuggestions=112]="snippetSuggestions",n[n.smartSelect=113]="smartSelect",n[n.smoothScrolling=114]="smoothScrolling",n[n.stickyScroll=115]="stickyScroll",n[n.stickyTabStops=116]="stickyTabStops",n[n.stopRenderingLineAfter=117]="stopRenderingLineAfter",n[n.suggest=118]="suggest",n[n.suggestFontSize=119]="suggestFontSize",n[n.suggestLineHeight=120]="suggestLineHeight",n[n.suggestOnTriggerCharacters=121]="suggestOnTriggerCharacters",n[n.suggestSelection=122]="suggestSelection",n[n.tabCompletion=123]="tabCompletion",n[n.tabIndex=124]="tabIndex",n[n.unicodeHighlighting=125]="unicodeHighlighting",n[n.unusualLineTerminators=126]="unusualLineTerminators",n[n.useShadowDOM=127]="useShadowDOM",n[n.useTabStops=128]="useTabStops",n[n.wordBreak=129]="wordBreak",n[n.wordSegmenterLocales=130]="wordSegmenterLocales",n[n.wordSeparators=131]="wordSeparators",n[n.wordWrap=132]="wordWrap",n[n.wordWrapBreakAfterCharacters=133]="wordWrapBreakAfterCharacters",n[n.wordWrapBreakBeforeCharacters=134]="wordWrapBreakBeforeCharacters",n[n.wordWrapColumn=135]="wordWrapColumn",n[n.wordWrapOverride1=136]="wordWrapOverride1",n[n.wordWrapOverride2=137]="wordWrapOverride2",n[n.wrappingIndent=138]="wrappingIndent",n[n.wrappingStrategy=139]="wrappingStrategy",n[n.showDeprecated=140]="showDeprecated",n[n.inlayHints=141]="inlayHints",n[n.editorClassName=142]="editorClassName",n[n.pixelRatio=143]="pixelRatio",n[n.tabFocusMode=144]="tabFocusMode",n[n.layoutInfo=145]="layoutInfo",n[n.wrappingInfo=146]="wrappingInfo",n[n.defaultColorDecorators=147]="defaultColorDecorators",n[n.colorDecoratorsActivatedOn=148]="colorDecoratorsActivatedOn",n[n.inlineCompletionsAccessibilityVerbose=149]="inlineCompletionsAccessibilityVerbose"})(EditorOption||(EditorOption={}));var EndOfLinePreference;(function(n){n[n.TextDefined=0]="TextDefined",n[n.LF=1]="LF",n[n.CRLF=2]="CRLF"})(EndOfLinePreference||(EndOfLinePreference={}));var EndOfLineSequence;(function(n){n[n.LF=0]="LF",n[n.CRLF=1]="CRLF"})(EndOfLineSequence||(EndOfLineSequence={}));var GlyphMarginLane$1;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=3]="Right"})(GlyphMarginLane$1||(GlyphMarginLane$1={}));var IndentAction$1;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(IndentAction$1||(IndentAction$1={}));var InjectedTextCursorStops$1;(function(n){n[n.Both=0]="Both",n[n.Right=1]="Right",n[n.Left=2]="Left",n[n.None=3]="None"})(InjectedTextCursorStops$1||(InjectedTextCursorStops$1={}));var InlayHintKind;(function(n){n[n.Type=1]="Type",n[n.Parameter=2]="Parameter"})(InlayHintKind||(InlayHintKind={}));var InlineCompletionTriggerKind;(function(n){n[n.Automatic=0]="Automatic",n[n.Explicit=1]="Explicit"})(InlineCompletionTriggerKind||(InlineCompletionTriggerKind={}));var InlineEditTriggerKind;(function(n){n[n.Invoke=0]="Invoke",n[n.Automatic=1]="Automatic"})(InlineEditTriggerKind||(InlineEditTriggerKind={}));var KeyCode$1;(function(n){n[n.DependsOnKbLayout=-1]="DependsOnKbLayout",n[n.Unknown=0]="Unknown",n[n.Backspace=1]="Backspace",n[n.Tab=2]="Tab",n[n.Enter=3]="Enter",n[n.Shift=4]="Shift",n[n.Ctrl=5]="Ctrl",n[n.Alt=6]="Alt",n[n.PauseBreak=7]="PauseBreak",n[n.CapsLock=8]="CapsLock",n[n.Escape=9]="Escape",n[n.Space=10]="Space",n[n.PageUp=11]="PageUp",n[n.PageDown=12]="PageDown",n[n.End=13]="End",n[n.Home=14]="Home",n[n.LeftArrow=15]="LeftArrow",n[n.UpArrow=16]="UpArrow",n[n.RightArrow=17]="RightArrow",n[n.DownArrow=18]="DownArrow",n[n.Insert=19]="Insert",n[n.Delete=20]="Delete",n[n.Digit0=21]="Digit0",n[n.Digit1=22]="Digit1",n[n.Digit2=23]="Digit2",n[n.Digit3=24]="Digit3",n[n.Digit4=25]="Digit4",n[n.Digit5=26]="Digit5",n[n.Digit6=27]="Digit6",n[n.Digit7=28]="Digit7",n[n.Digit8=29]="Digit8",n[n.Digit9=30]="Digit9",n[n.KeyA=31]="KeyA",n[n.KeyB=32]="KeyB",n[n.KeyC=33]="KeyC",n[n.KeyD=34]="KeyD",n[n.KeyE=35]="KeyE",n[n.KeyF=36]="KeyF",n[n.KeyG=37]="KeyG",n[n.KeyH=38]="KeyH",n[n.KeyI=39]="KeyI",n[n.KeyJ=40]="KeyJ",n[n.KeyK=41]="KeyK",n[n.KeyL=42]="KeyL",n[n.KeyM=43]="KeyM",n[n.KeyN=44]="KeyN",n[n.KeyO=45]="KeyO",n[n.KeyP=46]="KeyP",n[n.KeyQ=47]="KeyQ",n[n.KeyR=48]="KeyR",n[n.KeyS=49]="KeyS",n[n.KeyT=50]="KeyT",n[n.KeyU=51]="KeyU",n[n.KeyV=52]="KeyV",n[n.KeyW=53]="KeyW",n[n.KeyX=54]="KeyX",n[n.KeyY=55]="KeyY",n[n.KeyZ=56]="KeyZ",n[n.Meta=57]="Meta",n[n.ContextMenu=58]="ContextMenu",n[n.F1=59]="F1",n[n.F2=60]="F2",n[n.F3=61]="F3",n[n.F4=62]="F4",n[n.F5=63]="F5",n[n.F6=64]="F6",n[n.F7=65]="F7",n[n.F8=66]="F8",n[n.F9=67]="F9",n[n.F10=68]="F10",n[n.F11=69]="F11",n[n.F12=70]="F12",n[n.F13=71]="F13",n[n.F14=72]="F14",n[n.F15=73]="F15",n[n.F16=74]="F16",n[n.F17=75]="F17",n[n.F18=76]="F18",n[n.F19=77]="F19",n[n.F20=78]="F20",n[n.F21=79]="F21",n[n.F22=80]="F22",n[n.F23=81]="F23",n[n.F24=82]="F24",n[n.NumLock=83]="NumLock",n[n.ScrollLock=84]="ScrollLock",n[n.Semicolon=85]="Semicolon",n[n.Equal=86]="Equal",n[n.Comma=87]="Comma",n[n.Minus=88]="Minus",n[n.Period=89]="Period",n[n.Slash=90]="Slash",n[n.Backquote=91]="Backquote",n[n.BracketLeft=92]="BracketLeft",n[n.Backslash=93]="Backslash",n[n.BracketRight=94]="BracketRight",n[n.Quote=95]="Quote",n[n.OEM_8=96]="OEM_8",n[n.IntlBackslash=97]="IntlBackslash",n[n.Numpad0=98]="Numpad0",n[n.Numpad1=99]="Numpad1",n[n.Numpad2=100]="Numpad2",n[n.Numpad3=101]="Numpad3",n[n.Numpad4=102]="Numpad4",n[n.Numpad5=103]="Numpad5",n[n.Numpad6=104]="Numpad6",n[n.Numpad7=105]="Numpad7",n[n.Numpad8=106]="Numpad8",n[n.Numpad9=107]="Numpad9",n[n.NumpadMultiply=108]="NumpadMultiply",n[n.NumpadAdd=109]="NumpadAdd",n[n.NUMPAD_SEPARATOR=110]="NUMPAD_SEPARATOR",n[n.NumpadSubtract=111]="NumpadSubtract",n[n.NumpadDecimal=112]="NumpadDecimal",n[n.NumpadDivide=113]="NumpadDivide",n[n.KEY_IN_COMPOSITION=114]="KEY_IN_COMPOSITION",n[n.ABNT_C1=115]="ABNT_C1",n[n.ABNT_C2=116]="ABNT_C2",n[n.AudioVolumeMute=117]="AudioVolumeMute",n[n.AudioVolumeUp=118]="AudioVolumeUp",n[n.AudioVolumeDown=119]="AudioVolumeDown",n[n.BrowserSearch=120]="BrowserSearch",n[n.BrowserHome=121]="BrowserHome",n[n.BrowserBack=122]="BrowserBack",n[n.BrowserForward=123]="BrowserForward",n[n.MediaTrackNext=124]="MediaTrackNext",n[n.MediaTrackPrevious=125]="MediaTrackPrevious",n[n.MediaStop=126]="MediaStop",n[n.MediaPlayPause=127]="MediaPlayPause",n[n.LaunchMediaPlayer=128]="LaunchMediaPlayer",n[n.LaunchMail=129]="LaunchMail",n[n.LaunchApp2=130]="LaunchApp2",n[n.Clear=131]="Clear",n[n.MAX_VALUE=132]="MAX_VALUE"})(KeyCode$1||(KeyCode$1={}));var MarkerSeverity$2;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(MarkerSeverity$2||(MarkerSeverity$2={}));var MarkerTag$1;(function(n){n[n.Unnecessary=1]="Unnecessary",n[n.Deprecated=2]="Deprecated"})(MarkerTag$1||(MarkerTag$1={}));var MinimapPosition;(function(n){n[n.Inline=1]="Inline",n[n.Gutter=2]="Gutter"})(MinimapPosition||(MinimapPosition={}));var MinimapSectionHeaderStyle;(function(n){n[n.Normal=1]="Normal",n[n.Underlined=2]="Underlined"})(MinimapSectionHeaderStyle||(MinimapSectionHeaderStyle={}));var MouseTargetType;(function(n){n[n.UNKNOWN=0]="UNKNOWN",n[n.TEXTAREA=1]="TEXTAREA",n[n.GUTTER_GLYPH_MARGIN=2]="GUTTER_GLYPH_MARGIN",n[n.GUTTER_LINE_NUMBERS=3]="GUTTER_LINE_NUMBERS",n[n.GUTTER_LINE_DECORATIONS=4]="GUTTER_LINE_DECORATIONS",n[n.GUTTER_VIEW_ZONE=5]="GUTTER_VIEW_ZONE",n[n.CONTENT_TEXT=6]="CONTENT_TEXT",n[n.CONTENT_EMPTY=7]="CONTENT_EMPTY",n[n.CONTENT_VIEW_ZONE=8]="CONTENT_VIEW_ZONE",n[n.CONTENT_WIDGET=9]="CONTENT_WIDGET",n[n.OVERVIEW_RULER=10]="OVERVIEW_RULER",n[n.SCROLLBAR=11]="SCROLLBAR",n[n.OVERLAY_WIDGET=12]="OVERLAY_WIDGET",n[n.OUTSIDE_EDITOR=13]="OUTSIDE_EDITOR"})(MouseTargetType||(MouseTargetType={}));var NewSymbolNameTag;(function(n){n[n.AIGenerated=1]="AIGenerated"})(NewSymbolNameTag||(NewSymbolNameTag={}));var OverlayWidgetPositionPreference;(function(n){n[n.TOP_RIGHT_CORNER=0]="TOP_RIGHT_CORNER",n[n.BOTTOM_RIGHT_CORNER=1]="BOTTOM_RIGHT_CORNER",n[n.TOP_CENTER=2]="TOP_CENTER"})(OverlayWidgetPositionPreference||(OverlayWidgetPositionPreference={}));var OverviewRulerLane$1;(function(n){n[n.Left=1]="Left",n[n.Center=2]="Center",n[n.Right=4]="Right",n[n.Full=7]="Full"})(OverviewRulerLane$1||(OverviewRulerLane$1={}));var PartialAcceptTriggerKind;(function(n){n[n.Word=0]="Word",n[n.Line=1]="Line",n[n.Suggest=2]="Suggest"})(PartialAcceptTriggerKind||(PartialAcceptTriggerKind={}));var PositionAffinity;(function(n){n[n.Left=0]="Left",n[n.Right=1]="Right",n[n.None=2]="None",n[n.LeftOfInjectedText=3]="LeftOfInjectedText",n[n.RightOfInjectedText=4]="RightOfInjectedText"})(PositionAffinity||(PositionAffinity={}));var RenderLineNumbersType;(function(n){n[n.Off=0]="Off",n[n.On=1]="On",n[n.Relative=2]="Relative",n[n.Interval=3]="Interval",n[n.Custom=4]="Custom"})(RenderLineNumbersType||(RenderLineNumbersType={}));var RenderMinimap;(function(n){n[n.None=0]="None",n[n.Text=1]="Text",n[n.Blocks=2]="Blocks"})(RenderMinimap||(RenderMinimap={}));var ScrollType;(function(n){n[n.Smooth=0]="Smooth",n[n.Immediate=1]="Immediate"})(ScrollType||(ScrollType={}));var ScrollbarVisibility;(function(n){n[n.Auto=1]="Auto",n[n.Hidden=2]="Hidden",n[n.Visible=3]="Visible"})(ScrollbarVisibility||(ScrollbarVisibility={}));var SelectionDirection$1;(function(n){n[n.LTR=0]="LTR",n[n.RTL=1]="RTL"})(SelectionDirection$1||(SelectionDirection$1={}));var ShowLightbulbIconMode;(function(n){n.Off="off",n.OnCode="onCode",n.On="on"})(ShowLightbulbIconMode||(ShowLightbulbIconMode={}));var SignatureHelpTriggerKind;(function(n){n[n.Invoke=1]="Invoke",n[n.TriggerCharacter=2]="TriggerCharacter",n[n.ContentChange=3]="ContentChange"})(SignatureHelpTriggerKind||(SignatureHelpTriggerKind={}));var SymbolKind;(function(n){n[n.File=0]="File",n[n.Module=1]="Module",n[n.Namespace=2]="Namespace",n[n.Package=3]="Package",n[n.Class=4]="Class",n[n.Method=5]="Method",n[n.Property=6]="Property",n[n.Field=7]="Field",n[n.Constructor=8]="Constructor",n[n.Enum=9]="Enum",n[n.Interface=10]="Interface",n[n.Function=11]="Function",n[n.Variable=12]="Variable",n[n.Constant=13]="Constant",n[n.String=14]="String",n[n.Number=15]="Number",n[n.Boolean=16]="Boolean",n[n.Array=17]="Array",n[n.Object=18]="Object",n[n.Key=19]="Key",n[n.Null=20]="Null",n[n.EnumMember=21]="EnumMember",n[n.Struct=22]="Struct",n[n.Event=23]="Event",n[n.Operator=24]="Operator",n[n.TypeParameter=25]="TypeParameter"})(SymbolKind||(SymbolKind={}));var SymbolTag;(function(n){n[n.Deprecated=1]="Deprecated"})(SymbolTag||(SymbolTag={}));var TextEditorCursorBlinkingStyle;(function(n){n[n.Hidden=0]="Hidden",n[n.Blink=1]="Blink",n[n.Smooth=2]="Smooth",n[n.Phase=3]="Phase",n[n.Expand=4]="Expand",n[n.Solid=5]="Solid"})(TextEditorCursorBlinkingStyle||(TextEditorCursorBlinkingStyle={}));var TextEditorCursorStyle;(function(n){n[n.Line=1]="Line",n[n.Block=2]="Block",n[n.Underline=3]="Underline",n[n.LineThin=4]="LineThin",n[n.BlockOutline=5]="BlockOutline",n[n.UnderlineThin=6]="UnderlineThin"})(TextEditorCursorStyle||(TextEditorCursorStyle={}));var TrackedRangeStickiness;(function(n){n[n.AlwaysGrowsWhenTypingAtEdges=0]="AlwaysGrowsWhenTypingAtEdges",n[n.NeverGrowsWhenTypingAtEdges=1]="NeverGrowsWhenTypingAtEdges",n[n.GrowsOnlyWhenTypingBefore=2]="GrowsOnlyWhenTypingBefore",n[n.GrowsOnlyWhenTypingAfter=3]="GrowsOnlyWhenTypingAfter"})(TrackedRangeStickiness||(TrackedRangeStickiness={}));var WrappingIndent;(function(n){n[n.None=0]="None",n[n.Same=1]="Same",n[n.Indent=2]="Indent",n[n.DeepIndent=3]="DeepIndent"})(WrappingIndent||(WrappingIndent={}));let KeyMod$1=class{static chord(e,t){return KeyChord(e,t)}};KeyMod$1.CtrlCmd=2048;KeyMod$1.Shift=1024;KeyMod$1.Alt=512;KeyMod$1.WinCtrl=256;function createMonacoBaseAPI(){return{editor:void 0,languages:void 0,CancellationTokenSource:CancellationTokenSource$1,Emitter:Emitter$1,KeyCode:KeyCode$1,KeyMod:KeyMod$1,Position:Position$1,Range:Range$2,Selection:Selection$1,SelectionDirection:SelectionDirection$1,MarkerSeverity:MarkerSeverity$2,MarkerTag:MarkerTag$1,Uri:URI,Token:Token$2}}function ensureCodeWindow(n,e){const t=n;typeof t.vscodeWindowId!="number"&&Object.defineProperty(t,"vscodeWindowId",{get:()=>e})}const mainWindow=window;class LRUCachedFunction{constructor(e,t=JSON.stringify){this.fn=e,this._computeKey=t,this.lastCache=void 0,this.lastArgKey=void 0}get(e){const t=this._computeKey(e);return this.lastArgKey!==t&&(this.lastArgKey=t,this.lastCache=this.fn(e)),this.lastCache}}class CachedFunction{get cachedValues(){return this._map}constructor(e){this.fn=e,this._map=new Map}get(e){if(this._map.has(e))return this._map.get(e);const t=this.fn(e);return this._map.set(e,t),t}}class Lazy{constructor(e){this.executor=e,this._didRun=!1}get value(){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}}var _a$6;function isFalsyOrWhitespace(n){return!n||typeof n!="string"?!0:n.trim().length===0}const _formatRegexp=/{(\d+)}/g;function format(n,...e){return e.length===0?n:n.replace(_formatRegexp,function(t,i){const r=parseInt(i,10);return isNaN(r)||r<0||r>=e.length?t:e[r]})}function htmlAttributeEncodeValue(n){return n.replace(/[<>"'&]/g,e=>{switch(e){case"<":return"<";case">":return">";case'"':return""";case"'":return"'";case"&":return"&"}return e})}function escape(n){return n.replace(/[<>&]/g,function(e){switch(e){case"<":return"<";case">":return">";case"&":return"&";default:return e}})}function escapeRegExpCharacters(n){return n.replace(/[\\\{\}\*\+\?\|\^\$\.\[\]\(\)]/g,"\\$&")}function trim(n,e=" "){const t=ltrim(n,e);return rtrim(t,e)}function ltrim(n,e){if(!n||!e)return n;const t=e.length;if(t===0||n.length===0)return n;let i=0;for(;n.indexOf(e,i)===i;)i=i+t;return n.substring(i)}function rtrim(n,e){if(!n||!e)return n;const t=e.length,i=n.length;if(t===0||i===0)return n;let r=i,g=-1;for(;g=n.lastIndexOf(e,r-1),!(g===-1||g+t!==r);){if(g===0)return"";r=g}return n.substring(0,r)}function convertSimple2RegExpPattern(n){return n.replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&").replace(/[\*]/g,".*")}function stripWildcards(n){return n.replace(/\*/g,"")}function createRegExp(n,e,t={}){if(!n)throw new Error("Cannot create regex from empty string");e||(n=escapeRegExpCharacters(n)),t.wholeWord&&(/\B/.test(n.charAt(0))||(n="\\b"+n),/\B/.test(n.charAt(n.length-1))||(n=n+"\\b"));let i="";return t.global&&(i+="g"),t.matchCase||(i+="i"),t.multiline&&(i+="m"),t.unicode&&(i+="u"),new RegExp(n,i)}function regExpLeadsToEndlessLoop(n){return n.source==="^"||n.source==="^$"||n.source==="$"||n.source==="^\\s*$"?!1:!!(n.exec("")&&n.lastIndex===0)}function splitLines(n){return n.split(/\r\n|\r|\n/)}function splitLinesIncludeSeparators(n){var e;const t=[],i=n.split(/(\r\n|\r|\n)/);for(let r=0;r=0;t--){const i=n.charCodeAt(t);if(i!==32&&i!==9)return t}return-1}function compare(n,e){return ne?1:0}function compareSubstring(n,e,t=0,i=n.length,r=0,g=e.length){for(;tV)return 1}const y=i-t,k=g-r;return yk?1:0}function compareIgnoreCase(n,e){return compareSubstringIgnoreCase(n,e,0,n.length,0,e.length)}function compareSubstringIgnoreCase(n,e,t=0,i=n.length,r=0,g=e.length){for(;t=128||V>=128)return compareSubstring(n.toLowerCase(),e.toLowerCase(),t,i,r,g);isLowerAsciiLetter(L)&&(L-=32),isLowerAsciiLetter(V)&&(V-=32);const z=L-V;if(z!==0)return z}const y=i-t,k=g-r;return yk?1:0}function isAsciiDigit(n){return n>=48&&n<=57}function isLowerAsciiLetter(n){return n>=97&&n<=122}function isUpperAsciiLetter(n){return n>=65&&n<=90}function equalsIgnoreCase(n,e){return n.length===e.length&&compareSubstringIgnoreCase(n,e)===0}function startsWithIgnoreCase(n,e){const t=e.length;return e.length>n.length?!1:compareSubstringIgnoreCase(n,e,0,t)===0}function commonPrefixLength(n,e){const t=Math.min(n.length,e.length);let i;for(i=0;i1){const i=n.charCodeAt(e-2);if(isHighSurrogate(i))return computeCodePoint(i,t)}return t}class CodePointIterator{get offset(){return this._offset}constructor(e,t=0){this._str=e,this._len=e.length,this._offset=t}setOffset(e){this._offset=e}prevCodePoint(){const e=getPrevCodePoint(this._str,this._offset);return this._offset-=e>=65536?2:1,e}nextCodePoint(){const e=getNextCodePoint(this._str,this._len,this._offset);return this._offset+=e>=65536?2:1,e}eol(){return this._offset>=this._len}}class GraphemeIterator{get offset(){return this._iterator.offset}constructor(e,t=0){this._iterator=new CodePointIterator(e,t)}nextGraphemeLength(){const e=GraphemeBreakTree.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.nextCodePoint());for(;!t.eol();){const g=t.offset,y=e.getGraphemeBreakType(t.nextCodePoint());if(breakBetweenGraphemeBreakType(r,y)){t.setOffset(g);break}r=y}return t.offset-i}prevGraphemeLength(){const e=GraphemeBreakTree.getInstance(),t=this._iterator,i=t.offset;let r=e.getGraphemeBreakType(t.prevCodePoint());for(;t.offset>0;){const g=t.offset,y=e.getGraphemeBreakType(t.prevCodePoint());if(breakBetweenGraphemeBreakType(y,r)){t.setOffset(g);break}r=y}return i-t.offset}eol(){return this._iterator.eol()}}function nextCharLength(n,e){return new GraphemeIterator(n,e).nextGraphemeLength()}function prevCharLength(n,e){return new GraphemeIterator(n,e).prevGraphemeLength()}function getCharContainingOffset(n,e){e>0&&isLowSurrogate(n.charCodeAt(e))&&e--;const t=e+nextCharLength(n,e);return[t-prevCharLength(n,t),t]}let CONTAINS_RTL;function makeContainsRtl(){return/(?:[\u05BE\u05C0\u05C3\u05C6\u05D0-\u05F4\u0608\u060B\u060D\u061B-\u064A\u066D-\u066F\u0671-\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u0710\u0712-\u072F\u074D-\u07A5\u07B1-\u07EA\u07F4\u07F5\u07FA\u07FE-\u0815\u081A\u0824\u0828\u0830-\u0858\u085E-\u088E\u08A0-\u08C9\u200F\uFB1D\uFB1F-\uFB28\uFB2A-\uFD3D\uFD50-\uFDC7\uFDF0-\uFDFC\uFE70-\uFEFC]|\uD802[\uDC00-\uDD1B\uDD20-\uDE00\uDE10-\uDE35\uDE40-\uDEE4\uDEEB-\uDF35\uDF40-\uDFFF]|\uD803[\uDC00-\uDD23\uDE80-\uDEA9\uDEAD-\uDF45\uDF51-\uDF81\uDF86-\uDFF6]|\uD83A[\uDC00-\uDCCF\uDD00-\uDD43\uDD4B-\uDFFF]|\uD83B[\uDC00-\uDEBB])/}function containsRTL(n){return CONTAINS_RTL||(CONTAINS_RTL=makeContainsRtl()),CONTAINS_RTL.test(n)}const IS_BASIC_ASCII=/^[\t\n\r\x20-\x7E]*$/;function isBasicASCII(n){return IS_BASIC_ASCII.test(n)}const UNUSUAL_LINE_TERMINATORS=/[\u2028\u2029]/;function containsUnusualLineTerminators(n){return UNUSUAL_LINE_TERMINATORS.test(n)}function isFullWidthCharacter(n){return n>=11904&&n<=55215||n>=63744&&n<=64255||n>=65281&&n<=65374}function isEmojiImprecise(n){return n>=127462&&n<=127487||n===8986||n===8987||n===9200||n===9203||n>=9728&&n<=10175||n===11088||n===11093||n>=127744&&n<=128591||n>=128640&&n<=128764||n>=128992&&n<=129008||n>=129280&&n<=129535||n>=129648&&n<=129782}const UTF8_BOM_CHARACTER="\uFEFF";function startsWithUTF8BOM(n){return!!(n&&n.length>0&&n.charCodeAt(0)===65279)}function containsUppercaseCharacter(n,e=!1){return n?(e&&(n=n.replace(/\\./g,"")),n.toLowerCase()!==n):!1}function singleLetterHash(n){return n=n%(2*26),n<26?String.fromCharCode(97+n):String.fromCharCode(65+n-26)}function breakBetweenGraphemeBreakType(n,e){return n===0?e!==5&&e!==7:n===2&&e===3?!1:n===4||n===2||n===3||e===4||e===2||e===3?!0:!(n===8&&(e===8||e===9||e===11||e===12)||(n===11||n===9)&&(e===9||e===10)||(n===12||n===10)&&e===10||e===5||e===13||e===7||n===1||n===13&&e===14||n===6&&e===6)}class GraphemeBreakTree{static getInstance(){return GraphemeBreakTree._INSTANCE||(GraphemeBreakTree._INSTANCE=new GraphemeBreakTree),GraphemeBreakTree._INSTANCE}constructor(){this._data=getGraphemeBreakRawData()}getGraphemeBreakType(e){if(e<32)return e===10?3:e===13?2:4;if(e<127)return 0;const t=this._data,i=t.length/3;let r=1;for(;r<=i;)if(et[3*r+1])r=2*r+1;else return t[3*r+2];return 0}}GraphemeBreakTree._INSTANCE=null;function getGraphemeBreakRawData(){return JSON.parse("[0,0,0,51229,51255,12,44061,44087,12,127462,127487,6,7083,7085,5,47645,47671,12,54813,54839,12,128678,128678,14,3270,3270,5,9919,9923,14,45853,45879,12,49437,49463,12,53021,53047,12,71216,71218,7,128398,128399,14,129360,129374,14,2519,2519,5,4448,4519,9,9742,9742,14,12336,12336,14,44957,44983,12,46749,46775,12,48541,48567,12,50333,50359,12,52125,52151,12,53917,53943,12,69888,69890,5,73018,73018,5,127990,127990,14,128558,128559,14,128759,128760,14,129653,129655,14,2027,2035,5,2891,2892,7,3761,3761,5,6683,6683,5,8293,8293,4,9825,9826,14,9999,9999,14,43452,43453,5,44509,44535,12,45405,45431,12,46301,46327,12,47197,47223,12,48093,48119,12,48989,49015,12,49885,49911,12,50781,50807,12,51677,51703,12,52573,52599,12,53469,53495,12,54365,54391,12,65279,65279,4,70471,70472,7,72145,72147,7,119173,119179,5,127799,127818,14,128240,128244,14,128512,128512,14,128652,128652,14,128721,128722,14,129292,129292,14,129445,129450,14,129734,129743,14,1476,1477,5,2366,2368,7,2750,2752,7,3076,3076,5,3415,3415,5,4141,4144,5,6109,6109,5,6964,6964,5,7394,7400,5,9197,9198,14,9770,9770,14,9877,9877,14,9968,9969,14,10084,10084,14,43052,43052,5,43713,43713,5,44285,44311,12,44733,44759,12,45181,45207,12,45629,45655,12,46077,46103,12,46525,46551,12,46973,46999,12,47421,47447,12,47869,47895,12,48317,48343,12,48765,48791,12,49213,49239,12,49661,49687,12,50109,50135,12,50557,50583,12,51005,51031,12,51453,51479,12,51901,51927,12,52349,52375,12,52797,52823,12,53245,53271,12,53693,53719,12,54141,54167,12,54589,54615,12,55037,55063,12,69506,69509,5,70191,70193,5,70841,70841,7,71463,71467,5,72330,72342,5,94031,94031,5,123628,123631,5,127763,127765,14,127941,127941,14,128043,128062,14,128302,128317,14,128465,128467,14,128539,128539,14,128640,128640,14,128662,128662,14,128703,128703,14,128745,128745,14,129004,129007,14,129329,129330,14,129402,129402,14,129483,129483,14,129686,129704,14,130048,131069,14,173,173,4,1757,1757,1,2200,2207,5,2434,2435,7,2631,2632,5,2817,2817,5,3008,3008,5,3201,3201,5,3387,3388,5,3542,3542,5,3902,3903,7,4190,4192,5,6002,6003,5,6439,6440,5,6765,6770,7,7019,7027,5,7154,7155,7,8205,8205,13,8505,8505,14,9654,9654,14,9757,9757,14,9792,9792,14,9852,9853,14,9890,9894,14,9937,9937,14,9981,9981,14,10035,10036,14,11035,11036,14,42654,42655,5,43346,43347,7,43587,43587,5,44006,44007,7,44173,44199,12,44397,44423,12,44621,44647,12,44845,44871,12,45069,45095,12,45293,45319,12,45517,45543,12,45741,45767,12,45965,45991,12,46189,46215,12,46413,46439,12,46637,46663,12,46861,46887,12,47085,47111,12,47309,47335,12,47533,47559,12,47757,47783,12,47981,48007,12,48205,48231,12,48429,48455,12,48653,48679,12,48877,48903,12,49101,49127,12,49325,49351,12,49549,49575,12,49773,49799,12,49997,50023,12,50221,50247,12,50445,50471,12,50669,50695,12,50893,50919,12,51117,51143,12,51341,51367,12,51565,51591,12,51789,51815,12,52013,52039,12,52237,52263,12,52461,52487,12,52685,52711,12,52909,52935,12,53133,53159,12,53357,53383,12,53581,53607,12,53805,53831,12,54029,54055,12,54253,54279,12,54477,54503,12,54701,54727,12,54925,54951,12,55149,55175,12,68101,68102,5,69762,69762,7,70067,70069,7,70371,70378,5,70720,70721,7,71087,71087,5,71341,71341,5,71995,71996,5,72249,72249,7,72850,72871,5,73109,73109,5,118576,118598,5,121505,121519,5,127245,127247,14,127568,127569,14,127777,127777,14,127872,127891,14,127956,127967,14,128015,128016,14,128110,128172,14,128259,128259,14,128367,128368,14,128424,128424,14,128488,128488,14,128530,128532,14,128550,128551,14,128566,128566,14,128647,128647,14,128656,128656,14,128667,128673,14,128691,128693,14,128715,128715,14,128728,128732,14,128752,128752,14,128765,128767,14,129096,129103,14,129311,129311,14,129344,129349,14,129394,129394,14,129413,129425,14,129466,129471,14,129511,129535,14,129664,129666,14,129719,129722,14,129760,129767,14,917536,917631,5,13,13,2,1160,1161,5,1564,1564,4,1807,1807,1,2085,2087,5,2307,2307,7,2382,2383,7,2497,2500,5,2563,2563,7,2677,2677,5,2763,2764,7,2879,2879,5,2914,2915,5,3021,3021,5,3142,3144,5,3263,3263,5,3285,3286,5,3398,3400,7,3530,3530,5,3633,3633,5,3864,3865,5,3974,3975,5,4155,4156,7,4229,4230,5,5909,5909,7,6078,6085,7,6277,6278,5,6451,6456,7,6744,6750,5,6846,6846,5,6972,6972,5,7074,7077,5,7146,7148,7,7222,7223,5,7416,7417,5,8234,8238,4,8417,8417,5,9000,9000,14,9203,9203,14,9730,9731,14,9748,9749,14,9762,9763,14,9776,9783,14,9800,9811,14,9831,9831,14,9872,9873,14,9882,9882,14,9900,9903,14,9929,9933,14,9941,9960,14,9974,9974,14,9989,9989,14,10006,10006,14,10062,10062,14,10160,10160,14,11647,11647,5,12953,12953,14,43019,43019,5,43232,43249,5,43443,43443,5,43567,43568,7,43696,43696,5,43765,43765,7,44013,44013,5,44117,44143,12,44229,44255,12,44341,44367,12,44453,44479,12,44565,44591,12,44677,44703,12,44789,44815,12,44901,44927,12,45013,45039,12,45125,45151,12,45237,45263,12,45349,45375,12,45461,45487,12,45573,45599,12,45685,45711,12,45797,45823,12,45909,45935,12,46021,46047,12,46133,46159,12,46245,46271,12,46357,46383,12,46469,46495,12,46581,46607,12,46693,46719,12,46805,46831,12,46917,46943,12,47029,47055,12,47141,47167,12,47253,47279,12,47365,47391,12,47477,47503,12,47589,47615,12,47701,47727,12,47813,47839,12,47925,47951,12,48037,48063,12,48149,48175,12,48261,48287,12,48373,48399,12,48485,48511,12,48597,48623,12,48709,48735,12,48821,48847,12,48933,48959,12,49045,49071,12,49157,49183,12,49269,49295,12,49381,49407,12,49493,49519,12,49605,49631,12,49717,49743,12,49829,49855,12,49941,49967,12,50053,50079,12,50165,50191,12,50277,50303,12,50389,50415,12,50501,50527,12,50613,50639,12,50725,50751,12,50837,50863,12,50949,50975,12,51061,51087,12,51173,51199,12,51285,51311,12,51397,51423,12,51509,51535,12,51621,51647,12,51733,51759,12,51845,51871,12,51957,51983,12,52069,52095,12,52181,52207,12,52293,52319,12,52405,52431,12,52517,52543,12,52629,52655,12,52741,52767,12,52853,52879,12,52965,52991,12,53077,53103,12,53189,53215,12,53301,53327,12,53413,53439,12,53525,53551,12,53637,53663,12,53749,53775,12,53861,53887,12,53973,53999,12,54085,54111,12,54197,54223,12,54309,54335,12,54421,54447,12,54533,54559,12,54645,54671,12,54757,54783,12,54869,54895,12,54981,55007,12,55093,55119,12,55243,55291,10,66045,66045,5,68325,68326,5,69688,69702,5,69817,69818,5,69957,69958,7,70089,70092,5,70198,70199,5,70462,70462,5,70502,70508,5,70750,70750,5,70846,70846,7,71100,71101,5,71230,71230,7,71351,71351,5,71737,71738,5,72000,72000,7,72160,72160,5,72273,72278,5,72752,72758,5,72882,72883,5,73031,73031,5,73461,73462,7,94192,94193,7,119149,119149,7,121403,121452,5,122915,122916,5,126980,126980,14,127358,127359,14,127535,127535,14,127759,127759,14,127771,127771,14,127792,127793,14,127825,127867,14,127897,127899,14,127945,127945,14,127985,127986,14,128000,128007,14,128021,128021,14,128066,128100,14,128184,128235,14,128249,128252,14,128266,128276,14,128335,128335,14,128379,128390,14,128407,128419,14,128444,128444,14,128481,128481,14,128499,128499,14,128526,128526,14,128536,128536,14,128543,128543,14,128556,128556,14,128564,128564,14,128577,128580,14,128643,128645,14,128649,128649,14,128654,128654,14,128660,128660,14,128664,128664,14,128675,128675,14,128686,128689,14,128695,128696,14,128705,128709,14,128717,128719,14,128725,128725,14,128736,128741,14,128747,128748,14,128755,128755,14,128762,128762,14,128981,128991,14,129009,129023,14,129160,129167,14,129296,129304,14,129320,129327,14,129340,129342,14,129356,129356,14,129388,129392,14,129399,129400,14,129404,129407,14,129432,129442,14,129454,129455,14,129473,129474,14,129485,129487,14,129648,129651,14,129659,129660,14,129671,129679,14,129709,129711,14,129728,129730,14,129751,129753,14,129776,129782,14,917505,917505,4,917760,917999,5,10,10,3,127,159,4,768,879,5,1471,1471,5,1536,1541,1,1648,1648,5,1767,1768,5,1840,1866,5,2070,2073,5,2137,2139,5,2274,2274,1,2363,2363,7,2377,2380,7,2402,2403,5,2494,2494,5,2507,2508,7,2558,2558,5,2622,2624,7,2641,2641,5,2691,2691,7,2759,2760,5,2786,2787,5,2876,2876,5,2881,2884,5,2901,2902,5,3006,3006,5,3014,3016,7,3072,3072,5,3134,3136,5,3157,3158,5,3260,3260,5,3266,3266,5,3274,3275,7,3328,3329,5,3391,3392,7,3405,3405,5,3457,3457,5,3536,3537,7,3551,3551,5,3636,3642,5,3764,3772,5,3895,3895,5,3967,3967,7,3993,4028,5,4146,4151,5,4182,4183,7,4226,4226,5,4253,4253,5,4957,4959,5,5940,5940,7,6070,6070,7,6087,6088,7,6158,6158,4,6432,6434,5,6448,6449,7,6679,6680,5,6742,6742,5,6754,6754,5,6783,6783,5,6912,6915,5,6966,6970,5,6978,6978,5,7042,7042,7,7080,7081,5,7143,7143,7,7150,7150,7,7212,7219,5,7380,7392,5,7412,7412,5,8203,8203,4,8232,8232,4,8265,8265,14,8400,8412,5,8421,8432,5,8617,8618,14,9167,9167,14,9200,9200,14,9410,9410,14,9723,9726,14,9733,9733,14,9745,9745,14,9752,9752,14,9760,9760,14,9766,9766,14,9774,9774,14,9786,9786,14,9794,9794,14,9823,9823,14,9828,9828,14,9833,9850,14,9855,9855,14,9875,9875,14,9880,9880,14,9885,9887,14,9896,9897,14,9906,9916,14,9926,9927,14,9935,9935,14,9939,9939,14,9962,9962,14,9972,9972,14,9978,9978,14,9986,9986,14,9997,9997,14,10002,10002,14,10017,10017,14,10055,10055,14,10071,10071,14,10133,10135,14,10548,10549,14,11093,11093,14,12330,12333,5,12441,12442,5,42608,42610,5,43010,43010,5,43045,43046,5,43188,43203,7,43302,43309,5,43392,43394,5,43446,43449,5,43493,43493,5,43571,43572,7,43597,43597,7,43703,43704,5,43756,43757,5,44003,44004,7,44009,44010,7,44033,44059,12,44089,44115,12,44145,44171,12,44201,44227,12,44257,44283,12,44313,44339,12,44369,44395,12,44425,44451,12,44481,44507,12,44537,44563,12,44593,44619,12,44649,44675,12,44705,44731,12,44761,44787,12,44817,44843,12,44873,44899,12,44929,44955,12,44985,45011,12,45041,45067,12,45097,45123,12,45153,45179,12,45209,45235,12,45265,45291,12,45321,45347,12,45377,45403,12,45433,45459,12,45489,45515,12,45545,45571,12,45601,45627,12,45657,45683,12,45713,45739,12,45769,45795,12,45825,45851,12,45881,45907,12,45937,45963,12,45993,46019,12,46049,46075,12,46105,46131,12,46161,46187,12,46217,46243,12,46273,46299,12,46329,46355,12,46385,46411,12,46441,46467,12,46497,46523,12,46553,46579,12,46609,46635,12,46665,46691,12,46721,46747,12,46777,46803,12,46833,46859,12,46889,46915,12,46945,46971,12,47001,47027,12,47057,47083,12,47113,47139,12,47169,47195,12,47225,47251,12,47281,47307,12,47337,47363,12,47393,47419,12,47449,47475,12,47505,47531,12,47561,47587,12,47617,47643,12,47673,47699,12,47729,47755,12,47785,47811,12,47841,47867,12,47897,47923,12,47953,47979,12,48009,48035,12,48065,48091,12,48121,48147,12,48177,48203,12,48233,48259,12,48289,48315,12,48345,48371,12,48401,48427,12,48457,48483,12,48513,48539,12,48569,48595,12,48625,48651,12,48681,48707,12,48737,48763,12,48793,48819,12,48849,48875,12,48905,48931,12,48961,48987,12,49017,49043,12,49073,49099,12,49129,49155,12,49185,49211,12,49241,49267,12,49297,49323,12,49353,49379,12,49409,49435,12,49465,49491,12,49521,49547,12,49577,49603,12,49633,49659,12,49689,49715,12,49745,49771,12,49801,49827,12,49857,49883,12,49913,49939,12,49969,49995,12,50025,50051,12,50081,50107,12,50137,50163,12,50193,50219,12,50249,50275,12,50305,50331,12,50361,50387,12,50417,50443,12,50473,50499,12,50529,50555,12,50585,50611,12,50641,50667,12,50697,50723,12,50753,50779,12,50809,50835,12,50865,50891,12,50921,50947,12,50977,51003,12,51033,51059,12,51089,51115,12,51145,51171,12,51201,51227,12,51257,51283,12,51313,51339,12,51369,51395,12,51425,51451,12,51481,51507,12,51537,51563,12,51593,51619,12,51649,51675,12,51705,51731,12,51761,51787,12,51817,51843,12,51873,51899,12,51929,51955,12,51985,52011,12,52041,52067,12,52097,52123,12,52153,52179,12,52209,52235,12,52265,52291,12,52321,52347,12,52377,52403,12,52433,52459,12,52489,52515,12,52545,52571,12,52601,52627,12,52657,52683,12,52713,52739,12,52769,52795,12,52825,52851,12,52881,52907,12,52937,52963,12,52993,53019,12,53049,53075,12,53105,53131,12,53161,53187,12,53217,53243,12,53273,53299,12,53329,53355,12,53385,53411,12,53441,53467,12,53497,53523,12,53553,53579,12,53609,53635,12,53665,53691,12,53721,53747,12,53777,53803,12,53833,53859,12,53889,53915,12,53945,53971,12,54001,54027,12,54057,54083,12,54113,54139,12,54169,54195,12,54225,54251,12,54281,54307,12,54337,54363,12,54393,54419,12,54449,54475,12,54505,54531,12,54561,54587,12,54617,54643,12,54673,54699,12,54729,54755,12,54785,54811,12,54841,54867,12,54897,54923,12,54953,54979,12,55009,55035,12,55065,55091,12,55121,55147,12,55177,55203,12,65024,65039,5,65520,65528,4,66422,66426,5,68152,68154,5,69291,69292,5,69633,69633,5,69747,69748,5,69811,69814,5,69826,69826,5,69932,69932,7,70016,70017,5,70079,70080,7,70095,70095,5,70196,70196,5,70367,70367,5,70402,70403,7,70464,70464,5,70487,70487,5,70709,70711,7,70725,70725,7,70833,70834,7,70843,70844,7,70849,70849,7,71090,71093,5,71103,71104,5,71227,71228,7,71339,71339,5,71344,71349,5,71458,71461,5,71727,71735,5,71985,71989,7,71998,71998,5,72002,72002,7,72154,72155,5,72193,72202,5,72251,72254,5,72281,72283,5,72344,72345,5,72766,72766,7,72874,72880,5,72885,72886,5,73023,73029,5,73104,73105,5,73111,73111,5,92912,92916,5,94095,94098,5,113824,113827,4,119142,119142,7,119155,119162,4,119362,119364,5,121476,121476,5,122888,122904,5,123184,123190,5,125252,125258,5,127183,127183,14,127340,127343,14,127377,127386,14,127491,127503,14,127548,127551,14,127744,127756,14,127761,127761,14,127769,127769,14,127773,127774,14,127780,127788,14,127796,127797,14,127820,127823,14,127869,127869,14,127894,127895,14,127902,127903,14,127943,127943,14,127947,127950,14,127972,127972,14,127988,127988,14,127992,127994,14,128009,128011,14,128019,128019,14,128023,128041,14,128064,128064,14,128102,128107,14,128174,128181,14,128238,128238,14,128246,128247,14,128254,128254,14,128264,128264,14,128278,128299,14,128329,128330,14,128348,128359,14,128371,128377,14,128392,128393,14,128401,128404,14,128421,128421,14,128433,128434,14,128450,128452,14,128476,128478,14,128483,128483,14,128495,128495,14,128506,128506,14,128519,128520,14,128528,128528,14,128534,128534,14,128538,128538,14,128540,128542,14,128544,128549,14,128552,128555,14,128557,128557,14,128560,128563,14,128565,128565,14,128567,128576,14,128581,128591,14,128641,128642,14,128646,128646,14,128648,128648,14,128650,128651,14,128653,128653,14,128655,128655,14,128657,128659,14,128661,128661,14,128663,128663,14,128665,128666,14,128674,128674,14,128676,128677,14,128679,128685,14,128690,128690,14,128694,128694,14,128697,128702,14,128704,128704,14,128710,128714,14,128716,128716,14,128720,128720,14,128723,128724,14,128726,128727,14,128733,128735,14,128742,128744,14,128746,128746,14,128749,128751,14,128753,128754,14,128756,128758,14,128761,128761,14,128763,128764,14,128884,128895,14,128992,129003,14,129008,129008,14,129036,129039,14,129114,129119,14,129198,129279,14,129293,129295,14,129305,129310,14,129312,129319,14,129328,129328,14,129331,129338,14,129343,129343,14,129351,129355,14,129357,129359,14,129375,129387,14,129393,129393,14,129395,129398,14,129401,129401,14,129403,129403,14,129408,129412,14,129426,129431,14,129443,129444,14,129451,129453,14,129456,129465,14,129472,129472,14,129475,129482,14,129484,129484,14,129488,129510,14,129536,129647,14,129652,129652,14,129656,129658,14,129661,129663,14,129667,129670,14,129680,129685,14,129705,129708,14,129712,129718,14,129723,129727,14,129731,129733,14,129744,129750,14,129754,129759,14,129768,129775,14,129783,129791,14,917504,917504,4,917506,917535,4,917632,917759,4,918000,921599,4,0,9,4,11,12,4,14,31,4,169,169,14,174,174,14,1155,1159,5,1425,1469,5,1473,1474,5,1479,1479,5,1552,1562,5,1611,1631,5,1750,1756,5,1759,1764,5,1770,1773,5,1809,1809,5,1958,1968,5,2045,2045,5,2075,2083,5,2089,2093,5,2192,2193,1,2250,2273,5,2275,2306,5,2362,2362,5,2364,2364,5,2369,2376,5,2381,2381,5,2385,2391,5,2433,2433,5,2492,2492,5,2495,2496,7,2503,2504,7,2509,2509,5,2530,2531,5,2561,2562,5,2620,2620,5,2625,2626,5,2635,2637,5,2672,2673,5,2689,2690,5,2748,2748,5,2753,2757,5,2761,2761,7,2765,2765,5,2810,2815,5,2818,2819,7,2878,2878,5,2880,2880,7,2887,2888,7,2893,2893,5,2903,2903,5,2946,2946,5,3007,3007,7,3009,3010,7,3018,3020,7,3031,3031,5,3073,3075,7,3132,3132,5,3137,3140,7,3146,3149,5,3170,3171,5,3202,3203,7,3262,3262,7,3264,3265,7,3267,3268,7,3271,3272,7,3276,3277,5,3298,3299,5,3330,3331,7,3390,3390,5,3393,3396,5,3402,3404,7,3406,3406,1,3426,3427,5,3458,3459,7,3535,3535,5,3538,3540,5,3544,3550,7,3570,3571,7,3635,3635,7,3655,3662,5,3763,3763,7,3784,3789,5,3893,3893,5,3897,3897,5,3953,3966,5,3968,3972,5,3981,3991,5,4038,4038,5,4145,4145,7,4153,4154,5,4157,4158,5,4184,4185,5,4209,4212,5,4228,4228,7,4237,4237,5,4352,4447,8,4520,4607,10,5906,5908,5,5938,5939,5,5970,5971,5,6068,6069,5,6071,6077,5,6086,6086,5,6089,6099,5,6155,6157,5,6159,6159,5,6313,6313,5,6435,6438,7,6441,6443,7,6450,6450,5,6457,6459,5,6681,6682,7,6741,6741,7,6743,6743,7,6752,6752,5,6757,6764,5,6771,6780,5,6832,6845,5,6847,6862,5,6916,6916,7,6965,6965,5,6971,6971,7,6973,6977,7,6979,6980,7,7040,7041,5,7073,7073,7,7078,7079,7,7082,7082,7,7142,7142,5,7144,7145,5,7149,7149,5,7151,7153,5,7204,7211,7,7220,7221,7,7376,7378,5,7393,7393,7,7405,7405,5,7415,7415,7,7616,7679,5,8204,8204,5,8206,8207,4,8233,8233,4,8252,8252,14,8288,8292,4,8294,8303,4,8413,8416,5,8418,8420,5,8482,8482,14,8596,8601,14,8986,8987,14,9096,9096,14,9193,9196,14,9199,9199,14,9201,9202,14,9208,9210,14,9642,9643,14,9664,9664,14,9728,9729,14,9732,9732,14,9735,9741,14,9743,9744,14,9746,9746,14,9750,9751,14,9753,9756,14,9758,9759,14,9761,9761,14,9764,9765,14,9767,9769,14,9771,9773,14,9775,9775,14,9784,9785,14,9787,9791,14,9793,9793,14,9795,9799,14,9812,9822,14,9824,9824,14,9827,9827,14,9829,9830,14,9832,9832,14,9851,9851,14,9854,9854,14,9856,9861,14,9874,9874,14,9876,9876,14,9878,9879,14,9881,9881,14,9883,9884,14,9888,9889,14,9895,9895,14,9898,9899,14,9904,9905,14,9917,9918,14,9924,9925,14,9928,9928,14,9934,9934,14,9936,9936,14,9938,9938,14,9940,9940,14,9961,9961,14,9963,9967,14,9970,9971,14,9973,9973,14,9975,9977,14,9979,9980,14,9982,9985,14,9987,9988,14,9992,9996,14,9998,9998,14,10000,10001,14,10004,10004,14,10013,10013,14,10024,10024,14,10052,10052,14,10060,10060,14,10067,10069,14,10083,10083,14,10085,10087,14,10145,10145,14,10175,10175,14,11013,11015,14,11088,11088,14,11503,11505,5,11744,11775,5,12334,12335,5,12349,12349,14,12951,12951,14,42607,42607,5,42612,42621,5,42736,42737,5,43014,43014,5,43043,43044,7,43047,43047,7,43136,43137,7,43204,43205,5,43263,43263,5,43335,43345,5,43360,43388,8,43395,43395,7,43444,43445,7,43450,43451,7,43454,43456,7,43561,43566,5,43569,43570,5,43573,43574,5,43596,43596,5,43644,43644,5,43698,43700,5,43710,43711,5,43755,43755,7,43758,43759,7,43766,43766,5,44005,44005,5,44008,44008,5,44012,44012,7,44032,44032,11,44060,44060,11,44088,44088,11,44116,44116,11,44144,44144,11,44172,44172,11,44200,44200,11,44228,44228,11,44256,44256,11,44284,44284,11,44312,44312,11,44340,44340,11,44368,44368,11,44396,44396,11,44424,44424,11,44452,44452,11,44480,44480,11,44508,44508,11,44536,44536,11,44564,44564,11,44592,44592,11,44620,44620,11,44648,44648,11,44676,44676,11,44704,44704,11,44732,44732,11,44760,44760,11,44788,44788,11,44816,44816,11,44844,44844,11,44872,44872,11,44900,44900,11,44928,44928,11,44956,44956,11,44984,44984,11,45012,45012,11,45040,45040,11,45068,45068,11,45096,45096,11,45124,45124,11,45152,45152,11,45180,45180,11,45208,45208,11,45236,45236,11,45264,45264,11,45292,45292,11,45320,45320,11,45348,45348,11,45376,45376,11,45404,45404,11,45432,45432,11,45460,45460,11,45488,45488,11,45516,45516,11,45544,45544,11,45572,45572,11,45600,45600,11,45628,45628,11,45656,45656,11,45684,45684,11,45712,45712,11,45740,45740,11,45768,45768,11,45796,45796,11,45824,45824,11,45852,45852,11,45880,45880,11,45908,45908,11,45936,45936,11,45964,45964,11,45992,45992,11,46020,46020,11,46048,46048,11,46076,46076,11,46104,46104,11,46132,46132,11,46160,46160,11,46188,46188,11,46216,46216,11,46244,46244,11,46272,46272,11,46300,46300,11,46328,46328,11,46356,46356,11,46384,46384,11,46412,46412,11,46440,46440,11,46468,46468,11,46496,46496,11,46524,46524,11,46552,46552,11,46580,46580,11,46608,46608,11,46636,46636,11,46664,46664,11,46692,46692,11,46720,46720,11,46748,46748,11,46776,46776,11,46804,46804,11,46832,46832,11,46860,46860,11,46888,46888,11,46916,46916,11,46944,46944,11,46972,46972,11,47000,47000,11,47028,47028,11,47056,47056,11,47084,47084,11,47112,47112,11,47140,47140,11,47168,47168,11,47196,47196,11,47224,47224,11,47252,47252,11,47280,47280,11,47308,47308,11,47336,47336,11,47364,47364,11,47392,47392,11,47420,47420,11,47448,47448,11,47476,47476,11,47504,47504,11,47532,47532,11,47560,47560,11,47588,47588,11,47616,47616,11,47644,47644,11,47672,47672,11,47700,47700,11,47728,47728,11,47756,47756,11,47784,47784,11,47812,47812,11,47840,47840,11,47868,47868,11,47896,47896,11,47924,47924,11,47952,47952,11,47980,47980,11,48008,48008,11,48036,48036,11,48064,48064,11,48092,48092,11,48120,48120,11,48148,48148,11,48176,48176,11,48204,48204,11,48232,48232,11,48260,48260,11,48288,48288,11,48316,48316,11,48344,48344,11,48372,48372,11,48400,48400,11,48428,48428,11,48456,48456,11,48484,48484,11,48512,48512,11,48540,48540,11,48568,48568,11,48596,48596,11,48624,48624,11,48652,48652,11,48680,48680,11,48708,48708,11,48736,48736,11,48764,48764,11,48792,48792,11,48820,48820,11,48848,48848,11,48876,48876,11,48904,48904,11,48932,48932,11,48960,48960,11,48988,48988,11,49016,49016,11,49044,49044,11,49072,49072,11,49100,49100,11,49128,49128,11,49156,49156,11,49184,49184,11,49212,49212,11,49240,49240,11,49268,49268,11,49296,49296,11,49324,49324,11,49352,49352,11,49380,49380,11,49408,49408,11,49436,49436,11,49464,49464,11,49492,49492,11,49520,49520,11,49548,49548,11,49576,49576,11,49604,49604,11,49632,49632,11,49660,49660,11,49688,49688,11,49716,49716,11,49744,49744,11,49772,49772,11,49800,49800,11,49828,49828,11,49856,49856,11,49884,49884,11,49912,49912,11,49940,49940,11,49968,49968,11,49996,49996,11,50024,50024,11,50052,50052,11,50080,50080,11,50108,50108,11,50136,50136,11,50164,50164,11,50192,50192,11,50220,50220,11,50248,50248,11,50276,50276,11,50304,50304,11,50332,50332,11,50360,50360,11,50388,50388,11,50416,50416,11,50444,50444,11,50472,50472,11,50500,50500,11,50528,50528,11,50556,50556,11,50584,50584,11,50612,50612,11,50640,50640,11,50668,50668,11,50696,50696,11,50724,50724,11,50752,50752,11,50780,50780,11,50808,50808,11,50836,50836,11,50864,50864,11,50892,50892,11,50920,50920,11,50948,50948,11,50976,50976,11,51004,51004,11,51032,51032,11,51060,51060,11,51088,51088,11,51116,51116,11,51144,51144,11,51172,51172,11,51200,51200,11,51228,51228,11,51256,51256,11,51284,51284,11,51312,51312,11,51340,51340,11,51368,51368,11,51396,51396,11,51424,51424,11,51452,51452,11,51480,51480,11,51508,51508,11,51536,51536,11,51564,51564,11,51592,51592,11,51620,51620,11,51648,51648,11,51676,51676,11,51704,51704,11,51732,51732,11,51760,51760,11,51788,51788,11,51816,51816,11,51844,51844,11,51872,51872,11,51900,51900,11,51928,51928,11,51956,51956,11,51984,51984,11,52012,52012,11,52040,52040,11,52068,52068,11,52096,52096,11,52124,52124,11,52152,52152,11,52180,52180,11,52208,52208,11,52236,52236,11,52264,52264,11,52292,52292,11,52320,52320,11,52348,52348,11,52376,52376,11,52404,52404,11,52432,52432,11,52460,52460,11,52488,52488,11,52516,52516,11,52544,52544,11,52572,52572,11,52600,52600,11,52628,52628,11,52656,52656,11,52684,52684,11,52712,52712,11,52740,52740,11,52768,52768,11,52796,52796,11,52824,52824,11,52852,52852,11,52880,52880,11,52908,52908,11,52936,52936,11,52964,52964,11,52992,52992,11,53020,53020,11,53048,53048,11,53076,53076,11,53104,53104,11,53132,53132,11,53160,53160,11,53188,53188,11,53216,53216,11,53244,53244,11,53272,53272,11,53300,53300,11,53328,53328,11,53356,53356,11,53384,53384,11,53412,53412,11,53440,53440,11,53468,53468,11,53496,53496,11,53524,53524,11,53552,53552,11,53580,53580,11,53608,53608,11,53636,53636,11,53664,53664,11,53692,53692,11,53720,53720,11,53748,53748,11,53776,53776,11,53804,53804,11,53832,53832,11,53860,53860,11,53888,53888,11,53916,53916,11,53944,53944,11,53972,53972,11,54000,54000,11,54028,54028,11,54056,54056,11,54084,54084,11,54112,54112,11,54140,54140,11,54168,54168,11,54196,54196,11,54224,54224,11,54252,54252,11,54280,54280,11,54308,54308,11,54336,54336,11,54364,54364,11,54392,54392,11,54420,54420,11,54448,54448,11,54476,54476,11,54504,54504,11,54532,54532,11,54560,54560,11,54588,54588,11,54616,54616,11,54644,54644,11,54672,54672,11,54700,54700,11,54728,54728,11,54756,54756,11,54784,54784,11,54812,54812,11,54840,54840,11,54868,54868,11,54896,54896,11,54924,54924,11,54952,54952,11,54980,54980,11,55008,55008,11,55036,55036,11,55064,55064,11,55092,55092,11,55120,55120,11,55148,55148,11,55176,55176,11,55216,55238,9,64286,64286,5,65056,65071,5,65438,65439,5,65529,65531,4,66272,66272,5,68097,68099,5,68108,68111,5,68159,68159,5,68900,68903,5,69446,69456,5,69632,69632,7,69634,69634,7,69744,69744,5,69759,69761,5,69808,69810,7,69815,69816,7,69821,69821,1,69837,69837,1,69927,69931,5,69933,69940,5,70003,70003,5,70018,70018,7,70070,70078,5,70082,70083,1,70094,70094,7,70188,70190,7,70194,70195,7,70197,70197,7,70206,70206,5,70368,70370,7,70400,70401,5,70459,70460,5,70463,70463,7,70465,70468,7,70475,70477,7,70498,70499,7,70512,70516,5,70712,70719,5,70722,70724,5,70726,70726,5,70832,70832,5,70835,70840,5,70842,70842,5,70845,70845,5,70847,70848,5,70850,70851,5,71088,71089,7,71096,71099,7,71102,71102,7,71132,71133,5,71219,71226,5,71229,71229,5,71231,71232,5,71340,71340,7,71342,71343,7,71350,71350,7,71453,71455,5,71462,71462,7,71724,71726,7,71736,71736,7,71984,71984,5,71991,71992,7,71997,71997,7,71999,71999,1,72001,72001,1,72003,72003,5,72148,72151,5,72156,72159,7,72164,72164,7,72243,72248,5,72250,72250,1,72263,72263,5,72279,72280,7,72324,72329,1,72343,72343,7,72751,72751,7,72760,72765,5,72767,72767,5,72873,72873,7,72881,72881,7,72884,72884,7,73009,73014,5,73020,73021,5,73030,73030,1,73098,73102,7,73107,73108,7,73110,73110,7,73459,73460,5,78896,78904,4,92976,92982,5,94033,94087,7,94180,94180,5,113821,113822,5,118528,118573,5,119141,119141,5,119143,119145,5,119150,119154,5,119163,119170,5,119210,119213,5,121344,121398,5,121461,121461,5,121499,121503,5,122880,122886,5,122907,122913,5,122918,122922,5,123566,123566,5,125136,125142,5,126976,126979,14,126981,127182,14,127184,127231,14,127279,127279,14,127344,127345,14,127374,127374,14,127405,127461,14,127489,127490,14,127514,127514,14,127538,127546,14,127561,127567,14,127570,127743,14,127757,127758,14,127760,127760,14,127762,127762,14,127766,127768,14,127770,127770,14,127772,127772,14,127775,127776,14,127778,127779,14,127789,127791,14,127794,127795,14,127798,127798,14,127819,127819,14,127824,127824,14,127868,127868,14,127870,127871,14,127892,127893,14,127896,127896,14,127900,127901,14,127904,127940,14,127942,127942,14,127944,127944,14,127946,127946,14,127951,127955,14,127968,127971,14,127973,127984,14,127987,127987,14,127989,127989,14,127991,127991,14,127995,127999,5,128008,128008,14,128012,128014,14,128017,128018,14,128020,128020,14,128022,128022,14,128042,128042,14,128063,128063,14,128065,128065,14,128101,128101,14,128108,128109,14,128173,128173,14,128182,128183,14,128236,128237,14,128239,128239,14,128245,128245,14,128248,128248,14,128253,128253,14,128255,128258,14,128260,128263,14,128265,128265,14,128277,128277,14,128300,128301,14,128326,128328,14,128331,128334,14,128336,128347,14,128360,128366,14,128369,128370,14,128378,128378,14,128391,128391,14,128394,128397,14,128400,128400,14,128405,128406,14,128420,128420,14,128422,128423,14,128425,128432,14,128435,128443,14,128445,128449,14,128453,128464,14,128468,128475,14,128479,128480,14,128482,128482,14,128484,128487,14,128489,128494,14,128496,128498,14,128500,128505,14,128507,128511,14,128513,128518,14,128521,128525,14,128527,128527,14,128529,128529,14,128533,128533,14,128535,128535,14,128537,128537,14]")}function getLeftDeleteOffset(n,e){if(n===0)return 0;const t=getOffsetBeforeLastEmojiComponent(n,e);if(t!==void 0)return t;const i=new CodePointIterator(e,n);return i.prevCodePoint(),i.offset}function getOffsetBeforeLastEmojiComponent(n,e){const t=new CodePointIterator(e,n);let i=t.prevCodePoint();for(;isEmojiModifier(i)||i===65039||i===8419;){if(t.offset===0)return;i=t.prevCodePoint()}if(!isEmojiImprecise(i))return;let r=t.offset;return r>0&&t.prevCodePoint()===8205&&(r=t.offset),r}function isEmojiModifier(n){return 127995<=n&&n<=127999}const noBreakWhitespace=" ";class AmbiguousCharacters{static getInstance(e){return _a$6.cache.get(Array.from(e))}static getLocales(){return _a$6._locales.value}constructor(e){this.confusableDictionary=e}isAmbiguous(e){return this.confusableDictionary.has(e)}getPrimaryConfusable(e){return this.confusableDictionary.get(e)}getConfusableCodePoints(){return new Set(this.confusableDictionary.keys())}}_a$6=AmbiguousCharacters;AmbiguousCharacters.ambiguousCharacterData=new Lazy(()=>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,119846,109],"_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]}'));AmbiguousCharacters.cache=new LRUCachedFunction(n=>{function e(V){const z=new Map;for(let j=0;j!V.startsWith("_")&&V in r);g.length===0&&(g=["_default"]);let y;for(const V of g){const z=e(r[V]);y=i(y,z)}const k=e(r._common),L=t(k,y);return new _a$6(L)});AmbiguousCharacters._locales=new Lazy(()=>Object.keys(_a$6.ambiguousCharacterData.value).filter(n=>!n.startsWith("_")));class InvisibleCharacters{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 getData(){return this._data||(this._data=new Set(InvisibleCharacters.getRawData())),this._data}static isInvisibleCharacter(e){return InvisibleCharacters.getData().has(e)}static get codePoints(){return InvisibleCharacters.getData()}}InvisibleCharacters._data=void 0;class WindowManager{constructor(){this.mapWindowIdToZoomFactor=new Map}getZoomFactor(e){var t;return(t=this.mapWindowIdToZoomFactor.get(this.getWindowId(e)))!==null&&t!==void 0?t:1}getWindowId(e){return e.vscodeWindowId}}WindowManager.INSTANCE=new WindowManager;function addMatchMediaChangeListener(n,e,t){typeof e=="string"&&(e=n.matchMedia(e)),e.addEventListener("change",t)}function getZoomFactor(n){return WindowManager.INSTANCE.getZoomFactor(n)}const userAgent=navigator.userAgent,isFirefox$1=userAgent.indexOf("Firefox")>=0,isWebKit=userAgent.indexOf("AppleWebKit")>=0,isChrome=userAgent.indexOf("Chrome")>=0,isSafari=!isChrome&&userAgent.indexOf("Safari")>=0,isWebkitWebView=!isChrome&&!isSafari&&isWebKit;userAgent.indexOf("Electron/")>=0;const isAndroid=userAgent.indexOf("Android")>=0;let standalone=!1;if(typeof mainWindow.matchMedia=="function"){const n=mainWindow.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=mainWindow.matchMedia("(display-mode: fullscreen)");standalone=n.matches,addMatchMediaChangeListener(mainWindow,n,({matches:t})=>{standalone&&e.matches||(standalone=t)})}const BrowserFeatures={clipboard:{writeText:isNative||document.queryCommandSupported&&document.queryCommandSupported("copy")||!!(navigator&&navigator.clipboard&&navigator.clipboard.writeText),readText:isNative||!!(navigator&&navigator.clipboard&&navigator.clipboard.readText)},pointerEvents:mainWindow.PointerEvent&&("ontouchstart"in mainWindow||navigator.maxTouchPoints>0)};function decodeKeybinding(n,e){if(typeof n=="number"){if(n===0)return null;const t=(n&65535)>>>0,i=(n&4294901760)>>>16;return i!==0?new Keybinding$1([createSimpleKeybinding(t,e),createSimpleKeybinding(i,e)]):new Keybinding$1([createSimpleKeybinding(t,e)])}else{const t=[];for(let i=0;i{const y=e.token.onCancellationRequested(()=>{y.dispose(),g(new CancellationError)});Promise.resolve(t).then(k=>{y.dispose(),e.dispose(),r(k)},k=>{y.dispose(),e.dispose(),g(k)})});return new class{cancel(){e.cancel(),e.dispose()}then(r,g){return i.then(r,g)}catch(r){return this.then(void 0,r)}finally(r){return i.finally(r)}}}function raceCancellation(n,e,t){return new Promise((i,r)=>{const g=e.onCancellationRequested(()=>{g.dispose(),i(t)});n.then(i,r).finally(()=>g.dispose())})}class Throttler{constructor(){this.isDisposed=!1,this.activePromise=null,this.queuedPromise=null,this.queuedPromiseFactory=null}queue(e){if(this.isDisposed)return Promise.reject(new Error("Throttler is disposed"));if(this.activePromise){if(this.queuedPromiseFactory=e,!this.queuedPromise){const t=()=>{if(this.queuedPromise=null,this.isDisposed)return;const i=this.queue(this.queuedPromiseFactory);return this.queuedPromiseFactory=null,i};this.queuedPromise=new Promise(i=>{this.activePromise.then(t,t).then(i)})}return new Promise((t,i)=>{this.queuedPromise.then(t,i)})}return this.activePromise=e(),new Promise((t,i)=>{this.activePromise.then(r=>{this.activePromise=null,t(r)},r=>{this.activePromise=null,i(r)})})}dispose(){this.isDisposed=!0}}const timeoutDeferred=(n,e)=>{let t=!0;const i=setTimeout(()=>{t=!1,e()},n);return{isTriggered:()=>t,dispose:()=>{clearTimeout(i),t=!1}}},microtaskDeferred=n=>{let e=!0;return queueMicrotask(()=>{e&&(e=!1,n())}),{isTriggered:()=>e,dispose:()=>{e=!1}}};class Delayer{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((r,g)=>{this.doResolve=r,this.doReject=g}).then(()=>{if(this.completionPromise=null,this.doResolve=null,this.task){const r=this.task;return this.task=null,r()}}));const i=()=>{var r;this.deferred=null,(r=this.doResolve)===null||r===void 0||r.call(this,null)};return this.deferred=t===MicrotaskDelay?microtaskDeferred(i):timeoutDeferred(t,i),this.completionPromise}isTriggered(){var e;return!!(!((e=this.deferred)===null||e===void 0)&&e.isTriggered())}cancel(){var e;this.cancelTimeout(),this.completionPromise&&((e=this.doReject)===null||e===void 0||e.call(this,new CancellationError),this.completionPromise=null)}cancelTimeout(){var e;(e=this.deferred)===null||e===void 0||e.dispose(),this.deferred=null}dispose(){this.cancel()}}class ThrottledDelayer{constructor(e){this.delayer=new Delayer(e),this.throttler=new Throttler}trigger(e,t){return this.delayer.trigger(()=>this.throttler.queue(e),t)}cancel(){this.delayer.cancel()}dispose(){this.delayer.dispose(),this.throttler.dispose()}}function timeout(n,e){return e?new Promise((t,i)=>{const r=setTimeout(()=>{g.dispose(),t()},n),g=e.onCancellationRequested(()=>{clearTimeout(r),g.dispose(),i(new CancellationError)})}):createCancelablePromise(t=>timeout(n,t))}function disposableTimeout(n,e=0,t){const i=setTimeout(()=>{n(),t&&r.dispose()},e),r=toDisposable(()=>{clearTimeout(i),t==null||t.deleteAndLeak(r)});return t==null||t.add(r),r}function first(n,e=i=>!!i,t=null){let i=0;const r=n.length,g=()=>{if(i>=r)return Promise.resolve(t);const y=n[i++];return Promise.resolve(y()).then(L=>e(L)?Promise.resolve(L):g())};return g()}class TimeoutTimer{constructor(e,t){this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel()}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}}class IntervalTimer{constructor(){this.disposable=void 0}cancel(){var e;(e=this.disposable)===null||e===void 0||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){this.cancel();const r=i.setInterval(()=>{e()},t);this.disposable=toDisposable(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel()}}class RunOnceScheduler{constructor(e,t){this.timeoutToken=-1,this.runner=e,this.timeout=t,this.timeoutHandler=this.onTimeout.bind(this)}dispose(){this.cancel(),this.runner=null}cancel(){this.isScheduled()&&(clearTimeout(this.timeoutToken),this.timeoutToken=-1)}schedule(e=this.timeout){this.cancel(),this.timeoutToken=setTimeout(this.timeoutHandler,e)}get delay(){return this.timeout}set delay(e){this.timeout=e}isScheduled(){return this.timeoutToken!==-1}onTimeout(){this.timeoutToken=-1,this.runner&&this.doRun()}doRun(){var e;(e=this.runner)===null||e===void 0||e.call(this)}}let runWhenGlobalIdle,_runWhenIdle;(function(){typeof globalThis.requestIdleCallback!="function"||typeof globalThis.cancelIdleCallback!="function"?_runWhenIdle=(n,e)=>{setTimeout0(()=>{if(t)return;const i=Date.now()+15;e(Object.freeze({didTimeout:!0,timeRemaining(){return Math.max(0,i-Date.now())}}))});let t=!1;return{dispose(){t||(t=!0)}}}:_runWhenIdle=(n,e,t)=>{const i=n.requestIdleCallback(e,typeof t=="number"?{timeout:t}:void 0);let r=!1;return{dispose(){r||(r=!0,n.cancelIdleCallback(i))}}},runWhenGlobalIdle=n=>_runWhenIdle(globalThis,n)})();class AbstractIdleValue{constructor(e,t){this._didRun=!1,this._executor=()=>{try{this._value=t()}catch(i){this._error=i}finally{this._didRun=!0}},this._handle=_runWhenIdle(e,()=>this._executor())}dispose(){this._handle.dispose()}get value(){if(this._didRun||(this._handle.dispose(),this._executor()),this._error)throw this._error;return this._value}get isInitialized(){return this._didRun}}class GlobalIdleValue extends AbstractIdleValue{constructor(e){super(globalThis,e)}}class DeferredPromise{get isRejected(){var e;return((e=this.outcome)===null||e===void 0?void 0:e.outcome)===1}get isSettled(){return!!this.outcome}constructor(){this.p=new Promise((e,t)=>{this.completeCallback=e,this.errorCallback=t})}complete(e){return new Promise(t=>{this.completeCallback(e),this.outcome={outcome:0,value:e},t()})}error(e){return new Promise(t=>{this.errorCallback(e),this.outcome={outcome:1,value:e},t()})}cancel(){return this.error(new CancellationError)}}var Promises;(function(n){async function e(i){let r;const g=await Promise.all(i.map(y=>y.then(k=>k,k=>{r||(r=k)})));if(typeof r<"u")throw r;return g}n.settled=e;function t(i){return new Promise(async(r,g)=>{try{await i(r,g)}catch(y){g(y)}})}n.withAsyncBody=t})(Promises||(Promises={}));class AsyncIterableObject{static fromArray(e){return new AsyncIterableObject(t=>{t.emitMany(e)})}static fromPromise(e){return new AsyncIterableObject(async t=>{t.emitMany(await e)})}static fromPromises(e){return new AsyncIterableObject(async t=>{await Promise.all(e.map(async i=>t.emitOne(await i)))})}static merge(e){return new AsyncIterableObject(async t=>{await Promise.all(e.map(async i=>{for await(const r of i)t.emitOne(r)}))})}constructor(e){this._state=0,this._results=[],this._error=null,this._onStateChanged=new Emitter$1,queueMicrotask(async()=>{const t={emitOne:i=>this.emitOne(i),emitMany:i=>this.emitMany(i),reject:i=>this.reject(i)};try{await Promise.resolve(e(t)),this.resolve()}catch(i){this.reject(i)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{for await(const r of e)i.emitOne(t(r))})}map(e){return AsyncIterableObject.map(this,e)}static filter(e,t){return new AsyncIterableObject(async i=>{for await(const r of e)t(r)&&i.emitOne(r)})}filter(e){return AsyncIterableObject.filter(this,e)}static coalesce(e){return AsyncIterableObject.filter(e,t=>!!t)}coalesce(){return AsyncIterableObject.coalesce(this)}static async toPromise(e){const t=[];for await(const i of e)t.push(i);return t}toPromise(){return AsyncIterableObject.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}}AsyncIterableObject.EMPTY=AsyncIterableObject.fromArray([]);class CancelableAsyncIterableObject extends AsyncIterableObject{constructor(e,t){super(t),this._source=e}cancel(){this._source.cancel()}}function createCancelableAsyncIterable(n){const e=new CancellationTokenSource$1,t=n(e.token);return new CancelableAsyncIterableObject(e,async i=>{const r=e.token.onCancellationRequested(()=>{r.dispose(),e.dispose(),i.reject(new CancellationError)});try{for await(const g of t){if(e.token.isCancellationRequested)return;i.emitOne(g)}r.dispose(),e.dispose()}catch(g){r.dispose(),e.dispose(),i.reject(g)}})}/*! @license DOMPurify 3.0.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.5/LICENSE */const{entries,setPrototypeOf,isFrozen,getPrototypeOf,getOwnPropertyDescriptor}=Object;let{freeze:freeze$1,seal,create:create$1}=Object,{apply,construct}=typeof Reflect<"u"&&Reflect;apply||(apply=function(e,t,i){return e.apply(t,i)});freeze$1||(freeze$1=function(e){return e});seal||(seal=function(e){return e});construct||(construct=function(e,t){return new e(...t)});const arrayForEach=unapply(Array.prototype.forEach),arrayPop=unapply(Array.prototype.pop),arrayPush=unapply(Array.prototype.push),stringToLowerCase=unapply(String.prototype.toLowerCase),stringToString=unapply(String.prototype.toString),stringMatch=unapply(String.prototype.match),stringReplace=unapply(String.prototype.replace),stringIndexOf=unapply(String.prototype.indexOf),stringTrim=unapply(String.prototype.trim),regExpTest=unapply(RegExp.prototype.test),typeErrorCreate=unconstruct(TypeError);function unapply(n){return function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r/gm),TMPLIT_EXPR=seal(/\${[\w\W]*}/gm),DATA_ATTR=seal(/^data-[\-\w.\u00B7-\uFFFF]/),ARIA_ATTR=seal(/^aria-[\-\w]+$/),IS_ALLOWED_URI=seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),IS_SCRIPT_OR_DATA=seal(/^(?:\w+script|data):/i),ATTR_WHITESPACE=seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),DOCTYPE_NAME=seal(/^html$/i);var EXPRESSIONS=Object.freeze({__proto__:null,MUSTACHE_EXPR,ERB_EXPR,TMPLIT_EXPR,DATA_ATTR,ARIA_ATTR,IS_ALLOWED_URI,IS_SCRIPT_OR_DATA,ATTR_WHITESPACE,DOCTYPE_NAME});const getGlobal=()=>typeof window>"u"?null:window,_createTrustedTypesPolicy=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null;const r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));const g="dompurify"+(i?"#"+i:"");try{return e.createPolicy(g,{createHTML(y){return y},createScriptURL(y){return y}})}catch(y){return console.warn("TrustedTypes policy "+g+" could not be created."),null}};function createDOMPurify(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:getGlobal();const e=Cn=>createDOMPurify(Cn);if(e.version="3.0.5",e.removed=[],!n||!n.document||n.document.nodeType!==9)return e.isSupported=!1,e;const t=n.document,i=t.currentScript;let{document:r}=n;const{DocumentFragment:g,HTMLTemplateElement:y,Node:k,Element:L,NodeFilter:V,NamedNodeMap:z=n.NamedNodeMap||n.MozNamedAttrMap,HTMLFormElement:j,DOMParser:ie,trustedTypes:oe}=n,re=L.prototype,ae=lookupGetter(re,"cloneNode"),le=lookupGetter(re,"nextSibling"),de=lookupGetter(re,"childNodes"),ue=lookupGetter(re,"parentNode");if(typeof y=="function"){const Cn=r.createElement("template");Cn.content&&Cn.content.ownerDocument&&(r=Cn.content.ownerDocument)}let he,pe="";const{implementation:Ce,createNodeIterator:$e,createDocumentFragment:xe,getElementsByTagName:Ie}=r,{importNode:Ne}=t;let Fe={};e.isSupported=typeof entries=="function"&&typeof ue=="function"&&Ce&&Ce.createHTMLDocument!==void 0;const{MUSTACHE_EXPR:Ve,ERB_EXPR:Oe,TMPLIT_EXPR:ze,DATA_ATTR:qe,ARIA_ATTR:Ue,IS_SCRIPT_OR_DATA:Et,ATTR_WHITESPACE:At}=EXPRESSIONS;let{IS_ALLOWED_URI:Lt}=EXPRESSIONS,kt=null;const ei=addToSet({},[...html$1,...svg$1,...svgFilters,...mathMl$1,...text$1]);let jt=null;const ri=addToSet({},[...html,...svg,...mathMl,...xml]);let ni=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Ci=null,wi=null,Ri=!0,ai=!0,hi=!1,xi=!0,Oi=!1,Ei=!1,si=!1,fi=!1,li=!1,Di=!1,ki=!1,Ai=!0,Ki=!1;const zi="user-content-";let bi=!0,vi=!1,Li={},oi=null;const ii=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let mi=null;const yi=addToSet({},["audio","video","img","source","image","track"]);let ti=null;const Dt=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Pt="http://www.w3.org/1998/Math/MathML",ci="http://www.w3.org/2000/svg",Ti="http://www.w3.org/1999/xhtml";let Mi=Ti,pi=!1,ui=null;const $i=addToSet({},[Pt,ci,Ti],stringToString);let di;const Wi=["application/xhtml+xml","text/html"],Gi="text/html";let Zi,vn=null;const Tn=r.createElement("form"),In=function(Vi){return Vi instanceof RegExp||Vi instanceof Function},Rn=function(Vi){if(!(vn&&vn===Vi)){if((!Vi||typeof Vi!="object")&&(Vi={}),Vi=clone$1(Vi),di=Wi.indexOf(Vi.PARSER_MEDIA_TYPE)===-1?di=Gi:di=Vi.PARSER_MEDIA_TYPE,Zi=di==="application/xhtml+xml"?stringToString:stringToLowerCase,kt="ALLOWED_TAGS"in Vi?addToSet({},Vi.ALLOWED_TAGS,Zi):ei,jt="ALLOWED_ATTR"in Vi?addToSet({},Vi.ALLOWED_ATTR,Zi):ri,ui="ALLOWED_NAMESPACES"in Vi?addToSet({},Vi.ALLOWED_NAMESPACES,stringToString):$i,ti="ADD_URI_SAFE_ATTR"in Vi?addToSet(clone$1(Dt),Vi.ADD_URI_SAFE_ATTR,Zi):Dt,mi="ADD_DATA_URI_TAGS"in Vi?addToSet(clone$1(yi),Vi.ADD_DATA_URI_TAGS,Zi):yi,oi="FORBID_CONTENTS"in Vi?addToSet({},Vi.FORBID_CONTENTS,Zi):ii,Ci="FORBID_TAGS"in Vi?addToSet({},Vi.FORBID_TAGS,Zi):{},wi="FORBID_ATTR"in Vi?addToSet({},Vi.FORBID_ATTR,Zi):{},Li="USE_PROFILES"in Vi?Vi.USE_PROFILES:!1,Ri=Vi.ALLOW_ARIA_ATTR!==!1,ai=Vi.ALLOW_DATA_ATTR!==!1,hi=Vi.ALLOW_UNKNOWN_PROTOCOLS||!1,xi=Vi.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Oi=Vi.SAFE_FOR_TEMPLATES||!1,Ei=Vi.WHOLE_DOCUMENT||!1,li=Vi.RETURN_DOM||!1,Di=Vi.RETURN_DOM_FRAGMENT||!1,ki=Vi.RETURN_TRUSTED_TYPE||!1,fi=Vi.FORCE_BODY||!1,Ai=Vi.SANITIZE_DOM!==!1,Ki=Vi.SANITIZE_NAMED_PROPS||!1,bi=Vi.KEEP_CONTENT!==!1,vi=Vi.IN_PLACE||!1,Lt=Vi.ALLOWED_URI_REGEXP||IS_ALLOWED_URI,Mi=Vi.NAMESPACE||Ti,ni=Vi.CUSTOM_ELEMENT_HANDLING||{},Vi.CUSTOM_ELEMENT_HANDLING&&In(Vi.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ni.tagNameCheck=Vi.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Vi.CUSTOM_ELEMENT_HANDLING&&In(Vi.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ni.attributeNameCheck=Vi.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Vi.CUSTOM_ELEMENT_HANDLING&&typeof Vi.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(ni.allowCustomizedBuiltInElements=Vi.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Oi&&(ai=!1),Di&&(li=!0),Li&&(kt=addToSet({},[...text$1]),jt=[],Li.html===!0&&(addToSet(kt,html$1),addToSet(jt,html)),Li.svg===!0&&(addToSet(kt,svg$1),addToSet(jt,svg),addToSet(jt,xml)),Li.svgFilters===!0&&(addToSet(kt,svgFilters),addToSet(jt,svg),addToSet(jt,xml)),Li.mathMl===!0&&(addToSet(kt,mathMl$1),addToSet(jt,mathMl),addToSet(jt,xml))),Vi.ADD_TAGS&&(kt===ei&&(kt=clone$1(kt)),addToSet(kt,Vi.ADD_TAGS,Zi)),Vi.ADD_ATTR&&(jt===ri&&(jt=clone$1(jt)),addToSet(jt,Vi.ADD_ATTR,Zi)),Vi.ADD_URI_SAFE_ATTR&&addToSet(ti,Vi.ADD_URI_SAFE_ATTR,Zi),Vi.FORBID_CONTENTS&&(oi===ii&&(oi=clone$1(oi)),addToSet(oi,Vi.FORBID_CONTENTS,Zi)),bi&&(kt["#text"]=!0),Ei&&addToSet(kt,["html","head","body"]),kt.table&&(addToSet(kt,["tbody"]),delete Ci.tbody),Vi.TRUSTED_TYPES_POLICY){if(typeof Vi.TRUSTED_TYPES_POLICY.createHTML!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Vi.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');he=Vi.TRUSTED_TYPES_POLICY,pe=he.createHTML("")}else he===void 0&&(he=_createTrustedTypesPolicy(oe,i)),he!==null&&typeof pe=="string"&&(pe=he.createHTML(""));freeze$1&&freeze$1(Vi),vn=Vi}},Bn=addToSet({},["mi","mo","mn","ms","mtext"]),Ln=addToSet({},["foreignobject","desc","title","annotation-xml"]),Nn=addToSet({},["title","style","font","a","script"]),wn=addToSet({},svg$1);addToSet(wn,svgFilters),addToSet(wn,svgDisallowed);const _i=addToSet({},mathMl$1);addToSet(_i,mathMlDisallowed);const Si=function(Vi){let Ji=ue(Vi);(!Ji||!Ji.tagName)&&(Ji={namespaceURI:Mi,tagName:"template"});const Yi=stringToLowerCase(Vi.tagName),Fi=stringToLowerCase(Ji.tagName);return ui[Vi.namespaceURI]?Vi.namespaceURI===ci?Ji.namespaceURI===Ti?Yi==="svg":Ji.namespaceURI===Pt?Yi==="svg"&&(Fi==="annotation-xml"||Bn[Fi]):!!wn[Yi]:Vi.namespaceURI===Pt?Ji.namespaceURI===Ti?Yi==="math":Ji.namespaceURI===ci?Yi==="math"&&Ln[Fi]:!!_i[Yi]:Vi.namespaceURI===Ti?Ji.namespaceURI===ci&&!Ln[Fi]||Ji.namespaceURI===Pt&&!Bn[Fi]?!1:!_i[Yi]&&(Nn[Yi]||!wn[Yi]):!!(di==="application/xhtml+xml"&&ui[Vi.namespaceURI]):!1},Ii=function(Vi){arrayPush(e.removed,{element:Vi});try{Vi.parentNode.removeChild(Vi)}catch(Ji){Vi.remove()}},Pi=function(Vi,Ji){try{arrayPush(e.removed,{attribute:Ji.getAttributeNode(Vi),from:Ji})}catch(Yi){arrayPush(e.removed,{attribute:null,from:Ji})}if(Ji.removeAttribute(Vi),Vi==="is"&&!jt[Vi])if(li||Di)try{Ii(Ji)}catch(Yi){}else try{Ji.setAttribute(Vi,"")}catch(Yi){}},Bi=function(Vi){let Ji,Yi;if(fi)Vi=""+Vi;else{const Sn=stringMatch(Vi,/^[\r\n\t ]+/);Yi=Sn&&Sn[0]}di==="application/xhtml+xml"&&Mi===Ti&&(Vi=''+Vi+"");const Fi=he?he.createHTML(Vi):Vi;if(Mi===Ti)try{Ji=new ie().parseFromString(Fi,di)}catch(Sn){}if(!Ji||!Ji.documentElement){Ji=Ce.createDocument(Mi,"template",null);try{Ji.documentElement.innerHTML=pi?pe:Fi}catch(Sn){}}const Qi=Ji.body||Ji.documentElement;return Vi&&Yi&&Qi.insertBefore(r.createTextNode(Yi),Qi.childNodes[0]||null),Mi===Ti?Ie.call(Ji,Ei?"html":"body")[0]:Ei?Ji.documentElement:Qi},ji=function(Vi){return $e.call(Vi.ownerDocument||Vi,Vi,V.SHOW_ELEMENT|V.SHOW_COMMENT|V.SHOW_TEXT,null,!1)},qi=function(Vi){return Vi instanceof j&&(typeof Vi.nodeName!="string"||typeof Vi.textContent!="string"||typeof Vi.removeChild!="function"||!(Vi.attributes instanceof z)||typeof Vi.removeAttribute!="function"||typeof Vi.setAttribute!="function"||typeof Vi.namespaceURI!="string"||typeof Vi.insertBefore!="function"||typeof Vi.hasChildNodes!="function")},hn=function(Vi){return typeof k=="object"?Vi instanceof k:Vi&&typeof Vi=="object"&&typeof Vi.nodeType=="number"&&typeof Vi.nodeName=="string"},_n=function(Vi,Ji,Yi){Fe[Vi]&&arrayForEach(Fe[Vi],Fi=>{Fi.call(e,Ji,Yi,vn)})},Hi=function(Vi){let Ji;if(_n("beforeSanitizeElements",Vi,null),qi(Vi))return Ii(Vi),!0;const Yi=Zi(Vi.nodeName);if(_n("uponSanitizeElement",Vi,{tagName:Yi,allowedTags:kt}),Vi.hasChildNodes()&&!hn(Vi.firstElementChild)&&(!hn(Vi.content)||!hn(Vi.content.firstElementChild))&®ExpTest(/<[/\w]/g,Vi.innerHTML)&®ExpTest(/<[/\w]/g,Vi.textContent))return Ii(Vi),!0;if(!kt[Yi]||Ci[Yi]){if(!Ci[Yi]&&bn(Yi)&&(ni.tagNameCheck instanceof RegExp&®ExpTest(ni.tagNameCheck,Yi)||ni.tagNameCheck instanceof Function&&ni.tagNameCheck(Yi)))return!1;if(bi&&!oi[Yi]){const Fi=ue(Vi)||Vi.parentNode,Qi=de(Vi)||Vi.childNodes;if(Qi&&Fi){const Sn=Qi.length;for(let kn=Sn-1;kn>=0;--kn)Fi.insertBefore(ae(Qi[kn],!0),le(Vi))}}return Ii(Vi),!0}return Vi instanceof L&&!Si(Vi)||(Yi==="noscript"||Yi==="noembed"||Yi==="noframes")&®ExpTest(/<\/no(script|embed|frames)/i,Vi.innerHTML)?(Ii(Vi),!0):(Oi&&Vi.nodeType===3&&(Ji=Vi.textContent,Ji=stringReplace(Ji,Ve," "),Ji=stringReplace(Ji,Oe," "),Ji=stringReplace(Ji,ze," "),Vi.textContent!==Ji&&(arrayPush(e.removed,{element:Vi.cloneNode()}),Vi.textContent=Ji)),_n("afterSanitizeElements",Vi,null),!1)},Xi=function(Vi,Ji,Yi){if(Ai&&(Ji==="id"||Ji==="name")&&(Yi in r||Yi in Tn))return!1;if(!(ai&&!wi[Ji]&®ExpTest(qe,Ji))){if(!(Ri&®ExpTest(Ue,Ji))){if(!jt[Ji]||wi[Ji]){if(!(bn(Vi)&&(ni.tagNameCheck instanceof RegExp&®ExpTest(ni.tagNameCheck,Vi)||ni.tagNameCheck instanceof Function&&ni.tagNameCheck(Vi))&&(ni.attributeNameCheck instanceof RegExp&®ExpTest(ni.attributeNameCheck,Ji)||ni.attributeNameCheck instanceof Function&&ni.attributeNameCheck(Ji))||Ji==="is"&&ni.allowCustomizedBuiltInElements&&(ni.tagNameCheck instanceof RegExp&®ExpTest(ni.tagNameCheck,Yi)||ni.tagNameCheck instanceof Function&&ni.tagNameCheck(Yi))))return!1}else if(!ti[Ji]){if(!regExpTest(Lt,stringReplace(Yi,At,""))){if(!((Ji==="src"||Ji==="xlink:href"||Ji==="href")&&Vi!=="script"&&stringIndexOf(Yi,"data:")===0&&mi[Vi])){if(!(hi&&!regExpTest(Et,stringReplace(Yi,At,"")))){if(Yi)return!1}}}}}}return!0},bn=function(Vi){return Vi.indexOf("-")>0},En=function(Vi){let Ji,Yi,Fi,Qi;_n("beforeSanitizeAttributes",Vi,null);const{attributes:Sn}=Vi;if(!Sn)return;const kn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:jt};for(Qi=Sn.length;Qi--;){Ji=Sn[Qi];const{name:On,namespaceURI:Vn}=Ji;if(Yi=On==="value"?Ji.value:stringTrim(Ji.value),Fi=Zi(On),kn.attrName=Fi,kn.attrValue=Yi,kn.keepAttr=!0,kn.forceKeepAttr=void 0,_n("uponSanitizeAttribute",Vi,kn),Yi=kn.attrValue,kn.forceKeepAttr||(Pi(On,Vi),!kn.keepAttr))continue;if(!xi&®ExpTest(/\/>/i,Yi)){Pi(On,Vi);continue}Oi&&(Yi=stringReplace(Yi,Ve," "),Yi=stringReplace(Yi,Oe," "),Yi=stringReplace(Yi,ze," "));const qn=Zi(Vi.nodeName);if(Xi(qn,Fi,Yi)){if(Ki&&(Fi==="id"||Fi==="name")&&(Pi(On,Vi),Yi=zi+Yi),he&&typeof oe=="object"&&typeof oe.getAttributeType=="function"&&!Vn)switch(oe.getAttributeType(qn,Fi)){case"TrustedHTML":{Yi=he.createHTML(Yi);break}case"TrustedScriptURL":{Yi=he.createScriptURL(Yi);break}}try{Vn?Vi.setAttributeNS(Vn,On,Yi):Vi.setAttribute(On,Yi),arrayPop(e.removed)}catch(wo){}}}_n("afterSanitizeAttributes",Vi,null)},Dn=function Cn(Vi){let Ji;const Yi=ji(Vi);for(_n("beforeSanitizeShadowDOM",Vi,null);Ji=Yi.nextNode();)_n("uponSanitizeShadowNode",Ji,null),!Hi(Ji)&&(Ji.content instanceof g&&Cn(Ji.content),En(Ji));_n("afterSanitizeShadowDOM",Vi,null)};return e.sanitize=function(Cn){let Vi=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Ji,Yi,Fi,Qi;if(pi=!Cn,pi&&(Cn=""),typeof Cn!="string"&&!hn(Cn))if(typeof Cn.toString=="function"){if(Cn=Cn.toString(),typeof Cn!="string")throw typeErrorCreate("dirty is not a string, aborting")}else throw typeErrorCreate("toString is not a function");if(!e.isSupported)return Cn;if(si||Rn(Vi),e.removed=[],typeof Cn=="string"&&(vi=!1),vi){if(Cn.nodeName){const On=Zi(Cn.nodeName);if(!kt[On]||Ci[On])throw typeErrorCreate("root node is forbidden and cannot be sanitized in-place")}}else if(Cn instanceof k)Ji=Bi(""),Yi=Ji.ownerDocument.importNode(Cn,!0),Yi.nodeType===1&&Yi.nodeName==="BODY"||Yi.nodeName==="HTML"?Ji=Yi:Ji.appendChild(Yi);else{if(!li&&!Oi&&!Ei&&Cn.indexOf("<")===-1)return he&&ki?he.createHTML(Cn):Cn;if(Ji=Bi(Cn),!Ji)return li?null:ki?pe:""}Ji&&fi&&Ii(Ji.firstChild);const Sn=ji(vi?Cn:Ji);for(;Fi=Sn.nextNode();)Hi(Fi)||(Fi.content instanceof g&&Dn(Fi.content),En(Fi));if(vi)return Cn;if(li){if(Di)for(Qi=xe.call(Ji.ownerDocument);Ji.firstChild;)Qi.appendChild(Ji.firstChild);else Qi=Ji;return(jt.shadowroot||jt.shadowrootmode)&&(Qi=Ne.call(t,Qi,!0)),Qi}let kn=Ei?Ji.outerHTML:Ji.innerHTML;return Ei&&kt["!doctype"]&&Ji.ownerDocument&&Ji.ownerDocument.doctype&&Ji.ownerDocument.doctype.name&®ExpTest(DOCTYPE_NAME,Ji.ownerDocument.doctype.name)&&(kn="\n"+kn),Oi&&(kn=stringReplace(kn,Ve," "),kn=stringReplace(kn,Oe," "),kn=stringReplace(kn,ze," ")),he&&ki?he.createHTML(kn):kn},e.setConfig=function(Cn){Rn(Cn),si=!0},e.clearConfig=function(){vn=null,si=!1},e.isValidAttribute=function(Cn,Vi,Ji){vn||Rn({});const Yi=Zi(Cn),Fi=Zi(Vi);return Xi(Yi,Fi,Ji)},e.addHook=function(Cn,Vi){typeof Vi=="function"&&(Fe[Cn]=Fe[Cn]||[],arrayPush(Fe[Cn],Vi))},e.removeHook=function(Cn){if(Fe[Cn])return arrayPop(Fe[Cn])},e.removeHooks=function(Cn){Fe[Cn]&&(Fe[Cn]=[])},e.removeAllHooks=function(){Fe={}},e}var purify=createDOMPurify();purify.version;purify.isSupported;const sanitize$1=purify.sanitize;purify.setConfig;purify.clearConfig;purify.isValidAttribute;const addHook=purify.addHook,removeHook=purify.removeHook;purify.removeHooks;purify.removeAllHooks;var Schemas;(function(n){n.inMemory="inmemory",n.vscode="vscode",n.internal="private",n.walkThrough="walkThrough",n.walkThroughSnippet="walkThroughSnippet",n.http="http",n.https="https",n.file="file",n.mailto="mailto",n.untitled="untitled",n.data="data",n.command="command",n.vscodeRemote="vscode-remote",n.vscodeRemoteResource="vscode-remote-resource",n.vscodeManagedRemoteResource="vscode-managed-remote-resource",n.vscodeUserData="vscode-userdata",n.vscodeCustomEditor="vscode-custom-editor",n.vscodeNotebookCell="vscode-notebook-cell",n.vscodeNotebookCellMetadata="vscode-notebook-cell-metadata",n.vscodeNotebookCellOutput="vscode-notebook-cell-output",n.vscodeInteractiveInput="vscode-interactive-input",n.vscodeSettings="vscode-settings",n.vscodeWorkspaceTrust="vscode-workspace-trust",n.vscodeTerminal="vscode-terminal",n.vscodeChatCodeBlock="vscode-chat-code-block",n.vscodeChatSesssion="vscode-chat-editor",n.webviewPanel="webview-panel",n.vscodeWebview="vscode-webview",n.extension="extension",n.vscodeFileResource="vscode-file",n.tmp="tmp",n.vsls="vsls",n.vscodeSourceControl="vscode-scm",n.codeSetting="code-setting"})(Schemas||(Schemas={}));function matchesScheme(n,e){return URI.isUri(n)?equalsIgnoreCase(n.scheme,e):startsWithIgnoreCase(n,e+":")}function matchesSomeScheme(n,...e){return e.some(t=>matchesScheme(n,t))}const connectionTokenQueryName="tkn";class RemoteAuthoritiesImpl{constructor(){this._hosts=Object.create(null),this._ports=Object.create(null),this._connectionTokens=Object.create(null),this._preferredWebSchema="http",this._delegate=null,this._serverRootPath="/"}setPreferredWebSchema(e){this._preferredWebSchema=e}get _remoteResourcesPath(){return posix.join(this._serverRootPath,Schemas.vscodeRemoteResource)}rewrite(e){if(this._delegate)try{return this._delegate(e)}catch(k){return onUnexpectedError(k),e}const t=e.authority;let i=this._hosts[t];i&&i.indexOf(":")!==-1&&i.indexOf("[")===-1&&(i="[".concat(i,"]"));const r=this._ports[t],g=this._connectionTokens[t];let y="path=".concat(encodeURIComponent(e.path));return typeof g=="string"&&(y+="&".concat(connectionTokenQueryName,"=").concat(encodeURIComponent(g))),URI.from({scheme:isWeb?this._preferredWebSchema:Schemas.vscodeRemoteResource,authority:"".concat(i,":").concat(r),path:this._remoteResourcesPath,query:y})}}const RemoteAuthorities=new RemoteAuthoritiesImpl,VSCODE_AUTHORITY="vscode-app";class FileAccessImpl{uriToBrowserUri(e){return e.scheme===Schemas.vscodeRemote?RemoteAuthorities.rewrite(e):e.scheme===Schemas.file&&(isNative||webWorkerOrigin==="".concat(Schemas.vscodeFileResource,"://").concat(FileAccessImpl.FALLBACK_AUTHORITY))?e.with({scheme:Schemas.vscodeFileResource,authority:e.authority||FileAccessImpl.FALLBACK_AUTHORITY,query:null,fragment:null}):e}}FileAccessImpl.FALLBACK_AUTHORITY=VSCODE_AUTHORITY;const FileAccess=new FileAccessImpl;var COI;(function(n){const e=new Map([["1",{"Cross-Origin-Opener-Policy":"same-origin"}],["2",{"Cross-Origin-Embedder-Policy":"require-corp"}],["3",{"Cross-Origin-Opener-Policy":"same-origin","Cross-Origin-Embedder-Policy":"require-corp"}]]);n.CoopAndCoep=Object.freeze(e.get("3"));const t="vscode-coi";function i(g){let y;typeof g=="string"?y=new URL(g).searchParams:g instanceof URL?y=g.searchParams:URI.isUri(g)&&(y=new URL(g.toString(!0)).searchParams);const k=y==null?void 0:y.get(t);if(k)return e.get(k)}n.getHeadersFromQuery=i;function r(g,y,k){if(!globalThis.crossOriginIsolated)return;const L=y&&k?"3":k?"2":"1";g instanceof URLSearchParams?g.set(t,L):g[t]=L}n.addSearchParam=r})(COI||(COI={}));function hash$1(n){return doHash(n,0)}function doHash(n,e){switch(typeof n){case"object":return n===null?numberHash(349,e):Array.isArray(n)?arrayHash(n,e):objectHash(n,e);case"string":return stringHash$1(n,e);case"boolean":return booleanHash(n,e);case"number":return numberHash(n,e);case"undefined":return numberHash(937,e);default:return numberHash(617,e)}}function numberHash(n,e){return(e<<5)-e+n|0}function booleanHash(n,e){return numberHash(n?433:863,e)}function stringHash$1(n,e){e=numberHash(149417,e);for(let t=0,i=n.length;tdoHash(i,t),e)}function objectHash(n,e){return e=numberHash(181387,e),Object.keys(n).sort().reduce((t,i)=>(t=stringHash$1(i,t),doHash(n[i],t)),e)}function leftRotate$2(n,e,t=32){const i=t-e,r=~((1<>>i)>>>0}function fill(n,e=0,t=n.byteLength,i=0){for(let r=0;rt.toString(16).padStart(2,"0")).join(""):leftPad((n>>>0).toString(16),e/4)}class StringSHA1{constructor(){this._h0=1732584193,this._h1=4023233417,this._h2=2562383102,this._h3=271733878,this._h4=3285377520,this._buff=new Uint8Array(67),this._buffDV=new DataView(this._buff.buffer),this._buffLen=0,this._totalLen=0,this._leftoverHighSurrogate=0,this._finished=!1}update(e){const t=e.length;if(t===0)return;const i=this._buff;let r=this._buffLen,g=this._leftoverHighSurrogate,y,k;for(g!==0?(y=g,k=-1,g=0):(y=e.charCodeAt(0),k=0);;){let L=y;if(isHighSurrogate(y))if(k+1>>6,e[t++]=128|(i&63)>>>0):i<65536?(e[t++]=224|(i&61440)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0):(e[t++]=240|(i&1835008)>>>18,e[t++]=128|(i&258048)>>>12,e[t++]=128|(i&4032)>>>6,e[t++]=128|(i&63)>>>0),t>=64&&(this._step(),t-=64,this._totalLen+=64,e[0]=e[64],e[1]=e[65],e[2]=e[66]),t}digest(){return this._finished||(this._finished=!0,this._leftoverHighSurrogate&&(this._leftoverHighSurrogate=0,this._buffLen=this._push(this._buff,this._buffLen,65533)),this._totalLen+=this._buffLen,this._wrapUp()),toHexString(this._h0)+toHexString(this._h1)+toHexString(this._h2)+toHexString(this._h3)+toHexString(this._h4)}_wrapUp(){this._buff[this._buffLen++]=128,fill(this._buff,this._buffLen),this._buffLen>56&&(this._step(),fill(this._buff));const e=8*this._totalLen;this._buffDV.setUint32(56,Math.floor(e/4294967296),!1),this._buffDV.setUint32(60,e%4294967296,!1),this._step()}_step(){const e=StringSHA1._bigBlock32,t=this._buffDV;for(let j=0;j<64;j+=4)e.setUint32(j,t.getUint32(j,!1),!1);for(let j=64;j<320;j+=4)e.setUint32(j,leftRotate$2(e.getUint32(j-12,!1)^e.getUint32(j-32,!1)^e.getUint32(j-56,!1)^e.getUint32(j-64,!1),1),!1);let i=this._h0,r=this._h1,g=this._h2,y=this._h3,k=this._h4,L,V,z;for(let j=0;j<80;j++)j<20?(L=r&g|~r&y,V=1518500249):j<40?(L=r^g^y,V=1859775393):j<60?(L=r&g|r&y|g&y,V=2400959708):(L=r^g^y,V=3395469782),z=leftRotate$2(i,5)+L+k+V+e.getUint32(j*4,!1)&4294967295,k=y,y=g,g=leftRotate$2(r,30),r=i,i=z;this._h0=this._h0+i&4294967295,this._h1=this._h1+r&4294967295,this._h2=this._h2+g&4294967295,this._h3=this._h3+y&4294967295,this._h4=this._h4+k&4294967295}}StringSHA1._bigBlock32=new DataView(new ArrayBuffer(320));const{getWindow:getWindow$1,getWindows,getWindowsCount,getWindowId,getWindowById,onDidRegisterWindow,onWillUnregisterWindow,onDidUnregisterWindow}=function(){const n=new Map;ensureCodeWindow(mainWindow,1);const e={window:mainWindow,disposables:new DisposableStore};n.set(mainWindow.vscodeWindowId,e);const t=new Emitter$1,i=new Emitter$1,r=new Emitter$1;function g(y,k){const L=typeof y=="number"?n.get(y):void 0;return L!=null?L:k?e:void 0}return{onDidRegisterWindow:t.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:i.event,registerWindow(y){if(n.has(y.vscodeWindowId))return Disposable.None;const k=new DisposableStore,L={window:y,disposables:k.add(new DisposableStore)};return n.set(y.vscodeWindowId,L),k.add(toDisposable(()=>{n.delete(y.vscodeWindowId),i.fire(y)})),k.add(addDisposableListener(y,EventType$1.BEFORE_UNLOAD,()=>{r.fire(y)})),t.fire(L),k},getWindows(){return n.values()},getWindowsCount(){return n.size},getWindowId(y){return y.vscodeWindowId},hasWindow(y){return n.has(y)},getWindowById:g,getWindow(y){var k;const L=y;if(!((k=L==null?void 0:L.ownerDocument)===null||k===void 0)&&k.defaultView)return L.ownerDocument.defaultView.window;const V=y;return V!=null&&V.view?V.view.window:mainWindow},getDocument(y){return getWindow$1(y).document}}}();function clearNode(n){for(;n.firstChild;)n.firstChild.remove()}class DomListener{constructor(e,t,i,r){this._node=e,this._type=t,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}}function addDisposableListener(n,e,t,i){return new DomListener(n,e,t,i)}function _wrapAsStandardMouseEvent(n,e){return function(t){return e(new StandardMouseEvent(n,t))}}function _wrapAsStandardKeyboardEvent(n){return function(e){return n(new StandardKeyboardEvent(e))}}const addStandardDisposableListener=function(e,t,i,r){let g=i;return t==="click"||t==="mousedown"?g=_wrapAsStandardMouseEvent(getWindow$1(e),i):(t==="keydown"||t==="keypress"||t==="keyup")&&(g=_wrapAsStandardKeyboardEvent(i)),addDisposableListener(e,t,g,r)},addStandardDisposableGenericMouseDownListener=function(e,t,i){const r=_wrapAsStandardMouseEvent(getWindow$1(e),t);return addDisposableGenericMouseDownListener(e,r,i)};function addDisposableGenericMouseDownListener(n,e,t){return addDisposableListener(n,isIOS$1&&BrowserFeatures.pointerEvents?EventType$1.POINTER_DOWN:EventType$1.MOUSE_DOWN,e,t)}function runWhenWindowIdle(n,e,t){return _runWhenIdle(n,e,t)}class WindowIdleValue extends AbstractIdleValue{constructor(e,t){super(e,t)}}let runAtThisOrScheduleAtNextAnimationFrame,scheduleAtNextAnimationFrame;class WindowIntervalTimer extends IntervalTimer{constructor(e){super(),this.defaultTarget=e&&getWindow$1(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i!=null?i:this.defaultTarget)}}class AnimationFrameQueueItem{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){onUnexpectedError(e)}}static sort(e,t){return t.priority-e.priority}}(function(){const n=new Map,e=new Map,t=new Map,i=new Map,r=g=>{var y;t.set(g,!1);const k=(y=n.get(g))!==null&&y!==void 0?y:[];for(e.set(g,k),n.set(g,[]),i.set(g,!0);k.length>0;)k.sort(AnimationFrameQueueItem.sort),k.shift().execute();i.set(g,!1)};scheduleAtNextAnimationFrame=(g,y,k=0)=>{const L=getWindowId(g),V=new AnimationFrameQueueItem(y,k);let z=n.get(L);return z||(z=[],n.set(L,z)),z.push(V),t.get(L)||(t.set(L,!0),g.requestAnimationFrame(()=>r(L))),V},runAtThisOrScheduleAtNextAnimationFrame=(g,y,k)=>{const L=getWindowId(g);if(i.get(L)){const V=new AnimationFrameQueueItem(y,k);let z=e.get(L);return z||(z=[],e.set(L,z)),z.push(V),V}else return scheduleAtNextAnimationFrame(g,y,k)}})();function getComputedStyle$2(n){return getWindow$1(n).getComputedStyle(n,null)}function getClientArea(n,e){const t=getWindow$1(n),i=t.document;if(n!==i.body)return new Dimension(n.clientWidth,n.clientHeight);if(isIOS$1&&(t!=null&&t.visualViewport))return new Dimension(t.visualViewport.width,t.visualViewport.height);if(t!=null&&t.innerWidth&&t.innerHeight)return new Dimension(t.innerWidth,t.innerHeight);if(i.body&&i.body.clientWidth&&i.body.clientHeight)return new Dimension(i.body.clientWidth,i.body.clientHeight);if(i.documentElement&&i.documentElement.clientWidth&&i.documentElement.clientHeight)return new Dimension(i.documentElement.clientWidth,i.documentElement.clientHeight);throw new Error("Unable to figure out browser width and height")}class SizeUtils{static convertToPixels(e,t){return parseFloat(t)||0}static getDimension(e,t,i){const r=getComputedStyle$2(e),g=r?r.getPropertyValue(t):"0";return SizeUtils.convertToPixels(e,g)}static getBorderLeftWidth(e){return SizeUtils.getDimension(e,"border-left-width","borderLeftWidth")}static getBorderRightWidth(e){return SizeUtils.getDimension(e,"border-right-width","borderRightWidth")}static getBorderTopWidth(e){return SizeUtils.getDimension(e,"border-top-width","borderTopWidth")}static getBorderBottomWidth(e){return SizeUtils.getDimension(e,"border-bottom-width","borderBottomWidth")}static getPaddingLeft(e){return SizeUtils.getDimension(e,"padding-left","paddingLeft")}static getPaddingRight(e){return SizeUtils.getDimension(e,"padding-right","paddingRight")}static getPaddingTop(e){return SizeUtils.getDimension(e,"padding-top","paddingTop")}static getPaddingBottom(e){return SizeUtils.getDimension(e,"padding-bottom","paddingBottom")}static getMarginLeft(e){return SizeUtils.getDimension(e,"margin-left","marginLeft")}static getMarginTop(e){return SizeUtils.getDimension(e,"margin-top","marginTop")}static getMarginRight(e){return SizeUtils.getDimension(e,"margin-right","marginRight")}static getMarginBottom(e){return SizeUtils.getDimension(e,"margin-bottom","marginBottom")}}class Dimension{constructor(e,t){this.width=e,this.height=t}with(e=this.width,t=this.height){return e!==this.width||t!==this.height?new Dimension(e,t):this}static is(e){return typeof e=="object"&&typeof e.height=="number"&&typeof e.width=="number"}static lift(e){return e instanceof Dimension?e:new Dimension(e.width,e.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}}Dimension.None=new Dimension(0,0);function getTopLeftOffset(n){let e=n.offsetParent,t=n.offsetTop,i=n.offsetLeft;for(;(n=n.parentNode)!==null&&n!==n.ownerDocument.body&&n!==n.ownerDocument.documentElement;){t-=n.scrollTop;const r=isShadowRoot(n)?null:getComputedStyle$2(n);r&&(i-=r.direction!=="rtl"?n.scrollLeft:-n.scrollLeft),n===e&&(i+=SizeUtils.getBorderLeftWidth(n),t+=SizeUtils.getBorderTopWidth(n),t+=n.offsetTop,i+=n.offsetLeft,e=n.offsetParent)}return{left:i,top:t}}function size(n,e,t){typeof e=="number"&&(n.style.width="".concat(e,"px")),typeof t=="number"&&(n.style.height="".concat(t,"px"))}function getDomNodePagePosition(n){const e=n.getBoundingClientRect(),t=getWindow$1(n);return{left:e.left+t.scrollX,top:e.top+t.scrollY,width:e.width,height:e.height}}function getDomNodeZoomLevel(n){let e=n,t=1;do{const i=getComputedStyle$2(e).zoom;i!=null&&i!=="1"&&(t*=i),e=e.parentElement}while(e!==null&&e!==e.ownerDocument.documentElement);return t}function getTotalWidth(n){const e=SizeUtils.getMarginLeft(n)+SizeUtils.getMarginRight(n);return n.offsetWidth+e}function getContentWidth(n){const e=SizeUtils.getBorderLeftWidth(n)+SizeUtils.getBorderRightWidth(n),t=SizeUtils.getPaddingLeft(n)+SizeUtils.getPaddingRight(n);return n.offsetWidth-e-t}function getContentHeight(n){const e=SizeUtils.getBorderTopWidth(n)+SizeUtils.getBorderBottomWidth(n),t=SizeUtils.getPaddingTop(n)+SizeUtils.getPaddingBottom(n);return n.offsetHeight-e-t}function getTotalHeight(n){const e=SizeUtils.getMarginTop(n)+SizeUtils.getMarginBottom(n);return n.offsetHeight+e}function isAncestor$1(n,e){return!!(e!=null&&e.contains(n))}function findParentWithClass(n,e,t){for(;n&&n.nodeType===n.ELEMENT_NODE;){if(n.classList.contains(e))return n;if(t){if(typeof t=="string"){if(n.classList.contains(t))return null}else if(n===t)return null}n=n.parentNode}return null}function hasParentWithClass(n,e,t){return!!findParentWithClass(n,e,t)}function isShadowRoot(n){return n&&!!n.host&&!!n.mode}function isInShadowDOM(n){return!!getShadowRoot$2(n)}function getShadowRoot$2(n){for(var e;n.parentNode;){if(n===((e=n.ownerDocument)===null||e===void 0?void 0:e.body))return null;n=n.parentNode}return isShadowRoot(n)?n:null}function getActiveElement(){let n=getActiveDocument().activeElement;for(;n!=null&&n.shadowRoot;)n=n.shadowRoot.activeElement;return n}function isActiveElement(n){return getActiveElement()===n}function isAncestorOfActiveElement(n){return isAncestor$1(getActiveElement(),n)}function getActiveDocument(){var n;return getWindowsCount()<=1?mainWindow.document:(n=Array.from(getWindows()).map(({window:t})=>t.document).find(t=>t.hasFocus()))!==null&&n!==void 0?n:mainWindow.document}function getActiveWindow(){var n,e;return(e=(n=getActiveDocument().defaultView)===null||n===void 0?void 0:n.window)!==null&&e!==void 0?e:mainWindow}const globalStylesheets=new Map;function createStyleSheet2(){return new WrappedStyleElement}class WrappedStyleElement{constructor(){this._currentCssStyle="",this._styleSheet=void 0}setStyle(e){e!==this._currentCssStyle&&(this._currentCssStyle=e,this._styleSheet?this._styleSheet.innerText=e:this._styleSheet=createStyleSheet(mainWindow.document.head,t=>t.innerText=e))}dispose(){this._styleSheet&&(this._styleSheet.remove(),this._styleSheet=void 0)}}function createStyleSheet(n=mainWindow.document.head,e,t){const i=document.createElement("style");if(i.type="text/css",i.media="screen",e==null||e(i),n.appendChild(i),t&&t.add(toDisposable(()=>n.removeChild(i))),n===mainWindow.document.head){const r=new Set;globalStylesheets.set(i,r);for(const{window:g,disposables:y}of getWindows()){if(g===mainWindow)continue;const k=y.add(cloneGlobalStyleSheet(i,r,g));t==null||t.add(k)}}return i}function cloneGlobalStyleSheet(n,e,t){var i,r;const g=new DisposableStore,y=n.cloneNode(!0);t.document.head.appendChild(y),g.add(toDisposable(()=>t.document.head.removeChild(y)));for(const k of getDynamicStyleSheetRules(n))(i=y.sheet)===null||i===void 0||i.insertRule(k.cssText,(r=y.sheet)===null||r===void 0?void 0:r.cssRules.length);return g.add(sharedMutationObserver.observe(n,g,{childList:!0})(()=>{y.textContent=n.textContent})),e.add(y),g.add(toDisposable(()=>e.delete(y))),g}const sharedMutationObserver=new class{constructor(){this.mutationObservers=new Map}observe(n,e,t){let i=this.mutationObservers.get(n);i||(i=new Map,this.mutationObservers.set(n,i));const r=hash$1(t);let g=i.get(r);if(g)g.users+=1;else{const y=new Emitter$1,k=new MutationObserver(V=>y.fire(V));k.observe(n,t);const L=g={users:1,observer:k,onDidMutate:y.event};e.add(toDisposable(()=>{L.users-=1,L.users===0&&(y.dispose(),k.disconnect(),i==null||i.delete(r),(i==null?void 0:i.size)===0&&this.mutationObservers.delete(n))})),i.set(r,g)}return g.onDidMutate}};let _sharedStyleSheet=null;function getSharedStyleSheet(){return _sharedStyleSheet||(_sharedStyleSheet=createStyleSheet()),_sharedStyleSheet}function getDynamicStyleSheetRules(n){var e,t;return!((e=n==null?void 0:n.sheet)===null||e===void 0)&&e.rules?n.sheet.rules:!((t=n==null?void 0:n.sheet)===null||t===void 0)&&t.cssRules?n.sheet.cssRules:[]}function createCSSRule(n,e,t=getSharedStyleSheet()){var i,r;if(!(!t||!e)){(i=t.sheet)===null||i===void 0||i.insertRule("".concat(n," {").concat(e,"}"),0);for(const g of(r=globalStylesheets.get(t))!==null&&r!==void 0?r:[])createCSSRule(n,e,g)}}function removeCSSRulesContainingSelector(n,e=getSharedStyleSheet()){var t,i;if(!e)return;const r=getDynamicStyleSheetRules(e),g=[];for(let y=0;y=0;y--)(t=e.sheet)===null||t===void 0||t.deleteRule(g[y]);for(const y of(i=globalStylesheets.get(e))!==null&&i!==void 0?i:[])removeCSSRulesContainingSelector(n,y)}function isCSSStyleRule(n){return typeof n.selectorText=="string"}function isMouseEvent$1(n){return n instanceof MouseEvent||n instanceof getWindow$1(n).MouseEvent}function isKeyboardEvent(n){return n instanceof KeyboardEvent||n instanceof getWindow$1(n).KeyboardEvent}const EventType$1={CLICK:"click",AUXCLICK:"auxclick",DBLCLICK:"dblclick",MOUSE_UP:"mouseup",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_MOVE:"mousemove",MOUSE_OUT:"mouseout",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",POINTER_LEAVE:"pointerleave",CONTEXT_MENU:"contextmenu",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",FOCUS_IN:"focusin",FOCUS_OUT:"focusout",BLUR:"blur",INPUT:"input",DRAG_START:"dragstart",DRAG:"drag",DRAG_ENTER:"dragenter",DRAG_LEAVE:"dragleave",DRAG_OVER:"dragover",DROP:"drop",DRAG_END:"dragend"};function isEventLike(n){const e=n;return!!(e&&typeof e.preventDefault=="function"&&typeof e.stopPropagation=="function")}const EventHelper$1={stop:(n,e)=>(n.preventDefault(),e&&n.stopPropagation(),n)};function saveParentsScrollTop(n){const e=[];for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)e[t]=n.scrollTop,n=n.parentNode;return e}function restoreParentsScrollTop(n,e){for(let t=0;n&&n.nodeType===n.ELEMENT_NODE;t++)n.scrollTop!==e[t]&&(n.scrollTop=e[t]),n=n.parentNode}class FocusTracker extends Disposable{static hasFocusWithin(e){if(e instanceof HTMLElement){const t=getShadowRoot$2(e),i=t?t.activeElement:e.ownerDocument.activeElement;return isAncestor$1(i,e)}else{const t=e;return isAncestor$1(t.document.activeElement,t.document)}}constructor(e){super(),this._onDidFocus=this._register(new Emitter$1),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event;let t=FocusTracker.hasFocusWithin(e),i=!1;const r=()=>{i=!1,t||(t=!0,this._onDidFocus.fire())},g=()=>{t&&(i=!0,(e instanceof HTMLElement?getWindow$1(e):e).setTimeout(()=>{i&&(i=!1,t=!1,this._onDidBlur.fire())},0))};this._refreshStateHandler=()=>{FocusTracker.hasFocusWithin(e)!==t&&(t?g():r())},this._register(addDisposableListener(e,EventType$1.FOCUS,r,!0)),this._register(addDisposableListener(e,EventType$1.BLUR,g,!0)),e instanceof HTMLElement&&(this._register(addDisposableListener(e,EventType$1.FOCUS_IN,()=>this._refreshStateHandler())),this._register(addDisposableListener(e,EventType$1.FOCUS_OUT,()=>this._refreshStateHandler())))}}function trackFocus(n){return new FocusTracker(n)}function after(n,e){return n.after(e),e}function append$1(n,...e){if(n.append(...e),e.length===1&&typeof e[0]!="string")return e[0]}function prepend$1(n,e){return n.insertBefore(e,n.firstChild),e}function reset(n,...e){n.innerText="",append$1(n,...e)}const SELECTOR_REGEX=/([\w\-]+)?(#([\w\-]+))?((\.([\w\-]+))*)/;var Namespace;(function(n){n.HTML="http://www.w3.org/1999/xhtml",n.SVG="http://www.w3.org/2000/svg"})(Namespace||(Namespace={}));function _$(n,e,t,...i){const r=SELECTOR_REGEX.exec(e);if(!r)throw new Error("Bad use of emmet");const g=r[1]||"div";let y;return n!==Namespace.HTML?y=document.createElementNS(n,g):y=document.createElement(g),r[3]&&(y.id=r[3]),r[4]&&(y.className=r[4].replace(/\./g," ").trim()),t&&Object.entries(t).forEach(([k,L])=>{typeof L>"u"||(/^on\w+$/.test(k)?y[k]=L:k==="selected"?L&&y.setAttribute(k,"true"):y.setAttribute(k,L))}),y.append(...i),y}function $$f(n,e,...t){return _$(Namespace.HTML,n,e,...t)}$$f.SVG=function(n,e,...t){return _$(Namespace.SVG,n,e,...t)};function setVisibility(n,...e){n?show(...e):hide(...e)}function show(...n){for(const e of n)e.style.display="",e.removeAttribute("aria-hidden")}function hide(...n){for(const e of n)e.style.display="none",e.setAttribute("aria-hidden","true")}function computeScreenAwareSize(n,e){const t=n.devicePixelRatio*e;return Math.max(1,Math.floor(t))/n.devicePixelRatio}function windowOpenNoOpener(n){mainWindow.open(n,"_blank","noopener")}function animate(n,e){const t=()=>{e(),i=scheduleAtNextAnimationFrame(n,t)};let i=scheduleAtNextAnimationFrame(n,t);return toDisposable(()=>i.dispose())}RemoteAuthorities.setPreferredWebSchema(/^https:/.test(mainWindow.location.href)?"https":"http");function asCSSUrl(n){return n?"url('".concat(FileAccess.uriToBrowserUri(n).toString(!0).replace(/'/g,"%27"),"')"):"url('')"}function asCSSPropertyValue(n){return"'".concat(n.replace(/'/g,"%27"),"'")}function asCssValueWithDefault(n,e){if(n!==void 0){const t=n.match(/^\s*var\((.+)\)$/);if(t){const i=t[1].split(",",2);return i.length===2&&(e=asCssValueWithDefault(i[1].trim(),e)),"var(".concat(i[0],", ").concat(e,")")}return n}return e}function hookDomPurifyHrefAndSrcSanitizer(n,e=!1){const t=document.createElement("a");return addHook("afterSanitizeAttributes",i=>{for(const r of["href","src"])if(i.hasAttribute(r)){const g=i.getAttribute(r);if(r==="href"&&g.startsWith("#"))continue;if(t.href=g,!n.includes(t.protocol.replace(/:$/,""))){if(e&&r==="src"&&t.href.startsWith("data:"))continue;i.removeAttribute(r)}}}),toDisposable(()=>{removeHook("afterSanitizeAttributes")})}const basicMarkupHtmlTags=Object.freeze(["a","abbr","b","bdo","blockquote","br","caption","cite","code","col","colgroup","dd","del","details","dfn","div","dl","dt","em","figcaption","figure","h1","h2","h3","h4","h5","h6","hr","i","img","input","ins","kbd","label","li","mark","ol","p","pre","q","rp","rt","ruby","samp","small","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","tfoot","th","thead","time","tr","tt","u","ul","var","video","wbr"]);class ModifierKeyEmitter extends Emitter$1{constructor(){super(),this._subscriptions=new DisposableStore,this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1},this._subscriptions.add(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>this.registerListeners(e,t),{window:mainWindow,disposables:this._subscriptions}))}registerListeners(e,t){t.add(addDisposableListener(e,"keydown",i=>{if(i.defaultPrevented)return;const r=new StandardKeyboardEvent(i);if(!(r.keyCode===6&&i.repeat)){if(i.altKey&&!this._keyStatus.altKey)this._keyStatus.lastKeyPressed="alt";else if(i.ctrlKey&&!this._keyStatus.ctrlKey)this._keyStatus.lastKeyPressed="ctrl";else if(i.metaKey&&!this._keyStatus.metaKey)this._keyStatus.lastKeyPressed="meta";else if(i.shiftKey&&!this._keyStatus.shiftKey)this._keyStatus.lastKeyPressed="shift";else if(r.keyCode!==6)this._keyStatus.lastKeyPressed=void 0;else return;this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyPressed&&(this._keyStatus.event=i,this.fire(this._keyStatus))}},!0)),t.add(addDisposableListener(e,"keyup",i=>{i.defaultPrevented||(!i.altKey&&this._keyStatus.altKey?this._keyStatus.lastKeyReleased="alt":!i.ctrlKey&&this._keyStatus.ctrlKey?this._keyStatus.lastKeyReleased="ctrl":!i.metaKey&&this._keyStatus.metaKey?this._keyStatus.lastKeyReleased="meta":!i.shiftKey&&this._keyStatus.shiftKey?this._keyStatus.lastKeyReleased="shift":this._keyStatus.lastKeyReleased=void 0,this._keyStatus.lastKeyPressed!==this._keyStatus.lastKeyReleased&&(this._keyStatus.lastKeyPressed=void 0),this._keyStatus.altKey=i.altKey,this._keyStatus.ctrlKey=i.ctrlKey,this._keyStatus.metaKey=i.metaKey,this._keyStatus.shiftKey=i.shiftKey,this._keyStatus.lastKeyReleased&&(this._keyStatus.event=i,this.fire(this._keyStatus)))},!0)),t.add(addDisposableListener(e.document.body,"mousedown",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener(e.document.body,"mouseup",()=>{this._keyStatus.lastKeyPressed=void 0},!0)),t.add(addDisposableListener(e.document.body,"mousemove",i=>{i.buttons&&(this._keyStatus.lastKeyPressed=void 0)},!0)),t.add(addDisposableListener(e,"blur",()=>{this.resetKeyStatus()}))}get keyStatus(){return this._keyStatus}resetKeyStatus(){this.doResetKeyStatus(),this.fire(this._keyStatus)}doResetKeyStatus(){this._keyStatus={altKey:!1,shiftKey:!1,ctrlKey:!1,metaKey:!1}}static getInstance(){return ModifierKeyEmitter.instance||(ModifierKeyEmitter.instance=new ModifierKeyEmitter),ModifierKeyEmitter.instance}dispose(){super.dispose(),this._subscriptions.dispose()}}class DragAndDropObserver extends Disposable{constructor(e,t){super(),this.element=e,this.callbacks=t,this.counter=0,this.dragStartTime=0,this.registerListeners()}registerListeners(){this.callbacks.onDragStart&&this._register(addDisposableListener(this.element,EventType$1.DRAG_START,e=>{var t,i;(i=(t=this.callbacks).onDragStart)===null||i===void 0||i.call(t,e)})),this.callbacks.onDrag&&this._register(addDisposableListener(this.element,EventType$1.DRAG,e=>{var t,i;(i=(t=this.callbacks).onDrag)===null||i===void 0||i.call(t,e)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_ENTER,e=>{var t,i;this.counter++,this.dragStartTime=e.timeStamp,(i=(t=this.callbacks).onDragEnter)===null||i===void 0||i.call(t,e)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_OVER,e=>{var t,i;e.preventDefault(),(i=(t=this.callbacks).onDragOver)===null||i===void 0||i.call(t,e,e.timeStamp-this.dragStartTime)})),this._register(addDisposableListener(this.element,EventType$1.DRAG_LEAVE,e=>{var t,i;this.counter--,this.counter===0&&(this.dragStartTime=0,(i=(t=this.callbacks).onDragLeave)===null||i===void 0||i.call(t,e))})),this._register(addDisposableListener(this.element,EventType$1.DRAG_END,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDragEnd)===null||i===void 0||i.call(t,e)})),this._register(addDisposableListener(this.element,EventType$1.DROP,e=>{var t,i;this.counter=0,this.dragStartTime=0,(i=(t=this.callbacks).onDrop)===null||i===void 0||i.call(t,e)}))}}const H_REGEX=new RegExp("(?[\\w\\-]+)?(?:#(?[\\w\\-]+))?(?(?:\\.(?:[\\w\\-]+))*)(?:@(?(?:[\\w\\_])+))?");function h(n,...e){let t,i;Array.isArray(e[0])?(t={},i=e[0]):(t=e[0]||{},i=e[1]);const r=H_REGEX.exec(n);if(!r||!r.groups)throw new Error("Bad use of h");const g=r.groups.tag||"div",y=document.createElement(g);r.groups.id&&(y.id=r.groups.id);const k=[];if(r.groups.class)for(const V of r.groups.class.split("."))V!==""&&k.push(V);if(t.className!==void 0)for(const V of t.className.split("."))V!==""&&k.push(V);k.length>0&&(y.className=k.join(" "));const L={};if(r.groups.name&&(L[r.groups.name]=y),i)for(const V of i)V instanceof HTMLElement?y.appendChild(V):typeof V=="string"?y.append(V):"root"in V&&(Object.assign(L,V),y.appendChild(V.root));for(const[V,z]of Object.entries(t))if(V!=="className")if(V==="style")for(const[j,ie]of Object.entries(z))y.style.setProperty(camelCaseToHyphenCase(j),typeof ie=="number"?ie+"px":""+ie);else V==="tabIndex"?y.tabIndex=z:y.setAttribute(camelCaseToHyphenCase(V),z.toString());return L.root=y,L}function camelCaseToHyphenCase(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}class DevicePixelRatioMonitor extends Disposable{constructor(e){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._listener=()=>this._handleChange(e,!0),this._mediaQueryList=null,this._handleChange(e,!1)}_handleChange(e,t){var i;(i=this._mediaQueryList)===null||i===void 0||i.removeEventListener("change",this._listener),this._mediaQueryList=e.matchMedia("(resolution: ".concat(e.devicePixelRatio,"dppx)")),this._mediaQueryList.addEventListener("change",this._listener),t&&this._onDidChange.fire()}}class PixelRatioMonitorImpl extends Disposable{get value(){return this._value}constructor(e){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._value=this._getPixelRatio(e);const t=this._register(new DevicePixelRatioMonitor(e));this._register(t.onDidChange(()=>{this._value=this._getPixelRatio(e),this._onDidChange.fire(this._value)}))}_getPixelRatio(e){const t=document.createElement("canvas").getContext("2d"),i=e.devicePixelRatio||1,r=t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1;return i/r}}class PixelRatioMonitorFacade{constructor(){this.mapWindowIdToPixelRatioMonitor=new Map}_getOrCreatePixelRatioMonitor(e){const t=getWindowId(e);let i=this.mapWindowIdToPixelRatioMonitor.get(t);return i||(i=new PixelRatioMonitorImpl(e),this.mapWindowIdToPixelRatioMonitor.set(t,i),Event$1.once(onDidUnregisterWindow)(({vscodeWindowId:r})=>{r===t&&(i==null||i.dispose(),this.mapWindowIdToPixelRatioMonitor.delete(t))})),i}getInstance(e){return this._getOrCreatePixelRatioMonitor(e)}}const PixelRatio=new PixelRatioMonitorFacade;class FastDomNode{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingLeft="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){const t=numberAsPixels(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){const t=numberAsPixels(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){const t=numberAsPixels(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){const t=numberAsPixels(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){const t=numberAsPixels(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){const t=numberAsPixels(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){const t=numberAsPixels(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingLeft(e){const t=numberAsPixels(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){const t=numberAsPixels(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){const t=numberAsPixels(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){const t=numberAsPixels(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}}function numberAsPixels(n){return typeof n=="number"?"".concat(n,"px"):n}function createFastDomNode(n){return new FastDomNode(n)}function applyFontInfo(n,e){n instanceof FastDomNode?(n.setFontFamily(e.getMassagedFontFamily()),n.setFontWeight(e.fontWeight),n.setFontSize(e.fontSize),n.setFontFeatureSettings(e.fontFeatureSettings),n.setFontVariationSettings(e.fontVariationSettings),n.setLineHeight(e.lineHeight),n.setLetterSpacing(e.letterSpacing)):(n.style.fontFamily=e.getMassagedFontFamily(),n.style.fontWeight=e.fontWeight,n.style.fontSize=e.fontSize+"px",n.style.fontFeatureSettings=e.fontFeatureSettings,n.style.fontVariationSettings=e.fontVariationSettings,n.style.lineHeight=e.lineHeight+"px",n.style.letterSpacing=e.letterSpacing+"px")}class CharWidthRequest{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}}class DomCharWidthReader{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(e){this._createDomElements(),e.document.body.appendChild(this._container),this._readFromDomElements(),e.document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){const e=document.createElement("div");e.style.position="absolute",e.style.top="-50000px",e.style.width="50000px";const t=document.createElement("div");applyFontInfo(t,this._bareFontInfo),e.appendChild(t);const i=document.createElement("div");applyFontInfo(i,this._bareFontInfo),i.style.fontWeight="bold",e.appendChild(i);const r=document.createElement("div");applyFontInfo(r,this._bareFontInfo),r.style.fontStyle="italic",e.appendChild(r);const g=[];for(const y of this._requests){let k;y.type===0&&(k=t),y.type===2&&(k=i),y.type===1&&(k=r),k.appendChild(document.createElement("br"));const L=document.createElement("span");DomCharWidthReader._render(L,y),k.appendChild(L),g.push(L)}this._container=e,this._testElements=g}static _render(e,t){if(t.chr===" "){let i=" ";for(let r=0;r<8;r++)i+=i;e.innerText=i}else{let i=t.chr;for(let r=0;r<8;r++)i+=i;e.textContent=i}}_readFromDomElements(){for(let e=0,t=this._requests.length;e{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings(e)},5e3))}_evictUntrustedReadings(e){const t=this._ensureCache(e),i=t.getValues();let r=!1;for(const g of i)g.isTrusted||(r=!0,t.remove(g));r&&this._onDidChange.fire()}readFontInfo(e,t){const i=this._ensureCache(e);if(!i.has(t)){let r=this._actualReadFontInfo(e,t);(r.typicalHalfwidthCharacterWidth<=2||r.typicalFullwidthCharacterWidth<=2||r.spaceWidth<=2||r.maxDigitWidth<=2)&&(r=new FontInfo({pixelRatio:PixelRatio.getInstance(e).value,fontFamily:r.fontFamily,fontWeight:r.fontWeight,fontSize:r.fontSize,fontFeatureSettings:r.fontFeatureSettings,fontVariationSettings:r.fontVariationSettings,lineHeight:r.lineHeight,letterSpacing:r.letterSpacing,isMonospace:r.isMonospace,typicalHalfwidthCharacterWidth:Math.max(r.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(r.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:r.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(r.spaceWidth,5),middotWidth:Math.max(r.middotWidth,5),wsmiddotWidth:Math.max(r.wsmiddotWidth,5),maxDigitWidth:Math.max(r.maxDigitWidth,5)},!1)),this._writeToCache(e,t,r)}return i.get(t)}_createRequest(e,t,i,r){const g=new CharWidthRequest(e,t);return i.push(g),r==null||r.push(g),g}_actualReadFontInfo(e,t){const i=[],r=[],g=this._createRequest("n",0,i,r),y=this._createRequest("m",0,i,null),k=this._createRequest(" ",0,i,r),L=this._createRequest("0",0,i,r),V=this._createRequest("1",0,i,r),z=this._createRequest("2",0,i,r),j=this._createRequest("3",0,i,r),ie=this._createRequest("4",0,i,r),oe=this._createRequest("5",0,i,r),re=this._createRequest("6",0,i,r),ae=this._createRequest("7",0,i,r),le=this._createRequest("8",0,i,r),de=this._createRequest("9",0,i,r),ue=this._createRequest("→",0,i,r),he=this._createRequest("→",0,i,null),pe=this._createRequest("·",0,i,r),Ce=this._createRequest("⸱",0,i,null),$e="|/-_ilm%";for(let Ve=0,Oe=$e.length;Ve.001){Ie=!1;break}}let Fe=!0;return Ie&&he.width!==Ne&&(Fe=!1),he.width>ue.width&&(Fe=!1),new FontInfo({pixelRatio:PixelRatio.getInstance(e).value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,fontVariationSettings:t.fontVariationSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:Ie,typicalHalfwidthCharacterWidth:g.width,typicalFullwidthCharacterWidth:y.width,canUseHalfwidthRightwardsArrow:Fe,spaceWidth:k.width,middotWidth:pe.width,wsmiddotWidth:Ce.width,maxDigitWidth:xe},!0)}}class FontMeasurementsCache{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){const t=e.getId();return!!this._values[t]}get(e){const t=e.getId();return this._values[t]}put(e,t){const i=e.getId();this._keys[i]=e,this._values[i]=t}remove(e){const t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}}const FontMeasurements=new FontMeasurementsImpl;var _util;(function(n){n.serviceIds=new Map,n.DI_TARGET="$di$target",n.DI_DEPENDENCIES="$di$dependencies";function e(t){return t[n.DI_DEPENDENCIES]||[]}n.getServiceDependencies=e})(_util||(_util={}));const IInstantiationService=createDecorator("instantiationService");function storeServiceDependency(n,e,t){e[_util.DI_TARGET]===e?e[_util.DI_DEPENDENCIES].push({id:n,index:t}):(e[_util.DI_DEPENDENCIES]=[{id:n,index:t}],e[_util.DI_TARGET]=e)}function createDecorator(n){if(_util.serviceIds.has(n))return _util.serviceIds.get(n);const e=function(t,i,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");storeServiceDependency(e,t,r)};return e.toString=()=>n,_util.serviceIds.set(n,e),e}const ICodeEditorService=createDecorator("codeEditorService"),IModelService=createDecorator("modelService"),ITextModelService=createDecorator("textModelService");class Action extends Disposable{constructor(e,t="",i="",r=!0,g){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._enabled=!0,this._id=e,this._label=t,this._cssClass=i,this._enabled=r,this._actionCallback=g}get id(){return this._id}get label(){return this._label}set label(e){this._setLabel(e)}_setLabel(e){this._label!==e&&(this._label=e,this._onDidChange.fire({label:e}))}get tooltip(){return this._tooltip||""}set tooltip(e){this._setTooltip(e)}_setTooltip(e){this._tooltip!==e&&(this._tooltip=e,this._onDidChange.fire({tooltip:e}))}get class(){return this._cssClass}set class(e){this._setClass(e)}_setClass(e){this._cssClass!==e&&(this._cssClass=e,this._onDidChange.fire({class:e}))}get enabled(){return this._enabled}set enabled(e){this._setEnabled(e)}_setEnabled(e){this._enabled!==e&&(this._enabled=e,this._onDidChange.fire({enabled:e}))}get checked(){return this._checked}set checked(e){this._setChecked(e)}_setChecked(e){this._checked!==e&&(this._checked=e,this._onDidChange.fire({checked:e}))}async run(e,t){this._actionCallback&&await this._actionCallback(e)}}class ActionRunner extends Disposable{constructor(){super(...arguments),this._onWillRun=this._register(new Emitter$1),this.onWillRun=this._onWillRun.event,this._onDidRun=this._register(new Emitter$1),this.onDidRun=this._onDidRun.event}async run(e,t){if(!e.enabled)return;this._onWillRun.fire({action:e});let i;try{await this.runAction(e,t)}catch(r){i=r}this._onDidRun.fire({action:e,error:i})}async runAction(e,t){await e.run(t)}}class Separator{constructor(){this.id=Separator.ID,this.label="",this.tooltip="",this.class="separator",this.enabled=!1,this.checked=!1}static join(...e){let t=[];for(const i of e)i.length&&(t.length?t=[...t,new Separator,...i]:t=i);return t}async run(){}}Separator.ID="vs.actions.separator";class SubmenuAction{get actions(){return this._actions}constructor(e,t,i,r){this.tooltip="",this.enabled=!0,this.checked=void 0,this.id=e,this.label=t,this.class=r,this._actions=i}async run(){}}class EmptySubmenuAction extends Action{constructor(){super(EmptySubmenuAction.ID,localize("submenu.empty","(empty)"),void 0,!1)}}EmptySubmenuAction.ID="vs.actions.empty";function toAction(n){var e;return{id:n.id,label:n.label,class:n.class,enabled:(e=n.enabled)!==null&&e!==void 0?e:!0,checked:n.checked,run:async(...t)=>n.run(...t),tooltip:n.label}}var ThemeColor;(function(n){function e(t){return t&&typeof t=="object"&&typeof t.id=="string"}n.isThemeColor=e})(ThemeColor||(ThemeColor={}));var ThemeIcon;(function(n){n.iconNameSegment="[A-Za-z0-9]+",n.iconNameExpression="[A-Za-z0-9-]+",n.iconModifierExpression="~[A-Za-z]+",n.iconNameCharacter="[A-Za-z0-9~-]";const e=new RegExp("^(".concat(n.iconNameExpression,")(").concat(n.iconModifierExpression,")?$"));function t(ie){const oe=e.exec(ie.id);if(!oe)return t(Codicon.error);const[,re,ae]=oe,le=["codicon","codicon-"+re];return ae&&le.push("codicon-modifier-"+ae.substring(1)),le}n.asClassNameArray=t;function i(ie){return t(ie).join(" ")}n.asClassName=i;function r(ie){return"."+t(ie).join(".")}n.asCSSSelector=r;function g(ie){return ie&&typeof ie=="object"&&typeof ie.id=="string"&&(typeof ie.color>"u"||ThemeColor.isThemeColor(ie.color))}n.isThemeIcon=g;const y=new RegExp("^\\$\\((".concat(n.iconNameExpression,"(?:").concat(n.iconModifierExpression,")?)\\)$"));function k(ie){const oe=y.exec(ie);if(!oe)return;const[,re]=oe;return{id:re}}n.fromString=k;function L(ie){return{id:ie}}n.fromId=L;function V(ie,oe){let re=ie.id;const ae=re.lastIndexOf("~");return ae!==-1&&(re=re.substring(0,ae)),oe&&(re="".concat(re,"~").concat(oe)),{id:re}}n.modify=V;function z(ie){const oe=ie.id.lastIndexOf("~");if(oe!==-1)return ie.id.substring(oe+1)}n.getModifier=z;function j(ie,oe){var re,ae;return ie.id===oe.id&&((re=ie.color)===null||re===void 0?void 0:re.id)===((ae=oe.color)===null||ae===void 0?void 0:ae.id)}n.isEqual=j})(ThemeIcon||(ThemeIcon={}));const ICommandService=createDecorator("commandService"),CommandsRegistry=new class{constructor(){this._commands=new Map,this._onDidRegisterCommand=new Emitter$1,this.onDidRegisterCommand=this._onDidRegisterCommand.event}registerCommand(n,e){if(!n)throw new Error("invalid command");if(typeof n=="string"){if(!e)throw new Error("invalid command");return this.registerCommand({id:n,handler:e})}if(n.metadata&&Array.isArray(n.metadata.args)){const y=[];for(const L of n.metadata.args)y.push(L.constraint);const k=n.handler;n.handler=function(L,...V){return validateConstraints(V,y),k(L,...V)}}const{id:t}=n;let i=this._commands.get(t);i||(i=new LinkedList,this._commands.set(t,i));const r=i.unshift(n),g=toDisposable(()=>{r();const y=this._commands.get(t);y!=null&&y.isEmpty()&&this._commands.delete(t)});return this._onDidRegisterCommand.fire(t),g}registerCommandAlias(n,e){return CommandsRegistry.registerCommand(n,(t,...i)=>t.get(ICommandService).executeCommand(e,...i))}getCommand(n){const e=this._commands.get(n);if(!(!e||e.isEmpty()))return Iterable.first(e)}getCommands(){const n=new Map;for(const e of this._commands.keys()){const t=this.getCommand(e);t&&n.set(e,t)}return n}};CommandsRegistry.registerCommand("noop",()=>{});function hintDidYouMean(...n){switch(n.length){case 1:return localize("contextkey.scanner.hint.didYouMean1","Did you mean {0}?",n[0]);case 2:return localize("contextkey.scanner.hint.didYouMean2","Did you mean {0} or {1}?",n[0],n[1]);case 3:return localize("contextkey.scanner.hint.didYouMean3","Did you mean {0}, {1} or {2}?",n[0],n[1],n[2]);default:return}}const hintDidYouForgetToOpenOrCloseQuote=localize("contextkey.scanner.hint.didYouForgetToOpenOrCloseQuote","Did you forget to open or close the quote?"),hintDidYouForgetToEscapeSlash=localize("contextkey.scanner.hint.didYouForgetToEscapeSlash","Did you forget to escape the '/' (slash) character? Put two backslashes before it to escape, e.g., '\\\\/'.");let Scanner$1=class Xd{constructor(){this._input="",this._start=0,this._current=0,this._tokens=[],this._errors=[],this.stringRe=/[a-zA-Z0-9_<>\-\./\\:\*\?\+\[\]\^,#@;"%\$\p{L}-]+/uy}static getLexeme(e){switch(e.type){case 0:return"(";case 1:return")";case 2:return"!";case 3:return e.isTripleEq?"===":"==";case 4:return e.isTripleEq?"!==":"!=";case 5:return"<";case 6:return"<=";case 7:return">=";case 8:return">=";case 9:return"=~";case 10:return e.lexeme;case 11:return"true";case 12:return"false";case 13:return"in";case 14:return"not";case 15:return"&&";case 16:return"||";case 17:return e.lexeme;case 18:return e.lexeme;case 19:return e.lexeme;case 20:return"EOF";default:throw illegalState("unhandled token type: ".concat(JSON.stringify(e),"; have you forgotten to add a case?"))}}reset(e){return this._input=e,this._start=0,this._current=0,this._tokens=[],this._errors=[],this}scan(){for(;!this._isAtEnd();)switch(this._start=this._current,this._advance()){case 40:this._addToken(0);break;case 41:this._addToken(1);break;case 33:if(this._match(61)){const t=this._match(61);this._tokens.push({type:4,offset:this._start,isTripleEq:t})}else this._addToken(2);break;case 39:this._quotedString();break;case 47:this._regex();break;case 61:if(this._match(61)){const t=this._match(61);this._tokens.push({type:3,offset:this._start,isTripleEq:t})}else this._match(126)?this._addToken(9):this._error(hintDidYouMean("==","=~"));break;case 60:this._addToken(this._match(61)?6:5);break;case 62:this._addToken(this._match(61)?8:7);break;case 38:this._match(38)?this._addToken(15):this._error(hintDidYouMean("&&"));break;case 124:this._match(124)?this._addToken(16):this._error(hintDidYouMean("||"));break;case 32:case 13:case 9:case 10:case 160:break;default:this._string()}return this._start=this._current,this._addToken(20),Array.from(this._tokens)}_match(e){return this._isAtEnd()||this._input.charCodeAt(this._current)!==e?!1:(this._current++,!0)}_advance(){return this._input.charCodeAt(this._current++)}_peek(){return this._isAtEnd()?0:this._input.charCodeAt(this._current)}_addToken(e){this._tokens.push({type:e,offset:this._start})}_error(e){const t=this._start,i=this._input.substring(this._start,this._current),r={type:19,offset:this._start,lexeme:i};this._errors.push({offset:t,lexeme:i,additionalInfo:e}),this._tokens.push(r)}_string(){this.stringRe.lastIndex=this._start;const e=this.stringRe.exec(this._input);if(e){this._current=this._start+e[0].length;const t=this._input.substring(this._start,this._current),i=Xd._keywords.get(t);i?this._addToken(i):this._tokens.push({type:17,lexeme:t,offset:this._start})}}_quotedString(){for(;this._peek()!==39&&!this._isAtEnd();)this._advance();if(this._isAtEnd()){this._error(hintDidYouForgetToOpenOrCloseQuote);return}this._advance(),this._tokens.push({type:18,lexeme:this._input.substring(this._start+1,this._current-1),offset:this._start+1})}_regex(){let e=this._current,t=!1,i=!1;for(;;){if(e>=this._input.length){this._current=e,this._error(hintDidYouForgetToEscapeSlash);return}const g=this._input.charCodeAt(e);if(t)t=!1;else if(g===47&&!i){e++;break}else g===91?i=!0:g===92?t=!0:g===93&&(i=!1);e++}for(;e=this._input.length}};Scanner$1._regexFlags=new Set(["i","g","s","m","y","u"].map(n=>n.charCodeAt(0)));Scanner$1._keywords=new Map([["not",14],["in",13],["false",12],["true",11]]);const CONSTANT_VALUES=new Map;CONSTANT_VALUES.set("false",!1);CONSTANT_VALUES.set("true",!0);CONSTANT_VALUES.set("isMac",isMacintosh);CONSTANT_VALUES.set("isLinux",isLinux);CONSTANT_VALUES.set("isWindows",isWindows);CONSTANT_VALUES.set("isWeb",isWeb);CONSTANT_VALUES.set("isMacNative",isMacintosh&&!isWeb);CONSTANT_VALUES.set("isEdge",isEdge);CONSTANT_VALUES.set("isFirefox",isFirefox$2);CONSTANT_VALUES.set("isChrome",isChrome$1);CONSTANT_VALUES.set("isSafari",isSafari$1);const hasOwnProperty$2=Object.prototype.hasOwnProperty,defaultConfig={regexParsingWithErrorRecovery:!0},errorEmptyString=localize("contextkey.parser.error.emptyString","Empty context key expression"),hintEmptyString=localize("contextkey.parser.error.emptyString.hint","Did you forget to write an expression? You can also put 'false' or 'true' to always evaluate to false or true, respectively."),errorNoInAfterNot=localize("contextkey.parser.error.noInAfterNot","'in' after 'not'."),errorClosingParenthesis=localize("contextkey.parser.error.closingParenthesis","closing parenthesis ')'"),errorUnexpectedToken=localize("contextkey.parser.error.unexpectedToken","Unexpected token"),hintUnexpectedToken=localize("contextkey.parser.error.unexpectedToken.hint","Did you forget to put && or || before the token?"),errorUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF","Unexpected end of expression"),hintUnexpectedEOF=localize("contextkey.parser.error.unexpectedEOF.hint","Did you forget to put a context key?");let Parser$1=class Ec{constructor(e=defaultConfig){this._config=e,this._scanner=new Scanner$1,this._tokens=[],this._current=0,this._parsingErrors=[],this._flagsGYRe=/g|y/g}parse(e){if(e===""){this._parsingErrors.push({message:errorEmptyString,offset:0,lexeme:"",additionalInfo:hintEmptyString});return}this._tokens=this._scanner.reset(e).scan(),this._current=0,this._parsingErrors=[];try{const t=this._expr();if(!this._isAtEnd()){const i=this._peek(),r=i.type===17?hintUnexpectedToken:void 0;throw this._parsingErrors.push({message:errorUnexpectedToken,offset:i.offset,lexeme:Scanner$1.getLexeme(i),additionalInfo:r}),Ec._parseError}return t}catch(t){if(t!==Ec._parseError)throw t;return}}_expr(){return this._or()}_or(){const e=[this._and()];for(;this._matchOne(16);){const t=this._and();e.push(t)}return e.length===1?e[0]:ContextKeyExpr.or(...e)}_and(){const e=[this._term()];for(;this._matchOne(15);){const t=this._term();e.push(t)}return e.length===1?e[0]:ContextKeyExpr.and(...e)}_term(){if(this._matchOne(2)){const e=this._peek();switch(e.type){case 11:return this._advance(),ContextKeyFalseExpr.INSTANCE;case 12:return this._advance(),ContextKeyTrueExpr.INSTANCE;case 0:{this._advance();const t=this._expr();return this._consume(1,errorClosingParenthesis),t==null?void 0:t.negate()}case 17:return this._advance(),ContextKeyNotExpr.create(e.lexeme);default:throw this._errExpectedButGot("KEY | true | false | '(' expression ')'",e)}}return this._primary()}_primary(){const e=this._peek();switch(e.type){case 11:return this._advance(),ContextKeyExpr.true();case 12:return this._advance(),ContextKeyExpr.false();case 0:{this._advance();const t=this._expr();return this._consume(1,errorClosingParenthesis),t}case 17:{const t=e.lexeme;if(this._advance(),this._matchOne(9)){const r=this._peek();if(!this._config.regexParsingWithErrorRecovery){if(this._advance(),r.type!==10)throw this._errExpectedButGot("REGEX",r);const g=r.lexeme,y=g.lastIndexOf("/"),k=y===g.length-1?void 0:this._removeFlagsGY(g.substring(y+1));let L;try{L=new RegExp(g.substring(1,y),k)}catch(V){throw this._errExpectedButGot("REGEX",r)}return ContextKeyRegexExpr.create(t,L)}switch(r.type){case 10:case 19:{const g=[r.lexeme];this._advance();let y=this._peek(),k=0;for(let ie=0;ie=0){const V=g.slice(k+1,L),z=g[L+1]==="i"?"i":"";try{y=new RegExp(V,z)}catch(j){throw this._errExpectedButGot("REGEX",r)}}}if(y===null)throw this._errExpectedButGot("REGEX",r);return ContextKeyRegexExpr.create(t,y)}default:throw this._errExpectedButGot("REGEX",this._peek())}}if(this._matchOne(14)){this._consume(13,errorNoInAfterNot);const r=this._value();return ContextKeyExpr.notIn(t,r)}switch(this._peek().type){case 3:{this._advance();const r=this._value();if(this._previous().type===18)return ContextKeyExpr.equals(t,r);switch(r){case"true":return ContextKeyExpr.has(t);case"false":return ContextKeyExpr.not(t);default:return ContextKeyExpr.equals(t,r)}}case 4:{this._advance();const r=this._value();if(this._previous().type===18)return ContextKeyExpr.notEquals(t,r);switch(r){case"true":return ContextKeyExpr.not(t);case"false":return ContextKeyExpr.has(t);default:return ContextKeyExpr.notEquals(t,r)}}case 5:return this._advance(),ContextKeySmallerExpr.create(t,this._value());case 6:return this._advance(),ContextKeySmallerEqualsExpr.create(t,this._value());case 7:return this._advance(),ContextKeyGreaterExpr.create(t,this._value());case 8:return this._advance(),ContextKeyGreaterEqualsExpr.create(t,this._value());case 13:return this._advance(),ContextKeyExpr.in(t,this._value());default:return ContextKeyExpr.has(t)}}case 20:throw this._parsingErrors.push({message:errorUnexpectedEOF,offset:e.offset,lexeme:"",additionalInfo:hintUnexpectedEOF}),Ec._parseError;default:throw this._errExpectedButGot("true | false | KEY \n | KEY '=~' REGEX \n | KEY ('==' | '!=' | '<' | '<=' | '>' | '>=' | 'in' | 'not' 'in') value",this._peek())}}_value(){const e=this._peek();switch(e.type){case 17:case 18:return this._advance(),e.lexeme;case 11:return this._advance(),"true";case 12:return this._advance(),"false";case 13:return this._advance(),"in";default:return""}}_removeFlagsGY(e){return e.replaceAll(this._flagsGYRe,"")}_previous(){return this._tokens[this._current-1]}_matchOne(e){return this._check(e)?(this._advance(),!0):!1}_advance(){return this._isAtEnd()||this._current++,this._previous()}_consume(e,t){if(this._check(e))return this._advance();throw this._errExpectedButGot(t,this._peek())}_errExpectedButGot(e,t,i){const r=localize("contextkey.parser.error.expectedButGot","Expected: {0}\nReceived: '{1}'.",e,Scanner$1.getLexeme(t)),g=t.offset,y=Scanner$1.getLexeme(t);return this._parsingErrors.push({message:r,offset:g,lexeme:y,additionalInfo:i}),Ec._parseError}_check(e){return this._peek().type===e}_peek(){return this._tokens[this._current]}_isAtEnd(){return this._peek().type===20}};Parser$1._parseError=new Error;class ContextKeyExpr{static false(){return ContextKeyFalseExpr.INSTANCE}static true(){return ContextKeyTrueExpr.INSTANCE}static has(e){return ContextKeyDefinedExpr.create(e)}static equals(e,t){return ContextKeyEqualsExpr.create(e,t)}static notEquals(e,t){return ContextKeyNotEqualsExpr.create(e,t)}static regex(e,t){return ContextKeyRegexExpr.create(e,t)}static in(e,t){return ContextKeyInExpr.create(e,t)}static notIn(e,t){return ContextKeyNotInExpr.create(e,t)}static not(e){return ContextKeyNotExpr.create(e)}static and(...e){return ContextKeyAndExpr.create(e,null,!0)}static or(...e){return ContextKeyOrExpr.create(e,null,!0)}static deserialize(e){return e==null?void 0:this._parser.parse(e)}}ContextKeyExpr._parser=new Parser$1({regexParsingWithErrorRecovery:!1});function expressionsAreEqualWithConstantSubstitution(n,e){const t=n?n.substituteConstants():void 0,i=e?e.substituteConstants():void 0;return!t&&!i?!0:!t||!i?!1:t.equals(i)}function cmp(n,e){return n.cmp(e)}class ContextKeyFalseExpr{constructor(){this.type=0}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!1}serialize(){return"false"}keys(){return[]}negate(){return ContextKeyTrueExpr.INSTANCE}}ContextKeyFalseExpr.INSTANCE=new ContextKeyFalseExpr;class ContextKeyTrueExpr{constructor(){this.type=1}cmp(e){return this.type-e.type}equals(e){return e.type===this.type}substituteConstants(){return this}evaluate(e){return!0}serialize(){return"true"}keys(){return[]}negate(){return ContextKeyFalseExpr.INSTANCE}}ContextKeyTrueExpr.INSTANCE=new ContextKeyTrueExpr;class ContextKeyDefinedExpr{static create(e,t=null){const i=CONSTANT_VALUES.get(e);return typeof i=="boolean"?i?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE:new ContextKeyDefinedExpr(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=2}cmp(e){return e.type!==this.type?this.type-e.type:cmp1(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);return typeof e=="boolean"?e?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE:this}evaluate(e){return!!e.getValue(this.key)}serialize(){return this.key}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotExpr.create(this.key,this)),this.negated}}class ContextKeyEqualsExpr{static create(e,t,i=null){if(typeof t=="boolean")return t?ContextKeyDefinedExpr.create(e,i):ContextKeyNotExpr.create(e,i);const r=CONSTANT_VALUES.get(e);return typeof r=="boolean"?t===(r?"true":"false")?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE:new ContextKeyEqualsExpr(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=4}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ContextKeyTrueExpr.INSTANCE:ContextKeyFalseExpr.INSTANCE}return this}evaluate(e){return e.getValue(this.key)==this.value}serialize(){return"".concat(this.key," == '").concat(this.value,"'")}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyInExpr{static create(e,t){return new ContextKeyInExpr(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=10,this.negated=null}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.valueKey,e.key,e.valueKey)}equals(e){return e.type===this.type?this.key===e.key&&this.valueKey===e.valueKey:!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.valueKey),i=e.getValue(this.key);return Array.isArray(t)?t.includes(i):typeof i=="string"&&typeof t=="object"&&t!==null?hasOwnProperty$2.call(t,i):!1}serialize(){return"".concat(this.key," in '").concat(this.valueKey,"'")}keys(){return[this.key,this.valueKey]}negate(){return this.negated||(this.negated=ContextKeyNotInExpr.create(this.key,this.valueKey)),this.negated}}class ContextKeyNotInExpr{static create(e,t){return new ContextKeyNotInExpr(e,t)}constructor(e,t){this.key=e,this.valueKey=t,this.type=11,this._negated=ContextKeyInExpr.create(e,t)}cmp(e){return e.type!==this.type?this.type-e.type:this._negated.cmp(e._negated)}equals(e){return e.type===this.type?this._negated.equals(e._negated):!1}substituteConstants(){return this}evaluate(e){return!this._negated.evaluate(e)}serialize(){return"".concat(this.key," not in '").concat(this.valueKey,"'")}keys(){return this._negated.keys()}negate(){return this._negated}}class ContextKeyNotEqualsExpr{static create(e,t,i=null){if(typeof t=="boolean")return t?ContextKeyNotExpr.create(e,i):ContextKeyDefinedExpr.create(e,i);const r=CONSTANT_VALUES.get(e);return typeof r=="boolean"?t===(r?"true":"false")?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE:new ContextKeyNotEqualsExpr(e,t,i)}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=5}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);if(typeof e=="boolean"){const t=e?"true":"false";return this.value===t?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE}return this}evaluate(e){return e.getValue(this.key)!=this.value}serialize(){return"".concat(this.key," != '").concat(this.value,"'")}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyNotExpr{static create(e,t=null){const i=CONSTANT_VALUES.get(e);return typeof i=="boolean"?i?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE:new ContextKeyNotExpr(e,t)}constructor(e,t){this.key=e,this.negated=t,this.type=3}cmp(e){return e.type!==this.type?this.type-e.type:cmp1(this.key,e.key)}equals(e){return e.type===this.type?this.key===e.key:!1}substituteConstants(){const e=CONSTANT_VALUES.get(this.key);return typeof e=="boolean"?e?ContextKeyFalseExpr.INSTANCE:ContextKeyTrueExpr.INSTANCE:this}evaluate(e){return!e.getValue(this.key)}serialize(){return"!".concat(this.key)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyDefinedExpr.create(this.key,this)),this.negated}}function withFloatOrStr(n,e){if(typeof n=="string"){const t=parseFloat(n);isNaN(t)||(n=t)}return typeof n=="string"||typeof n=="number"?e(n):ContextKeyFalseExpr.INSTANCE}class ContextKeyGreaterExpr{static create(e,t,i=null){return withFloatOrStr(t,r=>new ContextKeyGreaterExpr(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=12}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>this.value}serialize(){return"".concat(this.key," > ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerEqualsExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyGreaterEqualsExpr{static create(e,t,i=null){return withFloatOrStr(t,r=>new ContextKeyGreaterEqualsExpr(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=13}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))>=this.value}serialize(){return"".concat(this.key," >= ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeySmallerExpr.create(this.key,this.value,this)),this.negated}}class ContextKeySmallerExpr{static create(e,t,i=null){return withFloatOrStr(t,r=>new ContextKeySmallerExpr(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=14}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))new ContextKeySmallerEqualsExpr(e,r,i))}constructor(e,t,i){this.key=e,this.value=t,this.negated=i,this.type=15}cmp(e){return e.type!==this.type?this.type-e.type:cmp2(this.key,this.value,e.key,e.value)}equals(e){return e.type===this.type?this.key===e.key&&this.value===e.value:!1}substituteConstants(){return this}evaluate(e){return typeof this.value=="string"?!1:parseFloat(e.getValue(this.key))<=this.value}serialize(){return"".concat(this.key," <= ").concat(this.value)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyGreaterExpr.create(this.key,this.value,this)),this.negated}}class ContextKeyRegexExpr{static create(e,t){return new ContextKeyRegexExpr(e,t)}constructor(e,t){this.key=e,this.regexp=t,this.type=7,this.negated=null}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.keye.key)return 1;const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return ti?1:0}equals(e){if(e.type===this.type){const t=this.regexp?this.regexp.source:"",i=e.regexp?e.regexp.source:"";return this.key===e.key&&t===i}return!1}substituteConstants(){return this}evaluate(e){const t=e.getValue(this.key);return this.regexp?this.regexp.test(t):!1}serialize(){const e=this.regexp?"/".concat(this.regexp.source,"/").concat(this.regexp.flags):"/invalid/";return"".concat(this.key," =~ ").concat(e)}keys(){return[this.key]}negate(){return this.negated||(this.negated=ContextKeyNotRegexExpr.create(this)),this.negated}}class ContextKeyNotRegexExpr{static create(e){return new ContextKeyNotRegexExpr(e)}constructor(e){this._actual=e,this.type=8}cmp(e){return e.type!==this.type?this.type-e.type:this._actual.cmp(e._actual)}equals(e){return e.type===this.type?this._actual.equals(e._actual):!1}substituteConstants(){return this}evaluate(e){return!this._actual.evaluate(e)}serialize(){return"!(".concat(this._actual.serialize(),")")}keys(){return this._actual.keys()}negate(){return this._actual}}function eliminateConstantsInArray(n){let e=null;for(let t=0,i=n.length;te.expr.length)return 1;for(let t=0,i=this.expr.length;t1;){const y=r[r.length-1];if(y.type!==9)break;r.pop();const k=r.pop(),L=r.length===0,V=ContextKeyOrExpr.create(y.expr.map(z=>ContextKeyAndExpr.create([z,k],null,i)),null,L);V&&(r.push(V),r.sort(cmp))}if(r.length===1)return r[0];if(i){for(let y=0;ye.serialize()).join(" && ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());this.negated=ContextKeyOrExpr.create(e,this,!0)}return this.negated}}class ContextKeyOrExpr{static create(e,t,i){return ContextKeyOrExpr._normalizeArr(e,t,i)}constructor(e,t){this.expr=e,this.negated=t,this.type=9}cmp(e){if(e.type!==this.type)return this.type-e.type;if(this.expr.lengthe.expr.length)return 1;for(let t=0,i=this.expr.length;te.serialize()).join(" || ")}keys(){const e=[];for(const t of this.expr)e.push(...t.keys());return e}negate(){if(!this.negated){const e=[];for(const t of this.expr)e.push(t.negate());for(;e.length>1;){const t=e.shift(),i=e.shift(),r=[];for(const g of getTerminals(t))for(const y of getTerminals(i))r.push(ContextKeyAndExpr.create([g,y],null,!1));e.unshift(ContextKeyOrExpr.create(r,null,!1))}this.negated=ContextKeyOrExpr.create(e,this,!0)}return this.negated}}class RawContextKey extends ContextKeyDefinedExpr{static all(){return RawContextKey._info.values()}constructor(e,t,i){super(e,null),this._defaultValue=t,typeof i=="object"?RawContextKey._info.push({...i,key:e}):i!==!0&&RawContextKey._info.push({key:e,description:i,type:t!=null?typeof t:void 0})}bindTo(e){return e.createKey(this.key,this._defaultValue)}getValue(e){return e.getContextKeyValue(this.key)}toNegated(){return this.negate()}isEqualTo(e){return ContextKeyEqualsExpr.create(this.key,e)}}RawContextKey._info=[];const IContextKeyService=createDecorator("contextKeyService");function cmp1(n,e){return ne?1:0}function cmp2(n,e,t,i){return nt?1:ei?1:0}function implies(n,e){if(n.type===0||e.type===1)return!0;if(n.type===9)return e.type===9?allElementsIncluded(n.expr,e.expr):!1;if(e.type===9){for(const t of e.expr)if(implies(n,t))return!0;return!1}if(n.type===6){if(e.type===6)return allElementsIncluded(e.expr,n.expr);for(const t of n.expr)if(implies(t,e))return!0;return!1}return n.equals(e)}function allElementsIncluded(n,e){let t=0,i=0;for(;t{k(),this._cachedMergedKeybindings=null})}getDefaultKeybindings(){return this._cachedMergedKeybindings||(this._cachedMergedKeybindings=Array.from(this._coreKeybindings).concat(this._extensionKeybindings),this._cachedMergedKeybindings.sort(sorter)),this._cachedMergedKeybindings.slice(0)}}const KeybindingsRegistry=new KeybindingsRegistryImpl,Extensions$9={EditorModes:"platform.keybindingsRegistry"};Registry.add(Extensions$9.EditorModes,KeybindingsRegistry);function sorter(n,e){if(n.weight1!==e.weight1)return n.weight1-e.weight1;if(n.command&&e.command){if(n.commande.command)return 1}return n.weight2-e.weight2}var __decorate$2v=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2l=function(n,e){return function(t,i){e(t,i,n)}},MenuItemAction_1;function isIMenuItem(n){return n.command!==void 0}function isISubmenuItem(n){return n.submenu!==void 0}class MenuId{constructor(e){if(MenuId._instances.has(e))throw new TypeError("MenuId with identifier '".concat(e,"' already exists. Use MenuId.for(ident) or a unique identifier"));MenuId._instances.set(e,this),this.id=e}}MenuId._instances=new Map;MenuId.CommandPalette=new MenuId("CommandPalette");MenuId.DebugBreakpointsContext=new MenuId("DebugBreakpointsContext");MenuId.DebugCallStackContext=new MenuId("DebugCallStackContext");MenuId.DebugConsoleContext=new MenuId("DebugConsoleContext");MenuId.DebugVariablesContext=new MenuId("DebugVariablesContext");MenuId.NotebookVariablesContext=new MenuId("NotebookVariablesContext");MenuId.DebugHoverContext=new MenuId("DebugHoverContext");MenuId.DebugWatchContext=new MenuId("DebugWatchContext");MenuId.DebugToolBar=new MenuId("DebugToolBar");MenuId.DebugToolBarStop=new MenuId("DebugToolBarStop");MenuId.EditorContext=new MenuId("EditorContext");MenuId.SimpleEditorContext=new MenuId("SimpleEditorContext");MenuId.EditorContent=new MenuId("EditorContent");MenuId.EditorLineNumberContext=new MenuId("EditorLineNumberContext");MenuId.EditorContextCopy=new MenuId("EditorContextCopy");MenuId.EditorContextPeek=new MenuId("EditorContextPeek");MenuId.EditorContextShare=new MenuId("EditorContextShare");MenuId.EditorTitle=new MenuId("EditorTitle");MenuId.EditorTitleRun=new MenuId("EditorTitleRun");MenuId.EditorTitleContext=new MenuId("EditorTitleContext");MenuId.EditorTitleContextShare=new MenuId("EditorTitleContextShare");MenuId.EmptyEditorGroup=new MenuId("EmptyEditorGroup");MenuId.EmptyEditorGroupContext=new MenuId("EmptyEditorGroupContext");MenuId.EditorTabsBarContext=new MenuId("EditorTabsBarContext");MenuId.EditorTabsBarShowTabsSubmenu=new MenuId("EditorTabsBarShowTabsSubmenu");MenuId.EditorTabsBarShowTabsZenModeSubmenu=new MenuId("EditorTabsBarShowTabsZenModeSubmenu");MenuId.EditorActionsPositionSubmenu=new MenuId("EditorActionsPositionSubmenu");MenuId.ExplorerContext=new MenuId("ExplorerContext");MenuId.ExplorerContextShare=new MenuId("ExplorerContextShare");MenuId.ExtensionContext=new MenuId("ExtensionContext");MenuId.GlobalActivity=new MenuId("GlobalActivity");MenuId.CommandCenter=new MenuId("CommandCenter");MenuId.CommandCenterCenter=new MenuId("CommandCenterCenter");MenuId.LayoutControlMenuSubmenu=new MenuId("LayoutControlMenuSubmenu");MenuId.LayoutControlMenu=new MenuId("LayoutControlMenu");MenuId.MenubarMainMenu=new MenuId("MenubarMainMenu");MenuId.MenubarAppearanceMenu=new MenuId("MenubarAppearanceMenu");MenuId.MenubarDebugMenu=new MenuId("MenubarDebugMenu");MenuId.MenubarEditMenu=new MenuId("MenubarEditMenu");MenuId.MenubarCopy=new MenuId("MenubarCopy");MenuId.MenubarFileMenu=new MenuId("MenubarFileMenu");MenuId.MenubarGoMenu=new MenuId("MenubarGoMenu");MenuId.MenubarHelpMenu=new MenuId("MenubarHelpMenu");MenuId.MenubarLayoutMenu=new MenuId("MenubarLayoutMenu");MenuId.MenubarNewBreakpointMenu=new MenuId("MenubarNewBreakpointMenu");MenuId.PanelAlignmentMenu=new MenuId("PanelAlignmentMenu");MenuId.PanelPositionMenu=new MenuId("PanelPositionMenu");MenuId.ActivityBarPositionMenu=new MenuId("ActivityBarPositionMenu");MenuId.MenubarPreferencesMenu=new MenuId("MenubarPreferencesMenu");MenuId.MenubarRecentMenu=new MenuId("MenubarRecentMenu");MenuId.MenubarSelectionMenu=new MenuId("MenubarSelectionMenu");MenuId.MenubarShare=new MenuId("MenubarShare");MenuId.MenubarSwitchEditorMenu=new MenuId("MenubarSwitchEditorMenu");MenuId.MenubarSwitchGroupMenu=new MenuId("MenubarSwitchGroupMenu");MenuId.MenubarTerminalMenu=new MenuId("MenubarTerminalMenu");MenuId.MenubarViewMenu=new MenuId("MenubarViewMenu");MenuId.MenubarHomeMenu=new MenuId("MenubarHomeMenu");MenuId.OpenEditorsContext=new MenuId("OpenEditorsContext");MenuId.OpenEditorsContextShare=new MenuId("OpenEditorsContextShare");MenuId.ProblemsPanelContext=new MenuId("ProblemsPanelContext");MenuId.SCMInputBox=new MenuId("SCMInputBox");MenuId.SCMChangesSeparator=new MenuId("SCMChangesSeparator");MenuId.SCMIncomingChanges=new MenuId("SCMIncomingChanges");MenuId.SCMIncomingChangesContext=new MenuId("SCMIncomingChangesContext");MenuId.SCMIncomingChangesSetting=new MenuId("SCMIncomingChangesSetting");MenuId.SCMOutgoingChanges=new MenuId("SCMOutgoingChanges");MenuId.SCMOutgoingChangesContext=new MenuId("SCMOutgoingChangesContext");MenuId.SCMOutgoingChangesSetting=new MenuId("SCMOutgoingChangesSetting");MenuId.SCMIncomingChangesAllChangesContext=new MenuId("SCMIncomingChangesAllChangesContext");MenuId.SCMIncomingChangesHistoryItemContext=new MenuId("SCMIncomingChangesHistoryItemContext");MenuId.SCMOutgoingChangesAllChangesContext=new MenuId("SCMOutgoingChangesAllChangesContext");MenuId.SCMOutgoingChangesHistoryItemContext=new MenuId("SCMOutgoingChangesHistoryItemContext");MenuId.SCMChangeContext=new MenuId("SCMChangeContext");MenuId.SCMResourceContext=new MenuId("SCMResourceContext");MenuId.SCMResourceContextShare=new MenuId("SCMResourceContextShare");MenuId.SCMResourceFolderContext=new MenuId("SCMResourceFolderContext");MenuId.SCMResourceGroupContext=new MenuId("SCMResourceGroupContext");MenuId.SCMSourceControl=new MenuId("SCMSourceControl");MenuId.SCMSourceControlInline=new MenuId("SCMSourceControlInline");MenuId.SCMSourceControlTitle=new MenuId("SCMSourceControlTitle");MenuId.SCMTitle=new MenuId("SCMTitle");MenuId.SearchContext=new MenuId("SearchContext");MenuId.SearchActionMenu=new MenuId("SearchActionContext");MenuId.StatusBarWindowIndicatorMenu=new MenuId("StatusBarWindowIndicatorMenu");MenuId.StatusBarRemoteIndicatorMenu=new MenuId("StatusBarRemoteIndicatorMenu");MenuId.StickyScrollContext=new MenuId("StickyScrollContext");MenuId.TestItem=new MenuId("TestItem");MenuId.TestItemGutter=new MenuId("TestItemGutter");MenuId.TestMessageContext=new MenuId("TestMessageContext");MenuId.TestMessageContent=new MenuId("TestMessageContent");MenuId.TestPeekElement=new MenuId("TestPeekElement");MenuId.TestPeekTitle=new MenuId("TestPeekTitle");MenuId.TouchBarContext=new MenuId("TouchBarContext");MenuId.TitleBarContext=new MenuId("TitleBarContext");MenuId.TitleBarTitleContext=new MenuId("TitleBarTitleContext");MenuId.TunnelContext=new MenuId("TunnelContext");MenuId.TunnelPrivacy=new MenuId("TunnelPrivacy");MenuId.TunnelProtocol=new MenuId("TunnelProtocol");MenuId.TunnelPortInline=new MenuId("TunnelInline");MenuId.TunnelTitle=new MenuId("TunnelTitle");MenuId.TunnelLocalAddressInline=new MenuId("TunnelLocalAddressInline");MenuId.TunnelOriginInline=new MenuId("TunnelOriginInline");MenuId.ViewItemContext=new MenuId("ViewItemContext");MenuId.ViewContainerTitle=new MenuId("ViewContainerTitle");MenuId.ViewContainerTitleContext=new MenuId("ViewContainerTitleContext");MenuId.ViewTitle=new MenuId("ViewTitle");MenuId.ViewTitleContext=new MenuId("ViewTitleContext");MenuId.CommentEditorActions=new MenuId("CommentEditorActions");MenuId.CommentThreadTitle=new MenuId("CommentThreadTitle");MenuId.CommentThreadActions=new MenuId("CommentThreadActions");MenuId.CommentThreadAdditionalActions=new MenuId("CommentThreadAdditionalActions");MenuId.CommentThreadTitleContext=new MenuId("CommentThreadTitleContext");MenuId.CommentThreadCommentContext=new MenuId("CommentThreadCommentContext");MenuId.CommentTitle=new MenuId("CommentTitle");MenuId.CommentActions=new MenuId("CommentActions");MenuId.CommentsViewThreadActions=new MenuId("CommentsViewThreadActions");MenuId.InteractiveToolbar=new MenuId("InteractiveToolbar");MenuId.InteractiveCellTitle=new MenuId("InteractiveCellTitle");MenuId.InteractiveCellDelete=new MenuId("InteractiveCellDelete");MenuId.InteractiveCellExecute=new MenuId("InteractiveCellExecute");MenuId.InteractiveInputExecute=new MenuId("InteractiveInputExecute");MenuId.IssueReporter=new MenuId("IssueReporter");MenuId.NotebookToolbar=new MenuId("NotebookToolbar");MenuId.NotebookStickyScrollContext=new MenuId("NotebookStickyScrollContext");MenuId.NotebookCellTitle=new MenuId("NotebookCellTitle");MenuId.NotebookCellDelete=new MenuId("NotebookCellDelete");MenuId.NotebookCellInsert=new MenuId("NotebookCellInsert");MenuId.NotebookCellBetween=new MenuId("NotebookCellBetween");MenuId.NotebookCellListTop=new MenuId("NotebookCellTop");MenuId.NotebookCellExecute=new MenuId("NotebookCellExecute");MenuId.NotebookCellExecuteGoTo=new MenuId("NotebookCellExecuteGoTo");MenuId.NotebookCellExecutePrimary=new MenuId("NotebookCellExecutePrimary");MenuId.NotebookDiffCellInputTitle=new MenuId("NotebookDiffCellInputTitle");MenuId.NotebookDiffCellMetadataTitle=new MenuId("NotebookDiffCellMetadataTitle");MenuId.NotebookDiffCellOutputsTitle=new MenuId("NotebookDiffCellOutputsTitle");MenuId.NotebookOutputToolbar=new MenuId("NotebookOutputToolbar");MenuId.NotebookOutlineFilter=new MenuId("NotebookOutlineFilter");MenuId.NotebookOutlineActionMenu=new MenuId("NotebookOutlineActionMenu");MenuId.NotebookEditorLayoutConfigure=new MenuId("NotebookEditorLayoutConfigure");MenuId.NotebookKernelSource=new MenuId("NotebookKernelSource");MenuId.BulkEditTitle=new MenuId("BulkEditTitle");MenuId.BulkEditContext=new MenuId("BulkEditContext");MenuId.TimelineItemContext=new MenuId("TimelineItemContext");MenuId.TimelineTitle=new MenuId("TimelineTitle");MenuId.TimelineTitleContext=new MenuId("TimelineTitleContext");MenuId.TimelineFilterSubMenu=new MenuId("TimelineFilterSubMenu");MenuId.AccountsContext=new MenuId("AccountsContext");MenuId.SidebarTitle=new MenuId("SidebarTitle");MenuId.PanelTitle=new MenuId("PanelTitle");MenuId.AuxiliaryBarTitle=new MenuId("AuxiliaryBarTitle");MenuId.AuxiliaryBarHeader=new MenuId("AuxiliaryBarHeader");MenuId.TerminalInstanceContext=new MenuId("TerminalInstanceContext");MenuId.TerminalEditorInstanceContext=new MenuId("TerminalEditorInstanceContext");MenuId.TerminalNewDropdownContext=new MenuId("TerminalNewDropdownContext");MenuId.TerminalTabContext=new MenuId("TerminalTabContext");MenuId.TerminalTabEmptyAreaContext=new MenuId("TerminalTabEmptyAreaContext");MenuId.TerminalStickyScrollContext=new MenuId("TerminalStickyScrollContext");MenuId.WebviewContext=new MenuId("WebviewContext");MenuId.InlineCompletionsActions=new MenuId("InlineCompletionsActions");MenuId.InlineEditActions=new MenuId("InlineEditActions");MenuId.NewFile=new MenuId("NewFile");MenuId.MergeInput1Toolbar=new MenuId("MergeToolbar1Toolbar");MenuId.MergeInput2Toolbar=new MenuId("MergeToolbar2Toolbar");MenuId.MergeBaseToolbar=new MenuId("MergeBaseToolbar");MenuId.MergeInputResultToolbar=new MenuId("MergeToolbarResultToolbar");MenuId.InlineSuggestionToolbar=new MenuId("InlineSuggestionToolbar");MenuId.InlineEditToolbar=new MenuId("InlineEditToolbar");MenuId.ChatContext=new MenuId("ChatContext");MenuId.ChatCodeBlock=new MenuId("ChatCodeblock");MenuId.ChatMessageTitle=new MenuId("ChatMessageTitle");MenuId.ChatExecute=new MenuId("ChatExecute");MenuId.ChatExecuteSecondary=new MenuId("ChatExecuteSecondary");MenuId.ChatInputSide=new MenuId("ChatInputSide");MenuId.AccessibleView=new MenuId("AccessibleView");MenuId.MultiDiffEditorFileToolbar=new MenuId("MultiDiffEditorFileToolbar");MenuId.DiffEditorHunkToolbar=new MenuId("DiffEditorHunkToolbar");MenuId.DiffEditorSelectionToolbar=new MenuId("DiffEditorSelectionToolbar");const IMenuService=createDecorator("menuService");class MenuRegistryChangeEvent{static for(e){let t=this._all.get(e);return t||(t=new MenuRegistryChangeEvent(e),this._all.set(e,t)),t}static merge(e){const t=new Set;for(const i of e)i instanceof MenuRegistryChangeEvent&&t.add(i.id);return t}constructor(e){this.id=e,this.has=t=>t===e}}MenuRegistryChangeEvent._all=new Map;const MenuRegistry=new class{constructor(){this._commands=new Map,this._menuItems=new Map,this._onDidChangeMenu=new MicrotaskEmitter({merge:MenuRegistryChangeEvent.merge}),this.onDidChangeMenu=this._onDidChangeMenu.event}addCommand(n){return this._commands.set(n.id,n),this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette)),toDisposable(()=>{this._commands.delete(n.id)&&this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(MenuId.CommandPalette))})}getCommand(n){return this._commands.get(n)}getCommands(){const n=new Map;return this._commands.forEach((e,t)=>n.set(t,e)),n}appendMenuItem(n,e){let t=this._menuItems.get(n);t||(t=new LinkedList,this._menuItems.set(n,t));const i=t.push(e);return this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(n)),toDisposable(()=>{i(),this._onDidChangeMenu.fire(MenuRegistryChangeEvent.for(n))})}appendMenuItems(n){const e=new DisposableStore;for(const{id:t,item:i}of n)e.add(this.appendMenuItem(t,i));return e}getMenuItems(n){let e;return this._menuItems.has(n)?e=[...this._menuItems.get(n)]:e=[],n===MenuId.CommandPalette&&this._appendImplicitItems(e),e}_appendImplicitItems(n){const e=new Set;for(const t of n)isIMenuItem(t)&&(e.add(t.command.id),t.alt&&e.add(t.alt.id));this._commands.forEach((t,i)=>{e.has(i)||n.push({command:t})})}};class SubmenuItemAction extends SubmenuAction{constructor(e,t,i){super("submenuitem.".concat(e.submenu.id),typeof e.title=="string"?e.title:e.title.value,i,"submenu"),this.item=e,this.hideActions=t}}let MenuItemAction=MenuItemAction_1=class{static label(e,t){return t!=null&&t.renderShortTitle&&e.shortTitle?typeof e.shortTitle=="string"?e.shortTitle:e.shortTitle.value:typeof e.title=="string"?e.title:e.title.value}constructor(e,t,i,r,g,y){var k,L;this.hideActions=r,this._commandService=y,this.id=e.id,this.label=MenuItemAction_1.label(e,i),this.tooltip=(L=typeof e.tooltip=="string"?e.tooltip:(k=e.tooltip)===null||k===void 0?void 0:k.value)!==null&&L!==void 0?L:"",this.enabled=!e.precondition||g.contextMatchesRules(e.precondition),this.checked=void 0;let V;if(e.toggled){const z=e.toggled.condition?e.toggled:{condition:e.toggled};this.checked=g.contextMatchesRules(z.condition),this.checked&&z.tooltip&&(this.tooltip=typeof z.tooltip=="string"?z.tooltip:z.tooltip.value),this.checked&&ThemeIcon.isThemeIcon(z.icon)&&(V=z.icon),this.checked&&z.title&&(this.label=typeof z.title=="string"?z.title:z.title.value)}V||(V=ThemeIcon.isThemeIcon(e.icon)?e.icon:void 0),this.item=e,this.alt=t?new MenuItemAction_1(t,void 0,i,r,g,y):void 0,this._options=i,this.class=V&&ThemeIcon.asClassName(V)}run(...e){var t,i;let r=[];return!((t=this._options)===null||t===void 0)&&t.arg&&(r=[...r,this._options.arg]),!((i=this._options)===null||i===void 0)&&i.shouldForwardArgs&&(r=[...r,...e]),this._commandService.executeCommand(this.id,...r)}};MenuItemAction=MenuItemAction_1=__decorate$2v([__param$2l(4,IContextKeyService),__param$2l(5,ICommandService)],MenuItemAction);class Action2{constructor(e){this.desc=e}}function registerAction2(n){const e=new DisposableStore,t=new n,{f1:i,menu:r,keybinding:g,...y}=t.desc;if(CommandsRegistry.getCommand(y.id))throw new Error("Cannot register two commands with the same id: ".concat(y.id));if(e.add(CommandsRegistry.registerCommand({id:y.id,handler:(k,...L)=>t.run(k,...L),metadata:y.metadata})),Array.isArray(r))for(const k of r)e.add(MenuRegistry.appendMenuItem(k.id,{command:{...y,precondition:k.precondition===null?void 0:y.precondition},...k}));else r&&e.add(MenuRegistry.appendMenuItem(r.id,{command:{...y,precondition:r.precondition===null?void 0:y.precondition},...r}));if(i&&(e.add(MenuRegistry.appendMenuItem(MenuId.CommandPalette,{command:y,when:y.precondition})),e.add(MenuRegistry.addCommand(y))),Array.isArray(g))for(const k of g)e.add(KeybindingsRegistry.registerKeybindingRule({...k,id:y.id,when:y.precondition?ContextKeyExpr.and(y.precondition,k.when):k.when}));else g&&e.add(KeybindingsRegistry.registerKeybindingRule({...g,id:y.id,when:y.precondition?ContextKeyExpr.and(y.precondition,g.when):g.when}));return e}const ITelemetryService=createDecorator("telemetryService"),ILogService=createDecorator("logService");var LogLevel;(function(n){n[n.Off=0]="Off",n[n.Trace=1]="Trace",n[n.Debug=2]="Debug",n[n.Info=3]="Info",n[n.Warning=4]="Warning",n[n.Error=5]="Error"})(LogLevel||(LogLevel={}));const DEFAULT_LOG_LEVEL=LogLevel.Info;class AbstractLogger extends Disposable{constructor(){super(...arguments),this.level=DEFAULT_LOG_LEVEL,this._onDidChangeLogLevel=this._register(new Emitter$1),this.onDidChangeLogLevel=this._onDidChangeLogLevel.event}setLevel(e){this.level!==e&&(this.level=e,this._onDidChangeLogLevel.fire(this.level))}getLevel(){return this.level}checkLogLevel(e){return this.level!==LogLevel.Off&&this.level<=e}}class ConsoleLogger extends AbstractLogger{constructor(e=DEFAULT_LOG_LEVEL,t=!0){super(),this.useColors=t,this.setLevel(e)}trace(e,...t){this.checkLogLevel(LogLevel.Trace)&&(this.useColors?console.log("%cTRACE","color: #888",e,...t):console.log(e,...t))}debug(e,...t){this.checkLogLevel(LogLevel.Debug)&&(this.useColors?console.log("%cDEBUG","background: #eee; color: #888",e,...t):console.log(e,...t))}info(e,...t){this.checkLogLevel(LogLevel.Info)&&(this.useColors?console.log("%c INFO","color: #33f",e,...t):console.log(e,...t))}warn(e,...t){this.checkLogLevel(LogLevel.Warning)&&(this.useColors?console.log("%c WARN","color: #993",e,...t):console.log(e,...t))}error(e,...t){this.checkLogLevel(LogLevel.Error)&&(this.useColors?console.log("%c ERR","color: #f33",e,...t):console.error(e,...t))}}class MultiplexLogger extends AbstractLogger{constructor(e){super(),this.loggers=e,e.length&&this.setLevel(e[0].getLevel())}setLevel(e){for(const t of this.loggers)t.setLevel(e);super.setLevel(e)}trace(e,...t){for(const i of this.loggers)i.trace(e,...t)}debug(e,...t){for(const i of this.loggers)i.debug(e,...t)}info(e,...t){for(const i of this.loggers)i.info(e,...t)}warn(e,...t){for(const i of this.loggers)i.warn(e,...t)}error(e,...t){for(const i of this.loggers)i.error(e,...t)}dispose(){for(const e of this.loggers)e.dispose();super.dispose()}}function LogLevelToString(n){switch(n){case LogLevel.Trace:return"trace";case LogLevel.Debug:return"debug";case LogLevel.Info:return"info";case LogLevel.Warning:return"warn";case LogLevel.Error:return"error";case LogLevel.Off:return"off"}}new RawContextKey("logLevel",LogLevelToString(LogLevel.Info));class Command{constructor(e){this.id=e.id,this.precondition=e.precondition,this._kbOpts=e.kbOpts,this._menuOpts=e.menuOpts,this.metadata=e.metadata}register(){if(Array.isArray(this._menuOpts)?this._menuOpts.forEach(this._registerMenuItem,this):this._menuOpts&&this._registerMenuItem(this._menuOpts),this._kbOpts){const e=Array.isArray(this._kbOpts)?this._kbOpts:[this._kbOpts];for(const t of e){let i=t.kbExpr;this.precondition&&(i?i=ContextKeyExpr.and(i,this.precondition):i=this.precondition);const r={id:this.id,weight:t.weight,args:t.args,when:i,primary:t.primary,secondary:t.secondary,win:t.win,linux:t.linux,mac:t.mac};KeybindingsRegistry.registerKeybindingRule(r)}}CommandsRegistry.registerCommand({id:this.id,handler:(e,t)=>this.runCommand(e,t),metadata:this.metadata})}_registerMenuItem(e){MenuRegistry.appendMenuItem(e.menuId,{group:e.group,command:{id:this.id,title:e.title,icon:e.icon,precondition:this.precondition},when:e.when,order:e.order})}}class MultiCommand extends Command{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t,i,r){return this._implementations.push({priority:e,name:t,implementation:i,when:r}),this._implementations.sort((g,y)=>y.priority-g.priority),{dispose:()=>{for(let g=0;g{if(k.get(IContextKeyService).contextMatchesRules(i!=null?i:void 0))return r(k,y,t)})}runCommand(e,t){return EditorCommand.runEditorCommand(e,t,this.precondition,(i,r,g)=>this.runEditorCommand(i,r,g))}}class EditorAction extends EditorCommand{static convertOptions(e){let t;Array.isArray(e.menuOpts)?t=e.menuOpts:e.menuOpts?t=[e.menuOpts]:t=[];function i(r){return r.menuId||(r.menuId=MenuId.EditorContext),r.title||(r.title=e.label),r.when=ContextKeyExpr.and(e.precondition,r.when),r}return Array.isArray(e.contextMenuOpts)?t.push(...e.contextMenuOpts.map(i)):e.contextMenuOpts&&t.push(i(e.contextMenuOpts)),e.menuOpts=t,e}constructor(e){super(EditorAction.convertOptions(e)),this.label=e.label,this.alias=e.alias}runEditorCommand(e,t,i){return this.reportTelemetry(e,t),this.run(e,t,i||{})}reportTelemetry(e,t){e.get(ITelemetryService).publicLog2("editorActionInvoked",{name:this.label,id:this.id})}}class MultiEditorAction extends EditorAction{constructor(){super(...arguments),this._implementations=[]}addImplementation(e,t){return this._implementations.push([e,t]),this._implementations.sort((i,r)=>r[0]-i[0]),{dispose:()=>{for(let i=0;i{var y,k;const L=g.get(IContextKeyService),V=g.get(ILogService);if(!L.contextMatchesRules((y=this.desc.precondition)!==null&&y!==void 0?y:void 0)){V.debug("[EditorAction2] NOT running command because its precondition is FALSE",this.desc.id,(k=this.desc.precondition)===null||k===void 0?void 0:k.serialize());return}return this.runEditorCommand(g,r,...t)})}}function registerModelAndPositionCommand(n,e){CommandsRegistry.registerCommand(n,function(t,...i){const r=t.get(IInstantiationService),[g,y]=i;assertType(URI.isUri(g)),assertType(Position$1.isIPosition(y));const k=t.get(IModelService).getModel(g);if(k){const L=Position$1.lift(y);return r.invokeFunction(e,k,L,...i.slice(2))}return t.get(ITextModelService).createModelReference(g).then(L=>new Promise((V,z)=>{try{const j=r.invokeFunction(e,L.object.textEditorModel,Position$1.lift(y),i.slice(2));V(j)}catch(j){z(j)}}).finally(()=>{L.dispose()}))})}function registerEditorCommand(n){return EditorContributionRegistry.INSTANCE.registerEditorCommand(n),n}function registerEditorAction(n){const e=new n;return EditorContributionRegistry.INSTANCE.registerEditorAction(e),e}function registerMultiEditorAction(n){return EditorContributionRegistry.INSTANCE.registerEditorAction(n),n}function registerInstantiatedEditorAction(n){EditorContributionRegistry.INSTANCE.registerEditorAction(n)}function registerEditorContribution(n,e,t){EditorContributionRegistry.INSTANCE.registerEditorContribution(n,e,t)}var EditorExtensionsRegistry;(function(n){function e(y){return EditorContributionRegistry.INSTANCE.getEditorCommand(y)}n.getEditorCommand=e;function t(){return EditorContributionRegistry.INSTANCE.getEditorActions()}n.getEditorActions=t;function i(){return EditorContributionRegistry.INSTANCE.getEditorContributions()}n.getEditorContributions=i;function r(y){return EditorContributionRegistry.INSTANCE.getEditorContributions().filter(k=>y.indexOf(k.id)>=0)}n.getSomeEditorContributions=r;function g(){return EditorContributionRegistry.INSTANCE.getDiffEditorContributions()}n.getDiffEditorContributions=g})(EditorExtensionsRegistry||(EditorExtensionsRegistry={}));const Extensions$8={EditorCommonContributions:"editor.contributions"};class EditorContributionRegistry{constructor(){this.editorContributions=[],this.diffEditorContributions=[],this.editorActions=[],this.editorCommands=Object.create(null)}registerEditorContribution(e,t,i){this.editorContributions.push({id:e,ctor:t,instantiation:i})}getEditorContributions(){return this.editorContributions.slice(0)}getDiffEditorContributions(){return this.diffEditorContributions.slice(0)}registerEditorAction(e){e.register(),this.editorActions.push(e)}getEditorActions(){return this.editorActions}registerEditorCommand(e){e.register(),this.editorCommands[e.id]=e}getEditorCommand(e){return this.editorCommands[e]||null}}EditorContributionRegistry.INSTANCE=new EditorContributionRegistry;Registry.add(Extensions$8.EditorCommonContributions,EditorContributionRegistry.INSTANCE);function registerCommand$3(n){return n.register(),n}const UndoCommand=registerCommand$3(new MultiCommand({id:"undo",precondition:void 0,kbOpts:{weight:0,primary:2104},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({},"&&Undo"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("undo","Undo"),order:1}]}));registerCommand$3(new ProxyCommand(UndoCommand,{id:"default:undo",precondition:void 0}));const RedoCommand=registerCommand$3(new MultiCommand({id:"redo",precondition:void 0,kbOpts:{weight:0,primary:2103,secondary:[3128],mac:{primary:3128}},menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"1_do",title:localize({},"&&Redo"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("redo","Redo"),order:1}]}));registerCommand$3(new ProxyCommand(RedoCommand,{id:"default:redo",precondition:void 0}));const SelectAllCommand=registerCommand$3(new MultiCommand({id:"editor.action.selectAll",precondition:void 0,kbOpts:{weight:0,kbExpr:null,primary:2079},menuOpts:[{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({},"&&Select All"),order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("selectAll","Select All"),order:1}]})),INITIALIZE="$initialize";let webWorkerWarningLogged=!1;function logOnceWebWorkerWarning(n){isWeb&&(webWorkerWarningLogged||(webWorkerWarningLogged=!0,console.warn("Could not create web worker(s). Falling back to loading web worker code in main thread, which might cause UI freezes. Please see https://github.com/microsoft/monaco-editor#faq")),console.warn(n.message))}class RequestMessage{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.method=i,this.args=r,this.type=0}}class ReplyMessage{constructor(e,t,i,r){this.vsWorker=e,this.seq=t,this.res=i,this.err=r,this.type=1}}class SubscribeEventMessage{constructor(e,t,i,r){this.vsWorker=e,this.req=t,this.eventName=i,this.arg=r,this.type=2}}class EventMessage{constructor(e,t,i){this.vsWorker=e,this.req=t,this.event=i,this.type=3}}class UnsubscribeEventMessage{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}}class SimpleWorkerProtocol{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){const i=String(++this._lastSentReq);return new Promise((r,g)=>{this._pendingReplies[i]={resolve:r,reject:g},this._send(new RequestMessage(this._workerId,i,e,t))})}listen(e,t){let i=null;const r=new Emitter$1({onWillAddFirstListener:()=>{i=String(++this._lastSentReq),this._pendingEmitters.set(i,r),this._send(new SubscribeEventMessage(this._workerId,i,e,t))},onDidRemoveLastListener:()=>{this._pendingEmitters.delete(i),this._send(new UnsubscribeEventMessage(this._workerId,i)),i=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq]){console.warn("Got reply to unknown seq");return}const t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let i=e.err;e.err.$isError&&(i=new Error,i.name=e.err.name,i.message=e.err.message,i.stack=e.err.stack),t.reject(i);return}t.resolve(e.res)}_handleRequestMessage(e){const t=e.req;this._handler.handleMessage(e.method,e.args).then(r=>{this._send(new ReplyMessage(this._workerId,t,r,void 0))},r=>{r.detail instanceof Error&&(r.detail=transformErrorForSerialization(r.detail)),this._send(new ReplyMessage(this._workerId,t,void 0,transformErrorForSerialization(r)))})}_handleSubscribeEventMessage(e){const t=e.req,i=this._handler.handleEvent(e.eventName,e.arg)(r=>{this._send(new EventMessage(this._workerId,t,r))});this._pendingEvents.set(t,i)}_handleEventMessage(e){if(!this._pendingEmitters.has(e.req)){console.warn("Got event for unknown req");return}this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){if(!this._pendingEvents.has(e.req)){console.warn("Got unsubscribe for unknown req");return}this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req)}_send(e){const t=[];if(e.type===0)for(let i=0;i{this._protocol.handleMessage(z)},z=>{r==null||r(z)})),this._protocol=new SimpleWorkerProtocol({sendMessage:(z,j)=>{this._worker.postMessage(z,j)},handleMessage:(z,j)=>{if(typeof i[z]!="function")return Promise.reject(new Error("Missing method "+z+" on main thread host."));try{return Promise.resolve(i[z].apply(i,j))}catch(ie){return Promise.reject(ie)}},handleEvent:(z,j)=>{if(propertyIsDynamicEvent(z)){const ie=i[z].call(i,j);if(typeof ie!="function")throw new Error("Missing dynamic event ".concat(z," on main thread host."));return ie}if(propertyIsEvent(z)){const ie=i[z];if(typeof ie!="function")throw new Error("Missing event ".concat(z," on main thread host."));return ie}throw new Error("Malformed event name ".concat(z))}}),this._protocol.setWorkerId(this._worker.getId());let g=null;const y=globalThis.require;typeof y<"u"&&typeof y.getConfig=="function"?g=y.getConfig():typeof globalThis.requirejs<"u"&&(g=globalThis.requirejs.s.contexts._.config);const k=getAllMethodNames(i);this._onModuleLoaded=this._protocol.sendMessage(INITIALIZE,[this._worker.getId(),JSON.parse(JSON.stringify(g)),t,k]);const L=(z,j)=>this._request(z,j),V=(z,j)=>this._protocol.listen(z,j);this._lazyProxy=new Promise((z,j)=>{r=j,this._onModuleLoaded.then(ie=>{z(createProxyObject(ie,L,V))},ie=>{j(ie),this._onError("Worker failed to load "+t,ie)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((i,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(i,r)},r)})}_onError(e,t){console.error(e),console.info(t)}}function propertyIsEvent(n){return n[0]==="o"&&n[1]==="n"&&isUpperAsciiLetter(n.charCodeAt(2))}function propertyIsDynamicEvent(n){return/^onDynamic/.test(n)&&isUpperAsciiLetter(n.charCodeAt(9))}function createProxyObject(n,e,t){const i=y=>function(){const k=Array.prototype.slice.call(arguments,0);return e(y,k)},r=y=>function(k){return t(y,k)},g={};for(const y of n){if(propertyIsDynamicEvent(y)){g[y]=r(y);continue}if(propertyIsEvent(y)){g[y]=t(y,void 0);continue}g[y]=i(y)}return g}function createTrustedTypesPolicy(n,e){var t;const i=globalThis.MonacoEnvironment;if(i!=null&&i.createTrustedTypesPolicy)try{return i.createTrustedTypesPolicy(n,e)}catch(r){onUnexpectedError(r);return}try{return(t=mainWindow.trustedTypes)===null||t===void 0?void 0:t.createPolicy(n,e)}catch(r){onUnexpectedError(r);return}}const ttPolicy$4=createTrustedTypesPolicy("defaultWorkerFactory",{createScriptURL:n=>n});function getWorker$1(n){const e=globalThis.MonacoEnvironment;if(e){if(typeof e.getWorker=="function")return e.getWorker("workerMain.js",n);if(typeof e.getWorkerUrl=="function"){const t=e.getWorkerUrl("workerMain.js",n);return new Worker(ttPolicy$4?ttPolicy$4.createScriptURL(t):t,{name:n})}}throw new Error("You must define a function MonacoEnvironment.getWorkerUrl or MonacoEnvironment.getWorker")}function isPromiseLike(n){return typeof n.then=="function"}class WebWorker extends Disposable{constructor(e,t,i,r,g){super(),this.id=t,this.label=i;const y=getWorker$1(i);isPromiseLike(y)?this.worker=y:this.worker=Promise.resolve(y),this.postMessage(e,[]),this.worker.then(k=>{k.onmessage=function(L){r(L.data)},k.onmessageerror=g,typeof k.addEventListener=="function"&&k.addEventListener("error",g)}),this._register(toDisposable(()=>{var k;(k=this.worker)===null||k===void 0||k.then(L=>{L.onmessage=null,L.onmessageerror=null,L.removeEventListener("error",g),L.terminate()}),this.worker=null}))}getId(){return this.id}postMessage(e,t){var i;(i=this.worker)===null||i===void 0||i.then(r=>{try{r.postMessage(e,t)}catch(g){onUnexpectedError(g),onUnexpectedError(new Error("FAILED to post message to '".concat(this.label,"'-worker"),{cause:g}))}})}}class DefaultWorkerFactory{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(e,t,i){const r=++DefaultWorkerFactory.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new WebWorker(e,r,this._label||"anonymous"+r,t,g=>{logOnceWebWorkerWarning(g),this._webWorkerFailedBeforeError=g,i(g)})}}DefaultWorkerFactory.LAST_WORKER_ID=0;var IndentAction;(function(n){n[n.None=0]="None",n[n.Indent=1]="Indent",n[n.IndentOutdent=2]="IndentOutdent",n[n.Outdent=3]="Outdent"})(IndentAction||(IndentAction={}));class StandardAutoClosingPairConditional{constructor(e){if(this._neutralCharacter=null,this._neutralCharacterSearched=!1,this.open=e.open,this.close=e.close,this._inString=!0,this._inComment=!0,this._inRegEx=!0,Array.isArray(e.notIn))for(let t=0,i=e.notIn.length;t0&&n.getLanguageId(y-1)===r;)y--;return new ScopedLineTokens(n,r,y,g+1,n.getStartOffset(y),n.getEndOffset(g))}class ScopedLineTokens{constructor(e,t,i,r,g,y){this._scopedLineTokensBrand=void 0,this._actual=e,this.languageId=t,this._firstTokenIndex=i,this._lastTokenIndex=r,this.firstCharOffset=g,this._lastCharOffset=y}getLineContent(){return this._actual.getLineContent().substring(this.firstCharOffset,this._lastCharOffset)}getActualLineContentBefore(e){return this._actual.getLineContent().substring(0,this.firstCharOffset+e)}getTokenCount(){return this._lastTokenIndex-this._firstTokenIndex}findTokenIndexAtOffset(e){return this._actual.findTokenIndexAtOffset(e+this.firstCharOffset)-this._firstTokenIndex}getStandardTokenType(e){return this._actual.getStandardTokenType(e+this._firstTokenIndex)}}function ignoreBracketsInToken(n){return(n&3)!==0}class CharacterPairSupport{constructor(e){if(e.autoClosingPairs?this._autoClosingPairs=e.autoClosingPairs.map(t=>new StandardAutoClosingPairConditional(t)):e.brackets?this._autoClosingPairs=e.brackets.map(t=>new StandardAutoClosingPairConditional({open:t[0],close:t[1]})):this._autoClosingPairs=[],e.__electricCharacterSupport&&e.__electricCharacterSupport.docComment){const t=e.__electricCharacterSupport.docComment;this._autoClosingPairs.push(new StandardAutoClosingPairConditional({open:t.open,close:t.close||""}))}this._autoCloseBeforeForQuotes=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES,this._autoCloseBeforeForBrackets=typeof e.autoCloseBefore=="string"?e.autoCloseBefore:CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS,this._surroundingPairs=e.surroundingPairs||this._autoClosingPairs}getAutoClosingPairs(){return this._autoClosingPairs}getAutoCloseBeforeSet(e){return e?this._autoCloseBeforeForQuotes:this._autoCloseBeforeForBrackets}getSurroundingPairs(){return this._surroundingPairs}}CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_QUOTES=";:.,=}])> \n ";CharacterPairSupport.DEFAULT_AUTOCLOSE_BEFORE_LANGUAGE_DEFINED_BRACKETS="'\"`;:.,=}])> \n ";const hasBuffer=typeof Buffer<"u";let textDecoder;class VSBuffer{static wrap(e){return hasBuffer&&!Buffer.isBuffer(e)&&(e=Buffer.from(e.buffer,e.byteOffset,e.byteLength)),new VSBuffer(e)}constructor(e){this.buffer=e,this.byteLength=this.buffer.byteLength}toString(){return hasBuffer?this.buffer.toString():(textDecoder||(textDecoder=new TextDecoder),textDecoder.decode(this.buffer))}}function readUInt16LE(n,e){return n[e+0]<<0>>>0|n[e+1]<<8>>>0}function writeUInt16LE(n,e,t){n[t+0]=e&255,e=e>>>8,n[t+1]=e&255}function readUInt32BE(n,e){return n[e]*2**24+n[e+1]*2**16+n[e+2]*2**8+n[e+3]}function writeUInt32BE(n,e,t){n[t+3]=e,e=e>>>8,n[t+2]=e,e=e>>>8,n[t+1]=e,e=e>>>8,n[t]=e}function readUInt8(n,e){return n[e]}function writeUInt8(n,e,t){n[t]=e}let _utf16LE_TextDecoder;function getUTF16LE_TextDecoder(){return _utf16LE_TextDecoder||(_utf16LE_TextDecoder=new TextDecoder("UTF-16LE")),_utf16LE_TextDecoder}let _utf16BE_TextDecoder;function getUTF16BE_TextDecoder(){return _utf16BE_TextDecoder||(_utf16BE_TextDecoder=new TextDecoder("UTF-16BE")),_utf16BE_TextDecoder}let _platformTextDecoder;function getPlatformTextDecoder(){return _platformTextDecoder||(_platformTextDecoder=isLittleEndian()?getUTF16LE_TextDecoder():getUTF16BE_TextDecoder()),_platformTextDecoder}function decodeUTF16LE(n,e,t){const i=new Uint16Array(n.buffer,e,t);return t>0&&(i[0]===65279||i[0]===65534)?compatDecodeUTF16LE(n,e,t):getUTF16LE_TextDecoder().decode(i)}function compatDecodeUTF16LE(n,e,t){const i=[];let r=0;for(let g=0;g=this._capacity){this._flushBuffer(),this._completedStrings[this._completedStrings.length]=e;return}for(let i=0;i[y[0].toLowerCase(),y[1].toLowerCase()]);const t=[];for(let y=0;y{const[L,V]=y,[z,j]=k;return L===z||L===j||V===z||V===j},r=(y,k)=>{const L=Math.min(y,k),V=Math.max(y,k);for(let z=0;z0&&g.push({open:k,close:L})}return g}class RichEditBrackets{constructor(e,t){this._richEditBracketsBrand=void 0;const i=groupFuzzyBrackets(t);this.brackets=i.map((r,g)=>new RichEditBracket(e,g,r.open,r.close,getRegexForBracketPair(r.open,r.close,i,g),getReversedRegexForBracketPair(r.open,r.close,i,g))),this.forwardRegex=getRegexForBrackets(this.brackets),this.reversedRegex=getReversedRegexForBrackets(this.brackets),this.textIsBracket={},this.textIsOpenBracket={},this.maxBracketLength=0;for(const r of this.brackets){for(const g of r.open)this.textIsBracket[g]=r,this.textIsOpenBracket[g]=!0,this.maxBracketLength=Math.max(this.maxBracketLength,g.length);for(const g of r.close)this.textIsBracket[g]=r,this.textIsOpenBracket[g]=!1,this.maxBracketLength=Math.max(this.maxBracketLength,g.length)}}}function collectSuperstrings(n,e,t,i){for(let r=0,g=e.length;r=0&&i.push(k);for(const k of y.close)k.indexOf(n)>=0&&i.push(k)}}function lengthcmp(n,e){return n.length-e.length}function unique$1(n){if(n.length<=1)return n;const e=[],t=new Set;for(const i of n)t.has(i)||(e.push(i),t.add(i));return e}function getRegexForBracketPair(n,e,t,i){let r=[];r=r.concat(n),r=r.concat(e);for(let g=0,y=r.length;g=0;y--)r[g++]=i.charCodeAt(y);return getPlatformTextDecoder().decode(r)}let e=null,t=null;return function(r){return e!==r&&(e=r,t=n(e)),t}}();class BracketsUtils{static _findPrevBracketInText(e,t,i,r){const g=i.match(e);if(!g)return null;const y=i.length-(g.index||0),k=g[0].length,L=r+y;return new Range$2(t,L-k+1,t,L+1)}static findPrevBracketInRange(e,t,i,r,g){const k=toReversedString(i).substring(i.length-g,i.length-r);return this._findPrevBracketInText(e,t,k,r)}static findNextBracketInText(e,t,i,r){const g=i.match(e);if(!g)return null;const y=g.index||0,k=g[0].length;if(k===0)return null;const L=r+y;return new Range$2(t,L+1,t,L+1+k)}static findNextBracketInRange(e,t,i,r,g){const y=i.substring(r,g);return this.findNextBracketInText(e,t,y,r)}}class BracketElectricCharacterSupport{constructor(e){this._richEditBrackets=e}getElectricCharacters(){const e=[];if(this._richEditBrackets)for(const t of this._richEditBrackets.brackets)for(const i of t.close){const r=i.charAt(i.length-1);e.push(r)}return distinct(e)}onElectricCharacter(e,t,i){if(!this._richEditBrackets||this._richEditBrackets.brackets.length===0)return null;const r=t.findTokenIndexAtOffset(i-1);if(ignoreBracketsInToken(t.getStandardTokenType(r)))return null;const g=this._richEditBrackets.reversedRegex,y=t.getLineContent().substring(0,i-1)+e,k=BracketsUtils.findPrevBracketInRange(g,1,y,0,y.length);if(!k)return null;const L=y.substring(k.startColumn-1,k.endColumn-1).toLowerCase();if(this._richEditBrackets.textIsOpenBracket[L])return null;const z=t.getActualLineContentBefore(k.startColumn-1);return/^\s*$/.test(z)?{matchOpenBracket:L}:null}}function resetGlobalRegex(n){return n.global&&(n.lastIndex=0),!0}class IndentRulesSupport{constructor(e){this._indentationRules=e}shouldIncrease(e){return!!(this._indentationRules&&this._indentationRules.increaseIndentPattern&&resetGlobalRegex(this._indentationRules.increaseIndentPattern)&&this._indentationRules.increaseIndentPattern.test(e))}shouldDecrease(e){return!!(this._indentationRules&&this._indentationRules.decreaseIndentPattern&&resetGlobalRegex(this._indentationRules.decreaseIndentPattern)&&this._indentationRules.decreaseIndentPattern.test(e))}shouldIndentNextLine(e){return!!(this._indentationRules&&this._indentationRules.indentNextLinePattern&&resetGlobalRegex(this._indentationRules.indentNextLinePattern)&&this._indentationRules.indentNextLinePattern.test(e))}shouldIgnore(e){return!!(this._indentationRules&&this._indentationRules.unIndentedLinePattern&&resetGlobalRegex(this._indentationRules.unIndentedLinePattern)&&this._indentationRules.unIndentedLinePattern.test(e))}getIndentMetadata(e){let t=0;return this.shouldIncrease(e)&&(t+=1),this.shouldDecrease(e)&&(t+=2),this.shouldIndentNextLine(e)&&(t+=4),this.shouldIgnore(e)&&(t+=8),t}}class OnEnterSupport{constructor(e){e=e||{},e.brackets=e.brackets||[["(",")"],["{","}"],["[","]"]],this._brackets=[],e.brackets.forEach(t=>{const i=OnEnterSupport._createOpenBracketRegExp(t[0]),r=OnEnterSupport._createCloseBracketRegExp(t[1]);i&&r&&this._brackets.push({open:t[0],openRegExp:i,close:t[1],closeRegExp:r})}),this._regExpRules=e.onEnterRules||[]}onEnter(e,t,i,r){if(e>=3)for(let g=0,y=this._regExpRules.length;gV.reg?(V.reg.lastIndex=0,V.reg.test(V.text)):!0))return k.action}if(e>=2&&i.length>0&&r.length>0)for(let g=0,y=this._brackets.length;g=2&&i.length>0){for(let g=0,y=this._brackets.length;g"u"?t:g}function getLanguageTagSettingPlainKey(n){return n.replace(/[\[\]]/g,"")}const ILanguageService=createDecorator("languageService");class SyncDescriptor{constructor(e,t=[],i=!1){this.ctor=e,this.staticArguments=t,this.supportsDelayedInstantiation=i}}const _registry=[];function registerSingleton(n,e,t){e instanceof SyncDescriptor||(e=new SyncDescriptor(e,[],!!t)),_registry.push([n,e])}function getSingletonServiceDescriptors(){return _registry}const Mimes=Object.freeze({text:"text/plain",binary:"application/octet-stream",unknown:"application/unknown",markdown:"text/markdown",latex:"text/latex",uriList:"text/uri-list"}),Extensions$7={JSONContribution:"base.contributions.json"};function normalizeId(n){return n.length>0&&n.charAt(n.length-1)==="#"?n.substring(0,n.length-1):n}class JSONContributionRegistry{constructor(){this._onDidChangeSchema=new Emitter$1,this.schemasById={}}registerSchema(e,t){this.schemasById[normalizeId(e)]=t,this._onDidChangeSchema.fire(e)}notifySchemaChanged(e){this._onDidChangeSchema.fire(e)}}const jsonContributionRegistry=new JSONContributionRegistry;Registry.add(Extensions$7.JSONContribution,jsonContributionRegistry);const Extensions$6={Configuration:"base.contributions.configuration"},resourceLanguageSettingsSchemaId="vscode://schemas/settings/resourceLanguage",contributionRegistry=Registry.as(Extensions$7.JSONContribution);class ConfigurationRegistry{constructor(){this.overrideIdentifiers=new Set,this._onDidSchemaChange=new Emitter$1,this._onDidUpdateConfiguration=new Emitter$1,this.configurationDefaultsOverrides=new Map,this.defaultLanguageConfigurationOverridesNode={id:"defaultOverrides",title:localize("defaultLanguageConfigurationOverrides.title","Default Language Configuration Overrides"),properties:{}},this.configurationContributors=[this.defaultLanguageConfigurationOverridesNode],this.resourceLanguageSettingsSchema={properties:{},patternProperties:{},additionalProperties:!0,allowTrailingCommas:!0,allowComments:!0},this.configurationProperties={},this.policyConfigurations=new Map,this.excludedConfigurationProperties={},contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this.registerOverridePropertyPatternKey()}registerConfiguration(e,t=!0){this.registerConfigurations([e],t)}registerConfigurations(e,t=!0){const i=new Set;this.doRegisterConfigurations(e,t,i),contributionRegistry.registerSchema(resourceLanguageSettingsSchemaId,this.resourceLanguageSettingsSchema),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:i})}registerDefaultConfigurations(e){const t=new Set;this.doRegisterDefaultConfigurations(e,t),this._onDidSchemaChange.fire(),this._onDidUpdateConfiguration.fire({properties:t,defaultsOverrides:!0})}doRegisterDefaultConfigurations(e,t){var i;const r=[];for(const{overrides:g,source:y}of e)for(const k in g)if(t.add(k),OVERRIDE_PROPERTY_REGEX.test(k)){const L=this.configurationDefaultsOverrides.get(k),V=(i=L==null?void 0:L.valuesSources)!==null&&i!==void 0?i:new Map;if(y)for(const oe of Object.keys(g[k]))V.set(oe,y);const z={...(L==null?void 0:L.value)||{},...g[k]};this.configurationDefaultsOverrides.set(k,{source:y,value:z,valuesSources:V});const j=getLanguageTagSettingPlainKey(k),ie={type:"object",default:z,description:localize("defaultLanguageConfiguration.description","Configure settings to be overridden for the {0} language.",j),$ref:resourceLanguageSettingsSchemaId,defaultDefaultValue:z,source:isString$3(y)?void 0:y,defaultValueSource:y};r.push(...overrideIdentifiersFromKey(k)),this.configurationProperties[k]=ie,this.defaultLanguageConfigurationOverridesNode.properties[k]=ie}else{this.configurationDefaultsOverrides.set(k,{value:g[k],source:y});const L=this.configurationProperties[k];L&&(this.updatePropertyDefaultValue(k,L),this.updateSchema(k,L))}this.doRegisterOverrideIdentifiers(r)}registerOverrideIdentifiers(e){this.doRegisterOverrideIdentifiers(e),this._onDidSchemaChange.fire()}doRegisterOverrideIdentifiers(e){for(const t of e)this.overrideIdentifiers.add(t);this.updateOverridePropertyPatternKey()}doRegisterConfigurations(e,t,i){e.forEach(r=>{this.validateAndRegisterProperties(r,t,r.extensionInfo,r.restrictedProperties,void 0,i),this.configurationContributors.push(r),this.registerJSONConfiguration(r)})}validateAndRegisterProperties(e,t=!0,i,r,g=3,y){var k;g=isUndefinedOrNull(e.scope)?g:e.scope;const L=e.properties;if(L)for(const z in L){const j=L[z];if(t&&validateProperty(z,j)){delete L[z];continue}if(j.source=i,j.defaultDefaultValue=L[z].default,this.updatePropertyDefaultValue(z,j),OVERRIDE_PROPERTY_REGEX.test(z)?j.scope=void 0:(j.scope=isUndefinedOrNull(j.scope)?g:j.scope,j.restricted=isUndefinedOrNull(j.restricted)?!!(r!=null&&r.includes(z)):j.restricted),L[z].hasOwnProperty("included")&&!L[z].included){this.excludedConfigurationProperties[z]=L[z],delete L[z];continue}else this.configurationProperties[z]=L[z],!((k=L[z].policy)===null||k===void 0)&&k.name&&this.policyConfigurations.set(L[z].policy.name,z);!L[z].deprecationMessage&&L[z].markdownDeprecationMessage&&(L[z].deprecationMessage=L[z].markdownDeprecationMessage),y.add(z)}const V=e.allOf;if(V)for(const z of V)this.validateAndRegisterProperties(z,t,i,r,g,y)}getConfigurationProperties(){return this.configurationProperties}getPolicyConfigurations(){return this.policyConfigurations}registerJSONConfiguration(e){const t=i=>{const r=i.properties;if(r)for(const y in r)this.updateSchema(y,r[y]);const g=i.allOf;g==null||g.forEach(t)};t(e)}updateSchema(e,t){switch(t.scope){case 1:break;case 2:break;case 6:break;case 3:break;case 4:break;case 5:this.resourceLanguageSettingsSchema.properties[e]=t;break}}updateOverridePropertyPatternKey(){for(const e of this.overrideIdentifiers.values()){const t="[".concat(e,"]"),i={type:"object",description:localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),errorMessage:localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),$ref:resourceLanguageSettingsSchemaId};this.updatePropertyDefaultValue(t,i)}}registerOverridePropertyPatternKey(){localize("overrideSettings.defaultDescription","Configure editor settings to be overridden for a language."),localize("overrideSettings.errorMessage","This setting does not support per-language configuration."),this._onDidSchemaChange.fire()}updatePropertyDefaultValue(e,t){const i=this.configurationDefaultsOverrides.get(e);let r=i==null?void 0:i.value,g=i==null?void 0:i.source;isUndefined$3(r)&&(r=t.defaultDefaultValue,g=void 0),isUndefined$3(r)&&(r=getDefaultValue$1(t.type)),t.default=r,t.defaultValueSource=g}}const OVERRIDE_IDENTIFIER_PATTERN="\\[([^\\]]+)\\]",OVERRIDE_IDENTIFIER_REGEX=new RegExp(OVERRIDE_IDENTIFIER_PATTERN,"g"),OVERRIDE_PROPERTY_PATTERN="^(".concat(OVERRIDE_IDENTIFIER_PATTERN,")+$"),OVERRIDE_PROPERTY_REGEX=new RegExp(OVERRIDE_PROPERTY_PATTERN);function overrideIdentifiersFromKey(n){const e=[];if(OVERRIDE_PROPERTY_REGEX.test(n)){let t=OVERRIDE_IDENTIFIER_REGEX.exec(n);for(;t!=null&&t.length;){const i=t[1].trim();i&&e.push(i),t=OVERRIDE_IDENTIFIER_REGEX.exec(n)}}return distinct(e)}function getDefaultValue$1(n){switch(Array.isArray(n)?n[0]:n){case"boolean":return!1;case"integer":case"number":return 0;case"string":return"";case"array":return[];case"object":return{};default:return null}}const configurationRegistry$2=new ConfigurationRegistry;Registry.add(Extensions$6.Configuration,configurationRegistry$2);function validateProperty(n,e){var t,i,r,g;return n.trim()?OVERRIDE_PROPERTY_REGEX.test(n)?localize("config.property.languageDefault","Cannot register '{0}'. This matches property pattern '\\\\[.*\\\\]$' for describing language specific editor settings. Use 'configurationDefaults' contribution.",n):configurationRegistry$2.getConfigurationProperties()[n]!==void 0?localize("config.property.duplicate","Cannot register '{0}'. This property is already registered.",n):!((t=e.policy)===null||t===void 0)&&t.name&&configurationRegistry$2.getPolicyConfigurations().get((i=e.policy)===null||i===void 0?void 0:i.name)!==void 0?localize("config.policy.duplicate","Cannot register '{0}'. The associated policy {1} is already registered with {2}.",n,(r=e.policy)===null||r===void 0?void 0:r.name,configurationRegistry$2.getPolicyConfigurations().get((g=e.policy)===null||g===void 0?void 0:g.name)):null:localize("config.property.empty","Cannot register an empty property")}const Extensions$5={ModesRegistry:"editor.modesRegistry"};class EditorModesRegistry{constructor(){this._onDidChangeLanguages=new Emitter$1,this.onDidChangeLanguages=this._onDidChangeLanguages.event,this._languages=[]}registerLanguage(e){return this._languages.push(e),this._onDidChangeLanguages.fire(void 0),{dispose:()=>{for(let t=0,i=this._languages.length;t{const L=new Set;return{info:new OpeningBracketKind(this,k,L),closing:L}}),g=new CachedFunction(k=>{const L=new Set,V=new Set;return{info:new ClosingBracketKind(this,k,L,V),opening:L,openingColorized:V}});for(const[k,L]of i){const V=r.get(k),z=g.get(L);V.closing.add(z.info),z.opening.add(V.info)}const y=t.colorizedBracketPairs?filterValidBrackets(t.colorizedBracketPairs):i.filter(k=>!(k[0]==="<"&&k[1]===">"));for(const[k,L]of y){const V=r.get(k),z=g.get(L);V.closing.add(z.info),z.openingColorized.add(V.info),z.opening.add(V.info)}this._openingBrackets=new Map([...r.cachedValues].map(([k,L])=>[k,L.info])),this._closingBrackets=new Map([...g.cachedValues].map(([k,L])=>[k,L.info]))}get openingBrackets(){return[...this._openingBrackets.values()]}get closingBrackets(){return[...this._closingBrackets.values()]}getOpeningBracketInfo(e){return this._openingBrackets.get(e)}getClosingBracketInfo(e){return this._closingBrackets.get(e)}getBracketInfo(e){return this.getOpeningBracketInfo(e)||this.getClosingBracketInfo(e)}}function filterValidBrackets(n){return n.filter(([e,t])=>e!==""&&t!=="")}class BracketKindBase{constructor(e,t){this.config=e,this.bracketText=t}get languageId(){return this.config.languageId}}class OpeningBracketKind extends BracketKindBase{constructor(e,t,i){super(e,t),this.openedBrackets=i,this.isOpeningBracket=!0}}class ClosingBracketKind extends BracketKindBase{constructor(e,t,i,r){super(e,t),this.openingBrackets=i,this.openingColorizedBrackets=r,this.isOpeningBracket=!1}closes(e){return e.config!==this.config?!1:this.openingBrackets.has(e)}closesColorized(e){return e.config!==this.config?!1:this.openingColorizedBrackets.has(e)}getOpeningBrackets(){return[...this.openingBrackets]}}var __decorate$2u=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2k=function(n,e){return function(t,i){e(t,i,n)}};class LanguageConfigurationServiceChangeEvent{constructor(e){this.languageId=e}affects(e){return this.languageId?this.languageId===e:!0}}const ILanguageConfigurationService=createDecorator("languageConfigurationService");let LanguageConfigurationService=class extends Disposable{constructor(e,t){super(),this.configurationService=e,this.languageService=t,this._registry=this._register(new LanguageConfigurationRegistry),this.onDidChangeEmitter=this._register(new Emitter$1),this.onDidChange=this.onDidChangeEmitter.event,this.configurations=new Map;const i=new Set(Object.values(customizedLanguageConfigKeys));this._register(this.configurationService.onDidChangeConfiguration(r=>{const g=r.change.keys.some(k=>i.has(k)),y=r.change.overrides.filter(([k,L])=>L.some(V=>i.has(V))).map(([k])=>k);if(g)this.configurations.clear(),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(void 0));else for(const k of y)this.languageService.isRegisteredLanguageId(k)&&(this.configurations.delete(k),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(k)))})),this._register(this._registry.onDidChange(r=>{this.configurations.delete(r.languageId),this.onDidChangeEmitter.fire(new LanguageConfigurationServiceChangeEvent(r.languageId))}))}register(e,t,i){return this._registry.register(e,t,i)}getLanguageConfiguration(e){let t=this.configurations.get(e);return t||(t=computeConfig(e,this._registry,this.configurationService,this.languageService),this.configurations.set(e,t)),t}};LanguageConfigurationService=__decorate$2u([__param$2k(0,IConfigurationService),__param$2k(1,ILanguageService)],LanguageConfigurationService);function computeConfig(n,e,t,i){let r=e.getLanguageConfiguration(n);if(!r){if(!i.isRegisteredLanguageId(n))return new ResolvedLanguageConfiguration(n,{});r=new ResolvedLanguageConfiguration(n,{})}const g=getCustomizedLanguageConfig(r.languageId,t),y=combineLanguageConfigurations([r.underlyingConfig,g]);return new ResolvedLanguageConfiguration(r.languageId,y)}const customizedLanguageConfigKeys={brackets:"editor.language.brackets",colorizedBracketPairs:"editor.language.colorizedBracketPairs"};function getCustomizedLanguageConfig(n,e){const t=e.getValue(customizedLanguageConfigKeys.brackets,{overrideIdentifier:n}),i=e.getValue(customizedLanguageConfigKeys.colorizedBracketPairs,{overrideIdentifier:n});return{brackets:validateBracketPairs(t),colorizedBracketPairs:validateBracketPairs(i)}}function validateBracketPairs(n){if(Array.isArray(n))return n.map(e=>{if(!(!Array.isArray(e)||e.length!==2))return[e[0],e[1]]}).filter(e=>!!e)}function getIndentationAtPosition(n,e,t){const i=n.getLineContent(e);let r=getLeadingWhitespace(i);return r.length>t-1&&(r=r.substring(0,t-1)),r}function getScopedLineTokens(n,e,t){n.tokenization.forceTokenization(e);const i=n.tokenization.getLineTokens(e),r=typeof t>"u"?n.getLineMaxColumn(e)-1:t-1;return createScopedLineTokens(i,r)}class ComposedLanguageConfiguration{constructor(e){this.languageId=e,this._resolved=null,this._entries=[],this._order=0,this._resolved=null}register(e,t){const i=new LanguageConfigurationContribution(e,t,++this._order);return this._entries.push(i),this._resolved=null,toDisposable(()=>{for(let r=0;re.configuration)))}}function combineLanguageConfigurations(n){let e={comments:void 0,brackets:void 0,wordPattern:void 0,indentationRules:void 0,onEnterRules:void 0,autoClosingPairs:void 0,surroundingPairs:void 0,autoCloseBefore:void 0,folding:void 0,colorizedBracketPairs:void 0,__electricCharacterSupport:void 0};for(const t of n)e={comments:t.comments||e.comments,brackets:t.brackets||e.brackets,wordPattern:t.wordPattern||e.wordPattern,indentationRules:t.indentationRules||e.indentationRules,onEnterRules:t.onEnterRules||e.onEnterRules,autoClosingPairs:t.autoClosingPairs||e.autoClosingPairs,surroundingPairs:t.surroundingPairs||e.surroundingPairs,autoCloseBefore:t.autoCloseBefore||e.autoCloseBefore,folding:t.folding||e.folding,colorizedBracketPairs:t.colorizedBracketPairs||e.colorizedBracketPairs,__electricCharacterSupport:t.__electricCharacterSupport||e.__electricCharacterSupport};return e}class LanguageConfigurationContribution{constructor(e,t,i){this.configuration=e,this.priority=t,this.order=i}static cmp(e,t){return e.priority===t.priority?e.order-t.order:e.priority-t.priority}}class LanguageConfigurationChangeEvent{constructor(e){this.languageId=e}}class LanguageConfigurationRegistry extends Disposable{constructor(){super(),this._entries=new Map,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._register(this.register(PLAINTEXT_LANGUAGE_ID,{brackets:[["(",")"],["[","]"],["{","}"]],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],colorizedBracketPairs:[],folding:{offSide:!0}},0))}register(e,t,i=0){let r=this._entries.get(e);r||(r=new ComposedLanguageConfiguration(e),this._entries.set(e,r));const g=r.register(t,i);return this._onDidChange.fire(new LanguageConfigurationChangeEvent(e)),toDisposable(()=>{g.dispose(),this._onDidChange.fire(new LanguageConfigurationChangeEvent(e))})}getLanguageConfiguration(e){const t=this._entries.get(e);return(t==null?void 0:t.getResolvedConfiguration())||null}}class ResolvedLanguageConfiguration{constructor(e,t){this.languageId=e,this.underlyingConfig=t,this._brackets=null,this._electricCharacter=null,this._onEnterSupport=this.underlyingConfig.brackets||this.underlyingConfig.indentationRules||this.underlyingConfig.onEnterRules?new OnEnterSupport(this.underlyingConfig):null,this.comments=ResolvedLanguageConfiguration._handleComments(this.underlyingConfig),this.characterPair=new CharacterPairSupport(this.underlyingConfig),this.wordDefinition=this.underlyingConfig.wordPattern||DEFAULT_WORD_REGEXP,this.indentationRules=this.underlyingConfig.indentationRules,this.underlyingConfig.indentationRules?this.indentRulesSupport=new IndentRulesSupport(this.underlyingConfig.indentationRules):this.indentRulesSupport=null,this.foldingRules=this.underlyingConfig.folding||{},this.bracketsNew=new LanguageBracketsConfiguration(e,this.underlyingConfig)}getWordDefinition(){return ensureValidWordDefinition(this.wordDefinition)}get brackets(){return!this._brackets&&this.underlyingConfig.brackets&&(this._brackets=new RichEditBrackets(this.languageId,this.underlyingConfig.brackets)),this._brackets}get electricCharacter(){return this._electricCharacter||(this._electricCharacter=new BracketElectricCharacterSupport(this.brackets)),this._electricCharacter}onEnter(e,t,i,r){return this._onEnterSupport?this._onEnterSupport.onEnter(e,t,i,r):null}getAutoClosingPairs(){return new AutoClosingPairs(this.characterPair.getAutoClosingPairs())}getAutoCloseBeforeSet(e){return this.characterPair.getAutoCloseBeforeSet(e)}getSurroundingPairs(){return this.characterPair.getSurroundingPairs()}static _handleComments(e){const t=e.comments;if(!t)return null;const i={};if(t.lineComment&&(i.lineCommentToken=t.lineComment),t.blockComment){const[r,g]=t.blockComment;i.blockCommentStartToken=r,i.blockCommentEndToken=g}return i}}registerSingleton(ILanguageConfigurationService,LanguageConfigurationService,1);class DiffChange{constructor(e,t,i,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=i,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}}class StringDiffSequence{constructor(e){this.source=e}getElements(){const e=this.source,t=new Int32Array(e.length);for(let i=0,r=e.length;i0||this.m_modifiedCount>0)&&this.m_changes.push(new DiffChange(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}}class LcsDiff{constructor(e,t,i=null){this.ContinueProcessingPredicate=i,this._originalSequence=e,this._modifiedSequence=t;const[r,g,y]=LcsDiff._getElements(e),[k,L,V]=LcsDiff._getElements(t);this._hasStrings=y&&V,this._originalStringElements=r,this._originalElementsOrHash=g,this._modifiedStringElements=k,this._modifiedElementsOrHash=L,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]=="string"}static _getElements(e){const t=e.getElements();if(LcsDiff._isStringArray(t)){const i=new Int32Array(t.length);for(let r=0,g=t.length;r=e&&r>=i&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||i>r){let j;return i<=r?(Debug.Assert(e===t+1,"originalStart should only be one more than originalEnd"),j=[new DiffChange(e,0,i,r-i+1)]):e<=t?(Debug.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),j=[new DiffChange(e,t-e+1,i,0)]):(Debug.Assert(e===t+1,"originalStart should only be one more than originalEnd"),Debug.Assert(i===r+1,"modifiedStart should only be one more than modifiedEnd"),j=[]),j}const y=[0],k=[0],L=this.ComputeRecursionPoint(e,t,i,r,y,k,g),V=y[0],z=k[0];if(L!==null)return L;if(!g[0]){const j=this.ComputeDiffRecursive(e,V,i,z,g);let ie=[];return g[0]?ie=[new DiffChange(V+1,t-(V+1)+1,z+1,r-(z+1)+1)]:ie=this.ComputeDiffRecursive(V+1,t,z+1,r,g),this.ConcatenateChanges(j,ie)}return[new DiffChange(e,t-e+1,i,r-i+1)]}WALKTRACE(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le,de,ue){let he=null,pe=null,Ce=new DiffChangeHelper,$e=t,xe=i,Ie=oe[0]-le[0]-r,Ne=-1073741824,Fe=this.m_forwardHistory.length-1;do{const Ve=Ie+e;Ve===$e||Ve=0&&(V=this.m_forwardHistory[Fe],e=V[0],$e=1,xe=V.length-1)}while(--Fe>=-1);if(he=Ce.getReverseChanges(),ue[0]){let Ve=oe[0]+1,Oe=le[0]+1;if(he!==null&&he.length>0){const ze=he[he.length-1];Ve=Math.max(Ve,ze.getOriginalEnd()),Oe=Math.max(Oe,ze.getModifiedEnd())}pe=[new DiffChange(Ve,ie-Ve+1,Oe,ae-Oe+1)]}else{Ce=new DiffChangeHelper,$e=y,xe=k,Ie=oe[0]-le[0]-L,Ne=1073741824,Fe=de?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{const Ve=Ie+g;Ve===$e||Ve=z[Ve+1]?(j=z[Ve+1]-1,re=j-Ie-L,j>Ne&&Ce.MarkNextChange(),Ne=j+1,Ce.AddOriginalElement(j+1,re+1),Ie=Ve+1-g):(j=z[Ve-1],re=j-Ie-L,j>Ne&&Ce.MarkNextChange(),Ne=j,Ce.AddModifiedElement(j+1,re+1),Ie=Ve-1-g),Fe>=0&&(z=this.m_reverseHistory[Fe],g=z[0],$e=1,xe=z.length-1)}while(--Fe>=-1);pe=Ce.getChanges()}return this.ConcatenateChanges(he,pe)}ComputeRecursionPoint(e,t,i,r,g,y,k){let L=0,V=0,z=0,j=0,ie=0,oe=0;e--,i--,g[0]=0,y[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];const re=t-e+(r-i),ae=re+1,le=new Int32Array(ae),de=new Int32Array(ae),ue=r-i,he=t-e,pe=e-i,Ce=t-r,xe=(he-ue)%2===0;le[ue]=e,de[he]=t,k[0]=!1;for(let Ie=1;Ie<=re/2+1;Ie++){let Ne=0,Fe=0;z=this.ClipDiagonalBound(ue-Ie,Ie,ue,ae),j=this.ClipDiagonalBound(ue+Ie,Ie,ue,ae);for(let Oe=z;Oe<=j;Oe+=2){Oe===z||OeNe+Fe&&(Ne=L,Fe=V),!xe&&Math.abs(Oe-he)<=Ie-1&&L>=de[Oe])return g[0]=L,y[0]=V,ze<=de[Oe]&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):null}const Ve=(Ne-e+(Fe-i)-Ie)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(Ne,Ve))return k[0]=!0,g[0]=Ne,y[0]=Fe,Ve>0&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):(e++,i++,[new DiffChange(e,t-e+1,i,r-i+1)]);ie=this.ClipDiagonalBound(he-Ie,Ie,he,ae),oe=this.ClipDiagonalBound(he+Ie,Ie,he,ae);for(let Oe=ie;Oe<=oe;Oe+=2){Oe===ie||Oe=de[Oe+1]?L=de[Oe+1]-1:L=de[Oe-1],V=L-(Oe-he)-Ce;const ze=L;for(;L>e&&V>i&&this.ElementsAreEqual(L,V);)L--,V--;if(de[Oe]=L,xe&&Math.abs(Oe-ue)<=Ie&&L<=le[Oe])return g[0]=L,y[0]=V,ze>=le[Oe]&&Ie<=1448?this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k):null}if(Ie<=1447){let Oe=new Int32Array(j-z+2);Oe[0]=ue-z+1,MyArray.Copy2(le,z,Oe,1,j-z+1),this.m_forwardHistory.push(Oe),Oe=new Int32Array(oe-ie+2),Oe[0]=he-ie+1,MyArray.Copy2(de,ie,Oe,1,oe-ie+1),this.m_reverseHistory.push(Oe)}}return this.WALKTRACE(ue,z,j,pe,he,ie,oe,Ce,le,de,L,t,g,V,r,y,xe,k)}PrettifyChanges(e){for(let t=0;t0,k=i.modifiedLength>0;for(;i.originalStart+i.originalLength=0;t--){const i=e[t];let r=0,g=0;if(t>0){const j=e[t-1];r=j.originalStart+j.originalLength,g=j.modifiedStart+j.modifiedLength}const y=i.originalLength>0,k=i.modifiedLength>0;let L=0,V=this._boundaryScore(i.originalStart,i.originalLength,i.modifiedStart,i.modifiedLength);for(let j=1;;j++){const ie=i.originalStart-j,oe=i.modifiedStart-j;if(ieV&&(V=ae,L=j)}i.originalStart-=L,i.modifiedStart-=L;const z=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],z)){e[t-1]=z[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,i=e.length;t0&&oe>L&&(L=oe,V=j,z=ie)}return L>0?[V,z]:null}_contiguousSequenceScore(e,t,i){let r=0;for(let g=0;g=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._OriginalIsBoundary(i-1)||this._OriginalIsBoundary(i))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){const i=e+t;if(this._ModifiedIsBoundary(i-1)||this._ModifiedIsBoundary(i))return!0}return!1}_boundaryScore(e,t,i,r){const g=this._OriginalRegionIsBoundary(e,t)?1:0,y=this._ModifiedRegionIsBoundary(i,r)?1:0;return g+y}ConcatenateChanges(e,t){const i=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],i)){const r=new Array(e.length+t.length-1);return MyArray.Copy(e,0,r,0,e.length-1),r[e.length-1]=i[0],MyArray.Copy(t,1,r,e.length,t.length-1),r}else{const r=new Array(e.length+t.length);return MyArray.Copy(e,0,r,0,e.length),MyArray.Copy(t,0,r,e.length,t.length),r}}ChangesOverlap(e,t,i){if(Debug.Assert(e.originalStart<=t.originalStart,"Left change is not less than or equal to right change"),Debug.Assert(e.modifiedStart<=t.modifiedStart,"Left change is not less than or equal to right change"),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){const r=e.originalStart;let g=e.originalLength;const y=e.modifiedStart;let k=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(g=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(k=t.modifiedStart+t.modifiedLength-e.modifiedStart),i[0]=new DiffChange(r,g,y,k),!0}else return i[0]=null,!1}ClipDiagonalBound(e,t,i,r){if(e>=0&&e255?255:n|0}function toUint32(n){return n<0?0:n>4294967295?4294967295:n|0}class PrefixSumComputer{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=toUint32(e);const i=this.values,r=this.prefixSum,g=t.length;return g===0?!1:(this.values=new Uint32Array(i.length+g),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e),e+g),this.values.set(t,e),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=toUint32(e),t=toUint32(t),this.values[e]===t?!1:(this.values[e]=t,e-1=i.length)return!1;const g=i.length-e;return t>=g&&(t=g),t===0?!1:(this.values=new Uint32Array(i.length-t),this.values.set(i.subarray(0,e),0),this.values.set(i.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=toUint32(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let i=t;i<=e;i++)this.prefixSum[i]=this.prefixSum[i-1]+this.values[i];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,i=this.values.length-1,r=0,g=0,y=0;for(;t<=i;)if(r=t+(i-t)/2|0,g=this.prefixSum[r],y=g-this.values[r],e=g)t=r+1;else break;return new PrefixSumIndexOfResult(r,e-y)}}class ConstantTimePrefixSumComputer{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();const t=this._indexBySum[e],i=t>0?this._prefixSum[t-1]:0;return new PrefixSumIndexOfResult(t,e-i)}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=arrayInsert(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e0?this._prefixSum[e-1]:0;this._prefixSum[e]=r+i;for(let g=0;g=0&&e<256?this._asciiMap[e]=i:this._map.set(e,i)}get(e){return e>=0&&e<256?this._asciiMap[e]:this._map.get(e)||this._defaultValue}clear(){this._asciiMap.fill(this._defaultValue),this._map.clear()}}class CharacterSet{constructor(){this._actual=new CharacterClassifier(0)}add(e){this._actual.set(e,1)}has(e){return this._actual.get(e)===1}clear(){return this._actual.clear()}}class Uint8Matrix{constructor(e,t,i){const r=new Uint8Array(e*t);for(let g=0,y=e*t;gt&&(t=L),k>i&&(i=k),V>i&&(i=V)}t++,i++;const r=new Uint8Matrix(i,t,0);for(let g=0,y=e.length;g=this._maxCharCode?0:this._states.get(e,t)}}let _stateMachine=null;function getStateMachine(){return _stateMachine===null&&(_stateMachine=new StateMachine([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),_stateMachine}let _classifier=null;function getClassifier(){if(_classifier===null){_classifier=new CharacterClassifier(0);const n=" <>'\"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…";for(let t=0;tr);if(r>0){const k=t.charCodeAt(r-1),L=t.charCodeAt(y);(k===40&&L===41||k===91&&L===93||k===123&&L===125)&&y--}return{range:{startLineNumber:i,startColumn:r+1,endLineNumber:i,endColumn:y+2},url:t.substring(r,y+1)}}static computeLinks(e,t=getStateMachine()){const i=getClassifier(),r=[];for(let g=1,y=e.getLineCount();g<=y;g++){const k=e.getLineContent(g),L=k.length;let V=0,z=0,j=0,ie=1,oe=!1,re=!1,ae=!1,le=!1;for(;V=0?(r+=i?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}}BasicInplaceReplace.INSTANCE=new BasicInplaceReplace;var _a$5,_b$1;class ResourceMapEntry{constructor(e,t){this.uri=e,this.value=t}}function isEntries(n){return Array.isArray(n)}class ResourceMap{constructor(e,t){if(this[_a$5]="ResourceMap",e instanceof ResourceMap)this.map=new Map(e.map),this.toKey=t!=null?t:ResourceMap.defaultToKey;else if(isEntries(e)){this.map=new Map,this.toKey=t!=null?t:ResourceMap.defaultToKey;for(const[i,r]of e)this.set(i,r)}else this.map=new Map,this.toKey=e!=null?e:ResourceMap.defaultToKey}set(e,t){return this.map.set(this.toKey(e),new ResourceMapEntry(e,t)),this}get(e){var t;return(t=this.map.get(this.toKey(e)))===null||t===void 0?void 0:t.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(const[i,r]of this.map)e(r.value,r.uri,this)}*values(){for(const e of this.map.values())yield e.value}*keys(){for(const e of this.map.values())yield e.uri}*entries(){for(const e of this.map.values())yield[e.uri,e.value]}*[(_a$5=Symbol.toStringTag,Symbol.iterator)](){for(const[,e]of this.map)yield[e.uri,e.value]}}ResourceMap.defaultToKey=n=>n.toString();class LinkedMap{constructor(){this[_b$1]="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(){var e;return(e=this._head)===null||e===void 0?void 0:e.value}get last(){var e;return(e=this._tail)===null||e===void 0?void 0:e.value}has(e){return this._map.has(e)}get(e,t=0){const i=this._map.get(e);if(i)return t!==0&&this.touch(i,t),i.value}set(e,t,i=0){let r=this._map.get(e);if(r)r.value=t,i!==0&&this.touch(r,i);else{switch(r={key:e,value:t,next:void 0,previous:void 0},i){case 0:this.addItemLast(r);break;case 1:this.addItemFirst(r);break;case 2:this.addItemLast(r);break;default:this.addItemLast(r);break}this._map.set(e,r),this._size++}return this}delete(e){return!!this.remove(e)}remove(e){const 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");const e=this._head;return this._map.delete(e.key),this.removeItem(e),this._size--,e.value}forEach(e,t){const i=this._state;let r=this._head;for(;r;){if(t?e.bind(t)(r.value,r.key,this):e(r.value,r.key,this),this._state!==i)throw new Error("LinkedMap got modified during iteration.");r=r.next}}keys(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:i.key,done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}values(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:i.value,done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}entries(){const e=this,t=this._state;let i=this._head;const r={[Symbol.iterator](){return r},next(){if(e._state!==t)throw new Error("LinkedMap got modified during iteration.");if(i){const g={value:[i.key,i.value],done:!1};return i=i.next,g}else return{value:void 0,done:!0}}};return r}[(_b$1=Symbol.toStringTag,Symbol.iterator)](){return this.entries()}trimOld(e){if(e>=this.size)return;if(e===0){this.clear();return}let t=this._head,i=this.size;for(;t&&i>e;)this._map.delete(t.key),t=t.next,i--;this._head=t,this._size=i,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{const t=e.next,i=e.previous;if(!t||!i)throw new Error("Invalid list");t.previous=i,i.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;const i=e.next,r=e.previous;e===this._tail?(r.next=void 0,this._tail=r):(i.previous=r,r.next=i),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;const i=e.next,r=e.previous;e===this._head?(i.previous=void 0,this._head=i):(i.previous=r,r.next=i),e.next=void 0,e.previous=this._tail,this._tail.next=e,this._tail=e,this._state++}}}toJSON(){const e=[];return this.forEach((t,i)=>{e.push([i,t])}),e}fromJSON(e){this.clear();for(const[t,i]of e)this.set(t,i)}}class LRUCache extends LinkedMap{constructor(e,t=1){super(),this._limit=e,this._ratio=Math.min(Math.max(0,t),1)}get limit(){return this._limit}set limit(e){this._limit=e,this.checkTrim()}get(e,t=2){return super.get(e,t)}peek(e){return super.get(e,0)}set(e,t){return super.set(e,t,2),this.checkTrim(),this}checkTrim(){this.size>this._limit&&this.trimOld(Math.round(this._limit*this._ratio))}}class BidirectionalMap{constructor(e){if(this._m1=new Map,this._m2=new Map,e)for(const[t,i]of e)this.set(t,i)}clear(){this._m1.clear(),this._m2.clear()}set(e,t){this._m1.set(e,t),this._m2.set(t,e)}get(e){return this._m1.get(e)}getKey(e){return this._m2.get(e)}delete(e){const t=this._m1.get(e);return t===void 0?!1:(this._m1.delete(e),this._m2.delete(t),!0)}keys(){return this._m1.keys()}values(){return this._m1.values()}}class SetMap{constructor(){this.map=new Map}add(e,t){let i=this.map.get(e);i||(i=new Set,this.map.set(e,i)),i.add(t)}delete(e,t){const i=this.map.get(e);i&&(i.delete(t),i.size===0&&this.map.delete(e))}forEach(e,t){const i=this.map.get(e);i&&i.forEach(t)}get(e){const t=this.map.get(e);return t||new Set}}class WordCharacterClassifier extends CharacterClassifier{constructor(e,t){super(0),this._segmenter=null,this._cachedLine=null,this._cachedSegments=[],this.intlSegmenterLocales=t,this.intlSegmenterLocales.length>0?this._segmenter=new Intl.Segmenter(this.intlSegmenterLocales,{granularity:"word"}):this._segmenter=null;for(let i=0,r=e.length;it)break;i=r}return i}findNextIntlWordAtOrAfterOffset(e,t){for(const i of this._getIntlSegmenterWordsOnLine(e))if(!(i.index=0;let t=null;try{t=createRegExp(this.searchString,this.isRegex,{matchCase:this.matchCase,wholeWord:!1,multiline:e,global:!0,unicode:!0})}catch(r){return null}if(!t)return null;let i=!this.isRegex&&!e;return i&&this.searchString.toLowerCase()!==this.searchString.toUpperCase()&&(i=this.matchCase),new SearchData(t,this.wordSeparators?getMapForWordSeparators(this.wordSeparators,[]):null,i?this.searchString:null)}}function isMultilineRegexSource(n){if(!n||n.length===0)return!1;for(let e=0,t=n.length;e=t)break;const r=n.charCodeAt(e);if(r===110||r===114||r===87)return!0}}return!1}function createFindMatch(n,e,t){if(!t)return new FindMatch(n,null);const i=[];for(let r=0,g=e.length;r>0);t[g]>=e?r=g-1:t[g+1]>=e?(i=g,r=g):i=g+1}return i+1}}class TextModelSearch{static findMatches(e,t,i,r,g){const y=t.parseSearchRequest();return y?y.regex.multiline?this._doFindMatchesMultiline(e,i,new Searcher(y.wordSeparators,y.regex),r,g):this._doFindMatchesLineByLine(e,i,y,r,g):[]}static _getMultilineMatchRange(e,t,i,r,g,y){let k,L=0;r?(L=r.findLineFeedCountBeforeOffset(g),k=t+g+L):k=t+g;let V;if(r){const oe=r.findLineFeedCountBeforeOffset(g+y.length)-L;V=k+y.length+oe}else V=k+y.length;const z=e.getPositionAt(k),j=e.getPositionAt(V);return new Range$2(z.lineNumber,z.column,j.lineNumber,j.column)}static _doFindMatchesMultiline(e,t,i,r,g){const y=e.getOffsetAt(t.getStartPosition()),k=e.getValueInRange(t,1),L=e.getEOL()==="\r\n"?new LineFeedCounter(k):null,V=[];let z=0,j;for(i.reset(0);j=i.next(k);)if(V[z++]=createFindMatch(this._getMultilineMatchRange(e,y,k,L,j.index,j[0]),j,r),z>=g)return V;return V}static _doFindMatchesLineByLine(e,t,i,r,g){const y=[];let k=0;if(t.startLineNumber===t.endLineNumber){const V=e.getLineContent(t.startLineNumber).substring(t.startColumn-1,t.endColumn-1);return k=this._findMatchesInLine(i,V,t.startLineNumber,t.startColumn-1,k,y,r,g),y}const L=e.getLineContent(t.startLineNumber).substring(t.startColumn-1);k=this._findMatchesInLine(i,L,t.startLineNumber,t.startColumn-1,k,y,r,g);for(let V=t.startLineNumber+1;V=L))return g;return g}const z=new Searcher(e.wordSeparators,e.regex);let j;z.reset(0);do if(j=z.next(t),j&&(y[g++]=createFindMatch(new Range$2(i,j.index+1+r,i,j.index+1+j[0].length+r),j,k),g>=L))return g;while(j);return g}static findNextMatch(e,t,i,r){const g=t.parseSearchRequest();if(!g)return null;const y=new Searcher(g.wordSeparators,g.regex);return g.regex.multiline?this._doFindNextMatchMultiline(e,i,y,r):this._doFindNextMatchLineByLine(e,i,y,r)}static _doFindNextMatchMultiline(e,t,i,r){const g=new Position$1(t.lineNumber,1),y=e.getOffsetAt(g),k=e.getLineCount(),L=e.getValueInRange(new Range$2(g.lineNumber,g.column,k,e.getLineMaxColumn(k)),1),V=e.getEOL()==="\r\n"?new LineFeedCounter(L):null;i.reset(t.column-1);const z=i.next(L);return z?createFindMatch(this._getMultilineMatchRange(e,y,L,V,z.index,z[0]),z,r):t.lineNumber!==1||t.column!==1?this._doFindNextMatchMultiline(e,new Position$1(1,1),i,r):null}static _doFindNextMatchLineByLine(e,t,i,r){const g=e.getLineCount(),y=t.lineNumber,k=e.getLineContent(y),L=this._findFirstMatchInLine(i,k,y,t.column,r);if(L)return L;for(let V=1;V<=g;V++){const z=(y+V-1)%g,j=e.getLineContent(z+1),ie=this._findFirstMatchInLine(i,j,z+1,1,r);if(ie)return ie}return null}static _findFirstMatchInLine(e,t,i,r,g){e.reset(r-1);const y=e.next(t);return y?createFindMatch(new Range$2(i,y.index+1,i,y.index+1+y[0].length),y,g):null}static findPreviousMatch(e,t,i,r){const g=t.parseSearchRequest();if(!g)return null;const y=new Searcher(g.wordSeparators,g.regex);return g.regex.multiline?this._doFindPreviousMatchMultiline(e,i,y,r):this._doFindPreviousMatchLineByLine(e,i,y,r)}static _doFindPreviousMatchMultiline(e,t,i,r){const g=this._doFindMatchesMultiline(e,new Range$2(1,1,t.lineNumber,t.column),i,r,10*LIMIT_FIND_COUNT$1);if(g.length>0)return g[g.length-1];const y=e.getLineCount();return t.lineNumber!==y||t.column!==e.getLineMaxColumn(y)?this._doFindPreviousMatchMultiline(e,new Position$1(y,e.getLineMaxColumn(y)),i,r):null}static _doFindPreviousMatchLineByLine(e,t,i,r){const g=e.getLineCount(),y=t.lineNumber,k=e.getLineContent(y).substring(0,t.column-1),L=this._findLastMatchInLine(i,k,y,r);if(L)return L;for(let V=1;V<=g;V++){const z=(g+y-V-1)%g,j=e.getLineContent(z+1),ie=this._findLastMatchInLine(i,j,z+1,r);if(ie)return ie}return null}static _findLastMatchInLine(e,t,i,r){let g=null,y;for(e.reset(0);y=e.next(t);)g=createFindMatch(new Range$2(i,y.index+1,i,y.index+1+y[0].length),y,r);return g}}function leftIsWordBounday(n,e,t,i,r){if(i===0)return!0;const g=e.charCodeAt(i-1);if(n.get(g)!==0||g===13||g===10)return!0;if(r>0){const y=e.charCodeAt(i);if(n.get(y)!==0)return!0}return!1}function rightIsWordBounday(n,e,t,i,r){if(i+r===t)return!0;const g=e.charCodeAt(i+r);if(n.get(g)!==0||g===13||g===10)return!0;if(r>0){const y=e.charCodeAt(i+r-1);if(n.get(y)!==0)return!0}return!1}function isValidMatch(n,e,t,i,r){return leftIsWordBounday(n,e,t,i,r)&&rightIsWordBounday(n,e,t,i,r)}class Searcher{constructor(e,t){this._wordSeparators=e,this._searchRegex=t,this._prevMatchStartIndex=-1,this._prevMatchLength=0}reset(e){this._searchRegex.lastIndex=e,this._prevMatchStartIndex=-1,this._prevMatchLength=0}next(e){const t=e.length;let i;do{if(this._prevMatchStartIndex+this._prevMatchLength===t||(i=this._searchRegex.exec(e),!i))return null;const r=i.index,g=i[0].length;if(r===this._prevMatchStartIndex&&g===this._prevMatchLength){if(g===0){getNextCodePoint(e,t,this._searchRegex.lastIndex)>65535?this._searchRegex.lastIndex+=2:this._searchRegex.lastIndex+=1;continue}return null}if(this._prevMatchStartIndex=r,this._prevMatchLength=g,!this._wordSeparators||isValidMatch(this._wordSeparators,e,t,r,g))return i}while(i);return null}}class UnicodeTextModelHighlighter{static computeUnicodeHighlights(e,t,i){const r=i?i.startLineNumber:1,g=i?i.endLineNumber:e.getLineCount(),y=new CodePointHighlighter(t),k=y.getCandidateCodePoints();let L;k==="allNonBasicAscii"?L=new RegExp("[^\\t\\n\\r\\x20-\\x7E]","g"):L=new RegExp("".concat(buildRegExpCharClassExpr(Array.from(k))),"g");const V=new Searcher(null,L),z=[];let j=!1,ie,oe=0,re=0,ae=0;e:for(let le=r,de=g;le<=de;le++){const ue=e.getLineContent(le),he=ue.length;V.reset(0);do if(ie=V.next(ue),ie){let pe=ie.index,Ce=ie.index+ie[0].length;if(pe>0){const Ne=ue.charCodeAt(pe-1);isHighSurrogate(Ne)&&pe--}if(Ce+1=1e3){j=!0;break e}z.push(new Range$2(le,pe+1,le,Ce+1))}}while(ie)}return{ranges:z,hasMore:j,ambiguousCharacterCount:oe,invisibleCharacterCount:re,nonBasicAsciiCharacterCount:ae}}static computeUnicodeHighlightReason(e,t){const i=new CodePointHighlighter(t);switch(i.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{const g=e.codePointAt(0),y=i.ambiguousCharacters.getPrimaryConfusable(g),k=AmbiguousCharacters.getLocales().filter(L=>!AmbiguousCharacters.getInstance(new Set([...t.allowedLocales,L])).isAmbiguous(g));return{kind:0,confusableWith:String.fromCodePoint(y),notAmbiguousInLocales:k}}case 1:return{kind:2}}}}function buildRegExpCharClassExpr(n,e){return"[".concat(escapeRegExpCharacters(n.map(i=>String.fromCodePoint(i)).join("")),"]")}class CodePointHighlighter{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=AmbiguousCharacters.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return"allNonBasicAscii";const e=new Set;if(this.options.invisibleCharacters)for(const t of InvisibleCharacters.codePoints)isAllowedInvisibleCharacter(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(const t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(const t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){const i=e.codePointAt(0);if(this.allowedCodePoints.has(i))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,g=!1;if(t)for(const y of t){const k=y.codePointAt(0),L=isBasicASCII(y);r=r||L,!L&&!this.ambiguousCharacters.isAmbiguous(k)&&!InvisibleCharacters.isInvisibleCharacter(k)&&(g=!0)}return!r&&g?0:this.options.invisibleCharacters&&!isAllowedInvisibleCharacter(e)&&InvisibleCharacters.isInvisibleCharacter(i)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(i)?3:0}}function isAllowedInvisibleCharacter(n){return n===" "||n==="\n"||n===" "}class LinesDiff{constructor(e,t,i){this.changes=e,this.moves=t,this.hitTimeout=i}}class MovedText{constructor(e,t){this.lineRangeMapping=e,this.changes=t}}class OffsetRange{static addRange(e,t){let i=0;for(;it))return new OffsetRange(e,t)}static ofLength(e){return new OffsetRange(0,e)}static ofStartAndLength(e,t){return new OffsetRange(e,e+t)}constructor(e,t){if(this.start=e,this.endExclusive=t,e>t)throw new BugIndicatingError("Invalid range: ".concat(this.toString()))}get isEmpty(){return this.start===this.endExclusive}delta(e){return new OffsetRange(this.start+e,this.endExclusive+e)}deltaStart(e){return new OffsetRange(this.start+e,this.endExclusive)}deltaEnd(e){return new OffsetRange(this.start,this.endExclusive+e)}get length(){return this.endExclusive-this.start}toString(){return"[".concat(this.start,", ").concat(this.endExclusive,")")}contains(e){return this.start<=e&&e=e.endExclusive}slice(e){return e.slice(this.start,this.endExclusive)}substring(e){return e.substring(this.start,this.endExclusive)}clip(e){if(this.isEmpty)throw new BugIndicatingError("Invalid clipping range: ".concat(this.toString()));return Math.max(this.start,Math.min(this.endExclusive-1,e))}clipCyclic(e){if(this.isEmpty)throw new BugIndicatingError("Invalid clipping range: ".concat(this.toString()));return e=this.endExclusive?this.start+(e-this.start)%this.length:e}forEach(e){for(let t=this.start;te.toString()).join(", ")}intersectsStrict(e){let t=0;for(;te+t.length,0)}}function findLast$1(n,e,t){const i=findLastIdx(n,e);if(i!==-1)return n[i]}function findLastIdx(n,e,t=n.length-1){for(let i=t;i>=0;i--){const r=n[i];if(e(r))return i}return-1}function findLastMonotonous(n,e){const t=findLastIdxMonotonous(n,e);return t===-1?void 0:n[t]}function findLastIdxMonotonous(n,e,t=0,i=n.length){let r=t,g=i;for(;r0&&(t=r)}return t}function findLastMaxBy(n,e){if(n.length===0)return;let t=n[0];for(let i=1;i=0&&(t=r)}return t}function findFirstMinBy(n,e){return findFirstMaxBy(n,(t,i)=>-e(t,i))}function findMaxIdxBy(n,e){if(n.length===0)return-1;let t=0;for(let i=1;i0&&(t=i)}return t}function mapFindFirst(n,e){for(const t of n){const i=e(t);if(i!==void 0)return i}}let LineRange$1=class Jo{static fromRangeInclusive(e){return new Jo(e.startLineNumber,e.endLineNumber+1)}static joinMany(e){if(e.length===0)return[];let t=new LineRangeSet(e[0].slice());for(let i=1;it)throw new BugIndicatingError("startLineNumber ".concat(e," cannot be after endLineNumberExclusive ").concat(t));this.startLineNumber=e,this.endLineNumberExclusive=t}contains(e){return this.startLineNumber<=e&&er.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous(this._normalizedRanges,r=>r.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)this._normalizedRanges.splice(t,0,e);else if(t===i-1){const r=this._normalizedRanges[t];this._normalizedRanges[t]=r.join(e)}else{const r=this._normalizedRanges[t].join(this._normalizedRanges[i-1]).join(e);this._normalizedRanges.splice(t,i-t,r)}}contains(e){const t=findLastMonotonous(this._normalizedRanges,i=>i.startLineNumber<=e);return!!t&&t.endLineNumberExclusive>e}intersects(e){const t=findLastMonotonous(this._normalizedRanges,i=>i.startLineNumbere.startLineNumber}getUnion(e){if(this._normalizedRanges.length===0)return e;if(e._normalizedRanges.length===0)return this;const t=[];let i=0,r=0,g=null;for(;i=y.startLineNumber?g=new LineRange$1(g.startLineNumber,Math.max(g.endLineNumberExclusive,y.endLineNumberExclusive)):(t.push(g),g=y)}return g!==null&&t.push(g),new LineRangeSet(t)}subtractFrom(e){const t=findFirstIdxMonotonousOrArrLen(this._normalizedRanges,y=>y.endLineNumberExclusive>=e.startLineNumber),i=findLastIdxMonotonous(this._normalizedRanges,y=>y.startLineNumber<=e.endLineNumberExclusive)+1;if(t===i)return new LineRangeSet([e]);const r=[];let g=e.startLineNumber;for(let y=t;yg&&r.push(new LineRange$1(g,k.startLineNumber)),g=k.endLineNumberExclusive}return ge.toString()).join(", ")}getIntersection(e){const t=[];let i=0,r=0;for(;it.delta(e)))}}class LineRangeMapping{static inverse(e,t,i){const r=[];let g=1,y=1;for(const L of e){const V=new LineRangeMapping(new LineRange$1(g,L.original.startLineNumber),new LineRange$1(y,L.modified.startLineNumber));V.modified.isEmpty||r.push(V),g=L.original.endLineNumberExclusive,y=L.modified.endLineNumberExclusive}const k=new LineRangeMapping(new LineRange$1(g,t+1),new LineRange$1(y,i+1));return k.modified.isEmpty||r.push(k),r}static clip(e,t,i){const r=[];for(const g of e){const y=g.original.intersect(t),k=g.modified.intersect(i);y&&!y.isEmpty&&k&&!k.isEmpty&&r.push(new LineRangeMapping(y,k))}return r}constructor(e,t){this.original=e,this.modified=t}toString(){return"{".concat(this.original.toString(),"->").concat(this.modified.toString(),"}")}flip(){return new LineRangeMapping(this.modified,this.original)}join(e){return new LineRangeMapping(this.original.join(e.original),this.modified.join(e.modified))}}class DetailedLineRangeMapping extends LineRangeMapping{static fromRangeMappings(e){const t=LineRange$1.join(e.map(r=>LineRange$1.fromRangeInclusive(r.originalRange))),i=LineRange$1.join(e.map(r=>LineRange$1.fromRangeInclusive(r.modifiedRange)));return new DetailedLineRangeMapping(t,i,e)}constructor(e,t,i){super(e,t),this.innerChanges=i}flip(){var e;return new DetailedLineRangeMapping(this.modified,this.original,(e=this.innerChanges)===null||e===void 0?void 0:e.map(t=>t.flip()))}withInnerChangesFromLineRanges(){return new DetailedLineRangeMapping(this.original,this.modified,[new RangeMapping(this.original.toExclusiveRange(),this.modified.toExclusiveRange())])}}class RangeMapping{constructor(e,t){this.originalRange=e,this.modifiedRange=t}toString(){return"{".concat(this.originalRange.toString(),"->").concat(this.modifiedRange.toString(),"}")}flip(){return new RangeMapping(this.modifiedRange,this.originalRange)}}const MINIMUM_MATCHING_CHARACTER_LENGTH=3;class LegacyLinesDiffComputer{computeDiff(e,t,i){var r;const y=new DiffComputer(e,t,{maxComputationTime:i.maxComputationTimeMs,shouldIgnoreTrimWhitespace:i.ignoreTrimWhitespace,shouldComputeCharChanges:!0,shouldMakePrettyDiff:!0,shouldPostProcessCharChanges:!0}).computeDiff(),k=[];let L=null;for(const V of y.changes){let z;V.originalEndLineNumber===0?z=new LineRange$1(V.originalStartLineNumber+1,V.originalStartLineNumber+1):z=new LineRange$1(V.originalStartLineNumber,V.originalEndLineNumber+1);let j;V.modifiedEndLineNumber===0?j=new LineRange$1(V.modifiedStartLineNumber+1,V.modifiedStartLineNumber+1):j=new LineRange$1(V.modifiedStartLineNumber,V.modifiedEndLineNumber+1);let ie=new DetailedLineRangeMapping(z,j,(r=V.charChanges)===null||r===void 0?void 0:r.map(oe=>new RangeMapping(new Range$2(oe.originalStartLineNumber,oe.originalStartColumn,oe.originalEndLineNumber,oe.originalEndColumn),new Range$2(oe.modifiedStartLineNumber,oe.modifiedStartColumn,oe.modifiedEndLineNumber,oe.modifiedEndColumn))));L&&(L.modified.endLineNumberExclusive===ie.modified.startLineNumber||L.original.endLineNumberExclusive===ie.original.startLineNumber)&&(ie=new DetailedLineRangeMapping(L.original.join(ie.original),L.modified.join(ie.modified),L.innerChanges&&ie.innerChanges?L.innerChanges.concat(ie.innerChanges):void 0),k.pop()),k.push(ie),L=ie}return assertFn(()=>checkAdjacentItems(k,(V,z)=>z.original.startLineNumber-V.original.endLineNumberExclusive===z.modified.startLineNumber-V.modified.endLineNumberExclusive&&V.original.endLineNumberExclusive(e===10?"\\n":String.fromCharCode(e))+"-(".concat(this._lineNumbers[t],",").concat(this._columns[t],")")).join(", ")+"]"}_assertIndex(e,t){if(e<0||e>=t.length)throw new Error("Illegal index")}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}}class CharChange{constructor(e,t,i,r,g,y,k,L){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=i,this.originalEndColumn=r,this.modifiedStartLineNumber=g,this.modifiedStartColumn=y,this.modifiedEndLineNumber=k,this.modifiedEndColumn=L}static createFromDiffChange(e,t,i){const r=t.getStartLineNumber(e.originalStart),g=t.getStartColumn(e.originalStart),y=t.getEndLineNumber(e.originalStart+e.originalLength-1),k=t.getEndColumn(e.originalStart+e.originalLength-1),L=i.getStartLineNumber(e.modifiedStart),V=i.getStartColumn(e.modifiedStart),z=i.getEndLineNumber(e.modifiedStart+e.modifiedLength-1),j=i.getEndColumn(e.modifiedStart+e.modifiedLength-1);return new CharChange(r,g,y,k,L,V,z,j)}}function postProcessCharChanges(n){if(n.length<=1)return n;const e=[n[0]];let t=e[0];for(let i=1,r=n.length;i0&&t.originalLength<20&&t.modifiedLength>0&&t.modifiedLength<20&&g()){const oe=i.createCharSequence(e,t.originalStart,t.originalStart+t.originalLength-1),re=r.createCharSequence(e,t.modifiedStart,t.modifiedStart+t.modifiedLength-1);if(oe.getElements().length>0&&re.getElements().length>0){let ae=computeDiff(oe,re,g,!0).changes;k&&(ae=postProcessCharChanges(ae)),ie=[];for(let le=0,de=ae.length;le1&&ae>1;){const le=ie.charCodeAt(re-2),de=oe.charCodeAt(ae-2);if(le!==de)break;re--,ae--}(re>1||ae>1)&&this._pushTrimWhitespaceCharChange(r,g+1,1,re,y+1,1,ae)}{let re=getLastNonBlankColumn(ie,1),ae=getLastNonBlankColumn(oe,1);const le=ie.length+1,de=oe.length+1;for(;re!0;const e=Date.now();return()=>Date.now()-e{i.push(SequenceDiff.fromOffsetPairs(r?r.getEndExclusives():OffsetPair.zero,g?g.getStarts():new OffsetPair(t,(r?r.seq2Range.endExclusive-r.seq1Range.endExclusive:0)+t)))}),i}static fromOffsetPairs(e,t){return new SequenceDiff(new OffsetRange(e.offset1,t.offset1),new OffsetRange(e.offset2,t.offset2))}constructor(e,t){this.seq1Range=e,this.seq2Range=t}swap(){return new SequenceDiff(this.seq2Range,this.seq1Range)}toString(){return"".concat(this.seq1Range," <-> ").concat(this.seq2Range)}join(e){return new SequenceDiff(this.seq1Range.join(e.seq1Range),this.seq2Range.join(e.seq2Range))}delta(e){return e===0?this:new SequenceDiff(this.seq1Range.delta(e),this.seq2Range.delta(e))}deltaStart(e){return e===0?this:new SequenceDiff(this.seq1Range.deltaStart(e),this.seq2Range.deltaStart(e))}deltaEnd(e){return e===0?this:new SequenceDiff(this.seq1Range.deltaEnd(e),this.seq2Range.deltaEnd(e))}intersect(e){const t=this.seq1Range.intersect(e.seq1Range),i=this.seq2Range.intersect(e.seq2Range);if(!(!t||!i))return new SequenceDiff(t,i)}getStarts(){return new OffsetPair(this.seq1Range.start,this.seq2Range.start)}getEndExclusives(){return new OffsetPair(this.seq1Range.endExclusive,this.seq2Range.endExclusive)}}class OffsetPair{constructor(e,t){this.offset1=e,this.offset2=t}toString(){return"".concat(this.offset1," <-> ").concat(this.offset2)}delta(e){return e===0?this:new OffsetPair(this.offset1+e,this.offset2+e)}equals(e){return this.offset1===e.offset1&&this.offset2===e.offset2}}OffsetPair.zero=new OffsetPair(0,0);OffsetPair.max=new OffsetPair(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER);class InfiniteTimeout{isValid(){return!0}}InfiniteTimeout.instance=new InfiniteTimeout;class DateTimeout{constructor(e){if(this.timeout=e,this.startTime=Date.now(),this.valid=!0,e<=0)throw new BugIndicatingError("timeout must be positive")}isValid(){if(!(Date.now()-this.startTime0&&ae>0&&y.get(re-1,ae-1)===3&&(ue+=k.get(re-1,ae-1)),ue+=r?r(re,ae):1):ue=-1;const he=Math.max(le,de,ue);if(he===ue){const pe=re>0&&ae>0?k.get(re-1,ae-1):0;k.set(re,ae,pe+1),y.set(re,ae,3)}else he===le?(k.set(re,ae,0),y.set(re,ae,1)):he===de&&(k.set(re,ae,0),y.set(re,ae,2));g.set(re,ae,he)}const L=[];let V=e.length,z=t.length;function j(re,ae){(re+1!==V||ae+1!==z)&&L.push(new SequenceDiff(new OffsetRange(re+1,V),new OffsetRange(ae+1,z))),V=re,z=ae}let ie=e.length-1,oe=t.length-1;for(;ie>=0&&oe>=0;)y.get(ie,oe)===3?(j(ie,oe),ie--,oe--):y.get(ie,oe)===1?ie--:oe--;return j(-1,-1),L.reverse(),new DiffAlgorithmResult(L,!1)}}class MyersDiffAlgorithm{compute(e,t,i=InfiniteTimeout.instance){if(e.length===0||t.length===0)return DiffAlgorithmResult.trivial(e,t);const r=e,g=t;function y(ae,le){for(;aer.length||pe>g.length)continue;const Ce=y(he,pe);L.set(z,Ce);const $e=he===de?V.get(z+1):V.get(z-1);if(V.set(z,Ce!==he?new SnakePath($e,he,pe,Ce-he):$e),L.get(z)===r.length&&L.get(z)-z===g.length)break e}}let j=V.get(z);const ie=[];let oe=r.length,re=g.length;for(;;){const ae=j?j.x+j.length:0,le=j?j.y+j.length:0;if((ae!==oe||le!==re)&&ie.push(new SequenceDiff(new OffsetRange(ae,oe),new OffsetRange(le,re))),!j)break;oe=j.x,re=j.y,j=j.prev}return ie.reverse(),new DiffAlgorithmResult(ie,!1)}}class SnakePath{constructor(e,t,i,r){this.prev=e,this.x=t,this.y=i,this.length=r}}class FastInt32Array{constructor(){this.positiveArr=new Int32Array(10),this.negativeArr=new Int32Array(10)}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){if(e<0){if(e=-e-1,e>=this.negativeArr.length){const i=this.negativeArr;this.negativeArr=new Int32Array(i.length*2),this.negativeArr.set(i)}this.negativeArr[e]=t}else{if(e>=this.positiveArr.length){const i=this.positiveArr;this.positiveArr=new Int32Array(i.length*2),this.positiveArr.set(i)}this.positiveArr[e]=t}}}class FastArrayNegativeIndices{constructor(){this.positiveArr=[],this.negativeArr=[]}get(e){return e<0?(e=-e-1,this.negativeArr[e]):this.positiveArr[e]}set(e,t){e<0?(e=-e-1,this.negativeArr[e]=t):this.positiveArr[e]=t}}class LinesSliceCharSequence{constructor(e,t,i){this.lines=e,this.considerWhitespaceChanges=i,this.elements=[],this.firstCharOffsetByLine=[],this.additionalOffsetByLine=[];let r=!1;t.start>0&&t.endExclusive>=e.length&&(t=new OffsetRange(t.start-1,t.endExclusive),r=!0),this.lineRange=t,this.firstCharOffsetByLine[0]=0;for(let g=this.lineRange.start;gString.fromCharCode(t)).join("")}getElement(e){return this.elements[e]}get length(){return this.elements.length}getBoundaryScore(e){const t=getCategory(e>0?this.elements[e-1]:-1),i=getCategory(ei<=e);return new Position$1(this.lineRange.start+t+1,e-this.firstCharOffsetByLine[t]+this.additionalOffsetByLine[t]+1)}translateRange(e){return Range$2.fromPositions(this.translateOffset(e.start),this.translateOffset(e.endExclusive))}findWordContaining(e){if(e<0||e>=this.elements.length||!isWordChar(this.elements[e]))return;let t=e;for(;t>0&&isWordChar(this.elements[t-1]);)t--;let i=e;for(;iy<=e.start))!==null&&t!==void 0?t:0,g=(i=findFirstMonotonous(this.firstCharOffsetByLine,y=>e.endExclusive<=y))!==null&&i!==void 0?i:this.elements.length;return new OffsetRange(r,g)}}function isWordChar(n){return n>=97&&n<=122||n>=65&&n<=90||n>=48&&n<=57}const score$1={0:0,1:0,2:0,3:10,4:2,5:30,6:3,7:10,8:10};function getCategoryBoundaryScore(n){return score$1[n]}function getCategory(n){return n===10?8:n===13?7:isSpace(n)?6:n>=97&&n<=122?0:n>=65&&n<=90?1:n>=48&&n<=57?2:n===-1?3:n===44||n===59?5:4}function computeMovedLines(n,e,t,i,r,g){let{moves:y,excludedChanges:k}=computeMovesFromSimpleDeletionsToSimpleInsertions(n,e,t,g);if(!g.isValid())return[];const L=n.filter(z=>!k.has(z)),V=computeUnchangedMoves(L,i,r,e,t,g);return pushMany(y,V),y=joinCloseConsecutiveMoves(y),y=y.filter(z=>{const j=z.original.toOffsetRange().slice(e).map(oe=>oe.trim());return j.join("\n").length>=15&&countWhere(j,oe=>oe.length>=2)>=2}),y=removeMovesInSameDiff(n,y),y}function countWhere(n,e){let t=0;for(const i of n)e(i)&&t++;return t}function computeMovesFromSimpleDeletionsToSimpleInsertions(n,e,t,i){const r=[],g=n.filter(L=>L.modified.isEmpty&&L.original.length>=3).map(L=>new LineRangeFragment(L.original,e,L)),y=new Set(n.filter(L=>L.original.isEmpty&&L.modified.length>=3).map(L=>new LineRangeFragment(L.modified,t,L))),k=new Set;for(const L of g){let V=-1,z;for(const j of y){const ie=L.computeSimilarity(j);ie>V&&(V=ie,z=j)}if(V>.9&&z&&(y.delete(z),r.push(new LineRangeMapping(L.range,z.range)),k.add(L.source),k.add(z.source)),!i.isValid())return{moves:r,excludedChanges:k}}return{moves:r,excludedChanges:k}}function computeUnchangedMoves(n,e,t,i,r,g){const y=[],k=new SetMap;for(const ie of n)for(let oe=ie.original.startLineNumber;oeie.modified.startLineNumber,numberComparator));for(const ie of n){let oe=[];for(let re=ie.modified.startLineNumber;re{for(const pe of oe)if(pe.originalLineRange.endLineNumberExclusive+1===ue.endLineNumberExclusive&&pe.modifiedLineRange.endLineNumberExclusive+1===le.endLineNumberExclusive){pe.originalLineRange=new LineRange$1(pe.originalLineRange.startLineNumber,ue.endLineNumberExclusive),pe.modifiedLineRange=new LineRange$1(pe.modifiedLineRange.startLineNumber,le.endLineNumberExclusive),de.push(pe);return}const he={modifiedLineRange:le,originalLineRange:ue};L.push(he),de.push(he)}),oe=de}if(!g.isValid())return[]}L.sort(reverseOrder(compareBy(ie=>ie.modifiedLineRange.length,numberComparator)));const V=new LineRangeSet,z=new LineRangeSet;for(const ie of L){const oe=ie.modifiedLineRange.startLineNumber-ie.originalLineRange.startLineNumber,re=V.subtractFrom(ie.modifiedLineRange),ae=z.subtractFrom(ie.originalLineRange).getWithDelta(oe),le=re.getIntersection(ae);for(const de of le.ranges){if(de.length<3)continue;const ue=de,he=de.delta(-oe);y.push(new LineRangeMapping(he,ue)),V.addRange(ue),z.addRange(he)}}y.sort(compareBy(ie=>ie.original.startLineNumber,numberComparator));const j=new MonotonousArray(n);for(let ie=0;ie$e.original.startLineNumber<=oe.original.startLineNumber),ae=findLastMonotonous(n,$e=>$e.modified.startLineNumber<=oe.modified.startLineNumber),le=Math.max(oe.original.startLineNumber-re.original.startLineNumber,oe.modified.startLineNumber-ae.modified.startLineNumber),de=j.findLastMonotonous($e=>$e.original.startLineNumber$e.modified.startLineNumberi.length||xe>r.length||V.contains(xe)||z.contains($e)||!areLinesSimilar(i[$e-1],r[xe-1],g))break}pe>0&&(z.addRange(new LineRange$1(oe.original.startLineNumber-pe,oe.original.startLineNumber)),V.addRange(new LineRange$1(oe.modified.startLineNumber-pe,oe.modified.startLineNumber)));let Ce;for(Ce=0;Cei.length||xe>r.length||V.contains(xe)||z.contains($e)||!areLinesSimilar(i[$e-1],r[xe-1],g))break}Ce>0&&(z.addRange(new LineRange$1(oe.original.endLineNumberExclusive,oe.original.endLineNumberExclusive+Ce)),V.addRange(new LineRange$1(oe.modified.endLineNumberExclusive,oe.modified.endLineNumberExclusive+Ce))),(pe>0||Ce>0)&&(y[ie]=new LineRangeMapping(new LineRange$1(oe.original.startLineNumber-pe,oe.original.endLineNumberExclusive+Ce),new LineRange$1(oe.modified.startLineNumber-pe,oe.modified.endLineNumberExclusive+Ce)))}return y}function areLinesSimilar(n,e,t){if(n.trim()===e.trim())return!0;if(n.length>300&&e.length>300)return!1;const r=new MyersDiffAlgorithm().compute(new LinesSliceCharSequence([n],new OffsetRange(0,1),!1),new LinesSliceCharSequence([e],new OffsetRange(0,1),!1),t);let g=0;const y=SequenceDiff.invert(r.diffs,n.length);for(const z of y)z.seq1Range.forEach(j=>{isSpace(n.charCodeAt(j))||g++});function k(z){let j=0;for(let ie=0;iee.length?n:e);return g/L>.6&&L>10}function joinCloseConsecutiveMoves(n){if(n.length===0)return n;n.sort(compareBy(t=>t.original.startLineNumber,numberComparator));const e=[n[0]];for(let t=1;t=0&&y>=0&&g+y<=2){e[e.length-1]=i.join(r);continue}e.push(r)}return e}function removeMovesInSameDiff(n,e){const t=new MonotonousArray(n);return e=e.filter(i=>{const r=t.findLastMonotonous(k=>k.original.startLineNumberk.modified.startLineNumber0&&(k=k.delta(V))}r.push(k)}return i.length>0&&r.push(i[i.length-1]),r}function shiftSequenceDiffs(n,e,t){if(!n.getBoundaryScore||!e.getBoundaryScore)return t;for(let i=0;i0?t[i-1]:void 0,g=t[i],y=i+1=i.start&&n.seq2Range.start-y>=r.start&&t.isStronglyEqual(n.seq2Range.start-y,n.seq2Range.endExclusive-y)&&y<100;)y++;y--;let k=0;for(;n.seq1Range.start+kV&&(V=re,L=z)}return n.delta(L)}function removeShortMatches(n,e,t){const i=[];for(const r of t){const g=i[i.length-1];if(!g){i.push(r);continue}r.seq1Range.start-g.seq1Range.endExclusive<=2||r.seq2Range.start-g.seq2Range.endExclusive<=2?i[i.length-1]=new SequenceDiff(g.seq1Range.join(r.seq1Range),g.seq2Range.join(r.seq2Range)):i.push(r)}return i}function extendDiffsToEntireWordIfAppropriate(n,e,t){const i=SequenceDiff.invert(t,n.length),r=[];let g=new OffsetPair(0,0);function y(L,V){if(L.offset10;){const le=i[0];if(!(le.seq1Range.intersects(ie.seq1Range)||le.seq2Range.intersects(ie.seq2Range)))break;const ue=n.findWordContaining(le.seq1Range.start),he=e.findWordContaining(le.seq2Range.start),pe=new SequenceDiff(ue,he),Ce=pe.intersect(le);if(re+=Ce.seq1Range.length,ae+=Ce.seq2Range.length,ie=ie.join(pe),ie.seq1Range.endExclusive>=le.seq1Range.endExclusive)i.shift();else break}re+ae<(ie.seq1Range.length+ie.seq2Range.length)*2/3&&r.push(ie),g=ie.getEndExclusives()}for(;i.length>0;){const L=i.shift();L.seq1Range.isEmpty||(y(L.getStarts(),L),y(L.getEndExclusives().delta(-1),L))}return mergeSequenceDiffs(t,r)}function mergeSequenceDiffs(n,e){const t=[];for(;n.length>0||e.length>0;){const i=n[0],r=e[0];let g;i&&(!r||i.seq1Range.start0&&t[t.length-1].seq1Range.endExclusive>=g.seq1Range.start?t[t.length-1]=t[t.length-1].join(g):t.push(g)}return t}function removeVeryShortMatchingLinesBetweenDiffs(n,e,t){let i=t;if(i.length===0)return i;let r=0,g;do{g=!1;const y=[i[0]];for(let k=1;k5||oe.seq1Range.length+oe.seq2Range.length>5)};const L=i[k],V=y[y.length-1];z(V,L)?(g=!0,y[y.length-1]=y[y.length-1].join(L)):y.push(L)}i=y}while(r++<10&&g);return i}function removeVeryShortMatchingTextBetweenLongDiffs(n,e,t){let i=t;if(i.length===0)return i;let r=0,g;do{g=!1;const k=[i[0]];for(let L=1;L5||ae.length>500)return!1;const de=n.getText(ae).trim();if(de.length>20||de.split(/\r\n|\r|\n/).length>1)return!1;const ue=n.countLinesIn(oe.seq1Range),he=oe.seq1Range.length,pe=e.countLinesIn(oe.seq2Range),Ce=oe.seq2Range.length,$e=n.countLinesIn(re.seq1Range),xe=re.seq1Range.length,Ie=e.countLinesIn(re.seq2Range),Ne=re.seq2Range.length,Fe=2*40+50;function Ve(Oe){return Math.min(Oe,Fe)}return Math.pow(Math.pow(Ve(ue*40+he),1.5)+Math.pow(Ve(pe*40+Ce),1.5),1.5)+Math.pow(Math.pow(Ve($e*40+xe),1.5)+Math.pow(Ve(Ie*40+Ne),1.5),1.5)>(Fe**1.5)**1.5*1.3};const V=i[L],z=k[k.length-1];j(z,V)?(g=!0,k[k.length-1]=k[k.length-1].join(V)):k.push(V)}i=k}while(r++<10&&g);const y=[];return forEachWithNeighbors(i,(k,L,V)=>{let z=L;function j(de){return de.length>0&&de.trim().length<=3&&L.seq1Range.length+L.seq2Range.length>100}const ie=n.extendToFullLines(L.seq1Range),oe=n.getText(new OffsetRange(ie.start,L.seq1Range.start));j(oe)&&(z=z.deltaStart(-oe.length));const re=n.getText(new OffsetRange(L.seq1Range.endExclusive,ie.endExclusive));j(re)&&(z=z.deltaEnd(re.length));const ae=SequenceDiff.fromOffsetPairs(k?k.getEndExclusives():OffsetPair.zero,V?V.getStarts():OffsetPair.max),le=z.intersect(ae);y.length>0&&le.getStarts().equals(y[y.length-1].getEndExclusives())?y[y.length-1]=y[y.length-1].join(le):y.push(le)}),y}class LineSequence{constructor(e,t){this.trimmedHash=e,this.lines=t}getElement(e){return this.trimmedHash[e]}get length(){return this.trimmedHash.length}getBoundaryScore(e){const t=e===0?0:getIndentation(this.lines[e-1]),i=e===this.lines.length?0:getIndentation(this.lines[e]);return 1e3-(t+i)}getText(e){return this.lines.slice(e.start,e.endExclusive).join("\n")}isStronglyEqual(e,t){return this.lines[e]===this.lines[t]}}function getIndentation(n){let e=0;for(;eCe===$e))return new LinesDiff([],[],!1);if(e.length===1&&e[0].length===0||t.length===1&&t[0].length===0)return new LinesDiff([new DetailedLineRangeMapping(new LineRange$1(1,e.length+1),new LineRange$1(1,t.length+1),[new RangeMapping(new Range$2(1,1,e.length,e[0].length+1),new Range$2(1,1,t.length,t[0].length+1))])],[],!1);const r=i.maxComputationTimeMs===0?InfiniteTimeout.instance:new DateTimeout(i.maxComputationTimeMs),g=!i.ignoreTrimWhitespace,y=new Map;function k(Ce){let $e=y.get(Ce);return $e===void 0&&($e=y.size,y.set(Ce,$e)),$e}const L=e.map(Ce=>k(Ce.trim())),V=t.map(Ce=>k(Ce.trim())),z=new LineSequence(L,e),j=new LineSequence(V,t),ie=z.length+j.length<1700?this.dynamicProgrammingDiffing.compute(z,j,r,(Ce,$e)=>e[Ce]===t[$e]?t[$e].length===0?.1:1+Math.log(1+t[$e].length):.99):this.myersDiffingAlgorithm.compute(z,j);let oe=ie.diffs,re=ie.hitTimeout;oe=optimizeSequenceDiffs(z,j,oe),oe=removeVeryShortMatchingLinesBetweenDiffs(z,j,oe);const ae=[],le=Ce=>{if(g)for(let $e=0;$eCe.seq1Range.start-de===Ce.seq2Range.start-ue);const $e=Ce.seq1Range.start-de;le($e),de=Ce.seq1Range.endExclusive,ue=Ce.seq2Range.endExclusive;const xe=this.refineDiff(e,t,Ce,r,g);xe.hitTimeout&&(re=!0);for(const Ie of xe.mappings)ae.push(Ie)}le(e.length-de);const he=lineRangeMappingFromRangeMappings(ae,e,t);let pe=[];return i.computeMoves&&(pe=this.computeMoves(he,e,t,L,V,r,g)),assertFn(()=>{function Ce(xe,Ie){if(xe.lineNumber<1||xe.lineNumber>Ie.length)return!1;const Ne=Ie[xe.lineNumber-1];return!(xe.column<1||xe.column>Ne.length+1)}function $e(xe,Ie){return!(xe.startLineNumber<1||xe.startLineNumber>Ie.length+1||xe.endLineNumberExclusive<1||xe.endLineNumberExclusive>Ie.length+1)}for(const xe of he){if(!xe.innerChanges)return!1;for(const Ie of xe.innerChanges)if(!(Ce(Ie.modifiedRange.getStartPosition(),t)&&Ce(Ie.modifiedRange.getEndPosition(),t)&&Ce(Ie.originalRange.getStartPosition(),e)&&Ce(Ie.originalRange.getEndPosition(),e)))return!1;if(!$e(xe.modified,t)||!$e(xe.original,e))return!1}return!0}),new LinesDiff(he,pe,re)}computeMoves(e,t,i,r,g,y,k){return computeMovedLines(e,t,i,r,g,y).map(z=>{const j=this.refineDiff(t,i,new SequenceDiff(z.original.toOffsetRange(),z.modified.toOffsetRange()),y,k),ie=lineRangeMappingFromRangeMappings(j.mappings,t,i,!0);return new MovedText(z,ie)})}refineDiff(e,t,i,r,g){const y=new LinesSliceCharSequence(e,i.seq1Range,g),k=new LinesSliceCharSequence(t,i.seq2Range,g),L=y.length+k.length<500?this.dynamicProgrammingDiffing.compute(y,k,r):this.myersDiffingAlgorithm.compute(y,k,r);let V=L.diffs;return V=optimizeSequenceDiffs(y,k,V),V=extendDiffsToEntireWordIfAppropriate(y,k,V),V=removeShortMatches(y,k,V),V=removeVeryShortMatchingTextBetweenLongDiffs(y,k,V),{mappings:V.map(j=>new RangeMapping(y.translateRange(j.seq1Range),k.translateRange(j.seq2Range))),hitTimeout:L.hitTimeout}}}function lineRangeMappingFromRangeMappings(n,e,t,i=!1){const r=[];for(const g of groupAdjacentBy(n.map(y=>getLineRangeMapping(y,e,t)),(y,k)=>y.original.overlapOrTouch(k.original)||y.modified.overlapOrTouch(k.modified))){const y=g[0],k=g[g.length-1];r.push(new DetailedLineRangeMapping(y.original.join(k.original),y.modified.join(k.modified),g.map(L=>L.innerChanges[0])))}return assertFn(()=>!i&&r.length>0&&(r[0].modified.startLineNumber!==r[0].original.startLineNumber||t.length-r[r.length-1].modified.endLineNumberExclusive!==e.length-r[r.length-1].original.endLineNumberExclusive)?!1:checkAdjacentItems(r,(g,y)=>y.original.startLineNumber-g.original.endLineNumberExclusive===y.modified.startLineNumber-g.modified.endLineNumberExclusive&&g.original.endLineNumberExclusive=t[n.modifiedRange.startLineNumber-1].length&&n.originalRange.startColumn-1>=e[n.originalRange.startLineNumber-1].length&&n.originalRange.startLineNumber<=n.originalRange.endLineNumber+r&&n.modifiedRange.startLineNumber<=n.modifiedRange.endLineNumber+r&&(i=1);const g=new LineRange$1(n.originalRange.startLineNumber+i,n.originalRange.endLineNumber+1+r),y=new LineRange$1(n.modifiedRange.startLineNumber+i,n.modifiedRange.endLineNumber+1+r);return new DetailedLineRangeMapping(g,y,[n])}const linesDiffComputers={getLegacy:()=>new LegacyLinesDiffComputer,getDefault:()=>new DefaultLinesDiffComputer};function roundFloat(n,e){const t=Math.pow(10,e);return Math.round(n*t)/t}let RGBA$1=class{constructor(e,t,i,r=1){this._rgbaBrand=void 0,this.r=Math.min(255,Math.max(0,e))|0,this.g=Math.min(255,Math.max(0,t))|0,this.b=Math.min(255,Math.max(0,i))|0,this.a=roundFloat(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.r===t.r&&e.g===t.g&&e.b===t.b&&e.a===t.a}},HSLA$1=class xc{constructor(e,t,i,r){this._hslaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=roundFloat(Math.max(Math.min(1,t),0),3),this.l=roundFloat(Math.max(Math.min(1,i),0),3),this.a=roundFloat(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.l===t.l&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,g=e.a,y=Math.max(t,i,r),k=Math.min(t,i,r);let L=0,V=0;const z=(k+y)/2,j=y-k;if(j>0){switch(V=Math.min(z<=.5?j/(2*z):j/(2-2*z),1),y){case t:L=(i-r)/j+(i1&&(i-=1),i<1/6?e+(t-e)*6*i:i<1/2?t:i<2/3?e+(t-e)*(2/3-i)*6:e}static toRGBA(e){const t=e.h/360,{s:i,l:r,a:g}=e;let y,k,L;if(i===0)y=k=L=r;else{const V=r<.5?r*(1+i):r+i-r*i,z=2*r-V;y=xc._hue2rgb(z,V,t+1/3),k=xc._hue2rgb(z,V,t),L=xc._hue2rgb(z,V,t-1/3)}return new RGBA$1(Math.round(y*255),Math.round(k*255),Math.round(L*255),g)}};class HSVA{constructor(e,t,i,r){this._hsvaBrand=void 0,this.h=Math.max(Math.min(360,e),0)|0,this.s=roundFloat(Math.max(Math.min(1,t),0),3),this.v=roundFloat(Math.max(Math.min(1,i),0),3),this.a=roundFloat(Math.max(Math.min(1,r),0),3)}static equals(e,t){return e.h===t.h&&e.s===t.s&&e.v===t.v&&e.a===t.a}static fromRGBA(e){const t=e.r/255,i=e.g/255,r=e.b/255,g=Math.max(t,i,r),y=Math.min(t,i,r),k=g-y,L=g===0?0:k/g;let V;return k===0?V=0:g===t?V=((i-r)/k%6+6)%6:g===i?V=(r-t)/k+2:V=(t-i)/k+4,new HSVA(Math.round(V*60),L,g,e.a)}static toRGBA(e){const{h:t,s:i,v:r,a:g}=e,y=r*i,k=y*(1-Math.abs(t/60%2-1)),L=r-y;let[V,z,j]=[0,0,0];return t<60?(V=y,z=k):t<120?(V=k,z=y):t<180?(z=y,j=k):t<240?(z=k,j=y):t<300?(V=k,j=y):t<=360&&(V=y,j=k),V=Math.round((V+L)*255),z=Math.round((z+L)*255),j=Math.round((j+L)*255),new RGBA$1(V,z,j,g)}}let Color$1=class _o{static fromHex(e){return _o.Format.CSS.parseHex(e)||_o.red}static equals(e,t){return!e&&!t?!0:!e||!t?!1:e.equals(t)}get hsla(){return this._hsla?this._hsla:HSLA$1.fromRGBA(this.rgba)}get hsva(){return this._hsva?this._hsva:HSVA.fromRGBA(this.rgba)}constructor(e){if(e)if(e instanceof RGBA$1)this.rgba=e;else if(e instanceof HSLA$1)this._hsla=e,this.rgba=HSLA$1.toRGBA(e);else if(e instanceof HSVA)this._hsva=e,this.rgba=HSVA.toRGBA(e);else throw new Error("Invalid color ctor argument");else throw new Error("Color needs a value")}equals(e){return!!e&&RGBA$1.equals(this.rgba,e.rgba)&&HSLA$1.equals(this.hsla,e.hsla)&&HSVA.equals(this.hsva,e.hsva)}getRelativeLuminance(){const e=_o._relativeLuminanceForComponent(this.rgba.r),t=_o._relativeLuminanceForComponent(this.rgba.g),i=_o._relativeLuminanceForComponent(this.rgba.b),r=.2126*e+.7152*t+.0722*i;return roundFloat(r,4)}static _relativeLuminanceForComponent(e){const t=e/255;return t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)}isLighter(){return(this.rgba.r*299+this.rgba.g*587+this.rgba.b*114)/1e3>=128}isLighterThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t>i}isDarkerThan(e){const t=this.getRelativeLuminance(),i=e.getRelativeLuminance();return t0)for(const r of i){const g=r.filter(V=>V!==void 0),y=g[1],k=g[2];if(!k)continue;let L;if(y==="rgb"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*\)$/gm;L=_findRGBColorInformation(_findRange(n,r),_findMatches(k,V),!1)}else if(y==="rgba"){const V=/^\(\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;L=_findRGBColorInformation(_findRange(n,r),_findMatches(k,V),!0)}else if(y==="hsl"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*\)$/gm;L=_findHSLColorInformation(_findRange(n,r),_findMatches(k,V),!1)}else if(y==="hsla"){const V=/^\(\s*(36[0]|3[0-5][0-9]|[12][0-9][0-9]|[1-9]?[0-9])\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(100|\d{1,2}[.]\d*|\d{1,2})%\s*,\s*(0[.][0-9]+|[.][0-9]+|[01][.]|[01])\s*\)$/gm;L=_findHSLColorInformation(_findRange(n,r),_findMatches(k,V),!0)}else y==="#"&&(L=_findHexColorInformation(_findRange(n,r),y+k));L&&e.push(L)}return e}function computeDefaultDocumentColors(n){return!n||typeof n.getValue!="function"||typeof n.positionAt!="function"?[]:computeColors(n)}const markRegex=new RegExp("\\bMARK:\\s*(.*)$","d"),trimDashesRegex=/^-+|-+$/g;function findSectionHeaders(n,e){var t;let i=[];if(e.findRegionSectionHeaders&&(!((t=e.foldingRules)===null||t===void 0)&&t.markers)){const r=collectRegionHeaders(n,e);i=i.concat(r)}if(e.findMarkSectionHeaders){const r=collectMarkHeaders(n);i=i.concat(r)}return i}function collectRegionHeaders(n,e){const t=[],i=n.getLineCount();for(let r=1;r<=i;r++){const g=n.getLineContent(r),y=g.match(e.foldingRules.markers.start);if(y){const k={startLineNumber:r,startColumn:y[0].length+1,endLineNumber:r,endColumn:g.length+1};if(k.endColumn>k.startColumn){const L={range:k,...getHeaderText(g.substring(y[0].length)),shouldBeInComments:!1};(L.text||L.hasSeparatorLine)&&t.push(L)}}}return t}function collectMarkHeaders(n){const e=[],t=n.getLineCount();for(let i=1;i<=t;i++){const r=n.getLineContent(i);addMarkHeaderIfFound(r,i,e)}return e}function addMarkHeaderIfFound(n,e,t){markRegex.lastIndex=0;const i=markRegex.exec(n);if(i){const r=i.indices[1][0]+1,g=i.indices[1][1]+1,y={startLineNumber:e,startColumn:r,endLineNumber:e,endColumn:g};if(y.endColumn>y.startColumn){const k={range:y,...getHeaderText(i[1]),shouldBeInComments:!0};(k.text||k.hasSeparatorLine)&&t.push(k)}}}function getHeaderText(n){n=n.trim();const e=n.startsWith("-");return n=n.replace(trimDashesRegex,""),{text:n,hasSeparatorLine:e}}class MirrorModel extends MirrorTextModel{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}findMatches(e){const t=[];for(let i=0;ithis._lines.length)t=this._lines.length,i=this._lines[t-1].length+1,r=!0;else{const g=this._lines[t-1].length+1;i<1?(i=1,r=!0):i>g&&(i=g,r=!0)}return r?{lineNumber:t,column:i}:e}}class EditorSimpleWorker{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){const e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new MirrorModel(URI.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){if(!this._models[e])return;this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}async computeUnicodeHighlights(e,t,i){const r=this._getModel(e);return r?UnicodeTextModelHighlighter.computeUnicodeHighlights(r,t,i):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}}async findSectionHeaders(e,t){const i=this._getModel(e);return i?findSectionHeaders(i,t):[]}async computeDiff(e,t,i,r){const g=this._getModel(e),y=this._getModel(t);return!g||!y?null:EditorSimpleWorker.computeDiff(g,y,i,r)}static computeDiff(e,t,i,r){const g=r==="advanced"?linesDiffComputers.getDefault():linesDiffComputers.getLegacy(),y=e.getLinesContent(),k=t.getLinesContent(),L=g.computeDiff(y,k,i),V=L.changes.length>0?!1:this._modelsAreIdentical(e,t);function z(j){return j.map(ie=>{var oe;return[ie.original.startLineNumber,ie.original.endLineNumberExclusive,ie.modified.startLineNumber,ie.modified.endLineNumberExclusive,(oe=ie.innerChanges)===null||oe===void 0?void 0:oe.map(re=>[re.originalRange.startLineNumber,re.originalRange.startColumn,re.originalRange.endLineNumber,re.originalRange.endColumn,re.modifiedRange.startLineNumber,re.modifiedRange.startColumn,re.modifiedRange.endLineNumber,re.modifiedRange.endColumn])]})}return{identical:V,quitEarly:L.hitTimeout,changes:z(L.changes),moves:L.moves.map(j=>[j.lineRangeMapping.original.startLineNumber,j.lineRangeMapping.original.endLineNumberExclusive,j.lineRangeMapping.modified.startLineNumber,j.lineRangeMapping.modified.endLineNumberExclusive,z(j.changes)])}}static _modelsAreIdentical(e,t){const i=e.getLineCount(),r=t.getLineCount();if(i!==r)return!1;for(let g=1;g<=i;g++){const y=e.getLineContent(g),k=t.getLineContent(g);if(y!==k)return!1}return!0}async computeMoreMinimalEdits(e,t,i){const r=this._getModel(e);if(!r)return t;const g=[];let y;t=t.slice(0).sort((L,V)=>{if(L.range&&V.range)return Range$2.compareRangesUsingStarts(L.range,V.range);const z=L.range?0:1,j=V.range?0:1;return z-j});let k=0;for(let L=1;LEditorSimpleWorker._diffLimit){g.push({range:L,text:V});continue}const ie=stringDiff(j,V,i),oe=r.offsetAt(Range$2.lift(L).getStartPosition());for(const re of ie){const ae=r.positionAt(oe+re.originalStart),le=r.positionAt(oe+re.originalStart+re.originalLength),de={text:V.substr(re.modifiedStart,re.modifiedLength),range:{startLineNumber:ae.lineNumber,startColumn:ae.column,endLineNumber:le.lineNumber,endColumn:le.column}};r.getValueInRange(de.range)!==de.text&&g.push(de)}}return typeof y=="number"&&g.push({eol:y,text:"",range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),g}async computeLinks(e){const t=this._getModel(e);return t?computeLinks(t):null}async computeDefaultDocumentColors(e){const t=this._getModel(e);return t?computeDefaultDocumentColors(t):null}async textualSuggest(e,t,i,r){const g=new StopWatch,y=new RegExp(i,r),k=new Set;e:for(const L of e){const V=this._getModel(L);if(V){for(const z of V.words(y))if(!(z===t||!isNaN(Number(z)))&&(k.add(z),k.size>EditorSimpleWorker._suggestionsLimit))break e}}return{words:Array.from(k),duration:g.elapsed()}}async computeWordRanges(e,t,i,r){const g=this._getModel(e);if(!g)return Object.create(null);const y=new RegExp(i,r),k=Object.create(null);for(let L=t.startLineNumber;Lthis._host.fhr(k,L)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(y,t),Promise.resolve(getAllMethodNames(this._foreignModule))):Promise.reject(new Error("Unexpected usage"))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!="function")return Promise.reject(new Error("Missing requestHandler or method: "+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(i){return Promise.reject(i)}}}EditorSimpleWorker._diffLimit=1e5;EditorSimpleWorker._suggestionsLimit=1e4;typeof importScripts=="function"&&(globalThis.monaco=createMonacoBaseAPI());const ITextResourceConfigurationService=createDecorator("textResourceConfigurationService"),ITextResourcePropertiesService=createDecorator("textResourcePropertiesService"),ILanguageFeaturesService=createDecorator("ILanguageFeaturesService");var __decorate$2t=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2j=function(n,e){return function(t,i){e(t,i,n)}};const STOP_SYNC_MODEL_DELTA_TIME_MS=60*1e3,STOP_WORKER_DELTA_TIME_MS=5*60*1e3;function canSyncModel(n,e){const t=n.getModel(e);return!(!t||t.isTooLargeForSyncing())}let EditorWorkerService=class extends Disposable{constructor(e,t,i,r,g){super(),this._modelService=e,this._workerManager=this._register(new WorkerManager(this._modelService,r)),this._logService=i,this._register(g.linkProvider.register({language:"*",hasAccessToAllModels:!0},{provideLinks:(y,k)=>canSyncModel(this._modelService,y.uri)?this._workerManager.withWorker().then(L=>L.computeLinks(y.uri)).then(L=>L&&{links:L}):Promise.resolve({links:[]})})),this._register(g.completionProvider.register("*",new WordBasedCompletionItemProvider(this._workerManager,t,this._modelService,r)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return canSyncModel(this._modelService,e)}computedUnicodeHighlights(e,t,i){return this._workerManager.withWorker().then(r=>r.computedUnicodeHighlights(e,t,i))}async computeDiff(e,t,i,r){const g=await this._workerManager.withWorker().then(L=>L.computeDiff(e,t,i,r));if(!g)return null;return{identical:g.identical,quitEarly:g.quitEarly,changes:k(g.changes),moves:g.moves.map(L=>new MovedText(new LineRangeMapping(new LineRange$1(L[0],L[1]),new LineRange$1(L[2],L[3])),k(L[4])))};function k(L){return L.map(V=>{var z;return new DetailedLineRangeMapping(new LineRange$1(V[0],V[1]),new LineRange$1(V[2],V[3]),(z=V[4])===null||z===void 0?void 0:z.map(j=>new RangeMapping(new Range$2(j[0],j[1],j[2],j[3]),new Range$2(j[4],j[5],j[6],j[7]))))})}}computeMoreMinimalEdits(e,t,i=!1){if(isNonEmptyArray(t)){if(!canSyncModel(this._modelService,e))return Promise.resolve(t);const r=StopWatch.create(),g=this._workerManager.withWorker().then(y=>y.computeMoreMinimalEdits(e,t,i));return g.finally(()=>this._logService.trace("FORMAT#computeMoreMinimalEdits",e.toString(!0),r.elapsed())),Promise.race([g,timeout(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return canSyncModel(this._modelService,e)}navigateValueSet(e,t,i){return this._workerManager.withWorker().then(r=>r.navigateValueSet(e,t,i))}canComputeWordRanges(e){return canSyncModel(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(i=>i.computeWordRanges(e,t))}findSectionHeaders(e,t){return this._workerManager.withWorker().then(i=>i.findSectionHeaders(e,t))}};EditorWorkerService=__decorate$2t([__param$2j(0,IModelService),__param$2j(1,ITextResourceConfigurationService),__param$2j(2,ILogService),__param$2j(3,ILanguageConfigurationService),__param$2j(4,ILanguageFeaturesService)],EditorWorkerService);class WordBasedCompletionItemProvider{constructor(e,t,i,r){this.languageConfigurationService=r,this._debugDisplayName="wordbasedCompletions",this._workerManager=e,this._configurationService=t,this._modelService=i}async provideCompletionItems(e,t){const i=this._configurationService.getValue(e.uri,t,"editor");if(i.wordBasedSuggestions==="off")return;const r=[];if(i.wordBasedSuggestions==="currentDocument")canSyncModel(this._modelService,e.uri)&&r.push(e.uri);else for(const j of this._modelService.getModels())canSyncModel(this._modelService,j.uri)&&(j===e?r.unshift(j.uri):(i.wordBasedSuggestions==="allDocuments"||j.getLanguageId()===e.getLanguageId())&&r.push(j.uri));if(r.length===0)return;const g=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),y=e.getWordAtPosition(t),k=y?new Range$2(t.lineNumber,y.startColumn,t.lineNumber,y.endColumn):Range$2.fromPositions(t),L=k.setEndPosition(t.lineNumber,t.column),z=await(await this._workerManager.withWorker()).textualSuggest(r,y==null?void 0:y.word,g);if(z)return{duration:z.duration,suggestions:z.words.map(j=>({kind:18,label:j,insertText:j,range:{insert:L,replace:k}}))}}}class WorkerManager extends Disposable{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new WindowIntervalTimer).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(STOP_WORKER_DELTA_TIME_MS/2),mainWindow),this._register(this._modelService.onModelRemoved(r=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null),super.dispose()}_checkStopEmptyWorker(){if(!this._editorWorkerClient)return;this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){if(!this._editorWorkerClient)return;new Date().getTime()-this._lastWorkerUsedTime>STOP_WORKER_DELTA_TIME_MS&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||(this._editorWorkerClient=new EditorWorkerClient(this._modelService,!1,"editorWorkerService",this.languageConfigurationService)),Promise.resolve(this._editorWorkerClient)}}class EditorModelManager extends Disposable{constructor(e,t,i){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!i){const r=new IntervalTimer;r.cancelAndSet(()=>this._checkStopModelSync(),Math.round(STOP_SYNC_MODEL_DELTA_TIME_MS/2)),this._register(r)}}dispose(){for(const e in this._syncedModels)dispose(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(const i of e){const r=i.toString();this._syncedModels[r]||this._beginModelSync(i,t),this._syncedModels[r]&&(this._syncedModelsLastUsedTime[r]=new Date().getTime())}}_checkStopModelSync(){const e=new Date().getTime(),t=[];for(const i in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[i]>STOP_SYNC_MODEL_DELTA_TIME_MS&&t.push(i);for(const i of t)this._stopModelSync(i)}_beginModelSync(e,t){const i=this._modelService.getModel(e);if(!i||!t&&i.isTooLargeForSyncing())return;const r=e.toString();this._proxy.acceptNewModel({url:i.uri.toString(),lines:i.getLinesContent(),EOL:i.getEOL(),versionId:i.getVersionId()});const g=new DisposableStore;g.add(i.onDidChangeContent(y=>{this._proxy.acceptModelChanged(r.toString(),y)})),g.add(i.onWillDispose(()=>{this._stopModelSync(r)})),g.add(toDisposable(()=>{this._proxy.acceptRemovedModel(r)})),this._syncedModels[r]=g}_stopModelSync(e){const t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],dispose(t)}}class SynchronousWorkerClient{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}}class EditorWorkerHost{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}}class EditorWorkerClient extends Disposable{constructor(e,t,i,r){super(),this.languageConfigurationService=r,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new DefaultWorkerFactory(i),this._worker=null,this._modelManager=null}fhr(e,t){throw new Error("Not implemented!")}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new SimpleWorkerClient(this._workerFactory,"vs/editor/common/services/editorSimpleWorker",new EditorWorkerHost(this)))}catch(e){logOnceWebWorkerWarning(e),this._worker=new SynchronousWorkerClient(new EditorSimpleWorker(new EditorWorkerHost(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(logOnceWebWorkerWarning(e),this._worker=new SynchronousWorkerClient(new EditorSimpleWorker(new EditorWorkerHost(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||(this._modelManager=this._register(new EditorModelManager(e,this._modelService,this._keepIdleModels))),this._modelManager}async _withSyncedResources(e,t=!1){return this._disposed?Promise.reject(canceled()):this._getProxy().then(i=>(this._getOrCreateModelManager(i).ensureSyncedResources(e,t),i))}computedUnicodeHighlights(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeUnicodeHighlights(e.toString(),t,i))}computeDiff(e,t,i,r){return this._withSyncedResources([e,t],!0).then(g=>g.computeDiff(e.toString(),t.toString(),i,r))}computeMoreMinimalEdits(e,t,i){return this._withSyncedResources([e]).then(r=>r.computeMoreMinimalEdits(e.toString(),t,i))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}computeDefaultDocumentColors(e){return this._withSyncedResources([e]).then(t=>t.computeDefaultDocumentColors(e.toString()))}async textualSuggest(e,t,i){const r=await this._withSyncedResources(e),g=i.source,y=i.flags;return r.textualSuggest(e.map(k=>k.toString()),t,g,y)}computeWordRanges(e,t){return this._withSyncedResources([e]).then(i=>{const r=this._modelService.getModel(e);if(!r)return Promise.resolve(null);const g=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),y=g.source,k=g.flags;return i.computeWordRanges(e.toString(),t,y,k)})}navigateValueSet(e,t,i){return this._withSyncedResources([e]).then(r=>{const g=this._modelService.getModel(e);if(!g)return null;const y=this.languageConfigurationService.getLanguageConfiguration(g.getLanguageId()).getWordDefinition(),k=y.source,L=y.flags;return r.navigateValueSet(e.toString(),t,i,k,L)})}findSectionHeaders(e,t){return this._withSyncedResources([e]).then(i=>i.findSectionHeaders(e.toString(),t))}dispose(){super.dispose(),this._disposed=!0}}function createWebWorker$1(n,e,t){return new MonacoWebWorkerImpl(n,e,t)}class MonacoWebWorkerImpl extends EditorWorkerClient{constructor(e,t,i){super(e,i.keepIdleModels||!1,i.label,t),this._foreignModuleId=i.moduleId,this._foreignModuleCreateData=i.createData||null,this._foreignModuleHost=i.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!="function")return Promise.reject(new Error("Missing method "+e+" or missing main thread foreign host."));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(i){return Promise.reject(i)}}_getForeignProxy(){return this._foreignProxy||(this._foreignProxy=this._getProxy().then(e=>{const t=this._foreignModuleHost?getAllMethodNames(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(i=>{this._foreignModuleCreateData=null;const r=(k,L)=>e.fmr(k,L),g=(k,L)=>function(){const V=Array.prototype.slice.call(arguments,0);return L(k,V)},y={};for(const k of i)y[k]=g(k,r);return y})})),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(t=>this.getProxy())}}const EditorType={ICodeEditor:"vs.editor.ICodeEditor",IDiffEditor:"vs.editor.IDiffEditor"},NullState=new class{clone(){return this}equals(n){return this===n}};function nullTokenize(n,e){return new TokenizationResult([new Token$2(0,"",n)],e)}function nullTokenizeEncoded(n,e){const t=new Uint32Array(2);return t[0]=0,t[1]=(n<<0|0|0|32768|2<<24)>>>0,new EncodedTokenizationResult(t,e===null?NullState:e)}class TokenMetadata{static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!==0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static getClassNameFromMetadata(e){let i="mtk"+this.getForeground(e);const r=this.getFontStyle(e);return r&1&&(i+=" mtki"),r&2&&(i+=" mtkb"),r&4&&(i+=" mtku"),r&8&&(i+=" mtks"),i}static getInlineStyleFromMetadata(e,t){const i=this.getForeground(e),r=this.getFontStyle(e);let g="color: ".concat(t[i],";");r&1&&(g+="font-style: italic;"),r&2&&(g+="font-weight: bold;");let y="";return r&4&&(y+=" underline"),r&8&&(y+=" line-through"),y&&(g+="text-decoration:".concat(y,";")),g}static getPresentationFromMetadata(e){const t=this.getForeground(e),i=this.getFontStyle(e);return{foreground:t,italic:!!(i&1),bold:!!(i&2),underline:!!(i&4),strikethrough:!!(i&8)}}}class LineTokens{static createEmpty(e,t){const i=LineTokens.defaultTokenMetadata,r=new Uint32Array(2);return r[0]=e.length,r[1]=i,new LineTokens(r,e,t)}constructor(e,t,i){this._lineTokensBrand=void 0,this._tokens=e,this._tokensCount=this._tokens.length>>>1,this._text=t,this._languageIdCodec=i}equals(e){return e instanceof LineTokens?this.slicedEquals(e,0,this._tokensCount):!1}slicedEquals(e,t,i){if(this._text!==e._text||this._tokensCount!==e._tokensCount)return!1;const r=t<<1,g=r+(i<<1);for(let y=r;y0?this._tokens[e-1<<1]:0}getMetadata(e){return this._tokens[(e<<1)+1]}getLanguageId(e){const t=this._tokens[(e<<1)+1],i=TokenMetadata.getLanguageId(t);return this._languageIdCodec.decodeLanguageId(i)}getStandardTokenType(e){const t=this._tokens[(e<<1)+1];return TokenMetadata.getTokenType(t)}getForeground(e){const t=this._tokens[(e<<1)+1];return TokenMetadata.getForeground(t)}getClassName(e){const t=this._tokens[(e<<1)+1];return TokenMetadata.getClassNameFromMetadata(t)}getInlineStyle(e,t){const i=this._tokens[(e<<1)+1];return TokenMetadata.getInlineStyleFromMetadata(i,t)}getPresentation(e){const t=this._tokens[(e<<1)+1];return TokenMetadata.getPresentationFromMetadata(t)}getEndOffset(e){return this._tokens[e<<1]}findTokenIndexAtOffset(e){return LineTokens.findIndexInTokensArray(this._tokens,e)}inflate(){return this}sliceAndInflate(e,t,i){return new SliceLineTokens(this,e,t,i)}static convertToEndOffset(e,t){const r=(e.length>>>1)-1;for(let g=0;g>>1)-1;for(;it&&(r=g)}return i}withInserted(e){if(e.length===0)return this;let t=0,i=0,r="";const g=new Array;let y=0;for(;;){const k=ty){r+=this._text.substring(y,L.offset);const V=this._tokens[(t<<1)+1];g.push(r.length,V),y=L.offset}r+=L.text,g.push(r.length,L.tokenMetadata),i++}else break}return new LineTokens(new Uint32Array(g),r,this._languageIdCodec)}}LineTokens.defaultTokenMetadata=(32768|2<<24)>>>0;class SliceLineTokens{constructor(e,t,i,r){this._source=e,this._startOffset=t,this._endOffset=i,this._deltaOffset=r,this._firstTokenIndex=e.findTokenIndexAtOffset(t),this._tokensCount=0;for(let g=this._firstTokenIndex,y=e.getCount();g=i);g++)this._tokensCount++}getMetadata(e){return this._source.getMetadata(this._firstTokenIndex+e)}getLanguageId(e){return this._source.getLanguageId(this._firstTokenIndex+e)}getLineContent(){return this._source.getLineContent().substring(this._startOffset,this._endOffset)}equals(e){return e instanceof SliceLineTokens?this._startOffset===e._startOffset&&this._endOffset===e._endOffset&&this._deltaOffset===e._deltaOffset&&this._source.slicedEquals(e._source,this._firstTokenIndex,this._tokensCount):!1}getCount(){return this._tokensCount}getForeground(e){return this._source.getForeground(this._firstTokenIndex+e)}getEndOffset(e){const t=this._source.getEndOffset(this._firstTokenIndex+e);return Math.min(this._endOffset,t)-this._startOffset+this._deltaOffset}getClassName(e){return this._source.getClassName(this._firstTokenIndex+e)}getInlineStyle(e,t){return this._source.getInlineStyle(this._firstTokenIndex+e,t)}getPresentation(e){return this._source.getPresentation(this._firstTokenIndex+e)}findTokenIndexAtOffset(e){return this._source.findTokenIndexAtOffset(e+this._startOffset-this._deltaOffset)-this._firstTokenIndex}}class LineDecoration{constructor(e,t,i,r){this.startColumn=e,this.endColumn=t,this.className=i,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(e,t){const i=e.length,r=t.length;if(i!==r)return!1;for(let g=0;g=g||(k[L++]=new LineDecoration(Math.max(1,V.startColumn-r+1),Math.min(y+1,V.endColumn-r+1),V.className,V.type));return k}static filter(e,t,i,r){if(e.length===0)return[];const g=[];let y=0;for(let k=0,L=e.length;kt||z.isEmpty()&&(V.type===0||V.type===3))continue;const j=z.startLineNumber===t?z.startColumn:i,ie=z.endLineNumber===t?z.endColumn:r;g[y++]=new LineDecoration(j,ie,V.inlineClassName,V.type)}return g}static _typeCompare(e,t){const i=[2,0,1,3];return i[e]-i[t]}static compare(e,t){if(e.startColumn!==t.startColumn)return e.startColumn-t.startColumn;if(e.endColumn!==t.endColumn)return e.endColumn-t.endColumn;const i=LineDecoration._typeCompare(e.type,t.type);return i!==0?i:e.className!==t.className?e.className0&&this.stopOffsets[0]0&&t=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,i);break}this.count++}}class LineDecorationsNormalizer{static normalize(e,t){if(t.length===0)return[];const i=[],r=new Stack;let g=0;for(let y=0,k=t.length;y1){const ae=e.charCodeAt(V-2);isHighSurrogate(ae)&&V--}if(z>1){const ae=e.charCodeAt(z-2);isHighSurrogate(ae)&&z--}const oe=V-1,re=z-2;g=r.consumeLowerThan(oe,g,i),r.count===0&&(g=oe),r.insert(re,j,ie)}return r.consumeLowerThan(1073741824,g,i),i}}class LinePart{constructor(e,t,i,r){this.endIndex=e,this.type=t,this.metadata=i,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}}class LineRange{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}}class RenderLineInput{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le,de,ue,he){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.continuesWithWrappedLine=r,this.isBasicASCII=g,this.containsRTL=y,this.fauxIndentLength=k,this.lineTokens=L,this.lineDecorations=V.sort(LineDecoration.compare),this.tabSize=z,this.startVisibleColumn=j,this.spaceWidth=ie,this.stopRenderingLineAfter=ae,this.renderWhitespace=le==="all"?4:le==="boundary"?1:le==="selection"?2:le==="trailing"?3:0,this.renderControlCharacters=de,this.fontLigatures=ue,this.selectionsOnLine=he&&he.sort(($e,xe)=>$e.startOffset>>16}static getCharIndex(e){return(e&65535)>>>0}constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}setColumnInfo(e,t,i,r){const g=(t<<16|i<<0)>>>0;this._data[e-1]=g,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(e){const t=this.charOffsetToPartData(e-1),i=CharacterMapping.getPartIndex(t),r=CharacterMapping.getCharIndex(t);return new DomPosition(i,r)}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(e,t,i){if(this.length===0)return 0;const r=(e<<16|i<<0)>>>0;let g=0,y=this.length-1;for(;g+1>>1,le=this._data[ae];if(le===r)return ae;le>r?y=ae:g=ae}if(g===y)return g;const k=this._data[g],L=this._data[y];if(k===r)return g;if(L===r)return y;const V=CharacterMapping.getPartIndex(k),z=CharacterMapping.getCharIndex(k),j=CharacterMapping.getPartIndex(L);let ie;V!==j?ie=t:ie=CharacterMapping.getCharIndex(L);const oe=i-z,re=ie-i;return oe<=re?g:y}}class RenderLineOutput{constructor(e,t,i){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=i}}function renderViewLine(n,e){if(n.lineContent.length===0){if(n.lineDecorations.length>0){e.appendString("");let t=0,i=0,r=0;for(const y of n.lineDecorations)(y.type===1||y.type===2)&&(e.appendString(''),y.type===1&&(r|=1,t++),y.type===2&&(r|=2,i++));e.appendString("");const g=new CharacterMapping(1,t+i);return g.setColumnInfo(1,t,0,0),new RenderLineOutput(g,!1,r)}return e.appendString(""),new RenderLineOutput(new CharacterMapping(0,0),!1,0)}return _renderLine(resolveRenderLineInput(n),e)}class RenderLineOutput2{constructor(e,t,i,r){this.characterMapping=e,this.html=t,this.containsRTL=i,this.containsForeignElements=r}}function renderViewLine2(n){const e=new StringBuilder(1e4),t=renderViewLine(n,e);return new RenderLineOutput2(t.characterMapping,e.build(),t.containsRTL,t.containsForeignElements)}class ResolvedRenderLineInput{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae,le){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=i,this.len=r,this.isOverflowing=g,this.overflowingCharCount=y,this.parts=k,this.containsForeignElements=L,this.fauxIndentLength=V,this.tabSize=z,this.startVisibleColumn=j,this.containsRTL=ie,this.spaceWidth=oe,this.renderSpaceCharCode=re,this.renderWhitespace=ae,this.renderControlCharacters=le}}function resolveRenderLineInput(n){const e=n.lineContent;let t,i,r;n.stopRenderingLineAfter!==-1&&n.stopRenderingLineAfter0){for(let k=0,L=n.lineDecorations.length;k0&&(g[y++]=new LinePart(i,"",0,!1));let k=i;for(let L=0,V=t.getCount();L=r){const oe=e?containsRTL(n.substring(k,r)):!1;g[y++]=new LinePart(r,j,0,oe);break}const ie=e?containsRTL(n.substring(k,z)):!1;g[y++]=new LinePart(z,j,0,ie),k=z}return g}function splitLargeTokens(n,e,t){let i=0;const r=[];let g=0;if(t)for(let y=0,k=e.length;y=50&&(r[g++]=new LinePart(oe+1,z,j,ie),re=oe+1,oe=-1);re!==V&&(r[g++]=new LinePart(V,z,j,ie))}else r[g++]=L;i=V}else for(let y=0,k=e.length;y50){const j=L.type,ie=L.metadata,oe=L.containsRTL,re=Math.ceil(z/50);for(let ae=1;ae=8234&&n<=8238||n>=8294&&n<=8297||n>=8206&&n<=8207||n===1564}function extractControlCharacters(n,e){const t=[];let i=new LinePart(0,"",0,!1),r=0;for(const g of e){const y=g.endIndex;for(;ri.endIndex&&(i=new LinePart(r,g.type,g.metadata,g.containsRTL),t.push(i)),i=new LinePart(r+1,"mtkcontrol",g.metadata,!1),t.push(i))}r>i.endIndex&&(i=new LinePart(y,g.type,g.metadata,g.containsRTL),t.push(i))}return t}function _applyRenderWhitespace(n,e,t,i){const r=n.continuesWithWrappedLine,g=n.fauxIndentLength,y=n.tabSize,k=n.startVisibleColumn,L=n.useMonospaceOptimizations,V=n.selectionsOnLine,z=n.renderWhitespace===1,j=n.renderWhitespace===3,ie=n.renderSpaceWidth!==n.spaceWidth,oe=[];let re=0,ae=0,le=i[ae].type,de=i[ae].containsRTL,ue=i[ae].endIndex;const he=i.length;let pe=!1,Ce=firstNonWhitespaceIndex(e),$e;Ce===-1?(pe=!0,Ce=t,$e=t):$e=lastNonWhitespaceIndex(e);let xe=!1,Ie=0,Ne=V&&V[Ie],Fe=k%y;for(let Oe=g;Oe=Ne.endOffset&&(Ie++,Ne=V&&V[Ie]);let qe;if(Oe$e)qe=!0;else if(ze===9)qe=!0;else if(ze===32)if(z)if(xe)qe=!0;else{const Ue=Oe+1Oe),qe&&j&&(qe=pe||Oe>$e),qe&&de&&Oe>=Ce&&Oe<=$e&&(qe=!1),xe){if(!qe||!L&&Fe>=y){if(ie){const Ue=re>0?oe[re-1].endIndex:g;for(let Et=Ue+1;Et<=Oe;Et++)oe[re++]=new LinePart(Et,"mtkw",1,!1)}else oe[re++]=new LinePart(Oe,"mtkw",1,!1);Fe=Fe%y}}else(Oe===ue||qe&&Oe>g)&&(oe[re++]=new LinePart(Oe,le,0,de),Fe=Fe%y);for(ze===9?Fe=y:isFullWidthCharacter(ze)?Fe+=2:Fe++,xe=qe;Oe===ue&&(ae++,ae0?e.charCodeAt(t-1):0,ze=t>1?e.charCodeAt(t-2):0;Oe===32&&ze!==32&&ze!==9||(Ve=!0)}else Ve=!0;if(Ve)if(ie){const Oe=re>0?oe[re-1].endIndex:g;for(let ze=Oe+1;ze<=t;ze++)oe[re++]=new LinePart(ze,"mtkw",1,!1)}else oe[re++]=new LinePart(t,"mtkw",1,!1);else oe[re++]=new LinePart(t,le,0,de);return oe}function _applyInlineDecorations(n,e,t,i){i.sort(LineDecoration.compare);const r=LineDecorationsNormalizer.normalize(n,i),g=r.length;let y=0;const k=[];let L=0,V=0;for(let j=0,ie=t.length;jV&&(V=ue.startOffset,k[L++]=new LinePart(V,ae,le,de)),ue.endOffset+1<=re)V=ue.endOffset+1,k[L++]=new LinePart(V,ae+" "+ue.className,le|ue.metadata,de),y++;else{V=re,k[L++]=new LinePart(V,ae+" "+ue.className,le|ue.metadata,de);break}}re>V&&(V=re,k[L++]=new LinePart(V,ae,le,de))}const z=t[t.length-1].endIndex;if(y'):e.appendString("");for(let Ne=0,Fe=V.length;Ne=z&&(ei+=ri)}}for(Et&&(e.appendString(' style="width:'),e.appendString(String(re*Lt)),e.appendString('px"')),e.appendASCIICharCode(62);pe1?e.appendCharCode(8594):e.appendCharCode(65515);for(let ri=2;ri<=jt;ri++)e.appendCharCode(160)}else ei=2,jt=1,e.appendCharCode(ae),e.appendCharCode(8204);$e+=ei,xe+=jt,pe>=z&&(Ce+=jt)}}else for(e.appendASCIICharCode(62);pe=z&&(Ce+=ei)}At?Ie++:Ie=0,pe>=y&&!he&&Ve.isPseudoAfter()&&(he=!0,ue.setColumnInfo(pe+1,Ne,$e,xe)),e.appendString("")}return he||ue.setColumnInfo(y+1,V.length-1,$e,xe),k&&(e.appendString(''),e.appendString(localize("showMore","Show more ({0})",renderOverflowingCharCount(L))),e.appendString("")),e.appendString(""),new RenderLineOutput(ue,oe,r)}function to4CharHex(n){return n.toString(16).toUpperCase().padStart(4,"0")}function renderOverflowingCharCount(n){return n<1024?localize("overflow.chars","{0} chars",n):n<1024*1024?"".concat((n/1024).toFixed(1)," KB"):"".concat((n/1024/1024).toFixed(1)," MB")}class Viewport{constructor(e,t,i,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=i|0,this.height=r|0}}class MinimapLinesRenderingData{constructor(e,t){this.tabSize=e,this.data=t}}class ViewLineData{constructor(e,t,i,r,g,y,k){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=i,this.maxColumn=r,this.startVisibleColumn=g,this.tokens=y,this.inlineDecorations=k}}class ViewLineRenderingData{constructor(e,t,i,r,g,y,k,L,V,z){this.minColumn=e,this.maxColumn=t,this.content=i,this.continuesWithWrappedLine=r,this.isBasicASCII=ViewLineRenderingData.isBasicASCII(i,y),this.containsRTL=ViewLineRenderingData.containsRTL(i,this.isBasicASCII,g),this.tokens=k,this.inlineDecorations=L,this.tabSize=V,this.startVisibleColumn=z}static isBasicASCII(e,t){return t?isBasicASCII(e):!0}static containsRTL(e,t,i){return!t&&i?containsRTL(e):!1}}class InlineDecoration{constructor(e,t,i){this.range=e,this.inlineClassName=t,this.type=i}}class SingleLineInlineDecoration{constructor(e,t,i,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=i,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new InlineDecoration(new Range$2(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}}class ViewModelDecoration{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}}class OverviewRulerDecorationsGroup{constructor(e,t,i){this.color=e,this.zIndex=t,this.data=i}static compareByRenderingProps(e,t){return e.zIndex===t.zIndex?e.colort.color?1:0:e.zIndex-t.zIndex}static equals(e,t){return e.color===t.color&&e.zIndex===t.zIndex&&equals$3(e.data,t.data)}static equalsArr(e,t){return equals$3(e,t,OverviewRulerDecorationsGroup.equals)}}function isFuzzyActionArr(n){return Array.isArray(n)}function isFuzzyAction(n){return!isFuzzyActionArr(n)}function isString$2(n){return typeof n=="string"}function isIAction(n){return!isString$2(n)}function empty(n){return!n}function fixCase(n,e){return n.ignoreCase&&e?e.toLowerCase():e}function sanitize(n){return n.replace(/[&<>'"_]/g,"-")}function log(n,e){console.log("".concat(n.languageId,": ").concat(e))}function createError(n,e){return new Error("".concat(n.languageId,": ").concat(e))}function substituteMatches(n,e,t,i,r){const g=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g;let y=null;return e.replace(g,function(k,L,V,z,j,ie,oe,re,ae){return empty(V)?empty(z)?!empty(j)&&j0;){const i=n.tokenizer[t];if(i)return i;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return null}function stateExists(n,e){let t=e;for(;t&&t.length>0;){if(n.stateNames[t])return!0;const r=t.lastIndexOf(".");r<0?t=null:t=t.substr(0,r)}return!1}var __decorate$2s=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2i=function(n,e){return function(t,i){e(t,i,n)}},MonarchTokenizer_1;const CACHE_STACK_DEPTH=5;class MonarchStackElementFactory{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new MonarchStackElement(e,t);let i=MonarchStackElement.getStackElementId(e);i.length>0&&(i+="|"),i+=t;let r=this._entries[i];return r||(r=new MonarchStackElement(e,t),this._entries[i]=r,r)}}MonarchStackElementFactory._INSTANCE=new MonarchStackElementFactory(CACHE_STACK_DEPTH);class MonarchStackElement{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t="";for(;e!==null;)t.length>0&&(t+="|"),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(e){return MonarchStackElement._equals(this,e)}push(e){return MonarchStackElementFactory.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return MonarchStackElementFactory.create(this.parent,e)}}class EmbeddedLanguageData{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new EmbeddedLanguageData(this.languageId,this.state)}}class MonarchLineStateFactory{static create(e,t){return this._INSTANCE.create(e,t)}constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}create(e,t){if(t!==null)return new MonarchLineState(e,t);if(e!==null&&e.depth>=this._maxCacheDepth)return new MonarchLineState(e,t);const i=MonarchStackElement.getStackElementId(e);let r=this._entries[i];return r||(r=new MonarchLineState(e,null),this._entries[i]=r,r)}}MonarchLineStateFactory._INSTANCE=new MonarchLineStateFactory(CACHE_STACK_DEPTH);class MonarchLineState{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:MonarchLineStateFactory.create(this.stack,this.embeddedLanguageData)}equals(e){return!(e instanceof MonarchLineState)||!this.stack.equals(e.stack)?!1:this.embeddedLanguageData===null&&e.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||e.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(e.embeddedLanguageData)}}class MonarchClassicTokensCollector{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new Token$2(e,t,this._languageId)))}nestedLanguageTokenize(e,t,i,r){const g=i.languageId,y=i.state,k=TokenizationRegistry.get(g);if(!k)return this.enterLanguage(g),this.emit(r,""),y;const L=k.tokenize(e,t,y);if(r!==0)for(const V of L.tokens)this._tokens.push(new Token$2(V.offset+r,V.type,V.language));else this._tokens=this._tokens.concat(L.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,L.endState}finalize(e){return new TokenizationResult(this._tokens,e)}}class MonarchModernTokensCollector{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){const i=this._theme.match(this._currentLanguageId,t)|1024;this._lastTokenMetadata!==i&&(this._lastTokenMetadata=i,this._tokens.push(e),this._tokens.push(i))}static _merge(e,t,i){const r=e!==null?e.length:0,g=t.length,y=i!==null?i.length:0;if(r===0&&g===0&&y===0)return new Uint32Array(0);if(r===0&&g===0)return i;if(g===0&&y===0)return e;const k=new Uint32Array(r+g+y);e!==null&&k.set(e);for(let L=0;L{if(y)return;let L=!1;for(let V=0,z=k.changedLanguages.length;V{k.affectsConfiguration("editor.maxTokenizationLineLength")&&(this._maxTokenizationLineLength=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:this._languageId}))}))}getLoadStatus(){const e=[];for(const t in this._embeddedLanguages){const i=TokenizationRegistry.get(t);if(i){if(i instanceof MonarchTokenizer_1){const r=i.getLoadStatus();r.loaded===!1&&e.push(r.promise)}continue}TokenizationRegistry.isResolved(t)||e.push(TokenizationRegistry.getOrCreate(t))}return e.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(e).then(t=>{})}}getInitialState(){const e=MonarchStackElementFactory.create(null,this._lexer.start);return MonarchLineStateFactory.create(e,null)}tokenize(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenize(this._languageId,i);const r=new MonarchClassicTokensCollector,g=this._tokenize(e,t,i,r);return r.finalize(g)}tokenizeEncoded(e,t,i){if(e.length>=this._maxTokenizationLineLength)return nullTokenizeEncoded(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),i);const r=new MonarchModernTokensCollector(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),g=this._tokenize(e,t,i,r);return r.finalize(g)}_tokenize(e,t,i,r){return i.embeddedLanguageData?this._nestedTokenize(e,t,i,0,r):this._myTokenize(e,t,i,0,r)}_findLeavingNestedLanguageOffset(e,t){let i=this._lexer.tokenizer[t.stack.state];if(!i&&(i=findRules(this._lexer,t.stack.state),!i))throw createError(this._lexer,"tokenizer state is not defined: "+t.stack.state);let r=-1,g=!1;for(const y of i){if(!isIAction(y.action)||y.action.nextEmbedded!=="@pop")continue;g=!0;let k=y.resolveRegex(t.stack.state);const L=k.source;if(L.substr(0,4)==="^(?:"&&L.substr(L.length-1,1)===")"){const z=(k.ignoreCase?"i":"")+(k.unicode?"u":"");k=new RegExp(L.substr(4,L.length-5),z)}const V=e.search(k);V===-1||V!==0&&y.matchOnlyAtLineStart||(r===-1||V0&&g.nestedLanguageTokenize(k,!1,i.embeddedLanguageData,r);const L=e.substring(y);return this._myTokenize(L,t,i,r+y,g)}_safeRuleName(e){return e?e.name:"(unknown)"}_myTokenize(e,t,i,r,g){g.enterLanguage(this._languageId);const y=e.length,k=t&&this._lexer.includeLF?e+"\n":e,L=k.length;let V=i.embeddedLanguageData,z=i.stack,j=0,ie=null,oe=!0;for(;oe||j=L)break;oe=!1;let Ne=this._lexer.tokenizer[de];if(!Ne&&(Ne=findRules(this._lexer,de),!Ne))throw createError(this._lexer,"tokenizer state is not defined: "+de);const Fe=k.substr(j);for(const Ve of Ne)if((j===0||!Ve.matchOnlyAtLineStart)&&(ue=Fe.match(Ve.resolveRegex(de)),ue)){he=ue[0],pe=Ve.action;break}}if(ue||(ue=[""],he=""),pe||(j=this._lexer.maxStack)throw createError(this._lexer,"maximum tokenizer stack size reached: ["+z.state+","+z.parent.state+",...]");z=z.push(de)}else if(pe.next==="@pop"){if(z.depth<=1)throw createError(this._lexer,"trying to pop an empty stack in rule: "+this._safeRuleName(Ce));z=z.pop()}else if(pe.next==="@popall")z=z.popall();else{let Ne=substituteMatches(this._lexer,pe.next,he,ue,de);if(Ne[0]==="@"&&(Ne=Ne.substr(1)),findRules(this._lexer,Ne))z=z.push(Ne);else throw createError(this._lexer,"trying to set a next state '"+Ne+"' that is undefined in rule: "+this._safeRuleName(Ce))}}pe.log&&typeof pe.log=="string"&&log(this._lexer,this._lexer.languageId+": "+substituteMatches(this._lexer,pe.log,he,ue,de))}if(xe===null)throw createError(this._lexer,"lexer rule has no well-defined action in rule: "+this._safeRuleName(Ce));const Ie=Ne=>{const Fe=this._languageService.getLanguageIdByLanguageName(Ne)||this._languageService.getLanguageIdByMimeType(Ne)||Ne,Ve=this._getNestedEmbeddedLanguageData(Fe);if(j0)throw createError(this._lexer,"groups cannot be nested: "+this._safeRuleName(Ce));if(ue.length!==xe.length+1)throw createError(this._lexer,"matched number of groups does not match the number of actions in rule: "+this._safeRuleName(Ce));let Ne=0;for(let Fe=1;Fen});class Colorizer{static colorizeElement(e,t,i,r){r=r||{};const g=r.theme||"vs",y=r.mimeType||i.getAttribute("lang")||i.getAttribute("data-lang");if(!y)return console.error("Mode not detected"),Promise.resolve();const k=t.getLanguageIdByMimeType(y)||y;e.setTheme(g);const L=i.firstChild?i.firstChild.nodeValue:"";i.className+=" "+g;const V=z=>{var j;const ie=(j=ttPolicy$3==null?void 0:ttPolicy$3.createHTML(z))!==null&&j!==void 0?j:z;i.innerHTML=ie};return this.colorize(t,L||"",k,r).then(V,z=>console.error(z))}static async colorize(e,t,i,r){const g=e.languageIdCodec;let y=4;r&&typeof r.tabSize=="number"&&(y=r.tabSize),startsWithUTF8BOM(t)&&(t=t.substr(1));const k=splitLines(t);if(!e.isRegisteredLanguageId(i))return _fakeColorize(k,y,g);const L=await TokenizationRegistry.getOrCreate(i);return L?_colorize(k,y,L,g):_fakeColorize(k,y,g)}static colorizeLine(e,t,i,r,g=4){const y=ViewLineRenderingData.isBasicASCII(e,t),k=ViewLineRenderingData.containsRTL(e,y,i);return renderViewLine2(new RenderLineInput(!1,!0,e,!1,y,k,0,r,[],g,0,0,0,0,-1,"none",!1,!1,null)).html}static colorizeModelLine(e,t,i=4){const r=e.getLineContent(t);e.tokenization.forceTokenization(t);const y=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),y,i)}}function _colorize(n,e,t,i){return new Promise((r,g)=>{const y=()=>{const k=_actualColorize(n,e,t,i);if(t instanceof MonarchTokenizer){const L=t.getLoadStatus();if(L.loaded===!1){L.promise.then(y,g);return}}r(k)};y()})}function _fakeColorize(n,e,t){let i=[];const g=new Uint32Array(2);g[0]=0,g[1]=33587200;for(let y=0,k=n.length;y")}return i.join("")}function _actualColorize(n,e,t,i){let r=[],g=t.getInitialState();for(let y=0,k=n.length;y"),g=V.endState}return r.join("")}const MAX_MESSAGE_LENGTH=2e4;let ariaContainer,alertContainer,alertContainer2,statusContainer,statusContainer2;function setARIAContainer(n){ariaContainer=document.createElement("div"),ariaContainer.className="monaco-aria-container";const e=()=>{const i=document.createElement("div");return i.className="monaco-alert",i.setAttribute("role","alert"),i.setAttribute("aria-atomic","true"),ariaContainer.appendChild(i),i};alertContainer=e(),alertContainer2=e();const t=()=>{const i=document.createElement("div");return i.className="monaco-status",i.setAttribute("aria-live","polite"),i.setAttribute("aria-atomic","true"),ariaContainer.appendChild(i),i};statusContainer=t(),statusContainer2=t(),n.appendChild(ariaContainer)}function alert(n){ariaContainer&&(alertContainer.textContent!==n?(clearNode(alertContainer2),insertMessage(alertContainer,n)):(clearNode(alertContainer),insertMessage(alertContainer2,n)))}function status(n){ariaContainer&&(statusContainer.textContent!==n?(clearNode(statusContainer2),insertMessage(statusContainer,n)):(clearNode(statusContainer),insertMessage(statusContainer2,n)))}function insertMessage(n,e){clearNode(n),e.length>MAX_MESSAGE_LENGTH&&(e=e.substr(0,MAX_MESSAGE_LENGTH)),n.textContent=e,n.style.visibility="hidden",n.style.visibility="visible"}const IMarkerDecorationsService=createDecorator("markerDecorationsService");var __decorate$2r=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2h=function(n,e){return function(t,i){e(t,i,n)}};let MarkerDecorationsContribution=class{constructor(e,t){}dispose(){}};MarkerDecorationsContribution.ID="editor.contrib.markerDecorations";MarkerDecorationsContribution=__decorate$2r([__param$2h(1,IMarkerDecorationsService)],MarkerDecorationsContribution);registerEditorContribution(MarkerDecorationsContribution.ID,MarkerDecorationsContribution,0);class ElementSizeObserver extends Disposable{constructor(e,t){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){if(!this._resizeObserver&&this._referenceDomElement){let e=null;const t=()=>{e?this.observe({width:e.width,height:e.height}):this.observe()};let i=!1,r=!1;const g=()=>{if(i&&!r)try{i=!1,r=!0,t()}finally{scheduleAtNextAnimationFrame(getWindow$1(this._referenceDomElement),()=>{r=!1,g()})}};this._resizeObserver=new ResizeObserver(y=>{y&&y[0]&&y[0].contentRect?e={width:y[0].contentRect.width,height:y[0].contentRect.height}:e=null,i=!0,g()}),this._resizeObserver.observe(this._referenceDomElement)}}stopObserving(){this._resizeObserver&&(this._resizeObserver.disconnect(),this._resizeObserver=null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let i=0,r=0;t?(i=t.width,r=t.height):this._referenceDomElement&&(i=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),i=Math.max(5,i),r=Math.max(5,r),(this._width!==i||this._height!==r)&&(this._width=i,this._height=r,e&&this._onDidChange.fire())}}class EditorSettingMigration{constructor(e,t){this.key=e,this.migrate=t}apply(e){const t=EditorSettingMigration._read(e,this.key),i=g=>EditorSettingMigration._read(e,g),r=(g,y)=>EditorSettingMigration._write(e,g,y);this.migrate(t,i,r)}static _read(e,t){if(typeof e>"u")return;const i=t.indexOf(".");if(i>=0){const r=t.substring(0,i);return this._read(e[r],t.substring(i+1))}return e[t]}static _write(e,t,i){const r=t.indexOf(".");if(r>=0){const g=t.substring(0,r);e[g]=e[g]||{},this._write(e[g],t.substring(r+1),i);return}e[t]=i}}EditorSettingMigration.items=[];function registerEditorSettingMigration(n,e){EditorSettingMigration.items.push(new EditorSettingMigration(n,e))}function registerSimpleEditorSettingMigration(n,e){registerEditorSettingMigration(n,(t,i,r)=>{if(typeof t<"u"){for(const[g,y]of e)if(t===g){r(n,y);return}}})}function migrateOptions(n){EditorSettingMigration.items.forEach(e=>e.apply(n))}registerSimpleEditorSettingMigration("wordWrap",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration("lineNumbers",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration("cursorBlinking",[["visible","solid"]]);registerSimpleEditorSettingMigration("renderWhitespace",[[!0,"boundary"],[!1,"none"]]);registerSimpleEditorSettingMigration("renderLineHighlight",[[!0,"line"],[!1,"none"]]);registerSimpleEditorSettingMigration("acceptSuggestionOnEnter",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration("tabCompletion",[[!1,"off"],[!0,"onlySnippets"]]);registerSimpleEditorSettingMigration("hover",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);registerSimpleEditorSettingMigration("parameterHints",[[!0,{enabled:!0}],[!1,{enabled:!1}]]);registerSimpleEditorSettingMigration("autoIndent",[[!1,"advanced"],[!0,"full"]]);registerSimpleEditorSettingMigration("matchBrackets",[[!0,"always"],[!1,"never"]]);registerSimpleEditorSettingMigration("renderFinalNewline",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration("cursorSmoothCaretAnimation",[[!0,"on"],[!1,"off"]]);registerSimpleEditorSettingMigration("occurrencesHighlight",[[!0,"singleFile"],[!1,"off"]]);registerSimpleEditorSettingMigration("wordBasedSuggestions",[[!0,"matchingDocuments"],[!1,"off"]]);registerEditorSettingMigration("autoClosingBrackets",(n,e,t)=>{n===!1&&(t("autoClosingBrackets","never"),typeof e("autoClosingQuotes")>"u"&&t("autoClosingQuotes","never"),typeof e("autoSurround")>"u"&&t("autoSurround","never"))});registerEditorSettingMigration("renderIndentGuides",(n,e,t)=>{typeof n<"u"&&(t("renderIndentGuides",void 0),typeof e("guides.indentation")>"u"&&t("guides.indentation",!!n))});registerEditorSettingMigration("highlightActiveIndentGuide",(n,e,t)=>{typeof n<"u"&&(t("highlightActiveIndentGuide",void 0),typeof e("guides.highlightActiveIndentation")>"u"&&t("guides.highlightActiveIndentation",!!n))});const suggestFilteredTypesMapping={method:"showMethods",function:"showFunctions",constructor:"showConstructors",deprecated:"showDeprecated",field:"showFields",variable:"showVariables",class:"showClasses",struct:"showStructs",interface:"showInterfaces",module:"showModules",property:"showProperties",event:"showEvents",operator:"showOperators",unit:"showUnits",value:"showValues",constant:"showConstants",enum:"showEnums",enumMember:"showEnumMembers",keyword:"showKeywords",text:"showWords",color:"showColors",file:"showFiles",reference:"showReferences",folder:"showFolders",typeParameter:"showTypeParameters",snippet:"showSnippets"};registerEditorSettingMigration("suggest.filteredTypes",(n,e,t)=>{if(n&&typeof n=="object"){for(const i of Object.entries(suggestFilteredTypesMapping))n[i[0]]===!1&&typeof e("suggest.".concat(i[1]))>"u"&&t("suggest.".concat(i[1]),!1);t("suggest.filteredTypes",void 0)}});registerEditorSettingMigration("quickSuggestions",(n,e,t)=>{if(typeof n=="boolean"){const i=n?"on":"off";t("quickSuggestions",{comments:i,strings:i,other:i})}});registerEditorSettingMigration("experimental.stickyScroll.enabled",(n,e,t)=>{typeof n=="boolean"&&(t("experimental.stickyScroll.enabled",void 0),typeof e("stickyScroll.enabled")>"u"&&t("stickyScroll.enabled",n))});registerEditorSettingMigration("experimental.stickyScroll.maxLineCount",(n,e,t)=>{typeof n=="number"&&(t("experimental.stickyScroll.maxLineCount",void 0),typeof e("stickyScroll.maxLineCount")>"u"&&t("stickyScroll.maxLineCount",n))});registerEditorSettingMigration("codeActionsOnSave",(n,e,t)=>{if(n&&typeof n=="object"){let i=!1;const r={};for(const g of Object.entries(n))typeof g[1]=="boolean"?(i=!0,r[g[0]]=g[1]?"explicit":"never"):r[g[0]]=g[1];i&&t("codeActionsOnSave",r)}});registerEditorSettingMigration("codeActionWidget.includeNearbyQuickfixes",(n,e,t)=>{typeof n=="boolean"&&(t("codeActionWidget.includeNearbyQuickfixes",void 0),typeof e("codeActionWidget.includeNearbyQuickFixes")>"u"&&t("codeActionWidget.includeNearbyQuickFixes",n))});registerEditorSettingMigration("lightbulb.enabled",(n,e,t)=>{typeof n=="boolean"&&t("lightbulb.enabled",n?void 0:"off")});class TabFocusImpl{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new Emitter$1,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus)}}const TabFocus=new TabFocusImpl,IAccessibilityService=createDecorator("accessibilityService"),CONTEXT_ACCESSIBILITY_MODE_ENABLED=new RawContextKey("accessibilityModeEnabled",!1);var __decorate$2q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2g=function(n,e){return function(t,i){e(t,i,n)}};let EditorConfiguration=class extends Disposable{constructor(e,t,i,r){super(),this._accessibilityService=r,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new Emitter$1),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._glyphMarginDecorationLaneCount=1,this._computeOptionsMemory=new ComputeOptionsMemory,this.isSimpleWidget=e,this._containerObserver=this._register(new ElementSizeObserver(i,t.dimension)),this._targetWindowId=getWindow$1(i).vscodeWindowId,this._rawOptions=deepCloneAndMigrateOptions(t),this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(13)&&this._containerObserver.startObserving(),this._register(EditorZoom.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(TabFocus.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(FontMeasurements.onDidChange(()=>this._recomputeOptions())),this._register(PixelRatio.getInstance(getWindow$1(i)).onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){const e=this._computeOptions(),t=EditorOptionsUtil.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){const e=this._readEnvConfiguration(),t=BareFontInfo.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),i=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:i,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:TabFocus.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport,glyphMarginDecorationLaneCount:this._glyphMarginDecorationLaneCount};return EditorOptionsUtil.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:getExtraEditorClassName(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:isWebKit||isFirefox$1,pixelRatio:PixelRatio.getInstance(getWindowById(this._targetWindowId,!0).window).value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return FontMeasurements.readFontInfo(getWindowById(this._targetWindowId,!0).window,e)}getRawOptions(){return this._rawOptions}updateOptions(e){const t=deepCloneAndMigrateOptions(e);EditorOptionsUtil.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=EditorOptionsUtil.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){const t=digitCount(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}setGlyphMarginDecorationLaneCount(e){this._glyphMarginDecorationLaneCount!==e&&(this._glyphMarginDecorationLaneCount=e,this._recomputeOptions())}};EditorConfiguration=__decorate$2q([__param$2g(3,IAccessibilityService)],EditorConfiguration);function digitCount(n){let e=0;for(;n;)n=Math.floor(n/10),e++;return e||1}function getExtraEditorClassName(){let n="";return!isSafari&&!isWebkitWebView&&(n+="no-user-select "),isSafari&&(n+="no-minimap-shadow ",n+="enable-user-select "),isMacintosh&&(n+="mac "),n}class ValidatedEditorOptions{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}}class ComputedEditorOptions{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw new Error("Cannot read uninitialized value");return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}}class EditorOptionsUtil{static validateOptions(e){const t=new ValidatedEditorOptions;for(const i of editorOptionsRegistry){const r=i.name==="_never_"?void 0:e[i.name];t._write(i.id,i.validate(r))}return t}static computeOptions(e,t){const i=new ComputedEditorOptions;for(const r of editorOptionsRegistry)i._write(r.id,r.compute(t,i,e._read(r.id)));return i}static _deepEquals(e,t){if(typeof e!="object"||typeof t!="object"||!e||!t)return e===t;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)?equals$3(e,t):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const i in e)if(!EditorOptionsUtil._deepEquals(e[i],t[i]))return!1;return!0}static checkEquals(e,t){const i=[];let r=!1;for(const g of editorOptionsRegistry){const y=!EditorOptionsUtil._deepEquals(e._read(g.id),t._read(g.id));i[g.id]=y,y&&(r=!0)}return r?new ConfigurationChangedEvent(i):null}static applyUpdate(e,t){let i=!1;for(const r of editorOptionsRegistry)if(t.hasOwnProperty(r.name)){const g=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=g.newValue,i=i||g.didChange}return i}}function deepCloneAndMigrateOptions(n){const e=deepClone(n);return migrateOptions(e),e}var inputLatency;(function(n){const e={total:0,min:Number.MAX_VALUE,max:0},t={...e},i={...e},r={...e};let g=0;const y={keydown:0,input:0,render:0};function k(){de(),performance.mark("inputlatency/start"),performance.mark("keydown/start"),y.keydown=1,queueMicrotask(L)}n.onKeyDown=k;function L(){y.keydown===1&&(performance.mark("keydown/end"),y.keydown=2)}function V(){performance.mark("input/start"),y.input=1,le()}n.onBeforeInput=V;function z(){y.input===0&&V(),queueMicrotask(j)}n.onInput=z;function j(){y.input===1&&(performance.mark("input/end"),y.input=2)}function ie(){de()}n.onKeyUp=ie;function oe(){de()}n.onSelectionChange=oe;function re(){y.keydown===2&&y.input===2&&y.render===0&&(performance.mark("render/start"),y.render=1,queueMicrotask(ae),le())}n.onRenderStart=re;function ae(){y.render===1&&(performance.mark("render/end"),y.render=2)}function le(){setTimeout(de)}function de(){y.keydown===2&&y.input===2&&y.render===2&&(performance.mark("inputlatency/end"),performance.measure("keydown","keydown/start","keydown/end"),performance.measure("input","input/start","input/end"),performance.measure("render","render/start","render/end"),performance.measure("inputlatency","inputlatency/start","inputlatency/end"),ue("keydown",e),ue("input",t),ue("render",i),ue("inputlatency",r),g++,he())}function ue(xe,Ie){const Ne=performance.getEntriesByName(xe)[0].duration;Ie.total+=Ne,Ie.min=Math.min(Ie.min,Ne),Ie.max=Math.max(Ie.max,Ne)}function he(){performance.clearMarks("keydown/start"),performance.clearMarks("keydown/end"),performance.clearMarks("input/start"),performance.clearMarks("input/end"),performance.clearMarks("render/start"),performance.clearMarks("render/end"),performance.clearMarks("inputlatency/start"),performance.clearMarks("inputlatency/end"),performance.clearMeasures("keydown"),performance.clearMeasures("input"),performance.clearMeasures("render"),performance.clearMeasures("inputlatency"),y.keydown=0,y.input=0,y.render=0}function pe(){if(g===0)return;const xe={keydown:Ce(e),input:Ce(t),render:Ce(i),total:Ce(r),sampleCount:g};return $e(e),$e(t),$e(i),$e(r),g=0,xe}n.getAndClearMeasurements=pe;function Ce(xe){return{average:xe.total/g,max:xe.max,min:xe.min}}function $e(xe){xe.total=0,xe.min=Number.MAX_VALUE,xe.max=0}})(inputLatency||(inputLatency={}));class GlobalPointerMoveMonitor{constructor(){this._hooks=new DisposableStore,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;const i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,r,g){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=g;let y=e;try{e.setPointerCapture(t),this._hooks.add(toDisposable(()=>{try{e.releasePointerCapture(t)}catch(k){}}))}catch(k){y=getWindow$1(e)}this._hooks.add(addDisposableListener(y,EventType$1.POINTER_MOVE,k=>{if(k.buttons!==i){this.stopMonitoring(!0);return}k.preventDefault(),this._pointerMoveCallback(k)})),this._hooks.add(addDisposableListener(y,EventType$1.POINTER_UP,k=>this.stopMonitoring(!0)))}}function asCssVariableName(n){return"--vscode-".concat(n.replace(/\./g,"-"))}function asCssVariable(n){return"var(".concat(asCssVariableName(n),")")}function asCssVariableWithDefault(n,e){return"var(".concat(asCssVariableName(n),", ").concat(e,")")}const Extensions$4={ColorContribution:"base.contributions.colors"};class ColorRegistry{constructor(){this._onDidChangeSchema=new Emitter$1,this.onDidChangeSchema=this._onDidChangeSchema.event,this.colorSchema={type:"object",properties:{}},this.colorReferenceSchema={type:"string",enum:[],enumDescriptions:[]},this.colorsById={}}registerColor(e,t,i,r=!1,g){const y={id:e,description:i,defaults:t,needsTransparency:r,deprecationMessage:g};this.colorsById[e]=y;const k={type:"string",description:i,format:"color-hex",defaultSnippets:[{body:"${1:#ff0000}"}]};return g&&(k.deprecationMessage=g),r&&(k.pattern="^#(?:(?[0-9a-fA-f]{3}[0-9a-eA-E])|(?:[0-9a-fA-F]{6}(?:(?![fF]{2})(?:[0-9a-fA-F]{2}))))?$",k.patternErrorMessage="This color must be transparent or it will obscure content"),this.colorSchema.properties[e]=k,this.colorReferenceSchema.enum.push(e),this.colorReferenceSchema.enumDescriptions.push(i),this._onDidChangeSchema.fire(),e}getColors(){return Object.keys(this.colorsById).map(e=>this.colorsById[e])}resolveDefaultColor(e,t){const i=this.colorsById[e];if(i&&i.defaults){const r=i.defaults[t.type];return resolveColorValue(r,t)}}getColorSchema(){return this.colorSchema}toString(){const e=(t,i)=>{const r=t.indexOf(".")===-1?0:1,g=i.indexOf(".")===-1?0:1;return r!==g?r-g:t.localeCompare(i)};return Object.keys(this.colorsById).sort(e).map(t=>"- `".concat(t,"`: ").concat(this.colorsById[t].description)).join("\n")}}const colorRegistry$1=new ColorRegistry;Registry.add(Extensions$4.ColorContribution,colorRegistry$1);function registerColor(n,e,t,i,r){return colorRegistry$1.registerColor(n,e,t,i,r)}function executeTransform(n,e){var t,i,r,g;switch(n.op){case 0:return(t=resolveColorValue(n.value,e))===null||t===void 0?void 0:t.darken(n.factor);case 1:return(i=resolveColorValue(n.value,e))===null||i===void 0?void 0:i.lighten(n.factor);case 2:return(r=resolveColorValue(n.value,e))===null||r===void 0?void 0:r.transparent(n.factor);case 3:{const y=resolveColorValue(n.background,e);return y?(g=resolveColorValue(n.value,e))===null||g===void 0?void 0:g.makeOpaque(y):resolveColorValue(n.value,e)}case 4:for(const y of n.values){const k=resolveColorValue(y,e);if(k)return k}return;case 6:return resolveColorValue(e.defines(n.if)?n.then:n.else,e);case 5:{const y=resolveColorValue(n.value,e);if(!y)return;const k=resolveColorValue(n.background,e);return k?y.isDarkerThan(k)?Color$1.getLighterColor(y,k,n.factor).transparent(n.transparency):Color$1.getDarkerColor(y,k,n.factor).transparent(n.transparency):y.transparent(n.factor*n.transparency)}default:throw assertNever()}}function darken$1(n,e){return{op:0,value:n,factor:e}}function lighten(n,e){return{op:1,value:n,factor:e}}function transparent(n,e){return{op:2,value:n,factor:e}}function oneOf(...n){return{op:4,values:n}}function ifDefinedThenElse(n,e,t){return{op:6,if:n,then:e,else:t}}function lessProminent(n,e,t,i){return{op:5,value:n,background:e,factor:t,transparency:i}}function resolveColorValue(n,e){if(n!==null){if(typeof n=="string")return n[0]==="#"?Color$1.fromHex(n):e.getColor(n);if(n instanceof Color$1)return n;if(typeof n=="object")return executeTransform(n,e)}}const workbenchColorsSchemaId="vscode://schemas/workbench-colors",schemaRegistry$1=Registry.as(Extensions$7.JSONContribution);schemaRegistry$1.registerSchema(workbenchColorsSchemaId,colorRegistry$1.getColorSchema());const delayer$1=new RunOnceScheduler(()=>schemaRegistry$1.notifySchemaChanged(workbenchColorsSchemaId),200);colorRegistry$1.onDidChangeSchema(()=>{delayer$1.isScheduled()||delayer$1.schedule()});const foreground=registerColor("foreground",{dark:"#CCCCCC",light:"#616161",hcDark:"#FFFFFF",hcLight:"#292929"},localize("foreground","Overall foreground color. This color is only used if not overridden by a component."));registerColor("disabledForeground",{dark:"#CCCCCC80",light:"#61616180",hcDark:"#A5A5A5",hcLight:"#7F7F7F"},localize("disabledForeground","Overall foreground for disabled elements. This color is only used if not overridden by a component."));registerColor("errorForeground",{dark:"#F48771",light:"#A1260D",hcDark:"#F48771",hcLight:"#B5200D"},localize("errorForeground","Overall foreground color for error messages. This color is only used if not overridden by a component."));registerColor("descriptionForeground",{light:"#717171",dark:transparent(foreground,.7),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("descriptionForeground","Foreground color for description text providing additional information, for example for a label."));const iconForeground=registerColor("icon.foreground",{dark:"#C5C5C5",light:"#424242",hcDark:"#FFFFFF",hcLight:"#292929"},localize("iconForeground","The default color for icons in the workbench.")),focusBorder=registerColor("focusBorder",{dark:"#007FD4",light:"#0090F1",hcDark:"#F38518",hcLight:"#006BBD"},localize("focusBorder","Overall border color for focused elements. This color is only used if not overridden by a component.")),contrastBorder=registerColor("contrastBorder",{light:null,dark:null,hcDark:"#6FC3DF",hcLight:"#0F4A85"},localize("contrastBorder","An extra border around elements to separate them from others for greater contrast.")),activeContrastBorder=registerColor("contrastActiveBorder",{light:null,dark:null,hcDark:focusBorder,hcLight:focusBorder},localize("activeContrastBorder","An extra border around active elements to separate them from others for greater contrast."));registerColor("selection.background",{light:null,dark:null,hcDark:null,hcLight:null},localize("selectionBackground","The background color of text selections in the workbench (e.g. for input fields or text areas). Note that this does not apply to selections within the editor."));const textLinkForeground=registerColor("textLink.foreground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize("textLinkForeground","Foreground color for links in text."));registerColor("textLink.activeForeground",{light:"#006AB1",dark:"#3794FF",hcDark:"#21A6FF",hcLight:"#0F4A85"},localize("textLinkActiveForeground","Foreground color for links in text when clicked on and on mouse hover."));registerColor("textSeparator.foreground",{light:"#0000002e",dark:"#ffffff2e",hcDark:Color$1.black,hcLight:"#292929"},localize("textSeparatorForeground","Color for text separators."));registerColor("textPreformat.foreground",{light:"#A31515",dark:"#D7BA7D",hcDark:"#000000",hcLight:"#FFFFFF"},localize("textPreformatForeground","Foreground color for preformatted text segments."));registerColor("textPreformat.background",{light:"#0000001A",dark:"#FFFFFF1A",hcDark:"#FFFFFF",hcLight:"#09345f"},localize("textPreformatBackground","Background color for preformatted text segments."));registerColor("textBlockQuote.background",{light:"#f2f2f2",dark:"#222222",hcDark:null,hcLight:"#F2F2F2"},localize("textBlockQuoteBackground","Background color for block quotes in text."));registerColor("textBlockQuote.border",{light:"#007acc80",dark:"#007acc80",hcDark:Color$1.white,hcLight:"#292929"},localize("textBlockQuoteBorder","Border color for block quotes in text."));registerColor("textCodeBlock.background",{light:"#dcdcdc66",dark:"#0a0a0a66",hcDark:Color$1.black,hcLight:"#F2F2F2"},localize("textCodeBlockBackground","Background color for code blocks in text."));registerColor("sash.hoverBorder",{dark:focusBorder,light:focusBorder,hcDark:focusBorder,hcLight:focusBorder},localize("sashActiveBorder","Border color of active sashes."));const badgeBackground=registerColor("badge.background",{dark:"#4D4D4D",light:"#C4C4C4",hcDark:Color$1.black,hcLight:"#0F4A85"},localize("badgeBackground","Badge background color. Badges are small information labels, e.g. for search results count.")),badgeForeground=registerColor("badge.foreground",{dark:Color$1.white,light:"#333",hcDark:Color$1.white,hcLight:Color$1.white},localize("badgeForeground","Badge foreground color. Badges are small information labels, e.g. for search results count.")),scrollbarShadow=registerColor("scrollbar.shadow",{dark:"#000000",light:"#DDDDDD",hcDark:null,hcLight:null},localize("scrollbarShadow","Scrollbar shadow to indicate that the view is scrolled.")),scrollbarSliderBackground=registerColor("scrollbarSlider.background",{dark:Color$1.fromHex("#797979").transparent(.4),light:Color$1.fromHex("#646464").transparent(.4),hcDark:transparent(contrastBorder,.6),hcLight:transparent(contrastBorder,.4)},localize("scrollbarSliderBackground","Scrollbar slider background color.")),scrollbarSliderHoverBackground=registerColor("scrollbarSlider.hoverBackground",{dark:Color$1.fromHex("#646464").transparent(.7),light:Color$1.fromHex("#646464").transparent(.7),hcDark:transparent(contrastBorder,.8),hcLight:transparent(contrastBorder,.8)},localize("scrollbarSliderHoverBackground","Scrollbar slider background color when hovering.")),scrollbarSliderActiveBackground=registerColor("scrollbarSlider.activeBackground",{dark:Color$1.fromHex("#BFBFBF").transparent(.4),light:Color$1.fromHex("#000000").transparent(.6),hcDark:contrastBorder,hcLight:contrastBorder},localize("scrollbarSliderActiveBackground","Scrollbar slider background color when clicked on.")),progressBarBackground=registerColor("progressBar.background",{dark:Color$1.fromHex("#0E70C0"),light:Color$1.fromHex("#0E70C0"),hcDark:contrastBorder,hcLight:contrastBorder},localize("progressBarBackground","Background color of the progress bar that can show for long running operations.")),editorBackground=registerColor("editor.background",{light:"#ffffff",dark:"#1E1E1E",hcDark:Color$1.black,hcLight:Color$1.white},localize("editorBackground","Editor background color.")),editorForeground=registerColor("editor.foreground",{light:"#333333",dark:"#BBBBBB",hcDark:Color$1.white,hcLight:foreground},localize("editorForeground","Editor default foreground color."));registerColor("editorStickyScroll.background",{light:editorBackground,dark:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorStickyScrollBackground","Background color of sticky scroll in the editor"));registerColor("editorStickyScrollHover.background",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("editorStickyScrollHoverBackground","Background color of sticky scroll on hover in the editor"));registerColor("editorStickyScroll.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorStickyScrollBorder","Border color of sticky scroll in the editor"));registerColor("editorStickyScroll.shadow",{dark:scrollbarShadow,light:scrollbarShadow,hcDark:scrollbarShadow,hcLight:scrollbarShadow},localize("editorStickyScrollShadow"," Shadow color of sticky scroll in the editor"));const editorWidgetBackground=registerColor("editorWidget.background",{dark:"#252526",light:"#F3F3F3",hcDark:"#0C141F",hcLight:Color$1.white},localize("editorWidgetBackground","Background color of editor widgets, such as find/replace.")),editorWidgetForeground=registerColor("editorWidget.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("editorWidgetForeground","Foreground color of editor widgets, such as find/replace.")),editorWidgetBorder=registerColor("editorWidget.border",{dark:"#454545",light:"#C8C8C8",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorWidgetBorder","Border color of editor widgets. The color is only used if the widget chooses to have a border and if the color is not overridden by a widget."));registerColor("editorWidget.resizeBorder",{light:null,dark:null,hcDark:null,hcLight:null},localize("editorWidgetResizeBorder","Border color of the resize bar of editor widgets. The color is only used if the widget chooses to have a resize border and if the color is not overridden by a widget."));registerColor("editorError.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorError.background","Background color of error text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorErrorForeground=registerColor("editorError.foreground",{dark:"#F14C4C",light:"#E51400",hcDark:"#F48771",hcLight:"#B5200D"},localize("editorError.foreground","Foreground color of error squigglies in the editor.")),editorErrorBorder=registerColor("editorError.border",{dark:null,light:null,hcDark:Color$1.fromHex("#E47777").transparent(.8),hcLight:"#B5200D"},localize("errorBorder","If set, color of double underlines for errors in the editor.")),editorWarningBackground=registerColor("editorWarning.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorWarning.background","Background color of warning text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorWarningForeground=registerColor("editorWarning.foreground",{dark:"#CCA700",light:"#BF8803",hcDark:"#FFD370",hcLight:"#895503"},localize("editorWarning.foreground","Foreground color of warning squigglies in the editor.")),editorWarningBorder=registerColor("editorWarning.border",{dark:null,light:null,hcDark:Color$1.fromHex("#FFCC00").transparent(.8),hcLight:Color$1.fromHex("#FFCC00").transparent(.8)},localize("warningBorder","If set, color of double underlines for warnings in the editor."));registerColor("editorInfo.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorInfo.background","Background color of info text in the editor. The color must not be opaque so as not to hide underlying decorations."),!0);const editorInfoForeground=registerColor("editorInfo.foreground",{dark:"#3794FF",light:"#1a85ff",hcDark:"#3794FF",hcLight:"#1a85ff"},localize("editorInfo.foreground","Foreground color of info squigglies in the editor.")),editorInfoBorder=registerColor("editorInfo.border",{dark:null,light:null,hcDark:Color$1.fromHex("#3794FF").transparent(.8),hcLight:"#292929"},localize("infoBorder","If set, color of double underlines for infos in the editor.")),editorHintForeground=registerColor("editorHint.foreground",{dark:Color$1.fromHex("#eeeeee").transparent(.7),light:"#6c6c6c",hcDark:null,hcLight:null},localize("editorHint.foreground","Foreground color of hint squigglies in the editor."));registerColor("editorHint.border",{dark:null,light:null,hcDark:Color$1.fromHex("#eeeeee").transparent(.8),hcLight:"#292929"},localize("hintBorder","If set, color of double underlines for hints in the editor."));const editorActiveLinkForeground=registerColor("editorLink.activeForeground",{dark:"#4E94CE",light:Color$1.blue,hcDark:Color$1.cyan,hcLight:"#292929"},localize("activeLinkForeground","Color of active links.")),editorSelectionBackground=registerColor("editor.selectionBackground",{light:"#ADD6FF",dark:"#264F78",hcDark:"#f3f518",hcLight:"#0F4A85"},localize("editorSelectionBackground","Color of the editor selection.")),editorSelectionForeground=registerColor("editor.selectionForeground",{light:null,dark:null,hcDark:"#000000",hcLight:Color$1.white},localize("editorSelectionForeground","Color of the selected text for high contrast.")),editorInactiveSelection=registerColor("editor.inactiveSelectionBackground",{light:transparent(editorSelectionBackground,.5),dark:transparent(editorSelectionBackground,.5),hcDark:transparent(editorSelectionBackground,.7),hcLight:transparent(editorSelectionBackground,.5)},localize("editorInactiveSelection","Color of the selection in an inactive editor. The color must not be opaque so as not to hide underlying decorations."),!0),editorSelectionHighlight=registerColor("editor.selectionHighlightBackground",{light:lessProminent(editorSelectionBackground,editorBackground,.3,.6),dark:lessProminent(editorSelectionBackground,editorBackground,.3,.6),hcDark:null,hcLight:null},localize("editorSelectionHighlight","Color for regions with the same content as the selection. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.selectionHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorSelectionHighlightBorder","Border color for regions with the same content as the selection."));registerColor("editor.findMatchBackground",{light:"#A8AC94",dark:"#515C6A",hcDark:null,hcLight:null},localize("editorFindMatch","Color of the current search match."));const editorFindMatchHighlight=registerColor("editor.findMatchHighlightBackground",{light:"#EA5C0055",dark:"#EA5C0055",hcDark:null,hcLight:null},localize("findMatchHighlight","Color of the other search matches. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.findRangeHighlightBackground",{dark:"#3a3d4166",light:"#b4b4b44d",hcDark:null,hcLight:null},localize("findRangeHighlight","Color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.findMatchBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorFindMatchBorder","Border color of the current search match."));const editorFindMatchHighlightBorder=registerColor("editor.findMatchHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("findMatchHighlightBorder","Border color of the other search matches.")),editorFindRangeHighlightBorder=registerColor("editor.findRangeHighlightBorder",{dark:null,light:null,hcDark:transparent(activeContrastBorder,.4),hcLight:transparent(activeContrastBorder,.4)},localize("findRangeHighlightBorder","Border color of the range limiting the search. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.hoverHighlightBackground",{light:"#ADD6FF26",dark:"#264f7840",hcDark:"#ADD6FF26",hcLight:null},localize("hoverHighlight","Highlight below the word for which a hover is shown. The color must not be opaque so as not to hide underlying decorations."),!0);const editorHoverBackground=registerColor("editorHoverWidget.background",{light:editorWidgetBackground,dark:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("hoverBackground","Background color of the editor hover."));registerColor("editorHoverWidget.foreground",{light:editorWidgetForeground,dark:editorWidgetForeground,hcDark:editorWidgetForeground,hcLight:editorWidgetForeground},localize("hoverForeground","Foreground color of the editor hover."));const editorHoverBorder=registerColor("editorHoverWidget.border",{light:editorWidgetBorder,dark:editorWidgetBorder,hcDark:editorWidgetBorder,hcLight:editorWidgetBorder},localize("hoverBorder","Border color of the editor hover."));registerColor("editorHoverWidget.statusBarBackground",{dark:lighten(editorHoverBackground,.2),light:darken$1(editorHoverBackground,.05),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("statusBarBackground","Background color of the editor hover status bar."));const editorInlayHintForeground=registerColor("editorInlayHint.foreground",{dark:"#969696",light:"#969696",hcDark:Color$1.white,hcLight:Color$1.black},localize("editorInlayHintForeground","Foreground color of inline hints")),editorInlayHintBackground=registerColor("editorInlayHint.background",{dark:transparent(badgeBackground,.1),light:transparent(badgeBackground,.1),hcDark:transparent(Color$1.white,.1),hcLight:transparent(badgeBackground,.1)},localize("editorInlayHintBackground","Background color of inline hints")),editorInlayHintTypeForeground=registerColor("editorInlayHint.typeForeground",{dark:editorInlayHintForeground,light:editorInlayHintForeground,hcDark:editorInlayHintForeground,hcLight:editorInlayHintForeground},localize("editorInlayHintForegroundTypes","Foreground color of inline hints for types")),editorInlayHintTypeBackground=registerColor("editorInlayHint.typeBackground",{dark:editorInlayHintBackground,light:editorInlayHintBackground,hcDark:editorInlayHintBackground,hcLight:editorInlayHintBackground},localize("editorInlayHintBackgroundTypes","Background color of inline hints for types")),editorInlayHintParameterForeground=registerColor("editorInlayHint.parameterForeground",{dark:editorInlayHintForeground,light:editorInlayHintForeground,hcDark:editorInlayHintForeground,hcLight:editorInlayHintForeground},localize("editorInlayHintForegroundParameter","Foreground color of inline hints for parameters")),editorInlayHintParameterBackground=registerColor("editorInlayHint.parameterBackground",{dark:editorInlayHintBackground,light:editorInlayHintBackground,hcDark:editorInlayHintBackground,hcLight:editorInlayHintBackground},localize("editorInlayHintBackgroundParameter","Background color of inline hints for parameters")),editorLightBulbForeground=registerColor("editorLightBulb.foreground",{dark:"#FFCC00",light:"#DDB100",hcDark:"#FFCC00",hcLight:"#007ACC"},localize("editorLightBulbForeground","The color used for the lightbulb actions icon."));registerColor("editorLightBulbAutoFix.foreground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("editorLightBulbAutoFixForeground","The color used for the lightbulb auto fix actions icon."));registerColor("editorLightBulbAi.foreground",{dark:editorLightBulbForeground,light:editorLightBulbForeground,hcDark:editorLightBulbForeground,hcLight:editorLightBulbForeground},localize("editorLightBulbAiForeground","The color used for the lightbulb AI icon."));registerColor("editor.snippetTabstopHighlightBackground",{dark:new Color$1(new RGBA$1(124,124,124,.3)),light:new Color$1(new RGBA$1(10,50,100,.2)),hcDark:new Color$1(new RGBA$1(124,124,124,.3)),hcLight:new Color$1(new RGBA$1(10,50,100,.2))},localize("snippetTabstopHighlightBackground","Highlight background color of a snippet tabstop."));registerColor("editor.snippetTabstopHighlightBorder",{dark:null,light:null,hcDark:null,hcLight:null},localize("snippetTabstopHighlightBorder","Highlight border color of a snippet tabstop."));registerColor("editor.snippetFinalTabstopHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("snippetFinalTabstopHighlightBackground","Highlight background color of the final tabstop of a snippet."));registerColor("editor.snippetFinalTabstopHighlightBorder",{dark:"#525252",light:new Color$1(new RGBA$1(10,50,100,.5)),hcDark:"#525252",hcLight:"#292929"},localize("snippetFinalTabstopHighlightBorder","Highlight border color of the final tabstop of a snippet."));const defaultInsertColor=new Color$1(new RGBA$1(155,185,85,.2)),defaultRemoveColor=new Color$1(new RGBA$1(255,0,0,.2)),diffInserted=registerColor("diffEditor.insertedTextBackground",{dark:"#9ccc2c33",light:"#9ccc2c40",hcDark:null,hcLight:null},localize("diffEditorInserted","Background color for text that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0),diffRemoved=registerColor("diffEditor.removedTextBackground",{dark:"#ff000033",light:"#ff000033",hcDark:null,hcLight:null},localize("diffEditorRemoved","Background color for text that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("diffEditor.insertedLineBackground",{dark:defaultInsertColor,light:defaultInsertColor,hcDark:null,hcLight:null},localize("diffEditorInsertedLines","Background color for lines that got inserted. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("diffEditor.removedLineBackground",{dark:defaultRemoveColor,light:defaultRemoveColor,hcDark:null,hcLight:null},localize("diffEditorRemovedLines","Background color for lines that got removed. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("diffEditorGutter.insertedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorInsertedLineGutter","Background color for the margin where lines got inserted."));registerColor("diffEditorGutter.removedLineBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorRemovedLineGutter","Background color for the margin where lines got removed."));const diffOverviewRulerInserted=registerColor("diffEditorOverview.insertedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorOverviewInserted","Diff overview ruler foreground for inserted content.")),diffOverviewRulerRemoved=registerColor("diffEditorOverview.removedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("diffEditorOverviewRemoved","Diff overview ruler foreground for removed content."));registerColor("diffEditor.insertedTextBorder",{dark:null,light:null,hcDark:"#33ff2eff",hcLight:"#374E06"},localize("diffEditorInsertedOutline","Outline color for the text that got inserted."));registerColor("diffEditor.removedTextBorder",{dark:null,light:null,hcDark:"#FF008F",hcLight:"#AD0707"},localize("diffEditorRemovedOutline","Outline color for text that got removed."));registerColor("diffEditor.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("diffEditorBorder","Border color between the two text editors."));registerColor("diffEditor.diagonalFill",{dark:"#cccccc33",light:"#22222233",hcDark:null,hcLight:null},localize("diffDiagonalFill","Color of the diff editor's diagonal fill. The diagonal fill is used in side-by-side diff views."));registerColor("diffEditor.unchangedRegionBackground",{dark:"sideBar.background",light:"sideBar.background",hcDark:"sideBar.background",hcLight:"sideBar.background"},localize("diffEditor.unchangedRegionBackground","The background color of unchanged blocks in the diff editor."));registerColor("diffEditor.unchangedRegionForeground",{dark:"foreground",light:"foreground",hcDark:"foreground",hcLight:"foreground"},localize("diffEditor.unchangedRegionForeground","The foreground color of unchanged blocks in the diff editor."));registerColor("diffEditor.unchangedCodeBackground",{dark:"#74747429",light:"#b8b8b829",hcDark:null,hcLight:null},localize("diffEditor.unchangedCodeBackground","The background color of unchanged code in the diff editor."));const widgetShadow=registerColor("widget.shadow",{dark:transparent(Color$1.black,.36),light:transparent(Color$1.black,.16),hcDark:null,hcLight:null},localize("widgetShadow","Shadow color of widgets such as find/replace inside the editor.")),widgetBorder=registerColor("widget.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("widgetBorder","Border color of widgets such as find/replace inside the editor.")),toolbarHoverBackground=registerColor("toolbar.hoverBackground",{dark:"#5a5d5e50",light:"#b8b8b850",hcDark:null,hcLight:null},localize("toolbarHoverBackground","Toolbar background when hovering over actions using the mouse"));registerColor("toolbar.hoverOutline",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("toolbarHoverOutline","Toolbar outline when hovering over actions using the mouse"));registerColor("toolbar.activeBackground",{dark:lighten(toolbarHoverBackground,.1),light:darken$1(toolbarHoverBackground,.1),hcDark:null,hcLight:null},localize("toolbarActiveBackground","Toolbar background when holding the mouse over actions"));const breadcrumbsForeground=registerColor("breadcrumb.foreground",{light:transparent(foreground,.8),dark:transparent(foreground,.8),hcDark:transparent(foreground,.8),hcLight:transparent(foreground,.8)},localize("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsBackground=registerColor("breadcrumb.background",{light:editorBackground,dark:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("breadcrumbsBackground","Background color of breadcrumb items.")),breadcrumbsFocusForeground=registerColor("breadcrumb.focusForeground",{light:darken$1(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsFocusForeground","Color of focused breadcrumb items.")),breadcrumbsActiveSelectionForeground=registerColor("breadcrumb.activeSelectionForeground",{light:darken$1(foreground,.2),dark:lighten(foreground,.1),hcDark:lighten(foreground,.1),hcLight:lighten(foreground,.1)},localize("breadcrumbsSelectedForeground","Color of selected breadcrumb items."));registerColor("breadcrumbPicker.background",{light:editorWidgetBackground,dark:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("breadcrumbsSelectedBackground","Background color of breadcrumb item picker."));const headerTransparency=.5,currentBaseColor=Color$1.fromHex("#40C8AE").transparent(headerTransparency),incomingBaseColor=Color$1.fromHex("#40A6FF").transparent(headerTransparency),commonBaseColor=Color$1.fromHex("#606060").transparent(.4),contentTransparency=.4,rulerTransparency=1,mergeCurrentHeaderBackground=registerColor("merge.currentHeaderBackground",{dark:currentBaseColor,light:currentBaseColor,hcDark:null,hcLight:null},localize("mergeCurrentHeaderBackground","Current header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.currentContentBackground",{dark:transparent(mergeCurrentHeaderBackground,contentTransparency),light:transparent(mergeCurrentHeaderBackground,contentTransparency),hcDark:transparent(mergeCurrentHeaderBackground,contentTransparency),hcLight:transparent(mergeCurrentHeaderBackground,contentTransparency)},localize("mergeCurrentContentBackground","Current content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeIncomingHeaderBackground=registerColor("merge.incomingHeaderBackground",{dark:incomingBaseColor,light:incomingBaseColor,hcDark:null,hcLight:null},localize("mergeIncomingHeaderBackground","Incoming header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.incomingContentBackground",{dark:transparent(mergeIncomingHeaderBackground,contentTransparency),light:transparent(mergeIncomingHeaderBackground,contentTransparency),hcDark:transparent(mergeIncomingHeaderBackground,contentTransparency),hcLight:transparent(mergeIncomingHeaderBackground,contentTransparency)},localize("mergeIncomingContentBackground","Incoming content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeCommonHeaderBackground=registerColor("merge.commonHeaderBackground",{dark:commonBaseColor,light:commonBaseColor,hcDark:null,hcLight:null},localize("mergeCommonHeaderBackground","Common ancestor header background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("merge.commonContentBackground",{dark:transparent(mergeCommonHeaderBackground,contentTransparency),light:transparent(mergeCommonHeaderBackground,contentTransparency),hcDark:transparent(mergeCommonHeaderBackground,contentTransparency),hcLight:transparent(mergeCommonHeaderBackground,contentTransparency)},localize("mergeCommonContentBackground","Common ancestor content background in inline merge-conflicts. The color must not be opaque so as not to hide underlying decorations."),!0);const mergeBorder=registerColor("merge.border",{dark:null,light:null,hcDark:"#C3DF6F",hcLight:"#007ACC"},localize("mergeBorder","Border color on headers and the splitter in inline merge-conflicts."));registerColor("editorOverviewRuler.currentContentForeground",{dark:transparent(mergeCurrentHeaderBackground,rulerTransparency),light:transparent(mergeCurrentHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCurrentContentForeground","Current overview ruler foreground for inline merge-conflicts."));registerColor("editorOverviewRuler.incomingContentForeground",{dark:transparent(mergeIncomingHeaderBackground,rulerTransparency),light:transparent(mergeIncomingHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerIncomingContentForeground","Incoming overview ruler foreground for inline merge-conflicts."));registerColor("editorOverviewRuler.commonContentForeground",{dark:transparent(mergeCommonHeaderBackground,rulerTransparency),light:transparent(mergeCommonHeaderBackground,rulerTransparency),hcDark:mergeBorder,hcLight:mergeBorder},localize("overviewRulerCommonContentForeground","Common ancestor overview ruler foreground for inline merge-conflicts."));const overviewRulerFindMatchForeground=registerColor("editorOverviewRuler.findMatchForeground",{dark:"#d186167e",light:"#d186167e",hcDark:"#AB5A00",hcLight:""},localize("overviewRulerFindMatchForeground","Overview ruler marker color for find matches. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerSelectionHighlightForeground=registerColor("editorOverviewRuler.selectionHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},localize("overviewRulerSelectionHighlightForeground","Overview ruler marker color for selection highlights. The color must not be opaque so as not to hide underlying decorations."),!0),problemsErrorIconForeground=registerColor("problemsErrorIcon.foreground",{dark:editorErrorForeground,light:editorErrorForeground,hcDark:editorErrorForeground,hcLight:editorErrorForeground},localize("problemsErrorIconForeground","The color used for the problems error icon.")),problemsWarningIconForeground=registerColor("problemsWarningIcon.foreground",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningForeground,hcLight:editorWarningForeground},localize("problemsWarningIconForeground","The color used for the problems warning icon.")),problemsInfoIconForeground=registerColor("problemsInfoIcon.foreground",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoForeground,hcLight:editorInfoForeground},localize("problemsInfoIconForeground","The color used for the problems info icon.")),minimapFindMatch=registerColor("minimap.findMatchHighlight",{light:"#d18616",dark:"#d18616",hcDark:"#AB5A00",hcLight:"#0F4A85"},localize("minimapFindMatchHighlight","Minimap marker color for find matches."),!0),minimapSelectionOccurrenceHighlight=registerColor("minimap.selectionOccurrenceHighlight",{light:"#c9c9c9",dark:"#676767",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionOccurrenceHighlight","Minimap marker color for repeating editor selections."),!0),minimapSelection=registerColor("minimap.selectionHighlight",{light:"#ADD6FF",dark:"#264F78",hcDark:"#ffffff",hcLight:"#0F4A85"},localize("minimapSelectionHighlight","Minimap marker color for the editor selection."),!0),minimapInfo=registerColor("minimap.infoHighlight",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoBorder,hcLight:editorInfoBorder},localize("minimapInfo","Minimap marker color for infos.")),minimapWarning=registerColor("minimap.warningHighlight",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Minimap marker color for warnings.")),minimapError=registerColor("minimap.errorHighlight",{dark:new Color$1(new RGBA$1(255,18,18,.7)),light:new Color$1(new RGBA$1(255,18,18,.7)),hcDark:new Color$1(new RGBA$1(255,50,50,1)),hcLight:"#B5200D"},localize("minimapError","Minimap marker color for errors.")),minimapBackground=registerColor("minimap.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("minimapBackground","Minimap background color.")),minimapForegroundOpacity=registerColor("minimap.foregroundOpacity",{dark:Color$1.fromHex("#000f"),light:Color$1.fromHex("#000f"),hcDark:Color$1.fromHex("#000f"),hcLight:Color$1.fromHex("#000f")},localize("minimapForegroundOpacity",'Opacity of foreground elements rendered in the minimap. For example, "#000000c0" will render the elements with 75% opacity.'));registerColor("minimapSlider.background",{light:transparent(scrollbarSliderBackground,.5),dark:transparent(scrollbarSliderBackground,.5),hcDark:transparent(scrollbarSliderBackground,.5),hcLight:transparent(scrollbarSliderBackground,.5)},localize("minimapSliderBackground","Minimap slider background color."));registerColor("minimapSlider.hoverBackground",{light:transparent(scrollbarSliderHoverBackground,.5),dark:transparent(scrollbarSliderHoverBackground,.5),hcDark:transparent(scrollbarSliderHoverBackground,.5),hcLight:transparent(scrollbarSliderHoverBackground,.5)},localize("minimapSliderHoverBackground","Minimap slider background color when hovering."));registerColor("minimapSlider.activeBackground",{light:transparent(scrollbarSliderActiveBackground,.5),dark:transparent(scrollbarSliderActiveBackground,.5),hcDark:transparent(scrollbarSliderActiveBackground,.5),hcLight:transparent(scrollbarSliderActiveBackground,.5)},localize("minimapSliderActiveBackground","Minimap slider background color when clicked on."));registerColor("charts.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("chartsForeground","The foreground color used in charts."));registerColor("charts.lines",{dark:transparent(foreground,.5),light:transparent(foreground,.5),hcDark:transparent(foreground,.5),hcLight:transparent(foreground,.5)},localize("chartsLines","The color used for horizontal lines in charts."));registerColor("charts.red",{dark:editorErrorForeground,light:editorErrorForeground,hcDark:editorErrorForeground,hcLight:editorErrorForeground},localize("chartsRed","The red color used in chart visualizations."));registerColor("charts.blue",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoForeground,hcLight:editorInfoForeground},localize("chartsBlue","The blue color used in chart visualizations."));registerColor("charts.yellow",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningForeground,hcLight:editorWarningForeground},localize("chartsYellow","The yellow color used in chart visualizations."));registerColor("charts.orange",{dark:minimapFindMatch,light:minimapFindMatch,hcDark:minimapFindMatch,hcLight:minimapFindMatch},localize("chartsOrange","The orange color used in chart visualizations."));registerColor("charts.green",{dark:"#89D185",light:"#388A34",hcDark:"#89D185",hcLight:"#374e06"},localize("chartsGreen","The green color used in chart visualizations."));registerColor("charts.purple",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("chartsPurple","The purple color used in chart visualizations."));const inputBackground=registerColor("input.background",{dark:"#3C3C3C",light:Color$1.white,hcDark:Color$1.black,hcLight:Color$1.white},localize("inputBoxBackground","Input box background.")),inputForeground=registerColor("input.foreground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("inputBoxForeground","Input box foreground.")),inputBorder=registerColor("input.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxBorder","Input box border.")),inputActiveOptionBorder=registerColor("inputOption.activeBorder",{dark:"#007ACC",light:"#007ACC",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputBoxActiveOptionBorder","Border color of activated options in input fields."));registerColor("inputOption.hoverBackground",{dark:"#5a5d5e80",light:"#b8b8b850",hcDark:null,hcLight:null},localize("inputOption.hoverBackground","Background color of activated options in input fields."));const inputActiveOptionBackground=registerColor("inputOption.activeBackground",{dark:transparent(focusBorder,.4),light:transparent(focusBorder,.2),hcDark:Color$1.transparent,hcLight:Color$1.transparent},localize("inputOption.activeBackground","Background hover color of options in input fields.")),inputActiveOptionForeground=registerColor("inputOption.activeForeground",{dark:Color$1.white,light:Color$1.black,hcDark:foreground,hcLight:foreground},localize("inputOption.activeForeground","Foreground color of activated options in input fields."));registerColor("input.placeholderForeground",{light:transparent(foreground,.5),dark:transparent(foreground,.5),hcDark:transparent(foreground,.7),hcLight:transparent(foreground,.7)},localize("inputPlaceholderForeground","Input box foreground color for placeholder text."));const inputValidationInfoBackground=registerColor("inputValidation.infoBackground",{dark:"#063B49",light:"#D6ECF2",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationInfoBackground","Input validation background color for information severity.")),inputValidationInfoForeground=registerColor("inputValidation.infoForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationInfoForeground","Input validation foreground color for information severity.")),inputValidationInfoBorder=registerColor("inputValidation.infoBorder",{dark:"#007acc",light:"#007acc",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationInfoBorder","Input validation border color for information severity.")),inputValidationWarningBackground=registerColor("inputValidation.warningBackground",{dark:"#352A05",light:"#F6F5D2",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationWarningBackground","Input validation background color for warning severity.")),inputValidationWarningForeground=registerColor("inputValidation.warningForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationWarningForeground","Input validation foreground color for warning severity.")),inputValidationWarningBorder=registerColor("inputValidation.warningBorder",{dark:"#B89500",light:"#B89500",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationWarningBorder","Input validation border color for warning severity.")),inputValidationErrorBackground=registerColor("inputValidation.errorBackground",{dark:"#5A1D1D",light:"#F2DEDE",hcDark:Color$1.black,hcLight:Color$1.white},localize("inputValidationErrorBackground","Input validation background color for error severity.")),inputValidationErrorForeground=registerColor("inputValidation.errorForeground",{dark:null,light:null,hcDark:null,hcLight:foreground},localize("inputValidationErrorForeground","Input validation foreground color for error severity.")),inputValidationErrorBorder=registerColor("inputValidation.errorBorder",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("inputValidationErrorBorder","Input validation border color for error severity.")),selectBackground=registerColor("dropdown.background",{dark:"#3C3C3C",light:Color$1.white,hcDark:Color$1.black,hcLight:Color$1.white},localize("dropdownBackground","Dropdown background.")),selectListBackground=registerColor("dropdown.listBackground",{dark:null,light:null,hcDark:Color$1.black,hcLight:Color$1.white},localize("dropdownListBackground","Dropdown list background.")),selectForeground=registerColor("dropdown.foreground",{dark:"#F0F0F0",light:foreground,hcDark:Color$1.white,hcLight:foreground},localize("dropdownForeground","Dropdown foreground.")),selectBorder=registerColor("dropdown.border",{dark:selectBackground,light:"#CECECE",hcDark:contrastBorder,hcLight:contrastBorder},localize("dropdownBorder","Dropdown border.")),buttonForeground=registerColor("button.foreground",{dark:Color$1.white,light:Color$1.white,hcDark:Color$1.white,hcLight:Color$1.white},localize("buttonForeground","Button foreground color.")),buttonSeparator=registerColor("button.separator",{dark:transparent(buttonForeground,.4),light:transparent(buttonForeground,.4),hcDark:transparent(buttonForeground,.4),hcLight:transparent(buttonForeground,.4)},localize("buttonSeparator","Button separator color.")),buttonBackground=registerColor("button.background",{dark:"#0E639C",light:"#007ACC",hcDark:null,hcLight:"#0F4A85"},localize("buttonBackground","Button background color.")),buttonHoverBackground=registerColor("button.hoverBackground",{dark:lighten(buttonBackground,.2),light:darken$1(buttonBackground,.2),hcDark:buttonBackground,hcLight:buttonBackground},localize("buttonHoverBackground","Button background color when hovering.")),buttonBorder=registerColor("button.border",{dark:contrastBorder,light:contrastBorder,hcDark:contrastBorder,hcLight:contrastBorder},localize("buttonBorder","Button border color.")),buttonSecondaryForeground=registerColor("button.secondaryForeground",{dark:Color$1.white,light:Color$1.white,hcDark:Color$1.white,hcLight:foreground},localize("buttonSecondaryForeground","Secondary button foreground color.")),buttonSecondaryBackground=registerColor("button.secondaryBackground",{dark:"#3A3D41",light:"#5F6A79",hcDark:null,hcLight:Color$1.white},localize("buttonSecondaryBackground","Secondary button background color.")),buttonSecondaryHoverBackground=registerColor("button.secondaryHoverBackground",{dark:lighten(buttonSecondaryBackground,.2),light:darken$1(buttonSecondaryBackground,.2),hcDark:null,hcLight:null},localize("buttonSecondaryHoverBackground","Secondary button background color when hovering.")),checkboxBackground=registerColor("checkbox.background",{dark:selectBackground,light:selectBackground,hcDark:selectBackground,hcLight:selectBackground},localize("checkbox.background","Background color of checkbox widget."));registerColor("checkbox.selectBackground",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("checkbox.select.background","Background color of checkbox widget when the element it's in is selected."));const checkboxForeground=registerColor("checkbox.foreground",{dark:selectForeground,light:selectForeground,hcDark:selectForeground,hcLight:selectForeground},localize("checkbox.foreground","Foreground color of checkbox widget.")),checkboxBorder=registerColor("checkbox.border",{dark:selectBorder,light:selectBorder,hcDark:selectBorder,hcLight:selectBorder},localize("checkbox.border","Border color of checkbox widget."));registerColor("checkbox.selectBorder",{dark:iconForeground,light:iconForeground,hcDark:iconForeground,hcLight:iconForeground},localize("checkbox.select.border","Border color of checkbox widget when the element it's in is selected."));const keybindingLabelBackground=registerColor("keybindingLabel.background",{dark:new Color$1(new RGBA$1(128,128,128,.17)),light:new Color$1(new RGBA$1(221,221,221,.4)),hcDark:Color$1.transparent,hcLight:Color$1.transparent},localize("keybindingLabelBackground","Keybinding label background color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelForeground=registerColor("keybindingLabel.foreground",{dark:Color$1.fromHex("#CCCCCC"),light:Color$1.fromHex("#555555"),hcDark:Color$1.white,hcLight:foreground},localize("keybindingLabelForeground","Keybinding label foreground color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBorder=registerColor("keybindingLabel.border",{dark:new Color$1(new RGBA$1(51,51,51,.6)),light:new Color$1(new RGBA$1(204,204,204,.4)),hcDark:new Color$1(new RGBA$1(111,195,223)),hcLight:contrastBorder},localize("keybindingLabelBorder","Keybinding label border color. The keybinding label is used to represent a keyboard shortcut.")),keybindingLabelBottomBorder=registerColor("keybindingLabel.bottomBorder",{dark:new Color$1(new RGBA$1(68,68,68,.6)),light:new Color$1(new RGBA$1(187,187,187,.4)),hcDark:new Color$1(new RGBA$1(111,195,223)),hcLight:foreground},localize("keybindingLabelBottomBorder","Keybinding label border bottom color. The keybinding label is used to represent a keyboard shortcut.")),listFocusBackground=registerColor("list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusBackground","List/Tree background color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusForeground=registerColor("list.focusForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusForeground","List/Tree foreground color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusOutline=registerColor("list.focusOutline",{dark:focusBorder,light:focusBorder,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("listFocusOutline","List/Tree outline color for the focused item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listFocusAndSelectionOutline=registerColor("list.focusAndSelectionOutline",{dark:null,light:null,hcDark:null,hcLight:null},localize("listFocusAndSelectionOutline","List/Tree outline color for the focused item when the list/tree is active and selected. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionBackground=registerColor("list.activeSelectionBackground",{dark:"#04395E",light:"#0060C0",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listActiveSelectionBackground","List/Tree background color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionForeground=registerColor("list.activeSelectionForeground",{dark:Color$1.white,light:Color$1.white,hcDark:null,hcLight:null},localize("listActiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listActiveSelectionIconForeground=registerColor("list.activeSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listActiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is active. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionBackground=registerColor("list.inactiveSelectionBackground",{dark:"#37373D",light:"#E4E6F1",hcDark:null,hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listInactiveSelectionBackground","List/Tree background color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionForeground=registerColor("list.inactiveSelectionForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveSelectionForeground","List/Tree foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveSelectionIconForeground=registerColor("list.inactiveSelectionIconForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveSelectionIconForeground","List/Tree icon foreground color for the selected item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveFocusBackground=registerColor("list.inactiveFocusBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveFocusBackground","List/Tree background color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listInactiveFocusOutline=registerColor("list.inactiveFocusOutline",{dark:null,light:null,hcDark:null,hcLight:null},localize("listInactiveFocusOutline","List/Tree outline color for the focused item when the list/tree is inactive. An active list/tree has keyboard focus, an inactive does not.")),listHoverBackground=registerColor("list.hoverBackground",{dark:"#2A2D2E",light:"#F0F0F0",hcDark:Color$1.white.transparent(.1),hcLight:Color$1.fromHex("#0F4A85").transparent(.1)},localize("listHoverBackground","List/Tree background when hovering over items using the mouse.")),listHoverForeground=registerColor("list.hoverForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("listHoverForeground","List/Tree foreground when hovering over items using the mouse.")),listDropOverBackground=registerColor("list.dropBackground",{dark:"#062F4A",light:"#D6EBFF",hcDark:null,hcLight:null},localize("listDropBackground","List/Tree drag and drop background when moving items over other items when using the mouse.")),listDropBetweenBackground=registerColor("list.dropBetweenBackground",{dark:iconForeground,light:iconForeground,hcDark:null,hcLight:null},localize("listDropBetweenBackground","List/Tree drag and drop border color when moving items between items when using the mouse.")),listHighlightForeground=registerColor("list.highlightForeground",{dark:"#2AAAFF",light:"#0066BF",hcDark:focusBorder,hcLight:focusBorder},localize("highlight","List/Tree foreground color of the match highlights when searching inside the list/tree.")),listFocusHighlightForeground=registerColor("list.focusHighlightForeground",{dark:listHighlightForeground,light:ifDefinedThenElse(listActiveSelectionBackground,listHighlightForeground,"#BBE7FF"),hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("listFocusHighlightForeground","List/Tree foreground color of the match highlights on actively focused items when searching inside the list/tree."));registerColor("list.invalidItemForeground",{dark:"#B89500",light:"#B89500",hcDark:"#B89500",hcLight:"#B5200D"},localize("invalidItemForeground","List/Tree foreground color for invalid items, for example an unresolved root in explorer."));registerColor("list.errorForeground",{dark:"#F88070",light:"#B01011",hcDark:null,hcLight:null},localize("listErrorForeground","Foreground color of list items containing errors."));registerColor("list.warningForeground",{dark:"#CCA700",light:"#855F00",hcDark:null,hcLight:null},localize("listWarningForeground","Foreground color of list items containing warnings."));const listFilterWidgetBackground=registerColor("listFilterWidget.background",{light:darken$1(editorWidgetBackground,0),dark:lighten(editorWidgetBackground,0),hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("listFilterWidgetBackground","Background color of the type filter widget in lists and trees.")),listFilterWidgetOutline=registerColor("listFilterWidget.outline",{dark:Color$1.transparent,light:Color$1.transparent,hcDark:"#f38518",hcLight:"#007ACC"},localize("listFilterWidgetOutline","Outline color of the type filter widget in lists and trees.")),listFilterWidgetNoMatchesOutline=registerColor("listFilterWidget.noMatchesOutline",{dark:"#BE1100",light:"#BE1100",hcDark:contrastBorder,hcLight:contrastBorder},localize("listFilterWidgetNoMatchesOutline","Outline color of the type filter widget in lists and trees, when there are no matches.")),listFilterWidgetShadow=registerColor("listFilterWidget.shadow",{dark:widgetShadow,light:widgetShadow,hcDark:widgetShadow,hcLight:widgetShadow},localize("listFilterWidgetShadow","Shadow color of the type filter widget in lists and trees."));registerColor("list.filterMatchBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("listFilterMatchHighlight","Background color of the filtered match."));registerColor("list.filterMatchBorder",{dark:editorFindMatchHighlightBorder,light:editorFindMatchHighlightBorder,hcDark:contrastBorder,hcLight:activeContrastBorder},localize("listFilterMatchHighlightBorder","Border color of the filtered match."));registerColor("list.deemphasizedForeground",{dark:"#8C8C8C",light:"#8E8E90",hcDark:"#A7A8A9",hcLight:"#666666"},localize("listDeemphasizedForeground","List/Tree foreground color for items that are deemphasized."));const treeIndentGuidesStroke=registerColor("tree.indentGuidesStroke",{dark:"#585858",light:"#a9a9a9",hcDark:"#a9a9a9",hcLight:"#a5a5a5"},localize("treeIndentGuidesStroke","Tree stroke color for the indentation guides.")),treeInactiveIndentGuidesStroke=registerColor("tree.inactiveIndentGuidesStroke",{dark:transparent(treeIndentGuidesStroke,.4),light:transparent(treeIndentGuidesStroke,.4),hcDark:transparent(treeIndentGuidesStroke,.4),hcLight:transparent(treeIndentGuidesStroke,.4)},localize("treeInactiveIndentGuidesStroke","Tree stroke color for the indentation guides that are not active.")),tableColumnsBorder=registerColor("tree.tableColumnsBorder",{dark:"#CCCCCC20",light:"#61616120",hcDark:null,hcLight:null},localize("tableColumnsBorder","Table border color between columns.")),tableOddRowsBackgroundColor=registerColor("tree.tableOddRowsBackground",{dark:transparent(foreground,.04),light:transparent(foreground,.04),hcDark:null,hcLight:null},localize("tableOddRowsBackgroundColor","Background color for odd table rows.")),menuBorder=registerColor("menu.border",{dark:null,light:null,hcDark:contrastBorder,hcLight:contrastBorder},localize("menuBorder","Border color of menus.")),menuForeground=registerColor("menu.foreground",{dark:selectForeground,light:selectForeground,hcDark:selectForeground,hcLight:selectForeground},localize("menuForeground","Foreground color of menu items.")),menuBackground=registerColor("menu.background",{dark:selectBackground,light:selectBackground,hcDark:selectBackground,hcLight:selectBackground},localize("menuBackground","Background color of menu items.")),menuSelectionForeground=registerColor("menu.selectionForeground",{dark:listActiveSelectionForeground,light:listActiveSelectionForeground,hcDark:listActiveSelectionForeground,hcLight:listActiveSelectionForeground},localize("menuSelectionForeground","Foreground color of the selected menu item in menus.")),menuSelectionBackground=registerColor("menu.selectionBackground",{dark:listActiveSelectionBackground,light:listActiveSelectionBackground,hcDark:listActiveSelectionBackground,hcLight:listActiveSelectionBackground},localize("menuSelectionBackground","Background color of the selected menu item in menus.")),menuSelectionBorder=registerColor("menu.selectionBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("menuSelectionBorder","Border color of the selected menu item in menus.")),menuSeparatorBackground=registerColor("menu.separatorBackground",{dark:"#606060",light:"#D4D4D4",hcDark:contrastBorder,hcLight:contrastBorder},localize("menuSeparatorBackground","Color of a separator menu item in menus.")),quickInputBackground=registerColor("quickInput.background",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("pickerBackground","Quick picker background color. The quick picker widget is the container for pickers like the command palette.")),quickInputForeground=registerColor("quickInput.foreground",{dark:editorWidgetForeground,light:editorWidgetForeground,hcDark:editorWidgetForeground,hcLight:editorWidgetForeground},localize("pickerForeground","Quick picker foreground color. The quick picker widget is the container for pickers like the command palette.")),quickInputTitleBackground=registerColor("quickInputTitle.background",{dark:new Color$1(new RGBA$1(255,255,255,.105)),light:new Color$1(new RGBA$1(0,0,0,.06)),hcDark:"#000000",hcLight:Color$1.white},localize("pickerTitleBackground","Quick picker title background color. The quick picker widget is the container for pickers like the command palette.")),pickerGroupForeground=registerColor("pickerGroup.foreground",{dark:"#3794FF",light:"#0066BF",hcDark:Color$1.white,hcLight:"#0F4A85"},localize("pickerGroupForeground","Quick picker color for grouping labels.")),pickerGroupBorder=registerColor("pickerGroup.border",{dark:"#3F3F46",light:"#CCCEDB",hcDark:Color$1.white,hcLight:"#0F4A85"},localize("pickerGroupBorder","Quick picker color for grouping borders.")),_deprecatedQuickInputListFocusBackground=registerColor("quickInput.list.focusBackground",{dark:null,light:null,hcDark:null,hcLight:null},"",void 0,localize("quickInput.list.focusBackground deprecation","Please use quickInputList.focusBackground instead")),quickInputListFocusForeground=registerColor("quickInputList.focusForeground",{dark:listActiveSelectionForeground,light:listActiveSelectionForeground,hcDark:listActiveSelectionForeground,hcLight:listActiveSelectionForeground},localize("quickInput.listFocusForeground","Quick picker foreground color for the focused item.")),quickInputListFocusIconForeground=registerColor("quickInputList.focusIconForeground",{dark:listActiveSelectionIconForeground,light:listActiveSelectionIconForeground,hcDark:listActiveSelectionIconForeground,hcLight:listActiveSelectionIconForeground},localize("quickInput.listFocusIconForeground","Quick picker icon foreground color for the focused item.")),quickInputListFocusBackground=registerColor("quickInputList.focusBackground",{dark:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),light:oneOf(_deprecatedQuickInputListFocusBackground,listActiveSelectionBackground),hcDark:null,hcLight:null},localize("quickInput.listFocusBackground","Quick picker background color for the focused item."));registerColor("search.resultsInfoForeground",{light:foreground,dark:transparent(foreground,.65),hcDark:foreground,hcLight:foreground},localize("search.resultsInfoForeground","Color of the text in the search viewlet's completion message."));registerColor("searchEditor.findMatchBackground",{light:transparent(editorFindMatchHighlight,.66),dark:transparent(editorFindMatchHighlight,.66),hcDark:editorFindMatchHighlight,hcLight:editorFindMatchHighlight},localize("searchEditor.queryMatch","Color of the Search Editor query matches."));registerColor("searchEditor.findMatchBorder",{light:transparent(editorFindMatchHighlightBorder,.66),dark:transparent(editorFindMatchHighlightBorder,.66),hcDark:editorFindMatchHighlightBorder,hcLight:editorFindMatchHighlightBorder},localize("searchEditor.editorFindMatchBorder","Border color of the Search Editor query matches."));class PageCoordinates{constructor(e,t){this.x=e,this.y=t,this._pageCoordinatesBrand=void 0}toClientCoordinates(e){return new ClientCoordinates(this.x-e.scrollX,this.y-e.scrollY)}}class ClientCoordinates{constructor(e,t){this.clientX=e,this.clientY=t,this._clientCoordinatesBrand=void 0}toPageCoordinates(e){return new PageCoordinates(this.clientX+e.scrollX,this.clientY+e.scrollY)}}class EditorPagePosition{constructor(e,t,i,r){this.x=e,this.y=t,this.width=i,this.height=r,this._editorPagePositionBrand=void 0}}class CoordinatesRelativeToEditor{constructor(e,t){this.x=e,this.y=t,this._positionRelativeToEditorBrand=void 0}}function createEditorPagePosition(n){const e=getDomNodePagePosition(n);return new EditorPagePosition(e.left,e.top,e.width,e.height)}function createCoordinatesRelativeToEditor(n,e,t){const i=e.width/n.offsetWidth,r=e.height/n.offsetHeight,g=(t.x-e.x)/i,y=(t.y-e.y)/r;return new CoordinatesRelativeToEditor(g,y)}class EditorMouseEvent extends StandardMouseEvent{constructor(e,t,i){super(getWindow$1(i),e),this._editorMouseEventBrand=void 0,this.isFromPointerCapture=t,this.pos=new PageCoordinates(this.posx,this.posy),this.editorPos=createEditorPagePosition(i),this.relativePos=createCoordinatesRelativeToEditor(i,this.editorPos,this.pos)}}class EditorMouseEventFactory{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent(e,!1,this._editorViewDomNode)}onContextMenu(e,t){return addDisposableListener(e,"contextmenu",i=>{t(this._create(i))})}onMouseUp(e,t){return addDisposableListener(e,"mouseup",i=>{t(this._create(i))})}onMouseDown(e,t){return addDisposableListener(e,EventType$1.MOUSE_DOWN,i=>{t(this._create(i))})}onPointerDown(e,t){return addDisposableListener(e,EventType$1.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onMouseLeave(e,t){return addDisposableListener(e,EventType$1.MOUSE_LEAVE,i=>{t(this._create(i))})}onMouseMove(e,t){return addDisposableListener(e,"mousemove",i=>t(this._create(i)))}}class EditorPointerEventFactory{constructor(e){this._editorViewDomNode=e}_create(e){return new EditorMouseEvent(e,!1,this._editorViewDomNode)}onPointerUp(e,t){return addDisposableListener(e,"pointerup",i=>{t(this._create(i))})}onPointerDown(e,t){return addDisposableListener(e,EventType$1.POINTER_DOWN,i=>{t(this._create(i),i.pointerId)})}onPointerLeave(e,t){return addDisposableListener(e,EventType$1.POINTER_LEAVE,i=>{t(this._create(i))})}onPointerMove(e,t){return addDisposableListener(e,"pointermove",i=>t(this._create(i)))}}class GlobalEditorPointerMoveMonitor extends Disposable{constructor(e){super(),this._editorViewDomNode=e,this._globalPointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._keydownListener=null}startMonitoring(e,t,i,r,g){this._keydownListener=addStandardDisposableListener(e.ownerDocument,"keydown",y=>{y.toKeyCodeChord().isModifierKey()||this._globalPointerMoveMonitor.stopMonitoring(!0,y.browserEvent)},!0),this._globalPointerMoveMonitor.startMonitoring(e,t,i,y=>{r(new EditorMouseEvent(y,!0,this._editorViewDomNode))},y=>{this._keydownListener.dispose(),g(y)})}stopMonitoring(){this._globalPointerMoveMonitor.stopMonitoring(!0)}}class DynamicCssRules{constructor(e){this._editor=e,this._instanceId=++DynamicCssRules._idPool,this._counter=0,this._rules=new Map,this._garbageCollectionScheduler=new RunOnceScheduler(()=>this.garbageCollect(),1e3)}createClassNameRef(e){const t=this.getOrCreateRule(e);return t.increaseRefCount(),{className:t.className,dispose:()=>{t.decreaseRefCount(),this._garbageCollectionScheduler.schedule()}}}getOrCreateRule(e){const t=this.computeUniqueKey(e);let i=this._rules.get(t);if(!i){const r=this._counter++;i=new RefCountedCssRule(t,"dyn-rule-".concat(this._instanceId,"-").concat(r),isInShadowDOM(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0,e),this._rules.set(t,i)}return i}computeUniqueKey(e){return JSON.stringify(e)}garbageCollect(){for(const e of this._rules.values())e.hasReferences()||(this._rules.delete(e.key),e.dispose())}}DynamicCssRules._idPool=0;class RefCountedCssRule{constructor(e,t,i,r){this.key=e,this.className=t,this.properties=r,this._referenceCount=0,this._styleElementDisposables=new DisposableStore,this._styleElement=createStyleSheet(i,void 0,this._styleElementDisposables),this._styleElement.textContent=this.getCssText(this.className,this.properties)}getCssText(e,t){let i=".".concat(e," {");for(const r in t){const g=t[r];let y;typeof g=="object"?y=asCssVariable(g.id):y=g;const k=camelToDashes(r);i+="\n ".concat(k,": ").concat(y,";")}return i+="\n}",i}dispose(){this._styleElementDisposables.dispose(),this._styleElement=void 0}increaseRefCount(){this._referenceCount++}decreaseRefCount(){this._referenceCount--}hasReferences(){return this._referenceCount>0}}function camelToDashes(n){return n.replace(/(^[A-Z])/,([e])=>e.toLowerCase()).replace(/([A-Z])/g,([e])=>"-".concat(e.toLowerCase()))}class ViewEventHandler extends Disposable{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let i=0,r=e.length;i=k.left?r.width=Math.max(r.width,k.left+k.width-r.left):(t[i++]=r,r=k)}return t[i++]=r,t}static _createHorizontalRangesFromClientRects(e,t,i){if(!e||e.length===0)return null;const r=[];for(let g=0,y=e.length;gL)return null;if(t=Math.min(L,Math.max(0,t)),r=Math.min(L,Math.max(0,r)),t===r&&i===g&&i===0&&!e.children[t].firstChild){const ie=e.children[t].getClientRects();return y.markDidDomLayout(),this._createHorizontalRangesFromClientRects(ie,y.clientRectDeltaLeft,y.clientRectScale)}t!==r&&r>0&&g===0&&(r--,g=1073741824);let V=e.children[t].firstChild,z=e.children[r].firstChild;if((!V||!z)&&(!V&&i===0&&t>0&&(V=e.children[t-1].firstChild,i=1073741824),!z&&g===0&&r>0&&(z=e.children[r-1].firstChild,g=1073741824)),!V||!z)return null;i=Math.min(V.textContent.length,Math.max(0,i)),g=Math.min(z.textContent.length,Math.max(0,g));const j=this._readClientRects(V,i,z,g,y.endNode);return y.markDidDomLayout(),this._createHorizontalRangesFromClientRects(j,y.clientRectDeltaLeft,y.clientRectScale)}}var ColorScheme;(function(n){n.DARK="dark",n.LIGHT="light",n.HIGH_CONTRAST_DARK="hcDark",n.HIGH_CONTRAST_LIGHT="hcLight"})(ColorScheme||(ColorScheme={}));function isHighContrast(n){return n===ColorScheme.HIGH_CONTRAST_DARK||n===ColorScheme.HIGH_CONTRAST_LIGHT}function isDark(n){return n===ColorScheme.DARK||n===ColorScheme.HIGH_CONTRAST_DARK}const canUseFastRenderedViewLine=function(){return isNative?!0:!(isLinux||isFirefox$1||isSafari)}();let monospaceAssumptionsAreValid=!0;class ViewLineOptions{constructor(e,t){this.themeType=t;const i=e.options,r=i.get(50);i.get(38)==="off"?this.renderWhitespace=i.get(99):this.renderWhitespace="none",this.renderControlCharacters=i.get(94),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!i.get(33),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=i.get(67),this.stopRenderingLineAfter=i.get(117),this.fontLigatures=i.get(51)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}}class ViewLine{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=createFastDomNode(e);else throw new Error("I have no rendered view line to set the dom node to...")}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return isHighContrast(this._options.themeType)||this._options.renderWhitespace==="selection"?(this._isMaybeInvalid=!0,!0):!1}renderLine(e,t,i,r,g){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;const y=r.getViewLineRenderingData(e),k=this._options,L=LineDecoration.filter(y.inlineDecorations,e,y.minColumn,y.maxColumn);let V=null;if(isHighContrast(k.themeType)||this._options.renderWhitespace==="selection"){const oe=r.selections;for(const re of oe){if(re.endLineNumbere)continue;const ae=re.startLineNumber===e?re.startColumn:y.minColumn,le=re.endLineNumber===e?re.endColumn:y.maxColumn;ae');const j=renderViewLine(z,g);g.appendString("");let ie=null;return monospaceAssumptionsAreValid&&canUseFastRenderedViewLine&&y.isBasicASCII&&k.useMonospaceOptimizations&&j.containsForeignElements===0&&(ie=new FastRenderedViewLine(this._renderedViewLine?this._renderedViewLine.domNode:null,z,j.characterMapping)),ie||(ie=createRenderedLine(this._renderedViewLine?this._renderedViewLine.domNode:null,z,j.characterMapping,j.containsRTL,j.containsForeignElements)),this._renderedViewLine=ie,!0}layoutLine(e,t,i){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(i))}getWidth(e){return this._renderedViewLine?this._renderedViewLine.getWidth(e):0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof FastRenderedViewLine:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine?this._renderedViewLine.monospaceAssumptionsAreValid():monospaceAssumptionsAreValid}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof FastRenderedViewLine&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,i,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),i=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,i));const g=this._renderedViewLine.input.stopRenderingLineAfter;if(g!==-1&&t>g+1&&i>g+1)return new VisibleRanges(!0,[new FloatHorizontalRange(this.getWidth(r),0)]);g!==-1&&t>g+1&&(t=g+1),g!==-1&&i>g+1&&(i=g+1);const y=this._renderedViewLine.getVisibleRangesForRange(e,t,i,r);return y&&y.length>0?new VisibleRanges(!1,y):null}getColumnOfNodeOffset(e,t){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t):1}}ViewLine.CLASS_NAME="view-line";class FastRenderedViewLine{constructor(e,t,i){this._cachedWidth=-1,this.domNode=e,this.input=t;const r=Math.floor(t.lineContent.length/300);if(r>0){this._keyColumnPixelOffsetCache=new Float32Array(r);for(let g=0;g=2&&(console.warn("monospace assumptions have been violated, therefore disabling monospace optimizations!"),monospaceAssumptionsAreValid=!1)}return monospaceAssumptionsAreValid}toSlowRenderedLine(){return createRenderedLine(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,i,r){const g=this._getColumnPixelOffset(e,t,r),y=this._getColumnPixelOffset(e,i,r);return[new FloatHorizontalRange(g,y-g)]}_getColumnPixelOffset(e,t,i){if(t<=300){const V=this._characterMapping.getHorizontalOffset(t);return this._charWidth*V}const r=Math.floor((t-1)/300)-1,g=(r+1)*300+1;let y=-1;if(this._keyColumnPixelOffsetCache&&(y=this._keyColumnPixelOffsetCache[r],y===-1&&(y=this._actualReadPixelOffset(e,g,i),this._keyColumnPixelOffsetCache[r]=y)),y===-1){const V=this._characterMapping.getHorizontalOffset(t);return this._charWidth*V}const k=this._characterMapping.getHorizontalOffset(g),L=this._characterMapping.getHorizontalOffset(t);return y+this._charWidth*(L-k)}_getReadingTarget(e){return e.domNode.firstChild}_actualReadPixelOffset(e,t,i){if(!this.domNode)return-1;const r=this._characterMapping.getDomPosition(t),g=RangeUtil.readHorizontalRanges(this._getReadingTarget(this.domNode),r.partIndex,r.charIndex,r.partIndex,r.charIndex,i);return!g||g.length===0?-1:g[0].left}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset(this._characterMapping,e,t)}}class RenderedViewLine{constructor(e,t,i,r,g){if(this.domNode=e,this.input=t,this._characterMapping=i,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=g,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let y=0,k=this._characterMapping.length;y<=k;y++)this._pixelOffsetCache[y]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(e){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth,e==null||e.markDidDomLayout()),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,i,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){const g=this._readPixelOffset(this.domNode,e,t,r);if(g===-1)return null;const y=this._readPixelOffset(this.domNode,e,i,r);return y===-1?null:[new FloatHorizontalRange(g,y-g)]}return this._readVisibleRangesForRange(this.domNode,e,t,i,r)}_readVisibleRangesForRange(e,t,i,r,g){if(i===r){const y=this._readPixelOffset(e,t,i,g);return y===-1?null:[new FloatHorizontalRange(y,0)]}else return this._readRawVisibleRangesForRange(e,i,r,g)}_readPixelOffset(e,t,i,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth(r);const g=this._getReadingTarget(e);return g.firstChild?(r.markDidDomLayout(),g.firstChild.offsetWidth):0}if(this._pixelOffsetCache!==null){const g=this._pixelOffsetCache[i];if(g!==-1)return g;const y=this._actualReadPixelOffset(e,t,i,r);return this._pixelOffsetCache[i]=y,y}return this._actualReadPixelOffset(e,t,i,r)}_actualReadPixelOffset(e,t,i,r){if(this._characterMapping.length===0){const L=RangeUtil.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r);return!L||L.length===0?-1:L[0].left}if(i===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth(r);const g=this._characterMapping.getDomPosition(i),y=RangeUtil.readHorizontalRanges(this._getReadingTarget(e),g.partIndex,g.charIndex,g.partIndex,g.charIndex,r);if(!y||y.length===0)return-1;const k=y[0].left;if(this.input.isBasicASCII){const L=this._characterMapping.getHorizontalOffset(i),V=Math.round(this.input.spaceWidth*L);if(Math.abs(V-k)<=1)return V}return k}_readRawVisibleRangesForRange(e,t,i,r){if(t===1&&i===this._characterMapping.length)return[new FloatHorizontalRange(0,this.getWidth(r))];const g=this._characterMapping.getDomPosition(t),y=this._characterMapping.getDomPosition(i);return RangeUtil.readHorizontalRanges(this._getReadingTarget(e),g.partIndex,g.charIndex,y.partIndex,y.charIndex,r)}getColumnOfNodeOffset(e,t){return getColumnOfNodeOffset(this._characterMapping,e,t)}}class WebKitRenderedViewLine extends RenderedViewLine{_readVisibleRangesForRange(e,t,i,r,g){const y=super._readVisibleRangesForRange(e,t,i,r,g);if(!y||y.length===0||i===r||i===1&&r===this._characterMapping.length)return y;if(!this.input.containsRTL){const k=this._readPixelOffset(e,t,r,g);if(k!==-1){const L=y[y.length-1];L.left=t){const j=t-y;return V-t=4&&e[0]===3&&e[3]===8}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===8}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===6}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===9}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowGuard(e){return e.length>=1&&e[0]===3}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}static isChildOfOverflowingOverlayWidgets(e){return e.length>=1&&e[0]===5}}class HitTestContext{constructor(e,t,i){this.viewModel=e.viewModel;const r=e.configuration.options;this.layoutInfo=r.get(145),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(67),this.stickyTabStops=r.get(116),this.typicalHalfwidthCharacterWidth=r.get(50).typicalHalfwidthCharacterWidth,this.lastRenderData=i,this._context=e,this._viewHelper=t}getZoneAtCoord(e){return HitTestContext.getZoneAtCoord(this._context,e)}static getZoneAtCoord(e,t){const i=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(i){const r=i.verticalOffset+i.height/2,g=e.viewModel.getLineCount();let y=null,k,L=null;return i.afterLineNumber!==g&&(L=new Position$1(i.afterLineNumber+1,1)),i.afterLineNumber>0&&(y=new Position$1(i.afterLineNumber,e.viewModel.getLineMaxColumn(i.afterLineNumber))),L===null?k=y:y===null?k=L:t=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,MouseTargetFactory._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}}class HitTestRequest extends BareHitTestRequest{get target(){return this._useHitTestTarget?this.hitTestResult.value.hitTarget:this._eventTarget}get targetPath(){return this._targetPathCacheElement!==this.target&&(this._targetPathCacheElement=this.target,this._targetPathCacheValue=PartFingerprints.collect(this.target,this._ctx.viewDomNode)),this._targetPathCacheValue}constructor(e,t,i,r,g){super(e,t,i,r),this.hitTestResult=new Lazy(()=>MouseTargetFactory.doHitTest(this._ctx,this)),this._targetPathCacheElement=null,this._targetPathCacheValue=new Uint8Array(0),this._ctx=e,this._eventTarget=g;const y=!!this._eventTarget;this._useHitTestTarget=!y}toString(){return"pos(".concat(this.pos.x,",").concat(this.pos.y,"), editorPos(").concat(this.editorPos.x,",").concat(this.editorPos.y,"), relativePos(").concat(this.relativePos.x,",").concat(this.relativePos.y,"), mouseVerticalOffset: ").concat(this.mouseVerticalOffset,", mouseContentHorizontalOffset: ").concat(this.mouseContentHorizontalOffset,"\n target: ").concat(this.target?this.target.outerHTML:null)}get wouldBenefitFromHitTestTargetSwitch(){return!this._useHitTestTarget&&this.hitTestResult.value.hitTarget!==null&&this.target!==this.hitTestResult.value.hitTarget}switchToHitTestTarget(){this._useHitTestTarget=!0}_getMouseColumn(e=null){return e&&e.columny.contentLeft+y.width)continue;const k=e.getVerticalOffsetForLineNumber(y.position.lineNumber);if(k<=g&&g<=k+y.height)return t.fulfillContentText(y.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){const i=e.getZoneAtCoord(t.mouseVerticalOffset);if(i){const r=t.isInContentArea?8:5;return t.fulfillViewZone(r,i.position,i)}return null}static _hitTestTextArea(e,t){return ElementPath.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){const i=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=i.range.getStartPosition();let g=Math.abs(t.relativePos.x);const y={isAfterLines:i.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:g};if(g-=e.layoutInfo.glyphMarginLeft,g<=e.layoutInfo.glyphMarginWidth){const k=e.viewModel.coordinatesConverter.convertViewPositionToModelPosition(i.range.getStartPosition()),L=e.viewModel.glyphLanes.getLanesAtLine(k.lineNumber);return y.glyphMarginLane=L[Math.floor(g/e.lineHeight)],t.fulfillMargin(2,r,i.range,y)}return g-=e.layoutInfo.glyphMarginWidth,g<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,i.range,y):(g-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,i.range,y))}return null}static _hitTestViewLines(e,t){if(!ElementPath.isChildOfViewLines(t.targetPath))return null;if(e.isInTopPadding(t.mouseVerticalOffset))return t.fulfillContentEmpty(new Position$1(1,1),EMPTY_CONTENT_AFTER_LINES);if(e.isAfterLines(t.mouseVerticalOffset)||e.isInBottomPadding(t.mouseVerticalOffset)){const r=e.viewModel.getLineCount(),g=e.viewModel.getLineMaxColumn(r);return t.fulfillContentEmpty(new Position$1(r,g),EMPTY_CONTENT_AFTER_LINES)}if(ElementPath.isStrictChildOfViewLines(t.targetPath)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset);if(e.viewModel.getLineLength(r)===0){const y=e.getLineWidth(r),k=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-y);return t.fulfillContentEmpty(new Position$1(r,1),k)}const g=e.getLineWidth(r);if(t.mouseContentHorizontalOffset>=g){const y=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-g),k=new Position$1(r,e.viewModel.getLineMaxColumn(r));return t.fulfillContentEmpty(k,y)}}const i=t.hitTestResult.value;return i.type===1?MouseTargetFactory.createMouseTargetFromHitTestPosition(e,t,i.spanNode,i.position,i.injectedText):t.wouldBenefitFromHitTestTargetSwitch?(t.switchToHitTestTarget(),this._createMouseTarget(e,t)):t.fulfillUnknown()}static _hitTestMinimap(e,t){if(ElementPath.isChildOfMinimap(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$1(i,r))}return null}static _hitTestScrollbarSlider(e,t){if(ElementPath.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){const i=t.target.className;if(i&&/\b(slider|scrollbar)\b/.test(i)){const r=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),g=e.viewModel.getLineMaxColumn(r);return t.fulfillScrollbar(new Position$1(r,g))}}return null}static _hitTestScrollbar(e,t){if(ElementPath.isChildOfScrollableElement(t.targetPath)){const i=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(i);return t.fulfillScrollbar(new Position$1(i,r))}return null}getMouseColumn(e){const t=this._context.configuration.options,i=t.get(145),r=this._context.viewLayout.getCurrentScrollLeft()+e.x-i.contentLeft;return MouseTargetFactory._getMouseColumn(r,t.get(50).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,i,r,g){const y=r.lineNumber,k=r.column,L=e.getLineWidth(y);if(t.mouseContentHorizontalOffset>L){const de=createEmptyContentDataInLines(t.mouseContentHorizontalOffset-L);return t.fulfillContentEmpty(r,de)}const V=e.visibleRangeForPosition(y,k);if(!V)return t.fulfillUnknown(r);const z=V.left;if(Math.abs(t.mouseContentHorizontalOffset-z)<1)return t.fulfillContentText(r,null,{mightBeForeignElement:!!g,injectedText:g});const j=[];if(j.push({offset:V.left,column:k}),k>1){const de=e.visibleRangeForPosition(y,k-1);de&&j.push({offset:de.left,column:k-1})}const ie=e.viewModel.getLineMaxColumn(y);if(kde.offset-ue.offset);const oe=t.pos.toClientCoordinates(getWindow$1(e.viewDomNode)),re=i.getBoundingClientRect(),ae=re.left<=oe.clientX&&oe.clientX<=re.right;let le=null;for(let de=1;deg)){const k=Math.floor((r+g)/2);let L=t.pos.y+(k-t.mouseVerticalOffset);L<=t.editorPos.y&&(L=t.editorPos.y+1),L>=t.editorPos.y+t.editorPos.height&&(L=t.editorPos.y+t.editorPos.height-1);const V=new PageCoordinates(t.pos.x,L),z=this._actualDoHitTestWithCaretRangeFromPoint(e,V.toClientCoordinates(getWindow$1(e.viewDomNode)));if(z.type===1)return z}return this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates(getWindow$1(e.viewDomNode)))}static _actualDoHitTestWithCaretRangeFromPoint(e,t){const i=getShadowRoot$2(e.viewDomNode);let r;if(i?typeof i.caretRangeFromPoint>"u"?r=shadowCaretRangeFromPoint(i,t.clientX,t.clientY):r=i.caretRangeFromPoint(t.clientX,t.clientY):r=e.viewDomNode.ownerDocument.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new UnknownHitTestResult;const g=r.startContainer;if(g.nodeType===g.TEXT_NODE){const y=g.parentNode,k=y?y.parentNode:null,L=k?k.parentNode:null;return(L&&L.nodeType===L.ELEMENT_NODE?L.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,y,r.startOffset):new UnknownHitTestResult(g.parentNode)}else if(g.nodeType===g.ELEMENT_NODE){const y=g.parentNode,k=y?y.parentNode:null;return(k&&k.nodeType===k.ELEMENT_NODE?k.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,g,g.textContent.length):new UnknownHitTestResult(g)}return new UnknownHitTestResult}static _doHitTestWithCaretPositionFromPoint(e,t){const i=e.viewDomNode.ownerDocument.caretPositionFromPoint(t.clientX,t.clientY);if(i.offsetNode.nodeType===i.offsetNode.TEXT_NODE){const r=i.offsetNode.parentNode,g=r?r.parentNode:null,y=g?g.parentNode:null;return(y&&y.nodeType===y.ELEMENT_NODE?y.className:null)===ViewLine.CLASS_NAME?HitTestResult.createFromDOMInfo(e,i.offsetNode.parentNode,i.offset):new UnknownHitTestResult(i.offsetNode.parentNode)}if(i.offsetNode.nodeType===i.offsetNode.ELEMENT_NODE){const r=i.offsetNode.parentNode,g=r&&r.nodeType===r.ELEMENT_NODE?r.className:null,y=r?r.parentNode:null,k=y&&y.nodeType===y.ELEMENT_NODE?y.className:null;if(g===ViewLine.CLASS_NAME){const L=i.offsetNode.childNodes[Math.min(i.offset,i.offsetNode.childNodes.length-1)];if(L)return HitTestResult.createFromDOMInfo(e,L,0)}else if(k===ViewLine.CLASS_NAME)return HitTestResult.createFromDOMInfo(e,i.offsetNode,0)}return new UnknownHitTestResult(i.offsetNode)}static _snapToSoftTabBoundary(e,t){const i=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),g=AtomicTabMoveOperations.atomicPosition(i,e.column-1,r,2);return g!==-1?new Position$1(e.lineNumber,g+1):e}static doHitTest(e,t){let i=new UnknownHitTestResult;if(typeof e.viewDomNode.ownerDocument.caretRangeFromPoint=="function"?i=this._doHitTestWithCaretRangeFromPoint(e,t):e.viewDomNode.ownerDocument.caretPositionFromPoint&&(i=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates(getWindow$1(e.viewDomNode)))),i.type===1){const r=e.viewModel.getInjectedTextAt(i.position),g=e.viewModel.normalizePosition(i.position,2);(r||!g.equals(i.position))&&(i=new ContentHitTestResult(g,i.spanNode,r))}return i}}function shadowCaretRangeFromPoint(n,e,t){const i=document.createRange();let r=n.elementFromPoint(e,t);if(r!==null){for(;r&&r.firstChild&&r.firstChild.nodeType!==r.firstChild.TEXT_NODE&&r.lastChild&&r.lastChild.firstChild;)r=r.lastChild;const g=r.getBoundingClientRect(),y=getWindow$1(r),k=y.getComputedStyle(r,null).getPropertyValue("font-style"),L=y.getComputedStyle(r,null).getPropertyValue("font-variant"),V=y.getComputedStyle(r,null).getPropertyValue("font-weight"),z=y.getComputedStyle(r,null).getPropertyValue("font-size"),j=y.getComputedStyle(r,null).getPropertyValue("line-height"),ie=y.getComputedStyle(r,null).getPropertyValue("font-family"),oe="".concat(k," ").concat(L," ").concat(V," ").concat(z,"/").concat(j," ").concat(ie),re=r.innerText;let ae=g.left,le=0,de;if(e>g.left+g.width)le=re.length;else{const ue=CharWidthReader.getInstance();for(let he=0;he=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},EventType;(function(n){n.Tap="-monaco-gesturetap",n.Change="-monaco-gesturechange",n.Start="-monaco-gesturestart",n.End="-monaco-gesturesend",n.Contextmenu="-monaco-gesturecontextmenu"})(EventType||(EventType={}));class Gesture extends Disposable{constructor(){super(),this.dispatched=!1,this.targets=new LinkedList,this.ignoreTargets=new LinkedList,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Event$1.runAndSubscribe(onDidRegisterWindow,({window:e,disposables:t})=>{t.add(addDisposableListener(e.document,"touchstart",i=>this.onTouchStart(i),{passive:!1})),t.add(addDisposableListener(e.document,"touchend",i=>this.onTouchEnd(e,i))),t.add(addDisposableListener(e.document,"touchmove",i=>this.onTouchMove(i),{passive:!1}))},{window:mainWindow,disposables:this._store}))}static addTarget(e){if(!Gesture.isTouchDevice())return Disposable.None;Gesture.INSTANCE||(Gesture.INSTANCE=new Gesture);const t=Gesture.INSTANCE.targets.push(e);return toDisposable(t)}static ignoreTarget(e){if(!Gesture.isTouchDevice())return Disposable.None;Gesture.INSTANCE||(Gesture.INSTANCE=new Gesture);const t=Gesture.INSTANCE.ignoreTargets.push(e);return toDisposable(t)}static isTouchDevice(){return"ontouchstart"in mainWindow||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){const t=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let i=0,r=e.targetTouches.length;i=Gesture.HOLD_DELAY&&Math.abs(L.initialPageX-tail(L.rollingPageX))<30&&Math.abs(L.initialPageY-tail(L.rollingPageY))<30){const z=this.newGestureEvent(EventType.Contextmenu,L.initialTarget);z.pageX=tail(L.rollingPageX),z.pageY=tail(L.rollingPageY),this.dispatchEvent(z)}else if(r===1){const z=tail(L.rollingPageX),j=tail(L.rollingPageY),ie=tail(L.rollingTimestamps)-L.rollingTimestamps[0],oe=z-L.rollingPageX[0],re=j-L.rollingPageY[0],ae=[...this.targets].filter(le=>L.initialTarget instanceof Node&&le.contains(L.initialTarget));this.inertia(e,ae,i,Math.abs(oe)/ie,oe>0?1:-1,z,Math.abs(re)/ie,re>0?1:-1,j)}this.dispatchEvent(this.newGestureEvent(EventType.End,L.initialTarget)),delete this.activeTouches[k.identifier]}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,t){const i=document.createEvent("CustomEvent");return i.initEvent(e,!1,!0),i.initialTarget=t,i.tapCount=0,i}dispatchEvent(e){if(e.type===EventType.Tap){const t=new Date().getTime();let i=0;t-this._lastSetTapCountTime>Gesture.CLEAR_TAP_COUNT_TIME?i=1:i=2,this._lastSetTapCountTime=t,e.tapCount=i}else(e.type===EventType.Change||e.type===EventType.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(const i of this.ignoreTargets)if(i.contains(e.initialTarget))return;const t=[];for(const i of this.targets)if(i.contains(e.initialTarget)){let r=0,g=e.initialTarget;for(;g&&g!==i;)r++,g=g.parentElement;t.push([r,i])}t.sort((i,r)=>i[0]-r[0]);for(const[i,r]of t)r.dispatchEvent(e),this.dispatched=!0}}inertia(e,t,i,r,g,y,k,L,V){this.handle=scheduleAtNextAnimationFrame(e,()=>{const z=Date.now(),j=z-i;let ie=0,oe=0,re=!0;r+=Gesture.SCROLL_FRICTION*j,k+=Gesture.SCROLL_FRICTION*j,r>0&&(re=!1,ie=g*r*j),k>0&&(re=!1,oe=L*k*j);const ae=this.newGestureEvent(EventType.Change);ae.translationX=ie,ae.translationY=oe,t.forEach(le=>le.dispatchEvent(ae)),re||this.inertia(e,t,z,r,g,y+ie,k,L,V+oe)})}onTouchMove(e){const t=Date.now();for(let i=0,r=e.changedTouches.length;i3&&(y.rollingPageX.shift(),y.rollingPageY.shift(),y.rollingTimestamps.shift()),y.rollingPageX.push(g.pageX),y.rollingPageY.push(g.pageY),y.rollingTimestamps.push(t)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}}Gesture.SCROLL_FRICTION=-.005;Gesture.HOLD_DELAY=700;Gesture.CLEAR_TAP_COUNT_TIME=400;__decorate$2p([memoize],Gesture,"isTouchDevice",null);let Widget$1=class extends Disposable{onclick(e,t){this._register(addDisposableListener(e,EventType$1.CLICK,i=>t(new StandardMouseEvent(getWindow$1(e),i))))}onmousedown(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_DOWN,i=>t(new StandardMouseEvent(getWindow$1(e),i))))}onmouseover(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_OVER,i=>t(new StandardMouseEvent(getWindow$1(e),i))))}onmouseleave(e,t){this._register(addDisposableListener(e,EventType$1.MOUSE_LEAVE,i=>t(new StandardMouseEvent(getWindow$1(e),i))))}onkeydown(e,t){this._register(addDisposableListener(e,EventType$1.KEY_DOWN,i=>t(new StandardKeyboardEvent(i))))}onkeyup(e,t){this._register(addDisposableListener(e,EventType$1.KEY_UP,i=>t(new StandardKeyboardEvent(i))))}oninput(e,t){this._register(addDisposableListener(e,EventType$1.INPUT,t))}onblur(e,t){this._register(addDisposableListener(e,EventType$1.BLUR,t))}onfocus(e,t){this._register(addDisposableListener(e,EventType$1.FOCUS,t))}ignoreGesture(e){return Gesture.ignoreTarget(e)}};const ARROW_IMG_SIZE=11;class ScrollbarArrow extends Widget$1{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.classList.add(...ThemeIcon.asClassNameArray(e.icon)),this.domNode.style.position="absolute",this.domNode.style.width=ARROW_IMG_SIZE+"px",this.domNode.style.height=ARROW_IMG_SIZE+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._register(addStandardDisposableListener(this.bgDomNode,EventType$1.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(addStandardDisposableListener(this.domNode,EventType$1.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new WindowIntervalTimer),this._pointerdownScheduleRepeatTimer=this._register(new TimeoutTimer)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,getWindow$1(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}}class ScrollbarVisibilityController extends Disposable{constructor(e,t,i){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=i,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new TimeoutTimer)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){const e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)===null||e===void 0||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)===null||t===void 0||t.setClassName(this._invisibleClassName+(e?" fade":"")))}}const POINTER_DRAG_RESET_DISTANCE$1=140;class AbstractScrollbar extends Widget$1{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new ScrollbarVisibilityController(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new GlobalPointerMoveMonitor),this._shouldRender=!0,this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(addDisposableListener(this.domNode.domNode,EventType$1.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){const t=this._register(new ScrollbarArrow(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,r){this.slider=createFastDomNode(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(addDisposableListener(this.slider.domNode,EventType$1.POINTER_DOWN,g=>{g.button===0&&(g.preventDefault(),this._sliderPointerDown(g))})),this.onclick(this.slider.domNode,g=>{g.leftButton&&g.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){const t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),g=this._sliderPointerPosition(e);i<=g&&g<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{const g=getDomNodePagePosition(this.domNode.domNode);t=e.pageX-g.left,i=e.pageY-g.top}const r=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,g=>{const y=this._sliderOrthogonalPointerPosition(g),k=Math.abs(y-i);if(isWindows&&k>POINTER_DRAG_RESET_DISTANCE$1){this._setDesiredScrollPositionNow(r.getScrollPosition());return}const V=this._sliderPointerPosition(g)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(V))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){const t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}}const MINIMUM_SLIDER_SIZE=20;class ScrollbarState{constructor(e,t,i,r,g,y){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(i),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=g,this._scrollPosition=y,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new ScrollbarState(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){const t=Math.round(e);return this._visibleSize!==t?(this._visibleSize=t,this._refreshComputedValues(),!0):!1}setScrollSize(e){const t=Math.round(e);return this._scrollSize!==t?(this._scrollSize=t,this._refreshComputedValues(),!0):!1}setScrollPosition(e){const t=Math.round(e);return this._scrollPosition!==t?(this._scrollPosition=t,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,i,r,g){const y=Math.max(0,i-e),k=Math.max(0,y-2*t),L=r>0&&r>i;if(!L)return{computedAvailableSize:Math.round(y),computedIsNeeded:L,computedSliderSize:Math.round(k),computedSliderRatio:0,computedSliderPosition:0};const V=Math.round(Math.max(MINIMUM_SLIDER_SIZE,Math.floor(i*k/r))),z=(k-V)/(r-i),j=g*z;return{computedAvailableSize:Math.round(y),computedIsNeeded:L,computedSliderSize:Math.round(V),computedSliderRatio:z,computedSliderPosition:Math.round(j)}}_refreshComputedValues(){const e=ScrollbarState._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;const t=e-this._arrowSize;let i=this._scrollPosition;return tthis._host.onMouseWheel(new StandardWheelEvent(null,1,0))}),this._createArrow({className:"scra",icon:Codicon.scrollbarButtonRight,top:k,left:void 0,bottom:void 0,right:y,bgWidth:t.arrowSize,bgHeight:t.horizontalScrollbarSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,-1,0))})}this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}}class VerticalScrollbar extends AbstractScrollbar{constructor(e,t,i){const r=e.getScrollDimensions(),g=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:i,scrollbarState:new ScrollbarState(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,g.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows){const y=(t.arrowSize-ARROW_IMG_SIZE)/2,k=(t.verticalScrollbarSize-ARROW_IMG_SIZE)/2;this._createArrow({className:"scra",icon:Codicon.scrollbarButtonUp,top:y,left:k,bottom:void 0,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,1))}),this._createArrow({className:"scra",icon:Codicon.scrollbarButtonDown,top:void 0,left:k,bottom:y,right:void 0,bgWidth:t.verticalScrollbarSize,bgHeight:t.arrowSize,onActivate:()=>this._host.onMouseWheel(new StandardWheelEvent(null,0,-1))})}this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}}class ScrollState{constructor(e,t,i,r,g,y,k){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t=t|0,i=i|0,r=r|0,g=g|0,y=y|0,k=k|0),this.rawScrollLeft=r,this.rawScrollTop=k,t<0&&(t=0),r+t>i&&(r=i-t),r<0&&(r=0),g<0&&(g=0),k+g>y&&(k=y-g),k<0&&(k=0),this.width=t,this.scrollWidth=i,this.scrollLeft=r,this.height=g,this.scrollHeight=y,this.scrollTop=k}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,t){return new ScrollState(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,t?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,t?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new ScrollState(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){const i=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,g=this.scrollLeft!==e.scrollLeft,y=this.height!==e.height,k=this.scrollHeight!==e.scrollHeight,L=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:i,scrollWidthChanged:r,scrollLeftChanged:g,heightChanged:y,scrollHeightChanged:k,scrollTopChanged:L}}}let Scrollable$1=class extends Disposable{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new Emitter$1),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new ScrollState(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var i;const r=this._state.withScrollDimensions(e,t);this._setState(r,!!this._smoothScrolling),(i=this._smoothScrolling)===null||i===void 0||i.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){const t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};const i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;t?r=new SmoothScrollingOperation(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{const i=this._state.withScrollPosition(e);this._smoothScrolling=SmoothScrollingOperation.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;const e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){const i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}};class SmoothScrollingUpdate{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}}function createEaseOutCubic(n,e){const t=e-n;return function(i){return n+t*easeOutCubic(i)}}function createComposed(n,e,t){return function(i){return i2.5*i){let g,y;return e0&&Math.abs(e.deltaY)>0)return 1;let i=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(i+=.25),t){const r=Math.abs(e.deltaX),g=Math.abs(e.deltaY),y=Math.abs(t.deltaX),k=Math.abs(t.deltaY),L=Math.max(Math.min(r,y),1),V=Math.max(Math.min(g,k),1),z=Math.max(r,y),j=Math.max(g,k);z%L===0&&j%V===0&&(i-=.5)}return Math.min(Math.max(i,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}}MouseWheelClassifier.INSTANCE=new MouseWheelClassifier;class AbstractScrollableElement extends Widget$1{get options(){return this._options}constructor(e,t,i){super(),this._onScroll=this._register(new Emitter$1),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new Emitter$1),e.style.overflow="hidden",this._options=resolveOptions$2(t),this._scrollable=i,this._register(this._scrollable.onScroll(g=>{this._onWillScroll.fire(g),this._onDidScroll(g),this._onScroll.fire(g)}));const r={onMouseWheel:g=>this._onMouseWheel(g),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new VerticalScrollbar(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new HorizontalScrollbar(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="monaco-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.style.overflow="hidden",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=createFastDomNode(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=createFastDomNode(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=createFastDomNode(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,g=>this._onMouseOver(g)),this.onmouseleave(this._listenOnDomNode,g=>this._onMouseLeave(g)),this._hideTimeout=this._register(new TimeoutTimer),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}dispose(){this._mouseWheelToDispose=dispose(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,isMacintosh&&(this._options.className+=" mac"),this._domNode.className="monaco-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new StandardWheelEvent(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=dispose(this._mouseWheelToDispose),e)){const i=r=>{this._onMouseWheel(new StandardWheelEvent(r))};this._mouseWheelToDispose.push(addDisposableListener(this._listenOnDomNode,EventType$1.MOUSE_WHEEL,i,{passive:!1}))}}_onMouseWheel(e){var t;if(!((t=e.browserEvent)===null||t===void 0)&&t.defaultPrevented)return;const i=MouseWheelClassifier.INSTANCE;i.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let y=e.deltaY*this._options.mouseWheelScrollSensitivity,k=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&k+y===0?k=y=0:Math.abs(y)>=Math.abs(k)?k=0:y=0),this._options.flipAxes&&([y,k]=[k,y]);const L=!isMacintosh&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||L)&&!k&&(k=y,y=0),e.browserEvent&&e.browserEvent.altKey&&(k=k*this._options.fastScrollSensitivity,y=y*this._options.fastScrollSensitivity);const V=this._scrollable.getFutureScrollPosition();let z={};if(y){const j=SCROLL_WHEEL_SENSITIVITY*y,ie=V.scrollTop-(j<0?Math.floor(j):Math.ceil(j));this._verticalScrollbar.writeScrollPosition(z,ie)}if(k){const j=SCROLL_WHEEL_SENSITIVITY*k,ie=V.scrollLeft-(j<0?Math.floor(j):Math.ceil(j));this._horizontalScrollbar.writeScrollPosition(z,ie)}z=this._scrollable.validateScrollPosition(z),(V.scrollLeft!==z.scrollLeft||V.scrollTop!==z.scrollTop)&&(this._options.mouseWheelSmoothScroll&&i.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(z):this._scrollable.setScrollPositionNow(z),r=!0)}let g=r;!g&&this._options.alwaysConsumeMouseWheel&&(g=!0),!g&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(g=!0),g&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){const e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,r=i?" left":"",g=t?" top":"",y=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName("shadow".concat(r)),this._topShadowDomNode.setClassName("shadow".concat(g)),this._topLeftShadowDomNode.setClassName("shadow".concat(y).concat(g).concat(r))}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),HIDE_TIMEOUT)}}class ScrollableElement extends AbstractScrollableElement{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>scheduleAtNextAnimationFrame(getWindow$1(e),r)});super(e,t,i),this._register(i)}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}}class SmoothScrollableElement extends AbstractScrollableElement{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}}class DomScrollableElement extends AbstractScrollableElement{constructor(e,t){t=t||{},t.mouseWheelSmoothScroll=!1;const i=new Scrollable$1({forceIntegerValues:!1,smoothScrollDuration:0,scheduleAtNextAnimationFrame:r=>scheduleAtNextAnimationFrame(getWindow$1(e),r)});super(e,t,i),this._register(i),this._element=e,this._register(this.onScroll(r=>{r.scrollTopChanged&&(this._element.scrollTop=r.scrollTop),r.scrollLeftChanged&&(this._element.scrollLeft=r.scrollLeft)})),this.scanDomNode()}setScrollPosition(e){this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}scanDomNode(){this.setScrollDimensions({width:this._element.clientWidth,scrollWidth:this._element.scrollWidth,height:this._element.clientHeight,scrollHeight:this._element.scrollHeight}),this.setScrollPosition({scrollLeft:this._element.scrollLeft,scrollTop:this._element.scrollTop})}}function resolveOptions$2(n){const e={lazyRender:typeof n.lazyRender<"u"?n.lazyRender:!1,className:typeof n.className<"u"?n.className:"",useShadows:typeof n.useShadows<"u"?n.useShadows:!0,handleMouseWheel:typeof n.handleMouseWheel<"u"?n.handleMouseWheel:!0,flipAxes:typeof n.flipAxes<"u"?n.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof n.consumeMouseWheelIfScrollbarIsNeeded<"u"?n.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof n.alwaysConsumeMouseWheel<"u"?n.alwaysConsumeMouseWheel:!1,scrollYToX:typeof n.scrollYToX<"u"?n.scrollYToX:!1,mouseWheelScrollSensitivity:typeof n.mouseWheelScrollSensitivity<"u"?n.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof n.fastScrollSensitivity<"u"?n.fastScrollSensitivity:5,scrollPredominantAxis:typeof n.scrollPredominantAxis<"u"?n.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof n.mouseWheelSmoothScroll<"u"?n.mouseWheelSmoothScroll:!0,arrowSize:typeof n.arrowSize<"u"?n.arrowSize:11,listenOnDomNode:typeof n.listenOnDomNode<"u"?n.listenOnDomNode:null,horizontal:typeof n.horizontal<"u"?n.horizontal:1,horizontalScrollbarSize:typeof n.horizontalScrollbarSize<"u"?n.horizontalScrollbarSize:10,horizontalSliderSize:typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:0,horizontalHasArrows:typeof n.horizontalHasArrows<"u"?n.horizontalHasArrows:!1,vertical:typeof n.vertical<"u"?n.vertical:1,verticalScrollbarSize:typeof n.verticalScrollbarSize<"u"?n.verticalScrollbarSize:10,verticalHasArrows:typeof n.verticalHasArrows<"u"?n.verticalHasArrows:!1,verticalSliderSize:typeof n.verticalSliderSize<"u"?n.verticalSliderSize:0,scrollByPage:typeof n.scrollByPage<"u"?n.scrollByPage:!1};return e.horizontalSliderSize=typeof n.horizontalSliderSize<"u"?n.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof n.verticalSliderSize<"u"?n.verticalSliderSize:e.verticalScrollbarSize,isMacintosh&&(e.className+=" mac"),e}class MouseHandler extends ViewEventHandler{constructor(e,t,i){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=i,this.mouseTargetFactory=new MouseTargetFactory(this._context,i),this._mouseDownOperation=this._register(new MouseDownOperation(this._context,this.viewController,this.viewHelper,this.mouseTargetFactory,(y,k)=>this._createMouseTarget(y,k),y=>this._getMouseColumn(y))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(145).height;const r=new EditorMouseEventFactory(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,y=>this._onContextMenu(y,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,y=>{this._onMouseMove(y),this._mouseLeaveMonitor||(this._mouseLeaveMonitor=addDisposableListener(this.viewHelper.viewDomNode.ownerDocument,"mousemove",k=>{this.viewHelper.viewDomNode.contains(k.target)||this._onMouseLeave(new EditorMouseEvent(k,!1,this.viewHelper.viewDomNode))}))})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,y=>this._onMouseUp(y))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,y=>this._onMouseLeave(y)));let g=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(y,k)=>{g=k})),this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType$1.POINTER_UP,y=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,y=>this._onMouseDown(y,g))),this._setupMouseWheelZoomListener(),this._context.addEventHandler(this)}_setupMouseWheelZoomListener(){const e=MouseWheelClassifier.INSTANCE;let t=0,i=EditorZoom.getZoomLevel(),r=!1,g=0;const y=L=>{if(this.viewController.emitMouseWheel(L),!this._context.configuration.options.get(76))return;const V=new StandardWheelEvent(L);if(e.acceptStandardWheelEvent(V),e.isPhysicalMouseWheel()){if(k(L)){const z=EditorZoom.getZoomLevel(),j=V.deltaY>0?1:-1;EditorZoom.setZoomLevel(z+j),V.preventDefault(),V.stopPropagation()}}else Date.now()-t>50&&(i=EditorZoom.getZoomLevel(),r=k(L),g=0),t=Date.now(),g+=V.deltaY,r&&(EditorZoom.setZoomLevel(i+g/5),V.preventDefault(),V.stopPropagation())};this._register(addDisposableListener(this.viewHelper.viewDomNode,EventType$1.MOUSE_WHEEL,y,{capture:!0,passive:!1}));function k(L){return isMacintosh?(L.metaKey||L.ctrlKey)&&!L.shiftKey&&!L.altKey:L.ctrlKey&&!L.metaKey&&!L.shiftKey&&!L.altKey}}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&(this._mouseLeaveMonitor.dispose(),this._mouseLeaveMonitor=null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(145)){const t=this._context.configuration.options.get(145).height;this._height!==t&&(this._height=t,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}getTargetAtClientPoint(e,t){const r=new ClientCoordinates(e,t).toPageCoordinates(getWindow$1(this.viewHelper.viewDomNode)),g=createEditorPagePosition(this.viewHelper.viewDomNode);if(r.yg.y+g.height||r.xg.x+g.width)return null;const y=createCoordinatesRelativeToEditor(this.viewHelper.viewDomNode,g,r);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),g,r,y,null)}_createMouseTarget(e,t){let i=e.target;if(!this.viewHelper.viewDomNode.contains(i)){const r=getShadowRoot$2(this.viewHelper.viewDomNode);r&&(i=r.elementsFromPoint(e.posx,e.posy).find(g=>this.viewHelper.viewDomNode.contains(g)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?i:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!(this._mouseDownOperation.isActive()||e.timestamp{e.preventDefault(),this.viewHelper.focusTextArea()};if(z&&(r||y&&k))j(),this._mouseDownOperation.start(i.type,e,t);else if(g)e.preventDefault();else if(L){const ie=i.detail;z&&this.viewHelper.shouldSuppressMouseDownOnViewZone(ie.viewZoneId)&&(j(),this._mouseDownOperation.start(i.type,e,t),e.preventDefault())}else V&&this.viewHelper.shouldSuppressMouseDownOnWidget(i.detail)&&(j(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:i})}}class MouseDownOperation extends Disposable{constructor(e,t,i,r,g,y){super(),this._context=e,this._viewController=t,this._viewHelper=i,this._mouseTargetFactory=r,this._createMouseTarget=g,this._getMouseColumn=y,this._mouseMoveMonitor=this._register(new GlobalEditorPointerMoveMonitor(this._viewHelper.viewDomNode)),this._topBottomDragScrolling=this._register(new TopBottomDragScrolling(this._context,this._viewHelper,this._mouseTargetFactory,(k,L,V)=>this._dispatchMouse(k,L,V))),this._mouseState=new MouseDownState,this._currentSelection=new Selection$1(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);const t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):t.type===13&&(t.outsidePosition==="above"||t.outsidePosition==="below")?this._topBottomDragScrolling.start(t,e):(this._topBottomDragScrolling.stop(),this._dispatchMouse(t,!0,1)))}start(e,t,i){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);const r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;const g=this._context.configuration.options;if(!g.get(91)&&g.get(35)&&!g.get(22)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,y=>this._onMouseDownThenMove(y),y=>{const k=this._findMousePosition(this._lastMouseEvent,!1);isKeyboardEvent(y)?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:k?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey,1),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,i,t.buttons,y=>this._onMouseDownThenMove(y),()=>this._stop()))}_stop(){this._isActive=!1,this._topBottomDragScrolling.stop()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){const t=e.editorPos,i=this._context.viewModel,r=this._context.viewLayout,g=this._getMouseColumn(e);if(e.posyt.y+t.height){const k=e.posy-t.y-t.height,L=r.getCurrentScrollTop()+e.relativePos.y,V=HitTestContext.getZoneAtCoord(this._context,L);if(V){const j=this._helpPositionJumpOverViewZone(V);if(j)return MouseTarget.createOutsideEditor(g,j,"below",k)}const z=r.getLineNumberAtVerticalOffset(L);return MouseTarget.createOutsideEditor(g,new Position$1(z,i.getLineMaxColumn(z)),"below",k)}const y=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);if(e.posxt.x+t.width){const k=e.posx-t.x-t.width;return MouseTarget.createOutsideEditor(g,new Position$1(y,i.getLineMaxColumn(y)),"right",k)}return null}_findMousePosition(e,t){const i=this._getPositionOutsideEditor(e);if(i)return i;const r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){const y=this._helpPositionJumpOverViewZone(r.detail);if(y)return MouseTarget.createViewZone(r.type,r.element,r.mouseColumn,y,r.detail)}return r}_helpPositionJumpOverViewZone(e){const t=new Position$1(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),i=e.positionBefore,r=e.positionAfter;return i&&r?i.isBefore(t)?i:r:null}_dispatchMouse(e,t,i){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,revealType:i,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}}class TopBottomDragScrolling extends Disposable{constructor(e,t,i,r){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._operation=null}dispose(){super.dispose(),this.stop()}start(e,t){this._operation?this._operation.setPosition(e,t):this._operation=new TopBottomDragScrollingOperation(this._context,this._viewHelper,this._mouseTargetFactory,this._dispatchMouse,e,t)}stop(){this._operation&&(this._operation.dispose(),this._operation=null)}}class TopBottomDragScrollingOperation extends Disposable{constructor(e,t,i,r,g,y){super(),this._context=e,this._viewHelper=t,this._mouseTargetFactory=i,this._dispatchMouse=r,this._position=g,this._mouseEvent=y,this._lastTime=Date.now(),this._animationFrameDisposable=scheduleAtNextAnimationFrame(getWindow$1(y.browserEvent),()=>this._execute())}dispose(){this._animationFrameDisposable.dispose(),super.dispose()}setPosition(e,t){this._position=e,this._mouseEvent=t}_tick(){const e=Date.now(),t=e-this._lastTime;return this._lastTime=e,t}_getScrollSpeed(){const e=this._context.configuration.options.get(67),t=this._context.configuration.options.get(145).height/e,i=this._position.outsideDistance/e;return i<=1.5?Math.max(30,t*(1+i)):i<=3?Math.max(60,t*(2+i)):Math.max(200,t*(7+i))}_execute(){const e=this._context.configuration.options.get(67),t=this._getScrollSpeed(),i=this._tick(),r=t*(i/1e3)*e,g=this._position.outsidePosition==="above"?-r:r;this._context.viewModel.viewLayout.deltaScrollNow(0,g),this._viewHelper.renderNow();const y=this._context.viewLayout.getLinesViewportData(),k=this._position.outsidePosition==="above"?y.startLineNumber:y.endLineNumber;let L;{const V=createEditorPagePosition(this._viewHelper.viewDomNode),z=this._context.configuration.options.get(145).horizontalScrollbarHeight,j=new PageCoordinates(this._mouseEvent.pos.x,V.y+V.height-z-.1),ie=createCoordinatesRelativeToEditor(this._viewHelper.viewDomNode,V,j);L=this._mouseTargetFactory.createMouseTarget(this._viewHelper.getLastRenderData(),V,j,ie,null)}(!L.position||L.position.lineNumber!==k)&&(this._position.outsidePosition==="above"?L=MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position$1(k,1),"above",this._position.outsideDistance):L=MouseTarget.createOutsideEditor(this._position.mouseColumn,new Position$1(k,this._context.viewModel.getLineMaxColumn(k)),"below",this._position.outsideDistance)),this._dispatchMouse(L,!0,2),this._animationFrameDisposable=scheduleAtNextAnimationFrame(getWindow$1(L.element),()=>this._execute())}}class MouseDownState{get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(e,t){const i=new Date().getTime();i-this._lastSetMouseDownCountTime>MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME&&(e=1),this._lastSetMouseDownCountTime=i,e>this._lastMouseDownCount+1&&(e=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(t)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=t,this._lastMouseDownCount=Math.min(e,this._lastMouseDownPositionEqualCount)}}MouseDownState.CLEAR_MOUSE_DOWN_COUNT_TIME=400;class DomEmitter{get event(){return this.emitter.event}constructor(e,t,i){const r=g=>this.emitter.fire(g);this.emitter=new Emitter$1({onWillAddFirstListener:()=>e.addEventListener(t,r,i),onDidRemoveLastListener:()=>e.removeEventListener(t,r,i)})}dispose(){this.emitter.dispose()}}class TextAreaState{constructor(e,t,i,r,g){this.value=e,this.selectionStart=t,this.selectionEnd=i,this.selection=r,this.newlineCountBeforeSelection=g}toString(){return"[ <".concat(this.value,">, selectionStart: ").concat(this.selectionStart,", selectionEnd: ").concat(this.selectionEnd,"]")}static readFromTextArea(e,t){const i=e.getValue(),r=e.getSelectionStart(),g=e.getSelectionEnd();let y;if(t){const k=i.substring(0,r),L=t.value.substring(0,t.selectionStart);k===L&&(y=t.newlineCountBeforeSelection)}return new TextAreaState(i,r,g,null,y)}collapseSelection(){return this.selectionStart===this.value.length?this:new TextAreaState(this.value,this.value.length,this.value.length,null,void 0)}writeToTextArea(e,t,i){t.setValue(e,this.value),i&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){var t,i,r,g,y,k,L,V;if(e<=this.selectionStart){const ie=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition((i=(t=this.selection)===null||t===void 0?void 0:t.getStartPosition())!==null&&i!==void 0?i:null,ie,-1)}if(e>=this.selectionEnd){const ie=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition((g=(r=this.selection)===null||r===void 0?void 0:r.getEndPosition())!==null&&g!==void 0?g:null,ie,1)}const z=this.value.substring(this.selectionStart,e);if(z.indexOf("…")===-1)return this._finishDeduceEditorPosition((k=(y=this.selection)===null||y===void 0?void 0:y.getStartPosition())!==null&&k!==void 0?k:null,z,1);const j=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition((V=(L=this.selection)===null||L===void 0?void 0:L.getEndPosition())!==null&&V!==void 0?V:null,j,-1)}_finishDeduceEditorPosition(e,t,i){let r=0,g=-1;for(;(g=t.indexOf("\n",g+1))!==-1;)r++;return[e,i*t.length,r]}static deduceInput(e,t,i){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};const r=Math.min(commonPrefixLength(e.value,t.value),e.selectionStart,t.selectionStart),g=Math.min(commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-g);const y=t.value.substring(r,t.value.length-g),k=e.selectionStart-r,L=e.selectionEnd-r,V=t.selectionStart-r,z=t.selectionEnd-r;if(V===z){const ie=e.selectionStart-r;return{text:y,replacePrevCharCnt:ie,replaceNextCharCnt:0,positionDelta:0}}const j=L-k;return{text:y,replacePrevCharCnt:j,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:"",replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};const i=Math.min(commonPrefixLength(e.value,t.value),e.selectionEnd),r=Math.min(commonSuffixLength(e.value,t.value),e.value.length-e.selectionEnd),g=e.value.substring(i,e.value.length-r),y=t.value.substring(i,t.value.length-r);e.selectionStart-i;const k=e.selectionEnd-i;t.selectionStart-i;const L=t.selectionEnd-i;return{text:y,replacePrevCharCnt:k,replaceNextCharCnt:g.length-k,positionDelta:L-y.length}}}TextAreaState.EMPTY=new TextAreaState("",0,0,null,void 0);class PagedScreenReaderStrategy{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){const i=e*t,r=i+1,g=i+t;return new Range$2(r,1,g+1,1)}static fromEditorSelection(e,t,i,r){const y=PagedScreenReaderStrategy._getPageOfLine(t.startLineNumber,i),k=PagedScreenReaderStrategy._getRangeForPage(y,i),L=PagedScreenReaderStrategy._getPageOfLine(t.endLineNumber,i),V=PagedScreenReaderStrategy._getRangeForPage(L,i);let z=k.intersectRanges(new Range$2(1,1,t.startLineNumber,t.startColumn));if(r&&e.getValueLengthInRange(z,1)>500){const de=e.modifyPosition(z.getEndPosition(),-500);z=Range$2.fromPositions(de,z.getEndPosition())}const j=e.getValueInRange(z,1),ie=e.getLineCount(),oe=e.getLineMaxColumn(ie);let re=V.intersectRanges(new Range$2(t.endLineNumber,t.endColumn,ie,oe));if(r&&e.getValueLengthInRange(re,1)>500){const de=e.modifyPosition(re.getStartPosition(),500);re=Range$2.fromPositions(re.getStartPosition(),de)}const ae=e.getValueInRange(re,1);let le;if(y===L||y+1===L)le=e.getValueInRange(t,1);else{const de=k.intersectRanges(t),ue=V.intersectRanges(t);le=e.getValueInRange(de,1)+"…"+e.getValueInRange(ue,1)}return r&&le.length>2*500&&(le=le.substring(0,500)+"…"+le.substring(le.length-500,le.length)),new TextAreaState(j+le+ae,j.length,j.length+le.length,t,z.endLineNumber-z.startLineNumber)}}var __decorate$2o=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2f=function(n,e){return function(t,i){e(t,i,n)}},TextAreaSyntethicEvents;(function(n){n.Tap="-monaco-textarea-synthetic-tap"})(TextAreaSyntethicEvents||(TextAreaSyntethicEvents={}));const CopyOptions={forceCopyWithSyntaxHighlighting:!1};class InMemoryClipboardMetadataManager{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}}InMemoryClipboardMetadataManager.INSTANCE=new InMemoryClipboardMetadataManager;class CompositionContext{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e=e||"";const t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}}let TextAreaInput=class extends Disposable{get textAreaState(){return this._textAreaState}constructor(e,t,i,r,g,y){super(),this._host=e,this._textArea=t,this._OS=i,this._browser=r,this._accessibilityService=g,this._logService=y,this._onFocus=this._register(new Emitter$1),this.onFocus=this._onFocus.event,this._onBlur=this._register(new Emitter$1),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new Emitter$1),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new Emitter$1),this.onCut=this._onCut.event,this._onPaste=this._register(new Emitter$1),this.onPaste=this._onPaste.event,this._onType=this._register(new Emitter$1),this.onType=this._onType.event,this._onCompositionStart=this._register(new Emitter$1),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new Emitter$1),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new Emitter$1),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new Emitter$1),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncFocusGainWriteScreenReaderContent=this._register(new MutableDisposable),this._asyncTriggerCut=this._register(new RunOnceScheduler(()=>this._onCut.fire(),0)),this._textAreaState=TextAreaState.EMPTY,this._selectionChangeListener=null,this._accessibilityService.isScreenReaderOptimized()&&this.writeNativeTextAreaContent("ctor"),this._register(Event$1.runAndSubscribe(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>{this._accessibilityService.isScreenReaderOptimized()&&!this._asyncFocusGainWriteScreenReaderContent.value?this._asyncFocusGainWriteScreenReaderContent.value=this._register(new RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)):this._asyncFocusGainWriteScreenReaderContent.clear()})),this._hasFocus=!1,this._currentComposition=null;let k=null;this._register(this._textArea.onKeyDown(L=>{const V=new StandardKeyboardEvent(L);(V.keyCode===114||this._currentComposition&&V.keyCode===1)&&V.stopPropagation(),V.equals(9)&&V.preventDefault(),k=V,this._onKeyDown.fire(V)})),this._register(this._textArea.onKeyUp(L=>{const V=new StandardKeyboardEvent(L);this._onKeyUp.fire(V)})),this._register(this._textArea.onCompositionStart(L=>{const V=new CompositionContext;if(this._currentComposition){this._currentComposition=V;return}if(this._currentComposition=V,this._OS===2&&k&&k.equals(114)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===L.data&&(k.code==="ArrowRight"||k.code==="ArrowLeft")){V.handleCompositionUpdate("x"),this._onCompositionStart.fire({data:L.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:L.data});return}this._onCompositionStart.fire({data:L.data})})),this._register(this._textArea.onCompositionUpdate(L=>{const V=this._currentComposition;if(!V)return;if(this._browser.isAndroid){const j=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),ie=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,j);this._textAreaState=j,this._onType.fire(ie),this._onCompositionUpdate.fire(L);return}const z=V.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(z),this._onCompositionUpdate.fire(L)})),this._register(this._textArea.onCompositionEnd(L=>{const V=this._currentComposition;if(!V)return;if(this._currentComposition=null,this._browser.isAndroid){const j=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),ie=TextAreaState.deduceAndroidCompositionInput(this._textAreaState,j);this._textAreaState=j,this._onType.fire(ie),this._onCompositionEnd.fire();return}const z=V.handleCompositionUpdate(L.data);this._textAreaState=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),this._onType.fire(z),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(L=>{if(this._textArea.setIgnoreSelectionChangeTime("received input event"),this._currentComposition)return;const V=TextAreaState.readFromTextArea(this._textArea,this._textAreaState),z=TextAreaState.deduceInput(this._textAreaState,V,this._OS===2);z.replacePrevCharCnt===0&&z.text.length===1&&(isHighSurrogate(z.text.charCodeAt(0))||z.text.charCodeAt(0)===127)||(this._textAreaState=V,(z.text!==""||z.replacePrevCharCnt!==0||z.replaceNextCharCnt!==0||z.positionDelta!==0)&&this._onType.fire(z))})),this._register(this._textArea.onCut(L=>{this._textArea.setIgnoreSelectionChangeTime("received cut event"),this._ensureClipboardGetsEditorSelection(L),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(L=>{this._ensureClipboardGetsEditorSelection(L)})),this._register(this._textArea.onPaste(L=>{if(this._textArea.setIgnoreSelectionChangeTime("received paste event"),L.preventDefault(),!L.clipboardData)return;let[V,z]=ClipboardEventUtils.getTextData(L.clipboardData);V&&(z=z||InMemoryClipboardMetadataManager.INSTANCE.get(V),this._onPaste.fire({text:V,metadata:z}))})),this._register(this._textArea.onFocus(()=>{const L=this._hasFocus;this._setHasFocus(!0),this._accessibilityService.isScreenReaderOptimized()&&this._browser.isSafari&&!L&&this._hasFocus&&(this._asyncFocusGainWriteScreenReaderContent.value||(this._asyncFocusGainWriteScreenReaderContent.value=new RunOnceScheduler(()=>this.writeNativeTextAreaContent("asyncFocusGain"),0)),this._asyncFocusGainWriteScreenReaderContent.value.schedule())})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("blurWithoutCompositionEnd"),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeNativeTextAreaContent("tapWithoutCompositionEnd"),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return addDisposableListener(this._textArea.ownerDocument,"selectionchange",t=>{if(inputLatency.onSelectionChange(),!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;const i=Date.now(),r=i-e;if(e=i,r<5)return;const g=i-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),g<100||!this._textAreaState.selection)return;const y=this._textArea.getValue();if(this._textAreaState.value!==y)return;const k=this._textArea.getSelectionStart(),L=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===k&&this._textAreaState.selectionEnd===L)return;const V=this._textAreaState.deduceEditorPosition(k),z=this._host.deduceModelPosition(V[0],V[1],V[2]),j=this._textAreaState.deduceEditorPosition(L),ie=this._host.deduceModelPosition(j[0],j[1],j[2]),oe=new Selection$1(z.lineNumber,z.column,ie.lineNumber,ie.column);this._onSelectionChangeRequest.fire(oe)})}dispose(){super.dispose(),this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&(this._selectionChangeListener.dispose(),this._selectionChangeListener=null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeNativeTextAreaContent("focusgain"),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeNativeTextAreaContent(e){!this._accessibilityService.isScreenReaderOptimized()&&e==="render"||this._currentComposition||(this._logService.trace("writeTextAreaState(reason: ".concat(e,")")),this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent()))}_ensureClipboardGetsEditorSelection(e){const t=this._host.getDataToCopy(),i={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};InMemoryClipboardMetadataManager.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,"\n"):t.text,i),e.preventDefault(),e.clipboardData&&ClipboardEventUtils.setTextData(e.clipboardData,t.text,t.html,i)}};TextAreaInput=__decorate$2o([__param$2f(4,IAccessibilityService),__param$2f(5,ILogService)],TextAreaInput);const ClipboardEventUtils={getTextData(n){const e=n.getData(Mimes.text);let t=null;const i=n.getData("vscode-editor-data");if(typeof i=="string")try{t=JSON.parse(i),t.version!==1&&(t=null)}catch(r){}return e.length===0&&t===null&&n.files.length>0?[Array.prototype.slice.call(n.files,0).map(g=>g.name).join("\n"),null]:[e,t]},setTextData(n,e,t,i){n.setData(Mimes.text,e),typeof t=="string"&&n.setData("text/html",t),n.setData("vscode-editor-data",JSON.stringify(i))}};class TextAreaWrapper extends Disposable{get ownerDocument(){return this._actual.ownerDocument}constructor(e){super(),this._actual=e,this.onKeyDown=this._register(new DomEmitter(this._actual,"keydown")).event,this.onKeyUp=this._register(new DomEmitter(this._actual,"keyup")).event,this.onCompositionStart=this._register(new DomEmitter(this._actual,"compositionstart")).event,this.onCompositionUpdate=this._register(new DomEmitter(this._actual,"compositionupdate")).event,this.onCompositionEnd=this._register(new DomEmitter(this._actual,"compositionend")).event,this.onBeforeInput=this._register(new DomEmitter(this._actual,"beforeinput")).event,this.onInput=this._register(new DomEmitter(this._actual,"input")).event,this.onCut=this._register(new DomEmitter(this._actual,"cut")).event,this.onCopy=this._register(new DomEmitter(this._actual,"copy")).event,this.onPaste=this._register(new DomEmitter(this._actual,"paste")).event,this.onFocus=this._register(new DomEmitter(this._actual,"focus")).event,this.onBlur=this._register(new DomEmitter(this._actual,"blur")).event,this._onSyntheticTap=this._register(new Emitter$1),this.onSyntheticTap=this._onSyntheticTap.event,this._ignoreSelectionChangeTime=0,this._register(this.onKeyDown(()=>inputLatency.onKeyDown())),this._register(this.onBeforeInput(()=>inputLatency.onBeforeInput())),this._register(this.onInput(()=>inputLatency.onInput())),this._register(this.onKeyUp(()=>inputLatency.onKeyUp())),this._register(addDisposableListener(this._actual,TextAreaSyntethicEvents.Tap,()=>this._onSyntheticTap.fire()))}hasFocus(){const e=getShadowRoot$2(this._actual);return e?e.activeElement===this._actual:this._actual.isConnected?getActiveElement()===this._actual:!1}setIgnoreSelectionChangeTime(e){this._ignoreSelectionChangeTime=Date.now()}getIgnoreSelectionChangeTime(){return this._ignoreSelectionChangeTime}resetSelectionChangeTime(){this._ignoreSelectionChangeTime=0}getValue(){return this._actual.value}setValue(e,t){const i=this._actual;i.value!==t&&(this.setIgnoreSelectionChangeTime("setValue"),i.value=t)}getSelectionStart(){return this._actual.selectionDirection==="backward"?this._actual.selectionEnd:this._actual.selectionStart}getSelectionEnd(){return this._actual.selectionDirection==="backward"?this._actual.selectionStart:this._actual.selectionEnd}setSelectionRange(e,t,i){const r=this._actual;let g=null;const y=getShadowRoot$2(r);y?g=y.activeElement:g=getActiveElement();const k=getWindow$1(g),L=g===r,V=r.selectionStart,z=r.selectionEnd;if(L&&V===t&&z===i){isFirefox$1&&k.parent!==k&&r.focus();return}if(L){this.setIgnoreSelectionChangeTime("setSelectionRange"),r.setSelectionRange(t,i),isFirefox$1&&k.parent!==k&&r.focus();return}try{const j=saveParentsScrollTop(r);this.setIgnoreSelectionChangeTime("setSelectionRange"),r.focus(),r.setSelectionRange(t,i),restoreParentsScrollTop(r,j)}catch(j){}}}class PointerEventHandler extends MouseHandler{constructor(e,t,i){super(e,t,i),this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Tap,g=>this.onTap(g))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Change,g=>this.onChange(g))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Contextmenu,g=>this._onContextMenu(new EditorMouseEvent(g,!1,this.viewHelper.viewDomNode),!1))),this._lastPointerType="mouse",this._register(addDisposableListener(this.viewHelper.linesContentDomNode,"pointerdown",g=>{const y=g.pointerType;if(y==="mouse"){this._lastPointerType="mouse";return}else y==="touch"?this._lastPointerType="touch":this._lastPointerType="pen"}));const r=new EditorPointerEventFactory(this.viewHelper.viewDomNode);this._register(r.onPointerMove(this.viewHelper.viewDomNode,g=>this._onMouseMove(g))),this._register(r.onPointerUp(this.viewHelper.viewDomNode,g=>this._onMouseUp(g))),this._register(r.onPointerLeave(this.viewHelper.viewDomNode,g=>this._onMouseLeave(g))),this._register(r.onPointerDown(this.viewHelper.viewDomNode,(g,y)=>this._onMouseDown(g,y)))}onTap(e){!e.initialTarget||!this.viewHelper.linesContentDomNode.contains(e.initialTarget)||(e.preventDefault(),this.viewHelper.focusTextArea(),this._dispatchGesture(e,!1))}onChange(e){this._lastPointerType==="touch"&&this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY),this._lastPointerType==="pen"&&this._dispatchGesture(e,!0)}_dispatchGesture(e,t){const i=this._createMouseTarget(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1);i.position&&this.viewController.dispatchMouse({position:i.position,mouseColumn:i.position.column,startedOnLineNumbers:!1,revealType:1,mouseDownCount:e.tapCount,inSelectionMode:t,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1,leftButton:!1,middleButton:!1,onInjectedText:i.type===6&&i.detail.injectedText!==null})}_onMouseDown(e,t){e.browserEvent.pointerType!=="touch"&&super._onMouseDown(e,t)}}class TouchHandler extends MouseHandler{constructor(e,t,i){super(e,t,i),this._register(Gesture.addTarget(this.viewHelper.linesContentDomNode)),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Tap,r=>this.onTap(r))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Change,r=>this.onChange(r))),this._register(addDisposableListener(this.viewHelper.linesContentDomNode,EventType.Contextmenu,r=>this._onContextMenu(new EditorMouseEvent(r,!1,this.viewHelper.viewDomNode),!1)))}onTap(e){e.preventDefault(),this.viewHelper.focusTextArea();const t=this._createMouseTarget(new EditorMouseEvent(e,!1,this.viewHelper.viewDomNode),!1);if(t.position){const i=document.createEvent("CustomEvent");i.initEvent(TextAreaSyntethicEvents.Tap,!1,!0),this.viewHelper.dispatchTextAreaEvent(i),this.viewController.moveTo(t.position,1)}}onChange(e){this._context.viewModel.viewLayout.deltaScrollNow(-e.translationX,-e.translationY)}}class PointerHandler extends Disposable{constructor(e,t,i){super(),(isIOS$1||isAndroid$1&&isMobile)&&BrowserFeatures.pointerEvents?this.handler=this._register(new PointerEventHandler(e,t,i)):mainWindow.TouchEvent?this.handler=this._register(new TouchHandler(e,t,i)):this.handler=this._register(new MouseHandler(e,t,i))}getTargetAtClientPoint(e,t){return this.handler.getTargetAtClientPoint(e,t)}}class DynamicViewOverlay extends ViewEventHandler{}const IThemeService=createDecorator("themeService");function themeColorFromId(n){return{id:n}}function getThemeTypeSelector(n){switch(n){case ColorScheme.DARK:return"vs-dark";case ColorScheme.HIGH_CONTRAST_DARK:return"hc-black";case ColorScheme.HIGH_CONTRAST_LIGHT:return"hc-light";default:return"vs"}}const Extensions$3={ThemingContribution:"base.contributions.theming"};class ThemingRegistry{constructor(){this.themingParticipants=[],this.themingParticipants=[],this.onThemingParticipantAddedEmitter=new Emitter$1}onColorThemeChange(e){return this.themingParticipants.push(e),this.onThemingParticipantAddedEmitter.fire(e),toDisposable(()=>{const t=this.themingParticipants.indexOf(e);this.themingParticipants.splice(t,1)})}getThemingParticipants(){return this.themingParticipants}}const themingRegistry$1=new ThemingRegistry;Registry.add(Extensions$3.ThemingContribution,themingRegistry$1);function registerThemingParticipant(n){return themingRegistry$1.onColorThemeChange(n)}class Themable extends Disposable{constructor(e){super(),this.themeService=e,this.theme=e.getColorTheme(),this._register(this.themeService.onDidColorThemeChange(t=>this.onThemeChange(t)))}onThemeChange(e){this.theme=e,this.updateStyles()}updateStyles(){}}const editorLineHighlight=registerColor("editor.lineHighlightBackground",{dark:null,light:null,hcDark:null,hcLight:null},localize("lineHighlight","Background color for the highlight of line at the cursor position.")),editorLineHighlightBorder=registerColor("editor.lineHighlightBorder",{dark:"#282828",light:"#eeeeee",hcDark:"#f38518",hcLight:contrastBorder},localize("lineHighlightBorderBox","Background color for the border around the line at the cursor position."));registerColor("editor.rangeHighlightBackground",{dark:"#ffffff0b",light:"#fdff0033",hcDark:null,hcLight:null},localize("rangeHighlight","Background color of highlighted ranges, like by quick open and find features. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.rangeHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("rangeHighlightBorder","Background color of the border around highlighted ranges."),!0);registerColor("editor.symbolHighlightBackground",{dark:editorFindMatchHighlight,light:editorFindMatchHighlight,hcDark:null,hcLight:null},localize("symbolHighlight","Background color of highlighted symbol, like for go to definition or go next/previous symbol. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.symbolHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("symbolHighlightBorder","Background color of the border around highlighted symbols."),!0);const editorCursorForeground=registerColor("editorCursor.foreground",{dark:"#AEAFAD",light:Color$1.black,hcDark:Color$1.white,hcLight:"#0F4A85"},localize("caret","Color of the editor cursor.")),editorCursorBackground=registerColor("editorCursor.background",null,localize("editorCursorBackground","The background color of the editor cursor. Allows customizing the color of a character overlapped by a block cursor.")),editorMultiCursorPrimaryForeground=registerColor("editorMultiCursor.primary.foreground",{dark:editorCursorForeground,light:editorCursorForeground,hcDark:editorCursorForeground,hcLight:editorCursorForeground},localize("editorMultiCursorPrimaryForeground","Color of the primary editor cursor when multiple cursors are present.")),editorMultiCursorPrimaryBackground=registerColor("editorMultiCursor.primary.background",{dark:editorCursorBackground,light:editorCursorBackground,hcDark:editorCursorBackground,hcLight:editorCursorBackground},localize("editorMultiCursorPrimaryBackground","The background color of the primary editor cursor when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),editorMultiCursorSecondaryForeground=registerColor("editorMultiCursor.secondary.foreground",{dark:editorCursorForeground,light:editorCursorForeground,hcDark:editorCursorForeground,hcLight:editorCursorForeground},localize("editorMultiCursorSecondaryForeground","Color of secondary editor cursors when multiple cursors are present.")),editorMultiCursorSecondaryBackground=registerColor("editorMultiCursor.secondary.background",{dark:editorCursorBackground,light:editorCursorBackground,hcDark:editorCursorBackground,hcLight:editorCursorBackground},localize("editorMultiCursorSecondaryBackground","The background color of secondary editor cursors when multiple cursors are present. Allows customizing the color of a character overlapped by a block cursor.")),editorWhitespaces=registerColor("editorWhitespace.foreground",{dark:"#e3e4e229",light:"#33333333",hcDark:"#e3e4e229",hcLight:"#CCCCCC"},localize("editorWhitespaces","Color of whitespace characters in the editor.")),editorLineNumbers=registerColor("editorLineNumber.foreground",{dark:"#858585",light:"#237893",hcDark:Color$1.white,hcLight:"#292929"},localize("editorLineNumbers","Color of editor line numbers.")),deprecatedEditorIndentGuides=registerColor("editorIndentGuide.background",{dark:editorWhitespaces,light:editorWhitespaces,hcDark:editorWhitespaces,hcLight:editorWhitespaces},localize("editorIndentGuides","Color of the editor indentation guides."),!1,localize("deprecatedEditorIndentGuides","'editorIndentGuide.background' is deprecated. Use 'editorIndentGuide.background1' instead.")),deprecatedEditorActiveIndentGuides=registerColor("editorIndentGuide.activeBackground",{dark:editorWhitespaces,light:editorWhitespaces,hcDark:editorWhitespaces,hcLight:editorWhitespaces},localize("editorActiveIndentGuide","Color of the active editor indentation guides."),!1,localize("deprecatedEditorActiveIndentGuide","'editorIndentGuide.activeBackground' is deprecated. Use 'editorIndentGuide.activeBackground1' instead.")),editorIndentGuide1=registerColor("editorIndentGuide.background1",{dark:deprecatedEditorIndentGuides,light:deprecatedEditorIndentGuides,hcDark:deprecatedEditorIndentGuides,hcLight:deprecatedEditorIndentGuides},localize("editorIndentGuides1","Color of the editor indentation guides (1).")),editorIndentGuide2=registerColor("editorIndentGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides2","Color of the editor indentation guides (2).")),editorIndentGuide3=registerColor("editorIndentGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides3","Color of the editor indentation guides (3).")),editorIndentGuide4=registerColor("editorIndentGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides4","Color of the editor indentation guides (4).")),editorIndentGuide5=registerColor("editorIndentGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides5","Color of the editor indentation guides (5).")),editorIndentGuide6=registerColor("editorIndentGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorIndentGuides6","Color of the editor indentation guides (6).")),editorActiveIndentGuide1=registerColor("editorIndentGuide.activeBackground1",{dark:deprecatedEditorActiveIndentGuides,light:deprecatedEditorActiveIndentGuides,hcDark:deprecatedEditorActiveIndentGuides,hcLight:deprecatedEditorActiveIndentGuides},localize("editorActiveIndentGuide1","Color of the active editor indentation guides (1).")),editorActiveIndentGuide2=registerColor("editorIndentGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide2","Color of the active editor indentation guides (2).")),editorActiveIndentGuide3=registerColor("editorIndentGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide3","Color of the active editor indentation guides (3).")),editorActiveIndentGuide4=registerColor("editorIndentGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide4","Color of the active editor indentation guides (4).")),editorActiveIndentGuide5=registerColor("editorIndentGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide5","Color of the active editor indentation guides (5).")),editorActiveIndentGuide6=registerColor("editorIndentGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorActiveIndentGuide6","Color of the active editor indentation guides (6).")),deprecatedEditorActiveLineNumber=registerColor("editorActiveLineNumber.foreground",{dark:"#c6c6c6",light:"#0B216F",hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("editorActiveLineNumber","Color of editor active line number"),!1,localize("deprecatedEditorActiveLineNumber","Id is deprecated. Use 'editorLineNumber.activeForeground' instead."));registerColor("editorLineNumber.activeForeground",{dark:deprecatedEditorActiveLineNumber,light:deprecatedEditorActiveLineNumber,hcDark:deprecatedEditorActiveLineNumber,hcLight:deprecatedEditorActiveLineNumber},localize("editorActiveLineNumber","Color of editor active line number"));const editorDimmedLineNumber=registerColor("editorLineNumber.dimmedForeground",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorDimmedLineNumber","Color of the final editor line when editor.renderFinalNewline is set to dimmed."));registerColor("editorRuler.foreground",{dark:"#5A5A5A",light:Color$1.lightgrey,hcDark:Color$1.white,hcLight:"#292929"},localize("editorRuler","Color of the editor rulers."));registerColor("editorCodeLens.foreground",{dark:"#999999",light:"#919191",hcDark:"#999999",hcLight:"#292929"},localize("editorCodeLensForeground","Foreground color of editor CodeLens"));registerColor("editorBracketMatch.background",{dark:"#0064001a",light:"#0064001a",hcDark:"#0064001a",hcLight:"#0000"},localize("editorBracketMatchBackground","Background color behind matching brackets"));registerColor("editorBracketMatch.border",{dark:"#888",light:"#B9B9B9",hcDark:contrastBorder,hcLight:contrastBorder},localize("editorBracketMatchBorder","Color for matching brackets boxes"));const editorOverviewRulerBorder=registerColor("editorOverviewRuler.border",{dark:"#7f7f7f4d",light:"#7f7f7f4d",hcDark:"#7f7f7f4d",hcLight:"#666666"},localize("editorOverviewRulerBorder","Color of the overview ruler border.")),editorOverviewRulerBackground=registerColor("editorOverviewRuler.background",null,localize("editorOverviewRulerBackground","Background color of the editor overview ruler."));registerColor("editorGutter.background",{dark:editorBackground,light:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorGutter","Background color of the editor gutter. The gutter contains the glyph margins and the line numbers."));registerColor("editorUnnecessaryCode.border",{dark:null,light:null,hcDark:Color$1.fromHex("#fff").transparent(.8),hcLight:contrastBorder},localize("unnecessaryCodeBorder","Border color of unnecessary (unused) source code in the editor."));const editorUnnecessaryCodeOpacity=registerColor("editorUnnecessaryCode.opacity",{dark:Color$1.fromHex("#000a"),light:Color$1.fromHex("#0007"),hcDark:null,hcLight:null},localize("unnecessaryCodeOpacity","Opacity of unnecessary (unused) source code in the editor. For example, \"#000000c0\" will render the code with 75% opacity. For high contrast themes, use the 'editorUnnecessaryCode.border' theme color to underline unnecessary code instead of fading it out."));registerColor("editorGhostText.border",{dark:null,light:null,hcDark:Color$1.fromHex("#fff").transparent(.8),hcLight:Color$1.fromHex("#292929").transparent(.8)},localize("editorGhostTextBorder","Border color of ghost text in the editor."));registerColor("editorGhostText.foreground",{dark:Color$1.fromHex("#ffffff56"),light:Color$1.fromHex("#0007"),hcDark:null,hcLight:null},localize("editorGhostTextForeground","Foreground color of the ghost text in the editor."));registerColor("editorGhostText.background",{dark:null,light:null,hcDark:null,hcLight:null},localize("editorGhostTextBackground","Background color of the ghost text in the editor."));const rulerRangeDefault=new Color$1(new RGBA$1(0,122,204,.6)),overviewRulerRangeHighlight=registerColor("editorOverviewRuler.rangeHighlightForeground",{dark:rulerRangeDefault,light:rulerRangeDefault,hcDark:rulerRangeDefault,hcLight:rulerRangeDefault},localize("overviewRulerRangeHighlight","Overview ruler marker color for range highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerError=registerColor("editorOverviewRuler.errorForeground",{dark:new Color$1(new RGBA$1(255,18,18,.7)),light:new Color$1(new RGBA$1(255,18,18,.7)),hcDark:new Color$1(new RGBA$1(255,50,50,1)),hcLight:"#B5200D"},localize("overviewRuleError","Overview ruler marker color for errors.")),overviewRulerWarning=registerColor("editorOverviewRuler.warningForeground",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningBorder,hcLight:editorWarningBorder},localize("overviewRuleWarning","Overview ruler marker color for warnings.")),overviewRulerInfo=registerColor("editorOverviewRuler.infoForeground",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:editorInfoBorder,hcLight:editorInfoBorder},localize("overviewRuleInfo","Overview ruler marker color for infos.")),editorBracketHighlightingForeground1=registerColor("editorBracketHighlight.foreground1",{dark:"#FFD700",light:"#0431FAFF",hcDark:"#FFD700",hcLight:"#0431FAFF"},localize("editorBracketHighlightForeground1","Foreground color of brackets (1). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground2=registerColor("editorBracketHighlight.foreground2",{dark:"#DA70D6",light:"#319331FF",hcDark:"#DA70D6",hcLight:"#319331FF"},localize("editorBracketHighlightForeground2","Foreground color of brackets (2). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground3=registerColor("editorBracketHighlight.foreground3",{dark:"#179FFF",light:"#7B3814FF",hcDark:"#87CEFA",hcLight:"#7B3814FF"},localize("editorBracketHighlightForeground3","Foreground color of brackets (3). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground4=registerColor("editorBracketHighlight.foreground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground4","Foreground color of brackets (4). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground5=registerColor("editorBracketHighlight.foreground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground5","Foreground color of brackets (5). Requires enabling bracket pair colorization.")),editorBracketHighlightingForeground6=registerColor("editorBracketHighlight.foreground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketHighlightForeground6","Foreground color of brackets (6). Requires enabling bracket pair colorization.")),editorBracketHighlightingUnexpectedBracketForeground=registerColor("editorBracketHighlight.unexpectedBracket.foreground",{dark:new Color$1(new RGBA$1(255,18,18,.8)),light:new Color$1(new RGBA$1(255,18,18,.8)),hcDark:new Color$1(new RGBA$1(255,50,50,1)),hcLight:""},localize("editorBracketHighlightUnexpectedBracketForeground","Foreground color of unexpected brackets.")),editorBracketPairGuideBackground1=registerColor("editorBracketPairGuide.background1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background1","Background color of inactive bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground2=registerColor("editorBracketPairGuide.background2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background2","Background color of inactive bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground3=registerColor("editorBracketPairGuide.background3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background3","Background color of inactive bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground4=registerColor("editorBracketPairGuide.background4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background4","Background color of inactive bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground5=registerColor("editorBracketPairGuide.background5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background5","Background color of inactive bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideBackground6=registerColor("editorBracketPairGuide.background6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.background6","Background color of inactive bracket pair guides (6). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground1=registerColor("editorBracketPairGuide.activeBackground1",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground1","Background color of active bracket pair guides (1). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground2=registerColor("editorBracketPairGuide.activeBackground2",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground2","Background color of active bracket pair guides (2). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground3=registerColor("editorBracketPairGuide.activeBackground3",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground3","Background color of active bracket pair guides (3). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground4=registerColor("editorBracketPairGuide.activeBackground4",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground4","Background color of active bracket pair guides (4). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground5=registerColor("editorBracketPairGuide.activeBackground5",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground5","Background color of active bracket pair guides (5). Requires enabling bracket pair guides.")),editorBracketPairGuideActiveBackground6=registerColor("editorBracketPairGuide.activeBackground6",{dark:"#00000000",light:"#00000000",hcDark:"#00000000",hcLight:"#00000000"},localize("editorBracketPairGuide.activeBackground6","Background color of active bracket pair guides (6). Requires enabling bracket pair guides."));registerColor("editorUnicodeHighlight.border",{dark:editorWarningForeground,light:editorWarningForeground,hcDark:editorWarningForeground,hcLight:editorWarningForeground},localize("editorUnicodeHighlight.border","Border color used to highlight unicode characters."));registerColor("editorUnicodeHighlight.background",{dark:editorWarningBackground,light:editorWarningBackground,hcDark:editorWarningBackground,hcLight:editorWarningBackground},localize("editorUnicodeHighlight.background","Background color used to highlight unicode characters."));registerThemingParticipant((n,e)=>{const t=n.getColor(editorBackground),i=n.getColor(editorLineHighlight),r=i&&!i.isTransparent()?i:t;r&&e.addRule(".monaco-editor .inputarea.ime-input { background-color: ".concat(r,"; }"))});class LineNumbersOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e,this._readConfig(),this._lastCursorModelPosition=new Position$1(1,1),this._renderResult=null,this._activeLineNumber=1,this._context.addEventHandler(this)}_readConfig(){const e=this._context.configuration.options;this._lineHeight=e.get(67);const t=e.get(68);this._renderLineNumbers=t.renderType,this._renderCustomLineNumbers=t.renderFn,this._renderFinalNewline=e.get(95);const i=e.get(145);this._lineNumbersLeft=i.lineNumbersLeft,this._lineNumbersWidth=i.lineNumbersWidth}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return this._readConfig(),!0}onCursorStateChanged(e){const t=e.selections[0].getPosition();this._lastCursorModelPosition=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(t);let i=!1;return this._activeLineNumber!==t.lineNumber&&(this._activeLineNumber=t.lineNumber,i=!0),(this._renderLineNumbers===2||this._renderLineNumbers===3)&&(i=!0),i}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onDecorationsChanged(e){return e.affectsLineNumber}_getLineRenderLineNumber(e){const t=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(e,1));if(t.column!==1)return"";const i=t.lineNumber;if(this._renderCustomLineNumbers)return this._renderCustomLineNumbers(i);if(this._renderLineNumbers===2){const r=Math.abs(this._lastCursorModelPosition.lineNumber-i);return r===0?''+i+"":String(r)}if(this._renderLineNumbers===3){if(this._lastCursorModelPosition.lineNumber===i||i%10===0)return String(i);const r=this._context.viewModel.getLineCount();return i===r?String(i):""}return String(i)}prepareRender(e){if(this._renderLineNumbers===0){this._renderResult=null;return}const t=isLinux?this._lineHeight%2===0?" lh-even":" lh-odd":"",i=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber,g=this._context.viewModel.getDecorationsInViewport(e.visibleRange).filter(V=>!!V.options.lineNumberClassName);g.sort((V,z)=>Range$2.compareRangesUsingEnds(V.range,z.range));let y=0;const k=this._context.viewModel.getLineCount(),L=[];for(let V=i;V<=r;V++){const z=V-i;let j=this._getLineRenderLineNumber(V),ie="";for(;y').concat(j,"")}this._renderResult=L}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}LineNumbersOverlay.CLASS_NAME="line-numbers";registerThemingParticipant((n,e)=>{const t=n.getColor(editorLineNumbers),i=n.getColor(editorDimmedLineNumber);i?e.addRule(".monaco-editor .line-numbers.dimmed-line-number { color: ".concat(i,"; }")):t&&e.addRule(".monaco-editor .line-numbers.dimmed-line-number { color: ".concat(t.transparent(.4),"; }"))});class Margin extends ViewPart{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,this._domNode=createFastDomNode(document.createElement("div")),this._domNode.setClassName(Margin.OUTER_CLASS_NAME),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._glyphMarginBackgroundDomNode=createFastDomNode(document.createElement("div")),this._glyphMarginBackgroundDomNode.setClassName(Margin.CLASS_NAME),this._domNode.appendChild(this._glyphMarginBackgroundDomNode)}dispose(){super.dispose()}getDomNode(){return this._domNode}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._canUseLayerHinting=!t.get(32),this._contentLeft=i.contentLeft,this._glyphMarginLeft=i.glyphMarginLeft,this._glyphMarginWidth=i.glyphMarginWidth,!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollTopChanged}prepareRender(e){}render(e){this._domNode.setLayerHinting(this._canUseLayerHinting),this._domNode.setContain("strict");const t=e.scrollTop-e.bigNumbersDelta;this._domNode.setTop(-t);const i=Math.min(e.scrollHeight,1e6);this._domNode.setHeight(i),this._domNode.setWidth(this._contentLeft),this._glyphMarginBackgroundDomNode.setLeft(this._glyphMarginLeft),this._glyphMarginBackgroundDomNode.setWidth(this._glyphMarginWidth),this._glyphMarginBackgroundDomNode.setHeight(i)}}Margin.CLASS_NAME="glyph-margin";Margin.OUTER_CLASS_NAME="margin";const MOUSE_CURSOR_TEXT_CSS_CLASS_NAME="monaco-mouse-cursor-text";class IMEImpl{constructor(){this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._enabled=!0}get enabled(){return this._enabled}enable(){this._enabled=!0,this._onDidChange.fire()}disable(){this._enabled=!1,this._onDidChange.fire()}}const IME=new IMEImpl,IKeybindingService=createDecorator("keybindingService");var __decorate$2n=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2e=function(n,e){return function(t,i){e(t,i,n)}};class VisibleTextAreaData{constructor(e,t,i,r,g){this._context=e,this.modelLineNumber=t,this.distanceToModelLineStart=i,this.widthOfHiddenLineTextBefore=r,this.distanceToModelLineEnd=g,this._visibleTextAreaBrand=void 0,this.startPosition=null,this.endPosition=null,this.visibleTextareaStart=null,this.visibleTextareaEnd=null,this._previousPresentation=null}prepareRender(e){const t=new Position$1(this.modelLineNumber,this.distanceToModelLineStart+1),i=new Position$1(this.modelLineNumber,this._context.viewModel.model.getLineMaxColumn(this.modelLineNumber)-this.distanceToModelLineEnd);this.startPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t),this.endPosition=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i),this.startPosition.lineNumber===this.endPosition.lineNumber?(this.visibleTextareaStart=e.visibleRangeForPosition(this.startPosition),this.visibleTextareaEnd=e.visibleRangeForPosition(this.endPosition)):(this.visibleTextareaStart=null,this.visibleTextareaEnd=null)}definePresentation(e){return this._previousPresentation||(e?this._previousPresentation=e:this._previousPresentation={foreground:1,italic:!1,bold:!1,underline:!1,strikethrough:!1}),this._previousPresentation}}const canUseZeroSizeTextarea=isFirefox$1;let TextAreaHandler=class extends ViewPart{constructor(e,t,i,r,g){super(e),this._keybindingService=r,this._instantiationService=g,this._primaryCursorPosition=new Position$1(1,1),this._primaryCursorVisibleRange=null,this._viewController=t,this._visibleRangeProvider=i,this._scrollLeft=0,this._scrollTop=0;const y=this._context.configuration.options,k=y.get(145);this._setAccessibilityOptions(y),this._contentLeft=k.contentLeft,this._contentWidth=k.contentWidth,this._contentHeight=k.height,this._fontInfo=y.get(50),this._lineHeight=y.get(67),this._emptySelectionClipboard=y.get(37),this._copyWithSyntaxHighlighting=y.get(25),this._visibleTextArea=null,this._selections=[new Selection$1(1,1,1,1)],this._modelSelections=[new Selection$1(1,1,1,1)],this._lastRenderPosition=null,this.textArea=createFastDomNode(document.createElement("textarea")),PartFingerprints.write(this.textArea,7),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:L}=this._context.viewModel.model.getOptions();this.textArea.domNode.style.tabSize="".concat(L*this._fontInfo.spaceWidth,"px"),this.textArea.setAttribute("autocorrect","off"),this.textArea.setAttribute("autocapitalize","off"),this.textArea.setAttribute("autocomplete","off"),this.textArea.setAttribute("spellcheck","false"),this.textArea.setAttribute("aria-label",this._getAriaLabel(y)),this.textArea.setAttribute("aria-required",y.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(y.get(124))),this.textArea.setAttribute("role","textbox"),this.textArea.setAttribute("aria-roledescription",localize("editor","editor")),this.textArea.setAttribute("aria-multiline","true"),this.textArea.setAttribute("aria-autocomplete",y.get(91)?"none":"both"),this._ensureReadOnlyAttribute(),this.textAreaCover=createFastDomNode(document.createElement("div")),this.textAreaCover.setPosition("absolute");const V={getLineCount:()=>this._context.viewModel.getLineCount(),getLineMaxColumn:ie=>this._context.viewModel.getLineMaxColumn(ie),getValueInRange:(ie,oe)=>this._context.viewModel.getValueInRange(ie,oe),getValueLengthInRange:(ie,oe)=>this._context.viewModel.getValueLengthInRange(ie,oe),modifyPosition:(ie,oe)=>this._context.viewModel.modifyPosition(ie,oe)},z={getDataToCopy:()=>{const ie=this._context.viewModel.getPlainTextToCopy(this._modelSelections,this._emptySelectionClipboard,isWindows),oe=this._context.viewModel.model.getEOL(),re=this._emptySelectionClipboard&&this._modelSelections.length===1&&this._modelSelections[0].isEmpty(),ae=Array.isArray(ie)?ie:null,le=Array.isArray(ie)?ie.join(oe):ie;let de,ue=null;if(CopyOptions.forceCopyWithSyntaxHighlighting||this._copyWithSyntaxHighlighting&&le.length<65536){const he=this._context.viewModel.getRichTextToCopy(this._modelSelections,this._emptySelectionClipboard);he&&(de=he.html,ue=he.mode)}return{isFromEmptySelection:re,multicursorText:ae,text:le,html:de,mode:ue}},getScreenReaderContent:()=>{if(this._accessibilitySupport===1){const ie=this._selections[0];if(isMacintosh&&ie.isEmpty()){const re=ie.getStartPosition();let ae=this._getWordBeforePosition(re);if(ae.length===0&&(ae=this._getCharacterBeforePosition(re)),ae.length>0)return new TextAreaState(ae,ae.length,ae.length,Range$2.fromPositions(re),0)}if(isMacintosh&&!ie.isEmpty()&&V.getValueLengthInRange(ie,0)<500){const re=V.getValueInRange(ie,0);return new TextAreaState(re,0,re.length,ie,0)}if(isSafari&&!ie.isEmpty()){const re="vscode-placeholder";return new TextAreaState(re,0,re.length,null,void 0)}return TextAreaState.EMPTY}if(isAndroid){const ie=this._selections[0];if(ie.isEmpty()){const oe=ie.getStartPosition(),[re,ae]=this._getAndroidWordAtPosition(oe);if(re.length>0)return new TextAreaState(re,ae,ae,Range$2.fromPositions(oe),0)}return TextAreaState.EMPTY}return PagedScreenReaderStrategy.fromEditorSelection(V,this._selections[0],this._accessibilityPageSize,this._accessibilitySupport===0)},deduceModelPosition:(ie,oe,re)=>this._context.viewModel.deduceModelPositionRelativeToViewPosition(ie,oe,re)},j=this._register(new TextAreaWrapper(this.textArea.domNode));this._textAreaInput=this._register(this._instantiationService.createInstance(TextAreaInput,z,j,OS,{isAndroid,isChrome,isFirefox:isFirefox$1,isSafari})),this._register(this._textAreaInput.onKeyDown(ie=>{this._viewController.emitKeyDown(ie)})),this._register(this._textAreaInput.onKeyUp(ie=>{this._viewController.emitKeyUp(ie)})),this._register(this._textAreaInput.onPaste(ie=>{let oe=!1,re=null,ae=null;ie.metadata&&(oe=this._emptySelectionClipboard&&!!ie.metadata.isFromEmptySelection,re=typeof ie.metadata.multicursorText<"u"?ie.metadata.multicursorText:null,ae=ie.metadata.mode),this._viewController.paste(ie.text,oe,re,ae)})),this._register(this._textAreaInput.onCut(()=>{this._viewController.cut()})),this._register(this._textAreaInput.onType(ie=>{ie.replacePrevCharCnt||ie.replaceNextCharCnt||ie.positionDelta?this._viewController.compositionType(ie.text,ie.replacePrevCharCnt,ie.replaceNextCharCnt,ie.positionDelta):this._viewController.type(ie.text)})),this._register(this._textAreaInput.onSelectionChangeRequest(ie=>{this._viewController.setSelection(ie)})),this._register(this._textAreaInput.onCompositionStart(ie=>{const oe=this.textArea.domNode,re=this._modelSelections[0],{distanceToModelLineStart:ae,widthOfHiddenTextBefore:le}=(()=>{const ue=oe.value.substring(0,Math.min(oe.selectionStart,oe.selectionEnd)),he=ue.lastIndexOf("\n"),pe=ue.substring(he+1),Ce=pe.lastIndexOf(" "),$e=pe.length-Ce-1,xe=re.getStartPosition(),Ie=Math.min(xe.column-1,$e),Ne=xe.column-1-Ie,Fe=pe.substring(0,pe.length-Ie),{tabSize:Ve}=this._context.viewModel.model.getOptions(),Oe=measureText(this.textArea.domNode.ownerDocument,Fe,this._fontInfo,Ve);return{distanceToModelLineStart:Ne,widthOfHiddenTextBefore:Oe}})(),{distanceToModelLineEnd:de}=(()=>{const ue=oe.value.substring(Math.max(oe.selectionStart,oe.selectionEnd)),he=ue.indexOf("\n"),pe=he===-1?ue:ue.substring(0,he),Ce=pe.indexOf(" "),$e=Ce===-1?pe.length:pe.length-Ce-1,xe=re.getEndPosition(),Ie=Math.min(this._context.viewModel.model.getLineMaxColumn(xe.lineNumber)-xe.column,$e);return{distanceToModelLineEnd:this._context.viewModel.model.getLineMaxColumn(xe.lineNumber)-xe.column-Ie}})();this._context.viewModel.revealRange("keyboard",!0,Range$2.fromPositions(this._selections[0].getStartPosition()),0,1),this._visibleTextArea=new VisibleTextAreaData(this._context,re.startLineNumber,ae,le,de),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render(),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME," ime-input")),this._viewController.compositionStart(),this._context.viewModel.onCompositionStart()})),this._register(this._textAreaInput.onCompositionUpdate(ie=>{this._visibleTextArea&&(this._visibleTextArea.prepareRender(this._visibleRangeProvider),this._render())})),this._register(this._textAreaInput.onCompositionEnd(()=>{this._visibleTextArea=null,this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off"),this._render(),this.textArea.setClassName("inputarea ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)),this._viewController.compositionEnd(),this._context.viewModel.onCompositionEnd()})),this._register(this._textAreaInput.onFocus(()=>{this._context.viewModel.setHasFocus(!0)})),this._register(this._textAreaInput.onBlur(()=>{this._context.viewModel.setHasFocus(!1)})),this._register(IME.onDidChange(()=>{this._ensureReadOnlyAttribute()}))}writeScreenReaderContent(e){this._textAreaInput.writeNativeTextAreaContent(e)}dispose(){super.dispose()}_getAndroidWordAtPosition(e){const t='`~!@#$%^&*()-=+[{]}\\|;:",.<>/?',i=this._context.viewModel.getLineContent(e.lineNumber),r=getMapForWordSeparators(t,[]);let g=!0,y=e.column,k=!0,L=e.column,V=0;for(;V<50&&(g||k);){if(g&&y<=1&&(g=!1),g){const z=i.charCodeAt(y-2);r.get(z)!==0?g=!1:y--}if(k&&L>i.length&&(k=!1),k){const z=i.charCodeAt(L-1);r.get(z)!==0?k=!1:L++}V++}return[i.substring(y-1,L-1),e.column-y]}_getWordBeforePosition(e){const t=this._context.viewModel.getLineContent(e.lineNumber),i=getMapForWordSeparators(this._context.configuration.options.get(131),[]);let r=e.column,g=0;for(;r>1;){const y=t.charCodeAt(r-2);if(i.get(y)!==0||g>50)return t.substring(r-1,e.column-1);g++,r--}return t.substring(0,e.column-1)}_getCharacterBeforePosition(e){if(e.column>1){const i=this._context.viewModel.getLineContent(e.lineNumber).charAt(e.column-2);if(!isHighSurrogate(i.charCodeAt(0)))return i}return""}_getAriaLabel(e){var t,i,r;if(e.get(2)===1){const y=(t=this._keybindingService.lookupKeybinding("editor.action.toggleScreenReaderAccessibilityMode"))===null||t===void 0?void 0:t.getAriaLabel(),k=(i=this._keybindingService.lookupKeybinding("workbench.action.showCommands"))===null||i===void 0?void 0:i.getAriaLabel(),L=(r=this._keybindingService.lookupKeybinding("workbench.action.openGlobalKeybindings"))===null||r===void 0?void 0:r.getAriaLabel(),V=localize("accessibilityModeOff","The editor is not accessible at this time.");return y?localize("accessibilityOffAriaLabel","{0} To enable screen reader optimized mode, use {1}",V,y):k?localize("accessibilityOffAriaLabelNoKb","{0} To enable screen reader optimized mode, open the quick pick with {1} and run the command Toggle Screen Reader Accessibility Mode, which is currently not triggerable via keyboard.",V,k):L?localize("accessibilityOffAriaLabelNoKbs","{0} Please assign a keybinding for the command Toggle Screen Reader Accessibility Mode by accessing the keybindings editor with {1} and run it.",V,L):V}return e.get(4)}_setAccessibilityOptions(e){this._accessibilitySupport=e.get(2);const t=e.get(3);this._accessibilitySupport===2&&t===EditorOptions.accessibilityPageSize.defaultValue?this._accessibilityPageSize=500:this._accessibilityPageSize=t;const r=e.get(145).wrappingColumn;if(r!==-1&&this._accessibilitySupport!==1){const g=e.get(50);this._textAreaWrapping=!0,this._textAreaWidth=Math.round(r*g.typicalHalfwidthCharacterWidth)}else this._textAreaWrapping=!1,this._textAreaWidth=canUseZeroSizeTextarea?0:1}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);this._setAccessibilityOptions(t),this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._contentHeight=i.height,this._fontInfo=t.get(50),this._lineHeight=t.get(67),this._emptySelectionClipboard=t.get(37),this._copyWithSyntaxHighlighting=t.get(25),this.textArea.setAttribute("wrap",this._textAreaWrapping&&!this._visibleTextArea?"on":"off");const{tabSize:r}=this._context.viewModel.model.getOptions();return this.textArea.domNode.style.tabSize="".concat(r*this._fontInfo.spaceWidth,"px"),this.textArea.setAttribute("aria-label",this._getAriaLabel(t)),this.textArea.setAttribute("aria-required",t.get(5)?"true":"false"),this.textArea.setAttribute("tabindex",String(t.get(124))),(e.hasChanged(34)||e.hasChanged(91))&&this._ensureReadOnlyAttribute(),e.hasChanged(2)&&this._textAreaInput.writeNativeTextAreaContent("strategy changed"),!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),this._modelSelections=e.modelSelections.slice(0),this._textAreaInput.writeNativeTextAreaContent("selection changed"),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return this._scrollLeft=e.scrollLeft,this._scrollTop=e.scrollTop,!0}onZonesChanged(e){return!0}isFocused(){return this._textAreaInput.isFocused()}focusTextArea(){this._textAreaInput.focusTextArea()}getLastRenderData(){return this._lastRenderPosition}setAriaOptions(e){e.activeDescendant?(this.textArea.setAttribute("aria-haspopup","true"),this.textArea.setAttribute("aria-autocomplete","list"),this.textArea.setAttribute("aria-activedescendant",e.activeDescendant)):(this.textArea.setAttribute("aria-haspopup","false"),this.textArea.setAttribute("aria-autocomplete","both"),this.textArea.removeAttribute("aria-activedescendant")),e.role&&this.textArea.setAttribute("role",e.role)}_ensureReadOnlyAttribute(){const e=this._context.configuration.options;!IME.enabled||e.get(34)&&e.get(91)?this.textArea.setAttribute("readonly","true"):this.textArea.removeAttribute("readonly")}prepareRender(e){var t;this._primaryCursorPosition=new Position$1(this._selections[0].positionLineNumber,this._selections[0].positionColumn),this._primaryCursorVisibleRange=e.visibleRangeForPosition(this._primaryCursorPosition),(t=this._visibleTextArea)===null||t===void 0||t.prepareRender(e)}render(e){this._textAreaInput.writeNativeTextAreaContent("render"),this._render()}_render(){var e;if(this._visibleTextArea){const r=this._visibleTextArea.visibleTextareaStart,g=this._visibleTextArea.visibleTextareaEnd,y=this._visibleTextArea.startPosition,k=this._visibleTextArea.endPosition;if(y&&k&&r&&g&&g.left>=this._scrollLeft&&r.left<=this._scrollLeft+this._contentWidth){const L=this._context.viewLayout.getVerticalOffsetForLineNumber(this._primaryCursorPosition.lineNumber)-this._scrollTop,V=this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));let z=this._visibleTextArea.widthOfHiddenLineTextBefore,j=this._contentLeft+r.left-this._scrollLeft,ie=g.left-r.left+1;if(jthis._contentWidth&&(ie=this._contentWidth);const oe=this._context.viewModel.getViewLineData(y.lineNumber),re=oe.tokens.findTokenIndexAtOffset(y.column-1),ae=oe.tokens.findTokenIndexAtOffset(k.column-1),le=re===ae,de=this._visibleTextArea.definePresentation(le?oe.tokens.getPresentation(re):null);this.textArea.domNode.scrollTop=V*this._lineHeight,this.textArea.domNode.scrollLeft=z,this._doRender({lastRenderPosition:null,top:L,left:j,width:ie,height:this._lineHeight,useCover:!1,color:(TokenizationRegistry.getColorMap()||[])[de.foreground],italic:de.italic,bold:de.bold,underline:de.underline,strikethrough:de.strikethrough})}return}if(!this._primaryCursorVisibleRange){this._renderAtTopLeft();return}const t=this._contentLeft+this._primaryCursorVisibleRange.left-this._scrollLeft;if(tthis._contentLeft+this._contentWidth){this._renderAtTopLeft();return}const i=this._context.viewLayout.getVerticalOffsetForLineNumber(this._selections[0].positionLineNumber)-this._scrollTop;if(i<0||i>this._contentHeight){this._renderAtTopLeft();return}if(isMacintosh||this._accessibilitySupport===2){this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:this._lineHeight,useCover:!1}),this.textArea.domNode.scrollLeft=this._primaryCursorVisibleRange.left;const r=(e=this._textAreaInput.textAreaState.newlineCountBeforeSelection)!==null&&e!==void 0?e:this._newlinecount(this.textArea.domNode.value.substr(0,this.textArea.domNode.selectionStart));this.textArea.domNode.scrollTop=r*this._lineHeight;return}this._doRender({lastRenderPosition:this._primaryCursorPosition,top:i,left:this._textAreaWrapping?this._contentLeft:t,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:!1})}_newlinecount(e){let t=0,i=-1;do{if(i=e.indexOf("\n",i+1),i===-1)break;t++}while(!0);return t}_renderAtTopLeft(){this._doRender({lastRenderPosition:null,top:0,left:0,width:this._textAreaWidth,height:canUseZeroSizeTextarea?0:1,useCover:!0})}_doRender(e){this._lastRenderPosition=e.lastRenderPosition;const t=this.textArea,i=this.textAreaCover;applyFontInfo(t,this._fontInfo),t.setTop(e.top),t.setLeft(e.left),t.setWidth(e.width),t.setHeight(e.height),t.setColor(e.color?Color$1.Format.CSS.formatHex(e.color):""),t.setFontStyle(e.italic?"italic":""),e.bold&&t.setFontWeight("bold"),t.setTextDecoration("".concat(e.underline?" underline":"").concat(e.strikethrough?" line-through":"")),i.setTop(e.useCover?e.top:0),i.setLeft(e.useCover?e.left:0),i.setWidth(e.useCover?e.width:0),i.setHeight(e.useCover?e.height:0);const r=this._context.configuration.options;r.get(57)?i.setClassName("monaco-editor-background textAreaCover "+Margin.OUTER_CLASS_NAME):r.get(68).renderType!==0?i.setClassName("monaco-editor-background textAreaCover "+LineNumbersOverlay.CLASS_NAME):i.setClassName("monaco-editor-background textAreaCover")}};TextAreaHandler=__decorate$2n([__param$2e(3,IKeybindingService),__param$2e(4,IInstantiationService)],TextAreaHandler);function measureText(n,e,t,i){if(e.length===0)return 0;const r=n.createElement("div");r.style.position="absolute",r.style.top="-50000px",r.style.width="50000px";const g=n.createElement("span");applyFontInfo(g,t),g.style.whiteSpace="pre",g.style.tabSize="".concat(i*t.spaceWidth,"px"),g.append(e),r.appendChild(g),n.body.appendChild(r);const y=g.offsetWidth;return n.body.removeChild(r),y}function _normalizeIndentationFromWhitespace(n,e,t){let i=0;for(let g=0;g!0,autoCloseNever=()=>!1,autoCloseBeforeWhitespace=n=>n===" "||n===" ";class CursorConfiguration{static shouldRecreate(e){return e.hasChanged(145)||e.hasChanged(131)||e.hasChanged(37)||e.hasChanged(77)||e.hasChanged(79)||e.hasChanged(80)||e.hasChanged(6)||e.hasChanged(7)||e.hasChanged(11)||e.hasChanged(9)||e.hasChanged(10)||e.hasChanged(14)||e.hasChanged(128)||e.hasChanged(50)||e.hasChanged(91)||e.hasChanged(130)}constructor(e,t,i,r){var g;this.languageConfigurationService=r,this._cursorMoveConfigurationBrand=void 0,this._languageId=e;const y=i.options,k=y.get(145),L=y.get(50);this.readOnly=y.get(91),this.tabSize=t.tabSize,this.indentSize=t.indentSize,this.insertSpaces=t.insertSpaces,this.stickyTabStops=y.get(116),this.lineHeight=L.lineHeight,this.typicalHalfwidthCharacterWidth=L.typicalHalfwidthCharacterWidth,this.pageSize=Math.max(1,Math.floor(k.height/this.lineHeight)-2),this.useTabStops=y.get(128),this.wordSeparators=y.get(131),this.emptySelectionClipboard=y.get(37),this.copyWithSyntaxHighlighting=y.get(25),this.multiCursorMergeOverlapping=y.get(77),this.multiCursorPaste=y.get(79),this.multiCursorLimit=y.get(80),this.autoClosingBrackets=y.get(6),this.autoClosingComments=y.get(7),this.autoClosingQuotes=y.get(11),this.autoClosingDelete=y.get(9),this.autoClosingOvertype=y.get(10),this.autoSurround=y.get(14),this.autoIndent=y.get(12),this.wordSegmenterLocales=y.get(130),this.surroundingPairs={},this._electricChars=null,this.shouldAutoCloseBefore={quote:this._getShouldAutoClose(e,this.autoClosingQuotes,!0),comment:this._getShouldAutoClose(e,this.autoClosingComments,!1),bracket:this._getShouldAutoClose(e,this.autoClosingBrackets,!1)},this.autoClosingPairs=this.languageConfigurationService.getLanguageConfiguration(e).getAutoClosingPairs();const V=this.languageConfigurationService.getLanguageConfiguration(e).getSurroundingPairs();if(V)for(const j of V)this.surroundingPairs[j.open]=j.close;const z=this.languageConfigurationService.getLanguageConfiguration(e).comments;this.blockCommentStartToken=(g=z==null?void 0:z.blockCommentStartToken)!==null&&g!==void 0?g:null}get electricChars(){var e;if(!this._electricChars){this._electricChars={};const t=(e=this.languageConfigurationService.getLanguageConfiguration(this._languageId).electricCharacter)===null||e===void 0?void 0:e.getElectricCharacters();if(t)for(const i of t)this._electricChars[i]=!0}return this._electricChars}onElectricCharacter(e,t,i){const r=createScopedLineTokens(t,i-1),g=this.languageConfigurationService.getLanguageConfiguration(r.languageId).electricCharacter;return g?g.onElectricCharacter(e,r,i-r.firstCharOffset):null}normalizeIndentation(e){return normalizeIndentation(e,this.indentSize,this.insertSpaces)}_getShouldAutoClose(e,t,i){switch(t){case"beforeWhitespace":return autoCloseBeforeWhitespace;case"languageDefined":return this._getLanguageDefinedShouldAutoClose(e,i);case"always":return autoCloseAlways;case"never":return autoCloseNever}}_getLanguageDefinedShouldAutoClose(e,t){const i=this.languageConfigurationService.getLanguageConfiguration(e).getAutoCloseBeforeSet(t);return r=>i.indexOf(r)!==-1}visibleColumnFromColumn(e,t){return CursorColumns.visibleColumnFromColumn(e.getLineContent(t.lineNumber),t.column,this.tabSize)}columnFromVisibleColumn(e,t,i){const r=CursorColumns.columnFromVisibleColumn(e.getLineContent(t),i,this.tabSize),g=e.getLineMinColumn(t);if(ry?y:r}}let CursorState$1=class Gh{static fromModelState(e){return new PartialModelCursorState(e)}static fromViewState(e){return new PartialViewCursorState(e)}static fromModelSelection(e){const t=Selection$1.liftSelection(e),i=new SingleCursorState(Range$2.fromPositions(t.getSelectionStart()),0,0,t.getPosition(),0);return Gh.fromModelState(i)}static fromModelSelections(e){const t=[];for(let i=0,r=e.length;ig,V=r>y,z=ry||der||le0&&r--,ColumnSelection.columnSelect(e,t,i.fromViewLineNumber,i.fromViewVisualColumn,i.toViewLineNumber,r)}static columnSelectRight(e,t,i){let r=0;const g=Math.min(i.fromViewLineNumber,i.toViewLineNumber),y=Math.max(i.fromViewLineNumber,i.toViewLineNumber);for(let L=g;L<=y;L++){const V=t.getLineMaxColumn(L),z=e.visibleColumnFromColumn(t,new Position$1(L,V));r=Math.max(r,z)}let k=i.toViewVisualColumn;return ke.getLineMinColumn(t.lineNumber))return t.delta(void 0,-prevCharLength(e.getLineContent(t.lineNumber),t.column-1));if(t.lineNumber>1){const i=t.lineNumber-1;return new Position$1(i,e.getLineMaxColumn(i))}else return t}static leftPositionAtomicSoftTabs(e,t,i){if(t.column<=e.getLineIndentColumn(t.lineNumber)){const r=e.getLineMinColumn(t.lineNumber),g=e.getLineContent(t.lineNumber),y=AtomicTabMoveOperations.atomicPosition(g,t.column-1,i,0);if(y!==-1&&y+1>=r)return new Position$1(t.lineNumber,y+1)}return this.leftPosition(e,t)}static left(e,t,i){const r=e.stickyTabStops?MoveOperations.leftPositionAtomicSoftTabs(t,i,e.tabSize):MoveOperations.leftPosition(t,i);return new CursorPosition(r.lineNumber,r.column,0)}static moveLeft(e,t,i,r,g){let y,k;if(i.hasSelection()&&!r)y=i.selection.startLineNumber,k=i.selection.startColumn;else{const L=i.position.delta(void 0,-(g-1)),V=t.normalizePosition(MoveOperations.clipPositionColumn(L,t),0),z=MoveOperations.left(e,t,V);y=z.lineNumber,k=z.column}return i.move(r,y,k,0)}static clipPositionColumn(e,t){return new Position$1(e.lineNumber,MoveOperations.clipRange(e.column,t.getLineMinColumn(e.lineNumber),t.getLineMaxColumn(e.lineNumber)))}static clipRange(e,t,i){return ei?i:e}static rightPosition(e,t,i){return iz?(i=z,k?r=t.getLineMaxColumn(i):r=Math.min(t.getLineMaxColumn(i),r)):r=e.columnFromVisibleColumn(t,i,V),oe?g=0:g=V-CursorColumns.visibleColumnFromColumn(t.getLineContent(i),r,e.tabSize),L!==void 0){const re=new Position$1(i,r),ae=t.normalizePosition(re,L);g=g+(r-ae.column),i=ae.lineNumber,r=ae.column}return new CursorPosition(i,r,g)}static down(e,t,i,r,g,y,k){return this.vertical(e,t,i,r,g,i+y,k,4)}static moveDown(e,t,i,r,g){let y,k;i.hasSelection()&&!r?(y=i.selection.endLineNumber,k=i.selection.endColumn):(y=i.position.lineNumber,k=i.position.column);let L=0,V;do if(V=MoveOperations.down(e,t,y+L,k,i.leftoverVisibleColumns,g,!0),t.normalizePosition(new Position$1(V.lineNumber,V.column),2).lineNumber>y)break;while(L++<10&&y+L1&&this._isBlankLine(t,g);)g--;for(;g>1&&!this._isBlankLine(t,g);)g--;return i.move(r,g,t.getLineMinColumn(g),0)}static moveToNextBlankLine(e,t,i,r){const g=t.getLineCount();let y=i.position.lineNumber;for(;y=ie.length+1)return!1;const oe=ie.charAt(j.column-2),re=r.get(oe);if(!re)return!1;if(isQuote(oe)){if(i==="never")return!1}else if(t==="never")return!1;const ae=ie.charAt(j.column-1);let le=!1;for(const de of re)de.open===oe&&de.close===ae&&(le=!0);if(!le)return!1;if(e==="auto"){let de=!1;for(let ue=0,he=k.length;ue1){const g=t.getLineContent(r.lineNumber),y=firstNonWhitespaceIndex(g),k=y===-1?g.length+1:y+1;if(r.column<=k){const L=i.visibleColumnFromColumn(t,r),V=CursorColumns.prevIndentTabStop(L,i.indentSize),z=i.columnFromVisibleColumn(t,r.lineNumber,V);return new Range$2(r.lineNumber,z,r.lineNumber,r.column)}}return Range$2.fromPositions(DeleteOperations.getPositionAfterDeleteLeft(r,t),r)}static getPositionAfterDeleteLeft(e,t){if(e.column>1){const i=getLeftDeleteOffset(e.column-1,t.getLineContent(e.lineNumber));return e.with(void 0,i+1)}else if(e.lineNumber>1){const i=e.lineNumber-1;return new Position$1(i,t.getLineMaxColumn(i))}else return e}static cut(e,t,i){const r=[];let g=null;i.sort((y,k)=>Position$1.compare(y.getStartPosition(),k.getEndPosition()));for(let y=0,k=i.length;y1&&(g==null?void 0:g.endLineNumber)!==V.lineNumber?(z=V.lineNumber-1,j=t.getLineMaxColumn(V.lineNumber-1),ie=V.lineNumber,oe=t.getLineMaxColumn(V.lineNumber)):(z=V.lineNumber,j=1,ie=V.lineNumber,oe=t.getLineMaxColumn(V.lineNumber));const re=new Range$2(z,j,ie,oe);g=re,re.isEmpty()?r[y]=null:r[y]=new ReplaceCommand(re,"")}else r[y]=null;else r[y]=new ReplaceCommand(L,"")}return new EditOperationResult(0,r,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!0})}}class WordOperations{static _createWord(e,t,i,r,g){return{start:r,end:g,wordType:t,nextCharClass:i}}static _createIntlWord(e,t){return{start:e.index,end:e.index+e.segment.length,wordType:1,nextCharClass:t}}static _findPreviousWordOnLine(e,t,i){const r=t.getLineContent(i.lineNumber);return this._doFindPreviousWordOnLine(r,e,i)}static _doFindPreviousWordOnLine(e,t,i){let r=0;const g=t.findPrevIntlWordBeforeOrAtOffset(e,i.column-2);for(let y=i.column-2;y>=0;y--){const k=e.charCodeAt(y),L=t.get(k);if(g&&y===g.index)return this._createIntlWord(g,L);if(L===0){if(r===2)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1));r=1}else if(L===2){if(r===1)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1));r=2}else if(L===1&&r!==0)return this._createWord(e,r,L,y+1,this._findEndOfWord(e,t,r,y+1))}return r!==0?this._createWord(e,r,1,0,this._findEndOfWord(e,t,r,0)):null}static _findEndOfWord(e,t,i,r){const g=t.findNextIntlWordAtOrAfterOffset(e,r),y=e.length;for(let k=r;k=0;y--){const k=e.charCodeAt(y),L=t.get(k);if(g&&y===g.index)return y;if(L===1||i===1&&L===2||i===2&&L===0)return y+1}return 0}static moveWordLeft(e,t,i,r){let g=i.lineNumber,y=i.column;y===1&&g>1&&(g=g-1,y=t.getLineMaxColumn(g));let k=WordOperations._findPreviousWordOnLine(e,t,new Position$1(g,y));if(r===0)return new Position$1(g,k?k.start+1:1);if(r===1)return k&&k.wordType===2&&k.end-k.start===1&&k.nextCharClass===0&&(k=WordOperations._findPreviousWordOnLine(e,t,new Position$1(g,k.start+1))),new Position$1(g,k?k.start+1:1);if(r===3){for(;k&&k.wordType===2;)k=WordOperations._findPreviousWordOnLine(e,t,new Position$1(g,k.start+1));return new Position$1(g,k?k.start+1:1)}return k&&y<=k.end+1&&(k=WordOperations._findPreviousWordOnLine(e,t,new Position$1(g,k.start+1))),new Position$1(g,k?k.end+1:1)}static _moveWordPartLeft(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===1)return i>1?new Position$1(i-1,e.getLineMaxColumn(i-1)):t;const g=e.getLineContent(i);for(let y=t.column-1;y>1;y--){const k=g.charCodeAt(y-2),L=g.charCodeAt(y-1);if(k===95&&L!==95)return new Position$1(i,y);if(k===45&&L!==45)return new Position$1(i,y);if((isLowerAsciiLetter(k)||isAsciiDigit(k))&&isUpperAsciiLetter(L))return new Position$1(i,y);if(isUpperAsciiLetter(k)&&isUpperAsciiLetter(L)&&y+1=L.start+1&&(L=WordOperations._findNextWordOnLine(e,t,new Position$1(g,L.end+1))),L?y=L.start+1:y=t.getLineMaxColumn(g);return new Position$1(g,y)}static _moveWordPartRight(e,t){const i=t.lineNumber,r=e.getLineMaxColumn(i);if(t.column===r)return i1?V=1:(L--,V=r.getLineMaxColumn(L)):(z&&V<=z.end+1&&(z=WordOperations._findPreviousWordOnLine(i,r,new Position$1(L,z.start+1))),z?V=z.end+1:V>1?V=1:(L--,V=r.getLineMaxColumn(L))),new Range$2(L,V,k.lineNumber,k.column)}static deleteInsideWord(e,t,i){if(!i.isEmpty())return i;const r=new Position$1(i.positionLineNumber,i.positionColumn),g=this._deleteInsideWordWhitespace(t,r);return g||this._deleteInsideWordDetermineDeleteRange(e,t,r)}static _charAtIsWhitespace(e,t){const i=e.charCodeAt(t);return i===32||i===9}static _deleteInsideWordWhitespace(e,t){const i=e.getLineContent(t.lineNumber),r=i.length;if(r===0)return null;let g=Math.max(t.column-2,0);if(!this._charAtIsWhitespace(i,g))return null;let y=Math.min(t.column-1,r-1);if(!this._charAtIsWhitespace(i,y))return null;for(;g>0&&this._charAtIsWhitespace(i,g-1);)g--;for(;y+11?new Range$2(i.lineNumber-1,t.getLineMaxColumn(i.lineNumber-1),i.lineNumber,1):i.lineNumberj.start+1<=i.column&&i.column<=j.end+1,k=(j,ie)=>(j=Math.min(j,i.column),ie=Math.max(ie,i.column),new Range$2(i.lineNumber,j,i.lineNumber,ie)),L=j=>{let ie=j.start+1,oe=j.end+1,re=!1;for(;oe-11&&this._charAtIsWhitespace(r,ie-2);)ie--;return k(ie,oe)},V=WordOperations._findPreviousWordOnLine(e,t,i);if(V&&y(V))return L(V);const z=WordOperations._findNextWordOnLine(e,t,i);return z&&y(z)?L(z):V&&z?k(V.end+1,z.start+1):V?k(V.start+1,V.end+1):z?k(z.start+1,z.end+1):k(1,g+1)}static _deleteWordPartLeft(e,t){if(!t.isEmpty())return t;const i=t.getPosition(),r=WordOperations._moveWordPartLeft(e,i);return new Range$2(i.lineNumber,i.column,r.lineNumber,r.column)}static _findFirstNonWhitespaceChar(e,t){const i=e.length;for(let r=t;r=ie.start+1&&(ie=WordOperations._findNextWordOnLine(i,r,new Position$1(L,ie.end+1))),ie?V=ie.start+1:V!!e)}class CursorMoveCommands{static addCursorDown(e,t,i){const r=[];let g=0;for(let y=0,k=t.length;yV&&(z=V,j=e.model.getLineMaxColumn(z)),CursorState$1.fromModelState(new SingleCursorState(new Range$2(y.lineNumber,1,z,j),2,0,new Position$1(z,j),0))}const L=t.modelState.selectionStart.getStartPosition().lineNumber;if(y.lineNumberL){const V=e.getLineCount();let z=k.lineNumber+1,j=1;return z>V&&(z=V,j=e.getLineMaxColumn(z)),CursorState$1.fromViewState(t.viewState.move(!0,z,j,0))}else{const V=t.modelState.selectionStart.getEndPosition();return CursorState$1.fromModelState(t.modelState.move(!0,V.lineNumber,V.column,0))}}static word(e,t,i,r){const g=e.model.validatePosition(r);return CursorState$1.fromModelState(WordOperations.word(e.cursorConfig,e.model,t.modelState,i,g))}static cancelSelection(e,t){if(!t.modelState.hasSelection())return new CursorState$1(t.modelState,t.viewState);const i=t.viewState.position.lineNumber,r=t.viewState.position.column;return CursorState$1.fromViewState(new SingleCursorState(new Range$2(i,r,i,r),0,0,new Position$1(i,r),0))}static moveTo(e,t,i,r,g){if(i){if(t.modelState.selectionStartKind===1)return this.word(e,t,i,r);if(t.modelState.selectionStartKind===2)return this.line(e,t,i,r,g)}const y=e.model.validatePosition(r),k=g?e.coordinatesConverter.validateViewPosition(new Position$1(g.lineNumber,g.column),y):e.coordinatesConverter.convertModelPositionToViewPosition(y);return CursorState$1.fromViewState(t.viewState.move(i,k.lineNumber,k.column,0))}static simpleMove(e,t,i,r,g,y){switch(i){case 0:return y===4?this._moveHalfLineLeft(e,t,r):this._moveLeft(e,t,r,g);case 1:return y===4?this._moveHalfLineRight(e,t,r):this._moveRight(e,t,r,g);case 2:return y===2?this._moveUpByViewLines(e,t,r,g):this._moveUpByModelLines(e,t,r,g);case 3:return y===2?this._moveDownByViewLines(e,t,r,g):this._moveDownByModelLines(e,t,r,g);case 4:return y===2?t.map(k=>CursorState$1.fromViewState(MoveOperations.moveToPrevBlankLine(e.cursorConfig,e,k.viewState,r))):t.map(k=>CursorState$1.fromModelState(MoveOperations.moveToPrevBlankLine(e.cursorConfig,e.model,k.modelState,r)));case 5:return y===2?t.map(k=>CursorState$1.fromViewState(MoveOperations.moveToNextBlankLine(e.cursorConfig,e,k.viewState,r))):t.map(k=>CursorState$1.fromModelState(MoveOperations.moveToNextBlankLine(e.cursorConfig,e.model,k.modelState,r)));case 6:return this._moveToViewMinColumn(e,t,r);case 7:return this._moveToViewFirstNonWhitespaceColumn(e,t,r);case 8:return this._moveToViewCenterColumn(e,t,r);case 9:return this._moveToViewMaxColumn(e,t,r);case 10:return this._moveToViewLastNonWhitespaceColumn(e,t,r);default:return null}}static viewportMove(e,t,i,r,g){const y=e.getCompletelyVisibleViewRange(),k=e.coordinatesConverter.convertViewRangeToModelRange(y);switch(i){case 11:{const L=this._firstLineNumberInRange(e.model,k,g),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 13:{const L=this._lastLineNumberInRange(e.model,k,g),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 12:{const L=Math.round((k.startLineNumber+k.endLineNumber)/2),V=e.model.getLineFirstNonWhitespaceColumn(L);return[this._moveToModelPosition(e,t[0],r,L,V)]}case 14:{const L=[];for(let V=0,z=t.length;Vi.endLineNumber-1?y=i.endLineNumber-1:gCursorState$1.fromViewState(MoveOperations.moveLeft(e.cursorConfig,e,g.viewState,i,r)))}static _moveHalfLineLeft(e,t,i){const r=[];for(let g=0,y=t.length;gCursorState$1.fromViewState(MoveOperations.moveRight(e.cursorConfig,e,g.viewState,i,r)))}static _moveHalfLineRight(e,t,i){const r=[];for(let g=0,y=t.length;g1&&r.firstCharOffset===0){const ae=getScopedLineTokens(e,t.startLineNumber-1);ae.languageId===r.languageId&&(V=ae.getLineContent())}const z=g.onEnter(n,V,k,L);if(!z)return null;const j=z.indentAction;let ie=z.appendText;const oe=z.removeText||0;ie?j===IndentAction.Indent&&(ie=" "+ie):j===IndentAction.Indent||j===IndentAction.IndentOutdent?ie=" ":ie="";let re=getIndentationAtPosition(e,t.startLineNumber,t.startColumn);return oe&&(re=re.substring(0,re.length-oe)),{indentAction:j,appendText:ie,removeText:oe,indentation:re}}var __decorate$2m=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2d=function(n,e){return function(t,i){e(t,i,n)}},ShiftCommand_1;const repeatCache=Object.create(null);function cachedStringRepeat(n,e){if(e<=0)return"";repeatCache[n]||(repeatCache[n]=["",n]);const t=repeatCache[n];for(let i=t.length;i<=e;i++)t[i]=t[i-1]+n;return t[e]}let ShiftCommand=ShiftCommand_1=class{static unshiftIndent(e,t,i,r,g){const y=CursorColumns.visibleColumnFromColumn(e,t,i);if(g){const k=cachedStringRepeat(" ",r),V=CursorColumns.prevIndentTabStop(y,r)/r;return cachedStringRepeat(k,V)}else{const k=" ",V=CursorColumns.prevRenderTabStop(y,i)/i;return cachedStringRepeat(k,V)}}static shiftIndent(e,t,i,r,g){const y=CursorColumns.visibleColumnFromColumn(e,t,i);if(g){const k=cachedStringRepeat(" ",r),V=CursorColumns.nextIndentTabStop(y,r)/r;return cachedStringRepeat(k,V)}else{const k=" ",V=CursorColumns.nextRenderTabStop(y,i)/i;return cachedStringRepeat(k,V)}}constructor(e,t,i){this._languageConfigurationService=i,this._opts=t,this._selection=e,this._selectionId=null,this._useLastEditRangeForCursorEndPosition=!1,this._selectionStartColumnStaysPut=!1}_addEditOperation(e,t,i){this._useLastEditRangeForCursorEndPosition?e.addTrackedEditOperation(t,i):e.addEditOperation(t,i)}getEditOperations(e,t){const i=this._selection.startLineNumber;let r=this._selection.endLineNumber;this._selection.endColumn===1&&i!==r&&(r=r-1);const{tabSize:g,indentSize:y,insertSpaces:k}=this._opts,L=i===r;if(this._opts.useTabStops){this._selection.isEmpty()&&/^\s*$/.test(e.getLineContent(i))&&(this._useLastEditRangeForCursorEndPosition=!0);let V=0,z=0;for(let j=i;j<=r;j++,V=z){z=0;const ie=e.getLineContent(j);let oe=firstNonWhitespaceIndex(ie);if(this._opts.isUnshift&&(ie.length===0||oe===0)||!L&&!this._opts.isUnshift&&ie.length===0)continue;if(oe===-1&&(oe=ie.length),j>1&&CursorColumns.visibleColumnFromColumn(ie,oe+1,g)%y!==0&&e.tokenization.isCheapToTokenize(j-1)){const le=getEnterAction(this._opts.autoIndent,e,new Range$2(j-1,e.getLineMaxColumn(j-1),j-1,e.getLineMaxColumn(j-1)),this._languageConfigurationService);if(le){if(z=V,le.appendText)for(let de=0,ue=le.appendText.length;de1){let r,g=-1;for(r=e-1;r>=1;r--){if(n.tokenization.getLanguageIdAtPosition(r,0)!==i)return g;const y=n.getLineContent(r);if(t.shouldIgnore(y)||/^\s+$/.test(y)||y===""){g=r;continue}return r}}return-1}function getInheritIndentForLine(n,e,t,i=!0,r){if(n<4)return null;const g=r.getLanguageConfiguration(e.tokenization.getLanguageId()).indentRulesSupport;if(!g)return null;if(t<=1)return{indentation:"",action:null};for(let L=t-1;L>0&&e.getLineContent(L)==="";L--)if(L===1)return{indentation:"",action:null};const y=getPrecedingValidLine(e,t,g);if(y<0)return null;if(y<1)return{indentation:"",action:null};const k=e.getLineContent(y);if(g.shouldIncrease(k)||g.shouldIndentNextLine(k))return{indentation:getLeadingWhitespace(k),action:IndentAction.Indent,line:y};if(g.shouldDecrease(k))return{indentation:getLeadingWhitespace(k),action:null,line:y};{if(y===1)return{indentation:getLeadingWhitespace(e.getLineContent(y)),action:null,line:y};const L=y-1,V=g.getIndentMetadata(e.getLineContent(L));if(!(V&3)&&V&4){let z=0;for(let j=L-1;j>0;j--)if(!g.shouldIndentNextLine(e.getLineContent(j))){z=j;break}return{indentation:getLeadingWhitespace(e.getLineContent(z+1)),action:null,line:z+1}}if(i)return{indentation:getLeadingWhitespace(e.getLineContent(y)),action:null,line:y};for(let z=y;z>0;z--){const j=e.getLineContent(z);if(g.shouldIncrease(j))return{indentation:getLeadingWhitespace(j),action:IndentAction.Indent,line:z};if(g.shouldIndentNextLine(j)){let ie=0;for(let oe=z-1;oe>0;oe--)if(!g.shouldIndentNextLine(e.getLineContent(z))){ie=oe;break}return{indentation:getLeadingWhitespace(e.getLineContent(ie+1)),action:null,line:ie+1}}else if(g.shouldDecrease(j))return{indentation:getLeadingWhitespace(j),action:null,line:z}}return{indentation:getLeadingWhitespace(e.getLineContent(1)),action:null,line:1}}}function getGoodIndentForLine(n,e,t,i,r,g){if(n<4)return null;const y=g.getLanguageConfiguration(t);if(!y)return null;const k=g.getLanguageConfiguration(t).indentRulesSupport;if(!k)return null;const L=getInheritIndentForLine(n,e,i,void 0,g),V=e.getLineContent(i);if(L){const z=L.line;if(z!==void 0){let j=!0;for(let ie=z;ie0&&g.getLanguageId(0)!==y.languageId?(L=!0,V=k.substr(0,t.startColumn-1-y.firstCharOffset)):V=g.getLineContent().substring(0,t.startColumn-1);let z;t.isEmpty()?z=k.substr(t.startColumn-1-y.firstCharOffset):z=getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-y.firstCharOffset);const j=r.getLanguageConfiguration(y.languageId).indentRulesSupport;if(!j)return null;const ie=V,oe=getLeadingWhitespace(V),re={tokenization:{getLineTokens:ue=>e.tokenization.getLineTokens(ue),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(ue,he)=>e.getLanguageIdAtPosition(ue,he)},getLineContent:ue=>ue===t.startLineNumber?ie:e.getLineContent(ue)},ae=getLeadingWhitespace(g.getLineContent()),le=getInheritIndentForLine(n,re,t.startLineNumber+1,void 0,r);if(!le){const ue=L?ae:oe;return{beforeEnter:ue,afterEnter:ue}}let de=L?ae:le.indentation;return le.action===IndentAction.Indent&&(de=i.shiftIndent(de)),j.shouldDecrease(z)&&(de=i.unshiftIndent(de)),{beforeEnter:L?ae:oe,afterEnter:de}}function getIndentActionForType(n,e,t,i,r,g){if(n<4)return null;const y=getScopedLineTokens(e,t.startLineNumber,t.startColumn);if(y.firstCharOffset)return null;const k=g.getLanguageConfiguration(y.languageId).indentRulesSupport;if(!k)return null;const L=y.getLineContent(),V=L.substr(0,t.startColumn-1-y.firstCharOffset);let z;if(t.isEmpty()?z=L.substr(t.startColumn-1-y.firstCharOffset):z=getScopedLineTokens(e,t.endLineNumber,t.endColumn).getLineContent().substr(t.endColumn-1-y.firstCharOffset),!k.shouldDecrease(V+z)&&k.shouldDecrease(V+i+z)){const j=getInheritIndentForLine(n,e,t.startLineNumber,!1,g);if(!j)return null;let ie=j.indentation;return j.action!==IndentAction.Indent&&(ie=r.unshiftIndent(ie)),ie}return null}function getIndentMetadata(n,e,t){const i=t.getLanguageConfiguration(n.getLanguageId()).indentRulesSupport;return!i||e<1||e>n.getLineCount()?null:i.getIndentMetadata(n.getLineContent(e))}class TypeOperations{static indent(e,t,i){if(t===null||i===null)return[];const r=[];for(let g=0,y=i.length;g1){let k;for(k=i-1;k>=1;k--){const z=t.getLineContent(k);if(lastNonWhitespaceIndex(z)>=0)break}if(k<1)return null;const L=t.getLineMaxColumn(k),V=getEnterAction(e.autoIndent,t,new Range$2(k,L,k,L),e.languageConfigurationService);V&&(g=V.indentation+V.appendText)}return r&&(r===IndentAction.Indent&&(g=TypeOperations.shiftIndent(e,g)),r===IndentAction.Outdent&&(g=TypeOperations.unshiftIndent(e,g)),g=e.normalizeIndentation(g)),g||null}static _replaceJumpToNextIndent(e,t,i,r){let g="";const y=i.getStartPosition();if(e.insertSpaces){const k=e.visibleColumnFromColumn(t,y),L=e.indentSize,V=L-k%L;for(let z=0;zthis._compositionType(i,z,g,y,k,L));return new EditOperationResult(4,V,{shouldPushStackElementBefore:shouldPushStackElementBetween(e,4),shouldPushStackElementAfter:!1})}static _compositionType(e,t,i,r,g,y){if(!t.isEmpty())return null;const k=t.getPosition(),L=Math.max(1,k.column-r),V=Math.min(e.getLineMaxColumn(k.lineNumber),k.column+g),z=new Range$2(k.lineNumber,L,k.lineNumber,V);return e.getValueInRange(z)===i&&y===0?null:new ReplaceCommandWithOffsetCursorState(z,i,0,y)}static _typeCommand(e,t,i){return i?new ReplaceCommandWithoutChangingPosition(e,t,!0):new ReplaceCommand(e,t,!0)}static _enter(e,t,i,r){if(e.autoIndent===0)return TypeOperations._typeCommand(r,"\n",i);if(!t.tokenization.isCheapToTokenize(r.getStartPosition().lineNumber)||e.autoIndent===1){const L=t.getLineContent(r.startLineNumber),V=getLeadingWhitespace(L).substring(0,r.startColumn-1);return TypeOperations._typeCommand(r,"\n"+e.normalizeIndentation(V),i)}const g=getEnterAction(e.autoIndent,t,r,e.languageConfigurationService);if(g){if(g.indentAction===IndentAction.None)return TypeOperations._typeCommand(r,"\n"+e.normalizeIndentation(g.indentation+g.appendText),i);if(g.indentAction===IndentAction.Indent)return TypeOperations._typeCommand(r,"\n"+e.normalizeIndentation(g.indentation+g.appendText),i);if(g.indentAction===IndentAction.IndentOutdent){const L=e.normalizeIndentation(g.indentation),V=e.normalizeIndentation(g.indentation+g.appendText),z="\n"+V+"\n"+L;return i?new ReplaceCommandWithoutChangingPosition(r,z,!0):new ReplaceCommandWithOffsetCursorState(r,z,-1,V.length-L.length,!0)}else if(g.indentAction===IndentAction.Outdent){const L=TypeOperations.unshiftIndent(e,g.indentation);return TypeOperations._typeCommand(r,"\n"+e.normalizeIndentation(L+g.appendText),i)}}const y=t.getLineContent(r.startLineNumber),k=getLeadingWhitespace(y).substring(0,r.startColumn-1);if(e.autoIndent>=4){const L=getIndentForEnter(e.autoIndent,t,r,{unshiftIndent:V=>TypeOperations.unshiftIndent(e,V),shiftIndent:V=>TypeOperations.shiftIndent(e,V),normalizeIndentation:V=>e.normalizeIndentation(V)},e.languageConfigurationService);if(L){let V=e.visibleColumnFromColumn(t,r.getEndPosition());const z=r.endColumn,j=t.getLineContent(r.endLineNumber),ie=firstNonWhitespaceIndex(j);if(ie>=0?r=r.setEndPosition(r.endLineNumber,Math.max(r.endColumn,ie+1)):r=r.setEndPosition(r.endLineNumber,t.getLineMaxColumn(r.endLineNumber)),i)return new ReplaceCommandWithoutChangingPosition(r,"\n"+e.normalizeIndentation(L.afterEnter),!0);{let oe=0;return z<=ie+1&&(e.insertSpaces||(V=Math.ceil(V/e.indentSize)),oe=Math.min(V+1-e.normalizeIndentation(L.afterEnter).length-1,0)),new ReplaceCommandWithOffsetCursorState(r,"\n"+e.normalizeIndentation(L.afterEnter),0,oe,!0)}}}return TypeOperations._typeCommand(r,"\n"+e.normalizeIndentation(k),i)}static _isAutoIndentType(e,t,i){if(e.autoIndent<4)return!1;for(let r=0,g=i.length;rTypeOperations.shiftIndent(e,k),unshiftIndent:k=>TypeOperations.unshiftIndent(e,k)},e.languageConfigurationService);if(y===null)return null;if(y!==e.normalizeIndentation(g)){const k=t.getLineFirstNonWhitespaceColumn(i.startLineNumber);return k===0?TypeOperations._typeCommand(new Range$2(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(y)+r,!1):TypeOperations._typeCommand(new Range$2(i.startLineNumber,1,i.endLineNumber,i.endColumn),e.normalizeIndentation(y)+t.getLineContent(i.startLineNumber).substring(k-1,i.startColumn-1)+r,!1)}return null}static _isAutoClosingOvertype(e,t,i,r,g){if(e.autoClosingOvertype==="never"||!e.autoClosingPairs.autoClosingPairsCloseSingleChar.has(g))return!1;for(let y=0,k=i.length;y2?z.charCodeAt(V.column-2):0)===92&&ie)return!1;if(e.autoClosingOvertype==="auto"){let re=!1;for(let ae=0,le=r.length;aet.startsWith(L.open)),k=g.some(L=>t.startsWith(L.close));return!y&&k}static _findAutoClosingPairOpen(e,t,i,r){const g=e.autoClosingPairs.autoClosingPairsOpenByEnd.get(r);if(!g)return null;let y=null;for(const k of g)if(y===null||k.open.length>y.open.length){let L=!0;for(const V of i)if(t.getValueInRange(new Range$2(V.lineNumber,V.column-k.open.length+1,V.lineNumber,V.column))+r!==k.open){L=!1;break}L&&(y=k)}return y}static _findContainedAutoClosingPair(e,t){if(t.open.length<=1)return null;const i=t.close.charAt(t.close.length-1),r=e.autoClosingPairs.autoClosingPairsCloseByEnd.get(i)||[];let g=null;for(const y of r)y.open!==t.open&&t.open.includes(y.open)&&t.close.endsWith(y.close)&&(!g||y.open.length>g.open.length)&&(g=y);return g}static _getAutoClosingPairClose(e,t,i,r,g){for(const re of i)if(!re.isEmpty())return null;const y=i.map(re=>{const ae=re.getPosition();return g?{lineNumber:ae.lineNumber,beforeColumn:ae.column-r.length,afterColumn:ae.column}:{lineNumber:ae.lineNumber,beforeColumn:ae.column,afterColumn:ae.column}}),k=this._findAutoClosingPairOpen(e,t,y.map(re=>new Position$1(re.lineNumber,re.beforeColumn)),r);if(!k)return null;let L,V;if(isQuote(r)?(L=e.autoClosingQuotes,V=e.shouldAutoCloseBefore.quote):(e.blockCommentStartToken?k.open.includes(e.blockCommentStartToken):!1)?(L=e.autoClosingComments,V=e.shouldAutoCloseBefore.comment):(L=e.autoClosingBrackets,V=e.shouldAutoCloseBefore.bracket),L==="never")return null;const j=this._findContainedAutoClosingPair(e,k),ie=j?j.close:"";let oe=!0;for(const re of y){const{lineNumber:ae,beforeColumn:le,afterColumn:de}=re,ue=t.getLineContent(ae),he=ue.substring(0,le-1),pe=ue.substring(de-1);if(pe.startsWith(ie)||(oe=!1),pe.length>0){const Ie=pe.charAt(0);if(!TypeOperations._isBeforeClosingBrace(e,pe)&&!V(Ie))return null}if(k.open.length===1&&(r==="'"||r==='"')&&L!=="always"){const Ie=getMapForWordSeparators(e.wordSeparators,[]);if(he.length>0){const Ne=he.charCodeAt(he.length-1);if(Ie.get(Ne)===0)return null}}if(!t.tokenization.isCheapToTokenize(ae))return null;t.tokenization.forceTokenization(ae);const Ce=t.tokenization.getLineTokens(ae),$e=createScopedLineTokens(Ce,le-1);if(!k.shouldAutoClose($e,le-$e.firstCharOffset))return null;const xe=k.findNeutralCharacter();if(xe){const Ie=t.tokenization.getTokenTypeIfInsertingCharacter(ae,le,xe);if(!k.isOK(Ie))return null}}return oe?k.close.substring(0,k.close.length-ie.length):k.close}static _runAutoClosingOpenCharType(e,t,i,r,g,y,k){const L=[];for(let V=0,z=r.length;Vnew ReplaceCommand(new Range$2(ie.positionLineNumber,ie.positionColumn,ie.positionLineNumber,ie.positionColumn+1),"",!1));return new EditOperationResult(4,j,{shouldPushStackElementBefore:!0,shouldPushStackElementAfter:!1})}const z=this._getAutoClosingPairClose(t,i,g,L,!0);return z!==null?this._runAutoClosingOpenCharType(e,t,i,g,L,!0,z):null}static typeWithInterceptors(e,t,i,r,g,y,k){if(!e&&k==="\n"){const z=[];for(let j=0,ie=g.length;j{const r=t.get(ICodeEditorService).getFocusedCodeEditor();return r&&r.hasTextFocus()?this._runEditorCommand(t,r,i):!1}),e.addImplementation(1e3,"generic-dom-input-textarea",(t,i)=>{const r=getActiveElement();return r&&["input","textarea"].indexOf(r.tagName.toLowerCase())>=0?(this.runDOMCommand(r),!0):!1}),e.addImplementation(0,"generic-dom",(t,i)=>{const r=t.get(ICodeEditorService).getActiveCodeEditor();return r?(r.focus(),this._runEditorCommand(t,r,i)):!1})}_runEditorCommand(e,t,i){const r=this.runEditorCommand(e,t,i);return r||!0}}var CoreNavigationCommands;(function(n){class e extends CoreEditorCommand{constructor(ue){super(ue),this._inSelectionMode=ue.inSelectionMode}runCoreEditorCommand(ue,he){if(!he.position)return;ue.model.pushStackElement(),ue.setCursorStates(he.source,3,[CursorMoveCommands.moveTo(ue,ue.getPrimaryCursorState(),this._inSelectionMode,he.position,he.viewPosition)])&&he.revealType!==2&&ue.revealAllCursors(he.source,!0,!0)}}n.MoveTo=registerEditorCommand(new e({id:"_moveTo",inSelectionMode:!1,precondition:void 0})),n.MoveToSelect=registerEditorCommand(new e({id:"_moveToSelect",inSelectionMode:!0,precondition:void 0}));class t extends CoreEditorCommand{runCoreEditorCommand(ue,he){ue.model.pushStackElement();const pe=this._getColumnSelectResult(ue,ue.getPrimaryCursorState(),ue.getCursorColumnSelectData(),he);pe!==null&&(ue.setCursorStates(he.source,3,pe.viewStates.map(Ce=>CursorState$1.fromViewState(Ce))),ue.setCursorColumnSelectData({isReal:!0,fromViewLineNumber:pe.fromLineNumber,fromViewVisualColumn:pe.fromVisualColumn,toViewLineNumber:pe.toLineNumber,toViewVisualColumn:pe.toVisualColumn}),pe.reversed?ue.revealTopMostCursor(he.source):ue.revealBottomMostCursor(he.source))}}n.ColumnSelect=registerEditorCommand(new class extends t{constructor(){super({id:"columnSelect",precondition:void 0})}_getColumnSelectResult(de,ue,he,pe){if(typeof pe.position>"u"||typeof pe.viewPosition>"u"||typeof pe.mouseColumn>"u")return null;const Ce=de.model.validatePosition(pe.position),$e=de.coordinatesConverter.validateViewPosition(new Position$1(pe.viewPosition.lineNumber,pe.viewPosition.column),Ce),xe=pe.doColumnSelect?he.fromViewLineNumber:$e.lineNumber,Ie=pe.doColumnSelect?he.fromViewVisualColumn:pe.mouseColumn-1;return ColumnSelection.columnSelect(de.cursorConfig,de,xe,Ie,$e.lineNumber,pe.mouseColumn-1)}}),n.CursorColumnSelectLeft=registerEditorCommand(new class extends t{constructor(){super({id:"cursorColumnSelectLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3599,linux:{primary:0}}})}_getColumnSelectResult(de,ue,he,pe){return ColumnSelection.columnSelectLeft(de.cursorConfig,de,he)}}),n.CursorColumnSelectRight=registerEditorCommand(new class extends t{constructor(){super({id:"cursorColumnSelectRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3601,linux:{primary:0}}})}_getColumnSelectResult(de,ue,he,pe){return ColumnSelection.columnSelectRight(de.cursorConfig,de,he)}});class i extends t{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,he,pe,Ce){return ColumnSelection.columnSelectUp(ue.cursorConfig,ue,pe,this._isPaged)}}n.CursorColumnSelectUp=registerEditorCommand(new i({isPaged:!1,id:"cursorColumnSelectUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3600,linux:{primary:0}}})),n.CursorColumnSelectPageUp=registerEditorCommand(new i({isPaged:!0,id:"cursorColumnSelectPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3595,linux:{primary:0}}}));class r extends t{constructor(ue){super(ue),this._isPaged=ue.isPaged}_getColumnSelectResult(ue,he,pe,Ce){return ColumnSelection.columnSelectDown(ue.cursorConfig,ue,pe,this._isPaged)}}n.CursorColumnSelectDown=registerEditorCommand(new r({isPaged:!1,id:"cursorColumnSelectDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3602,linux:{primary:0}}})),n.CursorColumnSelectPageDown=registerEditorCommand(new r({isPaged:!0,id:"cursorColumnSelectPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:3596,linux:{primary:0}}}));class g extends CoreEditorCommand{constructor(){super({id:"cursorMove",precondition:void 0,metadata:CursorMove.metadata})}runCoreEditorCommand(ue,he){const pe=CursorMove.parse(he);pe&&this._runCursorMove(ue,he.source,pe)}_runCursorMove(ue,he,pe){ue.model.pushStackElement(),ue.setCursorStates(he,3,g._move(ue,ue.getCursorStates(),pe)),ue.revealAllCursors(he,!0)}static _move(ue,he,pe){const Ce=pe.select,$e=pe.value;switch(pe.direction){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:return CursorMoveCommands.simpleMove(ue,he,pe.direction,Ce,$e,pe.unit);case 11:case 13:case 12:case 14:return CursorMoveCommands.viewportMove(ue,he,pe.direction,Ce,$e);default:return null}}}n.CursorMoveImpl=g,n.CursorMove=registerEditorCommand(new g);class y extends CoreEditorCommand{constructor(ue){super(ue),this._staticArgs=ue.args}runCoreEditorCommand(ue,he){let pe=this._staticArgs;this._staticArgs.value===-1&&(pe={direction:this._staticArgs.direction,unit:this._staticArgs.unit,select:this._staticArgs.select,value:he.pageSize||ue.cursorConfig.pageSize}),ue.model.pushStackElement(),ue.setCursorStates(he.source,3,CursorMoveCommands.simpleMove(ue,ue.getCursorStates(),pe.direction,pe.select,pe.value,pe.unit)),ue.revealAllCursors(he.source,!0)}}n.CursorLeft=registerEditorCommand(new y({args:{direction:0,unit:0,select:!1,value:1},id:"cursorLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:15,mac:{primary:15,secondary:[288]}}})),n.CursorLeftSelect=registerEditorCommand(new y({args:{direction:0,unit:0,select:!0,value:1},id:"cursorLeftSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1039}})),n.CursorRight=registerEditorCommand(new y({args:{direction:1,unit:0,select:!1,value:1},id:"cursorRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:17,mac:{primary:17,secondary:[292]}}})),n.CursorRightSelect=registerEditorCommand(new y({args:{direction:1,unit:0,select:!0,value:1},id:"cursorRightSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1041}})),n.CursorUp=registerEditorCommand(new y({args:{direction:2,unit:2,select:!1,value:1},id:"cursorUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:16,mac:{primary:16,secondary:[302]}}})),n.CursorUpSelect=registerEditorCommand(new y({args:{direction:2,unit:2,select:!0,value:1},id:"cursorUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1040,secondary:[3088],mac:{primary:1040},linux:{primary:1040}}})),n.CursorPageUp=registerEditorCommand(new y({args:{direction:2,unit:2,select:!1,value:-1},id:"cursorPageUp",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:11}})),n.CursorPageUpSelect=registerEditorCommand(new y({args:{direction:2,unit:2,select:!0,value:-1},id:"cursorPageUpSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1035}})),n.CursorDown=registerEditorCommand(new y({args:{direction:3,unit:2,select:!1,value:1},id:"cursorDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:18,mac:{primary:18,secondary:[300]}}})),n.CursorDownSelect=registerEditorCommand(new y({args:{direction:3,unit:2,select:!0,value:1},id:"cursorDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1042,secondary:[3090],mac:{primary:1042},linux:{primary:1042}}})),n.CursorPageDown=registerEditorCommand(new y({args:{direction:3,unit:2,select:!1,value:-1},id:"cursorPageDown",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:12}})),n.CursorPageDownSelect=registerEditorCommand(new y({args:{direction:3,unit:2,select:!0,value:-1},id:"cursorPageDownSelect",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1036}})),n.CreateCursor=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"createCursor",precondition:void 0})}runCoreEditorCommand(de,ue){if(!ue.position)return;let he;ue.wholeLine?he=CursorMoveCommands.line(de,de.getPrimaryCursorState(),!1,ue.position,ue.viewPosition):he=CursorMoveCommands.moveTo(de,de.getPrimaryCursorState(),!1,ue.position,ue.viewPosition);const pe=de.getCursorStates();if(pe.length>1){const Ce=he.modelState?he.modelState.position:null,$e=he.viewState?he.viewState.position:null;for(let xe=0,Ie=pe.length;xe$e&&(Ce=$e);const xe=new Range$2(Ce,1,Ce,de.model.getLineMaxColumn(Ce));let Ie=0;if(he.at)switch(he.at){case RevealLine_.RawAtArgument.Top:Ie=3;break;case RevealLine_.RawAtArgument.Center:Ie=1;break;case RevealLine_.RawAtArgument.Bottom:Ie=4;break}const Ne=de.coordinatesConverter.convertModelRangeToViewRange(xe);de.revealRange(ue.source,!1,Ne,Ie,0)}}),n.SelectAll=new class extends EditorOrNativeTextInputCommand{constructor(){super(SelectAllCommand)}runDOMCommand(de){isFirefox$1&&(de.focus(),de.select()),de.ownerDocument.execCommand("selectAll")}runEditorCommand(de,ue,he){const pe=ue._getViewModel();pe&&this.runCoreEditorCommand(pe,he)}runCoreEditorCommand(de,ue){de.model.pushStackElement(),de.setCursorStates("keyboard",3,[CursorMoveCommands.selectAll(de,de.getPrimaryCursorState())])}},n.SetSelection=registerEditorCommand(new class extends CoreEditorCommand{constructor(){super({id:"setSelection",precondition:void 0})}runCoreEditorCommand(de,ue){ue.selection&&(de.model.pushStackElement(),de.setCursorStates(ue.source,3,[CursorState$1.fromModelSelection(ue.selection)]))}})})(CoreNavigationCommands||(CoreNavigationCommands={}));const columnSelectionCondition=ContextKeyExpr.and(EditorContextKeys.textInputFocus,EditorContextKeys.columnSelection);function registerColumnSelection(n,e){KeybindingsRegistry.registerKeybindingRule({id:n,primary:e,when:columnSelectionCondition,weight:CORE_WEIGHT+1})}registerColumnSelection(CoreNavigationCommands.CursorColumnSelectLeft.id,1039);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectRight.id,1041);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectUp.id,1040);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageUp.id,1035);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectDown.id,1042);registerColumnSelection(CoreNavigationCommands.CursorColumnSelectPageDown.id,1036);function registerCommand$2(n){return n.register(),n}var CoreEditingCommands;(function(n){class e extends EditorCommand{runEditorCommand(i,r,g){const y=r._getViewModel();y&&this.runCoreEditingCommand(r,y,g||{})}}n.CoreEditingCommand=e,n.LineBreakInsert=registerEditorCommand(new class extends e{constructor(){super({id:"lineBreakInsert",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:301}}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.lineBreakInsert(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection)))}}),n.Outdent=registerEditorCommand(new class extends e{constructor(){super({id:"outdent",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:1026}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.outdent(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection))),t.pushUndoStop()}}),n.Tab=registerEditorCommand(new class extends e{constructor(){super({id:"tab",precondition:EditorContextKeys.writable,kbOpts:{weight:CORE_WEIGHT,kbExpr:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,EditorContextKeys.tabDoesNotMoveFocus),primary:2}})}runCoreEditingCommand(t,i,r){t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.tab(i.cursorConfig,i.model,i.getCursorStates().map(g=>g.modelState.selection))),t.pushUndoStop()}}),n.DeleteLeft=registerEditorCommand(new class extends e{constructor(){super({id:"deleteLeft",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:1,secondary:[1025],mac:{primary:1,secondary:[1025,294,257]}}})}runCoreEditingCommand(t,i,r){const[g,y]=DeleteOperations.deleteLeft(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(k=>k.modelState.selection),i.getCursorAutoClosedCharacters());g&&t.pushUndoStop(),t.executeCommands(this.id,y),i.setPrevEditOperationType(2)}}),n.DeleteRight=registerEditorCommand(new class extends e{constructor(){super({id:"deleteRight",precondition:void 0,kbOpts:{weight:CORE_WEIGHT,kbExpr:EditorContextKeys.textInputFocus,primary:20,mac:{primary:20,secondary:[290,276]}}})}runCoreEditingCommand(t,i,r){const[g,y]=DeleteOperations.deleteRight(i.getPrevEditOperationType(),i.cursorConfig,i.model,i.getCursorStates().map(k=>k.modelState.selection));g&&t.pushUndoStop(),t.executeCommands(this.id,y),i.setPrevEditOperationType(3)}}),n.Undo=new class extends EditorOrNativeTextInputCommand{constructor(){super(UndoCommand)}runDOMCommand(t){t.ownerDocument.execCommand("undo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().undo()}},n.Redo=new class extends EditorOrNativeTextInputCommand{constructor(){super(RedoCommand)}runDOMCommand(t){t.ownerDocument.execCommand("redo")}runEditorCommand(t,i,r){if(!(!i.hasModel()||i.getOption(91)===!0))return i.getModel().redo()}}})(CoreEditingCommands||(CoreEditingCommands={}));class EditorHandlerCommand extends Command{constructor(e,t,i){super({id:e,precondition:void 0,metadata:i}),this._handlerId=t}runCommand(e,t){const i=e.get(ICodeEditorService).getFocusedCodeEditor();i&&i.trigger("keyboard",this._handlerId,t)}}function registerOverwritableCommand(n,e){registerCommand$2(new EditorHandlerCommand("default:"+n,n)),registerCommand$2(new EditorHandlerCommand(n,n,e))}registerOverwritableCommand("type",{description:"Type",args:[{name:"args",schema:{type:"object",required:["text"],properties:{text:{type:"string"}}}}]});registerOverwritableCommand("replacePreviousChar");registerOverwritableCommand("compositionType");registerOverwritableCommand("compositionStart");registerOverwritableCommand("compositionEnd");registerOverwritableCommand("paste");registerOverwritableCommand("cut");class ViewController{constructor(e,t,i,r){this.configuration=e,this.viewModel=t,this.userInputEvents=i,this.commandDelegate=r}paste(e,t,i,r){this.commandDelegate.paste(e,t,i,r)}type(e){this.commandDelegate.type(e)}compositionType(e,t,i,r){this.commandDelegate.compositionType(e,t,i,r)}compositionStart(){this.commandDelegate.startComposition()}compositionEnd(){this.commandDelegate.endComposition()}cut(){this.commandDelegate.cut()}setSelection(e){CoreNavigationCommands.SetSelection.runCoreEditorCommand(this.viewModel,{source:"keyboard",selection:e})}_validateViewColumn(e){const t=this.viewModel.getLineMinColumn(e.lineNumber);return e.column=4?this._selectAll():e.mouseDownCount===3?this._hasMulticursorModifier(e)?e.inSelectionMode?this._lastCursorLineSelectDrag(e.position,e.revealType):this._lastCursorLineSelect(e.position,e.revealType):e.inSelectionMode?this._lineSelectDrag(e.position,e.revealType):this._lineSelect(e.position,e.revealType):e.mouseDownCount===2?e.onInjectedText||(this._hasMulticursorModifier(e)?this._lastCursorWordSelect(e.position,e.revealType):e.inSelectionMode?this._wordSelectDrag(e.position,e.revealType):this._wordSelect(e.position,e.revealType)):this._hasMulticursorModifier(e)?this._hasNonMulticursorModifier(e)||(e.shiftKey?this._columnSelect(e.position,e.mouseColumn,!0):e.inSelectionMode?this._lastCursorMoveToSelect(e.position,e.revealType):this._createCursor(e.position,!1)):e.inSelectionMode?e.altKey?this._columnSelect(e.position,e.mouseColumn,!0):r?this._columnSelect(e.position,e.mouseColumn,!0):this._moveToSelect(e.position,e.revealType):this.moveTo(e.position,e.revealType)}_usualArgs(e,t){return e=this._validateViewColumn(e),{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,revealType:t}}moveTo(e,t){CoreNavigationCommands.MoveTo.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_moveToSelect(e,t){CoreNavigationCommands.MoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_columnSelect(e,t,i){e=this._validateViewColumn(e),CoreNavigationCommands.ColumnSelect.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,mouseColumn:t,doColumnSelect:i})}_createCursor(e,t){e=this._validateViewColumn(e),CoreNavigationCommands.CreateCursor.runCoreEditorCommand(this.viewModel,{source:"mouse",position:this._convertViewToModelPosition(e),viewPosition:e,wholeLine:t})}_lastCursorMoveToSelect(e,t){CoreNavigationCommands.LastCursorMoveToSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelect(e,t){CoreNavigationCommands.WordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_wordSelectDrag(e,t){CoreNavigationCommands.WordSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorWordSelect(e,t){CoreNavigationCommands.LastCursorWordSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelect(e,t){CoreNavigationCommands.LineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lineSelectDrag(e,t){CoreNavigationCommands.LineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelect(e,t){CoreNavigationCommands.LastCursorLineSelect.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_lastCursorLineSelectDrag(e,t){CoreNavigationCommands.LastCursorLineSelectDrag.runCoreEditorCommand(this.viewModel,this._usualArgs(e,t))}_selectAll(){CoreNavigationCommands.SelectAll.runCoreEditorCommand(this.viewModel,{source:"mouse"})}_convertViewToModelPosition(e){return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(e)}emitKeyDown(e){this.userInputEvents.emitKeyDown(e)}emitKeyUp(e){this.userInputEvents.emitKeyUp(e)}emitContextMenu(e){this.userInputEvents.emitContextMenu(e)}emitMouseMove(e){this.userInputEvents.emitMouseMove(e)}emitMouseLeave(e){this.userInputEvents.emitMouseLeave(e)}emitMouseUp(e){this.userInputEvents.emitMouseUp(e)}emitMouseDown(e){this.userInputEvents.emitMouseDown(e)}emitMouseDrag(e){this.userInputEvents.emitMouseDrag(e)}emitMouseDrop(e){this.userInputEvents.emitMouseDrop(e)}emitMouseDropCanceled(){this.userInputEvents.emitMouseDropCanceled()}emitMouseWheel(e){this.userInputEvents.emitMouseWheel(e)}}class RenderedLinesCollection{constructor(e){this._createLine=e,this._set(1,[])}flush(){this._set(1,[])}_set(e,t){this._lines=t,this._rendLineNumberStart=e}_get(){return{rendLineNumberStart:this._rendLineNumberStart,lines:this._lines}}getStartLineNumber(){return this._rendLineNumberStart}getEndLineNumber(){return this._rendLineNumberStart+this._lines.length-1}getCount(){return this._lines.length}getLine(e){const t=e-this._rendLineNumberStart;if(t<0||t>=this._lines.length)throw new BugIndicatingError("Illegal value for lineNumber");return this._lines[t]}onLinesDeleted(e,t){if(this.getCount()===0)return null;const i=this.getStartLineNumber(),r=this.getEndLineNumber();if(tr)return null;let g=0,y=0;for(let L=i;L<=r;L++){const V=L-this._rendLineNumberStart;e<=L&&L<=t&&(y===0?(g=V,y=1):y++)}if(e=r&&k<=g&&(this._lines[k-this._rendLineNumberStart].onContentChanged(),y=!0);return y}onLinesInserted(e,t){if(this.getCount()===0)return null;const i=t-e+1,r=this.getStartLineNumber(),g=this.getEndLineNumber();if(e<=r)return this._rendLineNumberStart+=i,null;if(e>g)return null;if(i+e>g)return this._lines.splice(e-this._rendLineNumberStart,g-e+1);const y=[];for(let j=0;ji)continue;const L=Math.max(t,k.fromLineNumber),V=Math.min(i,k.toLineNumber);for(let z=L;z<=V;z++){const j=z-this._rendLineNumberStart;this._lines[j].onTokensChanged(),r=!0}}return r}}class VisibleLinesCollection{constructor(e){this._host=e,this.domNode=this._createDomNode(),this._linesCollection=new RenderedLinesCollection(()=>this._host.createVisibleLine())}_createDomNode(){const e=createFastDomNode(document.createElement("div"));return e.setClassName("view-layer"),e.setPosition("absolute"),e.domNode.setAttribute("role","presentation"),e.domNode.setAttribute("aria-hidden","true"),e}onConfigurationChanged(e){return!!e.hasChanged(145)}onFlushed(e){return this._linesCollection.flush(),!0}onLinesChanged(e){return this._linesCollection.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){const t=this._linesCollection.onLinesDeleted(e.fromLineNumber,e.toLineNumber);if(t)for(let i=0,r=t.length;it){const y=t,k=Math.min(i,g.rendLineNumberStart-1);y<=k&&(this._insertLinesBefore(g,y,k,r,t),g.linesLength+=k-y+1)}else if(g.rendLineNumberStart0&&(this._removeLinesBefore(g,y),g.linesLength-=y)}if(g.rendLineNumberStart=t,g.rendLineNumberStart+g.linesLength-1i){const y=Math.max(0,i-g.rendLineNumberStart+1),L=g.linesLength-1-y+1;L>0&&(this._removeLinesAfter(g,L),g.linesLength-=L)}return this._finishRendering(g,!1,r),g}_renderUntouchedLines(e,t,i,r,g){const y=e.rendLineNumberStart,k=e.lines;for(let L=t;L<=i;L++){const V=y+L;k[L].layoutLine(V,r[V-g],this.viewportData.lineHeight)}}_insertLinesBefore(e,t,i,r,g){const y=[];let k=0;for(let L=t;L<=i;L++)y[k++]=this.host.createVisibleLine();e.lines=y.concat(e.lines)}_removeLinesBefore(e,t){for(let i=0;i=0;k--){const L=e.lines[k];r[k]&&(L.setDomNode(y),y=y.previousSibling)}}_finishRenderingInvalidLines(e,t,i){const r=document.createElement("div");ViewLayerRenderer._ttPolicy&&(t=ViewLayerRenderer._ttPolicy.createHTML(t)),r.innerHTML=t;for(let g=0;gn});ViewLayerRenderer._sb=new StringBuilder(1e5);class ViewOverlays extends ViewPart{constructor(e){super(e),this._visibleLines=new VisibleLinesCollection(this),this.domNode=this._visibleLines.domNode;const i=this._context.configuration.options.get(50);applyFontInfo(this.domNode,i),this._dynamicOverlays=[],this._isFocused=!1,this.domNode.setClassName("view-overlays")}shouldRender(){if(super.shouldRender())return!0;for(let e=0,t=this._dynamicOverlays.length;ei.shouldRender());for(let i=0,r=t.length;i'),g.appendString(y),g.appendString(""),!0)}layoutLine(e,t,i){this._domNode&&(this._domNode.setTop(t),this._domNode.setHeight(i))}}class ContentViewOverlays extends ViewOverlays{constructor(e){super(e);const i=this._context.configuration.options.get(145);this._contentWidth=i.contentWidth,this.domNode.setHeight(0)}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._contentWidth=i.contentWidth,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollWidthChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e),this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth))}}class MarginViewOverlays extends ViewOverlays{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._contentLeft=i.contentLeft,this.domNode.setClassName("margin-view-overlays"),this.domNode.setWidth(1),applyFontInfo(this.domNode,t.get(50))}onConfigurationChanged(e){const t=this._context.configuration.options;applyFontInfo(this.domNode,t.get(50));const i=t.get(145);return this._contentLeft=i.contentLeft,super.onConfigurationChanged(e)||!0}onScrollChanged(e){return super.onScrollChanged(e)||e.scrollHeightChanged}_viewOverlaysRender(e){super._viewOverlaysRender(e);const t=Math.min(e.scrollHeight,1e6);this.domNode.setHeight(t),this.domNode.setWidth(this._contentLeft)}}class ViewUserInputEvents{constructor(e){this.onKeyDown=null,this.onKeyUp=null,this.onContextMenu=null,this.onMouseMove=null,this.onMouseLeave=null,this.onMouseDown=null,this.onMouseUp=null,this.onMouseDrag=null,this.onMouseDrop=null,this.onMouseDropCanceled=null,this.onMouseWheel=null,this._coordinatesConverter=e}emitKeyDown(e){var t;(t=this.onKeyDown)===null||t===void 0||t.call(this,e)}emitKeyUp(e){var t;(t=this.onKeyUp)===null||t===void 0||t.call(this,e)}emitContextMenu(e){var t;(t=this.onContextMenu)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseMove(e){var t;(t=this.onMouseMove)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseLeave(e){var t;(t=this.onMouseLeave)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDown(e){var t;(t=this.onMouseDown)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseUp(e){var t;(t=this.onMouseUp)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrag(e){var t;(t=this.onMouseDrag)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDrop(e){var t;(t=this.onMouseDrop)===null||t===void 0||t.call(this,this._convertViewToModelMouseEvent(e))}emitMouseDropCanceled(){var e;(e=this.onMouseDropCanceled)===null||e===void 0||e.call(this)}emitMouseWheel(e){var t;(t=this.onMouseWheel)===null||t===void 0||t.call(this,e)}_convertViewToModelMouseEvent(e){return e.target?{event:e.event,target:this._convertViewToModelMouseTarget(e.target)}:e}_convertViewToModelMouseTarget(e){return ViewUserInputEvents.convertViewToModelMouseTarget(e,this._coordinatesConverter)}static convertViewToModelMouseTarget(e,t){const i={...e};return i.position&&(i.position=t.convertViewPositionToModelPosition(i.position)),i.range&&(i.range=t.convertViewRangeToModelRange(i.range)),(i.type===5||i.type===8)&&(i.detail=this.convertViewToModelViewZoneData(i.detail,t)),i}static convertViewToModelViewZoneData(e,t){return{viewZoneId:e.viewZoneId,positionBefore:e.positionBefore?t.convertViewPositionToModelPosition(e.positionBefore):e.positionBefore,positionAfter:e.positionAfter?t.convertViewPositionToModelPosition(e.positionAfter):e.positionAfter,position:t.convertViewPositionToModelPosition(e.position),afterLineNumber:t.convertViewPositionToModelPosition(new Position$1(e.afterLineNumber,1)).lineNumber}}}class BlockDecorations extends ViewPart{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.contentLeft=0,this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("blockDecorations-container"),this.update()}update(){let e=!1;const i=this._context.configuration.options.get(145),r=i.contentWidth-i.verticalScrollbarWidth;this.contentWidth!==r&&(this.contentWidth=r,e=!0);const g=i.contentLeft;return this.contentLeft!==g&&(this.contentLeft=g,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){var t;let i=0;const r=e.getDecorationsInViewport();for(const g of r){if(!g.options.blockClassName)continue;let y=this.blocks[i];y||(y=this.blocks[i]=createFastDomNode(document.createElement("div")),this.domNode.appendChild(y));let k,L;g.options.blockIsAfterEnd?(k=e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!1),L=e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!0)):(k=e.getVerticalOffsetForLineNumber(g.range.startLineNumber,!0),L=g.range.isEmpty()&&!g.options.blockDoesNotCollapse?e.getVerticalOffsetForLineNumber(g.range.startLineNumber,!1):e.getVerticalOffsetAfterLineNumber(g.range.endLineNumber,!0));const[V,z,j,ie]=(t=g.options.blockPadding)!==null&&t!==void 0?t:[0,0,0,0];y.setClassName("blockDecorations-block "+g.options.blockClassName),y.setLeft(this.contentLeft-ie),y.setWidth(this.contentWidth+ie+z),y.setTop(k-e.scrollTop-V),y.setHeight(L-k+V+j),i++}for(let g=i;g0?this.domNode.setDisplay("block"):this.domNode.setDisplay("none"),this._cachedDomNodeOffsetWidth=-1,this._cachedDomNodeOffsetHeight=-1}_layoutBoxInViewport(e,t,i,r){const g=e.top,y=g,k=e.top+e.height,L=r.viewportHeight-k,V=g-i,z=y>=i,j=k,ie=L>=i;let oe=e.left;return oe+t>r.scrollLeft+r.viewportWidth&&(oe=r.scrollLeft+r.viewportWidth-t),oeV){const oe=ie-(V-r);ie-=oe,i-=oe}if(ie=de,pe=oe+i<=re.height-ue;return this._fixedOverflowWidgets?{fitsAbove:he,aboveTop:Math.max(ie,de),fitsBelow:pe,belowTop:oe,left:le}:{fitsAbove:he,aboveTop:k,fitsBelow:pe,belowTop:L,left:ae}}_prepareRenderWidgetAtExactPositionOverflowing(e){return new Coordinate(e.top,e.left+this._contentLeft)}_getAnchorsCoordinates(e){var t,i;const r=k(this._primaryAnchor.viewPosition,this._affinity,this._lineHeight),g=((t=this._secondaryAnchor.viewPosition)===null||t===void 0?void 0:t.lineNumber)===((i=this._primaryAnchor.viewPosition)===null||i===void 0?void 0:i.lineNumber)?this._secondaryAnchor.viewPosition:null,y=k(g,this._affinity,this._lineHeight);return{primary:r,secondary:y};function k(L,V,z){if(!L)return null;const j=e.visibleRangeForPosition(L);if(!j)return null;const ie=L.column===1&&V===3?0:j.left,oe=e.getVerticalOffsetForLineNumber(L.lineNumber)-e.scrollTop;return new AnchorCoordinate(oe,ie,z)}}_reduceAnchorCoordinates(e,t,i){if(!t)return e;const r=this._context.configuration.options.get(50);let g=t.left;return ge.endLineNumber||this.domNode.setMaxWidth(this._maxWidth)}prepareRender(e){this._renderData=this._prepareRenderWidget(e)}render(e){if(!this._renderData){this._isVisible&&(this.domNode.removeAttribute("monaco-visible-content-widget"),this._isVisible=!1,this.domNode.setVisibility("hidden")),typeof this._actual.afterRender=="function"&&safeInvoke(this._actual.afterRender,this._actual,null);return}this.allowEditorOverflow?(this.domNode.setTop(this._renderData.coordinate.top),this.domNode.setLeft(this._renderData.coordinate.left)):(this.domNode.setTop(this._renderData.coordinate.top+e.scrollTop-e.bigNumbersDelta),this.domNode.setLeft(this._renderData.coordinate.left)),this._isVisible||(this.domNode.setVisibility("inherit"),this.domNode.setAttribute("monaco-visible-content-widget","true"),this._isVisible=!0),typeof this._actual.afterRender=="function"&&safeInvoke(this._actual.afterRender,this._actual,this._renderData.position)}}class PositionPair{constructor(e,t){this.modelPosition=e,this.viewPosition=t}}class Coordinate{constructor(e,t){this.top=e,this.left=t,this._coordinateBrand=void 0}}class AnchorCoordinate{constructor(e,t,i){this.top=e,this.left=t,this.height=i,this._anchorCoordinateBrand=void 0}}function safeInvoke(n,e,...t){try{return n.call(e,...t)}catch(i){return null}}class AbstractLineHighlightOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e;const t=this._context.configuration.options,i=t.get(145);this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,this._selectionIsEmpty=!0,this._focused=!1,this._cursorLineNumbers=[1],this._selections=[new Selection$1(1,1,1,1)],this._renderData=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}_readFromSelections(){let e=!1;const t=new Set;for(const g of this._selections)t.add(g.positionLineNumber);const i=Array.from(t);i.sort((g,y)=>g-y),equals$3(this._cursorLineNumbers,i)||(this._cursorLineNumbers=i,e=!0);const r=this._selections.every(g=>g.isEmpty());return this._selectionIsEmpty!==r&&(this._selectionIsEmpty=r,e=!0),e}onThemeChanged(e){return this._readFromSelections()}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(145);return this._renderLineHighlight=t.get(96),this._renderLineHighlightOnlyWhenFocus=t.get(97),this._wordWrap=i.isViewportWrapping,this._contentLeft=i.contentLeft,this._contentWidth=i.contentWidth,!0}onCursorStateChanged(e){return this._selections=e.selections,this._readFromSelections()}onFlushed(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollWidthChanged||e.scrollTopChanged}onZonesChanged(e){return!0}onFocusChanged(e){return this._renderLineHighlightOnlyWhenFocus?(this._focused=e.isFocused,!0):!1}prepareRender(e){if(!this._shouldRenderThis()){this._renderData=null;return}const t=e.visibleRange.startLineNumber,i=e.visibleRange.endLineNumber,r=[];for(let y=t;y<=i;y++){const k=y-t;r[k]=""}if(this._wordWrap){const y=this._renderOne(e,!1);for(const k of this._cursorLineNumbers){const L=this._context.viewModel.coordinatesConverter,V=L.convertViewPositionToModelPosition(new Position$1(k,1)).lineNumber,z=L.convertModelPositionToViewPosition(new Position$1(V,1)).lineNumber,j=L.convertModelPositionToViewPosition(new Position$1(V,this._context.viewModel.model.getLineMaxColumn(V))).lineNumber,ie=Math.max(z,t),oe=Math.min(j,i);for(let re=ie;re<=oe;re++){const ae=re-t;r[ae]=y}}}const g=this._renderOne(e,!0);for(const y of this._cursorLineNumbers){if(yi)continue;const k=y-t;r[k]=g}this._renderData=r}render(e,t){if(!this._renderData)return"";const i=t-e;return i>=this._renderData.length?"":this._renderData[i]}_shouldRenderInMargin(){return(this._renderLineHighlight==="gutter"||this._renderLineHighlight==="all")&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}_shouldRenderInContent(){return(this._renderLineHighlight==="line"||this._renderLineHighlight==="all")&&this._selectionIsEmpty&&(!this._renderLineHighlightOnlyWhenFocus||this._focused)}}class CurrentLineHighlightOverlay extends AbstractLineHighlightOverlay{_renderOne(e,t){const i="current-line"+(this._shouldRenderInMargin()?" current-line-both":"")+(t?" current-line-exact":"");return'
    ')}_shouldRenderThis(){return this._shouldRenderInContent()}_shouldRenderOther(){return this._shouldRenderInMargin()}}class CurrentLineMarginHighlightOverlay extends AbstractLineHighlightOverlay{_renderOne(e,t){const i="current-line"+(this._shouldRenderInMargin()?" current-line-margin":"")+(this._shouldRenderOther()?" current-line-margin-both":"")+(this._shouldRenderInMargin()&&t?" current-line-exact-margin":"");return'
    ')}_shouldRenderThis(){return!0}_shouldRenderOther(){return this._shouldRenderInContent()}}registerThemingParticipant((n,e)=>{const t=n.getColor(editorLineHighlight);if(t&&(e.addRule(".monaco-editor .view-overlays .current-line { background-color: ".concat(t,"; }")),e.addRule(".monaco-editor .margin-view-overlays .current-line-margin { background-color: ".concat(t,"; border: none; }"))),!t||t.isTransparent()||n.defines(editorLineHighlightBorder)){const i=n.getColor(editorLineHighlightBorder);i&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border: 2px solid ".concat(i,"; }")),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border: 2px solid ".concat(i,"; }")),isHighContrast(n.type)&&(e.addRule(".monaco-editor .view-overlays .current-line-exact { border-width: 1px; }"),e.addRule(".monaco-editor .margin-view-overlays .current-line-exact-margin { border-width: 1px; }")))}});class DecorationsOverlay extends DynamicViewOverlay{constructor(e){super(),this._context=e;const t=this._context.configuration.options;this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}prepareRender(e){const t=e.getDecorationsInViewport();let i=[],r=0;for(let L=0,V=t.length;L{if(L.options.zIndexV.options.zIndex)return 1;const z=L.options.className,j=V.options.className;return zj?1:Range$2.compareRangesUsingStarts(L.range,V.range)});const g=e.visibleRange.startLineNumber,y=e.visibleRange.endLineNumber,k=[];for(let L=g;L<=y;L++){const V=L-g;k[V]=""}this._renderWholeLineDecorations(e,i,k),this._renderNormalDecorations(e,i,k),this._renderResult=k}_renderWholeLineDecorations(e,t,i){const r=e.visibleRange.startLineNumber,g=e.visibleRange.endLineNumber;for(let y=0,k=t.length;y',z=Math.max(L.range.startLineNumber,r),j=Math.min(L.range.endLineNumber,g);for(let ie=z;ie<=j;ie++){const oe=ie-r;i[oe]+=V}}}_renderNormalDecorations(e,t,i){var r;const g=e.visibleRange.startLineNumber;let y=null,k=!1,L=null,V=!1;for(let z=0,j=t.length;z';k[ie]+=de}}}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class EditorScrollbar extends ViewPart{constructor(e,t,i,r){super(e);const g=this._context.configuration.options,y=g.get(103),k=g.get(75),L=g.get(40),V=g.get(106),z={listenOnDomNode:i.domNode,className:"editor-scrollable "+getThemeTypeSelector(e.theme.type),useShadows:!1,lazyRender:!0,vertical:y.vertical,horizontal:y.horizontal,verticalHasArrows:y.verticalHasArrows,horizontalHasArrows:y.horizontalHasArrows,verticalScrollbarSize:y.verticalScrollbarSize,verticalSliderSize:y.verticalSliderSize,horizontalScrollbarSize:y.horizontalScrollbarSize,horizontalSliderSize:y.horizontalSliderSize,handleMouseWheel:y.handleMouseWheel,alwaysConsumeMouseWheel:y.alwaysConsumeMouseWheel,arrowSize:y.arrowSize,mouseWheelScrollSensitivity:k,fastScrollSensitivity:L,scrollPredominantAxis:V,scrollByPage:y.scrollByPage};this.scrollbar=this._register(new SmoothScrollableElement(t.domNode,z,this._context.viewLayout.getScrollable())),PartFingerprints.write(this.scrollbar.getDomNode(),6),this.scrollbarDomNode=createFastDomNode(this.scrollbar.getDomNode()),this.scrollbarDomNode.setPosition("absolute"),this._setLayout();const j=(ie,oe,re)=>{const ae={};{const le=ie.scrollTop;le&&(ae.scrollTop=this._context.viewLayout.getCurrentScrollTop()+le,ie.scrollTop=0)}if(re){const le=ie.scrollLeft;le&&(ae.scrollLeft=this._context.viewLayout.getCurrentScrollLeft()+le,ie.scrollLeft=0)}this._context.viewModel.viewLayout.setScrollPosition(ae,1)};this._register(addDisposableListener(i.domNode,"scroll",ie=>j(i.domNode,!0,!0))),this._register(addDisposableListener(t.domNode,"scroll",ie=>j(t.domNode,!0,!1))),this._register(addDisposableListener(r.domNode,"scroll",ie=>j(r.domNode,!0,!1))),this._register(addDisposableListener(this.scrollbarDomNode.domNode,"scroll",ie=>j(this.scrollbarDomNode.domNode,!0,!1)))}dispose(){super.dispose()}_setLayout(){const e=this._context.configuration.options,t=e.get(145);this.scrollbarDomNode.setLeft(t.contentLeft),e.get(73).side==="right"?this.scrollbarDomNode.setWidth(t.contentWidth+t.minimap.minimapWidth):this.scrollbarDomNode.setWidth(t.contentWidth),this.scrollbarDomNode.setHeight(t.height)}getOverviewRulerLayoutInfo(){return this.scrollbar.getOverviewRulerLayoutInfo()}getDomNode(){return this.scrollbarDomNode}delegateVerticalScrollbarPointerDown(e){this.scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this.scrollbar.delegateScrollFromMouseWheelEvent(e)}onConfigurationChanged(e){if(e.hasChanged(103)||e.hasChanged(75)||e.hasChanged(40)){const t=this._context.configuration.options,i=t.get(103),r=t.get(75),g=t.get(40),y=t.get(106),k={vertical:i.vertical,horizontal:i.horizontal,verticalScrollbarSize:i.verticalScrollbarSize,horizontalScrollbarSize:i.horizontalScrollbarSize,scrollByPage:i.scrollByPage,handleMouseWheel:i.handleMouseWheel,mouseWheelScrollSensitivity:r,fastScrollSensitivity:g,scrollPredominantAxis:y};this.scrollbar.updateOptions(k)}return e.hasChanged(145)&&this._setLayout(),!0}onScrollChanged(e){return!0}onThemeChanged(e){return this.scrollbar.updateClassName("editor-scrollable "+getThemeTypeSelector(this._context.theme.type)),!0}prepareRender(e){}render(e){this.scrollbar.renderNow()}}class DecorationToRender{constructor(e,t,i,r,g){this.startLineNumber=e,this.endLineNumber=t,this.className=i,this.tooltip=r,this._decorationToRenderBrand=void 0,this.zIndex=g!=null?g:0}}class LineDecorationToRender{constructor(e,t,i){this.className=e,this.zIndex=t,this.tooltip=i}}class VisibleLineDecorationsToRender{constructor(){this.decorations=[]}add(e){this.decorations.push(e)}getDecorations(){return this.decorations}}class DedupOverlay extends DynamicViewOverlay{_render(e,t,i){const r=[];for(let k=e;k<=t;k++){const L=k-e;r[L]=new VisibleLineDecorationsToRender}if(i.length===0)return r;i.sort((k,L)=>k.className===L.className?k.startLineNumber===L.startLineNumber?k.endLineNumber-L.endLineNumber:k.startLineNumber-L.startLineNumber:k.classNamer)continue;const V=Math.max(k,i),z=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(V,0)),j=this._context.viewModel.glyphLanes.getLanesAtLine(z.lineNumber).indexOf(g.preference.lane);t.push(new WidgetBasedGlyphRenderRequest(V,j,g.preference.zIndex,g))}}_collectSortedGlyphRenderRequests(e){const t=[];return this._collectDecorationBasedGlyphRenderRequest(e,t),this._collectWidgetBasedGlyphRenderRequest(e,t),t.sort((i,r)=>i.lineNumber===r.lineNumber?i.laneIndex===r.laneIndex?i.zIndex===r.zIndex?r.type===i.type?i.type===0&&r.type===0?i.className0;){const r=t.peek();if(!r)break;const g=t.takeWhile(k=>k.lineNumber===r.lineNumber&&k.laneIndex===r.laneIndex);if(!g||g.length===0)break;const y=g[0];if(y.type===0){const k=[];for(const L of g){if(L.zIndex!==y.zIndex||L.type!==y.type)break;(k.length===0||k[k.length-1]!==L.className)&&k.push(L.className)}i.push(y.accept(k.join(" ")))}else y.widget.renderInfo={lineNumber:y.lineNumber,laneIndex:y.laneIndex}}this._decorationGlyphsToRender=i}render(e){if(!this._glyphMargin){for(const i of Object.values(this._widgets))i.domNode.setDisplay("none");for(;this._managedDomNodes.length>0;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}return}const t=Math.round(this._glyphMarginWidth/this._glyphMarginDecorationLaneCount);for(const i of Object.values(this._widgets))if(!i.renderInfo)i.domNode.setDisplay("none");else{const r=e.viewportData.relativeVerticalOffset[i.renderInfo.lineNumber-e.viewportData.startLineNumber],g=this._glyphMarginLeft+i.renderInfo.laneIndex*this._lineHeight;i.domNode.setDisplay("block"),i.domNode.setTop(r),i.domNode.setLeft(g),i.domNode.setWidth(t),i.domNode.setHeight(this._lineHeight)}for(let i=0;ithis._decorationGlyphsToRender.length;){const i=this._managedDomNodes.pop();i==null||i.domNode.remove()}}}class DecorationBasedGlyphRenderRequest{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.className=r,this.type=0}accept(e){return new DecorationBasedGlyph(this.lineNumber,this.laneIndex,e)}}class WidgetBasedGlyphRenderRequest{constructor(e,t,i,r){this.lineNumber=e,this.laneIndex=t,this.zIndex=i,this.widget=r,this.type=1}}class DecorationBasedGlyph{constructor(e,t,i){this.lineNumber=e,this.laneIndex=t,this.combinedClassName=i}}class TextModelPart extends Disposable{constructor(){super(...arguments),this._isDisposed=!1}dispose(){super.dispose(),this._isDisposed=!0}assertNotDisposed(){if(this._isDisposed)throw new Error("TextModelPart is disposed!")}}function computeIndentLevel(n,e){let t=0,i=0;const r=n.length;for(;ir)throw new BugIndicatingError("Illegal value for lineNumber");const g=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,y=!!(g&&g.offSide);let k=-2,L=-1,V=-2,z=-1;const j=xe=>{if(k!==-1&&(k===-2||k>xe-1)){k=-1,L=-1;for(let Ie=xe-2;Ie>=0;Ie--){const Ne=this._computeIndentLevel(Ie);if(Ne>=0){k=Ie,L=Ne;break}}}if(V===-2){V=-1,z=-1;for(let Ie=xe;Ie=0){V=Ie,z=Ne;break}}}};let ie=-2,oe=-1,re=-2,ae=-1;const le=xe=>{if(ie===-2){ie=-1,oe=-1;for(let Ie=xe-2;Ie>=0;Ie--){const Ne=this._computeIndentLevel(Ie);if(Ne>=0){ie=Ie,oe=Ne;break}}}if(re!==-1&&(re===-2||re=0){re=Ie,ae=Ne;break}}}};let de=0,ue=!0,he=0,pe=!0,Ce=0,$e=0;for(let xe=0;ue||pe;xe++){const Ie=e-xe,Ne=e+xe;xe>1&&(Ie<1||Ie1&&(Ne>r||Ne>i)&&(pe=!1),xe>5e4&&(ue=!1,pe=!1);let Fe=-1;if(ue&&Ie>=1){const Oe=this._computeIndentLevel(Ie-1);Oe>=0?(V=Ie-1,z=Oe,Fe=Math.ceil(Oe/this.textModel.getOptions().indentSize)):(j(Ie),Fe=this._getIndentLevelForWhitespaceLine(y,L,z))}let Ve=-1;if(pe&&Ne<=r){const Oe=this._computeIndentLevel(Ne-1);Oe>=0?(ie=Ne-1,oe=Oe,Ve=Math.ceil(Oe/this.textModel.getOptions().indentSize)):(le(Ne),Ve=this._getIndentLevelForWhitespaceLine(y,oe,ae))}if(xe===0){$e=Fe;continue}if(xe===1){if(Ne<=r&&Ve>=0&&$e+1===Ve){ue=!1,de=Ne,he=Ne,Ce=Ve;continue}if(Ie>=1&&Fe>=0&&Fe-1===$e){pe=!1,de=Ie,he=Ie,Ce=Fe;continue}if(de=e,he=e,Ce=$e,Ce===0)return{startLineNumber:de,endLineNumber:he,indent:Ce}}ue&&(Fe>=Ce?de=Ie:ue=!1),pe&&(Ve>=Ce?he=Ne:pe=!1)}return{startLineNumber:de,endLineNumber:he,indent:Ce}}getLinesBracketGuides(e,t,i,r){var g;const y=[];for(let ie=e;ie<=t;ie++)y.push([]);const k=!0,L=this.textModel.bracketPairs.getBracketPairsInRangeWithMinIndentation(new Range$2(e,1,t,this.textModel.getLineMaxColumn(t))).toArray();let V;if(i&&L.length>0){const ie=(e<=i.lineNumber&&i.lineNumber<=t?L:this.textModel.bracketPairs.getBracketPairsInRange(Range$2.fromPositions(i)).toArray()).filter(oe=>Range$2.strictContainsPosition(oe.range,i));V=(g=findLast$1(ie,oe=>k))===null||g===void 0?void 0:g.range}const z=this.textModel.getOptions().bracketPairColorizationOptions.independentColorPoolPerBracketType,j=new BracketPairGuidesClassNames;for(const ie of L){if(!ie.closingBracketRange)continue;const oe=V&&ie.range.equalsRange(V);if(!oe&&!r.includeInactive)continue;const re=j.getInlineClassName(ie.nestingLevel,ie.nestingLevelOfEqualBracketType,z)+(r.highlightActive&&oe?" "+j.activeClassName:""),ae=ie.openingBracketRange.getStartPosition(),le=ie.closingBracketRange.getStartPosition(),de=r.horizontalGuides===HorizontalGuidesState.Enabled||r.horizontalGuides===HorizontalGuidesState.EnabledForActive&&oe;if(ie.range.startLineNumber===ie.range.endLineNumber){de&&y[ie.range.startLineNumber-e].push(new IndentGuide(-1,ie.openingBracketRange.getEndPosition().column,re,new IndentGuideHorizontalLine(!1,le.column),-1,-1));continue}const ue=this.getVisibleColumnFromPosition(le),he=this.getVisibleColumnFromPosition(ie.openingBracketRange.getStartPosition()),pe=Math.min(he,ue,ie.minVisibleColumnIndentation+1);let Ce=!1;firstNonWhitespaceIndex(this.textModel.getLineContent(ie.closingBracketRange.startLineNumber))=e&&he>pe&&y[ae.lineNumber-e].push(new IndentGuide(pe,-1,re,new IndentGuideHorizontalLine(!1,ae.column),-1,-1)),le.lineNumber<=t&&ue>pe&&y[le.lineNumber-e].push(new IndentGuide(pe,-1,re,new IndentGuideHorizontalLine(!Ce,le.column),-1,-1)))}for(const ie of y)ie.sort((oe,re)=>oe.visibleColumn-re.visibleColumn);return y}getVisibleColumnFromPosition(e){return CursorColumns.visibleColumnFromColumn(this.textModel.getLineContent(e.lineNumber),e.column,this.textModel.getOptions().tabSize)+1}getLinesIndentGuides(e,t){this.assertNotDisposed();const i=this.textModel.getLineCount();if(e<1||e>i)throw new Error("Illegal value for startLineNumber");if(t<1||t>i)throw new Error("Illegal value for endLineNumber");const r=this.textModel.getOptions(),g=this.getLanguageConfiguration(this.textModel.getLanguageId()).foldingRules,y=!!(g&&g.offSide),k=new Array(t-e+1);let L=-2,V=-1,z=-2,j=-1;for(let ie=e;ie<=t;ie++){const oe=ie-e,re=this._computeIndentLevel(ie-1);if(re>=0){L=ie-1,V=re,k[oe]=Math.ceil(re/r.indentSize);continue}if(L===-2){L=-1,V=-1;for(let ae=ie-2;ae>=0;ae--){const le=this._computeIndentLevel(ae);if(le>=0){L=ae,V=le;break}}}if(z!==-1&&(z===-2||z=0){z=ae,j=le;break}}}k[oe]=this._getIndentLevelForWhitespaceLine(y,V,j)}return k}_getIndentLevelForWhitespaceLine(e,t,i){const r=this.textModel.getOptions();return t===-1||i===-1?0:tL||this._maxIndentLeft>0&&ue>this._maxIndentLeft)break;const he=de.horizontalLine?de.horizontalLine.top?"horizontal-top":"horizontal-bottom":"vertical",pe=de.horizontalLine?((g=(r=e.visibleRangeForPosition(new Position$1(ie,de.horizontalLine.endColumn)))===null||r===void 0?void 0:r.left)!==null&&g!==void 0?g:ue+this._spaceWidth)-ue:this._spaceWidth;ae+='
    ')}j[oe]=ae}this._renderResult=j}getGuidesByLine(e,t,i){const r=this._bracketPairGuideOptions.bracketPairs!==!1?this._context.viewModel.getBracketGuidesInRangeByLine(e,t,i,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?HorizontalGuidesState.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal==="active"?HorizontalGuidesState.EnabledForActive:HorizontalGuidesState.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}):null,g=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null;let y=0,k=0,L=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&i){const j=this._context.viewModel.getActiveIndentGuide(i.lineNumber,e,t);y=j.startLineNumber,k=j.endLineNumber,L=j.indent}const{indentSize:V}=this._context.viewModel.model.getOptions(),z=[];for(let j=e;j<=t;j++){const ie=new Array;z.push(ie);const oe=r?r[j-e]:[],re=new ArrayQueue(oe),ae=g?g[j-e]:0;for(let le=1;le<=ae;le++){const de=(le-1)*V+1,ue=(this._bracketPairGuideOptions.highlightActiveIndentation==="always"||oe.length===0)&&y<=j&&j<=k&&le===L;ie.push(...re.takeWhile(pe=>pe.visibleColumn!0)||[])}return z}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}function transparentToUndefined(n){if(!(n&&n.isTransparent()))return n}registerThemingParticipant((n,e)=>{const t=[{bracketColor:editorBracketHighlightingForeground1,guideColor:editorBracketPairGuideBackground1,guideColorActive:editorBracketPairGuideActiveBackground1},{bracketColor:editorBracketHighlightingForeground2,guideColor:editorBracketPairGuideBackground2,guideColorActive:editorBracketPairGuideActiveBackground2},{bracketColor:editorBracketHighlightingForeground3,guideColor:editorBracketPairGuideBackground3,guideColorActive:editorBracketPairGuideActiveBackground3},{bracketColor:editorBracketHighlightingForeground4,guideColor:editorBracketPairGuideBackground4,guideColorActive:editorBracketPairGuideActiveBackground4},{bracketColor:editorBracketHighlightingForeground5,guideColor:editorBracketPairGuideBackground5,guideColorActive:editorBracketPairGuideActiveBackground5},{bracketColor:editorBracketHighlightingForeground6,guideColor:editorBracketPairGuideBackground6,guideColorActive:editorBracketPairGuideActiveBackground6}],i=new BracketPairGuidesClassNames,r=[{indentColor:editorIndentGuide1,indentColorActive:editorActiveIndentGuide1},{indentColor:editorIndentGuide2,indentColorActive:editorActiveIndentGuide2},{indentColor:editorIndentGuide3,indentColorActive:editorActiveIndentGuide3},{indentColor:editorIndentGuide4,indentColorActive:editorActiveIndentGuide4},{indentColor:editorIndentGuide5,indentColorActive:editorActiveIndentGuide5},{indentColor:editorIndentGuide6,indentColorActive:editorActiveIndentGuide6}],g=t.map(k=>{var L,V;const z=n.getColor(k.bracketColor),j=n.getColor(k.guideColor),ie=n.getColor(k.guideColorActive),oe=transparentToUndefined((L=transparentToUndefined(j))!==null&&L!==void 0?L:z==null?void 0:z.transparent(.3)),re=transparentToUndefined((V=transparentToUndefined(ie))!==null&&V!==void 0?V:z);if(!(!oe||!re))return{guideColor:oe,guideColorActive:re}}).filter(isDefined),y=r.map(k=>{const L=n.getColor(k.indentColor),V=n.getColor(k.indentColorActive),z=transparentToUndefined(L),j=transparentToUndefined(V);if(!(!z||!j))return{indentColor:z,indentColorActive:j}}).filter(isDefined);if(g.length>0){for(let k=0;k<30;k++){const L=g[k%g.length];e.addRule(".monaco-editor .".concat(i.getInlineClassNameOfLevel(k).replace(/ /g,".")," { --guide-color: ").concat(L.guideColor,"; --guide-color-active: ").concat(L.guideColorActive,"; }"))}e.addRule(".monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }"),e.addRule(".monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }"),e.addRule(".monaco-editor .vertical.".concat(i.activeClassName," { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }")),e.addRule(".monaco-editor .horizontal-top.".concat(i.activeClassName," { border-top: 1px solid var(--guide-color-active); }")),e.addRule(".monaco-editor .horizontal-bottom.".concat(i.activeClassName," { border-bottom: 1px solid var(--guide-color-active); }"))}if(y.length>0){for(let k=0;k<30;k++){const L=y[k%y.length];e.addRule(".monaco-editor .lines-content .core-guide-indent.lvl-".concat(k," { --indent-color: ").concat(L.indentColor,"; --indent-color-active: ").concat(L.indentColorActive,"; }"))}e.addRule(".monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 var(--indent-color) inset; }"),e.addRule(".monaco-editor .lines-content .core-guide-indent.indent-active { box-shadow: 1px 0 0 0 var(--indent-color-active) inset; }")}});class DomReadingContext{get didDomLayout(){return this._didDomLayout}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;const e=this._domNode.getBoundingClientRect();this.markDidDomLayout(),this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}constructor(e,t){this._domNode=e,this.endNode=t,this._didDomLayout=!1,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1}markDidDomLayout(){this._didDomLayout=!0}}class LastRenderedData{constructor(){this._currentVisibleRange=new Range$2(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}}class HorizontalRevealRangeRequest{constructor(e,t,i,r,g,y,k){this.minimalReveal=e,this.lineNumber=t,this.startColumn=i,this.endColumn=r,this.startScrollTop=g,this.stopScrollTop=y,this.scrollType=k,this.type="range",this.minLineNumber=t,this.maxLineNumber=t}}class HorizontalRevealSelectionsRequest{constructor(e,t,i,r,g){this.minimalReveal=e,this.selections=t,this.startScrollTop=i,this.stopScrollTop=r,this.scrollType=g,this.type="selections";let y=t[0].startLineNumber,k=t[0].endLineNumber;for(let L=1,V=t.length;L{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new RunOnceScheduler(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new LastRenderedData,this._horizontalRevealRequest=null,this._stickyScrollEnabled=r.get(115).enabled,this._maxNumberStickyLines=r.get(115).maxLineCount}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new ViewLine(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(146)&&(this._maxLineWidth=0);const t=this._context.configuration.options,i=t.get(50),r=t.get(146);return this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(100),this._cursorSurroundingLines=t.get(29),this._cursorSurroundingLinesStyle=t.get(30),this._canUseLayerHinting=!t.get(32),this._stickyScrollEnabled=t.get(115).enabled,this._maxNumberStickyLines=t.get(115).maxLineCount,applyFontInfo(this.domNode,i),this._onOptionsMaybeChanged(),e.hasChanged(145)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){const e=this._context.configuration,t=new ViewLineOptions(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++)this._visibleLines.getVisibleLine(g).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=!1;for(let g=t;g<=i;g++)r=this._visibleLines.getVisibleLine(g).onSelectionChanged()||r;return r}onDecorationsChanged(e){{const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();for(let r=t;r<=i;r++)this._visibleLines.getVisibleLine(r).onDecorationsChanged()}return!0}onFlushed(e){const t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){const t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let i=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?i={scrollTop:i.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new HorizontalRevealRangeRequest(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new HorizontalRevealSelectionsRequest(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),i.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;const g=Math.abs(this._context.viewLayout.getCurrentScrollTop()-i.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(i,g),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){const t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),i=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTopi)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){const i=this._getViewLineDomNode(e);if(i===null)return null;const r=this._getLineNumberFor(i);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new Position$1(r,1);const g=this._visibleLines.getStartLineNumber(),y=this._visibleLines.getEndLineNumber();if(ry)return null;let k=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(e,t);const L=this._context.viewModel.getLineMinColumn(r);return ki)return-1;const r=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),g=this._visibleLines.getVisibleLine(e).getWidth(r);return this._updateLineWidthsSlowIfDomDidLayout(r),g}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;const i=e.endLineNumber,r=Range$2.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;const g=[];let y=0;const k=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot);let L=0;t&&(L=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(r.startLineNumber,1)).lineNumber);const V=this._visibleLines.getStartLineNumber(),z=this._visibleLines.getEndLineNumber();for(let j=r.startLineNumber;j<=r.endLineNumber;j++){if(jz)continue;const ie=j===r.startLineNumber?r.startColumn:1,oe=j!==r.endLineNumber,re=oe?this._context.viewModel.getLineMaxColumn(j):r.endColumn,ae=this._visibleLines.getVisibleLine(j).getVisibleRangesForRange(j,ie,re,k);if(ae){if(t&&jthis._visibleLines.getEndLineNumber())return null;const r=new DomReadingContext(this.domNode.domNode,this._textRangeRestingSpot),g=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,i,r);return this._updateLineWidthsSlowIfDomDidLayout(r),g}visibleRangeForPosition(e){const t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new HorizontalPosition(t.outsideRenderedLine,t.ranges[0].left):null}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidthsSlowIfDomDidLayout(e){e.didDomLayout&&(this._asyncUpdateLineWidths.isScheduled()||(this._asyncUpdateLineWidths.cancel(),this._updateLineWidthsSlow()))}_updateLineWidths(e){const t=this._visibleLines.getStartLineNumber(),i=this._visibleLines.getEndLineNumber();let r=1,g=!0;for(let y=t;y<=i;y++){const k=this._visibleLines.getVisibleLine(y);if(e&&!k.getWidthIsFast()){g=!1;continue}r=Math.max(r,k.getWidth(null))}return g&&t===1&&i===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),g}_checkMonospaceFontAssumptions(){let e=-1,t=-1;const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++){const y=this._visibleLines.getVisibleLine(g);if(y.needsMonospaceFontCheck()){const k=y.getWidth(null);k>t&&(t=k,e=g)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let g=i;g<=r;g++)this._visibleLines.getVisibleLine(g).onMonospaceAssumptionsInvalidated()}prepareRender(){throw new Error("Not supported")}render(){throw new Error("Not supported")}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){const i=this._horizontalRevealRequest;if(e.startLineNumber<=i.minLineNumber&&i.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();const r=this._computeScrollLeftToReveal(i);r&&(this._isViewportWrapping||this._ensureMaxLineWidth(r.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:r.scrollLeft},i.scrollType))}}if(this._updateLineWidthsFast()?this._asyncUpdateLineWidths.cancel():this._asyncUpdateLineWidths.schedule(),isLinux&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){const i=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let g=i;g<=r;g++)if(this._visibleLines.getVisibleLine(g).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain("strict");const t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){const t=Math.ceil(e);this._maxLineWidth0){let de=g[0].startLineNumber,ue=g[0].endLineNumber;for(let he=1,pe=g.length;heL){if(!z)return-1;le=j}else if(y===5||y===6)if(y===6&&k<=j&&ie<=V)le=k;else{const de=Math.max(5*this._lineHeight,L*.2),ue=j-de,he=ie-L;le=Math.max(he,ue)}else if(y===1||y===2)if(y===2&&k<=j&&ie<=V)le=k;else{const de=(j+ie)/2;le=Math.max(0,de-L/2)}else le=this._computeMinimumScrolling(k,V,j,ie,y===3,y===4);return le}_computeScrollLeftToReveal(e){const t=this._context.viewLayout.getCurrentViewport(),i=this._context.configuration.options.get(145),r=t.left,g=r+t.width-i.verticalScrollbarWidth;let y=1073741824,k=0;if(e.type==="range"){const V=this._visibleRangesForLineRange(e.lineNumber,e.startColumn,e.endColumn);if(!V)return null;for(const z of V.ranges)y=Math.min(y,Math.round(z.left)),k=Math.max(k,Math.round(z.left+z.width))}else for(const V of e.selections){if(V.startLineNumber!==V.endLineNumber)return null;const z=this._visibleRangesForLineRange(V.startLineNumber,V.startColumn,V.endColumn);if(!z)return null;for(const j of z.ranges)y=Math.min(y,Math.round(j.left)),k=Math.max(k,Math.round(j.left+j.width))}return e.minimalReveal||(y=Math.max(0,y-ViewLines.HORIZONTAL_EXTRA_PX),k+=this._revealHorizontalRightPadding),e.type==="selections"&&k-y>t.width?null:{scrollLeft:this._computeMinimumScrolling(r,g,y,k),maxHorizontalOffset:k}}_computeMinimumScrolling(e,t,i,r,g,y){e=e|0,t=t|0,i=i|0,r=r|0,g=!!g,y=!!y;const k=t-e;if(r-it)return Math.max(0,r-k)}else return i;return e}}ViewLines.HORIZONTAL_EXTRA_PX=30;class LinesDecorationsOverlay extends DedupOverlay{constructor(e){super(),this._context=e;const i=this._context.configuration.options.get(145);this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._decorationsLeft=i.decorationsLeft,this._decorationsWidth=i.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){var t,i;const r=e.getDecorationsInViewport(),g=[];let y=0;for(let k=0,L=r.length;k',L=[];for(let V=t;V<=i;V++){const z=V-t,j=r[z].getDecorations();let ie="";for(const oe of j){let re='
    ';g[k]=V}this._renderResult=g}render(e,t){return this._renderResult?this._renderResult[t-e]:""}}class RGBA8{constructor(e,t,i,r){this._rgba8Brand=void 0,this.r=RGBA8._clamp(e),this.g=RGBA8._clamp(t),this.b=RGBA8._clamp(i),this.a=RGBA8._clamp(r)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}}RGBA8.Empty=new RGBA8(0,0,0,0);class MinimapTokensColorTracker extends Disposable{static getInstance(){return this._INSTANCE||(this._INSTANCE=new MinimapTokensColorTracker),this._INSTANCE}constructor(){super(),this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(TokenizationRegistry.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}_updateColorMap(){const e=TokenizationRegistry.getColorMap();if(!e){this._colors=[RGBA8.Empty],this._backgroundIsLight=!0;return}this._colors=[RGBA8.Empty];for(let i=1;i=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}}MinimapTokensColorTracker._INSTANCE=null;const allCharCodes=(()=>{const n=[];for(let e=32;e<=126;e++)n.push(e);return n.push(65533),n})(),getCharIndex=(n,e)=>(n-=32,n<0||n>96?e<=2?(n+96)%96:95:n);class MinimapCharRenderer{constructor(e,t){this.scale=t,this._minimapCharRendererBrand=void 0,this.charDataNormal=MinimapCharRenderer.soften(e,12/15),this.charDataLight=MinimapCharRenderer.soften(e,50/60)}static soften(e,t){const i=new Uint8ClampedArray(e.length);for(let r=0,g=e.length;re.width||i+re>e.height){console.warn("bad render request outside image data");return}const ae=z?this.charDataLight:this.charDataNormal,le=getCharIndex(r,V),de=e.width*4,ue=k.r,he=k.g,pe=k.b,Ce=g.r-ue,$e=g.g-he,xe=g.b-pe,Ie=Math.max(y,L),Ne=e.data;let Fe=le*ie*oe,Ve=i*de+t*4;for(let Oe=0;Oee.width||i+j>e.height){console.warn("bad render request outside image data");return}const ie=e.width*4,oe=.5*(g/255),re=y.r,ae=y.g,le=y.b,de=r.r-re,ue=r.g-ae,he=r.b-le,pe=re+de*oe,Ce=ae+ue*oe,$e=le+he*oe,xe=Math.max(g,k),Ie=e.data;let Ne=i*ie+t*4;for(let Fe=0;Fe{const e=new Uint8ClampedArray(n.length/2);for(let t=0;t>1]=charTable[n[t]]<<4|charTable[n[t+1]]&15;return e},prebakedMiniMaps={1:createSingleCallFunction(()=>decodeData("0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792")),2:createSingleCallFunction(()=>decodeData("000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126"))};class MinimapCharRendererFactory{static create(e,t){if(this.lastCreated&&e===this.lastCreated.scale&&t===this.lastFontFamily)return this.lastCreated;let i;return prebakedMiniMaps[e]?i=new MinimapCharRenderer(prebakedMiniMaps[e](),e):i=MinimapCharRendererFactory.createFromSampleData(MinimapCharRendererFactory.createSampleData(t).data,e),this.lastFontFamily=t,this.lastCreated=i,i}static createSampleData(e){const t=document.createElement("canvas"),i=t.getContext("2d");t.style.height="16px",t.height=16,t.width=96*10,t.style.width=96*10+"px",i.fillStyle="#ffffff",i.font="bold 16px ".concat(e),i.textBaseline="middle";let r=0;for(const g of allCharCodes)i.fillText(String.fromCharCode(g),r,16/2),r+=10;return i.getImageData(0,0,96*10,16)}static createFromSampleData(e,t){if(e.length!==61440)throw new Error("Unexpected source in MinimapCharRenderer");const r=MinimapCharRendererFactory._downsample(e,t);return new MinimapCharRenderer(r,t)}static _downsampleChar(e,t,i,r,g){const y=1*g,k=2*g;let L=r,V=0;for(let z=0;z0){const V=255/L;for(let z=0;zMinimapCharRendererFactory.create(this.fontScale,L.fontFamily)),this.defaultBackgroundColor=i.getColor(2),this.backgroundColor=MinimapOptions._getMinimapBackground(t,this.defaultBackgroundColor),this.foregroundAlpha=MinimapOptions._getMinimapForegroundOpacity(t)}static _getMinimapBackground(e,t){const i=e.getColor(minimapBackground);return i?new RGBA8(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}static _getMinimapForegroundOpacity(e){const t=e.getColor(minimapForegroundOpacity);return t?RGBA8._clamp(Math.round(255*t.rgba.a)):255}static _getSectionHeaderColor(e,t){const i=e.getColor(editorForeground);return i?new RGBA8(i.rgba.r,i.rgba.g,i.rgba.b,Math.round(255*i.rgba.a)):t}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.paddingTop===e.paddingTop&&this.paddingBottom===e.paddingBottom&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.sectionHeaderFontSize===e.sectionHeaderFontSize&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}}class MinimapLayout{constructor(e,t,i,r,g,y,k,L,V){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=i,this._computedSliderRatio=r,this.sliderTop=g,this.sliderHeight=y,this.topPaddingLineCount=k,this.startLineNumber=L,this.endLineNumber=V}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}intersectWithViewport(e){const t=Math.max(this.startLineNumber,e.startLineNumber),i=Math.min(this.endLineNumber,e.endLineNumber);return t>i?null:[t,i]}getYForLineNumber(e,t){return+(e-this.startLineNumber+this.topPaddingLineCount)*t}static create(e,t,i,r,g,y,k,L,V,z,j){const ie=e.pixelRatio,oe=e.minimapLineHeight,re=Math.floor(e.canvasInnerHeight/oe),ae=e.lineHeight;if(e.minimapHeightIsEditorHeight){let $e=L*e.lineHeight+e.paddingTop+e.paddingBottom;e.scrollBeyondLastLine&&($e+=Math.max(0,g-e.lineHeight-e.paddingBottom));const xe=Math.max(1,Math.floor(g*g/$e)),Ie=Math.max(0,e.minimapHeight-xe),Ne=Ie/(z-g),Fe=V*Ne,Ve=Ie>0,Oe=Math.floor(e.canvasInnerHeight/e.minimapLineHeight),ze=Math.floor(e.paddingTop/e.lineHeight);return new MinimapLayout(V,z,Ve,Ne,Fe,xe,ze,1,Math.min(k,Oe))}let le;if(y&&i!==k){const $e=i-t+1;le=Math.floor($e*oe/ie)}else{const $e=g/ae;le=Math.floor($e*oe/ie)}const de=Math.floor(e.paddingTop/ae);let ue=Math.floor(e.paddingBottom/ae);if(e.scrollBeyondLastLine){const $e=g/ae;ue=Math.max(ue,$e-1)}let he;if(ue>0){const $e=g/ae;he=(de+k+ue-$e-1)*oe/ie}else he=Math.max(0,(de+k)*oe/ie-le);he=Math.min(e.minimapHeight-le,he);const pe=he/(z-g),Ce=V*pe;if(re>=de+k+ue){const $e=he>0;return new MinimapLayout(V,z,$e,pe,Ce,le,de,1,k)}else{let $e;t>1?$e=t+de:$e=Math.max(1,V/ae);let xe,Ie=Math.max(1,Math.floor($e-Ce*ie/oe));IeV&&(Ie=Math.min(Ie,j.startLineNumber),xe=Math.max(xe,j.topPaddingLineCount)),j.scrollTop=e.paddingTop?Ve=(t-Ie+xe+Fe)*oe/ie:Ve=V/e.paddingTop*(xe+Fe)*oe/ie,new MinimapLayout(V,z,!0,pe,Ve,le,xe,Ie,Ne)}}}class MinimapLine{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}}MinimapLine.INVALID=new MinimapLine(-1);class RenderData{constructor(e,t,i){this.renderedLayout=e,this._imageData=t,this._renderedLines=new RenderedLinesCollection(()=>MinimapLine.INVALID),this._renderedLines._set(e.startLineNumber,i)}linesEquals(e){if(!this.scrollEquals(e))return!1;const i=this._renderedLines._get().lines;for(let r=0,g=i.length;r1){for(let de=0,ue=r-1;de0&&this.minimapLines[i-1]>=e;)i--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1t)return null}return[i+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let i=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===i&&(r===this.minimapLines.length?i>1&&i--:r++),[i,r]}onLinesDeleted(e){const t=e.toLineNumber-e.fromLineNumber+1;let i=this.minimapLines.length,r=0;for(let g=this.minimapLines.length-1;g>=0&&!(this.minimapLines[g]=0&&!(this.minimapLines[i]0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:i,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;const e=!!this._samplingState,[t,i]=MinimapSamplingState.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(const r of i)switch(r.type){case"deleted":this._actual.onLinesDeleted(r.deleteFromLineNumber,r.deleteToLineNumber);break;case"inserted":this._actual.onLinesInserted(r.insertFromLineNumber,r.insertToLineNumber);break;case"flush":this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,i){if(this._samplingState){const r=[];for(let g=0,y=t-e+1;g{var g;return!(!((g=r.options.minimap)===null||g===void 0)&&g.sectionHeaderStyle)});if(this._samplingState){const r=[];for(const g of i){if(!g.options.minimap)continue;const y=g.range,k=this._samplingState.modelLineToMinimapLine(y.startLineNumber),L=this._samplingState.modelLineToMinimapLine(y.endLineNumber);r.push(new ViewModelDecoration(new Range$2(k,y.startColumn,L,y.endColumn),g.options))}return r}return i}getSectionHeaderDecorationsInViewport(e,t){const i=this.options.minimapLineHeight,g=this.options.sectionHeaderFontSize/i;return e=Math.floor(Math.max(1,e-g)),this._getMinimapDecorationsInViewport(e,t).filter(y=>{var k;return!!(!((k=y.options.minimap)===null||k===void 0)&&k.sectionHeaderStyle)})}_getMinimapDecorationsInViewport(e,t){let i;if(this._samplingState){const r=this._samplingState.minimapLines[e-1],g=this._samplingState.minimapLines[t-1];i=new Range$2(r,1,g,this._context.viewModel.getLineMaxColumn(g))}else i=new Range$2(e,1,t,this._context.viewModel.getLineMaxColumn(t));return this._context.viewModel.getMinimapDecorationsInRange(i)}getSectionHeaderText(e,t){var i;const r=(i=e.options.minimap)===null||i===void 0?void 0:i.sectionHeaderText;if(!r)return null;const g=this._sectionHeaderCache.get(r);if(g)return g;const y=t(r);return this._sectionHeaderCache.set(r,y),y}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange("mouse",!1,new Range$2(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}}class InnerMinimap extends Disposable{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(minimapSelection),this._domNode=createFastDomNode(document.createElement("div")),PartFingerprints.write(this._domNode,9),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition("absolute"),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._shadow=createFastDomNode(document.createElement("div")),this._shadow.setClassName("minimap-shadow-hidden"),this._domNode.appendChild(this._shadow),this._canvas=createFastDomNode(document.createElement("canvas")),this._canvas.setPosition("absolute"),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=createFastDomNode(document.createElement("canvas")),this._decorationsCanvas.setPosition("absolute"),this._decorationsCanvas.setClassName("minimap-decorations-layer"),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=createFastDomNode(document.createElement("div")),this._slider.setPosition("absolute"),this._slider.setClassName("minimap-slider"),this._slider.setLayerHinting(!0),this._slider.setContain("strict"),this._domNode.appendChild(this._slider),this._sliderHorizontal=createFastDomNode(document.createElement("div")),this._sliderHorizontal.setPosition("absolute"),this._sliderHorizontal.setClassName("minimap-slider-horizontal"),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=addStandardDisposableListener(this._domNode.domNode,EventType$1.POINTER_DOWN,i=>{if(i.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!=="proportional"){if(i.button===0&&this._lastRenderData){const V=getDomNodePagePosition(this._slider.domNode),z=V.top+V.height/2;this._startSliderDragging(i,z,this._lastRenderData.renderedLayout)}return}const g=this._model.options.minimapLineHeight,y=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*i.offsetY;let L=Math.floor(y/g)+this._lastRenderData.renderedLayout.startLineNumber-this._lastRenderData.renderedLayout.topPaddingLineCount;L=Math.min(L,this._model.getLineCount()),this._model.revealLineNumber(L)}),this._sliderPointerMoveMonitor=new GlobalPointerMoveMonitor,this._sliderPointerDownListener=addStandardDisposableListener(this._slider.domNode,EventType$1.POINTER_DOWN,i=>{i.preventDefault(),i.stopPropagation(),i.button===0&&this._lastRenderData&&this._startSliderDragging(i,i.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=Gesture.addTarget(this._domNode.domNode),this._sliderTouchStartListener=addDisposableListener(this._domNode.domNode,EventType.Start,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName("active",!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(i))},{passive:!1}),this._sliderTouchMoveListener=addDisposableListener(this._domNode.domNode,EventType.Change,i=>{i.preventDefault(),i.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(i)},{passive:!1}),this._sliderTouchEndListener=addStandardDisposableListener(this._domNode.domNode,EventType.End,i=>{i.preventDefault(),i.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName("active",!1)})}_startSliderDragging(e,t,i){if(!e.target||!(e.target instanceof Element))return;const r=e.pageX;this._slider.toggleClassName("active",!0);const g=(y,k)=>{const L=getDomNodePagePosition(this._domNode.domNode),V=Math.min(Math.abs(k-r),Math.abs(k-L.left),Math.abs(k-L.left-L.width));if(isWindows&&V>POINTER_DRAG_RESET_DISTANCE){this._model.setScrollTop(i.scrollTop);return}const z=y-t;this._model.setScrollTop(i.getDesiredScrollTopFromDelta(z))};e.pageY!==t&&g(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,y=>g(y.pageY,y.pageX),()=>{this._slider.toggleClassName("active",!1)})}scrollDueToTouchEvent(e){const t=this._domNode.domNode.getBoundingClientRect().top,i=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(i)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){const e=["minimap"];return this._model.options.showSlider==="always"?e.push("slider-always"):e.push("slider-mouseover"),this._model.options.autohide&&e.push("autohide"),e.join(" ")}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new MinimapBuffers(this._canvas.domNode.getContext("2d"),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var i;return(i=this._lastRenderData)===null||i===void 0||i.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(minimapSelection),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName("minimap-shadow-hidden"),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName("minimap-shadow-hidden"):this._shadow.setClassName("minimap-shadow-visible");const i=MinimapLayout.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(i.sliderNeeded?"block":"none"),this._slider.setTop(i.sliderTop),this._slider.setHeight(i.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(i.sliderHeight),this.renderDecorations(i),this._lastRenderData=this.renderLines(i)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;const t=this._model.getSelections();t.sort(Range$2.compareRangesUsingStarts);const i=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);i.sort((ie,oe)=>(ie.options.zIndex||0)-(oe.options.zIndex||0));const{canvasInnerWidth:r,canvasInnerHeight:g}=this._model.options,y=this._model.options.minimapLineHeight,k=this._model.options.minimapCharWidth,L=this._model.getOptions().tabSize,V=this._decorationsCanvas.domNode.getContext("2d");V.clearRect(0,0,r,g);const z=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(V,t,z,e,y),this._renderDecorationsLineHighlights(V,i,z,e,y);const j=new ContiguousLineMap(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(V,t,j,e,y,L,k,r),this._renderDecorationsHighlights(V,i,j,e,y,L,k,r),this._renderSectionHeaders(e)}}_renderSelectionLineHighlights(e,t,i,r,g){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let y=0,k=0;for(const L of t){const V=r.intersectWithViewport(L);if(!V)continue;const[z,j]=V;for(let re=z;re<=j;re++)i.set(re,!0);const ie=r.getYForLineNumber(z,g),oe=r.getYForLineNumber(j,g);k>=ie||(k>y&&e.fillRect(MINIMAP_GUTTER_WIDTH,y,e.canvas.width,k-y),y=ie),k=oe}k>y&&e.fillRect(MINIMAP_GUTTER_WIDTH,y,e.canvas.width,k-y)}_renderDecorationsLineHighlights(e,t,i,r,g){const y=new Map;for(let k=t.length-1;k>=0;k--){const L=t[k],V=L.options.minimap;if(!V||V.position!==1)continue;const z=r.intersectWithViewport(L.range);if(!z)continue;const[j,ie]=z,oe=V.getColor(this._theme.value);if(!oe||oe.isTransparent())continue;let re=y.get(oe.toString());re||(re=oe.transparent(.5).toString(),y.set(oe.toString(),re)),e.fillStyle=re;for(let ae=j;ae<=ie;ae++){if(i.has(ae))continue;i.set(ae,!0);const le=r.getYForLineNumber(j,g);e.fillRect(MINIMAP_GUTTER_WIDTH,le,e.canvas.width,g)}}}_renderSelectionsHighlights(e,t,i,r,g,y,k,L){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(const V of t){const z=r.intersectWithViewport(V);if(!z)continue;const[j,ie]=z;for(let oe=j;oe<=ie;oe++)this.renderDecorationOnLine(e,i,V,this._selectionColor,r,oe,g,g,y,k,L)}}_renderDecorationsHighlights(e,t,i,r,g,y,k,L){for(const V of t){const z=V.options.minimap;if(!z)continue;const j=r.intersectWithViewport(V.range);if(!j)continue;const[ie,oe]=j,re=z.getColor(this._theme.value);if(!(!re||re.isTransparent()))for(let ae=ie;ae<=oe;ae++)switch(z.position){case 1:this.renderDecorationOnLine(e,i,V.range,re,r,ae,g,g,y,k,L);continue;case 2:{const le=r.getYForLineNumber(ae,g);this.renderDecoration(e,re,2,le,GUTTER_DECORATION_WIDTH,g);continue}}}}renderDecorationOnLine(e,t,i,r,g,y,k,L,V,z,j){const ie=g.getYForLineNumber(y,L);if(ie+k<0||ie>this._model.options.canvasInnerHeight)return;const{startLineNumber:oe,endLineNumber:re}=i,ae=oe===y?i.startColumn:1,le=re===y?i.endColumn:this._model.getLineMaxColumn(y),de=this.getXOffsetForPosition(t,y,ae,V,z,j),ue=this.getXOffsetForPosition(t,y,le,V,z,j);this.renderDecoration(e,r,de,ie,ue-de,k)}getXOffsetForPosition(e,t,i,r,g,y){if(i===1)return MINIMAP_GUTTER_WIDTH;if((i-1)*g>=y)return y;let L=e.get(t);if(!L){const V=this._model.getLineContent(t);L=[MINIMAP_GUTTER_WIDTH];let z=MINIMAP_GUTTER_WIDTH;for(let j=1;j=y){L[j]=y;break}L[j]=re,z=re}e.set(t,L)}return i-1ae.range.startLineNumber-le.range.startLineNumber);const re=InnerMinimap._fitSectionHeader.bind(null,ie,y-MINIMAP_GUTTER_WIDTH);for(const ae of oe){const le=e.getYForLineNumber(ae.range.startLineNumber,i)+r,de=le-r,ue=de+2,he=this._model.getSectionHeaderText(ae,re);InnerMinimap._renderSectionLabel(ie,he,((t=ae.options.minimap)===null||t===void 0?void 0:t.sectionHeaderStyle)===2,L,z,y,de,g,le,ue)}}static _fitSectionHeader(e,t,i){if(!i)return i;const r="…",g=e.measureText(i).width,y=e.measureText(r).width;if(g<=t||g<=y)return i;const k=i.length,L=g/i.length,V=Math.floor((t-y)/L)-1;let z=Math.ceil(V/2);for(;z>0&&/\s/.test(i[z-1]);)--z;return i.substring(0,z)+r+i.substring(k-(V-z))}static _renderSectionLabel(e,t,i,r,g,y,k,L,V,z){t&&(e.fillStyle=r,e.fillRect(0,k,y,L),e.fillStyle=g,e.fillText(t,MINIMAP_GUTTER_WIDTH,V)),i&&(e.beginPath(),e.moveTo(0,z),e.lineTo(y,z),e.closePath(),e.stroke())}renderLines(e){const t=e.startLineNumber,i=e.endLineNumber,r=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(e)){const Ue=this._lastRenderData._get();return new RenderData(e,Ue.imageData,Ue.lines)}const g=this._getBuffer();if(!g)return null;const[y,k,L]=InnerMinimap._renderUntouchedLines(g,e.topPaddingLineCount,t,i,r,this._lastRenderData),V=this._model.getMinimapLinesRenderingData(t,i,L),z=this._model.getOptions().tabSize,j=this._model.options.defaultBackgroundColor,ie=this._model.options.backgroundColor,oe=this._model.options.foregroundAlpha,re=this._model.tokensColorTracker,ae=re.backgroundIsLight(),le=this._model.options.renderMinimap,de=this._model.options.charRenderer(),ue=this._model.options.fontScale,he=this._model.options.minimapCharWidth,Ce=(le===1?2:3)*ue,$e=r>Ce?Math.floor((r-Ce)/2):0,xe=ie.a/255,Ie=new RGBA8(Math.round((ie.r-j.r)*xe+j.r),Math.round((ie.g-j.g)*xe+j.g),Math.round((ie.b-j.b)*xe+j.b),255);let Ne=e.topPaddingLineCount*r;const Fe=[];for(let Ue=0,Et=i-t+1;Ue=0&&Veue)return;const Oe=le.charCodeAt(Ce);if(Oe===9){const ze=ie-(Ce+$e)%ie;$e+=ze-1,pe+=ze*y}else if(Oe===32)pe+=y;else{const ze=isFullWidthCharacter(Oe)?2:1;for(let qe=0;qeue)return}}}}}class ContiguousLineMap{constructor(e,t,i){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=i,this._values=[];for(let r=0,g=this._endLineNumber-this._startLineNumber+1;rthis._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return ethis._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}}class ViewOverlayWidgets extends ViewPart{constructor(e,t){super(e),this._viewDomNode=t;const r=this._context.configuration.options.get(145);this._widgets={},this._verticalScrollbarWidth=r.verticalScrollbarWidth,this._minimapWidth=r.minimap.minimapWidth,this._horizontalScrollbarHeight=r.horizontalScrollbarHeight,this._editorHeight=r.height,this._editorWidth=r.width,this._viewDomNodeRect={top:0,left:0,width:0,height:0},this._domNode=createFastDomNode(document.createElement("div")),PartFingerprints.write(this._domNode,4),this._domNode.setClassName("overlayWidgets"),this.overflowingOverlayWidgetsDomNode=createFastDomNode(document.createElement("div")),PartFingerprints.write(this.overflowingOverlayWidgetsDomNode,5),this.overflowingOverlayWidgetsDomNode.setClassName("overflowingOverlayWidgets")}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){const i=this._context.configuration.options.get(145);return this._verticalScrollbarWidth=i.verticalScrollbarWidth,this._minimapWidth=i.minimap.minimapWidth,this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._editorHeight=i.height,this._editorWidth=i.width,!0}addWidget(e){const t=createFastDomNode(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition("absolute"),t.setAttribute("widgetId",e.getId()),e.allowEditorOverflow?this.overflowingOverlayWidgetsDomNode.appendChild(t):this._domNode.appendChild(t),this.setShouldRender(),this._updateMaxMinWidth()}setWidgetPosition(e,t){const i=this._widgets[e.getId()];return i.preference===t?(this._updateMaxMinWidth(),!1):(i.preference=t,this.setShouldRender(),this._updateMaxMinWidth(),!0)}removeWidget(e){const t=e.getId();if(this._widgets.hasOwnProperty(t)){const r=this._widgets[t].domNode.domNode;delete this._widgets[t],r.remove(),this.setShouldRender(),this._updateMaxMinWidth()}}_updateMaxMinWidth(){var e,t;let i=0;const r=Object.keys(this._widgets);for(let g=0,y=r.length;g=3){const g=Math.floor(r/3),y=Math.floor(r/3),k=r-g-y,L=e,V=L+g,z=L+g+k;return[[0,L,V,L,z,L,V,L],[0,g,k,g+k,y,g+k+y,k+y,g+k+y]]}else if(i===2){const g=Math.floor(r/2),y=r-g,k=e,L=k+g;return[[0,k,k,k,L,k,k,k],[0,g,g,g,y,g+y,g+y,g+y]]}else{const g=e,y=r;return[[0,g,g,g,g,g,g,g],[0,y,y,y,y,y,y,y]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColorSingle===e.cursorColorSingle&&this.cursorColorPrimary===e.cursorColorPrimary&&this.cursorColorSecondary===e.cursorColorSecondary&&this.themeType===e.themeType&&Color$1.equals(this.backgroundColor,e.backgroundColor)&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}}class DecorationsOverviewRuler extends ViewPart{constructor(e){super(e),this._actualShouldRender=0,this._renderedDecorations=[],this._renderedCursorPositions=[],this._domNode=createFastDomNode(document.createElement("canvas")),this._domNode.setClassName("decorationsOverviewRuler"),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._domNode.setAttribute("aria-hidden","true"),this._updateSettings(!1),this._tokensColorTrackerListener=TokenizationRegistry.onDidChange(t=>{t.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[{position:new Position$1(1,1),color:this._settings.cursorColorSingle}]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){const t=new Settings(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}_markRenderingIsNeeded(){return this._actualShouldRender=2,!0}_markRenderingIsMaybeNeeded(){return this._actualShouldRender=1,!0}onConfigurationChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,i=e.selections.length;t1&&(r=t===0?this._settings.cursorColorPrimary:this._settings.cursorColorSecondary),this._cursorPositions.push({position:e.selections[t].getPosition(),color:r})}return this._cursorPositions.sort((t,i)=>Position$1.compare(t.position,i.position)),this._markRenderingIsMaybeNeeded()}onDecorationsChanged(e){return e.affectsOverviewRuler?this._markRenderingIsMaybeNeeded():!1}onFlushed(e){return this._markRenderingIsNeeded()}onScrollChanged(e){return e.scrollHeightChanged?this._markRenderingIsNeeded():!1}onZonesChanged(e){return this._markRenderingIsNeeded()}onThemeChanged(e){return this._updateSettings(!1)?this._markRenderingIsNeeded():!1}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render(),this._actualShouldRender=0}_render(){const e=this._settings.backgroundColor;if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(e?Color$1.Format.CSS.formatHexA(e):""),this._domNode.setDisplay("none");return}const t=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme);if(t.sort(OverviewRulerDecorationsGroup.compareByRenderingProps),this._actualShouldRender===1&&!OverviewRulerDecorationsGroup.equalsArr(this._renderedDecorations,t)&&(this._actualShouldRender=2),this._actualShouldRender===1&&!equals$3(this._renderedCursorPositions,this._cursorPositions,(re,ae)=>re.position.lineNumber===ae.position.lineNumber&&re.color===ae.color)&&(this._actualShouldRender=2),this._actualShouldRender===1)return;this._renderedDecorations=t,this._renderedCursorPositions=this._cursorPositions,this._domNode.setDisplay("block");const i=this._settings.canvasWidth,r=this._settings.canvasHeight,g=this._settings.lineHeight,y=this._context.viewLayout,k=this._context.viewLayout.getScrollHeight(),L=r/k,V=6*this._settings.pixelRatio|0,z=V/2|0,j=this._domNode.domNode.getContext("2d");e?e.isOpaque()?(j.fillStyle=Color$1.Format.CSS.formatHexA(e),j.fillRect(0,0,i,r)):(j.clearRect(0,0,i,r),j.fillStyle=Color$1.Format.CSS.formatHexA(e),j.fillRect(0,0,i,r)):j.clearRect(0,0,i,r);const ie=this._settings.x,oe=this._settings.w;for(const re of t){const ae=re.color,le=re.data;j.fillStyle=ae;let de=0,ue=0,he=0;for(let pe=0,Ce=le.length/3;per&&(Oe=r-z),Ne=Oe-z,Fe=Oe+z}Ne>he+1||$e!==de?(pe!==0&&j.fillRect(ie[de],ue,oe[de],he-ue),de=$e,ue=Ne,he=Fe):Fe>he&&(he=Fe)}j.fillRect(ie[de],ue,oe[de],he-ue)}if(!this._settings.hideCursor){const re=2*this._settings.pixelRatio|0,ae=re/2|0,le=this._settings.x[7],de=this._settings.w[7];let ue=-100,he=-100,pe=null;for(let Ce=0,$e=this._cursorPositions.length;Ce<$e;Ce++){const xe=this._cursorPositions[Ce].color;if(!xe)continue;const Ie=this._cursorPositions[Ce].position;let Ne=y.getVerticalOffsetForLineNumber(Ie.lineNumber)*L|0;Ner&&(Ne=r-ae);const Fe=Ne-ae,Ve=Fe+re;Fe>he+1||xe!==pe?(Ce!==0&&pe&&j.fillRect(le,ue,de,he-ue),ue=Fe,he=Ve):Ve>he&&(he=Ve),pe=xe,j.fillStyle=xe}pe&&j.fillRect(le,ue,de,he-ue)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(j.beginPath(),j.lineWidth=1,j.strokeStyle=this._settings.borderColor,j.moveTo(0,0),j.lineTo(0,r),j.stroke(),j.moveTo(0,0),j.lineTo(i,0),j.stroke())}}class ColorZone{constructor(e,t,i){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=i|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}}class OverviewRulerZone{constructor(e,t,i,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=i,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.colori&&(ae=i-le);const de=z.color;let ue=this._color2Id[de];ue||(ue=++this._lastAssignedId,this._color2Id[de]=ue,this._id2Color[ue]=de);const he=new ColorZone(ae-le,ae+le,ue);z.setColorZone(he),k.push(he)}return this._colorZonesInvalid=!1,k.sort(ColorZone.compare),k}}class OverviewRuler extends ViewEventHandler{constructor(e,t){super(),this._context=e;const i=this._context.configuration.options;this._domNode=createFastDomNode(document.createElement("canvas")),this._domNode.setClassName(t),this._domNode.setPosition("absolute"),this._domNode.setLayerHinting(!0),this._domNode.setContain("strict"),this._zoneManager=new OverviewZoneManager(r=>this._context.viewLayout.getVerticalOffsetForLineNumber(r)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(i.get(67)),this._zoneManager.setPixelRatio(i.get(143)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return e.hasChanged(67)&&(this._zoneManager.setLineHeight(t.get(67)),this._render()),e.hasChanged(143)&&(this._zoneManager.setPixelRatio(t.get(143)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;const e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),i=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),g=this._domNode.domNode.getContext("2d");return g.clearRect(0,0,e,t),i.length>0&&this._renderOneLane(g,i,r,e),!0}_renderOneLane(e,t,i,r){let g=0,y=0,k=0;for(const L of t){const V=L.colorId,z=L.from,j=L.to;V!==g?(e.fillRect(0,y,r,k-y),g=V,e.fillStyle=i[g],y=z,k=j):k>=z?k=Math.max(k,j):(e.fillRect(0,y,r,k-y),y=z,k=j)}e.fillRect(0,y,r,k-y)}}class Rulers extends ViewPart{constructor(e){super(e),this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.domNode.setClassName("view-rulers"),this._renderedRulers=[];const t=this._context.configuration.options;this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._rulers=t.get(102),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){const e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e0;){const k=createFastDomNode(document.createElement("div"));k.setClassName("view-ruler"),k.setWidth(g),this.domNode.appendChild(k),this._renderedRulers.push(k),y--}return}let i=e-t;for(;i>0;){const r=this._renderedRulers.pop();this.domNode.removeChild(r),i--}}render(e){this._ensureRulersCount();for(let t=0,i=this._rulers.length;t0;return this._shouldShow!==e?(this._shouldShow=e,!0):!1}getDomNode(){return this._domNode}_updateWidth(){const t=this._context.configuration.options.get(145);t.minimap.renderMinimap===0||t.minimap.minimapWidth>0&&t.minimap.minimapLeft===0?this._width=t.width:this._width=t.width-t.verticalScrollbarWidth}onConfigurationChanged(e){const i=this._context.configuration.options.get(103);return this._useShadows=i.useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?"scroll-decoration":"")}}class HorizontalRangeWithStyle{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}}class LineVisibleRangesWithStyle{constructor(e,t){this.lineNumber=e,this.ranges=t}}function toStyledRange(n){return new HorizontalRangeWithStyle(n)}function toStyled(n){return new LineVisibleRangesWithStyle(n.lineNumber,n.ranges.map(toStyledRange))}class SelectionsOverlay extends DynamicViewOverlay{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;const t=this._context.configuration.options;this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){const t=this._context.configuration.options;return this._roundedSelection=t.get(101),this._typicalHalfwidthCharacterWidth=t.get(50).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,i=e.length;t1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,i){const r=this._typicalHalfwidthCharacterWidth/4;let g=null,y=null;if(i&&i.length>0&&t.length>0){const k=t[0].lineNumber;if(k===e.startLineNumber)for(let V=0;!g&&V=0;V--)i[V].lineNumber===L&&(y=i[V].ranges[0]);g&&!g.startStyle&&(g=null),y&&!y.startStyle&&(y=null)}for(let k=0,L=t.length;k0){const re=t[k-1].ranges[0].left,ae=t[k-1].ranges[0].left+t[k-1].ranges[0].width;abs$1(z-re)re&&(ie.top=1),abs$1(j-ae)'}_actualRenderOneSelection(e,t,i,r){if(r.length===0)return;const g=!!r[0].ranges[0].startStyle,y=r[0].lineNumber,k=r[r.length-1].lineNumber;for(let L=0,V=r.length;L1,V)}this._previousFrameVisibleRangesWithStyle=g,this._renderResult=t.map(([y,k])=>y+k)}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}SelectionsOverlay.SELECTION_CLASS_NAME="selected-text";SelectionsOverlay.SELECTION_TOP_LEFT="top-left-radius";SelectionsOverlay.SELECTION_BOTTOM_LEFT="bottom-left-radius";SelectionsOverlay.SELECTION_TOP_RIGHT="top-right-radius";SelectionsOverlay.SELECTION_BOTTOM_RIGHT="bottom-right-radius";SelectionsOverlay.EDITOR_BACKGROUND_CLASS_NAME="monaco-editor-background";SelectionsOverlay.ROUNDED_PIECE_WIDTH=10;registerThemingParticipant((n,e)=>{const t=n.getColor(editorSelectionForeground);t&&!t.isTransparent()&&e.addRule(".monaco-editor .view-line span.inline-selected-text { color: ".concat(t,"; }"))});function abs$1(n){return n<0?-n:n}class ViewCursorRenderData{constructor(e,t,i,r,g,y,k){this.top=e,this.left=t,this.paddingLeft=i,this.width=r,this.height=g,this.textContent=y,this.textContentClassName=k}}var CursorPlurality;(function(n){n[n.Single=0]="Single",n[n.MultiPrimary=1]="MultiPrimary",n[n.MultiSecondary=2]="MultiSecondary"})(CursorPlurality||(CursorPlurality={}));class ViewCursor{constructor(e,t){this._context=e;const i=this._context.configuration.options,r=i.get(50);this._cursorStyle=i.get(28),this._lineHeight=i.get(67),this._typicalHalfwidthCharacterWidth=r.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(i.get(31),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=createFastDomNode(document.createElement("div")),this._domNode.setClassName("cursor ".concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME)),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),applyFontInfo(this._domNode,r),this._domNode.setDisplay("none"),this._position=new Position$1(1,1),this._pluralityClass="",this.setPlurality(t),this._lastRenderedContent="",this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}setPlurality(e){switch(e){default:case CursorPlurality.Single:this._pluralityClass="";break;case CursorPlurality.MultiPrimary:this._pluralityClass="cursor-primary";break;case CursorPlurality.MultiSecondary:this._pluralityClass="cursor-secondary";break}}show(){this._isVisible||(this._domNode.setVisibility("inherit"),this._isVisible=!0)}hide(){this._isVisible&&(this._domNode.setVisibility("hidden"),this._isVisible=!1)}onConfigurationChanged(e){const t=this._context.configuration.options,i=t.get(50);return this._cursorStyle=t.get(28),this._lineHeight=t.get(67),this._typicalHalfwidthCharacterWidth=i.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(31),this._typicalHalfwidthCharacterWidth),applyFontInfo(this._domNode,i),!0}onCursorPositionChanged(e,t){return t?this._domNode.domNode.style.transitionProperty="none":this._domNode.domNode.style.transitionProperty="",this._position=e,!0}_getGraphemeAwarePosition(){const{lineNumber:e,column:t}=this._position,i=this._context.viewModel.getLineContent(e),[r,g]=getCharContainingOffset(i,t-1);return[new Position$1(e,r+1),i.substring(r,g)]}_prepareRender(e){let t="",i="";const[r,g]=this._getGraphemeAwarePosition();if(this._cursorStyle===TextEditorCursorStyle$1.Line||this._cursorStyle===TextEditorCursorStyle$1.LineThin){const ie=e.visibleRangeForPosition(r);if(!ie||ie.outsideRenderedLine)return null;const oe=getWindow$1(this._domNode.domNode);let re;this._cursorStyle===TextEditorCursorStyle$1.Line?(re=computeScreenAwareSize(oe,this._lineCursorWidth>0?this._lineCursorWidth:2),re>2&&(t=g,i=this._getTokenClassName(r))):re=computeScreenAwareSize(oe,1);let ae=ie.left,le=0;re>=2&&ae>=1&&(le=1,ae-=le);const de=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta;return new ViewCursorRenderData(de,ae,le,re,this._lineHeight,t,i)}const y=e.linesVisibleRangesForRange(new Range$2(r.lineNumber,r.column,r.lineNumber,r.column+g.length),!1);if(!y||y.length===0)return null;const k=y[0];if(k.outsideRenderedLine||k.ranges.length===0)return null;const L=k.ranges[0],V=g===" "?this._typicalHalfwidthCharacterWidth:L.width<1?this._typicalHalfwidthCharacterWidth:L.width;this._cursorStyle===TextEditorCursorStyle$1.Block&&(t=g,i=this._getTokenClassName(r));let z=e.getVerticalOffsetForLineNumber(r.lineNumber)-e.bigNumbersDelta,j=this._lineHeight;return(this._cursorStyle===TextEditorCursorStyle$1.Underline||this._cursorStyle===TextEditorCursorStyle$1.UnderlineThin)&&(z+=this._lineHeight-2,j=2),new ViewCursorRenderData(z,L.left,0,V,j,t,i)}_getTokenClassName(e){const t=this._context.viewModel.getViewLineData(e.lineNumber),i=t.tokens.findTokenIndexAtOffset(e.column-1);return t.tokens.getClassName(i)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName("cursor ".concat(this._pluralityClass," ").concat(MOUSE_CURSOR_TEXT_CSS_CLASS_NAME," ").concat(this._renderData.textContentClassName)),this._domNode.setDisplay("block"),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setPaddingLeft(this._renderData.paddingLeft),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay("none"),null)}}class ViewCursors extends ViewPart{constructor(e){super(e);const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new ViewCursor(this._context,CursorPlurality.Single),this._secondaryCursors=[],this._renderData=[],this._domNode=createFastDomNode(document.createElement("div")),this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true"),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new TimeoutTimer,this._cursorFlatBlinkInterval=new WindowIntervalTimer,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){const t=this._context.configuration.options;this._readOnly=t.get(91),this._cursorBlinking=t.get(26),this._cursorStyle=t.get(28),this._cursorSmoothCaretAnimation=t.get(27),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let i=0,r=this._secondaryCursors.length;it.length){const g=this._secondaryCursors.length-t.length;for(let y=0;y{for(let r=0,g=e.ranges.length;r{this._isVisible?this._hide():this._show()},ViewCursors.BLINK_INTERVAL,getWindow$1(this._domNode.domNode)):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},ViewCursors.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e="cursors-layer";switch(this._selectionIsEmpty||(e+=" has-selection"),this._cursorStyle){case TextEditorCursorStyle$1.Line:e+=" cursor-line-style";break;case TextEditorCursorStyle$1.Block:e+=" cursor-block-style";break;case TextEditorCursorStyle$1.Underline:e+=" cursor-underline-style";break;case TextEditorCursorStyle$1.LineThin:e+=" cursor-line-thin-style";break;case TextEditorCursorStyle$1.BlockOutline:e+=" cursor-block-outline-style";break;case TextEditorCursorStyle$1.UnderlineThin:e+=" cursor-underline-thin-style";break;default:e+=" cursor-line-style"}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=" cursor-blink";break;case 2:e+=" cursor-smooth";break;case 3:e+=" cursor-phase";break;case 4:e+=" cursor-expand";break;case 5:e+=" cursor-solid";break;default:e+=" cursor-solid"}else e+=" cursor-solid";return(this._cursorSmoothCaretAnimation==="on"||this._cursorSmoothCaretAnimation==="explicit")&&(e+=" cursor-smooth-caret-animation"),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e{const t=[{class:".cursor",foreground:editorCursorForeground,background:editorCursorBackground},{class:".cursor-primary",foreground:editorMultiCursorPrimaryForeground,background:editorMultiCursorPrimaryBackground},{class:".cursor-secondary",foreground:editorMultiCursorSecondaryForeground,background:editorMultiCursorSecondaryBackground}];for(const i of t){const r=n.getColor(i.foreground);if(r){let g=n.getColor(i.background);g||(g=r.opposite()),e.addRule(".monaco-editor .cursors-layer ".concat(i.class," { background-color: ").concat(r,"; border-color: ").concat(r,"; color: ").concat(g,"; }")),isHighContrast(n.type)&&e.addRule(".monaco-editor .cursors-layer.has-selection ".concat(i.class," { border-left: 1px solid ").concat(g,"; border-right: 1px solid ").concat(g,"; }"))}}});const invalidFunc$1=()=>{throw new Error("Invalid change accessor")};class ViewZones extends ViewPart{constructor(e){super(e);const t=this._context.configuration.options,i=t.get(145);this._lineHeight=t.get(67),this._contentWidth=i.contentWidth,this._contentLeft=i.contentLeft,this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setClassName("view-zones"),this.domNode.setPosition("absolute"),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this.marginDomNode=createFastDomNode(document.createElement("div")),this.marginDomNode.setClassName("margin-view-zones"),this.marginDomNode.setPosition("absolute"),this.marginDomNode.setAttribute("role","presentation"),this.marginDomNode.setAttribute("aria-hidden","true"),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){const e=this._context.viewLayout.getWhitespaces(),t=new Map;for(const r of e)t.set(r.id,r);let i=!1;return this._context.viewModel.changeWhitespace(r=>{const g=Object.keys(this._zones);for(let y=0,k=g.length;y{const r={addZone:g=>(t=!0,this._addZone(i,g)),removeZone:g=>{g&&(t=this._removeZone(i,g)||t)},layoutZone:g=>{g&&(t=this._layoutZone(i,g)||t)}};safeInvoke1Arg(e,r),r.addZone=invalidFunc$1,r.removeZone=invalidFunc$1,r.layoutZone=invalidFunc$1}),t}_addZone(e,t){const i=this._computeWhitespaceProps(t),g={whitespaceId:e.insertWhitespace(i.afterViewLineNumber,this._getZoneOrdinal(t),i.heightInPx,i.minWidthInPx),delegate:t,isInHiddenArea:i.isInHiddenArea,isVisible:!1,domNode:createFastDomNode(t.domNode),marginDomNode:t.marginDomNode?createFastDomNode(t.marginDomNode):null};return this._safeCallOnComputedHeight(g.delegate,i.heightInPx),g.domNode.setPosition("absolute"),g.domNode.domNode.style.width="100%",g.domNode.setDisplay("none"),g.domNode.setAttribute("monaco-view-zone",g.whitespaceId),this.domNode.appendChild(g.domNode),g.marginDomNode&&(g.marginDomNode.setPosition("absolute"),g.marginDomNode.domNode.style.width="100%",g.marginDomNode.setDisplay("none"),g.marginDomNode.setAttribute("monaco-view-zone",g.whitespaceId),this.marginDomNode.appendChild(g.marginDomNode)),this._zones[g.whitespaceId]=g,this.setShouldRender(),g.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t];return delete this._zones[t],e.removeWhitespace(i.whitespaceId),i.domNode.removeAttribute("monaco-visible-view-zone"),i.domNode.removeAttribute("monaco-view-zone"),i.domNode.domNode.parentNode.removeChild(i.domNode.domNode),i.marginDomNode&&(i.marginDomNode.removeAttribute("monaco-visible-view-zone"),i.marginDomNode.removeAttribute("monaco-view-zone"),i.marginDomNode.domNode.parentNode.removeChild(i.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){const i=this._zones[t],r=this._computeWhitespaceProps(i.delegate);return i.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(i.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(i.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx=="number"?e.heightInPx:typeof e.heightInLines=="number"?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx=="number"?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight=="function")try{e.onComputedHeight(t)}catch(i){onUnexpectedError(i)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop=="function")try{e.onDomNodeTop(t)}catch(i){onUnexpectedError(i)}}prepareRender(e){}render(e){const t=e.viewportData.whitespaceViewportData,i={};let r=!1;for(const y of t)this._zones[y.id].isInHiddenArea||(i[y.id]=y,r=!0);const g=Object.keys(this._zones);for(let y=0,k=g.length;yk)continue;const oe=ie.startLineNumber===k?ie.startColumn:V.minColumn,re=ie.endLineNumber===k?ie.endColumn:V.maxColumn;oe=Fe.endOffset&&(Ne++,Fe=i&&i[Ne]),ze!==9&&ze!==32||ie&&!$e&&Oe<=Ie)continue;if(j&&Oe>=xe&&Oe<=Ie&&ze===32){const Ue=Oe-1>=0?k.charCodeAt(Oe-1):0,Et=Oe+1=0?k.charCodeAt(Oe-1):0;if(ze===32&&Ue!==32&&Ue!==9)continue}if(i&&(!Fe||Fe.startOffset>Oe||Fe.endOffset<=Oe))continue;const qe=e.visibleRangeForPosition(new Position$1(t,Oe+1));qe&&(y?(Ve=Math.max(Ve,qe.left),ze===9?Ce+=this._renderArrow(oe,le,qe.left):Ce+='')):ze===9?Ce+='
    ').concat(pe?"→":"→","
    "):Ce+='
    ').concat(String.fromCharCode(he),"
    "))}return y?(Ve=Math.round(Ve+le),'')+Ce+""):Ce}_renderArrow(e,t,i){const r=t/7,g=t,y=e/2,k=i,L={x:0,y:r/2},V={x:100/125*g,y:L.y},z={x:V.x-.2*V.x,y:V.y+.2*V.x},j={x:z.x+.1*V.x,y:z.y+.1*V.x},ie={x:j.x+.35*V.x,y:j.y-.35*V.x},oe={x:ie.x,y:-ie.y},re={x:j.x,y:-j.y},ae={x:z.x,y:-z.y},le={x:V.x,y:-V.y},de={x:L.x,y:-L.y},he=[L,V,z,j,ie,oe,re,ae,le,de].map(pe=>"".concat((k+pe.x).toFixed(2)," ").concat((y+pe.y).toFixed(2))).join(" L ");return'')}render(e,t){if(!this._renderResult)return"";const i=t-e;return i<0||i>=this._renderResult.length?"":this._renderResult[i]}}class WhitespaceOptions{constructor(e){const t=e.options,i=t.get(50),r=t.get(38);r==="off"?(this.renderWhitespace="none",this.renderWithSVG=!1):r==="svg"?(this.renderWhitespace=t.get(99),this.renderWithSVG=!0):(this.renderWhitespace=t.get(99),this.renderWithSVG=!1),this.spaceWidth=i.spaceWidth,this.middotWidth=i.middotWidth,this.wsmiddotWidth=i.wsmiddotWidth,this.canUseHalfwidthRightwardsArrow=i.canUseHalfwidthRightwardsArrow,this.lineHeight=t.get(67),this.stopRenderingLineAfter=t.get(117)}equals(e){return this.renderWhitespace===e.renderWhitespace&&this.renderWithSVG===e.renderWithSVG&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter}}class ViewportData{constructor(e,t,i,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.lineHeight=t.lineHeight|0,this.whitespaceViewportData=i,this._model=r,this.visibleRange=new Range$2(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewportViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}}class EditorTheme{get type(){return this._theme.type}get value(){return this._theme}constructor(e){this._theme=e}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}}class ViewContext{constructor(e,t,i){this.configuration=e,this.theme=new EditorTheme(t),this.viewModel=i,this.viewLayout=i.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}}var __decorate$2l=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2c=function(n,e){return function(t,i){e(t,i,n)}};let View$1=class extends ViewEventHandler{constructor(e,t,i,r,g,y,k){super(),this._instantiationService=k,this._shouldRecomputeGlyphMarginLanes=!1,this._selections=[new Selection$1(1,1,1,1)],this._renderAnimationFrame=null;const L=new ViewController(t,r,g,e);this._context=new ViewContext(t,i,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=this._instantiationService.createInstance(TextAreaHandler,this._context,L,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=createFastDomNode(document.createElement("div")),this._linesContent.setClassName("lines-content monaco-editor-background"),this._linesContent.setPosition("absolute"),this.domNode=createFastDomNode(document.createElement("div")),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute("role","code"),this._overflowGuardContainer=createFastDomNode(document.createElement("div")),PartFingerprints.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName("overflow-guard"),this._scrollbar=new EditorScrollbar(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new ViewLines(this._context,this._linesContent),this._viewZones=new ViewZones(this._context),this._viewParts.push(this._viewZones);const V=new DecorationsOverviewRuler(this._context);this._viewParts.push(V);const z=new ScrollDecorationViewPart(this._context);this._viewParts.push(z);const j=new ContentViewOverlays(this._context);this._viewParts.push(j),j.addDynamicOverlay(new CurrentLineHighlightOverlay(this._context)),j.addDynamicOverlay(new SelectionsOverlay(this._context)),j.addDynamicOverlay(new IndentGuidesOverlay(this._context)),j.addDynamicOverlay(new DecorationsOverlay(this._context)),j.addDynamicOverlay(new WhitespaceOverlay(this._context));const ie=new MarginViewOverlays(this._context);this._viewParts.push(ie),ie.addDynamicOverlay(new CurrentLineMarginHighlightOverlay(this._context)),ie.addDynamicOverlay(new MarginViewLineDecorationsOverlay(this._context)),ie.addDynamicOverlay(new LinesDecorationsOverlay(this._context)),ie.addDynamicOverlay(new LineNumbersOverlay(this._context)),this._glyphMarginWidgets=new GlyphMarginWidgets(this._context),this._viewParts.push(this._glyphMarginWidgets);const oe=new Margin(this._context);oe.getDomNode().appendChild(this._viewZones.marginDomNode),oe.getDomNode().appendChild(ie.getDomNode()),oe.getDomNode().appendChild(this._glyphMarginWidgets.domNode),this._viewParts.push(oe),this._contentWidgets=new ViewContentWidgets(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new ViewCursors(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new ViewOverlayWidgets(this._context,this.domNode),this._viewParts.push(this._overlayWidgets);const re=new Rulers(this._context);this._viewParts.push(re);const ae=new BlockDecorations(this._context);this._viewParts.push(ae);const le=new Minimap(this._context);if(this._viewParts.push(le),V){const de=this._scrollbar.getOverviewRulerLayoutInfo();de.parent.insertBefore(V.getDomNode(),de.insertBefore)}this._linesContent.appendChild(j.getDomNode()),this._linesContent.appendChild(re.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(oe.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(z.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(le.getDomNode()),this._overflowGuardContainer.appendChild(ae.domNode),this.domNode.appendChild(this._overflowGuardContainer),y?(y.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode),y.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode.domNode)):(this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this.domNode.appendChild(this._overlayWidgets.overflowingOverlayWidgetsDomNode)),this._applyLayout(),this._pointerHandler=this._register(new PointerHandler(this._context,L,this._createPointerHandlerHelper()))}_computeGlyphMarginLanes(){const e=this._context.viewModel.model,t=this._context.viewModel.glyphLanes;let i=[],r=0;i=i.concat(e.getAllMarginDecorations().map(g=>{var y,k,L;const V=(k=(y=g.options.glyphMargin)===null||y===void 0?void 0:y.position)!==null&&k!==void 0?k:GlyphMarginLane.Center;return r=Math.max(r,g.range.endLineNumber),{range:g.range,lane:V,persist:(L=g.options.glyphMargin)===null||L===void 0?void 0:L.persistLane}})),i=i.concat(this._glyphMarginWidgets.getWidgets().map(g=>{const y=e.validateRange(g.preference.range);return r=Math.max(r,y.endLineNumber),{range:y,lane:g.preference.lane}})),i.sort((g,y)=>Range$2.compareRangesUsingStarts(g.range,y.range)),t.reset(r);for(const g of i)t.push(g.lane,g.range,g.persist);return t}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>{const e=this._viewCursors.getLastRenderData()||[],t=this._textAreaHandler.getLastRenderData();return new PointerHandlerLastRenderData(e,t)},renderNow:()=>{this.render(!0,!1)},shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new Position$1(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){const t=this._context.configuration.options.get(145);this.domNode.setWidth(t.width),this.domNode.setHeight(t.height),this._overflowGuardContainer.setWidth(t.width),this._overflowGuardContainer.setHeight(t.height),this._linesContent.setWidth(16777216),this._linesContent.setHeight(16777216)}_getEditorClassName(){const e=this._textAreaHandler.isFocused()?" focused":"";return this._context.configuration.options.get(142)+" "+getThemeTypeSelector(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onDecorationsChanged(e){return e.affectsGlyphMargin&&(this._shouldRecomputeGlyphMarginLanes=!0),!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(const e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){if(this._store.isDisposed)throw new BugIndicatingError;if(this._renderAnimationFrame===null){const e=this._createCoordinatedRendering();this._renderAnimationFrame=EditorRenderingCoordinator.INSTANCE.scheduleCoordinatedRendering({window:getWindow$1(this.domNode.domNode),prepareRenderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;try{return e.prepareRenderText()}finally{this._renderAnimationFrame=null}},renderText:()=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.renderText()},prepareRender:(t,i)=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.prepareRender(t,i)},render:(t,i)=>{if(this._store.isDisposed)throw new BugIndicatingError;return e.render(t,i)}})}}_flushAccumulatedAndRenderNow(){const e=this._createCoordinatedRendering();safeInvokeNoArg(()=>e.prepareRenderText());const t=safeInvokeNoArg(()=>e.renderText());if(t){const[i,r]=t;safeInvokeNoArg(()=>e.prepareRender(i,r)),safeInvokeNoArg(()=>e.render(i,r))}}_getViewPartsToRender(){const e=[];let t=0;for(const i of this._viewParts)i.shouldRender()&&(e[t++]=i);return e}_createCoordinatedRendering(){return{prepareRenderText:()=>{if(this._shouldRecomputeGlyphMarginLanes){this._shouldRecomputeGlyphMarginLanes=!1;const e=this._computeGlyphMarginLanes();this._context.configuration.setGlyphMarginDecorationLaneCount(e.requiredLanes)}inputLatency.onRenderStart()},renderText:()=>{if(!this.domNode.domNode.isConnected)return null;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return null;const t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);const i=new ViewportData(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);return this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(i),this._viewLines.shouldRender()&&(this._viewLines.renderText(i),this._viewLines.onDidRender(),e=this._getViewPartsToRender()),[e,new RenderingContext(this._context.viewLayout,i,this._viewLines)]},prepareRender:(e,t)=>{for(const i of e)i.prepareRender(t)},render:(e,t)=>{for(const i of e)i.render(t),i.onDidRender()}}}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){this._scrollbar.delegateScrollFromMouseWheelEvent(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft},1),this._context.viewModel.visibleLinesStabilized()}getOffsetForColumn(e,t){const i=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);this._flushAccumulatedAndRenderNow();const g=this._viewLines.visibleRangeForPosition(new Position$1(r.lineNumber,r.column));return g?g.left:-1}getTargetAtClientPoint(e,t){const i=this._pointerHandler.getTargetAtClientPoint(e,t);return i?ViewUserInputEvents.convertViewToModelMouseTarget(i,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new OverviewRuler(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(const i of this._viewParts)i.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}writeScreenReaderContent(e){this._textAreaHandler.writeScreenReaderContent(e)}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){var t,i,r,g,y,k,L,V;this._contentWidgets.setWidgetPosition(e.widget,(i=(t=e.position)===null||t===void 0?void 0:t.position)!==null&&i!==void 0?i:null,(g=(r=e.position)===null||r===void 0?void 0:r.secondaryPosition)!==null&&g!==void 0?g:null,(k=(y=e.position)===null||y===void 0?void 0:y.preference)!==null&&k!==void 0?k:null,(V=(L=e.position)===null||L===void 0?void 0:L.positionAffinity)!==null&&V!==void 0?V:null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){const t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}addGlyphMarginWidget(e){this._glyphMarginWidgets.addWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}layoutGlyphMarginWidget(e){const t=e.position;this._glyphMarginWidgets.setWidgetPosition(e.widget,t)&&(this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender())}removeGlyphMarginWidget(e){this._glyphMarginWidgets.removeWidget(e.widget),this._shouldRecomputeGlyphMarginLanes=!0,this._scheduleRender()}};View$1=__decorate$2l([__param$2c(6,IInstantiationService)],View$1);function safeInvokeNoArg(n){try{return n()}catch(e){return onUnexpectedError(e),null}}class EditorRenderingCoordinator{constructor(){this._coordinatedRenderings=[],this._animationFrameRunners=new Map}scheduleCoordinatedRendering(e){return this._coordinatedRenderings.push(e),this._scheduleRender(e.window),{dispose:()=>{const t=this._coordinatedRenderings.indexOf(e);if(t!==-1&&(this._coordinatedRenderings.splice(t,1),this._coordinatedRenderings.length===0)){for(const[i,r]of this._animationFrameRunners)r.dispose();this._animationFrameRunners.clear()}}}}_scheduleRender(e){if(!this._animationFrameRunners.has(e)){const t=()=>{this._animationFrameRunners.delete(e),this._onRenderScheduled()};this._animationFrameRunners.set(e,runAtThisOrScheduleAtNextAnimationFrame(e,t,100))}}_onRenderScheduled(){const e=this._coordinatedRenderings.slice(0);this._coordinatedRenderings=[];for(const i of e)safeInvokeNoArg(()=>i.prepareRenderText());const t=[];for(let i=0,r=e.length;ig.renderText())}for(let i=0,r=e.length;ig.prepareRender(k,L))}for(let i=0,r=e.length;ig.render(k,L))}}}EditorRenderingCoordinator.INSTANCE=new EditorRenderingCoordinator;class ModelLineProjectionData{constructor(e,t,i,r,g){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=i,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=g}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){const t=e>0?this.breakOffsets[e-1]:0;let r=this.breakOffsets[e]-t;return e>0&&(r+=this.wrappedTextIndentLength),r}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let r=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let g=0;gthis.injectionOffsets[g];g++)r0?this.breakOffsets[g-1]:0,t===0)if(e<=y)r=g-1;else if(e>L)i=g+1;else break;else if(e=L)i=g+1;else break}let k=e-y;return g>0&&(k+=this.wrappedTextIndentLength),new OutputPosition(g,k)}normalizeOutputPosition(e,t,i){if(this.injectionOffsets!==null){const r=this.outputPositionToOffsetInInputWithInjections(e,t),g=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,i);if(g!==r)return this.offsetInInputWithInjectionsToOutputPosition(g,i)}if(i===0){if(e>0&&t===this.getMinOutputOffset(e))return new OutputPosition(e-1,this.getMaxOutputOffset(e-1))}else if(i===1){const r=this.getOutputLineCount()-1;if(e0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){const i=this.getInjectedTextAtOffset(e);if(!i)return e;if(t===2){if(e===i.offsetInInputWithInjections+i.length&&hasRightCursorStop(this.injectionOptions[i.injectedTextIndex].cursorStops))return i.offsetInInputWithInjections+i.length;{let r=i.offsetInInputWithInjections;if(hasLeftCursorStop(this.injectionOptions[i.injectedTextIndex].cursorStops))return r;let g=i.injectedTextIndex-1;for(;g>=0&&this.injectionOffsets[g]===this.injectionOffsets[i.injectedTextIndex]&&!(hasRightCursorStop(this.injectionOptions[g].cursorStops)||(r-=this.injectionOptions[g].content.length,hasLeftCursorStop(this.injectionOptions[g].cursorStops)));)g--;return r}}else if(t===1||t===4){let r=i.offsetInInputWithInjections+i.length,g=i.injectedTextIndex;for(;g+1=0&&this.injectionOffsets[g-1]===this.injectionOffsets[g];)r-=this.injectionOptions[g-1].content.length,g--;return r}assertNever()}getInjectedText(e,t){const i=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(i);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){const t=this.injectionOffsets,i=this.injectionOptions;if(t!==null){let r=0;for(let g=0;ge)break;if(e<=L)return{injectedTextIndex:g,offsetInInputWithInjections:k,length:y};r+=y}}}}function hasRightCursorStop(n){return n==null?!0:n===InjectedTextCursorStops.Right||n===InjectedTextCursorStops.Both}function hasLeftCursorStop(n){return n==null?!0:n===InjectedTextCursorStops.Left||n===InjectedTextCursorStops.Both}class OutputPosition{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return"".concat(this.outputLineIndex,":").concat(this.outputOffset)}toPosition(e){return new Position$1(e+this.outputLineIndex,this.outputOffset+1)}}class ModelRawFlush{constructor(){this.changeType=1}}class LineInjectedText{static applyInjectedText(e,t){if(!t||t.length===0)return e;let i="",r=0;for(const g of t)i+=e.substring(r,g.column-1),r=g.column-1,i+=g.options.content;return i+=e.substring(r),i}static fromDecorations(e){const t=[];for(const i of e)i.options.before&&i.options.before.content.length>0&&t.push(new LineInjectedText(i.ownerId,i.range.startLineNumber,i.range.startColumn,i.options.before,0)),i.options.after&&i.options.after.content.length>0&&t.push(new LineInjectedText(i.ownerId,i.range.endLineNumber,i.range.endColumn,i.options.after,1));return t.sort((i,r)=>i.lineNumber===r.lineNumber?i.column===r.column?i.order-r.order:i.column-r.column:i.lineNumber-r.lineNumber),t}constructor(e,t,i,r,g){this.ownerId=e,this.lineNumber=t,this.column=i,this.options=r,this.order=g}}class ModelRawLineChanged{constructor(e,t,i){this.changeType=2,this.lineNumber=e,this.detail=t,this.injectedText=i}}class ModelRawLinesDeleted{constructor(e,t){this.changeType=3,this.fromLineNumber=e,this.toLineNumber=t}}class ModelRawLinesInserted{constructor(e,t,i,r){this.changeType=4,this.injectedTexts=r,this.fromLineNumber=e,this.toLineNumber=t,this.detail=i}}class ModelRawEOLChanged{constructor(){this.changeType=5}}class ModelRawContentChangedEvent{constructor(e,t,i,r){this.changes=e,this.versionId=t,this.isUndoing=i,this.isRedoing=r,this.resultingSelection=null}containsEvent(e){for(let t=0,i=this.changes.length;tn});class DOMLineBreaksComputerFactory{static create(e){return new DOMLineBreaksComputerFactory(new WeakRef(e))}constructor(e){this.targetWindow=e}createLineBreaksComputer(e,t,i,r,g){const y=[],k=[];return{addRequest:(L,V,z)=>{y.push(L),k.push(V)},finalize:()=>createLineBreaks$1(assertIsDefined(this.targetWindow.deref()),y,e,t,i,r,g,k)}}}function createLineBreaks$1(n,e,t,i,r,g,y,k){var L;function V(Fe){const Ve=k[Fe];if(Ve){const Oe=LineInjectedText.applyInjectedText(e[Fe],Ve),ze=Ve.map(Ue=>Ue.options),qe=Ve.map(Ue=>Ue.column-1);return new ModelLineProjectionData(qe,ze,[Oe.length],[],0)}else return null}if(r===-1){const Fe=[];for(let Ve=0,Oe=e.length;Vez?(Oe=0,ze=0):qe=z-At}const Ue=Ve.substr(Oe),Et=renderLine$1(Ue,ze,i,qe,ae,oe);le[Fe]=Oe,de[Fe]=ze,ue[Fe]=Ue,he[Fe]=Et[0],pe[Fe]=Et[1]}const Ce=ae.build(),$e=(L=ttPolicy$2==null?void 0:ttPolicy$2.createHTML(Ce))!==null&&L!==void 0?L:Ce;re.innerHTML=$e,re.style.position="absolute",re.style.top="10000",y==="keepAll"?(re.style.wordBreak="keep-all",re.style.overflowWrap="anywhere"):(re.style.wordBreak="inherit",re.style.overflowWrap="break-word"),n.document.body.appendChild(re);const xe=document.createRange(),Ie=Array.prototype.slice.call(re.children,0),Ne=[];for(let Fe=0;Feei.options),Lt=kt.map(ei=>ei.column-1)):(At=null,Lt=null),Ne[Fe]=new ModelLineProjectionData(Lt,At,Oe,Et,qe)}return n.document.body.removeChild(re),Ne}function renderLine$1(n,e,t,i,r,g){if(g!==0){const ie=String(g);r.appendString('
    ');const y=n.length;let k=e,L=0;const V=[],z=[];let j=0");for(let ie=0;ie"),V[ie]=L,z[ie]=k;const oe=j;j=ie+1"),V[n.length]=L,z[n.length]=k,r.appendString("
    "),[V,z]}function readLineBreaks(n,e,t,i){if(t.length<=1)return null;const r=Array.prototype.slice.call(e.children,0),g=[];try{discoverBreaks(n,r,i,0,null,t.length-1,null,g)}catch(y){return console.log(y),null}return g.length===0?null:(g.push(t.length),g)}function discoverBreaks(n,e,t,i,r,g,y,k){if(i===g||(r=r||readClientRect(n,e,t[i],t[i+1]),y=y||readClientRect(n,e,t[g],t[g+1]),Math.abs(r[0].top-y[0].top)<=.1))return;if(i+1===g){k.push(g);return}const L=i+(g-i)/2|0,V=readClientRect(n,e,t[L],t[L+1]);discoverBreaks(n,e,t,i,r,L,V,k),discoverBreaks(n,e,t,L,V,g,y,k)}function readClientRect(n,e,t,i){return n.setStart(e[t/16384|0].firstChild,t%16384),n.setEnd(e[i/16384|0].firstChild,i%16384),n.getClientRects()}class CodeEditorContributions extends Disposable{constructor(){super(),this._editor=null,this._instantiationService=null,this._instances=this._register(new DisposableMap),this._pending=new Map,this._finishedInstantiation=[],this._finishedInstantiation[0]=!1,this._finishedInstantiation[1]=!1,this._finishedInstantiation[2]=!1,this._finishedInstantiation[3]=!1}initialize(e,t,i){this._editor=e,this._instantiationService=i;for(const r of t){if(this._pending.has(r.id)){onUnexpectedError(new Error("Cannot have two contributions with the same id ".concat(r.id)));continue}this._pending.set(r.id,r)}this._instantiateSome(0),this._register(runWhenWindowIdle(getWindow$1(this._editor.getDomNode()),()=>{this._instantiateSome(1)})),this._register(runWhenWindowIdle(getWindow$1(this._editor.getDomNode()),()=>{this._instantiateSome(2)})),this._register(runWhenWindowIdle(getWindow$1(this._editor.getDomNode()),()=>{this._instantiateSome(3)},5e3))}saveViewState(){const e={};for(const[t,i]of this._instances)typeof i.saveViewState=="function"&&(e[t]=i.saveViewState());return e}restoreViewState(e){for(const[t,i]of this._instances)typeof i.restoreViewState=="function"&&i.restoreViewState(e[t])}get(e){return this._instantiateById(e),this._instances.get(e)||null}onBeforeInteractionEvent(){this._instantiateSome(2)}onAfterModelAttached(){var e;return runWhenWindowIdle(getWindow$1((e=this._editor)===null||e===void 0?void 0:e.getDomNode()),()=>{this._instantiateSome(1)},50)}_instantiateSome(e){if(this._finishedInstantiation[e])return;this._finishedInstantiation[e]=!0;const t=this._findPendingContributionsByInstantiation(e);for(const i of t)this._instantiateById(i.id)}_findPendingContributionsByInstantiation(e){const t=[];for(const[,i]of this._pending)i.instantiation===e&&t.push(i);return t}_instantiateById(e){const t=this._pending.get(e);if(t){if(this._pending.delete(e),!this._instantiationService||!this._editor)throw new Error("Cannot instantiate contributions before being initialized!");try{const i=this._instantiationService.createInstance(t.ctor,this._editor);this._instances.set(t.id,i),typeof i.restoreViewState=="function"&&t.instantiation!==0&&console.warn("Editor contribution '".concat(t.id,"' should be eager instantiated because it uses saveViewState / restoreViewState."))}catch(i){onUnexpectedError(i)}}}}class InternalEditorAction{constructor(e,t,i,r,g,y,k){this.id=e,this.label=t,this.alias=i,this.metadata=r,this._precondition=g,this._run=y,this._contextKeyService=k}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(e){return this.isSupported()?this._run(e):Promise.resolve(void 0)}}function countEOL(n){let e=0,t=0,i=0,r=0;for(let g=0,y=n.length;g=factor&&(t=t-n%factor),t}function sumLengths(n,e){return n.reduce((t,i)=>lengthAdd(t,e(i)),lengthZero)}function lengthEquals(n,e){return n===e}function lengthDiffNonNegative(n,e){const t=n,i=e;if(i-t<=0)return lengthZero;const g=Math.floor(t/factor),y=Math.floor(i/factor),k=i-y*factor;if(g===y){const L=t-g*factor;return toLength(0,k-L)}else return toLength(y-g,k)}function lengthLessThan(n,e){return n=e}function positionToLength(n){return toLength(n.lineNumber-1,n.column-1)}function lengthsToRange(n,e){const t=n,i=Math.floor(t/factor),r=t-i*factor,g=e,y=Math.floor(g/factor),k=g-y*factor;return new Range$2(i+1,r+1,y+1,k+1)}function lengthOfString(n){const e=splitLines(n);return toLength(e.length-1,e[e.length-1].length)}class TextEditInfo{static fromModelContentChanges(e){return e.map(i=>{const r=Range$2.lift(i.range);return new TextEditInfo(positionToLength(r.getStartPosition()),positionToLength(r.getEndPosition()),lengthOfString(i.text))}).reverse()}constructor(e,t,i){this.startOffset=e,this.endOffset=t,this.newLength=i}toString(){return"[".concat(lengthToObj(this.startOffset),"...").concat(lengthToObj(this.endOffset),") -> ").concat(lengthToObj(this.newLength))}}class BeforeEditPositionMapper{constructor(e){this.nextEditIdx=0,this.deltaOldToNewLineCount=0,this.deltaOldToNewColumnCount=0,this.deltaLineIdxInOld=-1,this.edits=e.map(t=>TextEditInfoCache.from(t))}getOffsetBeforeChange(e){return this.adjustNextEdit(e),this.translateCurToOld(e)}getDistanceToNextChange(e){this.adjustNextEdit(e);const t=this.edits[this.nextEditIdx],i=t?this.translateOldToCur(t.offsetObj):null;return i===null?null:lengthDiffNonNegative(e,i)}translateOldToCur(e){return e.lineCount===this.deltaLineIdxInOld?toLength(e.lineCount+this.deltaOldToNewLineCount,e.columnCount+this.deltaOldToNewColumnCount):toLength(e.lineCount+this.deltaOldToNewLineCount,e.columnCount)}translateCurToOld(e){const t=lengthToObj(e);return t.lineCount-this.deltaOldToNewLineCount===this.deltaLineIdxInOld?toLength(t.lineCount-this.deltaOldToNewLineCount,t.columnCount-this.deltaOldToNewColumnCount):toLength(t.lineCount-this.deltaOldToNewLineCount,t.columnCount)}adjustNextEdit(e){for(;this.nextEditIdx>5;if(r===0){const y=1<this.textBufferLineCount-1||this.lineIdx===this.textBufferLineCount-1&&this.lineCharOffset>=this.textBufferLastLineLength)return null;this.line===null&&(this.lineTokens=this.textModel.tokenization.getLineTokens(this.lineIdx+1),this.line=this.lineTokens.getLineContent(),this.lineTokenOffset=this.lineCharOffset===0?0:this.lineTokens.findTokenIndexAtOffset(this.lineCharOffset));const e=this.lineIdx,t=this.lineCharOffset;let i=0;for(;;){const g=this.lineTokens,y=g.getCount();let k=null;if(this.lineTokenOffset1e3))break;if(i>1500)break}const r=lengthDiff(e,t,this.lineIdx,this.lineCharOffset);return new Token$1(r,0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(r))}}class FastTokenizer{constructor(e,t){this.text=e,this._offset=lengthZero,this.idx=0;const i=t.getRegExpStr(),r=i?new RegExp(i+"|\n","gi"):null,g=[];let y,k=0,L=0,V=0,z=0;const j=[];for(let re=0;re<60;re++)j.push(new Token$1(toLength(0,re),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(0,re))));const ie=[];for(let re=0;re<60;re++)ie.push(new Token$1(toLength(1,re),0,-1,SmallImmutableSet.getEmpty(),new TextAstNode(toLength(1,re))));if(r)for(r.lastIndex=0;(y=r.exec(e))!==null;){const re=y.index,ae=y[0];if(ae==="\n")k++,L=re+1;else{if(V!==re){let le;if(z===k){const de=re-V;if(deprepareBracketForRegExp(t)).join("|")}}get regExpGlobal(){if(!this.hasRegExp){const e=this.getRegExpStr();this._regExpGlobal=e?new RegExp(e,"gi"):null,this.hasRegExp=!0}return this._regExpGlobal}getToken(e){return this.map.get(e.toLowerCase())}findClosingTokenText(e){for(const[t,i]of this.map)if(i.kind===2&&i.bracketIds.intersects(e))return t}get isEmpty(){return this.map.size===0}}function prepareBracketForRegExp(n){let e=escapeRegExpCharacters(n);return/^[\w ]+/.test(n)&&(e="\\b".concat(e)),/[\w ]+$/.test(n)&&(e="".concat(e,"\\b")),e}class LanguageAgnosticBracketTokens{constructor(e,t){this.denseKeyProvider=e,this.getLanguageConfiguration=t,this.languageIdToBracketTokens=new Map}didLanguageChange(e){return this.languageIdToBracketTokens.has(e)}getSingleLanguageBracketTokens(e){let t=this.languageIdToBracketTokens.get(e);return t||(t=BracketTokens.createFromLanguage(this.getLanguageConfiguration(e),this.denseKeyProvider),this.languageIdToBracketTokens.set(e,t)),t}}function concat23Trees(n){if(n.length===0)return null;if(n.length===1)return n[0];let e=0;function t(){if(e>=n.length)return null;const y=e,k=n[y].listHeight;for(e++;e=2?concat23TreesOfSameHeight(y===0&&e===n.length?n:n.slice(y,e),!1):n[y]}let i=t(),r=t();if(!r)return i;for(let y=t();y;y=t())heightDiff(i,r)<=heightDiff(r,y)?(i=concat$1(i,r),r=y):r=concat$1(r,y);return concat$1(i,r)}function concat23TreesOfSameHeight(n,e=!1){if(n.length===0)return null;if(n.length===1)return n[0];let t=n.length;for(;t>3;){const i=t>>1;for(let r=0;r=3?n[2]:null,e)}function heightDiff(n,e){return Math.abs(n.listHeight-e.listHeight)}function concat$1(n,e){return n.listHeight===e.listHeight?ListAstNode.create23(n,e,null,!1):n.listHeight>e.listHeight?append(n,e):prepend(e,n)}function append(n,e){n=n.toMutable();let t=n;const i=[];let r;for(;;){if(e.listHeight===t.listHeight){r=e;break}if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeLastElementMutable()}for(let g=i.length-1;g>=0;g--){const y=i[g];r?y.childrenLength>=3?r=ListAstNode.create23(y.unappendChild(),r,null,!1):(y.appendChildOfSameHeight(r),r=void 0):y.handleChildrenChanged()}return r?ListAstNode.create23(n,r,null,!1):n}function prepend(n,e){n=n.toMutable();let t=n;const i=[];for(;e.listHeight!==t.listHeight;){if(t.kind!==4)throw new Error("unexpected");i.push(t),t=t.makeFirstElementMutable()}let r=e;for(let g=i.length-1;g>=0;g--){const y=i[g];r?y.childrenLength>=3?r=ListAstNode.create23(r,y.unprependChild(),null,!1):(y.prependChildOfSameHeight(r),r=void 0):y.handleChildrenChanged()}return r?ListAstNode.create23(r,n,null,!1):n}class NodeReader{constructor(e){this.lastOffset=lengthZero,this.nextNodes=[e],this.offsets=[lengthZero],this.idxs=[]}readLongestNodeAt(e,t){if(lengthLessThan(e,this.lastOffset))throw new Error("Invalid offset");for(this.lastOffset=e;;){const i=lastOrUndefined(this.nextNodes);if(!i)return;const r=lastOrUndefined(this.offsets);if(lengthLessThan(e,r))return;if(lengthLessThan(r,e))if(lengthAdd(r,i.length)<=e)this.nextNodeAfterCurrent();else{const g=getNextChildIdx(i);g!==-1?(this.nextNodes.push(i.getChild(g)),this.offsets.push(r),this.idxs.push(g)):this.nextNodeAfterCurrent()}else{if(t(i))return this.nextNodeAfterCurrent(),i;{const g=getNextChildIdx(i);if(g===-1){this.nextNodeAfterCurrent();return}else this.nextNodes.push(i.getChild(g)),this.offsets.push(r),this.idxs.push(g)}}}}nextNodeAfterCurrent(){for(;;){const e=lastOrUndefined(this.offsets),t=lastOrUndefined(this.nextNodes);if(this.nextNodes.pop(),this.offsets.pop(),this.idxs.length===0)break;const i=lastOrUndefined(this.nextNodes),r=getNextChildIdx(i,this.idxs[this.idxs.length-1]);if(r!==-1){this.nextNodes.push(i.getChild(r)),this.offsets.push(lengthAdd(e,t.length)),this.idxs[this.idxs.length-1]=r;break}else this.idxs.pop()}}}function getNextChildIdx(n,e=-1){for(;;){if(e++,e>=n.childrenLength)return-1;if(n.getChild(e))return e}}function lastOrUndefined(n){return n.length>0?n[n.length-1]:void 0}function parseDocument(n,e,t,i){return new Parser(n,e,t,i).parseDocument()}class Parser{constructor(e,t,i,r){if(this.tokenizer=e,this.createImmutableLists=r,this._itemsConstructed=0,this._itemsFromCache=0,i&&r)throw new Error("Not supported");this.oldNodeReader=i?new NodeReader(i):void 0,this.positionMapper=new BeforeEditPositionMapper(t)}parseDocument(){this._itemsConstructed=0,this._itemsFromCache=0;let e=this.parseList(SmallImmutableSet.getEmpty(),0);return e||(e=ListAstNode.getEmpty()),e}parseList(e,t){const i=[];for(;;){let g=this.tryReadChildFromCache(e);if(!g){const y=this.tokenizer.peek();if(!y||y.kind===2&&y.bracketIds.intersects(e))break;g=this.parseChild(e,t+1)}g.kind===4&&g.childrenLength===0||i.push(g)}return this.oldNodeReader?concat23Trees(i):concat23TreesOfSameHeight(i,this.createImmutableLists)}tryReadChildFromCache(e){if(this.oldNodeReader){const t=this.positionMapper.getDistanceToNextChange(this.tokenizer.offset);if(t===null||!lengthIsZero(t)){const i=this.oldNodeReader.readLongestNodeAt(this.positionMapper.getOffsetBeforeChange(this.tokenizer.offset),r=>t!==null&&!lengthLessThan(r.length,t)?!1:r.canBeReused(e));if(i)return this._itemsFromCache++,this.tokenizer.skip(i.length),i}}}parseChild(e,t){this._itemsConstructed++;const i=this.tokenizer.read();switch(i.kind){case 2:return new InvalidBracketAstNode(i.bracketIds,i.length);case 0:return i.astNode;case 1:{if(t>300)return new TextAstNode(i.length);const r=e.merge(i.bracketIds),g=this.parseList(r,t+1),y=this.tokenizer.peek();return y&&y.kind===2&&(y.bracketId===i.bracketId||y.bracketIds.intersects(i.bracketIds))?(this.tokenizer.read(),PairAstNode.create(i.astNode,g,y.astNode)):PairAstNode.create(i.astNode,g,null)}default:throw new Error("unexpected")}}}function combineTextEditInfos(n,e){if(n.length===0)return e;if(e.length===0)return n;const t=new ArrayQueue(toLengthMapping(n)),i=toLengthMapping(e);i.push({modified:!1,lengthBefore:void 0,lengthAfter:void 0});let r=t.dequeue();function g(V){if(V===void 0){const j=t.takeWhile(ie=>!0)||[];return r&&j.unshift(r),j}const z=[];for(;r&&!lengthIsZero(V);){const[j,ie]=r.splitAt(V);z.push(j),V=lengthDiffNonNegative(j.lengthAfter,V),r=ie!=null?ie:t.dequeue()}return lengthIsZero(V)||z.push(new LengthMapping(!1,V,V)),z}const y=[];function k(V,z,j){if(y.length>0&&lengthEquals(y[y.length-1].endOffset,V)){const ie=y[y.length-1];y[y.length-1]=new TextEditInfo(ie.startOffset,z,lengthAdd(ie.newLength,j))}else y.push({startOffset:V,endOffset:z,newLength:j})}let L=lengthZero;for(const V of i){const z=g(V.lengthBefore);if(V.modified){const j=sumLengths(z,oe=>oe.lengthBefore),ie=lengthAdd(L,j);k(L,ie,V.lengthAfter),L=ie}else for(const j of z){const ie=L;L=lengthAdd(L,j.lengthBefore),j.modified&&k(ie,L,j.lengthAfter)}}return y}class LengthMapping{constructor(e,t,i){this.modified=e,this.lengthBefore=t,this.lengthAfter=i}splitAt(e){const t=lengthDiffNonNegative(e,this.lengthAfter);return lengthEquals(t,lengthZero)?[this,void 0]:this.modified?[new LengthMapping(this.modified,this.lengthBefore,e),new LengthMapping(this.modified,lengthZero,t)]:[new LengthMapping(this.modified,e,e),new LengthMapping(this.modified,t,t)]}toString(){return"".concat(this.modified?"M":"U",":").concat(lengthToObj(this.lengthBefore)," -> ").concat(lengthToObj(this.lengthAfter))}}function toLengthMapping(n){const e=[];let t=lengthZero;for(const i of n){const r=lengthDiffNonNegative(t,i.startOffset);lengthIsZero(r)||e.push(new LengthMapping(!1,r,r));const g=lengthDiffNonNegative(i.startOffset,i.endOffset);e.push(new LengthMapping(!0,g,i.newLength)),t=i.endOffset}return e}class BracketPairsTree extends Disposable{didLanguageChange(e){return this.brackets.didLanguageChange(e)}constructor(e,t){if(super(),this.textModel=e,this.getLanguageConfiguration=t,this.didChangeEmitter=new Emitter$1,this.denseKeyProvider=new DenseKeyProvider,this.brackets=new LanguageAgnosticBracketTokens(this.denseKeyProvider,this.getLanguageConfiguration),this.onDidChange=this.didChangeEmitter.event,this.queuedTextEditsForInitialAstWithoutTokens=[],this.queuedTextEdits=[],e.tokenization.hasTokens)e.tokenization.backgroundTokenizationState===2?(this.initialAstWithoutTokens=void 0,this.astWithTokens=this.parseDocumentFromTextBuffer([],void 0,!1)):(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer([],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens);else{const i=this.brackets.getSingleLanguageBracketTokens(this.textModel.getLanguageId()),r=new FastTokenizer(this.textModel.getValue(),i);this.initialAstWithoutTokens=parseDocument(r,[],void 0,!0),this.astWithTokens=this.initialAstWithoutTokens}}handleDidChangeBackgroundTokenizationState(){if(this.textModel.tokenization.backgroundTokenizationState===2){const e=this.initialAstWithoutTokens===void 0;this.initialAstWithoutTokens=void 0,e||this.didChangeEmitter.fire()}}handleDidChangeTokens({ranges:e}){const t=e.map(i=>new TextEditInfo(toLength(i.fromLineNumber-1,0),toLength(i.toLineNumber,0),toLength(i.toLineNumber-i.fromLineNumber+1,0)));this.handleEdits(t,!0),this.initialAstWithoutTokens||this.didChangeEmitter.fire()}handleContentChanged(e){const t=TextEditInfo.fromModelContentChanges(e.changes);this.handleEdits(t,!1)}handleEdits(e,t){const i=combineTextEditInfos(this.queuedTextEdits,e);this.queuedTextEdits=i,this.initialAstWithoutTokens&&!t&&(this.queuedTextEditsForInitialAstWithoutTokens=combineTextEditInfos(this.queuedTextEditsForInitialAstWithoutTokens,e))}flushQueue(){this.queuedTextEdits.length>0&&(this.astWithTokens=this.parseDocumentFromTextBuffer(this.queuedTextEdits,this.astWithTokens,!1),this.queuedTextEdits=[]),this.queuedTextEditsForInitialAstWithoutTokens.length>0&&(this.initialAstWithoutTokens&&(this.initialAstWithoutTokens=this.parseDocumentFromTextBuffer(this.queuedTextEditsForInitialAstWithoutTokens,this.initialAstWithoutTokens,!1)),this.queuedTextEditsForInitialAstWithoutTokens=[])}parseDocumentFromTextBuffer(e,t,i){const r=t,g=new TextBufferTokenizer(this.textModel,this.brackets);return parseDocument(g,e,r,i)}getBracketsInRange(e,t){this.flushQueue();const i=toLength(e.startLineNumber-1,e.startColumn-1),r=toLength(e.endLineNumber-1,e.endColumn-1);return new CallbackIterable(g=>{const y=this.initialAstWithoutTokens||this.astWithTokens;collectBrackets(y,lengthZero,y.length,i,r,g,0,0,new Map,t)})}getBracketPairsInRange(e,t){this.flushQueue();const i=positionToLength(e.getStartPosition()),r=positionToLength(e.getEndPosition());return new CallbackIterable(g=>{const y=this.initialAstWithoutTokens||this.astWithTokens,k=new CollectBracketPairsContext(g,t,this.textModel);collectBracketPairs(y,lengthZero,y.length,i,r,k,0,new Map)})}getFirstBracketAfter(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketAfter(t,lengthZero,t.length,positionToLength(e))}getFirstBracketBefore(e){this.flushQueue();const t=this.initialAstWithoutTokens||this.astWithTokens;return getFirstBracketBefore(t,lengthZero,t.length,positionToLength(e))}}function getFirstBracketBefore(n,e,t,i){if(n.kind===4||n.kind===2){const r=[];for(const g of n.children)t=lengthAdd(e,g.length),r.push({nodeOffsetStart:e,nodeOffsetEnd:t}),e=t;for(let g=r.length-1;g>=0;g--){const{nodeOffsetStart:y,nodeOffsetEnd:k}=r[g];if(lengthLessThan(y,i)){const L=getFirstBracketBefore(n.children[g],y,k,i);if(L)return L}}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=lengthsToRange(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function getFirstBracketAfter(n,e,t,i){if(n.kind===4||n.kind===2){for(const r of n.children){if(t=lengthAdd(e,r.length),lengthLessThan(i,t)){const g=getFirstBracketAfter(r,e,t,i);if(g)return g}e=t}return null}else{if(n.kind===3)return null;if(n.kind===1){const r=lengthsToRange(e,t);return{bracketInfo:n.bracketInfo,range:r}}}return null}function collectBrackets(n,e,t,i,r,g,y,k,L,V,z=!1){if(y>200)return!0;e:for(;;)switch(n.kind){case 4:{const j=n.childrenLength;for(let ie=0;ie200)return!0;let V=!0;if(n.kind===2){let z=0;if(k){let oe=k.get(n.openingBracket.text);oe===void 0&&(oe=0),z=oe,oe++,k.set(n.openingBracket.text,oe)}const j=lengthAdd(e,n.openingBracket.length);let ie=-1;if(g.includeMinIndentation&&(ie=n.computeMinIndentation(e,g.textModel)),V=g.push(new BracketPairWithMinIndentationInfo(lengthsToRange(e,t),lengthsToRange(e,j),n.closingBracket?lengthsToRange(lengthAdd(j,((L=n.child)===null||L===void 0?void 0:L.length)||lengthZero),t):void 0,y,z,n,ie)),e=j,V&&n.child){const oe=n.child;if(t=lengthAdd(e,oe.length),lengthLessThanEqual(e,r)&&lengthGreaterThanEqual(t,i)&&(V=collectBracketPairs(oe,e,t,i,r,g,y+1,k),!V))return!1}k==null||k.set(n.openingBracket.text,z)}else{let z=e;for(const j of n.children){const ie=z;if(z=lengthAdd(z,j.length),lengthLessThanEqual(ie,r)&&lengthLessThanEqual(i,z)&&(V=collectBracketPairs(j,ie,z,i,r,g,y,k),!V))return!1}}return V}class BracketPairsTextModelPart extends Disposable{get canBuildAST(){return this.textModel.getValueLength()<=5e6}constructor(e,t){super(),this.textModel=e,this.languageConfigurationService=t,this.bracketPairsTree=this._register(new MutableDisposable),this.onDidChangeEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEmitter.event,this.bracketsRequested=!1,this._register(this.languageConfigurationService.onDidChange(i=>{var r;(!i.languageId||!((r=this.bracketPairsTree.value)===null||r===void 0)&&r.object.didLanguageChange(i.languageId))&&(this.bracketPairsTree.clear(),this.updateBracketPairsTree())}))}handleDidChangeOptions(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeLanguage(e){this.bracketPairsTree.clear(),this.updateBracketPairsTree()}handleDidChangeContent(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleContentChanged(e)}handleDidChangeBackgroundTokenizationState(){var e;(e=this.bracketPairsTree.value)===null||e===void 0||e.object.handleDidChangeBackgroundTokenizationState()}handleDidChangeTokens(e){var t;(t=this.bracketPairsTree.value)===null||t===void 0||t.object.handleDidChangeTokens(e)}updateBracketPairsTree(){if(this.bracketsRequested&&this.canBuildAST){if(!this.bracketPairsTree.value){const e=new DisposableStore;this.bracketPairsTree.value=createDisposableRef(e.add(new BracketPairsTree(this.textModel,t=>this.languageConfigurationService.getLanguageConfiguration(t))),e),e.add(this.bracketPairsTree.value.object.onDidChange(t=>this.onDidChangeEmitter.fire(t))),this.onDidChangeEmitter.fire()}}else this.bracketPairsTree.value&&(this.bracketPairsTree.clear(),this.onDidChangeEmitter.fire())}getBracketPairsInRange(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!1))||CallbackIterable.empty}getBracketPairsInRangeWithMinIndentation(e){var t;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getBracketPairsInRange(e,!0))||CallbackIterable.empty}getBracketsInRange(e,t=!1){var i;return this.bracketsRequested=!0,this.updateBracketPairsTree(),((i=this.bracketPairsTree.value)===null||i===void 0?void 0:i.object.getBracketsInRange(e,t))||CallbackIterable.empty}findMatchingBracketUp(e,t,i){const r=this.textModel.validatePosition(t),g=this.textModel.getLanguageIdAtPosition(r.lineNumber,r.column);if(this.canBuildAST){const y=this.languageConfigurationService.getLanguageConfiguration(g).bracketsNew.getClosingBracketInfo(e);if(!y)return null;const k=this.getBracketPairsInRange(Range$2.fromPositions(t,t)).findLast(L=>y.closes(L.openingBracketInfo));return k?k.openingBracketRange:null}else{const y=e.toLowerCase(),k=this.languageConfigurationService.getLanguageConfiguration(g).brackets;if(!k)return null;const L=k.textIsBracket[y];return L?stripBracketSearchCanceled(this._findMatchingBracketUp(L,r,createTimeBasedContinueBracketSearchPredicate(i))):null}}matchBracket(e,t){if(this.canBuildAST){const i=this.getBracketPairsInRange(Range$2.fromPositions(e,e)).filter(r=>r.closingBracketRange!==void 0&&(r.openingBracketRange.containsPosition(e)||r.closingBracketRange.containsPosition(e))).findLastMaxBy(compareBy(r=>r.openingBracketRange.containsPosition(e)?r.openingBracketRange:r.closingBracketRange,Range$2.compareRangesUsingStarts));return i?[i.openingBracketRange,i.closingBracketRange]:null}else{const i=createTimeBasedContinueBracketSearchPredicate(t);return this._matchBracket(this.textModel.validatePosition(e),i)}}_establishBracketSearchOffsets(e,t,i,r){const g=t.getCount(),y=t.getLanguageId(r);let k=Math.max(0,e.column-1-i.maxBracketLength);for(let V=r-1;V>=0;V--){const z=t.getEndOffset(V);if(z<=k)break;if(ignoreBracketsInToken(t.getStandardTokenType(V))||t.getLanguageId(V)!==y){k=z;break}}let L=Math.min(t.getLineContent().length,e.column-1+i.maxBracketLength);for(let V=r+1;V=L)break;if(ignoreBracketsInToken(t.getStandardTokenType(V))||t.getLanguageId(V)!==y){L=z;break}}return{searchStartOffset:k,searchEndOffset:L}}_matchBracket(e,t){const i=e.lineNumber,r=this.textModel.tokenization.getLineTokens(i),g=this.textModel.getLineContent(i),y=r.findTokenIndexAtOffset(e.column-1);if(y<0)return null;const k=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(y)).brackets;if(k&&!ignoreBracketsInToken(r.getStandardTokenType(y))){let{searchStartOffset:L,searchEndOffset:V}=this._establishBracketSearchOffsets(e,r,k,y),z=null;for(;;){const j=BracketsUtils.findNextBracketInRange(k.forwardRegex,i,g,L,V);if(!j)break;if(j.startColumn<=e.column&&e.column<=j.endColumn){const ie=g.substring(j.startColumn-1,j.endColumn-1).toLowerCase(),oe=this._matchFoundBracket(j,k.textIsBracket[ie],k.textIsOpenBracket[ie],t);if(oe){if(oe instanceof BracketSearchCanceled)return null;z=oe}}L=j.endColumn-1}if(z)return z}if(y>0&&r.getStartOffset(y)===e.column-1){const L=y-1,V=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId(L)).brackets;if(V&&!ignoreBracketsInToken(r.getStandardTokenType(L))){const{searchStartOffset:z,searchEndOffset:j}=this._establishBracketSearchOffsets(e,r,V,L),ie=BracketsUtils.findPrevBracketInRange(V.reversedRegex,i,g,z,j);if(ie&&ie.startColumn<=e.column&&e.column<=ie.endColumn){const oe=g.substring(ie.startColumn-1,ie.endColumn-1).toLowerCase(),re=this._matchFoundBracket(ie,V.textIsBracket[oe],V.textIsOpenBracket[oe],t);if(re)return re instanceof BracketSearchCanceled?null:re}}}return null}_matchFoundBracket(e,t,i,r){if(!t)return null;const g=i?this._findMatchingBracketDown(t,e.getEndPosition(),r):this._findMatchingBracketUp(t,e.getStartPosition(),r);return g?g instanceof BracketSearchCanceled?g:[e,g]:null}_findMatchingBracketUp(e,t,i){const r=e.languageId,g=e.reversedRegex;let y=-1,k=0;const L=(V,z,j,ie)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled.INSTANCE;const oe=BracketsUtils.findPrevBracketInRange(g,V,z,j,ie);if(!oe)break;const re=z.substring(oe.startColumn-1,oe.endColumn-1).toLowerCase();if(e.isOpen(re)?y++:e.isClose(re)&&y--,y===0)return oe;ie=oe.startColumn-1}return null};for(let V=t.lineNumber;V>=1;V--){const z=this.textModel.tokenization.getLineTokens(V),j=z.getCount(),ie=this.textModel.getLineContent(V);let oe=j-1,re=ie.length,ae=ie.length;V===t.lineNumber&&(oe=z.findTokenIndexAtOffset(t.column-1),re=t.column-1,ae=t.column-1);let le=!0;for(;oe>=0;oe--){const de=z.getLanguageId(oe)===r&&!ignoreBracketsInToken(z.getStandardTokenType(oe));if(de)le?re=z.getStartOffset(oe):(re=z.getStartOffset(oe),ae=z.getEndOffset(oe));else if(le&&re!==ae){const ue=L(V,ie,re,ae);if(ue)return ue}le=de}if(le&&re!==ae){const de=L(V,ie,re,ae);if(de)return de}}return null}_findMatchingBracketDown(e,t,i){const r=e.languageId,g=e.forwardRegex;let y=1,k=0;const L=(z,j,ie,oe)=>{for(;;){if(i&&++k%100===0&&!i())return BracketSearchCanceled.INSTANCE;const re=BracketsUtils.findNextBracketInRange(g,z,j,ie,oe);if(!re)break;const ae=j.substring(re.startColumn-1,re.endColumn-1).toLowerCase();if(e.isOpen(ae)?y++:e.isClose(ae)&&y--,y===0)return re;ie=re.endColumn-1}return null},V=this.textModel.getLineCount();for(let z=t.lineNumber;z<=V;z++){const j=this.textModel.tokenization.getLineTokens(z),ie=j.getCount(),oe=this.textModel.getLineContent(z);let re=0,ae=0,le=0;z===t.lineNumber&&(re=j.findTokenIndexAtOffset(t.column-1),ae=t.column-1,le=t.column-1);let de=!0;for(;re=1;k--){const L=this.textModel.tokenization.getLineTokens(k),V=L.getCount(),z=this.textModel.getLineContent(k);let j=V-1,ie=z.length,oe=z.length;if(k===i.lineNumber){j=L.findTokenIndexAtOffset(i.column-1),ie=i.column-1,oe=i.column-1;const ae=L.getLanguageId(j);r!==ae&&(r=ae,g=this.languageConfigurationService.getLanguageConfiguration(r).brackets,y=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew)}let re=!0;for(;j>=0;j--){const ae=L.getLanguageId(j);if(r!==ae){if(g&&y&&re&&ie!==oe){const de=BracketsUtils.findPrevBracketInRange(g.reversedRegex,k,z,ie,oe);if(de)return this._toFoundBracket(y,de);re=!1}r=ae,g=this.languageConfigurationService.getLanguageConfiguration(r).brackets,y=this.languageConfigurationService.getLanguageConfiguration(r).bracketsNew}const le=!!g&&!ignoreBracketsInToken(L.getStandardTokenType(j));if(le)re?ie=L.getStartOffset(j):(ie=L.getStartOffset(j),oe=L.getEndOffset(j));else if(y&&g&&re&&ie!==oe){const de=BracketsUtils.findPrevBracketInRange(g.reversedRegex,k,z,ie,oe);if(de)return this._toFoundBracket(y,de)}re=le}if(y&&g&&re&&ie!==oe){const ae=BracketsUtils.findPrevBracketInRange(g.reversedRegex,k,z,ie,oe);if(ae)return this._toFoundBracket(y,ae)}}return null}findNextBracket(e){var t;const i=this.textModel.validatePosition(e);if(this.canBuildAST)return this.bracketsRequested=!0,this.updateBracketPairsTree(),((t=this.bracketPairsTree.value)===null||t===void 0?void 0:t.object.getFirstBracketAfter(i))||null;const r=this.textModel.getLineCount();let g=null,y=null,k=null;for(let L=i.lineNumber;L<=r;L++){const V=this.textModel.tokenization.getLineTokens(L),z=V.getCount(),j=this.textModel.getLineContent(L);let ie=0,oe=0,re=0;if(L===i.lineNumber){ie=V.findTokenIndexAtOffset(i.column-1),oe=i.column-1,re=i.column-1;const le=V.getLanguageId(ie);g!==le&&(g=le,y=this.languageConfigurationService.getLanguageConfiguration(g).brackets,k=this.languageConfigurationService.getLanguageConfiguration(g).bracketsNew)}let ae=!0;for(;ieae.closingBracketRange!==void 0&&ae.range.strictContainsRange(oe));return re?[re.openingBracketRange,re.closingBracketRange]:null}const r=createTimeBasedContinueBracketSearchPredicate(t),g=this.textModel.getLineCount(),y=new Map;let k=[];const L=(oe,re)=>{if(!y.has(oe)){const ae=[];for(let le=0,de=re?re.brackets.length:0;le{for(;;){if(r&&++V%100===0&&!r())return BracketSearchCanceled.INSTANCE;const ue=BracketsUtils.findNextBracketInRange(oe.forwardRegex,re,ae,le,de);if(!ue)break;const he=ae.substring(ue.startColumn-1,ue.endColumn-1).toLowerCase(),pe=oe.textIsBracket[he];if(pe&&(pe.isOpen(he)?k[pe.index]++:pe.isClose(he)&&k[pe.index]--,k[pe.index]===-1))return this._matchFoundBracket(ue,pe,!1,r);le=ue.endColumn-1}return null};let j=null,ie=null;for(let oe=i.lineNumber;oe<=g;oe++){const re=this.textModel.tokenization.getLineTokens(oe),ae=re.getCount(),le=this.textModel.getLineContent(oe);let de=0,ue=0,he=0;if(oe===i.lineNumber){de=re.findTokenIndexAtOffset(i.column-1),ue=i.column-1,he=i.column-1;const Ce=re.getLanguageId(de);j!==Ce&&(j=Ce,ie=this.languageConfigurationService.getLanguageConfiguration(j).brackets,L(j,ie))}let pe=!0;for(;dee==null?void 0:e.dispose()}}function createTimeBasedContinueBracketSearchPredicate(n){if(typeof n>"u")return()=>!0;{const e=Date.now();return()=>Date.now()-e<=n}}class BracketSearchCanceled{constructor(){this._searchCanceledBrand=void 0}}BracketSearchCanceled.INSTANCE=new BracketSearchCanceled;function stripBracketSearchCanceled(n){return n instanceof BracketSearchCanceled?null:n}class ColorizedBracketPairsDecorationProvider extends Disposable{constructor(e){super(),this.textModel=e,this.colorProvider=new ColorProvider,this.onDidChangeEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEmitter.event,this.colorizationOptions=e.getOptions().bracketPairColorizationOptions,this._register(e.bracketPairs.onDidChange(t=>{this.onDidChangeEmitter.fire()}))}handleDidChangeOptions(e){this.colorizationOptions=this.textModel.getOptions().bracketPairColorizationOptions}getDecorationsInRange(e,t,i,r){return r?[]:t===void 0?[]:this.colorizationOptions.enabled?this.textModel.bracketPairs.getBracketsInRange(e,!0).map(y=>({id:"bracket".concat(y.range.toString(),"-").concat(y.nestingLevel),options:{description:"BracketPairColorization",inlineClassName:this.colorProvider.getInlineClassName(y,this.colorizationOptions.independentColorPoolPerBracketType)},ownerId:0,range:y.range})).toArray():[]}getAllDecorations(e,t){return e===void 0?[]:this.colorizationOptions.enabled?this.getDecorationsInRange(new Range$2(1,1,this.textModel.getLineCount(),1),e,t):[]}}class ColorProvider{constructor(){this.unexpectedClosingBracketClassName="unexpected-closing-bracket"}getInlineClassName(e,t){return e.isInvalid?this.unexpectedClosingBracketClassName:this.getInlineClassNameOfLevel(t?e.nestingLevelOfEqualBracketType:e.nestingLevel)}getInlineClassNameOfLevel(e){return"bracket-highlighting-".concat(e%30)}}registerThemingParticipant((n,e)=>{const t=[editorBracketHighlightingForeground1,editorBracketHighlightingForeground2,editorBracketHighlightingForeground3,editorBracketHighlightingForeground4,editorBracketHighlightingForeground5,editorBracketHighlightingForeground6],i=new ColorProvider;e.addRule(".monaco-editor .".concat(i.unexpectedClosingBracketClassName," { color: ").concat(n.getColor(editorBracketHighlightingUnexpectedBracketForeground),"; }"));const r=t.map(g=>n.getColor(g)).filter(g=>!!g).filter(g=>!g.isTransparent());for(let g=0;g<30;g++){const y=r[g%r.length];e.addRule(".monaco-editor .".concat(i.getInlineClassNameOfLevel(g)," { color: ").concat(y,"; }"))}});function escapeNewLine(n){return n.replace(/\n/g,"\\n").replace(/\r/g,"\\r")}class TextChange{get oldLength(){return this.oldText.length}get oldEnd(){return this.oldPosition+this.oldText.length}get newLength(){return this.newText.length}get newEnd(){return this.newPosition+this.newText.length}constructor(e,t,i,r){this.oldPosition=e,this.oldText=t,this.newPosition=i,this.newText=r}toString(){return this.oldText.length===0?"(insert@".concat(this.oldPosition,' "').concat(escapeNewLine(this.newText),'")'):this.newText.length===0?"(delete@".concat(this.oldPosition,' "').concat(escapeNewLine(this.oldText),'")'):"(replace@".concat(this.oldPosition,' "').concat(escapeNewLine(this.oldText),'" with "').concat(escapeNewLine(this.newText),'")')}static _writeStringSize(e){return 4+2*e.length}static _writeString(e,t,i){const r=t.length;writeUInt32BE(e,r,i),i+=4;for(let g=0;gn.length)return!1;if(t){if(!startsWithIgnoreCase(n,e))return!1;if(e.length===n.length)return!0;let g=e.length;return e.charAt(e.length-1)===i&&g--,n.charAt(g)===i}return e.charAt(e.length-1)!==i&&(e+=i),n.indexOf(e)===0}function isWindowsDriveLetter(n){return n>=65&&n<=90||n>=97&&n<=122}function hasDriveLetter(n,e=isWindows){return e?isWindowsDriveLetter(n.charCodeAt(0))&&n.charCodeAt(1)===58:!1}function originalFSPath(n){return uriToFsPath(n,!0)}class ExtUri{constructor(e){this._ignorePathCasing=e}compare(e,t,i=!1){return e===t?0:compare(this.getComparisonKey(e,i),this.getComparisonKey(t,i))}isEqual(e,t,i=!1){return e===t?!0:!e||!t?!1:this.getComparisonKey(e,i)===this.getComparisonKey(t,i)}getComparisonKey(e,t=!1){return e.with({path:this._ignorePathCasing(e)?e.path.toLowerCase():void 0,fragment:t?null:void 0}).toString()}isEqualOrParent(e,t,i=!1){if(e.scheme===t.scheme){if(e.scheme===Schemas.file)return isEqualOrParent(originalFSPath(e),originalFSPath(t),this._ignorePathCasing(e))&&e.query===t.query&&(i||e.fragment===t.fragment);if(isEqualAuthority(e.authority,t.authority))return isEqualOrParent(e.path,t.path,this._ignorePathCasing(e),"/")&&e.query===t.query&&(i||e.fragment===t.fragment)}return!1}joinPath(e,...t){return URI.joinPath(e,...t)}basenameOrAuthority(e){return basename(e)||e.authority}basename(e){return posix.basename(e.path)}extname(e){return posix.extname(e.path)}dirname(e){if(e.path.length===0)return e;let t;return e.scheme===Schemas.file?t=URI.file(dirname$1(originalFSPath(e))).path:(t=posix.dirname(e.path),e.authority&&t.length&&t.charCodeAt(0)!==47&&(console.error('dirname("'.concat(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===Schemas.file?t=URI.file(normalize(originalFSPath(e))).path:t=posix.normalize(e.path),e.with({path:t})}relativePath(e,t){if(e.scheme!==t.scheme||!isEqualAuthority(e.authority,t.authority))return;if(e.scheme===Schemas.file){const g=relative(originalFSPath(e),originalFSPath(t));return isWindows?toSlashes(g):g}let i=e.path||"/";const r=t.path||"/";if(this._ignorePathCasing(e)){let g=0;for(const y=Math.min(i.length,r.length);ggetRoot(i).length&&i[i.length-1]===t}else{const i=e.path;return i.length>1&&i.charCodeAt(i.length-1)===47&&!/^[a-zA-Z]:(\/$|\\$)/.test(e.fsPath)}}removeTrailingPathSeparator(e,t=sep){return hasTrailingPathSeparator(e,t)?e.with({path:e.path.substr(0,e.path.length-1)}):e}addTrailingPathSeparator(e,t=sep){let i=!1;if(e.scheme===Schemas.file){const r=originalFSPath(e);i=r!==void 0&&r.length===getRoot(r).length&&r[r.length-1]===t}else{t="/";const r=e.path;i=r.length===1&&r.charCodeAt(r.length-1)===47}return!i&&!hasTrailingPathSeparator(e,t)?e.with({path:e.path+"/"}):e}}const extUri=new ExtUri(()=>!1),isEqual=extUri.isEqual.bind(extUri);extUri.isEqualOrParent.bind(extUri);extUri.getComparisonKey.bind(extUri);const basenameOrAuthority=extUri.basenameOrAuthority.bind(extUri),basename=extUri.basename.bind(extUri),extname=extUri.extname.bind(extUri),dirname=extUri.dirname.bind(extUri),joinPath=extUri.joinPath.bind(extUri),normalizePath=extUri.normalizePath.bind(extUri),relativePath=extUri.relativePath.bind(extUri),resolvePath=extUri.resolvePath.bind(extUri);extUri.isAbsolutePath.bind(extUri);const isEqualAuthority=extUri.isEqualAuthority.bind(extUri),hasTrailingPathSeparator=extUri.hasTrailingPathSeparator.bind(extUri);extUri.removeTrailingPathSeparator.bind(extUri);extUri.addTrailingPathSeparator.bind(extUri);var DataUri;(function(n){n.META_DATA_LABEL="label",n.META_DATA_DESCRIPTION="description",n.META_DATA_SIZE="size",n.META_DATA_MIME="mime";function e(t){const i=new Map;t.path.substring(t.path.indexOf(";")+1,t.path.lastIndexOf(";")).split(";").forEach(y=>{const[k,L]=y.split(":");k&&L&&i.set(k,L)});const g=t.path.substring(0,t.path.indexOf(";"));return g&&i.set(n.META_DATA_MIME,g),i}n.parseMetaData=e})(DataUri||(DataUri={}));function uriGetComparisonKey(n){return n.toString()}class SingleModelEditStackData{static create(e,t){const i=e.getAlternativeVersionId(),r=getModelEOL(e);return new SingleModelEditStackData(i,i,r,r,t,t,[])}constructor(e,t,i,r,g,y,k){this.beforeVersionId=e,this.afterVersionId=t,this.beforeEOL=i,this.afterEOL=r,this.beforeCursorState=g,this.afterCursorState=y,this.changes=k}append(e,t,i,r,g){t.length>0&&(this.changes=compressConsecutiveTextChanges(this.changes,t)),this.afterEOL=i,this.afterVersionId=r,this.afterCursorState=g}static _writeSelectionsSize(e){return 4+4*4*(e?e.length:0)}static _writeSelections(e,t,i){if(writeUInt32BE(e,t?t.length:0,i),i+=4,t)for(const r of t)writeUInt32BE(e,r.selectionStartLineNumber,i),i+=4,writeUInt32BE(e,r.selectionStartColumn,i),i+=4,writeUInt32BE(e,r.positionLineNumber,i),i+=4,writeUInt32BE(e,r.positionColumn,i),i+=4;return i}static _readSelections(e,t,i){const r=readUInt32BE(e,t);t+=4;for(let g=0;gt.toString()).join(", ")}matchesResource(e){return(URI.isUri(this.model)?this.model:this.model.uri).toString()===e.toString()}setModel(e){this.model=e}canAppend(e){return this.model===e&&this._data instanceof SingleModelEditStackData}append(e,t,i,r,g){this._data instanceof SingleModelEditStackData&&this._data.append(e,t,i,r,g)}close(){this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize())}open(){this._data instanceof SingleModelEditStackData||(this._data=SingleModelEditStackData.deserialize(this._data))}undo(){if(URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize());const e=SingleModelEditStackData.deserialize(this._data);this.model._applyUndo(e.changes,e.beforeEOL,e.beforeVersionId,e.beforeCursorState)}redo(){if(URI.isUri(this.model))throw new Error("Invalid SingleModelEditStackElement");this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize());const e=SingleModelEditStackData.deserialize(this._data);this.model._applyRedo(e.changes,e.afterEOL,e.afterVersionId,e.afterCursorState)}heapSize(){return this._data instanceof SingleModelEditStackData&&(this._data=this._data.serialize()),this._data.byteLength+168}}class MultiModelEditStackElement{get resources(){return this._editStackElementsArr.map(e=>e.resource)}constructor(e,t,i){this.label=e,this.code=t,this.type=1,this._isOpen=!0,this._editStackElementsArr=i.slice(0),this._editStackElementsMap=new Map;for(const r of this._editStackElementsArr){const g=uriGetComparisonKey(r.resource);this._editStackElementsMap.set(g,r)}this._delegate=null}prepareUndoRedo(){if(this._delegate)return this._delegate.prepareUndoRedo(this)}matchesResource(e){const t=uriGetComparisonKey(e);return this._editStackElementsMap.has(t)}setModel(e){const t=uriGetComparisonKey(URI.isUri(e)?e:e.uri);this._editStackElementsMap.has(t)&&this._editStackElementsMap.get(t).setModel(e)}canAppend(e){if(!this._isOpen)return!1;const t=uriGetComparisonKey(e.uri);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).canAppend(e):!1}append(e,t,i,r,g){const y=uriGetComparisonKey(e.uri);this._editStackElementsMap.get(y).append(e,t,i,r,g)}close(){this._isOpen=!1}open(){}undo(){this._isOpen=!1;for(const e of this._editStackElementsArr)e.undo()}redo(){for(const e of this._editStackElementsArr)e.redo()}heapSize(e){const t=uriGetComparisonKey(e);return this._editStackElementsMap.has(t)?this._editStackElementsMap.get(t).heapSize():0}split(){return this._editStackElementsArr}toString(){const e=[];for(const t of this._editStackElementsArr)e.push("".concat(basename(t.resource),": ").concat(t));return"{".concat(e.join(", "),"}")}}function getModelEOL(n){return n.getEOL()==="\n"?0:1}function isEditStackElement(n){return n?n instanceof SingleModelEditStackElement||n instanceof MultiModelEditStackElement:!1}class EditStack{constructor(e,t){this._model=e,this._undoRedoService=t}pushStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement(e)&&e.close()}popStackElement(){const e=this._undoRedoService.getLastElement(this._model.uri);isEditStackElement(e)&&e.open()}clear(){this._undoRedoService.removeElements(this._model.uri)}_getOrCreateEditStackElement(e,t){const i=this._undoRedoService.getLastElement(this._model.uri);if(isEditStackElement(i)&&i.canAppend(this._model))return i;const r=new SingleModelEditStackElement(localize("edit","Typing"),"undoredo.textBufferEdit",this._model,e);return this._undoRedoService.pushElement(r,t),r}pushEOL(e){const t=this._getOrCreateEditStackElement(null,void 0);this._model.setEOL(e),t.append(this._model,[],getModelEOL(this._model),this._model.getAlternativeVersionId(),null)}pushEditOperation(e,t,i,r){const g=this._getOrCreateEditStackElement(e,r),y=this._model.applyEdits(t,!0),k=EditStack._computeCursorState(i,y),L=y.map((V,z)=>({index:z,textChange:V.textChange}));return L.sort((V,z)=>V.textChange.oldPosition===z.textChange.oldPosition?V.index-z.index:V.textChange.oldPosition-z.textChange.oldPosition),g.append(this._model,L.map(V=>V.textChange),getModelEOL(this._model),this._model.getAlternativeVersionId(),k),k}static _computeCursorState(e,t){try{return e?e(t):null}catch(i){return onUnexpectedError(i),null}}}class SpacesDiffResult{constructor(){this.spacesDiff=0,this.looksLikeAlignment=!1}}function spacesDiff(n,e,t,i,r){r.spacesDiff=0,r.looksLikeAlignment=!1;let g;for(g=0;g0&&k>0||L>0&&V>0)return;const z=Math.abs(k-V),j=Math.abs(y-L);if(z===0){r.spacesDiff=j,j>0&&0<=L-1&&L-10?r++:pe>1&&g++,spacesDiff(y,k,le,he,j),j.looksLikeAlignment&&!(t&&e===j.spacesDiff)))continue;const $e=j.spacesDiff;$e<=V&&z[$e]++,y=le,k=he}let ie=t;r!==g&&(ie=r{const le=z[ae];le>re&&(re=le,oe=ae)}),oe===4&&z[4]>0&&z[2]>0&&z[2]>=z[4]/2&&(oe=2)}return{insertSpaces:ie,tabSize:oe}}function getNodeColor(n){return(n.metadata&1)>>>0}function setNodeColor(n,e){n.metadata=n.metadata&254|e<<0}function getNodeIsVisited(n){return(n.metadata&2)>>>1===1}function setNodeIsVisited(n,e){n.metadata=n.metadata&253|(e?1:0)<<1}function getNodeIsForValidation(n){return(n.metadata&4)>>>2===1}function setNodeIsForValidation(n,e){n.metadata=n.metadata&251|(e?1:0)<<2}function getNodeIsInGlyphMargin(n){return(n.metadata&64)>>>6===1}function setNodeIsInGlyphMargin(n,e){n.metadata=n.metadata&191|(e?1:0)<<6}function getNodeStickiness(n){return(n.metadata&24)>>>3}function _setNodeStickiness(n,e){n.metadata=n.metadata&231|e<<3}function getCollapseOnReplaceEdit(n){return(n.metadata&32)>>>5===1}function setCollapseOnReplaceEdit(n,e){n.metadata=n.metadata&223|(e?1:0)<<5}class IntervalNode{constructor(e,t,i){this.metadata=0,this.parent=this,this.left=this,this.right=this,setNodeColor(this,1),this.start=t,this.end=i,this.delta=0,this.maxEnd=i,this.id=e,this.ownerId=0,this.options=null,setNodeIsForValidation(this,!1),setNodeIsInGlyphMargin(this,!1),_setNodeStickiness(this,1),setCollapseOnReplaceEdit(this,!1),this.cachedVersionId=0,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=null,setNodeIsVisited(this,!1)}reset(e,t,i,r){this.start=t,this.end=i,this.maxEnd=i,this.cachedVersionId=e,this.cachedAbsoluteStart=t,this.cachedAbsoluteEnd=i,this.range=r}setOptions(e){this.options=e;const t=this.options.className;setNodeIsForValidation(this,t==="squiggly-error"||t==="squiggly-warning"||t==="squiggly-info"),setNodeIsInGlyphMargin(this,this.options.glyphMarginClassName!==null),_setNodeStickiness(this,this.options.stickiness),setCollapseOnReplaceEdit(this,this.options.collapseOnReplaceEdit)}setCachedOffsets(e,t,i){this.cachedVersionId!==i&&(this.range=null),this.cachedVersionId=i,this.cachedAbsoluteStart=e,this.cachedAbsoluteEnd=t}detach(){this.parent=null,this.left=null,this.right=null}}const SENTINEL$1=new IntervalNode(null,0,0);SENTINEL$1.parent=SENTINEL$1;SENTINEL$1.left=SENTINEL$1;SENTINEL$1.right=SENTINEL$1;setNodeColor(SENTINEL$1,0);class IntervalTree{constructor(){this.root=SENTINEL$1,this.requestNormalizeDelta=!1}intervalSearch(e,t,i,r,g,y){return this.root===SENTINEL$1?[]:intervalSearch(this,e,t,i,r,g,y)}search(e,t,i,r){return this.root===SENTINEL$1?[]:search(this,e,t,i,r)}collectNodesFromOwner(e){return collectNodesFromOwner(this,e)}collectNodesPostOrder(){return collectNodesPostOrder(this)}insert(e){rbTreeInsert(this,e),this._normalizeDeltaIfNecessary()}delete(e){rbTreeDelete(this,e),this._normalizeDeltaIfNecessary()}resolveNode(e,t){const i=e;let r=0;for(;e!==this.root;)e===e.parent.right&&(r+=e.parent.delta),e=e.parent;const g=i.start+r,y=i.end+r;i.setCachedOffsets(g,y,t)}acceptReplace(e,t,i,r){const g=searchForEditing(this,e,e+t);for(let y=0,k=g.length;yt||i===1?!1:i===2?!0:e}function nodeAcceptEdit(n,e,t,i,r){const g=getNodeStickiness(n),y=g===0||g===2,k=g===1||g===2,L=t-e,V=i,z=Math.min(L,V),j=n.start;let ie=!1;const oe=n.end;let re=!1;e<=j&&oe<=t&&getCollapseOnReplaceEdit(n)&&(n.start=e,ie=!0,n.end=e,re=!0);{const le=r?1:L>0?2:0;!ie&&adjustMarkerBeforeColumn(j,y,e,le)&&(ie=!0),!re&&adjustMarkerBeforeColumn(oe,k,e,le)&&(re=!0)}if(z>0&&!r){const le=L>V?2:0;!ie&&adjustMarkerBeforeColumn(j,y,e+z,le)&&(ie=!0),!re&&adjustMarkerBeforeColumn(oe,k,e+z,le)&&(re=!0)}{const le=r?1:0;!ie&&adjustMarkerBeforeColumn(j,y,t,le)&&(n.start=e+V,ie=!0),!re&&adjustMarkerBeforeColumn(oe,k,t,le)&&(n.end=e+V,re=!0)}const ae=V-L;ie||(n.start=Math.max(0,j+ae)),re||(n.end=Math.max(0,oe+ae)),n.start>n.end&&(n.end=n.start)}function searchForEditing(n,e,t){let i=n.root,r=0,g=0,y=0,k=0;const L=[];let V=0;for(;i!==SENTINEL$1;){if(getNodeIsVisited(i)){setNodeIsVisited(i.left,!1),setNodeIsVisited(i.right,!1),i===i.parent.right&&(r-=i.parent.delta),i=i.parent;continue}if(!getNodeIsVisited(i.left)){if(g=r+i.maxEnd,gt){setNodeIsVisited(i,!0);continue}if(k=r+i.end,k>=e&&(i.setCachedOffsets(y,k,0),L[V++]=i),setNodeIsVisited(i,!0),i.right!==SENTINEL$1&&!getNodeIsVisited(i.right)){r+=i.delta,i=i.right;continue}}return setNodeIsVisited(n.root,!1),L}function noOverlapReplace(n,e,t,i){let r=n.root,g=0,y=0,k=0;const L=i-(t-e);for(;r!==SENTINEL$1;){if(getNodeIsVisited(r)){setNodeIsVisited(r.left,!1),setNodeIsVisited(r.right,!1),r===r.parent.right&&(g-=r.parent.delta),recomputeMaxEnd(r),r=r.parent;continue}if(!getNodeIsVisited(r.left)){if(y=g+r.maxEnd,yt){r.start+=L,r.end+=L,r.delta+=L,(r.delta<-1073741824||r.delta>1073741824)&&(n.requestNormalizeDelta=!0),setNodeIsVisited(r,!0);continue}if(setNodeIsVisited(r,!0),r.right!==SENTINEL$1&&!getNodeIsVisited(r.right)){g+=r.delta,r=r.right;continue}}setNodeIsVisited(n.root,!1)}function collectNodesFromOwner(n,e){let t=n.root;const i=[];let r=0;for(;t!==SENTINEL$1;){if(getNodeIsVisited(t)){setNodeIsVisited(t.left,!1),setNodeIsVisited(t.right,!1),t=t.parent;continue}if(t.left!==SENTINEL$1&&!getNodeIsVisited(t.left)){t=t.left;continue}if(t.ownerId===e&&(i[r++]=t),setNodeIsVisited(t,!0),t.right!==SENTINEL$1&&!getNodeIsVisited(t.right)){t=t.right;continue}}return setNodeIsVisited(n.root,!1),i}function collectNodesPostOrder(n){let e=n.root;const t=[];let i=0;for(;e!==SENTINEL$1;){if(getNodeIsVisited(e)){setNodeIsVisited(e.left,!1),setNodeIsVisited(e.right,!1),e=e.parent;continue}if(e.left!==SENTINEL$1&&!getNodeIsVisited(e.left)){e=e.left;continue}if(e.right!==SENTINEL$1&&!getNodeIsVisited(e.right)){e=e.right;continue}t[i++]=e,setNodeIsVisited(e,!0)}return setNodeIsVisited(n.root,!1),t}function search(n,e,t,i,r){let g=n.root,y=0,k=0,L=0;const V=[];let z=0;for(;g!==SENTINEL$1;){if(getNodeIsVisited(g)){setNodeIsVisited(g.left,!1),setNodeIsVisited(g.right,!1),g===g.parent.right&&(y-=g.parent.delta),g=g.parent;continue}if(g.left!==SENTINEL$1&&!getNodeIsVisited(g.left)){g=g.left;continue}k=y+g.start,L=y+g.end,g.setCachedOffsets(k,L,i);let j=!0;if(e&&g.ownerId&&g.ownerId!==e&&(j=!1),t&&getNodeIsForValidation(g)&&(j=!1),r&&!getNodeIsInGlyphMargin(g)&&(j=!1),j&&(V[z++]=g),setNodeIsVisited(g,!0),g.right!==SENTINEL$1&&!getNodeIsVisited(g.right)){y+=g.delta,g=g.right;continue}}return setNodeIsVisited(n.root,!1),V}function intervalSearch(n,e,t,i,r,g,y){let k=n.root,L=0,V=0,z=0,j=0;const ie=[];let oe=0;for(;k!==SENTINEL$1;){if(getNodeIsVisited(k)){setNodeIsVisited(k.left,!1),setNodeIsVisited(k.right,!1),k===k.parent.right&&(L-=k.parent.delta),k=k.parent;continue}if(!getNodeIsVisited(k.left)){if(V=L+k.maxEnd,Vt){setNodeIsVisited(k,!0);continue}if(j=L+k.end,j>=e){k.setCachedOffsets(z,j,g);let re=!0;i&&k.ownerId&&k.ownerId!==i&&(re=!1),r&&getNodeIsForValidation(k)&&(re=!1),y&&!getNodeIsInGlyphMargin(k)&&(re=!1),re&&(ie[oe++]=k)}if(setNodeIsVisited(k,!0),k.right!==SENTINEL$1&&!getNodeIsVisited(k.right)){L+=k.delta,k=k.right;continue}}return setNodeIsVisited(n.root,!1),ie}function rbTreeInsert(n,e){if(n.root===SENTINEL$1)return e.parent=SENTINEL$1,e.left=SENTINEL$1,e.right=SENTINEL$1,setNodeColor(e,0),n.root=e,n.root;treeInsert(n,e),recomputeMaxEndWalkToRoot(e.parent);let t=e;for(;t!==n.root&&getNodeColor(t.parent)===1;)if(t.parent===t.parent.parent.left){const i=t.parent.parent.right;getNodeColor(i)===1?(setNodeColor(t.parent,0),setNodeColor(i,0),setNodeColor(t.parent.parent,1),t=t.parent.parent):(t===t.parent.right&&(t=t.parent,leftRotate$1(n,t)),setNodeColor(t.parent,0),setNodeColor(t.parent.parent,1),rightRotate$1(n,t.parent.parent))}else{const i=t.parent.parent.left;getNodeColor(i)===1?(setNodeColor(t.parent,0),setNodeColor(i,0),setNodeColor(t.parent.parent,1),t=t.parent.parent):(t===t.parent.left&&(t=t.parent,rightRotate$1(n,t)),setNodeColor(t.parent,0),setNodeColor(t.parent.parent,1),leftRotate$1(n,t.parent.parent))}return setNodeColor(n.root,0),e}function treeInsert(n,e){let t=0,i=n.root;const r=e.start,g=e.end;for(;;)if(intervalCompare(r,g,i.start+t,i.end+t)<0)if(i.left===SENTINEL$1){e.start-=t,e.end-=t,e.maxEnd-=t,i.left=e;break}else i=i.left;else if(i.right===SENTINEL$1){e.start-=t+i.delta,e.end-=t+i.delta,e.maxEnd-=t+i.delta,i.right=e;break}else t+=i.delta,i=i.right;e.parent=i,e.left=SENTINEL$1,e.right=SENTINEL$1,setNodeColor(e,1)}function rbTreeDelete(n,e){let t,i;if(e.left===SENTINEL$1?(t=e.right,i=e,t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta):e.right===SENTINEL$1?(t=e.left,i=e):(i=leftest$1(e.right),t=i.right,t.start+=i.delta,t.end+=i.delta,t.delta+=i.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),i.start+=e.delta,i.end+=e.delta,i.delta=e.delta,(i.delta<-1073741824||i.delta>1073741824)&&(n.requestNormalizeDelta=!0)),i===n.root){n.root=t,setNodeColor(t,0),e.detach(),resetSentinel$1(),recomputeMaxEnd(t),n.root.parent=SENTINEL$1;return}const r=getNodeColor(i)===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?t.parent=i.parent:(i.parent===e?t.parent=i:t.parent=i.parent,i.left=e.left,i.right=e.right,i.parent=e.parent,setNodeColor(i,getNodeColor(e)),e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==SENTINEL$1&&(i.left.parent=i),i.right!==SENTINEL$1&&(i.right.parent=i)),e.detach(),r){recomputeMaxEndWalkToRoot(t.parent),i!==e&&(recomputeMaxEndWalkToRoot(i),recomputeMaxEndWalkToRoot(i.parent)),resetSentinel$1();return}recomputeMaxEndWalkToRoot(t),recomputeMaxEndWalkToRoot(t.parent),i!==e&&(recomputeMaxEndWalkToRoot(i),recomputeMaxEndWalkToRoot(i.parent));let g;for(;t!==n.root&&getNodeColor(t)===0;)t===t.parent.left?(g=t.parent.right,getNodeColor(g)===1&&(setNodeColor(g,0),setNodeColor(t.parent,1),leftRotate$1(n,t.parent),g=t.parent.right),getNodeColor(g.left)===0&&getNodeColor(g.right)===0?(setNodeColor(g,1),t=t.parent):(getNodeColor(g.right)===0&&(setNodeColor(g.left,0),setNodeColor(g,1),rightRotate$1(n,g),g=t.parent.right),setNodeColor(g,getNodeColor(t.parent)),setNodeColor(t.parent,0),setNodeColor(g.right,0),leftRotate$1(n,t.parent),t=n.root)):(g=t.parent.left,getNodeColor(g)===1&&(setNodeColor(g,0),setNodeColor(t.parent,1),rightRotate$1(n,t.parent),g=t.parent.left),getNodeColor(g.left)===0&&getNodeColor(g.right)===0?(setNodeColor(g,1),t=t.parent):(getNodeColor(g.left)===0&&(setNodeColor(g.right,0),setNodeColor(g,1),leftRotate$1(n,g),g=t.parent.left),setNodeColor(g,getNodeColor(t.parent)),setNodeColor(t.parent,0),setNodeColor(g.left,0),rightRotate$1(n,t.parent),t=n.root));setNodeColor(t,0),resetSentinel$1()}function leftest$1(n){for(;n.left!==SENTINEL$1;)n=n.left;return n}function resetSentinel$1(){SENTINEL$1.parent=SENTINEL$1,SENTINEL$1.delta=0,SENTINEL$1.start=0,SENTINEL$1.end=0}function leftRotate$1(n,e){const t=e.right;t.delta+=e.delta,(t.delta<-1073741824||t.delta>1073741824)&&(n.requestNormalizeDelta=!0),t.start+=e.delta,t.end+=e.delta,e.right=t.left,t.left!==SENTINEL$1&&(t.left.parent=e),t.parent=e.parent,e.parent===SENTINEL$1?n.root=t:e===e.parent.left?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t,recomputeMaxEnd(e),recomputeMaxEnd(t)}function rightRotate$1(n,e){const t=e.left;e.delta-=t.delta,(e.delta<-1073741824||e.delta>1073741824)&&(n.requestNormalizeDelta=!0),e.start-=t.delta,e.end-=t.delta,e.left=t.right,t.right!==SENTINEL$1&&(t.right.parent=e),t.parent=e.parent,e.parent===SENTINEL$1?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t,recomputeMaxEnd(e),recomputeMaxEnd(t)}function computeMaxEnd(n){let e=n.end;if(n.left!==SENTINEL$1){const t=n.left.maxEnd;t>e&&(e=t)}if(n.right!==SENTINEL$1){const t=n.right.maxEnd+n.delta;t>e&&(e=t)}return e}function recomputeMaxEnd(n){n.maxEnd=computeMaxEnd(n)}function recomputeMaxEndWalkToRoot(n){for(;n!==SENTINEL$1;){const e=computeMaxEnd(n);if(n.maxEnd===e)return;n.maxEnd=e,n=n.parent}}function intervalCompare(n,e,t,i){return n===t?e-i:n-t}class TreeNode{constructor(e,t){this.piece=e,this.color=t,this.size_left=0,this.lf_left=0,this.parent=this,this.left=this,this.right=this}next(){if(this.right!==SENTINEL)return leftest(this.right);let e=this;for(;e.parent!==SENTINEL&&e.parent.left!==e;)e=e.parent;return e.parent===SENTINEL?SENTINEL:e.parent}prev(){if(this.left!==SENTINEL)return righttest(this.left);let e=this;for(;e.parent!==SENTINEL&&e.parent.right!==e;)e=e.parent;return e.parent===SENTINEL?SENTINEL:e.parent}detach(){this.parent=null,this.left=null,this.right=null}}const SENTINEL=new TreeNode(null,0);SENTINEL.parent=SENTINEL;SENTINEL.left=SENTINEL;SENTINEL.right=SENTINEL;SENTINEL.color=0;function leftest(n){for(;n.left!==SENTINEL;)n=n.left;return n}function righttest(n){for(;n.right!==SENTINEL;)n=n.right;return n}function calculateSize(n){return n===SENTINEL?0:n.size_left+n.piece.length+calculateSize(n.right)}function calculateLF(n){return n===SENTINEL?0:n.lf_left+n.piece.lineFeedCnt+calculateLF(n.right)}function resetSentinel(){SENTINEL.parent=SENTINEL}function leftRotate(n,e){const t=e.right;t.size_left+=e.size_left+(e.piece?e.piece.length:0),t.lf_left+=e.lf_left+(e.piece?e.piece.lineFeedCnt:0),e.right=t.left,t.left!==SENTINEL&&(t.left.parent=e),t.parent=e.parent,e.parent===SENTINEL?n.root=t:e.parent.left===e?e.parent.left=t:e.parent.right=t,t.left=e,e.parent=t}function rightRotate(n,e){const t=e.left;e.left=t.right,t.right!==SENTINEL&&(t.right.parent=e),t.parent=e.parent,e.size_left-=t.size_left+(t.piece?t.piece.length:0),e.lf_left-=t.lf_left+(t.piece?t.piece.lineFeedCnt:0),e.parent===SENTINEL?n.root=t:e===e.parent.right?e.parent.right=t:e.parent.left=t,t.right=e,e.parent=t}function rbDelete(n,e){let t,i;if(e.left===SENTINEL?(i=e,t=i.right):e.right===SENTINEL?(i=e,t=i.left):(i=leftest(e.right),t=i.right),i===n.root){n.root=t,t.color=0,e.detach(),resetSentinel(),n.root.parent=SENTINEL;return}const r=i.color===1;if(i===i.parent.left?i.parent.left=t:i.parent.right=t,i===e?(t.parent=i.parent,recomputeTreeMetadata(n,t)):(i.parent===e?t.parent=i:t.parent=i.parent,recomputeTreeMetadata(n,t),i.left=e.left,i.right=e.right,i.parent=e.parent,i.color=e.color,e===n.root?n.root=i:e===e.parent.left?e.parent.left=i:e.parent.right=i,i.left!==SENTINEL&&(i.left.parent=i),i.right!==SENTINEL&&(i.right.parent=i),i.size_left=e.size_left,i.lf_left=e.lf_left,recomputeTreeMetadata(n,i)),e.detach(),t.parent.left===t){const y=calculateSize(t),k=calculateLF(t);if(y!==t.parent.size_left||k!==t.parent.lf_left){const L=y-t.parent.size_left,V=k-t.parent.lf_left;t.parent.size_left=y,t.parent.lf_left=k,updateTreeMetadata(n,t.parent,L,V)}}if(recomputeTreeMetadata(n,t.parent),r){resetSentinel();return}let g;for(;t!==n.root&&t.color===0;)t===t.parent.left?(g=t.parent.right,g.color===1&&(g.color=0,t.parent.color=1,leftRotate(n,t.parent),g=t.parent.right),g.left.color===0&&g.right.color===0?(g.color=1,t=t.parent):(g.right.color===0&&(g.left.color=0,g.color=1,rightRotate(n,g),g=t.parent.right),g.color=t.parent.color,t.parent.color=0,g.right.color=0,leftRotate(n,t.parent),t=n.root)):(g=t.parent.left,g.color===1&&(g.color=0,t.parent.color=1,rightRotate(n,t.parent),g=t.parent.left),g.left.color===0&&g.right.color===0?(g.color=1,t=t.parent):(g.left.color===0&&(g.right.color=0,g.color=1,leftRotate(n,g),g=t.parent.left),g.color=t.parent.color,t.parent.color=0,g.left.color=0,rightRotate(n,t.parent),t=n.root));t.color=0,resetSentinel()}function fixInsert(n,e){for(recomputeTreeMetadata(n,e);e!==n.root&&e.parent.color===1;)if(e.parent===e.parent.parent.left){const t=e.parent.parent.right;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.right&&(e=e.parent,leftRotate(n,e)),e.parent.color=0,e.parent.parent.color=1,rightRotate(n,e.parent.parent))}else{const t=e.parent.parent.left;t.color===1?(e.parent.color=0,t.color=0,e.parent.parent.color=1,e=e.parent.parent):(e===e.parent.left&&(e=e.parent,rightRotate(n,e)),e.parent.color=0,e.parent.parent.color=1,leftRotate(n,e.parent.parent))}n.root.color=0}function updateTreeMetadata(n,e,t,i){for(;e!==n.root&&e!==SENTINEL;)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}function recomputeTreeMetadata(n,e){let t=0,i=0;if(e!==n.root){for(;e!==n.root&&e===e.parent.right;)e=e.parent;if(e!==n.root)for(e=e.parent,t=calculateSize(e.left)-e.size_left,i=calculateLF(e.left)-e.lf_left,e.size_left+=t,e.lf_left+=i;e!==n.root&&(t!==0||i!==0);)e.parent.left===e&&(e.parent.size_left+=t,e.parent.lf_left+=i),e=e.parent}}const AverageBufferSize=65535;function createUintArray(n){let e;return n[n.length-1]<65536?e=new Uint16Array(n.length):e=new Uint32Array(n.length),e.set(n,0),e}class LineStarts{constructor(e,t,i,r,g){this.lineStarts=e,this.cr=t,this.lf=i,this.crlf=r,this.isBasicASCII=g}}function createLineStartsFast(n,e=!0){const t=[0];let i=1;for(let r=0,g=n.length;r126)&&(y=!1)}const k=new LineStarts(createUintArray(n),i,r,g,y);return n.length=0,k}class Piece{constructor(e,t,i,r,g){this.bufferIndex=e,this.start=t,this.end=i,this.lineFeedCnt=r,this.length=g}}class StringBuffer{constructor(e,t){this.buffer=e,this.lineStarts=t}}class PieceTreeSnapshot{constructor(e,t){this._pieces=[],this._tree=e,this._BOM=t,this._index=0,e.root!==SENTINEL&&e.iterate(e.root,i=>(i!==SENTINEL&&this._pieces.push(i.piece),!0))}read(){return this._pieces.length===0?this._index===0?(this._index++,this._BOM):null:this._index>this._pieces.length-1?null:this._index===0?this._BOM+this._tree.getPieceContent(this._pieces[this._index++]):this._tree.getPieceContent(this._pieces[this._index++])}}class PieceTreeSearchCache{constructor(e){this._limit=e,this._cache=[]}get(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartOffset<=e&&i.nodeStartOffset+i.node.piece.length>=e)return i}return null}get2(e){for(let t=this._cache.length-1;t>=0;t--){const i=this._cache[t];if(i.nodeStartLineNumber&&i.nodeStartLineNumber=e)return i}return null}set(e){this._cache.length>=this._limit&&this._cache.shift(),this._cache.push(e)}validate(e){let t=!1;const i=this._cache;for(let r=0;r=e){i[r]=null,t=!0;continue}}if(t){const r=[];for(const g of i)g!==null&&r.push(g);this._cache=r}}}class PieceTreeBase{constructor(e,t,i){this.create(e,t,i)}create(e,t,i){this._buffers=[new StringBuffer("",[0])],this._lastChangeBufferPos={line:0,column:0},this.root=SENTINEL,this._lineCnt=1,this._length=0,this._EOL=t,this._EOLLength=t.length,this._EOLNormalized=i;let r=null;for(let g=0,y=e.length;g0){e[g].lineStarts||(e[g].lineStarts=createLineStartsFast(e[g].buffer));const k=new Piece(g+1,{line:0,column:0},{line:e[g].lineStarts.length-1,column:e[g].buffer.length-e[g].lineStarts[e[g].lineStarts.length-1]},e[g].lineStarts.length-1,e[g].buffer.length);this._buffers.push(e[g]),r=this.rbInsertRight(r,k)}this._searchCache=new PieceTreeSearchCache(1),this._lastVisitedLine={lineNumber:0,value:""},this.computeBufferMetadata()}normalizeEOL(e){const t=AverageBufferSize,i=t-Math.floor(t/3),r=i*2;let g="",y=0;const k=[];if(this.iterate(this.root,L=>{const V=this.getNodeContent(L),z=V.length;if(y<=i||y+z0){const L=g.replace(/\r\n|\r|\n/g,e);k.push(new StringBuffer(L,createLineStartsFast(L)))}this.create(k,e,!0)}getEOL(){return this._EOL}setEOL(e){this._EOL=e,this._EOLLength=this._EOL.length,this.normalizeEOL(e)}createSnapshot(e){return new PieceTreeSnapshot(this,e)}getOffsetAt(e,t){let i=0,r=this.root;for(;r!==SENTINEL;)if(r.left!==SENTINEL&&r.lf_left+1>=e)r=r.left;else if(r.lf_left+r.piece.lineFeedCnt+1>=e){i+=r.size_left;const g=this.getAccumulatedValue(r,e-r.lf_left-2);return i+=g+t-1}else e-=r.lf_left+r.piece.lineFeedCnt,i+=r.size_left+r.piece.length,r=r.right;return i}getPositionAt(e){e=Math.floor(e),e=Math.max(0,e);let t=this.root,i=0;const r=e;for(;t!==SENTINEL;)if(t.size_left!==0&&t.size_left>=e)t=t.left;else if(t.size_left+t.piece.length>=e){const g=this.getIndexOf(t,e-t.size_left);if(i+=t.lf_left+g.index,g.index===0){const y=this.getOffsetAt(i+1,1),k=r-y;return new Position$1(i+1,k+1)}return new Position$1(i+1,g.remainder+1)}else if(e-=t.size_left+t.piece.length,i+=t.lf_left+t.piece.lineFeedCnt,t.right===SENTINEL){const g=this.getOffsetAt(i+1,1),y=r-e-g;return new Position$1(i+1,y+1)}else t=t.right;return new Position$1(1,1)}getValueInRange(e,t){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return"";const i=this.nodeAt2(e.startLineNumber,e.startColumn),r=this.nodeAt2(e.endLineNumber,e.endColumn),g=this.getValueInRange2(i,r);return t?t!==this._EOL||!this._EOLNormalized?g.replace(/\r\n|\r|\n/g,t):t===this.getEOL()&&this._EOLNormalized?g:g.replace(/\r\n|\r|\n/g,t):g}getValueInRange2(e,t){if(e.node===t.node){const k=e.node,L=this._buffers[k.piece.bufferIndex].buffer,V=this.offsetInBuffer(k.piece.bufferIndex,k.piece.start);return L.substring(V+e.remainder,V+t.remainder)}let i=e.node;const r=this._buffers[i.piece.bufferIndex].buffer,g=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);let y=r.substring(g+e.remainder,g+i.piece.length);for(i=i.next();i!==SENTINEL;){const k=this._buffers[i.piece.bufferIndex].buffer,L=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);if(i===t.node){y+=k.substring(L,L+t.remainder);break}else y+=k.substr(L,i.piece.length);i=i.next()}return y}getLinesContent(){const e=[];let t=0,i="",r=!1;return this.iterate(this.root,g=>{if(g===SENTINEL)return!0;const y=g.piece;let k=y.length;if(k===0)return!0;const L=this._buffers[y.bufferIndex].buffer,V=this._buffers[y.bufferIndex].lineStarts,z=y.start.line,j=y.end.line;let ie=V[z]+y.start.column;if(r&&(L.charCodeAt(ie)===10&&(ie++,k--),e[t++]=i,i="",r=!1,k===0))return!0;if(z===j)return!this._EOLNormalized&&L.charCodeAt(ie+k-1)===13?(r=!0,i+=L.substr(ie,k-1)):i+=L.substr(ie,k),!0;i+=this._EOLNormalized?L.substring(ie,Math.max(ie,V[z+1]-this._EOLLength)):L.substring(ie,V[z+1]).replace(/(\r\n|\r|\n)$/,""),e[t++]=i;for(let oe=z+1;oepe+re,t.reset(0)):(ue=ie.buffer,he=pe=>pe,t.reset(re));do if(le=t.next(ue),le){if(he(le.index)>=ae)return z;this.positionInBuffer(e,he(le.index)-oe,de);const pe=this.getLineFeedCnt(e.piece.bufferIndex,g,de),Ce=de.line===g.line?de.column-g.column+r:de.column+1,$e=Ce+le[0].length;if(j[z++]=createFindMatch(new Range$2(i+pe,Ce,i+pe,$e),le,L),he(le.index)+le[0].length>=ae||z>=V)return z}while(le);return z}findMatchesLineByLine(e,t,i,r){const g=[];let y=0;const k=new Searcher(t.wordSeparators,t.regex);let L=this.nodeAt2(e.startLineNumber,e.startColumn);if(L===null)return[];const V=this.nodeAt2(e.endLineNumber,e.endColumn);if(V===null)return[];let z=this.positionInBuffer(L.node,L.remainder);const j=this.positionInBuffer(V.node,V.remainder);if(L.node===V.node)return this.findMatchesInNode(L.node,k,e.startLineNumber,e.startColumn,z,j,t,i,r,y,g),g;let ie=e.startLineNumber,oe=L.node;for(;oe!==V.node;){const ae=this.getLineFeedCnt(oe.piece.bufferIndex,z,oe.piece.end);if(ae>=1){const de=this._buffers[oe.piece.bufferIndex].lineStarts,ue=this.offsetInBuffer(oe.piece.bufferIndex,oe.piece.start),he=de[z.line+ae],pe=ie===e.startLineNumber?e.startColumn:1;if(y=this.findMatchesInNode(oe,k,ie,pe,z,this.positionInBuffer(oe,he-ue),t,i,r,y,g),y>=r)return g;ie+=ae}const le=ie===e.startLineNumber?e.startColumn-1:0;if(ie===e.endLineNumber){const de=this.getLineContent(ie).substring(le,e.endColumn-1);return y=this._findMatchesInLine(t,k,de,e.endLineNumber,le,y,g,i,r),g}if(y=this._findMatchesInLine(t,k,this.getLineContent(ie).substr(le),ie,le,y,g,i,r),y>=r)return g;ie++,L=this.nodeAt2(ie,1),oe=L.node,z=this.positionInBuffer(L.node,L.remainder)}if(ie===e.endLineNumber){const ae=ie===e.startLineNumber?e.startColumn-1:0,le=this.getLineContent(ie).substring(ae,e.endColumn-1);return y=this._findMatchesInLine(t,k,le,e.endLineNumber,ae,y,g,i,r),g}const re=ie===e.startLineNumber?e.startColumn:1;return y=this.findMatchesInNode(V.node,k,ie,re,z,j,t,i,r,y,g),g}_findMatchesInLine(e,t,i,r,g,y,k,L,V){const z=e.wordSeparators;if(!L&&e.simpleSearch){const ie=e.simpleSearch,oe=ie.length,re=i.length;let ae=-oe;for(;(ae=i.indexOf(ie,ae+oe))!==-1;)if((!z||isValidMatch(z,i,re,ae,oe))&&(k[y++]=new FindMatch(new Range$2(r,ae+1+g,r,ae+1+oe+g),null),y>=V))return y;return y}let j;t.reset(0);do if(j=t.next(i),j&&(k[y++]=createFindMatch(new Range$2(r,j.index+1+g,r,j.index+1+j[0].length+g),j,L),y>=V))return y;while(j);return y}insert(e,t,i=!1){if(this._EOLNormalized=this._EOLNormalized&&i,this._lastVisitedLine.lineNumber=0,this._lastVisitedLine.value="",this.root!==SENTINEL){const{node:r,remainder:g,nodeStartOffset:y}=this.nodeAt(e),k=r.piece,L=k.bufferIndex,V=this.positionInBuffer(r,g);if(r.piece.bufferIndex===0&&k.end.line===this._lastChangeBufferPos.line&&k.end.column===this._lastChangeBufferPos.column&&y+k.length===e&&t.lengthe){const z=[];let j=new Piece(k.bufferIndex,V,k.end,this.getLineFeedCnt(k.bufferIndex,V,k.end),this.offsetInBuffer(L,k.end)-this.offsetInBuffer(L,V));if(this.shouldCheckCRLF()&&this.endWithCR(t)&&this.nodeCharCodeAt(r,g)===10){const ae={line:j.start.line+1,column:0};j=new Piece(j.bufferIndex,ae,j.end,this.getLineFeedCnt(j.bufferIndex,ae,j.end),j.length-1),t+="\n"}if(this.shouldCheckCRLF()&&this.startWithLF(t))if(this.nodeCharCodeAt(r,g-1)===13){const ae=this.positionInBuffer(r,g-1);this.deleteNodeTail(r,ae),t="\r"+t,r.piece.length===0&&z.push(r)}else this.deleteNodeTail(r,V);else this.deleteNodeTail(r,V);const ie=this.createNewPieces(t);j.length>0&&this.rbInsertRight(r,j);let oe=r;for(let re=0;re=0;y--)g=this.rbInsertLeft(g,r[y]);this.validateCRLFWithPrevNode(g),this.deleteNodes(i)}insertContentToNodeRight(e,t){this.adjustCarriageReturnFromNext(e,t)&&(e+="\n");const i=this.createNewPieces(e),r=this.rbInsertRight(t,i[0]);let g=r;for(let y=1;y=ie)V=j+1;else break;return i?(i.line=j,i.column=L-oe,null):{line:j,column:L-oe}}getLineFeedCnt(e,t,i){if(i.column===0)return i.line-t.line;const r=this._buffers[e].lineStarts;if(i.line===r.length-1)return i.line-t.line;const g=r[i.line+1],y=r[i.line]+i.column;if(g>y+1)return i.line-t.line;const k=y-1;return this._buffers[e].buffer.charCodeAt(k)===13?i.line-t.line+1:i.line-t.line}offsetInBuffer(e,t){return this._buffers[e].lineStarts[t.line]+t.column}deleteNodes(e){for(let t=0;tAverageBufferSize){const z=[];for(;e.length>AverageBufferSize;){const ie=e.charCodeAt(AverageBufferSize-1);let oe;ie===13||ie>=55296&&ie<=56319?(oe=e.substring(0,AverageBufferSize-1),e=e.substring(AverageBufferSize-1)):(oe=e.substring(0,AverageBufferSize),e=e.substring(AverageBufferSize));const re=createLineStartsFast(oe);z.push(new Piece(this._buffers.length,{line:0,column:0},{line:re.length-1,column:oe.length-re[re.length-1]},re.length-1,oe.length)),this._buffers.push(new StringBuffer(oe,re))}const j=createLineStartsFast(e);return z.push(new Piece(this._buffers.length,{line:0,column:0},{line:j.length-1,column:e.length-j[j.length-1]},j.length-1,e.length)),this._buffers.push(new StringBuffer(e,j)),z}let t=this._buffers[0].buffer.length;const i=createLineStartsFast(e,!1);let r=this._lastChangeBufferPos;if(this._buffers[0].lineStarts[this._buffers[0].lineStarts.length-1]===t&&t!==0&&this.startWithLF(e)&&this.endWithCR(this._buffers[0].buffer)){this._lastChangeBufferPos={line:this._lastChangeBufferPos.line,column:this._lastChangeBufferPos.column+1},r=this._lastChangeBufferPos;for(let z=0;z=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const L=this.getAccumulatedValue(i,e-i.lf_left-2),V=this.getAccumulatedValue(i,e-i.lf_left-1),z=this._buffers[i.piece.bufferIndex].buffer,j=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return y+=i.size_left,this._searchCache.set({node:i,nodeStartOffset:y,nodeStartLineNumber:k-(e-1-i.lf_left)}),z.substring(j+L,j+V-t)}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const L=this.getAccumulatedValue(i,e-i.lf_left-2),V=this._buffers[i.piece.bufferIndex].buffer,z=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r=V.substring(z+L,z+i.piece.length);break}else e-=i.lf_left+i.piece.lineFeedCnt,y+=i.size_left+i.piece.length,i=i.right}for(i=i.next();i!==SENTINEL;){const y=this._buffers[i.piece.bufferIndex].buffer;if(i.piece.lineFeedCnt>0){const k=this.getAccumulatedValue(i,0),L=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);return r+=y.substring(L,L+k-t),r}else{const k=this.offsetInBuffer(i.piece.bufferIndex,i.piece.start);r+=y.substr(k,i.piece.length)}i=i.next()}return r}computeBufferMetadata(){let e=this.root,t=1,i=0;for(;e!==SENTINEL;)t+=e.lf_left+e.piece.lineFeedCnt,i+=e.size_left+e.piece.length,e=e.right;this._lineCnt=t,this._length=i,this._searchCache.validate(this._length)}getIndexOf(e,t){const i=e.piece,r=this.positionInBuffer(e,t),g=r.line-i.start.line;if(this.offsetInBuffer(i.bufferIndex,i.end)-this.offsetInBuffer(i.bufferIndex,i.start)===t){const y=this.getLineFeedCnt(e.piece.bufferIndex,i.start,r);if(y!==g)return{index:y,remainder:0}}return{index:g,remainder:r.column}}getAccumulatedValue(e,t){if(t<0)return 0;const i=e.piece,r=this._buffers[i.bufferIndex].lineStarts,g=i.start.line+t+1;return g>i.end.line?r[i.end.line]+i.end.column-r[i.start.line]-i.start.column:r[g]-r[i.start.line]-i.start.column}deleteNodeTail(e,t){const i=e.piece,r=i.lineFeedCnt,g=this.offsetInBuffer(i.bufferIndex,i.end),y=t,k=this.offsetInBuffer(i.bufferIndex,y),L=this.getLineFeedCnt(i.bufferIndex,i.start,y),V=L-r,z=k-g,j=i.length+z;e.piece=new Piece(i.bufferIndex,i.start,y,L,j),updateTreeMetadata(this,e,z,V)}deleteNodeHead(e,t){const i=e.piece,r=i.lineFeedCnt,g=this.offsetInBuffer(i.bufferIndex,i.start),y=t,k=this.getLineFeedCnt(i.bufferIndex,y,i.end),L=this.offsetInBuffer(i.bufferIndex,y),V=k-r,z=g-L,j=i.length+z;e.piece=new Piece(i.bufferIndex,y,i.end,k,j),updateTreeMetadata(this,e,z,V)}shrinkNode(e,t,i){const r=e.piece,g=r.start,y=r.end,k=r.length,L=r.lineFeedCnt,V=t,z=this.getLineFeedCnt(r.bufferIndex,r.start,V),j=this.offsetInBuffer(r.bufferIndex,t)-this.offsetInBuffer(r.bufferIndex,g);e.piece=new Piece(r.bufferIndex,r.start,V,z,j),updateTreeMetadata(this,e,j-k,z-L);const ie=new Piece(r.bufferIndex,i,y,this.getLineFeedCnt(r.bufferIndex,i,y),this.offsetInBuffer(r.bufferIndex,y)-this.offsetInBuffer(r.bufferIndex,i)),oe=this.rbInsertRight(e,ie);this.validateCRLFWithPrevNode(oe)}appendToNode(e,t){this.adjustCarriageReturnFromNext(t,e)&&(t+="\n");const i=this.shouldCheckCRLF()&&this.startWithLF(t)&&this.endWithCR(e),r=this._buffers[0].buffer.length;this._buffers[0].buffer+=t;const g=createLineStartsFast(t,!1);for(let oe=0;oee)t=t.left;else if(t.size_left+t.piece.length>=e){r+=t.size_left;const g={node:t,remainder:e-t.size_left,nodeStartOffset:r};return this._searchCache.set(g),g}else e-=t.size_left+t.piece.length,r+=t.size_left+t.piece.length,t=t.right;return null}nodeAt2(e,t){let i=this.root,r=0;for(;i!==SENTINEL;)if(i.left!==SENTINEL&&i.lf_left>=e-1)i=i.left;else if(i.lf_left+i.piece.lineFeedCnt>e-1){const g=this.getAccumulatedValue(i,e-i.lf_left-2),y=this.getAccumulatedValue(i,e-i.lf_left-1);return r+=i.size_left,{node:i,remainder:Math.min(g+t-1,y),nodeStartOffset:r}}else if(i.lf_left+i.piece.lineFeedCnt===e-1){const g=this.getAccumulatedValue(i,e-i.lf_left-2);if(g+t-1<=i.piece.length)return{node:i,remainder:g+t-1,nodeStartOffset:r};t-=i.piece.length-g;break}else e-=i.lf_left+i.piece.lineFeedCnt,r+=i.size_left+i.piece.length,i=i.right;for(i=i.next();i!==SENTINEL;){if(i.piece.lineFeedCnt>0){const g=this.getAccumulatedValue(i,0),y=this.offsetOfNode(i);return{node:i,remainder:Math.min(t-1,g),nodeStartOffset:y}}else if(i.piece.length>=t-1){const g=this.offsetOfNode(i);return{node:i,remainder:t-1,nodeStartOffset:g}}else t-=i.piece.length;i=i.next()}return null}nodeCharCodeAt(e,t){if(e.piece.lineFeedCnt<1)return-1;const i=this._buffers[e.piece.bufferIndex],r=this.offsetInBuffer(e.piece.bufferIndex,e.piece.start)+t;return i.buffer.charCodeAt(r)}offsetOfNode(e){if(!e)return 0;let t=e.size_left;for(;e!==this.root;)e.parent.right===e&&(t+=e.parent.size_left+e.parent.piece.length),e=e.parent;return t}shouldCheckCRLF(){return!(this._EOLNormalized&&this._EOL==="\n")}startWithLF(e){if(typeof e=="string")return e.charCodeAt(0)===10;if(e===SENTINEL||e.piece.lineFeedCnt===0)return!1;const t=e.piece,i=this._buffers[t.bufferIndex].lineStarts,r=t.start.line,g=i[r]+t.start.column;return r===i.length-1||i[r+1]>g+1?!1:this._buffers[t.bufferIndex].buffer.charCodeAt(g)===10}endWithCR(e){return typeof e=="string"?e.charCodeAt(e.length-1)===13:e===SENTINEL||e.piece.lineFeedCnt===0?!1:this.nodeCharCodeAt(e,e.piece.length-1)===13}validateCRLFWithPrevNode(e){if(this.shouldCheckCRLF()&&this.startWithLF(e)){const t=e.prev();this.endWithCR(t)&&this.fixCRLF(t,e)}}validateCRLFWithNextNode(e){if(this.shouldCheckCRLF()&&this.endWithCR(e)){const t=e.next();this.startWithLF(t)&&this.fixCRLF(e,t)}}fixCRLF(e,t){const i=[],r=this._buffers[e.piece.bufferIndex].lineStarts;let g;e.piece.end.column===0?g={line:e.piece.end.line-1,column:r[e.piece.end.line]-r[e.piece.end.line-1]-1}:g={line:e.piece.end.line,column:e.piece.end.column-1};const y=e.piece.length-1,k=e.piece.lineFeedCnt-1;e.piece=new Piece(e.piece.bufferIndex,e.piece.start,g,k,y),updateTreeMetadata(this,e,-1,-1),e.piece.length===0&&i.push(e);const L={line:t.piece.start.line+1,column:0},V=t.piece.length-1,z=this.getLineFeedCnt(t.piece.bufferIndex,L,t.piece.end);t.piece=new Piece(t.piece.bufferIndex,L,t.piece.end,z,V),updateTreeMetadata(this,t,-1,-1),t.piece.length===0&&i.push(t);const j=this.createNewPieces("\r\n");this.rbInsertRight(e,j[0]);for(let ie=0;iele.sortIndex-de.sortIndex)}this._mightContainRTL=r,this._mightContainUnusualLineTerminators=g,this._mightContainNonBasicASCII=y;const oe=this._doApplyEdits(L);let re=null;if(t&&j.length>0){j.sort((ae,le)=>le.lineNumber-ae.lineNumber),re=[];for(let ae=0,le=j.length;ae0&&j[ae-1].lineNumber===de)continue;const ue=j[ae].oldContent,he=this.getLineContent(de);he.length===0||he===ue||firstNonWhitespaceIndex(he)!==-1||re.push(de)}}return this._onDidChangeContent.fire(),new ApplyEditsResult(ie,oe,re)}_reduceOperations(e){return e.length<1e3?e:[this._toSingleEditOperation(e)]}_toSingleEditOperation(e){let t=!1;const i=e[0].range,r=e[e.length-1].range,g=new Range$2(i.startLineNumber,i.startColumn,r.endLineNumber,r.endColumn);let y=i.startLineNumber,k=i.startColumn;const L=[];for(let oe=0,re=e.length;oe0&&L.push(ae.text),y=le.endLineNumber,k=le.endColumn}const V=L.join(""),[z,j,ie]=countEOL(V);return{sortIndex:0,identifier:e[0].identifier,range:g,rangeOffset:this.getOffsetAt(g.startLineNumber,g.startColumn),rangeLength:this.getValueLengthInRange(g,0),text:V,eolCount:z,firstLineLength:j,lastLineLength:ie,forceMoveMarkers:t,isAutoWhitespaceEdit:!1}}_doApplyEdits(e){e.sort(PieceTreeTextBuffer._sortOpsDescending);const t=[];for(let i=0;i0){const ie=L.eolCount+1;ie===1?j=new Range$2(V,z,V,z+L.firstLineLength):j=new Range$2(V,z,V+ie-1,L.lastLineLength+1)}else j=new Range$2(V,z,V,z);i=j.endLineNumber,r=j.endColumn,t.push(j),g=L}return t}static _sortOpsAscending(e,t){const i=Range$2.compareRangesUsingEnds(e.range,t.range);return i===0?e.sortIndex-t.sortIndex:i}static _sortOpsDescending(e,t){const i=Range$2.compareRangesUsingEnds(e.range,t.range);return i===0?t.sortIndex-e.sortIndex:-i}}class PieceTreeTextBufferFactory{constructor(e,t,i,r,g,y,k,L,V){this._chunks=e,this._bom=t,this._cr=i,this._lf=r,this._crlf=g,this._containsRTL=y,this._containsUnusualLineTerminators=k,this._isBasicASCII=L,this._normalizeEOL=V}_getEOL(e){const t=this._cr+this._lf+this._crlf,i=this._cr+this._crlf;return t===0?e===1?"\n":"\r\n":i>t/2?"\r\n":"\n"}create(e){const t=this._getEOL(e),i=this._chunks;if(this._normalizeEOL&&(t==="\r\n"&&(this._cr>0||this._lf>0)||t==="\n"&&(this._cr>0||this._crlf>0)))for(let g=0,y=i.length;g=55296&&t<=56319?(this._acceptChunk1(e.substr(0,e.length-1),!1),this._hasPreviousChar=!0,this._previousChar=t):(this._acceptChunk1(e,!1),this._hasPreviousChar=!1,this._previousChar=t)}_acceptChunk1(e,t){!t&&e.length===0||(this._hasPreviousChar?this._acceptChunk2(String.fromCharCode(this._previousChar)+e):this._acceptChunk2(e))}_acceptChunk2(e){const t=createLineStarts(this._tmpLineStarts,e);this.chunks.push(new StringBuffer(e,t.lineStarts)),this.cr+=t.cr,this.lf+=t.lf,this.crlf+=t.crlf,t.isBasicASCII||(this.isBasicASCII=!1,this.containsRTL||(this.containsRTL=containsRTL(e)),this.containsUnusualLineTerminators||(this.containsUnusualLineTerminators=containsUnusualLineTerminators(e)))}finish(e=!0){return this._finish(),new PieceTreeTextBufferFactory(this.chunks,this.BOM,this.cr,this.lf,this.crlf,this.containsRTL,this.containsUnusualLineTerminators,this.isBasicASCII,e)}_finish(){if(this.chunks.length===0&&this._acceptChunk1("",!0),this._hasPreviousChar){this._hasPreviousChar=!1;const e=this.chunks[this.chunks.length-1];e.buffer+=String.fromCharCode(this._previousChar);const t=createLineStartsFast(e.buffer);e.lineStarts=t,this._previousChar===13&&this.cr++}}}class FixedArray{constructor(e){this._default=e,this._store=[]}get(e){return e=this._store.length;)this._store[this._store.length]=this._default;this._store[e]=t}replace(e,t,i){if(e>=this._store.length)return;if(t===0){this.insert(e,i);return}else if(i===0){this.delete(e,t);return}const r=this._store.slice(0,e),g=this._store.slice(e+t),y=arrayFill(i,this._default);this._store=r.concat(y,g)}delete(e,t){t===0||e>=this._store.length||this._store.splice(e,t)}insert(e,t){if(t===0||e>=this._store.length)return;const i=[];for(let r=0;r0){const i=this._tokens[this._tokens.length-1];if(i.endLineNumber+1===e){i.appendLineTokens(t);return}}this._tokens.push(new ContiguousMultilineTokens(e,[t]))}finalize(){return this._tokens}}class TokenizerWithStateStore{constructor(e,t){this.tokenizationSupport=t,this.initialState=this.tokenizationSupport.getInitialState(),this.store=new TrackingTokenizationStateStore(e)}getStartState(e){return this.store.getStartState(e,this.initialState)}getFirstInvalidLine(){return this.store.getFirstInvalidLine(this.initialState)}}class TokenizerWithStateStoreAndTextModel extends TokenizerWithStateStore{constructor(e,t,i,r){super(e,t),this._textModel=i,this._languageIdCodec=r}updateTokensUntilLine(e,t){const i=this._textModel.getLanguageId();for(;;){const r=this.getFirstInvalidLine();if(!r||r.lineNumber>t)break;const g=this._textModel.getLineContent(r.lineNumber),y=safeTokenize(this._languageIdCodec,i,this.tokenizationSupport,g,!0,r.startState);e.add(r.lineNumber,y.tokens),this.store.setEndState(r.lineNumber,y.endState)}}getTokenTypeIfInsertingCharacter(e,t){const i=this.getStartState(e.lineNumber);if(!i)return 0;const r=this._textModel.getLanguageId(),g=this._textModel.getLineContent(e.lineNumber),y=g.substring(0,e.column-1)+t+g.substring(e.column-1),k=safeTokenize(this._languageIdCodec,r,this.tokenizationSupport,y,!0,i),L=new LineTokens(k.tokens,y,this._languageIdCodec);if(L.getCount()===0)return 0;const V=L.findTokenIndexAtOffset(e.column-1);return L.getStandardTokenType(V)}tokenizeLineWithEdit(e,t,i){const r=e.lineNumber,g=e.column,y=this.getStartState(r);if(!y)return null;const k=this._textModel.getLineContent(r),L=k.substring(0,g-1)+i+k.substring(g-1+t),V=this._textModel.getLanguageIdAtPosition(r,0),z=safeTokenize(this._languageIdCodec,V,this.tokenizationSupport,L,!0,y);return new LineTokens(z.tokens,L,this._languageIdCodec)}hasAccurateTokensForLine(e){const t=this.store.getFirstInvalidEndStateLineNumberOrMax();return e1&&k>=1;k--){const L=this._textModel.getLineFirstNonWhitespaceColumn(k);if(L!==0&&L0&&i>0&&(i--,t--),this._lineEndStates.replace(e.startLineNumber,i,t)}}class RangePriorityQueueImpl{constructor(){this._ranges=[]}get min(){return this._ranges.length===0?null:this._ranges[0].start}delete(e){const t=this._ranges.findIndex(i=>i.contains(e));if(t!==-1){const i=this._ranges[t];i.start===e?i.endExclusive===e+1?this._ranges.splice(t,1):this._ranges[t]=new OffsetRange(e+1,i.endExclusive):i.endExclusive===e+1?this._ranges[t]=new OffsetRange(i.start,e):this._ranges.splice(t,1,new OffsetRange(i.start,e),new OffsetRange(e+1,i.endExclusive))}}addRange(e){OffsetRange.addRange(e,this._ranges)}addRangeAndResize(e,t){let i=0;for(;!(i>=this._ranges.length||e.start<=this._ranges[i].endExclusive);)i++;let r=i;for(;!(r>=this._ranges.length||e.endExclusivee.toString()).join(" + ")}}function safeTokenize(n,e,t,i,r,g){let y=null;if(t)try{y=t.tokenizeEncoded(i,r,g.clone())}catch(k){onUnexpectedError(k)}return y||(y=nullTokenizeEncoded(n.encodeLanguageId(e),g)),LineTokens.convertToEndOffset(y.tokens,i.length),y}class DefaultBackgroundTokenizer{constructor(e,t){this._tokenizerWithStateStore=e,this._backgroundTokenStore=t,this._isDisposed=!1,this._isScheduled=!1}dispose(){this._isDisposed=!0}handleChanges(){this._beginBackgroundTokenization()}_beginBackgroundTokenization(){this._isScheduled||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._isScheduled=!0,runWhenGlobalIdle(e=>{this._isScheduled=!1,this._backgroundTokenizeWithDeadline(e)}))}_backgroundTokenizeWithDeadline(e){const t=Date.now()+e.timeRemaining(),i=()=>{this._isDisposed||!this._tokenizerWithStateStore._textModel.isAttachedToEditor()||!this._hasLinesToTokenize()||(this._backgroundTokenizeForAtLeast1ms(),Date.now()1||this._tokenizeOneInvalidLine(t)>=e)break;while(this._hasLinesToTokenize());this._backgroundTokenStore.setTokens(t.finalize()),this.checkFinished()}_hasLinesToTokenize(){return this._tokenizerWithStateStore?!this._tokenizerWithStateStore.store.allStatesValid():!1}_tokenizeOneInvalidLine(e){var t;const i=(t=this._tokenizerWithStateStore)===null||t===void 0?void 0:t.getFirstInvalidLine();return i?(this._tokenizerWithStateStore.updateTokensUntilLine(e,i.lineNumber),i.lineNumber):this._tokenizerWithStateStore._textModel.getLineCount()+1}checkFinished(){this._isDisposed||this._tokenizerWithStateStore.store.allStatesValid()&&this._backgroundTokenStore.backgroundTokenizationFinished()}requestTokens(e,t){this._tokenizerWithStateStore.store.invalidateEndStateRange(new LineRange$1(e,t))}}const EMPTY_LINE_TOKENS=new Uint32Array(0).buffer;class ContiguousTokensEditing{static deleteBeginning(e,t){return e===null||e===EMPTY_LINE_TOKENS?e:ContiguousTokensEditing.delete(e,0,t)}static deleteEnding(e,t){if(e===null||e===EMPTY_LINE_TOKENS)return e;const i=toUint32Array(e),r=i[i.length-2];return ContiguousTokensEditing.delete(e,t,r)}static delete(e,t,i){if(e===null||e===EMPTY_LINE_TOKENS||t===i)return e;const r=toUint32Array(e),g=r.length>>>1;if(t===0&&r[r.length-2]===i)return EMPTY_LINE_TOKENS;const y=LineTokens.findIndexInTokensArray(r,t),k=y>0?r[y-1<<1]:0,L=r[y<<1];if(iz&&(r[V++]=re,r[V++]=r[(oe<<1)+1],z=re)}if(V===r.length)return e;const ie=new Uint32Array(V);return ie.set(r.subarray(0,V),0),ie.buffer}static append(e,t){if(t===EMPTY_LINE_TOKENS)return e;if(e===EMPTY_LINE_TOKENS)return t;if(e===null)return e;if(t===null)return null;const i=toUint32Array(e),r=toUint32Array(t),g=r.length>>>1,y=new Uint32Array(i.length+r.length);y.set(i,0);let k=i.length;const L=i[i.length-2];for(let V=0;V>>1;let y=LineTokens.findIndexInTokensArray(r,t);y>0&&r[y-1<<1]===t&&y--;for(let k=y;k0}getTokens(e,t,i){let r=null;if(t1&&(g=TokenMetadata.getLanguageId(r[1])!==e),!g)return EMPTY_LINE_TOKENS}if(!r||r.length===0){const g=new Uint32Array(2);return g[0]=t,g[1]=getDefaultMetadata(e),g.buffer}return r[r.length-2]=t,r.byteOffset===0&&r.byteLength===r.buffer.byteLength?r.buffer:r}_ensureLine(e){for(;e>=this._len;)this._lineTokens[this._len]=null,this._len++}_deleteLines(e,t){t!==0&&(e+t>this._len&&(t=this._len-e),this._lineTokens.splice(e,t),this._len-=t)}_insertLines(e,t){if(t===0)return;const i=[];for(let r=0;r=this._len)return;if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._lineTokens[t]=ContiguousTokensEditing.delete(this._lineTokens[t],e.startColumn-1,e.endColumn-1);return}this._lineTokens[t]=ContiguousTokensEditing.deleteEnding(this._lineTokens[t],e.startColumn-1);const i=e.endLineNumber-1;let r=null;i=this._len)){if(t===0){this._lineTokens[r]=ContiguousTokensEditing.insert(this._lineTokens[r],e.column-1,i);return}this._lineTokens[r]=ContiguousTokensEditing.deleteEnding(this._lineTokens[r],e.column-1),this._lineTokens[r]=ContiguousTokensEditing.insert(this._lineTokens[r],e.column-1,i),this._insertLines(e.lineNumber,t)}}setMultilineTokens(e,t){if(e.length===0)return{changes:[]};const i=[];for(let r=0,g=e.length;r>>0}class SparseTokensStore{constructor(e){this._pieces=[],this._isComplete=!1,this._languageIdCodec=e}flush(){this._pieces=[],this._isComplete=!1}isEmpty(){return this._pieces.length===0}set(e,t){this._pieces=e||[],this._isComplete=t}setPartial(e,t){let i=e;if(t.length>0){const g=t[0].getRange(),y=t[t.length-1].getRange();if(!g||!y)return e;i=e.plusRange(g).plusRange(y)}let r=null;for(let g=0,y=this._pieces.length;gi.endLineNumber){r=r||{index:g};break}if(k.removeTokens(i),k.isEmpty()){this._pieces.splice(g,1),g--,y--;continue}if(k.endLineNumberi.endLineNumber){r=r||{index:g};continue}const[L,V]=k.split(i);if(L.isEmpty()){r=r||{index:g};continue}V.isEmpty()||(this._pieces.splice(g,1,L,V),g++,y++,r=r||{index:g})}return r=r||{index:this._pieces.length},t.length>0&&(this._pieces=arrayInsert(this._pieces,r.index,t)),i}isComplete(){return this._isComplete}addSparseTokens(e,t){if(t.getLineContent().length===0)return t;const i=this._pieces;if(i.length===0)return t;const r=SparseTokensStore._findFirstPieceWithLine(i,e),g=i[r].getLineTokens(e);if(!g)return t;const y=t.getCount(),k=g.getCount();let L=0;const V=[];let z=0,j=0;const ie=(oe,re)=>{oe!==j&&(j=oe,V[z++]=oe,V[z++]=re)};for(let oe=0;oe>>0,ue=~de>>>0;for(;Lt)r=g-1;else{for(;g>i&&e[g-1].startLineNumber<=t&&t<=e[g-1].endLineNumber;)g--;return g}}return i}acceptEdit(e,t,i,r,g){for(const y of this._pieces)y.acceptEdit(e,t,i,r,g)}}class TokenizationTextModelPart extends TextModelPart{constructor(e,t,i,r,g,y){super(),this._languageService=e,this._languageConfigurationService=t,this._textModel=i,this._bracketPairsTextModelPart=r,this._languageId=g,this._attachedViews=y,this._semanticTokens=new SparseTokensStore(this._languageService.languageIdCodec),this._onDidChangeLanguage=this._register(new Emitter$1),this.onDidChangeLanguage=this._onDidChangeLanguage.event,this._onDidChangeLanguageConfiguration=this._register(new Emitter$1),this.onDidChangeLanguageConfiguration=this._onDidChangeLanguageConfiguration.event,this._onDidChangeTokens=this._register(new Emitter$1),this.onDidChangeTokens=this._onDidChangeTokens.event,this.grammarTokens=this._register(new GrammarTokens(this._languageService.languageIdCodec,this._textModel,()=>this._languageId,this._attachedViews)),this._register(this._languageConfigurationService.onDidChange(k=>{k.affects(this._languageId)&&this._onDidChangeLanguageConfiguration.fire({})})),this._register(this.grammarTokens.onDidChangeTokens(k=>{this._emitModelTokensChangedEvent(k)})),this._register(this.grammarTokens.onDidChangeBackgroundTokenizationState(k=>{this._bracketPairsTextModelPart.handleDidChangeBackgroundTokenizationState()}))}handleDidChangeContent(e){if(e.isFlush)this._semanticTokens.flush();else if(!e.isEolChange)for(const t of e.changes){const[i,r,g]=countEOL(t.text);this._semanticTokens.acceptEdit(t.range,i,r,g,t.text.length>0?t.text.charCodeAt(0):0)}this.grammarTokens.handleDidChangeContent(e)}handleDidChangeAttached(){this.grammarTokens.handleDidChangeAttached()}getLineTokens(e){this.validateLineNumber(e);const t=this.grammarTokens.getLineTokens(e);return this._semanticTokens.addSparseTokens(e,t)}_emitModelTokensChangedEvent(e){this._textModel._isDisposing()||(this._bracketPairsTextModelPart.handleDidChangeTokens(e),this._onDidChangeTokens.fire(e))}validateLineNumber(e){if(e<1||e>this._textModel.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber")}get hasTokens(){return this.grammarTokens.hasTokens}resetTokenization(){this.grammarTokens.resetTokenization()}get backgroundTokenizationState(){return this.grammarTokens.backgroundTokenizationState}forceTokenization(e){this.validateLineNumber(e),this.grammarTokens.forceTokenization(e)}hasAccurateTokensForLine(e){return this.validateLineNumber(e),this.grammarTokens.hasAccurateTokensForLine(e)}isCheapToTokenize(e){return this.validateLineNumber(e),this.grammarTokens.isCheapToTokenize(e)}tokenizeIfCheap(e){this.validateLineNumber(e),this.grammarTokens.tokenizeIfCheap(e)}getTokenTypeIfInsertingCharacter(e,t,i){return this.grammarTokens.getTokenTypeIfInsertingCharacter(e,t,i)}tokenizeLineWithEdit(e,t,i){return this.grammarTokens.tokenizeLineWithEdit(e,t,i)}setSemanticTokens(e,t){this._semanticTokens.set(e,t),this._emitModelTokensChangedEvent({semanticTokensApplied:e!==null,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]})}hasCompleteSemanticTokens(){return this._semanticTokens.isComplete()}hasSomeSemanticTokens(){return!this._semanticTokens.isEmpty()}setPartialSemanticTokens(e,t){if(this.hasCompleteSemanticTokens())return;const i=this._textModel.validateRange(this._semanticTokens.setPartial(e,t));this._emitModelTokensChangedEvent({semanticTokensApplied:!0,ranges:[{fromLineNumber:i.startLineNumber,toLineNumber:i.endLineNumber}]})}getWordAtPosition(e){this.assertNotDisposed();const t=this._textModel.validatePosition(e),i=this._textModel.getLineContent(t.lineNumber),r=this.getLineTokens(t.lineNumber),g=r.findTokenIndexAtOffset(t.column-1),[y,k]=TokenizationTextModelPart._findLanguageBoundaries(r,g),L=getWordAtText(t.column,this.getLanguageConfiguration(r.getLanguageId(g)).getWordDefinition(),i.substring(y,k),y);if(L&&L.startColumn<=e.column&&e.column<=L.endColumn)return L;if(g>0&&y===t.column-1){const[V,z]=TokenizationTextModelPart._findLanguageBoundaries(r,g-1),j=getWordAtText(t.column,this.getLanguageConfiguration(r.getLanguageId(g-1)).getWordDefinition(),i.substring(V,z),V);if(j&&j.startColumn<=e.column&&e.column<=j.endColumn)return j}return null}getLanguageConfiguration(e){return this._languageConfigurationService.getLanguageConfiguration(e)}static _findLanguageBoundaries(e,t){const i=e.getLanguageId(t);let r=0;for(let y=t;y>=0&&e.getLanguageId(y)===i;y--)r=e.getStartOffset(y);let g=e.getLineContent().length;for(let y=t,k=e.getCount();y{const y=this.getLanguageId();g.changedLanguages.indexOf(y)!==-1&&this.resetTokenization()})),this.resetTokenization(),this._register(r.onDidChangeVisibleRanges(({view:g,state:y})=>{if(y){let k=this._attachedViewStates.get(g);k||(k=new AttachedViewHandler(()=>this.refreshRanges(k.lineRanges)),this._attachedViewStates.set(g,k)),k.handleStateChange(y)}else this._attachedViewStates.deleteAndDispose(g)}))}resetTokenization(e=!0){var t;this._tokens.flush(),(t=this._debugBackgroundTokens)===null||t===void 0||t.flush(),this._debugBackgroundStates&&(this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount())),e&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:[{fromLineNumber:1,toLineNumber:this._textModel.getLineCount()}]});const i=()=>{if(this._textModel.isTooLargeForTokenization())return[null,null];const y=TokenizationRegistry.get(this.getLanguageId());if(!y)return[null,null];let k;try{k=y.getInitialState()}catch(L){return onUnexpectedError(L),[null,null]}return[y,k]},[r,g]=i();if(r&&g?this._tokenizer=new TokenizerWithStateStoreAndTextModel(this._textModel.getLineCount(),r,this._textModel,this._languageIdCodec):this._tokenizer=null,this._backgroundTokenizer.clear(),this._defaultBackgroundTokenizer=null,this._tokenizer){const y={setTokens:k=>{this.setTokens(k)},backgroundTokenizationFinished:()=>{if(this._backgroundTokenizationState===2)return;const k=2;this._backgroundTokenizationState=k,this._onDidChangeBackgroundTokenizationState.fire()},setEndState:(k,L)=>{var V;if(!this._tokenizer)return;const z=this._tokenizer.store.getFirstInvalidEndStateLineNumber();z!==null&&k>=z&&((V=this._tokenizer)===null||V===void 0||V.store.setEndState(k,L))}};r&&r.createBackgroundTokenizer&&!r.backgroundTokenizerShouldOnlyVerifyTokens&&(this._backgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,y)),!this._backgroundTokenizer.value&&!this._textModel.isTooLargeForTokenization()&&(this._backgroundTokenizer.value=this._defaultBackgroundTokenizer=new DefaultBackgroundTokenizer(this._tokenizer,y),this._defaultBackgroundTokenizer.handleChanges()),r!=null&&r.backgroundTokenizerShouldOnlyVerifyTokens&&r.createBackgroundTokenizer?(this._debugBackgroundTokens=new ContiguousTokensStore(this._languageIdCodec),this._debugBackgroundStates=new TrackingTokenizationStateStore(this._textModel.getLineCount()),this._debugBackgroundTokenizer.clear(),this._debugBackgroundTokenizer.value=r.createBackgroundTokenizer(this._textModel,{setTokens:k=>{var L;(L=this._debugBackgroundTokens)===null||L===void 0||L.setMultilineTokens(k,this._textModel)},backgroundTokenizationFinished(){},setEndState:(k,L)=>{var V;(V=this._debugBackgroundStates)===null||V===void 0||V.setEndState(k,L)}})):(this._debugBackgroundTokens=void 0,this._debugBackgroundStates=void 0,this._debugBackgroundTokenizer.value=void 0)}this.refreshAllVisibleLineTokens()}handleDidChangeAttached(){var e;(e=this._defaultBackgroundTokenizer)===null||e===void 0||e.handleChanges()}handleDidChangeContent(e){var t,i,r;if(e.isFlush)this.resetTokenization(!1);else if(!e.isEolChange){for(const g of e.changes){const[y,k]=countEOL(g.text);this._tokens.acceptEdit(g.range,y,k),(t=this._debugBackgroundTokens)===null||t===void 0||t.acceptEdit(g.range,y,k)}(i=this._debugBackgroundStates)===null||i===void 0||i.acceptChanges(e.changes),this._tokenizer&&this._tokenizer.store.acceptChanges(e.changes),(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.handleChanges()}}setTokens(e){const{changes:t}=this._tokens.setMultilineTokens(e,this._textModel);return t.length>0&&this._onDidChangeTokens.fire({semanticTokensApplied:!1,ranges:t}),{changes:t}}refreshAllVisibleLineTokens(){const e=LineRange$1.joinMany([...this._attachedViewStates].map(([t,i])=>i.lineRanges));this.refreshRanges(e)}refreshRanges(e){for(const t of e)this.refreshRange(t.startLineNumber,t.endLineNumberExclusive-1)}refreshRange(e,t){var i,r;if(!this._tokenizer)return;e=Math.max(1,Math.min(this._textModel.getLineCount(),e)),t=Math.min(this._textModel.getLineCount(),t);const g=new ContiguousMultilineTokensBuilder,{heuristicTokens:y}=this._tokenizer.tokenizeHeuristically(g,e,t),k=this.setTokens(g.finalize());if(y)for(const L of k.changes)(i=this._backgroundTokenizer.value)===null||i===void 0||i.requestTokens(L.fromLineNumber,L.toLineNumber+1);(r=this._defaultBackgroundTokenizer)===null||r===void 0||r.checkFinished()}forceTokenization(e){var t,i;const r=new ContiguousMultilineTokensBuilder;(t=this._tokenizer)===null||t===void 0||t.updateTokensUntilLine(r,e),this.setTokens(r.finalize()),(i=this._defaultBackgroundTokenizer)===null||i===void 0||i.checkFinished()}hasAccurateTokensForLine(e){return this._tokenizer?this._tokenizer.hasAccurateTokensForLine(e):!0}isCheapToTokenize(e){return this._tokenizer?this._tokenizer.isCheapToTokenize(e):!0}tokenizeIfCheap(e){this.isCheapToTokenize(e)&&this.forceTokenization(e)}getLineTokens(e){var t;const i=this._textModel.getLineContent(e),r=this._tokens.getTokens(this._textModel.getLanguageId(),e-1,i);if(this._debugBackgroundTokens&&this._debugBackgroundStates&&this._tokenizer&&this._debugBackgroundStates.getFirstInvalidEndStateLineNumberOrMax()>e&&this._tokenizer.store.getFirstInvalidEndStateLineNumberOrMax()>e){const g=this._debugBackgroundTokens.getTokens(this._textModel.getLanguageId(),e-1,i);!r.equals(g)&&(!((t=this._debugBackgroundTokenizer.value)===null||t===void 0)&&t.reportMismatchingTokens)&&this._debugBackgroundTokenizer.value.reportMismatchingTokens(e)}return r}getTokenTypeIfInsertingCharacter(e,t,i){if(!this._tokenizer)return 0;const r=this._textModel.validatePosition(new Position$1(e,t));return this.forceTokenization(r.lineNumber),this._tokenizer.getTokenTypeIfInsertingCharacter(r,i)}tokenizeLineWithEdit(e,t,i){if(!this._tokenizer)return null;const r=this._textModel.validatePosition(e);return this.forceTokenization(r.lineNumber),this._tokenizer.tokenizeLineWithEdit(r,t,i)}get hasTokens(){return this._tokens.hasTokens}}class AttachedViewHandler extends Disposable{get lineRanges(){return this._lineRanges}constructor(e){super(),this._refreshTokens=e,this.runner=this._register(new RunOnceScheduler(()=>this.update(),50)),this._computedLineRanges=[],this._lineRanges=[]}update(){equals$3(this._computedLineRanges,this._lineRanges,(e,t)=>e.equals(t))||(this._computedLineRanges=this._lineRanges,this._refreshTokens())}handleStateChange(e){this._lineRanges=e.visibleLineRanges,e.stabilized?(this.runner.cancel(),this.update()):this.runner.schedule()}}const IUndoRedoService=createDecorator("undoRedoService");class ResourceEditStackSnapshot{constructor(e,t){this.resource=e,this.elements=t}}class UndoRedoGroup{constructor(){this.id=UndoRedoGroup._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}UndoRedoGroup._ID=0;UndoRedoGroup.None=new UndoRedoGroup;class UndoRedoSource{constructor(){this.id=UndoRedoSource._ID++,this.order=1}nextOrder(){return this.id===0?0:this.order++}}UndoRedoSource._ID=0;UndoRedoSource.None=new UndoRedoSource;var __decorate$2k=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2b=function(n,e){return function(t,i){e(t,i,n)}},TextModel_1;function createTextBufferFactory(n){const e=new PieceTreeTextBufferBuilder;return e.acceptChunk(n),e.finish()}function createTextBufferFactoryFromSnapshot(n){const e=new PieceTreeTextBufferBuilder;let t;for(;typeof(t=n.read())=="string";)e.acceptChunk(t);return e.finish()}function createTextBuffer(n,e){let t;return typeof n=="string"?t=createTextBufferFactory(n):isITextSnapshot(n)?t=createTextBufferFactoryFromSnapshot(n):t=n,t.create(e)}let MODEL_ID$1=0;const LIMIT_FIND_COUNT=999,LONG_LINE_BOUNDARY=1e4;class TextModelSnapshot{constructor(e){this._source=e,this._eos=!1}read(){if(this._eos)return null;const e=[];let t=0,i=0;do{const r=this._source.read();if(r===null)return this._eos=!0,t===0?null:e.join("");if(r.length>0&&(e[t++]=r,i+=r.length),i>=64*1024)return e.join("")}while(!0)}}const invalidFunc=()=>{throw new Error("Invalid change accessor")};let TextModel=TextModel_1=class extends Disposable{static resolveOptions(e,t){if(t.detectIndentation){const i=guessIndentation(e,t.tabSize,t.insertSpaces);return new TextModelResolvedOptions({tabSize:i.tabSize,indentSize:"tabSize",insertSpaces:i.insertSpaces,trimAutoWhitespace:t.trimAutoWhitespace,defaultEOL:t.defaultEOL,bracketPairColorizationOptions:t.bracketPairColorizationOptions})}return new TextModelResolvedOptions(t)}get onDidChangeLanguage(){return this._tokenizationTextModelPart.onDidChangeLanguage}get onDidChangeLanguageConfiguration(){return this._tokenizationTextModelPart.onDidChangeLanguageConfiguration}get onDidChangeTokens(){return this._tokenizationTextModelPart.onDidChangeTokens}onDidChangeContent(e){return this._eventEmitter.slowEvent(t=>e(t.contentChangedEvent))}onDidChangeContentOrInjectedText(e){return combinedDisposable(this._eventEmitter.fastEvent(t=>e(t)),this._onDidChangeInjectedText.event(t=>e(t)))}_isDisposing(){return this.__isDisposing}get tokenization(){return this._tokenizationTextModelPart}get bracketPairs(){return this._bracketPairs}get guides(){return this._guidesTextModelPart}constructor(e,t,i,r=null,g,y,k){super(),this._undoRedoService=g,this._languageService=y,this._languageConfigurationService=k,this._onWillDispose=this._register(new Emitter$1),this.onWillDispose=this._onWillDispose.event,this._onDidChangeDecorations=this._register(new DidChangeDecorationsEmitter(oe=>this.handleBeforeFireDecorationsChangedEvent(oe))),this.onDidChangeDecorations=this._onDidChangeDecorations.event,this._onDidChangeOptions=this._register(new Emitter$1),this.onDidChangeOptions=this._onDidChangeOptions.event,this._onDidChangeAttached=this._register(new Emitter$1),this.onDidChangeAttached=this._onDidChangeAttached.event,this._onDidChangeInjectedText=this._register(new Emitter$1),this._eventEmitter=this._register(new DidChangeContentEmitter),this._languageSelectionListener=this._register(new MutableDisposable),this._deltaDecorationCallCnt=0,this._attachedViews=new AttachedViews,MODEL_ID$1++,this.id="$model"+MODEL_ID$1,this.isForSimpleWidget=i.isForSimpleWidget,typeof r>"u"||r===null?this._associatedResource=URI.parse("inmemory://model/"+MODEL_ID$1):this._associatedResource=r,this._attachedEditorCount=0;const{textBuffer:L,disposable:V}=createTextBuffer(e,i.defaultEOL);this._buffer=L,this._bufferDisposable=V,this._options=TextModel_1.resolveOptions(this._buffer,i);const z=typeof t=="string"?t:t.languageId;typeof t!="string"&&(this._languageSelectionListener.value=t.onDidChange(()=>this._setLanguage(t.languageId))),this._bracketPairs=this._register(new BracketPairsTextModelPart(this,this._languageConfigurationService)),this._guidesTextModelPart=this._register(new GuidesTextModelPart(this,this._languageConfigurationService)),this._decorationProvider=this._register(new ColorizedBracketPairsDecorationProvider(this)),this._tokenizationTextModelPart=new TokenizationTextModelPart(this._languageService,this._languageConfigurationService,this,this._bracketPairs,z,this._attachedViews);const j=this._buffer.getLineCount(),ie=this._buffer.getValueLengthInRange(new Range$2(1,1,j,this._buffer.getLineLength(j)+1),0);i.largeFileOptimizations?(this._isTooLargeForTokenization=ie>TextModel_1.LARGE_FILE_SIZE_THRESHOLD||j>TextModel_1.LARGE_FILE_LINE_COUNT_THRESHOLD,this._isTooLargeForHeapOperation=ie>TextModel_1.LARGE_FILE_HEAP_OPERATION_THRESHOLD):(this._isTooLargeForTokenization=!1,this._isTooLargeForHeapOperation=!1),this._isTooLargeForSyncing=ie>TextModel_1._MODEL_SYNC_LIMIT,this._versionId=1,this._alternativeVersionId=1,this._initialUndoRedoSnapshot=null,this._isDisposed=!1,this.__isDisposing=!1,this._instanceId=singleLetterHash(MODEL_ID$1),this._lastDecorationId=0,this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees,this._commandManager=new EditStack(this,this._undoRedoService),this._isUndoing=!1,this._isRedoing=!1,this._trimAutoWhitespaceLines=null,this._register(this._decorationProvider.onDidChange(()=>{this._onDidChangeDecorations.beginDeferredEmit(),this._onDidChangeDecorations.fire(),this._onDidChangeDecorations.endDeferredEmit()})),this._languageService.requestRichLanguageFeatures(z)}dispose(){this.__isDisposing=!0,this._onWillDispose.fire(),this._tokenizationTextModelPart.dispose(),this._isDisposed=!0,super.dispose(),this._bufferDisposable.dispose(),this.__isDisposing=!1;const e=new PieceTreeTextBuffer([],"","\n",!1,!1,!0,!0);e.dispose(),this._buffer=e,this._bufferDisposable=Disposable.None}_assertNotDisposed(){if(this._isDisposed)throw new Error("Model is disposed!")}_emitContentChangedEvent(e,t){this.__isDisposing||(this._tokenizationTextModelPart.handleDidChangeContent(t),this._bracketPairs.handleDidChangeContent(t),this._eventEmitter.fire(new InternalModelContentChangeEvent(e,t)))}setValue(e){if(this._assertNotDisposed(),e==null)throw illegalArgument();const{textBuffer:t,disposable:i}=createTextBuffer(e,this._options.defaultEOL);this._setValueFromTextBuffer(t,i)}_createContentChanged2(e,t,i,r,g,y,k,L){return{changes:[{range:e,rangeOffset:t,rangeLength:i,text:r}],eol:this._buffer.getEOL(),isEolChange:L,versionId:this.getVersionId(),isUndoing:g,isRedoing:y,isFlush:k}}_setValueFromTextBuffer(e,t){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),g=this.getLineCount(),y=this.getLineMaxColumn(g);this._buffer=e,this._bufferDisposable.dispose(),this._bufferDisposable=t,this._increaseVersionId(),this._decorations=Object.create(null),this._decorationsTree=new DecorationsTrees,this._commandManager.clear(),this._trimAutoWhitespaceLines=null,this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawFlush],this._versionId,!1,!1),this._createContentChanged2(new Range$2(1,1,g,y),0,r,this.getValue(),!1,!1,!0,!1))}setEOL(e){this._assertNotDisposed();const t=e===1?"\r\n":"\n";if(this._buffer.getEOL()===t)return;const i=this.getFullModelRange(),r=this.getValueLengthInRange(i),g=this.getLineCount(),y=this.getLineMaxColumn(g);this._onBeforeEOLChange(),this._buffer.setEOL(t),this._increaseVersionId(),this._onAfterEOLChange(),this._emitContentChangedEvent(new ModelRawContentChangedEvent([new ModelRawEOLChanged],this._versionId,!1,!1),this._createContentChanged2(new Range$2(1,1,g,y),0,r,this.getValue(),!1,!1,!1,!0))}_onBeforeEOLChange(){this._decorationsTree.ensureAllNodesHaveRanges(this)}_onAfterEOLChange(){const e=this.getVersionId(),t=this._decorationsTree.collectNodesPostOrder();for(let i=0,r=t.length;i0}getAttachedEditorCount(){return this._attachedEditorCount}isTooLargeForSyncing(){return this._isTooLargeForSyncing}isTooLargeForTokenization(){return this._isTooLargeForTokenization}isTooLargeForHeapOperation(){return this._isTooLargeForHeapOperation}isDisposed(){return this._isDisposed}isDominatedByLongLines(){if(this._assertNotDisposed(),this.isTooLargeForTokenization())return!1;let e=0,t=0;const i=this._buffer.getLineCount();for(let r=1;r<=i;r++){const g=this._buffer.getLineLength(r);g>=LONG_LINE_BOUNDARY?t+=g:e+=g}return t>e}get uri(){return this._associatedResource}getOptions(){return this._assertNotDisposed(),this._options}getFormattingOptions(){return{tabSize:this._options.indentSize,insertSpaces:this._options.insertSpaces}}updateOptions(e){this._assertNotDisposed();const t=typeof e.tabSize<"u"?e.tabSize:this._options.tabSize,i=typeof e.indentSize<"u"?e.indentSize:this._options.originalIndentSize,r=typeof e.insertSpaces<"u"?e.insertSpaces:this._options.insertSpaces,g=typeof e.trimAutoWhitespace<"u"?e.trimAutoWhitespace:this._options.trimAutoWhitespace,y=typeof e.bracketColorizationOptions<"u"?e.bracketColorizationOptions:this._options.bracketPairColorizationOptions,k=new TextModelResolvedOptions({tabSize:t,indentSize:i,insertSpaces:r,defaultEOL:this._options.defaultEOL,trimAutoWhitespace:g,bracketPairColorizationOptions:y});if(this._options.equals(k))return;const L=this._options.createChangeEvent(k);this._options=k,this._bracketPairs.handleDidChangeOptions(L),this._decorationProvider.handleDidChangeOptions(L),this._onDidChangeOptions.fire(L)}detectIndentation(e,t){this._assertNotDisposed();const i=guessIndentation(this._buffer,t,e);this.updateOptions({insertSpaces:i.insertSpaces,tabSize:i.tabSize,indentSize:i.tabSize})}normalizeIndentation(e){return this._assertNotDisposed(),normalizeIndentation(e,this._options.indentSize,this._options.insertSpaces)}getVersionId(){return this._assertNotDisposed(),this._versionId}mightContainRTL(){return this._buffer.mightContainRTL()}mightContainUnusualLineTerminators(){return this._buffer.mightContainUnusualLineTerminators()}removeUnusualLineTerminators(e=null){const t=this.findMatches(UNUSUAL_LINE_TERMINATORS.source,!1,!0,!1,null,!1,1073741824);this._buffer.resetMightContainUnusualLineTerminators(),this.pushEditOperations(e,t.map(i=>({range:i.range,text:null})),()=>null)}mightContainNonBasicASCII(){return this._buffer.mightContainNonBasicASCII()}getAlternativeVersionId(){return this._assertNotDisposed(),this._alternativeVersionId}getInitialUndoRedoSnapshot(){return this._assertNotDisposed(),this._initialUndoRedoSnapshot}getOffsetAt(e){this._assertNotDisposed();const t=this._validatePosition(e.lineNumber,e.column,0);return this._buffer.getOffsetAt(t.lineNumber,t.column)}getPositionAt(e){this._assertNotDisposed();const t=Math.min(this._buffer.getLength(),Math.max(0,e));return this._buffer.getPositionAt(t)}_increaseVersionId(){this._versionId=this._versionId+1,this._alternativeVersionId=this._versionId}_overwriteVersionId(e){this._versionId=e}_overwriteAlternativeVersionId(e){this._alternativeVersionId=e}_overwriteInitialUndoRedoSnapshot(e){this._initialUndoRedoSnapshot=e}getValue(e,t=!1){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError("Operation would exceed heap memory limits");const i=this.getFullModelRange(),r=this.getValueInRange(i,e);return t?this._buffer.getBOM()+r:r}createSnapshot(e=!1){return new TextModelSnapshot(this._buffer.createSnapshot(e))}getValueLength(e,t=!1){this._assertNotDisposed();const i=this.getFullModelRange(),r=this.getValueLengthInRange(i,e);return t?this._buffer.getBOM().length+r:r}getValueInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueInRange(this.validateRange(e),t)}getValueLengthInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getValueLengthInRange(this.validateRange(e),t)}getCharacterCountInRange(e,t=0){return this._assertNotDisposed(),this._buffer.getCharacterCountInRange(this.validateRange(e),t)}getLineCount(){return this._assertNotDisposed(),this._buffer.getLineCount()}getLineContent(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineContent(e)}getLineLength(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(e)}getLinesContent(){if(this._assertNotDisposed(),this.isTooLargeForHeapOperation())throw new BugIndicatingError("Operation would exceed heap memory limits");return this._buffer.getLinesContent()}getEOL(){return this._assertNotDisposed(),this._buffer.getEOL()}getEndOfLineSequence(){return this._assertNotDisposed(),this._buffer.getEOL()==="\n"?0:1}getLineMinColumn(e){return this._assertNotDisposed(),1}getLineMaxColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLength(e)+1}getLineFirstNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineFirstNonWhitespaceColumn(e)}getLineLastNonWhitespaceColumn(e){if(this._assertNotDisposed(),e<1||e>this.getLineCount())throw new BugIndicatingError("Illegal value for lineNumber");return this._buffer.getLineLastNonWhitespaceColumn(e)}_validateRangeRelaxedNoAllocations(e){const t=this._buffer.getLineCount(),i=e.startLineNumber,r=e.startColumn;let g=Math.floor(typeof i=="number"&&!isNaN(i)?i:1),y=Math.floor(typeof r=="number"&&!isNaN(r)?r:1);if(g<1)g=1,y=1;else if(g>t)g=t,y=this.getLineMaxColumn(g);else if(y<=1)y=1;else{const j=this.getLineMaxColumn(g);y>=j&&(y=j)}const k=e.endLineNumber,L=e.endColumn;let V=Math.floor(typeof k=="number"&&!isNaN(k)?k:1),z=Math.floor(typeof L=="number"&&!isNaN(L)?L:1);if(V<1)V=1,z=1;else if(V>t)V=t,z=this.getLineMaxColumn(V);else if(z<=1)z=1;else{const j=this.getLineMaxColumn(V);z>=j&&(z=j)}return i===g&&r===y&&k===V&&L===z&&e instanceof Range$2&&!(e instanceof Selection$1)?e:new Range$2(g,y,V,z)}_isValidPosition(e,t,i){if(typeof e!="number"||typeof t!="number"||isNaN(e)||isNaN(t)||e<1||t<1||(e|0)!==e||(t|0)!==t)return!1;const r=this._buffer.getLineCount();if(e>r)return!1;if(t===1)return!0;const g=this.getLineMaxColumn(e);if(t>g)return!1;if(i===1){const y=this._buffer.getLineCharCode(e,t-2);if(isHighSurrogate(y))return!1}return!0}_validatePosition(e,t,i){const r=Math.floor(typeof e=="number"&&!isNaN(e)?e:1),g=Math.floor(typeof t=="number"&&!isNaN(t)?t:1),y=this._buffer.getLineCount();if(r<1)return new Position$1(1,1);if(r>y)return new Position$1(y,this.getLineMaxColumn(y));if(g<=1)return new Position$1(r,1);const k=this.getLineMaxColumn(r);if(g>=k)return new Position$1(r,k);if(i===1){const L=this._buffer.getLineCharCode(r,g-2);if(isHighSurrogate(L))return new Position$1(r,g-1)}return new Position$1(r,g)}validatePosition(e){return this._assertNotDisposed(),e instanceof Position$1&&this._isValidPosition(e.lineNumber,e.column,1)?e:this._validatePosition(e.lineNumber,e.column,1)}_isValidRange(e,t){const i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn;if(!this._isValidPosition(i,r,0)||!this._isValidPosition(g,y,0))return!1;if(t===1){const k=r>1?this._buffer.getLineCharCode(i,r-2):0,L=y>1&&y<=this._buffer.getLineLength(g)?this._buffer.getLineCharCode(g,y-2):0,V=isHighSurrogate(k),z=isHighSurrogate(L);return!V&&!z}return!0}validateRange(e){if(this._assertNotDisposed(),e instanceof Range$2&&!(e instanceof Selection$1)&&this._isValidRange(e,1))return e;const i=this._validatePosition(e.startLineNumber,e.startColumn,0),r=this._validatePosition(e.endLineNumber,e.endColumn,0),g=i.lineNumber,y=i.column,k=r.lineNumber,L=r.column;{const V=y>1?this._buffer.getLineCharCode(g,y-2):0,z=L>1&&L<=this._buffer.getLineLength(k)?this._buffer.getLineCharCode(k,L-2):0,j=isHighSurrogate(V),ie=isHighSurrogate(z);return!j&&!ie?new Range$2(g,y,k,L):g===k&&y===L?new Range$2(g,y-1,k,L-1):j&&ie?new Range$2(g,y-1,k,L+1):j?new Range$2(g,y-1,k,L):new Range$2(g,y,k,L+1)}}modifyPosition(e,t){this._assertNotDisposed();const i=this.getOffsetAt(e)+t;return this.getPositionAt(Math.min(this._buffer.getLength(),Math.max(0,i)))}getFullModelRange(){this._assertNotDisposed();const e=this.getLineCount();return new Range$2(1,1,e,this.getLineMaxColumn(e))}findMatchesLineByLine(e,t,i,r){return this._buffer.findMatchesLineByLine(e,t,i,r)}findMatches(e,t,i,r,g,y,k=LIMIT_FIND_COUNT){this._assertNotDisposed();let L=null;t!==null&&(Array.isArray(t)||(t=[t]),t.every(j=>Range$2.isIRange(j))&&(L=t.map(j=>this.validateRange(j)))),L===null&&(L=[this.getFullModelRange()]),L=L.sort((j,ie)=>j.startLineNumber-ie.startLineNumber||j.startColumn-ie.startColumn);const V=[];V.push(L.reduce((j,ie)=>Range$2.areIntersecting(j,ie)?j.plusRange(ie):(V.push(j),ie)));let z;if(!i&&e.indexOf("\n")<0){const ie=new SearchParams(e,i,r,g).parseSearchRequest();if(!ie)return[];z=oe=>this.findMatchesLineByLine(oe,ie,y,k)}else z=j=>TextModelSearch.findMatches(this,new SearchParams(e,i,r,g),j,y,k);return V.map(z).reduce((j,ie)=>j.concat(ie),[])}findNextMatch(e,t,i,r,g,y){this._assertNotDisposed();const k=this.validatePosition(t);if(!i&&e.indexOf("\n")<0){const V=new SearchParams(e,i,r,g).parseSearchRequest();if(!V)return null;const z=this.getLineCount();let j=new Range$2(k.lineNumber,k.column,z,this.getLineMaxColumn(z)),ie=this.findMatchesLineByLine(j,V,y,1);return TextModelSearch.findNextMatch(this,new SearchParams(e,i,r,g),k,y),ie.length>0||(j=new Range$2(1,1,k.lineNumber,this.getLineMaxColumn(k.lineNumber)),ie=this.findMatchesLineByLine(j,V,y,1),ie.length>0)?ie[0]:null}return TextModelSearch.findNextMatch(this,new SearchParams(e,i,r,g),k,y)}findPreviousMatch(e,t,i,r,g,y){this._assertNotDisposed();const k=this.validatePosition(t);return TextModelSearch.findPreviousMatch(this,new SearchParams(e,i,r,g),k,y)}pushStackElement(){this._commandManager.pushStackElement()}popStackElement(){this._commandManager.popStackElement()}pushEOL(e){if((this.getEOL()==="\n"?0:1)!==e)try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEOL(e)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_validateEditOperation(e){return e instanceof ValidAnnotatedEditOperation?e:new ValidAnnotatedEditOperation(e.identifier||null,this.validateRange(e.range),e.text,e.forceMoveMarkers||!1,e.isAutoWhitespaceEdit||!1,e._isTracked||!1)}_validateEditOperations(e){const t=[];for(let i=0,r=e.length;i({range:this.validateRange(k.range),text:k.text}));let y=!0;if(e)for(let k=0,L=e.length;kV.endLineNumber,ae=V.startLineNumber>oe.endLineNumber;if(!re&&!ae){z=!0;break}}if(!z){y=!1;break}}if(y)for(let k=0,L=this._trimAutoWhitespaceLines.length;kre.endLineNumber)&&!(V===re.startLineNumber&&re.startColumn===z&&re.isEmpty()&&ae&&ae.length>0&&ae.charAt(0)==="\n")&&!(V===re.startLineNumber&&re.startColumn===1&&re.isEmpty()&&ae&&ae.length>0&&ae.charAt(ae.length-1)==="\n")){j=!1;break}}if(j){const ie=new Range$2(V,1,V,z);t.push(new ValidAnnotatedEditOperation(null,ie,null,!1,!1,!1))}}this._trimAutoWhitespaceLines=null}return this._initialUndoRedoSnapshot===null&&(this._initialUndoRedoSnapshot=this._undoRedoService.createSnapshot(this.uri)),this._commandManager.pushEditOperation(e,t,i,r)}_applyUndo(e,t,i,r){const g=e.map(y=>{const k=this.getPositionAt(y.newPosition),L=this.getPositionAt(y.newEnd);return{range:new Range$2(k.lineNumber,k.column,L.lineNumber,L.column),text:y.oldText}});this._applyUndoRedoEdits(g,t,!0,!1,i,r)}_applyRedo(e,t,i,r){const g=e.map(y=>{const k=this.getPositionAt(y.oldPosition),L=this.getPositionAt(y.oldEnd);return{range:new Range$2(k.lineNumber,k.column,L.lineNumber,L.column),text:y.newText}});this._applyUndoRedoEdits(g,t,!1,!0,i,r)}_applyUndoRedoEdits(e,t,i,r,g,y){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit(),this._isUndoing=i,this._isRedoing=r,this.applyEdits(e,!1),this.setEOL(t),this._overwriteAlternativeVersionId(g)}finally{this._isUndoing=!1,this._isRedoing=!1,this._eventEmitter.endDeferredEmit(y),this._onDidChangeDecorations.endDeferredEmit()}}applyEdits(e,t=!1){try{this._onDidChangeDecorations.beginDeferredEmit(),this._eventEmitter.beginDeferredEmit();const i=this._validateEditOperations(e);return this._doApplyEdits(i,t)}finally{this._eventEmitter.endDeferredEmit(),this._onDidChangeDecorations.endDeferredEmit()}}_doApplyEdits(e,t){const i=this._buffer.getLineCount(),r=this._buffer.applyEdits(e,this._options.trimAutoWhitespace,t),g=this._buffer.getLineCount(),y=r.changes;if(this._trimAutoWhitespaceLines=r.trimAutoWhitespaceLineNumbers,y.length!==0){for(let V=0,z=y.length;V=0;Ne--){const Fe=oe+Ne,Ve=he+Ne;Ie.takeFromEndWhile(ze=>ze.lineNumber>Ve);const Oe=Ie.takeFromEndWhile(ze=>ze.lineNumber===Ve);k.push(new ModelRawLineChanged(Fe,this.getLineContent(Ve),Oe))}if(deAt.lineNumberAt.lineNumber===Et)}k.push(new ModelRawLinesInserted(Fe+1,oe+le,qe,ze))}L+=ue}this._emitContentChangedEvent(new ModelRawContentChangedEvent(k,this.getVersionId(),this._isUndoing,this._isRedoing),{changes:y,eol:this._buffer.getEOL(),isEolChange:!1,versionId:this.getVersionId(),isUndoing:this._isUndoing,isRedoing:this._isRedoing,isFlush:!1})}return r.reverseEdits===null?void 0:r.reverseEdits}undo(){return this._undoRedoService.undo(this.uri)}canUndo(){return this._undoRedoService.canUndo(this.uri)}redo(){return this._undoRedoService.redo(this.uri)}canRedo(){return this._undoRedoService.canRedo(this.uri)}handleBeforeFireDecorationsChangedEvent(e){if(e===null||e.size===0)return;const i=Array.from(e).map(r=>new ModelRawLineChanged(r,this.getLineContent(r),this._getInjectedTextInLine(r)));this._onDidChangeInjectedText.fire(new ModelInjectedTextChangedEvent(i))}changeDecorations(e,t=0){this._assertNotDisposed();try{return this._onDidChangeDecorations.beginDeferredEmit(),this._changeDecorations(t,e)}finally{this._onDidChangeDecorations.endDeferredEmit()}}_changeDecorations(e,t){const i={addDecoration:(g,y)=>this._deltaDecorationsImpl(e,[],[{range:g,options:y}])[0],changeDecoration:(g,y)=>{this._changeDecorationImpl(g,y)},changeDecorationOptions:(g,y)=>{this._changeDecorationOptionsImpl(g,_normalizeOptions(y))},removeDecoration:g=>{this._deltaDecorationsImpl(e,[g],[])},deltaDecorations:(g,y)=>g.length===0&&y.length===0?[]:this._deltaDecorationsImpl(e,g,y)};let r=null;try{r=t(i)}catch(g){onUnexpectedError(g)}return i.addDecoration=invalidFunc,i.changeDecoration=invalidFunc,i.changeDecorationOptions=invalidFunc,i.removeDecoration=invalidFunc,i.deltaDecorations=invalidFunc,r}deltaDecorations(e,t,i=0){if(this._assertNotDisposed(),e||(e=[]),e.length===0&&t.length===0)return[];try{return this._deltaDecorationCallCnt++,this._deltaDecorationCallCnt>1&&(console.warn("Invoking deltaDecorations recursively could lead to leaking decorations."),onUnexpectedError(new Error("Invoking deltaDecorations recursively could lead to leaking decorations."))),this._onDidChangeDecorations.beginDeferredEmit(),this._deltaDecorationsImpl(i,e,t)}finally{this._onDidChangeDecorations.endDeferredEmit(),this._deltaDecorationCallCnt--}}_getTrackedRange(e){return this.getDecorationRange(e)}_setTrackedRange(e,t,i){const r=e?this._decorations[e]:null;if(!r)return t?this._deltaDecorationsImpl(0,[],[{range:t,options:TRACKED_RANGE_OPTIONS[i]}],!0)[0]:null;if(!t)return this._decorationsTree.delete(r),delete this._decorations[r.id],null;const g=this._validateRangeRelaxedNoAllocations(t),y=this._buffer.getOffsetAt(g.startLineNumber,g.startColumn),k=this._buffer.getOffsetAt(g.endLineNumber,g.endColumn);return this._decorationsTree.delete(r),r.reset(this.getVersionId(),y,k,g),r.setOptions(TRACKED_RANGE_OPTIONS[i]),this._decorationsTree.insert(r),r.id}removeAllDecorationsWithOwnerId(e){if(this._isDisposed)return;const t=this._decorationsTree.collectNodesFromOwner(e);for(let i=0,r=t.length;ithis.getLineCount()?[]:this.getLinesDecorations(e,e,t,i)}getLinesDecorations(e,t,i=0,r=!1,g=!1){const y=this.getLineCount(),k=Math.min(y,Math.max(1,e)),L=Math.min(y,Math.max(1,t)),V=this.getLineMaxColumn(L),z=new Range$2(k,1,L,V),j=this._getDecorationsInRange(z,i,r,g);return pushMany(j,this._decorationProvider.getDecorationsInRange(z,i,r)),j}getDecorationsInRange(e,t=0,i=!1,r=!1,g=!1){const y=this.validateRange(e),k=this._getDecorationsInRange(y,t,i,g);return pushMany(k,this._decorationProvider.getDecorationsInRange(y,t,i,r)),k}getOverviewRulerDecorations(e=0,t=!1){return this._decorationsTree.getAll(this,e,t,!0,!1)}getInjectedTextDecorations(e=0){return this._decorationsTree.getAllInjectedText(this,e)}_getInjectedTextInLine(e){const t=this._buffer.getOffsetAt(e,1),i=t+this._buffer.getLineLength(e),r=this._decorationsTree.getInjectedTextInInterval(this,t,i,0);return LineInjectedText.fromDecorations(r).filter(g=>g.lineNumber===e)}getAllDecorations(e=0,t=!1){let i=this._decorationsTree.getAll(this,e,t,!1,!1);return i=i.concat(this._decorationProvider.getAllDecorations(e,t)),i}getAllMarginDecorations(e=0){return this._decorationsTree.getAll(this,e,!1,!1,!0)}_getDecorationsInRange(e,t,i,r){const g=this._buffer.getOffsetAt(e.startLineNumber,e.startColumn),y=this._buffer.getOffsetAt(e.endLineNumber,e.endColumn);return this._decorationsTree.getAllInInterval(this,g,y,t,i,r)}getRangeAt(e,t){return this._buffer.getRangeAt(e,t-e)}_changeDecorationImpl(e,t){const i=this._decorations[e];if(!i)return;if(i.options.after){const k=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(k.endLineNumber)}if(i.options.before){const k=this.getDecorationRange(e);this._onDidChangeDecorations.recordLineAffectedByInjectedText(k.startLineNumber)}const r=this._validateRangeRelaxedNoAllocations(t),g=this._buffer.getOffsetAt(r.startLineNumber,r.startColumn),y=this._buffer.getOffsetAt(r.endLineNumber,r.endColumn);this._decorationsTree.delete(i),i.reset(this.getVersionId(),g,y,r),this._decorationsTree.insert(i),this._onDidChangeDecorations.checkAffectedAndFire(i.options),i.options.after&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.endLineNumber),i.options.before&&this._onDidChangeDecorations.recordLineAffectedByInjectedText(r.startLineNumber)}_changeDecorationOptionsImpl(e,t){const i=this._decorations[e];if(!i)return;const r=!!(i.options.overviewRuler&&i.options.overviewRuler.color),g=!!(t.overviewRuler&&t.overviewRuler.color);if(this._onDidChangeDecorations.checkAffectedAndFire(i.options),this._onDidChangeDecorations.checkAffectedAndFire(t),i.options.after||t.after){const L=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(L.endLineNumber)}if(i.options.before||t.before){const L=this._decorationsTree.getNodeRange(this,i);this._onDidChangeDecorations.recordLineAffectedByInjectedText(L.startLineNumber)}const y=r!==g,k=isOptionsInjectedText(t)!==isNodeInjectedText(i);y||k?(this._decorationsTree.delete(i),i.setOptions(t),this._decorationsTree.insert(i)):i.setOptions(t)}_deltaDecorationsImpl(e,t,i,r=!1){const g=this.getVersionId(),y=t.length;let k=0;const L=i.length;let V=0;this._onDidChangeDecorations.beginDeferredEmit();try{const z=new Array(L);for(;kthis._setLanguage(e.languageId,t)),this._setLanguage(e.languageId,t))}_setLanguage(e,t){this.tokenization.setLanguageId(e,t),this._languageService.requestRichLanguageFeatures(e)}getLanguageIdAtPosition(e,t){return this.tokenization.getLanguageIdAtPosition(e,t)}getWordAtPosition(e){return this._tokenizationTextModelPart.getWordAtPosition(e)}getWordUntilPosition(e){return this._tokenizationTextModelPart.getWordUntilPosition(e)}normalizePosition(e,t){return e}getLineIndentColumn(e){return indentOfLine(this.getLineContent(e))+1}};TextModel._MODEL_SYNC_LIMIT=50*1024*1024;TextModel.LARGE_FILE_SIZE_THRESHOLD=20*1024*1024;TextModel.LARGE_FILE_LINE_COUNT_THRESHOLD=300*1e3;TextModel.LARGE_FILE_HEAP_OPERATION_THRESHOLD=256*1024*1024;TextModel.DEFAULT_CREATION_OPTIONS={isForSimpleWidget:!1,tabSize:EDITOR_MODEL_DEFAULTS.tabSize,indentSize:EDITOR_MODEL_DEFAULTS.indentSize,insertSpaces:EDITOR_MODEL_DEFAULTS.insertSpaces,detectIndentation:!1,defaultEOL:1,trimAutoWhitespace:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,largeFileOptimizations:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,bracketPairColorizationOptions:EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions};TextModel=TextModel_1=__decorate$2k([__param$2b(4,IUndoRedoService),__param$2b(5,ILanguageService),__param$2b(6,ILanguageConfigurationService)],TextModel);function indentOfLine(n){let e=0;for(const t of n)if(t===" "||t===" ")e++;else break;return e}function isNodeInOverviewRuler(n){return!!(n.options.overviewRuler&&n.options.overviewRuler.color)}function isOptionsInjectedText(n){return!!n.after||!!n.before}function isNodeInjectedText(n){return!!n.options.after||!!n.options.before}class DecorationsTrees{constructor(){this._decorationsTree0=new IntervalTree,this._decorationsTree1=new IntervalTree,this._injectedTextDecorationsTree=new IntervalTree}ensureAllNodesHaveRanges(e){this.getAll(e,0,!1,!1,!1)}_ensureNodesHaveRanges(e,t){for(const i of t)i.range===null&&(i.range=e.getRangeAt(i.cachedAbsoluteStart,i.cachedAbsoluteEnd));return t}getAllInInterval(e,t,i,r,g,y){const k=e.getVersionId(),L=this._intervalSearch(t,i,r,g,k,y);return this._ensureNodesHaveRanges(e,L)}_intervalSearch(e,t,i,r,g,y){const k=this._decorationsTree0.intervalSearch(e,t,i,r,g,y),L=this._decorationsTree1.intervalSearch(e,t,i,r,g,y),V=this._injectedTextDecorationsTree.intervalSearch(e,t,i,r,g,y);return k.concat(L).concat(V)}getInjectedTextInInterval(e,t,i,r){const g=e.getVersionId(),y=this._injectedTextDecorationsTree.intervalSearch(t,i,r,!1,g,!1);return this._ensureNodesHaveRanges(e,y).filter(k=>k.options.showIfCollapsed||!k.range.isEmpty())}getAllInjectedText(e,t){const i=e.getVersionId(),r=this._injectedTextDecorationsTree.search(t,!1,i,!1);return this._ensureNodesHaveRanges(e,r).filter(g=>g.options.showIfCollapsed||!g.range.isEmpty())}getAll(e,t,i,r,g){const y=e.getVersionId(),k=this._search(t,i,r,y,g);return this._ensureNodesHaveRanges(e,k)}_search(e,t,i,r,g){if(i)return this._decorationsTree1.search(e,t,r,g);{const y=this._decorationsTree0.search(e,t,r,g),k=this._decorationsTree1.search(e,t,r,g),L=this._injectedTextDecorationsTree.search(e,t,r,g);return y.concat(k).concat(L)}}collectNodesFromOwner(e){const t=this._decorationsTree0.collectNodesFromOwner(e),i=this._decorationsTree1.collectNodesFromOwner(e),r=this._injectedTextDecorationsTree.collectNodesFromOwner(e);return t.concat(i).concat(r)}collectNodesPostOrder(){const e=this._decorationsTree0.collectNodesPostOrder(),t=this._decorationsTree1.collectNodesPostOrder(),i=this._injectedTextDecorationsTree.collectNodesPostOrder();return e.concat(t).concat(i)}insert(e){isNodeInjectedText(e)?this._injectedTextDecorationsTree.insert(e):isNodeInOverviewRuler(e)?this._decorationsTree1.insert(e):this._decorationsTree0.insert(e)}delete(e){isNodeInjectedText(e)?this._injectedTextDecorationsTree.delete(e):isNodeInOverviewRuler(e)?this._decorationsTree1.delete(e):this._decorationsTree0.delete(e)}getNodeRange(e,t){const i=e.getVersionId();return t.cachedVersionId!==i&&this._resolveNode(t,i),t.range===null&&(t.range=e.getRangeAt(t.cachedAbsoluteStart,t.cachedAbsoluteEnd)),t.range}_resolveNode(e,t){isNodeInjectedText(e)?this._injectedTextDecorationsTree.resolveNode(e,t):isNodeInOverviewRuler(e)?this._decorationsTree1.resolveNode(e,t):this._decorationsTree0.resolveNode(e,t)}acceptReplace(e,t,i,r){this._decorationsTree0.acceptReplace(e,t,i,r),this._decorationsTree1.acceptReplace(e,t,i,r),this._injectedTextDecorationsTree.acceptReplace(e,t,i,r)}}function cleanClassName(n){return n.replace(/[^a-z0-9\-_]/gi," ")}class DecorationOptions{constructor(e){this.color=e.color||"",this.darkColor=e.darkColor||""}}class ModelDecorationOverviewRulerOptions extends DecorationOptions{constructor(e){super(e),this._resolvedColor=null,this.position=typeof e.position=="number"?e.position:OverviewRulerLane.Center}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=null}_resolveColor(e,t){if(typeof e=="string")return e;const i=e?t.getColor(e.id):null;return i?i.toString():""}}class ModelDecorationGlyphMarginOptions{constructor(e){var t;this.position=(t=e==null?void 0:e.position)!==null&&t!==void 0?t:GlyphMarginLane.Center,this.persistLane=e==null?void 0:e.persistLane}}class ModelDecorationMinimapOptions extends DecorationOptions{constructor(e){var t,i;super(e),this.position=e.position,this.sectionHeaderStyle=(t=e.sectionHeaderStyle)!==null&&t!==void 0?t:null,this.sectionHeaderText=(i=e.sectionHeaderText)!==null&&i!==void 0?i:null}getColor(e){return this._resolvedColor||(e.type!=="light"&&this.darkColor?this._resolvedColor=this._resolveColor(this.darkColor,e):this._resolvedColor=this._resolveColor(this.color,e)),this._resolvedColor}invalidateCachedColor(){this._resolvedColor=void 0}_resolveColor(e,t){return typeof e=="string"?Color$1.fromHex(e):t.getColor(e.id)}}class ModelDecorationInjectedTextOptions{static from(e){return e instanceof ModelDecorationInjectedTextOptions?e:new ModelDecorationInjectedTextOptions(e)}constructor(e){this.content=e.content||"",this.inlineClassName=e.inlineClassName||null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.attachedData=e.attachedData||null,this.cursorStops=e.cursorStops||null}}class ModelDecorationOptions{static register(e){return new ModelDecorationOptions(e)}static createDynamic(e){return new ModelDecorationOptions(e)}constructor(e){var t,i,r,g,y,k;this.description=e.description,this.blockClassName=e.blockClassName?cleanClassName(e.blockClassName):null,this.blockDoesNotCollapse=(t=e.blockDoesNotCollapse)!==null&&t!==void 0?t:null,this.blockIsAfterEnd=(i=e.blockIsAfterEnd)!==null&&i!==void 0?i:null,this.blockPadding=(r=e.blockPadding)!==null&&r!==void 0?r:null,this.stickiness=e.stickiness||0,this.zIndex=e.zIndex||0,this.className=e.className?cleanClassName(e.className):null,this.shouldFillLineOnLineBreak=(g=e.shouldFillLineOnLineBreak)!==null&&g!==void 0?g:null,this.hoverMessage=e.hoverMessage||null,this.glyphMarginHoverMessage=e.glyphMarginHoverMessage||null,this.lineNumberHoverMessage=e.lineNumberHoverMessage||null,this.isWholeLine=e.isWholeLine||!1,this.showIfCollapsed=e.showIfCollapsed||!1,this.collapseOnReplaceEdit=e.collapseOnReplaceEdit||!1,this.overviewRuler=e.overviewRuler?new ModelDecorationOverviewRulerOptions(e.overviewRuler):null,this.minimap=e.minimap?new ModelDecorationMinimapOptions(e.minimap):null,this.glyphMargin=e.glyphMarginClassName?new ModelDecorationGlyphMarginOptions(e.glyphMargin):null,this.glyphMarginClassName=e.glyphMarginClassName?cleanClassName(e.glyphMarginClassName):null,this.linesDecorationsClassName=e.linesDecorationsClassName?cleanClassName(e.linesDecorationsClassName):null,this.lineNumberClassName=e.lineNumberClassName?cleanClassName(e.lineNumberClassName):null,this.linesDecorationsTooltip=e.linesDecorationsTooltip?htmlAttributeEncodeValue(e.linesDecorationsTooltip):null,this.firstLineDecorationClassName=e.firstLineDecorationClassName?cleanClassName(e.firstLineDecorationClassName):null,this.marginClassName=e.marginClassName?cleanClassName(e.marginClassName):null,this.inlineClassName=e.inlineClassName?cleanClassName(e.inlineClassName):null,this.inlineClassNameAffectsLetterSpacing=e.inlineClassNameAffectsLetterSpacing||!1,this.beforeContentClassName=e.beforeContentClassName?cleanClassName(e.beforeContentClassName):null,this.afterContentClassName=e.afterContentClassName?cleanClassName(e.afterContentClassName):null,this.after=e.after?ModelDecorationInjectedTextOptions.from(e.after):null,this.before=e.before?ModelDecorationInjectedTextOptions.from(e.before):null,this.hideInCommentTokens=(y=e.hideInCommentTokens)!==null&&y!==void 0?y:!1,this.hideInStringTokens=(k=e.hideInStringTokens)!==null&&k!==void 0?k:!1}}ModelDecorationOptions.EMPTY=ModelDecorationOptions.register({description:"empty"});const TRACKED_RANGE_OPTIONS=[ModelDecorationOptions.register({description:"tracked-range-always-grows-when-typing-at-edges",stickiness:0}),ModelDecorationOptions.register({description:"tracked-range-never-grows-when-typing-at-edges",stickiness:1}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-before",stickiness:2}),ModelDecorationOptions.register({description:"tracked-range-grows-only-when-typing-after",stickiness:3})];function _normalizeOptions(n){return n instanceof ModelDecorationOptions?n:ModelDecorationOptions.createDynamic(n)}class DidChangeDecorationsEmitter extends Disposable{constructor(e){super(),this.handleBeforeFire=e,this._actual=this._register(new Emitter$1),this.event=this._actual.event,this._affectedInjectedTextLines=null,this._deferredCnt=0,this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._affectsLineNumber=!1}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(){var e;this._deferredCnt--,this._deferredCnt===0&&(this._shouldFireDeferred&&this.doFire(),(e=this._affectedInjectedTextLines)===null||e===void 0||e.clear(),this._affectedInjectedTextLines=null)}recordLineAffectedByInjectedText(e){this._affectedInjectedTextLines||(this._affectedInjectedTextLines=new Set),this._affectedInjectedTextLines.add(e)}checkAffectedAndFire(e){var t,i;this._affectsMinimap||(this._affectsMinimap=!!(!((t=e.minimap)===null||t===void 0)&&t.position)),this._affectsOverviewRuler||(this._affectsOverviewRuler=!!(!((i=e.overviewRuler)===null||i===void 0)&&i.color)),this._affectsGlyphMargin||(this._affectsGlyphMargin=!!e.glyphMarginClassName),this._affectsLineNumber||(this._affectsLineNumber=!!e.lineNumberClassName),this.tryFire()}fire(){this._affectsMinimap=!0,this._affectsOverviewRuler=!0,this._affectsGlyphMargin=!0,this.tryFire()}tryFire(){this._deferredCnt===0?this.doFire():this._shouldFireDeferred=!0}doFire(){this.handleBeforeFire(this._affectedInjectedTextLines);const e={affectsMinimap:this._affectsMinimap,affectsOverviewRuler:this._affectsOverviewRuler,affectsGlyphMargin:this._affectsGlyphMargin,affectsLineNumber:this._affectsLineNumber};this._shouldFireDeferred=!1,this._affectsMinimap=!1,this._affectsOverviewRuler=!1,this._affectsGlyphMargin=!1,this._actual.fire(e)}}class DidChangeContentEmitter extends Disposable{constructor(){super(),this._fastEmitter=this._register(new Emitter$1),this.fastEvent=this._fastEmitter.event,this._slowEmitter=this._register(new Emitter$1),this.slowEvent=this._slowEmitter.event,this._deferredCnt=0,this._deferredEvent=null}beginDeferredEmit(){this._deferredCnt++}endDeferredEmit(e=null){if(this._deferredCnt--,this._deferredCnt===0&&this._deferredEvent!==null){this._deferredEvent.rawContentChangedEvent.resultingSelection=e;const t=this._deferredEvent;this._deferredEvent=null,this._fastEmitter.fire(t),this._slowEmitter.fire(t)}}fire(e){if(this._deferredCnt>0){this._deferredEvent?this._deferredEvent=this._deferredEvent.merge(e):this._deferredEvent=e;return}this._fastEmitter.fire(e),this._slowEmitter.fire(e)}}class AttachedViews{constructor(){this._onDidChangeVisibleRanges=new Emitter$1,this.onDidChangeVisibleRanges=this._onDidChangeVisibleRanges.event,this._views=new Set}attachView(){const e=new AttachedViewImpl(t=>{this._onDidChangeVisibleRanges.fire({view:e,state:t})});return this._views.add(e),e}detachView(e){this._views.delete(e),this._onDidChangeVisibleRanges.fire({view:e,state:void 0})}}class AttachedViewImpl{constructor(e){this.handleStateChange=e}setVisibleLines(e,t){const i=e.map(r=>new LineRange$1(r.startLineNumber,r.endLineNumber+1));this.handleStateChange({visibleLineRanges:i,stabilized:t})}}class MonospaceLineBreaksComputerFactory{static create(e){return new MonospaceLineBreaksComputerFactory(e.get(134),e.get(133))}constructor(e,t){this.classifier=new WrappingCharacterClassifier(e,t)}createLineBreaksComputer(e,t,i,r,g){const y=[],k=[],L=[];return{addRequest:(V,z,j)=>{y.push(V),k.push(z),L.push(j)},finalize:()=>{const V=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,z=[];for(let j=0,ie=y.length;j=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}}let arrPool1=[],arrPool2=[];function createLineBreaksFromPreviousLineBreaks(n,e,t,i,r,g,y,k){if(r===-1)return null;const L=t.length;if(L<=1)return null;const V=k==="keepAll",z=e.breakOffsets,j=e.breakOffsetsVisibleColumn,ie=computeWrappedTextIndentLength(t,i,r,g,y),oe=r-ie,re=arrPool1,ae=arrPool2;let le=0,de=0,ue=0,he=r;const pe=z.length;let Ce=0;if(Ce>=0){let $e=Math.abs(j[Ce]-he);for(;Ce+1=$e)break;$e=xe,Ce++}}for(;Ce$e&&($e=de,xe=ue);let Ie=0,Ne=0,Fe=0,Ve=0;if(xe<=he){let ze=xe,qe=$e===0?0:t.charCodeAt($e-1),Ue=$e===0?0:n.get(qe),Et=!0;for(let At=$e;Atde&&canBreak(qe,Ue,kt,ei,V)&&(Ie=Lt,Ne=ze),ze+=jt,ze>he){Lt>de?(Fe=Lt,Ve=ze-jt):(Fe=At+1,Ve=ze),ze-Ne>oe&&(Ie=0),Et=!1;break}qe=kt,Ue=ei}if(Et){le>0&&(re[le]=z[z.length-1],ae[le]=j[z.length-1],le++);break}}if(Ie===0){let ze=xe,qe=t.charCodeAt($e),Ue=n.get(qe),Et=!1;for(let At=$e-1;At>=de;At--){const Lt=At+1,kt=t.charCodeAt(At);if(kt===9){Et=!0;break}let ei,jt;if(isLowSurrogate(kt)?(At--,ei=0,jt=2):(ei=n.get(kt),jt=isFullWidthCharacter(kt)?g:1),ze<=he){if(Fe===0&&(Fe=Lt,Ve=ze),ze<=he-oe)break;if(canBreak(kt,ei,qe,Ue,V)){Ie=Lt,Ne=ze;break}}ze-=jt,qe=kt,Ue=ei}if(Ie!==0){const At=oe-(Ve-Ne);if(At<=i){const Lt=t.charCodeAt(Fe);let kt;isHighSurrogate(Lt)?kt=2:kt=computeCharWidth(Lt,Ve,i,g),At-kt<0&&(Ie=0)}}if(Et){Ce--;continue}}if(Ie===0&&(Ie=Fe,Ne=Ve),Ie<=de){const ze=t.charCodeAt(de);isHighSurrogate(ze)?(Ie=de+2,Ne=ue+2):(Ie=de+1,Ne=ue+computeCharWidth(ze,ue,i,g))}for(de=Ie,re[le]=Ie,ue=Ne,ae[le]=Ne,le++,he=Ne+oe;Ce<0||Ce=Oe)break;Oe=ze,Ce++}}return le===0?null:(re.length=le,ae.length=le,arrPool1=e.breakOffsets,arrPool2=e.breakOffsetsVisibleColumn,e.breakOffsets=re,e.breakOffsetsVisibleColumn=ae,e.wrappedTextIndentLength=ie,e)}function createLineBreaks(n,e,t,i,r,g,y,k){const L=LineInjectedText.applyInjectedText(e,t);let V,z;if(t&&t.length>0?(V=t.map(Ne=>Ne.options),z=t.map(Ne=>Ne.column-1)):(V=null,z=null),r===-1)return V?new ModelLineProjectionData(z,V,[L.length],[],0):null;const j=L.length;if(j<=1)return V?new ModelLineProjectionData(z,V,[L.length],[],0):null;const ie=k==="keepAll",oe=computeWrappedTextIndentLength(L,i,r,g,y),re=r-oe,ae=[],le=[];let de=0,ue=0,he=0,pe=r,Ce=L.charCodeAt(0),$e=n.get(Ce),xe=computeCharWidth(Ce,0,i,g),Ie=1;isHighSurrogate(Ce)&&(xe+=1,Ce=L.charCodeAt(1),$e=n.get(Ce),Ie++);for(let Ne=Ie;Nepe&&((ue===0||xe-he>re)&&(ue=Fe,he=xe-ze),ae[de]=ue,le[de]=he,de++,pe=he+re,ue=0),Ce=Ve,$e=Oe}return de===0&&(!t||t.length===0)?null:(ae[de]=j,le[de]=xe,new ModelLineProjectionData(z,V,ae,le,oe))}function computeCharWidth(n,e,t,i){return n===9?t-e%t:isFullWidthCharacter(n)||n<32?i:1}function tabCharacterWidth(n,e){return e-n%e}function canBreak(n,e,t,i,r){return t!==32&&(e===2&&i!==2||e!==1&&i===1||!r&&e===3&&i!==2||!r&&i===3&&e!==1)}function computeWrappedTextIndentLength(n,e,t,i,r){let g=0;if(r!==0){const y=firstNonWhitespaceIndex(n);if(y!==-1){for(let L=0;Lt&&(g=0)}}return g}class Cursor{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new SingleCursorState(new Range$2(1,1,1,1),0,0,new Position$1(1,1),0),new SingleCursorState(new Range$2(1,1,1,1),0,0,new Position$1(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new CursorState$1(this.modelState,this.viewState)}readSelectionFromMarkers(e){const t=e.model._getTrackedRange(this._selTrackedRange);return this.modelState.selection.isEmpty()&&!t.isEmpty()?Selection$1.fromRange(t.collapseToEnd(),this.modelState.selection.getDirection()):Selection$1.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,i){this._setState(e,t,i)}static _validatePositionWithCache(e,t,i,r){return t.equals(i)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){const i=t.position,r=t.selectionStart.getStartPosition(),g=t.selectionStart.getEndPosition(),y=e.normalizePosition(i,2),k=this._validatePositionWithCache(e,r,i,y),L=this._validatePositionWithCache(e,g,r,k);return i.equals(y)&&r.equals(k)&&g.equals(L)?t:new SingleCursorState(Range$2.fromPositions(k,L),t.selectionStartKind,t.selectionStartLeftoverVisibleColumns+r.column-k.column,y,t.leftoverVisibleColumns+i.column-y.column)}_setState(e,t,i){if(i&&(i=Cursor._validateViewState(e.viewModel,i)),t){const r=e.model.validateRange(t.selectionStart),g=t.selectionStart.equalsRange(r)?t.selectionStartLeftoverVisibleColumns:0,y=e.model.validatePosition(t.position),k=t.position.equals(y)?t.leftoverVisibleColumns:0;t=new SingleCursorState(r,t.selectionStartKind,g,y,k)}else{if(!i)return;const r=e.model.validateRange(e.coordinatesConverter.convertViewRangeToModelRange(i.selectionStart)),g=e.model.validatePosition(e.coordinatesConverter.convertViewPositionToModelPosition(i.position));t=new SingleCursorState(r,i.selectionStartKind,i.selectionStartLeftoverVisibleColumns,g,i.leftoverVisibleColumns)}if(i){const r=e.coordinatesConverter.validateViewRange(i.selectionStart,t.selectionStart),g=e.coordinatesConverter.validateViewPosition(i.position,t.position);i=new SingleCursorState(r,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,g,t.leftoverVisibleColumns)}else{const r=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t.selectionStart.startLineNumber,t.selectionStart.startColumn)),g=e.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t.selectionStart.endLineNumber,t.selectionStart.endColumn)),y=new Range$2(r.lineNumber,r.column,g.lineNumber,g.column),k=e.coordinatesConverter.convertModelPositionToViewPosition(t.position);i=new SingleCursorState(y,t.selectionStartKind,t.selectionStartLeftoverVisibleColumns,k,t.leftoverVisibleColumns)}this.modelState=t,this.viewState=i,this._updateTrackedRange(e)}}class CursorCollection{constructor(e){this.context=e,this.cursors=[new Cursor(e)],this.lastAddedCursorIndex=0}dispose(){for(const e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(const e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(const e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(const e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return findFirstMinBy(this.cursors,compareBy(e=>e.viewState.position,Position$1.compare)).viewState.position}getBottomMostViewPosition(){return findLastMaxBy(this.cursors,compareBy(e=>e.viewState.position,Position$1.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(CursorState$1.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){const t=this.cursors.length-1,i=e.length;if(ti){const r=t-i;for(let g=0;g=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;const e=this.cursors.slice(0),t=[];for(let i=0,r=e.length;ii.selection,Range$2.compareRangesUsingStarts));for(let i=0;ij&&ae.index--;e.splice(j,1),t.splice(z,1),this._removeSecondaryCursor(j-1),i--}}}}class CursorContext{constructor(e,t,i,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=i,this.cursorConfig=r}}class ViewCompositionStartEvent{constructor(){this.type=0}}class ViewCompositionEndEvent{constructor(){this.type=1}}class ViewConfigurationChangedEvent{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}}class ViewCursorStateChangedEvent{constructor(e,t,i){this.selections=e,this.modelSelections=t,this.reason=i,this.type=3}}class ViewDecorationsChangedEvent{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler,this.affectsGlyphMargin=e.affectsGlyphMargin,this.affectsLineNumber=e.affectsLineNumber):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0,this.affectsGlyphMargin=!0,this.affectsLineNumber=!0)}}class ViewFlushedEvent{constructor(){this.type=5}}class ViewFocusChangedEvent{constructor(e){this.type=6,this.isFocused=e}}class ViewLanguageConfigurationEvent{constructor(){this.type=7}}class ViewLineMappingChangedEvent{constructor(){this.type=8}}class ViewLinesChangedEvent{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}}class ViewLinesDeletedEvent{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}}class ViewLinesInsertedEvent{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}}class ViewRevealRangeRequestEvent{constructor(e,t,i,r,g,y,k){this.source=e,this.minimalReveal=t,this.range=i,this.selections=r,this.verticalType=g,this.revealHorizontal=y,this.scrollType=k,this.type=12}}class ViewScrollChangedEvent{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}}class ViewThemeChangedEvent{constructor(e){this.theme=e,this.type=14}}class ViewTokensChangedEvent{constructor(e){this.type=15,this.ranges=e}}class ViewTokensColorsChangedEvent{constructor(){this.type=16}}let ViewZonesChangedEvent$1=class{constructor(){this.type=17}};class ViewModelEventDispatcher extends Disposable{constructor(){super(),this._onEvent=this._register(new Emitter$1),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,i=this._outgoingEvents.length;t0;){if(this._collector||this._isConsumingViewEventQueue)return;const e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let t=0,i=this._eventHandlers.length;t0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){const e=this._viewEventQueue;this._viewEventQueue=null;const t=this._eventHandlers.slice(0);for(const i of t)i.handleEvents(e)}}}class ViewModelEventsCollector{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}}class ContentSizeChangedEvent{constructor(e,t,i,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=i,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(e){return e.kind!==this.kind?null:new ContentSizeChangedEvent(this._oldContentWidth,this._oldContentHeight,e.contentWidth,e.contentHeight)}}class FocusChangedEvent{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(e){return e.kind!==this.kind?null:new FocusChangedEvent(this.oldHasFocus,e.hasFocus)}}class ScrollChangedEvent{constructor(e,t,i,r,g,y,k,L){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=i,this._oldScrollTop=r,this.scrollWidth=g,this.scrollLeft=y,this.scrollHeight=k,this.scrollTop=L,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(e){return e.kind!==this.kind?null:new ScrollChangedEvent(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop)}}class ViewZonesChangedEvent{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class HiddenAreasChangedEvent{constructor(){this.kind=4}isNoOp(){return!1}attemptToMerge(e){return e.kind!==this.kind?null:this}}class CursorStateChangedEvent{constructor(e,t,i,r,g,y,k){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=i,this.modelVersionId=r,this.source=g,this.reason=y,this.reachedMaxCursorCount=k}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;const i=e.length,r=t.length;if(i!==r)return!1;for(let g=0;g0){const e=this._cursors.getSelections();for(let t=0;ty&&(r=r.slice(0,y),g=!0);const k=CursorModelState.from(this._model,this);return this._cursors.setStates(r),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,t,i,k,g)}setCursorColumnSelectData(e){this._columnSelectData=e}revealAll(e,t,i,r,g,y){const k=this._cursors.getViewPositions();let L=null,V=null;k.length>1?V=this._cursors.getViewSelections():L=Range$2.fromPositions(k[0],k[0]),e.emitViewEvent(new ViewRevealRangeRequestEvent(t,i,L,V,r,g,y))}revealPrimary(e,t,i,r,g,y){const L=[this._cursors.getPrimaryCursor().viewState.selection];e.emitViewEvent(new ViewRevealRangeRequestEvent(t,i,null,L,r,g,y))}saveState(){const e=[],t=this._cursors.getSelections();for(let i=0,r=t.length;i0){const g=CursorState$1.fromModelSelections(i.resultingSelection);this.setStates(e,"modelChange",i.isUndoing?5:i.isRedoing?6:2,g)&&this.revealAll(e,"modelChange",!1,0,!0,0)}else{const g=this._cursors.readSelectionFromMarkers();this.setStates(e,"modelChange",2,CursorState$1.fromModelSelections(g))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;const e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),i=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:i.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,i)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,i,r){this.setStates(e,t,r,CursorState$1.fromModelSelections(i))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){const i=[],r=[];for(let k=0,L=e.length;k0&&this._pushAutoClosedAction(i,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,i,r,g){const y=CursorModelState.from(this._model,this);if(y.equals(r))return!1;const k=this._cursors.getSelections(),L=this._cursors.getViewSelections();if(e.emitViewEvent(new ViewCursorStateChangedEvent(L,k,i)),!r||r.cursorState.length!==y.cursorState.length||y.cursorState.some((V,z)=>!V.modelState.equals(r.cursorState[z].modelState))){const V=r?r.cursorState.map(j=>j.modelState.selection):null,z=r?r.modelVersionId:0;e.emitOutgoingEvent(new CursorStateChangedEvent(V,k,z,y.modelVersionId,t||"keyboard",i,g))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;const t=[];for(let i=0,r=e.length;i=0)return null;const y=g.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!y)return null;const k=y[1],L=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(k);if(!L||L.length!==1)return null;const V=L[0].open,z=g.text.length-y[2].length-1,j=g.text.lastIndexOf(V,z-1);if(j===-1)return null;t.push([j,z])}return t}executeEdits(e,t,i,r){let g=null;t==="snippet"&&(g=this._findAutoClosingPairs(i)),g&&(i[0]._isTracked=!0);const y=[],k=[],L=this._model.pushEditOperations(this.getSelections(),i,V=>{if(g)for(let j=0,ie=g.length;j0&&this._pushAutoClosedAction(y,k)}_executeEdit(e,t,i,r=0){if(this.context.cursorConfig.readOnly)return;const g=CursorModelState.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(y){onUnexpectedError(y)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,i,r,g,!1)&&this.revealAll(t,i,!1,0,!0,0)}getAutoClosedCharacters(){return AutoClosedAction.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new CompositionState(this._model,this.getSelections())}endComposition(e,t){const i=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t==="keyboard"&&this._executeEditOperation(TypeOperations.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,i,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,i){this._executeEdit(()=>{if(i==="keyboard"){const r=t.length;let g=0;for(;g{const V=L.getPosition();return new Selection$1(V.lineNumber,V.column+g,V.lineNumber,V.column+g)});this.setSelections(e,y,k,0)}return}this._executeEdit(()=>{this._executeEditOperation(TypeOperations.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,i,r,g))},e,y)}paste(e,t,i,r,g){this._executeEdit(()=>{this._executeEditOperation(TypeOperations.paste(this.context.cursorConfig,this._model,this.getSelections(),t,i,r||[]))},e,g,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(DeleteOperations.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,i){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new EditOperationResult(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}executeCommands(e,t,i){this._executeEdit(()=>{this._executeEditOperation(new EditOperationResult(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,i)}}class CursorModelState{static from(e,t){return new CursorModelState(e.getVersionId(),t.getCursorStates())}constructor(e,t){this.modelVersionId=e,this.cursorState=t}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,i=this.cursorState.length;t=t.length||!t[i].strictContainsRange(e[i]))return!1;return!0}}class CommandExecutor{static executeCommands(e,t,i){const r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},g=this._innerExecuteCommands(r,i);for(let y=0,k=r.trackedRanges.length;y0&&(y[0]._isTracked=!0);let k=e.model.pushEditOperations(e.selectionsBefore,y,V=>{const z=[];for(let oe=0;oeoe.identifier.minor-re.identifier.minor,ie=[];for(let oe=0;oe0?(z[oe].sort(j),ie[oe]=t[oe].computeCursorState(e.model,{getInverseEditOperations:()=>z[oe],getTrackedSelection:re=>{const ae=parseInt(re,10),le=e.model._getTrackedRange(e.trackedRanges[ae]);return e.trackedRangesDirection[ae]===0?new Selection$1(le.startLineNumber,le.startColumn,le.endLineNumber,le.endColumn):new Selection$1(le.endLineNumber,le.endColumn,le.startLineNumber,le.startColumn)}})):ie[oe]=e.selectionsBefore[oe];return ie});k||(k=e.selectionsBefore);const L=[];for(const V in g)g.hasOwnProperty(V)&&L.push(parseInt(V,10));L.sort((V,z)=>z-V);for(const V of L)k.splice(V,1);return k}static _arrayIsEmpty(e){for(let t=0,i=e.length;t{Range$2.isEmpty(j)&&ie===""||r.push({identifier:{major:t,minor:g++},range:j,text:ie,forceMoveMarkers:oe,isAutoWhitespaceEdit:i.insertsAutoWhitespace})};let k=!1;const z={addEditOperation:y,addTrackedEditOperation:(j,ie,oe)=>{k=!0,y(j,ie,oe)},trackSelection:(j,ie)=>{const oe=Selection$1.liftSelection(j);let re;if(oe.isEmpty())if(typeof ie=="boolean")ie?re=2:re=3;else{const de=e.model.getLineMaxColumn(oe.startLineNumber);oe.startColumn===de?re=2:re=3}else re=1;const ae=e.trackedRanges.length,le=e.model._setTrackedRange(null,oe,re);return e.trackedRanges[ae]=le,e.trackedRangesDirection[ae]=oe.getDirection(),ae.toString()}};try{i.getEditOperations(e.model,z)}catch(j){return onUnexpectedError(j),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:k}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((i,r)=>-Range$2.compareRangesUsingEnds(i.range,r.range));const t={};for(let i=1;ig.identifier.major?y=r.identifier.major:y=g.identifier.major,t[y.toString()]=!0;for(let k=0;k0&&i--}}return t}}class CompositionLineState{constructor(e,t,i){this.text=e,this.startSelection=t,this.endSelection=i}}class CompositionState{static _capture(e,t){const i=[];for(const r of t){if(r.startLineNumber!==r.endLineNumber)return null;i.push(new CompositionLineState(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return i}constructor(e,t){this._original=CompositionState._capture(e,t)}deduceOutcome(e,t){if(!this._original)return null;const i=CompositionState._capture(e,t);if(!i||this._original.length!==i.length)return null;const r=[];for(let g=0,y=this._original.length;gNullState,tokenizeEncoded:(n,e,t)=>nullTokenizeEncoded(0,t)};async function tokenizeToString(n,e,t){if(!t)return _tokenizeToString(e,n.languageIdCodec,fallback);const i=await TokenizationRegistry.getOrCreate(t);return _tokenizeToString(e,n.languageIdCodec,i||fallback)}function tokenizeLineToHTML(n,e,t,i,r,g,y){let k="
    ",L=i,V=0,z=!0;for(let j=0,ie=e.getCount();j0;)y&&z?(re+=" ",z=!1):(re+=" ",z=!0),le--;break}case 60:re+="<",z=!1;break;case 62:re+=">",z=!1;break;case 38:re+="&",z=!1;break;case 0:re+="�",z=!1;break;case 65279:case 8232:case 8233:case 133:re+="�",z=!1;break;case 13:re+="​",z=!1;break;case 32:y&&z?(re+=" ",z=!1):(re+=" ",z=!0);break;default:re+=String.fromCharCode(ae),z=!1}}if(k+='').concat(re,""),oe>r||L>=r)break}return k+="
    ",k}function _tokenizeToString(n,e,t){let i='
    ';const r=splitLines(n);let g=t.getInitialState();for(let y=0,k=r.length;y0&&(i+="
    ");const V=t.tokenizeEncoded(L,!0,g);LineTokens.convertToEndOffset(V.tokens,L.length);const j=new LineTokens(V.tokens,L,e).inflate();let ie=0;for(let oe=0,re=j.getCount();oe').concat(escape(L.substring(ie,le)),""),ie=le}g=V.endState}return i+="
    ",i}class PendingChanges{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;const t=this._inserts,i=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,i,r)}}class EditorWhitespace{constructor(e,t,i,r,g){this.id=e,this.afterLineNumber=t,this.ordinal=i,this.height=r,this.minWidth=g,this.prefixSum=0}}let LinesLayout$1=class Zd{constructor(e,t,i,r){this._instanceId=singleLetterHash(++Zd.INSTANCE_COUNT),this._pendingChanges=new PendingChanges,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=e,this._lineHeight=t,this._paddingTop=i,this._paddingBottom=r}static findInsertionIndex(e,t,i){let r=0,g=e.length;for(;r>>1;t===e[y].afterLineNumber?i{t=!0,r=r|0,g=g|0,y=y|0,k=k|0;const L=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new EditorWhitespace(L,r,g,y,k)),L},changeOneWhitespace:(r,g,y)=>{t=!0,g=g|0,y=y|0,this._pendingChanges.change({id:r,newAfterLineNumber:g,newHeight:y})},removeWhitespace:r=>{t=!0,this._pendingChanges.remove({id:r})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,i){if((e.length>0||i.length>0)&&(this._minWidth=-1),e.length+t.length+i.length<=1){for(const L of e)this._insertWhitespace(L);for(const L of t)this._changeOneWhitespace(L.id,L.newAfterLineNumber,L.newHeight);for(const L of i){const V=this._findWhitespaceIndex(L.id);V!==-1&&this._removeWhitespace(V)}return}const r=new Set;for(const L of i)r.add(L.id);const g=new Map;for(const L of t)g.set(L.id,L);const y=L=>{const V=[];for(const z of L)if(!r.has(z.id)){if(g.has(z.id)){const j=g.get(z.id);z.afterLineNumber=j.newAfterLineNumber,z.height=j.newHeight}V.push(z)}return V},k=y(this._arr).concat(y(e));k.sort((L,V)=>L.afterLineNumber===V.afterLineNumber?L.ordinal-V.ordinal:L.afterLineNumber-V.afterLineNumber),this._arr=k,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(e){const t=Zd.findInsertionIndex(this._arr,e.afterLineNumber,e.ordinal);this._arr.splice(t,0,e),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,t-1)}_findWhitespaceIndex(e){const t=this._arr;for(let i=0,r=t.length;it&&(this._arr[i].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e=e|0,t=t|0,this._lineCount+=t-e+1;for(let i=0,r=this._arr.length;i=t.length||t[k+1].afterLineNumber>=e)return k;i=k+1|0}else r=k-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e=e|0;const i=this._findLastWhitespaceBeforeLineNumber(e)+1;return i1?i=this._lineHeight*(e-1):i=0;const r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return i+r+this._paddingTop}getVerticalOffsetAfterLineNumber(e,t=!1){this._checkPendingChanges(),e=e|0;const i=this._lineHeight*e,r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e+(t?1:0));return i+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,i=this._arr.length;tt}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e=t-this._paddingBottom}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e=e|0,e<0)return 1;const t=this._lineCount|0,i=this._lineHeight;let r=1,g=t;for(;r=k+i)r=y+1;else{if(e>=k)return y;g=y}}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,g=this.getVerticalOffsetForLineNumber(r)|0;let y=this._lineCount|0,k=this.getFirstWhitespaceIndexAfterLineNumber(r)|0;const L=this.getWhitespacesCount()|0;let V,z;k===-1?(k=L,z=y+1,V=0):(z=this.getAfterLineNumberForWhitespaceIndex(k)|0,V=this.getHeightForWhitespaceIndex(k)|0);let j=g,ie=j;const oe=5e5;let re=0;g>=oe&&(re=Math.floor(g/oe)*oe,re=Math.floor(re/i)*i,ie-=re);const ae=[],le=e+(t-e)/2;let de=-1;for(let Ce=r;Ce<=y;Ce++){if(de===-1){const $e=j,xe=j+i;($e<=le&&lele)&&(de=Ce)}for(j+=i,ae[Ce-r]=ie,ie+=i;z===Ce;)ie+=V,j+=V,k++,k>=L?z=y+1:(z=this.getAfterLineNumberForWhitespaceIndex(k)|0,V=this.getHeightForWhitespaceIndex(k)|0);if(j>=t){y=Ce;break}}de===-1&&(de=y);const ue=this.getVerticalOffsetForLineNumber(y)|0;let he=r,pe=y;return het&&pe--,{bigNumbersDelta:re,startLineNumber:r,endLineNumber:y,relativeVerticalOffset:ae,centeredLineNumber:de,completelyVisibleStartLineNumber:he,completelyVisibleEndLineNumber:pe,lineHeight:this._lineHeight}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e=e|0;const t=this.getAfterLineNumberForWhitespaceIndex(e);let i;t>=1?i=this._lineHeight*t:i=0;let r;return e>0?r=this.getWhitespacesAccumulatedHeight(e-1):r=0,i+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e=e|0;let t=0,i=this.getWhitespacesCount()-1;if(i<0)return-1;const r=this.getVerticalOffsetForWhitespaceIndex(i),g=this.getHeightForWhitespaceIndex(i);if(e>=r+g)return-1;for(;t=k+L)t=y+1;else{if(e>=k)return y;i=y}}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e=e|0;const t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;const i=this.getVerticalOffsetForWhitespaceIndex(t);if(i>e)return null;const r=this.getHeightForWhitespaceIndex(t),g=this.getIdForWhitespaceIndex(t),y=this.getAfterLineNumberForWhitespaceIndex(t);return{id:g,afterLineNumber:y,verticalOffset:i,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e=e|0,t=t|0;const i=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(i<0)return[];const g=[];for(let y=i;y<=r;y++){const k=this.getVerticalOffsetForWhitespaceIndex(y),L=this.getHeightForWhitespaceIndex(y);if(k>=t)break;g.push({id:this.getIdForWhitespaceIndex(y),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(y),verticalOffset:k,height:L})}return g}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e=e|0,this._arr[e].height}};LinesLayout$1.INSTANCE_COUNT=0;const SMOOTH_SCROLLING_TIME=125;class EditorScrollDimensions{constructor(e,t,i,r){e=e|0,t=t|0,i=i|0,r=r|0,e<0&&(e=0),t<0&&(t=0),i<0&&(i=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=i,this.contentHeight=r,this.scrollHeight=Math.max(i,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}}class EditorScrollable extends Disposable{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new Emitter$1),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new EditorScrollDimensions(0,0,0,0),this._scrollable=this._register(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;const t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);const i=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(i||r)&&this._onDidContentSizeChange.fire(new ContentSizeChangedEvent(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}}class ViewLayout extends Disposable{constructor(e,t,i){super(),this._configuration=e;const r=this._configuration.options,g=r.get(145),y=r.get(84);this._linesLayout=new LinesLayout$1(t,r.get(67),y.top,y.bottom),this._maxLineWidth=0,this._overlayWidgetsMinWidth=0,this._scrollable=this._register(new EditorScrollable(0,i)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new EditorScrollDimensions(g.contentWidth,0,g.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(114)?SMOOTH_SCROLLING_TIME:0)}onConfigurationChanged(e){const t=this._configuration.options;if(e.hasChanged(67)&&this._linesLayout.setLineHeight(t.get(67)),e.hasChanged(84)){const i=t.get(84);this._linesLayout.setPadding(i.top,i.bottom)}if(e.hasChanged(145)){const i=t.get(145),r=i.contentWidth,g=i.height,y=this._scrollable.getScrollDimensions(),k=y.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(r,y.contentWidth,g,this._getContentHeight(r,g,k)))}else this._updateHeight();e.hasChanged(114)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){const r=this._configuration.options.get(103);return r.horizontal===2||e>=t?0:r.horizontalScrollbarSize}_getContentHeight(e,t,i){const r=this._configuration.options;let g=this._linesLayout.getLinesTotalHeight();return r.get(105)?g+=Math.max(0,t-r.get(67)-r.get(84).bottom):r.get(103).ignoreHorizontalScrollbarInContentHeight||(g+=this._getHorizontalScrollbarHeight(e,i)),g}_updateHeight(){const e=this._scrollable.getScrollDimensions(),t=e.width,i=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new EditorScrollDimensions(t,e.contentWidth,i,this._getContentHeight(t,i,r)))}getCurrentViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){const e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Viewport(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(){const e=this._configuration.options,t=this._maxLineWidth,i=e.get(146),r=e.get(50),g=e.get(145);if(i.isViewportWrapping){const y=e.get(73);return t>g.contentWidth+r.typicalHalfwidthCharacterWidth&&y.enabled&&y.side==="right"?t+g.verticalScrollbarWidth:t}else{const y=e.get(104)*r.typicalHalfwidthCharacterWidth,k=this._linesLayout.getWhitespaceMinWidth();return Math.max(t+y+g.verticalScrollbarWidth,k,this._overlayWidgetsMinWidth)}}setMaxLineWidth(e){this._maxLineWidth=e,this._updateContentWidth()}setOverlayWidgetsMinWidth(e){this._overlayWidgetsMinWidth=e,this._updateContentWidth()}_updateContentWidth(){const e=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new EditorScrollDimensions(e.width,this._computeContentWidth(),e.height,e.contentHeight)),this._updateHeight()}saveState(){const e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,i=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t),r=this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(i);return{scrollTop:t,scrollTopWithoutViewZones:t-r,scrollLeft:e.scrollLeft}}changeWhitespace(e){const t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}getVerticalOffsetAfterLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetAfterLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){const t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){const e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}hasPendingScrollAnimation(){return this._scrollable.hasPendingScrollAnimation()}deltaScrollNow(e,t){const i=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:i.scrollLeft+e,scrollTop:i.scrollTop+t})}}class ViewModelDecorations{constructor(e,t,i,r,g){this.editorId=e,this.model=t,this.configuration=i,this._linesCollection=r,this._coordinatesConverter=g,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){const t=e.id;let i=this._decorationsCache[t];if(!i){const r=e.range,g=e.options;let y;if(g.isWholeLine){const k=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$1(r.startLineNumber,1),0,!1,!0),L=this._coordinatesConverter.convertModelPositionToViewPosition(new Position$1(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);y=new Range$2(k.lineNumber,k.column,L.lineNumber,L.column)}else y=this._coordinatesConverter.convertModelRangeToViewRange(r,1);i=new ViewModelDecoration(y,g),this._decorationsCache[t]=i}return i}getMinimapDecorationsInRange(e){return this._getDecorationsInRange(e,!0,!1).decorations}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t=t&&e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsInRange(e,!1,!1),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}getInlineDecorationsOnLine(e,t=!1,i=!1){const r=new Range$2(e,this._linesCollection.getViewLineMinColumn(e),e,this._linesCollection.getViewLineMaxColumn(e));return this._getDecorationsInRange(r,t,i).inlineDecorations[0]}_getDecorationsInRange(e,t,i){const r=this._linesCollection.getDecorationsInRange(e,this.editorId,filterValidationDecorations(this.configuration.options),t,i),g=e.startLineNumber,y=e.endLineNumber,k=[];let L=0;const V=[];for(let z=g;z<=y;z++)V[z-g]=[];for(let z=0,j=r.length;zt===1)}function isModelDecorationInString(n,e){return testTokensInRange(n,e.range,t=>t===2)}function testTokensInRange(n,e,t){for(let i=e.startLineNumber;i<=e.endLineNumber;i++){const r=n.tokenization.getLineTokens(i),g=i===e.startLineNumber,y=i===e.endLineNumber;let k=g?r.findTokenIndexAtOffset(e.startColumn-1):0;for(;ke.endColumn-1);){if(!t(r.getStandardTokenType(k)))return!1;k++}}return!0}function createModelLineProjection(n,e){return n===null?e?IdentityModelLineProjection.INSTANCE:HiddenModelLineProjection.INSTANCE:new ModelLineProjection(n,e)}class ModelLineProjection{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,i){this._assertVisible();const r=i>0?this._projectionData.breakOffsets[i-1]:0,g=this._projectionData.breakOffsets[i];let y;if(this._projectionData.injectionOffsets!==null){const k=this._projectionData.injectionOffsets.map((V,z)=>new LineInjectedText(0,0,V+1,this._projectionData.injectionOptions[z],0));y=LineInjectedText.applyInjectedText(e.getLineContent(t),k).substring(r,g)}else y=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:g+1});return i>0&&(y=spaces(this._projectionData.wrappedTextIndentLength)+y),y}getViewLineLength(e,t,i){return this._assertVisible(),this._projectionData.getLineLength(i)}getViewLineMinColumn(e,t,i){return this._assertVisible(),this._projectionData.getMinOutputOffset(i)+1}getViewLineMaxColumn(e,t,i){return this._assertVisible(),this._projectionData.getMaxOutputOffset(i)+1}getViewLineData(e,t,i){const r=new Array;return this.getViewLinesData(e,t,i,1,0,[!0],r),r[0]}getViewLinesData(e,t,i,r,g,y,k){this._assertVisible();const L=this._projectionData,V=L.injectionOffsets,z=L.injectionOptions;let j=null;if(V){j=[];let oe=0,re=0;for(let ae=0;ae0?L.breakOffsets[ae-1]:0,ue=L.breakOffsets[ae];for(;reue)break;if(de0?L.wrappedTextIndentLength:0,Ie=xe+Math.max(pe-de,0),Ne=xe+Math.min(Ce-de,ue-de);Ie!==Ne&&le.push(new SingleLineInlineDecoration(Ie,Ne,$e.inlineClassName,$e.inlineClassNameAffectsLetterSpacing))}}if(Ce<=ue)oe+=he,re++;else break}}}let ie;V?ie=e.tokenization.getLineTokens(t).withInserted(V.map((oe,re)=>({offset:oe,text:z[re].content,tokenMetadata:LineTokens.defaultTokenMetadata}))):ie=e.tokenization.getLineTokens(t);for(let oe=i;oe0?r.wrappedTextIndentLength:0,y=i>0?r.breakOffsets[i-1]:0,k=r.breakOffsets[i],L=e.sliceAndInflate(y,k,g);let V=L.getLineContent();i>0&&(V=spaces(r.wrappedTextIndentLength)+V);const z=this._projectionData.getMinOutputOffset(i)+1,j=V.length+1,ie=i+1=_spaces.length)for(let e=1;e<=n;e++)_spaces[e]=_makeSpaces(e);return _spaces[n]}function _makeSpaces(n){return new Array(n+1).join(" ")}class ViewModelLinesFromProjectedModel{constructor(e,t,i,r,g,y,k,L,V,z){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=i,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=g,this.tabSize=y,this.wrappingStrategy=k,this.wrappingColumn=L,this.wrappingIndent=V,this.wordBreak=z,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new CoordinatesConverter(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));const i=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),g=i.length,y=this.createLineBreaksComputer(),k=new ArrayQueue(LineInjectedText.fromDecorations(r));for(let ae=0;aede.lineNumber===ae+1);y.addRequest(i[ae],le,t?t[ae]:null)}const L=y.finalize(),V=[],z=this.hiddenAreasDecorationIds.map(ae=>this.model.getDecorationRange(ae)).sort(Range$2.compareRangesUsingStarts);let j=1,ie=0,oe=-1,re=oe+1=j&&le<=ie,ue=createModelLineProjection(L[ae],!de);V[ae]=ue.getViewLineCount(),this.modelLineProjections[ae]=ue}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new ConstantTimePrefixSumComputer(V)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){const t=e.map(ie=>this.model.validateRange(ie)),i=normalizeLineRanges(t),r=this.hiddenAreasDecorationIds.map(ie=>this.model.getDecorationRange(ie)).sort(Range$2.compareRangesUsingStarts);if(i.length===r.length){let ie=!1;for(let oe=0;oe({range:ie,options:ModelDecorationOptions.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,g);const y=i;let k=1,L=0,V=-1,z=V+1=k&&oe<=L?this.modelLineProjections[ie].isVisible()&&(this.modelLineProjections[ie]=this.modelLineProjections[ie].setVisible(!1),re=!0):(j=!0,this.modelLineProjections[ie].isVisible()||(this.modelLineProjections[ie]=this.modelLineProjections[ie].setVisible(!0),re=!0)),re){const ae=this.modelLineProjections[ie].getViewLineCount();this.projectedModelLineLineCounts.setValue(ie,ae)}}return j||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,i,r,g){const y=this.fontInfo.equals(e),k=this.wrappingStrategy===t,L=this.wrappingColumn===i,V=this.wrappingIndent===r,z=this.wordBreak===g;if(y&&k&&L&&V&&z)return!1;const j=y&&k&&!L&&V&&z;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=i,this.wrappingIndent=r,this.wordBreak=g;let ie=null;if(j){ie=[];for(let oe=0,re=this.modelLineProjections.length;oe2&&!this.modelLineProjections[t-2].isVisible(),y=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1;let k=0;const L=[],V=[];for(let z=0,j=r.length;zL?(z=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,j=z+L-1,re=j+1,ae=re+(g-L)-1,V=!0):gt?t:e|0}getActiveIndentGuide(e,t,i){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),i=this._toValidViewLineNumber(i);const r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),g=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),y=this.convertViewPositionToModelPosition(i,this.getViewLineMinColumn(i)),k=this.model.guides.getActiveIndentGuide(r.lineNumber,g.lineNumber,y.lineNumber),L=this.convertModelPositionToViewPosition(k.startLineNumber,1),V=this.convertModelPositionToViewPosition(k.endLineNumber,this.model.getLineMaxColumn(k.endLineNumber));return{startLineNumber:L.lineNumber,endLineNumber:V.lineNumber,indent:k.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);const t=this.projectedModelLineLineCounts.getIndexOf(e-1),i=t.index,r=t.remainder;return new ViewLineInfo(i+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$1(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){const t=this.modelLineProjections[e.modelLineNumber-1],i=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,i);return new Position$1(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){const i=this.getViewLineInfo(e),r=this.getViewLineInfo(t),g=new Array;let y=this.getModelStartPositionOfViewLine(i),k=new Array;for(let L=i.modelLineNumber;L<=r.modelLineNumber;L++){const V=this.modelLineProjections[L-1];if(V.isVisible()){const z=L===i.modelLineNumber?i.modelLineWrappedLineIdx:0,j=L===r.modelLineNumber?r.modelLineWrappedLineIdx+1:V.getViewLineCount();for(let ie=z;ie{if(oe.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesAfterColumn).lineNumber>=z.modelLineWrappedLineIdx||oe.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.forWrappedLinesBeforeOrAtColumn).lineNumberz.modelLineWrappedLineIdx)return}const ae=this.convertModelPositionToViewPosition(z.modelLineNumber,oe.horizontalLine.endColumn),le=this.modelLineProjections[z.modelLineNumber-1].getViewPositionOfModelPosition(0,oe.horizontalLine.endColumn);return le.lineNumber===z.modelLineWrappedLineIdx?new IndentGuide(oe.visibleColumn,re,oe.className,new IndentGuideHorizontalLine(oe.horizontalLine.top,ae.column),-1,-1):le.lineNumber!!oe))}}return y}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);const i=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t));let g=[];const y=[],k=[],L=i.lineNumber-1,V=r.lineNumber-1;let z=null;for(let re=L;re<=V;re++){const ae=this.modelLineProjections[re];if(ae.isVisible()){const le=ae.getViewLineNumberOfModelPosition(0,re===L?i.column:1),de=ae.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(re+1)),ue=de-le+1;let he=0;ue>1&&ae.getViewLineMinColumn(this.model,re+1,de)===1&&(he=le===0?1:2),y.push(ue),k.push(he),z===null&&(z=new Position$1(re+1,0))}else z!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(z.lineNumber,re)),z=null)}z!==null&&(g=g.concat(this.model.guides.getLinesIndentGuides(z.lineNumber,r.lineNumber)),z=null);const j=t-e+1,ie=new Array(j);let oe=0;for(let re=0,ae=g.length;ret&&(re=!0,oe=t-g+1),j.getViewLinesData(this.model,V+1,ie,oe,g-e,i,L),g+=oe,re)break}return L}validateViewPosition(e,t,i){e=this._toValidViewLineNumber(e);const r=this.projectedModelLineLineCounts.getIndexOf(e-1),g=r.index,y=r.remainder,k=this.modelLineProjections[g],L=k.getViewLineMinColumn(this.model,g+1,y),V=k.getViewLineMaxColumn(this.model,g+1,y);tV&&(t=V);const z=k.getModelColumnOfViewPosition(y,t);return this.model.validatePosition(new Position$1(g+1,z)).equals(i)?new Position$1(e,t):this.convertModelPositionToViewPosition(i.lineNumber,i.column)}validateViewRange(e,t){const i=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new Range$2(i.lineNumber,i.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){const i=this.getViewLineInfo(e),r=this.modelLineProjections[i.modelLineNumber-1].getModelColumnOfViewPosition(i.modelLineWrappedLineIdx,t);return this.model.validatePosition(new Position$1(i.modelLineNumber,r))}convertViewRangeToModelRange(e){const t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),i=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new Range$2(t.lineNumber,t.column,i.lineNumber,i.column)}convertModelPositionToViewPosition(e,t,i=2,r=!1,g=!1){const y=this.model.validatePosition(new Position$1(e,t)),k=y.lineNumber,L=y.column;let V=k-1,z=!1;if(g)for(;V0&&!this.modelLineProjections[V].isVisible();)V--,z=!0;if(V===0&&!this.modelLineProjections[V].isVisible())return new Position$1(r?0:1,1);const j=1+this.projectedModelLineLineCounts.getPrefixSum(V);let ie;return z?g?ie=this.modelLineProjections[V].getViewPositionOfModelPosition(j,1,i):ie=this.modelLineProjections[V].getViewPositionOfModelPosition(j,this.model.getLineMaxColumn(V+1),i):ie=this.modelLineProjections[k-1].getViewPositionOfModelPosition(j,L,i),ie}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return Range$2.fromPositions(i)}else{const i=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),r=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new Range$2(i.lineNumber,i.column,r.lineNumber,r.column)}}getViewLineNumberOfModelPosition(e,t){let i=e-1;if(this.modelLineProjections[i].isVisible()){const g=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(g,t)}for(;i>0&&!this.modelLineProjections[i].isVisible();)i--;if(i===0&&!this.modelLineProjections[i].isVisible())return 1;const r=1+this.projectedModelLineLineCounts.getPrefixSum(i);return this.modelLineProjections[i].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(i+1))}getDecorationsInRange(e,t,i,r,g){const y=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),k=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(k.lineNumber-y.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new Range$2(y.lineNumber,1,k.lineNumber,k.column),t,i,r,g);let L=[];const V=y.lineNumber-1,z=k.lineNumber-1;let j=null;for(let ae=V;ae<=z;ae++)if(this.modelLineProjections[ae].isVisible())j===null&&(j=new Position$1(ae+1,ae===V?y.column:1));else if(j!==null){const de=this.model.getLineMaxColumn(ae);L=L.concat(this.model.getDecorationsInRange(new Range$2(j.lineNumber,j.column,ae,de),t,i,r)),j=null}j!==null&&(L=L.concat(this.model.getDecorationsInRange(new Range$2(j.lineNumber,j.column,k.lineNumber,k.column),t,i,r)),j=null),L.sort((ae,le)=>{const de=Range$2.compareRangesUsingStarts(ae.range,le.range);return de===0?ae.idle.id?1:0:de});const ie=[];let oe=0,re=null;for(const ae of L){const le=ae.id;re!==le&&(re=le,ie[oe++]=ae)}return ie}getInjectedTextAt(e){const t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){const i=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[i.modelLineNumber-1].normalizePosition(i.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){const t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}}function normalizeLineRanges(n){if(n.length===0)return[];const e=n.slice();e.sort(Range$2.compareRangesUsingStarts);const t=[];let i=e[0].startLineNumber,r=e[0].endLineNumber;for(let g=1,y=e.length;gr+1?(t.push(new Range$2(i,1,r,1)),i=k.startLineNumber,r=k.endLineNumber):k.endLineNumber>r&&(r=k.endLineNumber)}return t.push(new Range$2(i,1,r,1)),t}class ViewLineInfo{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}}class ViewLineInfoGroupedByModelRange{constructor(e,t){this.modelRange=e,this.viewLines=t}}class CoordinatesConverter{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t,i,r){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t,i,r)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}}class ViewModelLinesFromModelAsIs{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new IdentityCoordinatesConverter(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,i,r){return!1}createLineBreaksComputer(){const e=[];return{addRequest:(t,i,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,i){return new ViewLinesDeletedEvent(t,i)}onModelLinesInserted(e,t,i,r){return new ViewLinesInsertedEvent(t,i)}onModelLineChanged(e,t,i){return[!1,new ViewLinesChangedEvent(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,i){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,i){return new Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){const i=t-e+1,r=new Array(i);for(let g=0;gt)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}}const MAX_LANE=GlyphMarginLane.Right;class GlyphMarginLanesModel{constructor(e){this.persist=0,this._requiredLanes=1,this.lanes=new Uint8Array(Math.ceil((e+1)*MAX_LANE/8))}reset(e){const t=Math.ceil((e+1)*MAX_LANE/8);this.lanes.length>>3]|=1<>>3]&1<>>3]&1<this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=ViewportStart.create(this.model),this.glyphLanes=new GlyphMarginLanesModel(0),this.model.isTooLargeForTokenization())this._lines=new ViewModelLinesFromModelAsIs(this.model);else{const z=this._configuration.options,j=z.get(50),ie=z.get(139),oe=z.get(146),re=z.get(138),ae=z.get(129);this._lines=new ViewModelLinesFromProjectedModel(this._editorId,this.model,r,g,j,this.model.getOptions().tabSize,ie,oe.wrappingColumn,re,ae)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new CursorsController(i,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new ViewLayout(this._configuration,this.getLineCount(),y)),this._register(this.viewLayout.onDidScroll(z=>{z.scrollTopChanged&&this._handleVisibleLinesChanged(),z.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new ViewScrollChangedEvent(z)),this._eventDispatcher.emitOutgoingEvent(new ScrollChangedEvent(z.oldScrollWidth,z.oldScrollLeft,z.oldScrollHeight,z.oldScrollTop,z.scrollWidth,z.scrollLeft,z.scrollHeight,z.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(z=>{this._eventDispatcher.emitOutgoingEvent(z)})),this._decorations=new ViewModelDecorations(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(z=>{try{const j=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(j,z)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(MinimapTokensColorTracker.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new ViewTokensColorsChangedEvent)})),this._register(this._themeService.onDidColorThemeChange(z=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new ViewThemeChangedEvent(z))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}getModelVisibleRanges(){const e=this.viewLayout.getLinesViewportData(),t=new Range$2(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber));return this._toModelVisibleRanges(t)}visibleLinesStabilized(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!0)}_handleVisibleLinesChanged(){const e=this.getModelVisibleRanges();this._attachedView.setVisibleLines(e,!1)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new ViewFocusChangedEvent(e)),this._eventDispatcher.emitOutgoingEvent(new FocusChangedEvent(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionStartEvent)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new ViewCompositionEndEvent)}_captureStableViewport(){if(this._viewportStart.isValid&&this.viewLayout.getCurrentScrollTop()>0){const e=new Position$1(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber)),t=this.coordinatesConverter.convertViewPositionToModelPosition(e);return new StableViewport(t,this._viewportStart.startLineDelta)}return new StableViewport(null,0)}_onConfigurationChanged(e,t){const i=this._captureStableViewport(),r=this._configuration.options,g=r.get(50),y=r.get(139),k=r.get(146),L=r.get(138),V=r.get(129);this._lines.setWrappingSettings(g,y,k.wrappingColumn,L,V)&&(e.emitViewEvent(new ViewFlushedEvent),e.emitViewEvent(new ViewLineMappingChangedEvent),e.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(91)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent(null))),t.hasChanged(98)&&(this._decorations.reset(),e.emitViewEvent(new ViewDecorationsChangedEvent(null))),e.emitViewEvent(new ViewConfigurationChangedEvent(t)),this.viewLayout.onConfigurationChanged(t),i.recoverViewportStart(this.coordinatesConverter,this.viewLayout),CursorConfiguration.shouldRecreate(t)&&(this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{const i=this._eventDispatcher.beginEmitViewEvents();let r=!1,g=!1;const y=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.changes:e.changes,k=e instanceof InternalModelContentChangeEvent?e.rawContentChangedEvent.versionId:null,L=this._lines.createLineBreaksComputer();for(const j of y)switch(j.changeType){case 4:{for(let ie=0;ie!ae.ownerId||ae.ownerId===this._editorId)),L.addRequest(oe,re,null)}break}case 2:{let ie=null;j.injectedText&&(ie=j.injectedText.filter(oe=>!oe.ownerId||oe.ownerId===this._editorId)),L.addRequest(j.detail,ie,null);break}}const V=L.finalize(),z=new ArrayQueue(V);for(const j of y)switch(j.changeType){case 1:{this._lines.onModelFlushed(),i.emitViewEvent(new ViewFlushedEvent),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),r=!0;break}case 3:{const ie=this._lines.onModelLinesDeleted(k,j.fromLineNumber,j.toLineNumber);ie!==null&&(i.emitViewEvent(ie),this.viewLayout.onLinesDeleted(ie.fromLineNumber,ie.toLineNumber)),r=!0;break}case 4:{const ie=z.takeCount(j.detail.length),oe=this._lines.onModelLinesInserted(k,j.fromLineNumber,j.toLineNumber,ie);oe!==null&&(i.emitViewEvent(oe),this.viewLayout.onLinesInserted(oe.fromLineNumber,oe.toLineNumber)),r=!0;break}case 2:{const ie=z.dequeue(),[oe,re,ae,le]=this._lines.onModelLineChanged(k,j.lineNumber,ie);g=oe,re&&i.emitViewEvent(re),ae&&(i.emitViewEvent(ae),this.viewLayout.onLinesInserted(ae.fromLineNumber,ae.toLineNumber)),le&&(i.emitViewEvent(le),this.viewLayout.onLinesDeleted(le.fromLineNumber,le.toLineNumber));break}case 5:break}k!==null&&this._lines.acceptVersionId(k),this.viewLayout.onHeightMaybeChanged(),!r&&g&&(i.emitViewEvent(new ViewLineMappingChangedEvent),i.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(i),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}const t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){const i=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(i){const r=this.coordinatesConverter.convertModelPositionToViewPosition(i.getStartPosition()),g=this.viewLayout.getVerticalOffsetForLineNumber(r.lineNumber);this.viewLayout.setScrollPosition({scrollTop:g+this._viewportStart.startLineDelta},1)}}try{const i=this._eventDispatcher.beginEmitViewEvents();e instanceof InternalModelContentChangeEvent&&i.emitOutgoingEvent(new ModelContentChangedEvent(e.contentChangedEvent)),this._cursor.onModelContentChanged(i,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._handleVisibleLinesChanged()})),this._register(this.model.onDidChangeTokens(e=>{const t=[];for(let i=0,r=e.ranges.length;i{this._eventDispatcher.emitSingleViewEvent(new ViewLanguageConfigurationEvent),this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageConfigurationChangedEvent(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelLanguageChangedEvent(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{const t=this._eventDispatcher.beginEmitViewEvents();t.emitViewEvent(new ViewFlushedEvent),t.emitViewEvent(new ViewLineMappingChangedEvent),t.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new CursorConfiguration(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new ModelOptionsChangedEvent(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new ViewDecorationsChangedEvent(e)),this._eventDispatcher.emitOutgoingEvent(new ModelDecorationsChangedEvent(e))}))}setHiddenAreas(e,t){var i;this.hiddenAreasModel.setHiddenAreas(t,e);const r=this.hiddenAreasModel.getMergedRanges();if(r===this.previousHiddenAreas)return;this.previousHiddenAreas=r;const g=this._captureStableViewport();let y=!1;try{const k=this._eventDispatcher.beginEmitViewEvents();y=this._lines.setHiddenAreas(r),y&&(k.emitViewEvent(new ViewFlushedEvent),k.emitViewEvent(new ViewLineMappingChangedEvent),k.emitViewEvent(new ViewDecorationsChangedEvent(null)),this._cursor.onLineMappingChanged(k),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged());const L=(i=g.viewportStartModelPosition)===null||i===void 0?void 0:i.lineNumber;L&&r.some(z=>z.startLineNumber<=L&&L<=z.endLineNumber)||g.recoverViewportStart(this.coordinatesConverter,this.viewLayout)}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),y&&this._eventDispatcher.emitOutgoingEvent(new HiddenAreasChangedEvent)}getVisibleRangesPlusViewportAboveBelow(){const e=this._configuration.options.get(145),t=this._configuration.options.get(67),i=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),g=Math.max(1,r.completelyVisibleStartLineNumber-i),y=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+i);return this._toModelVisibleRanges(new Range$2(g,this.getLineMinColumn(g),y,this.getLineMaxColumn(y)))}getVisibleRanges(){const e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}getHiddenAreas(){return this._lines.getHiddenAreas()}_toModelVisibleRanges(e){const t=this.coordinatesConverter.convertViewRangeToModelRange(e),i=this._lines.getHiddenAreas();if(i.length===0)return[t];const r=[];let g=0,y=t.startLineNumber,k=t.startColumn;const L=t.endLineNumber,V=t.endColumn;for(let z=0,j=i.length;zL||(y"u")return this._reduceRestoreStateCompatibility(e);const t=this.model.validatePosition(e.firstPosition),i=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(i.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,i){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,i){return this._lines.getActiveIndentGuide(e,t,i)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,i,r){return this._lines.getViewLinesBracketGuides(e,t,i,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){const t=firstNonWhitespaceIndex(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){const t=lastNonWhitespaceIndex(this.getLineContent(e));return t===-1?0:t+2}getMinimapDecorationsInRange(e){return this._decorations.getMinimapDecorationsInRange(e)}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewportViewLineRenderingData(e,t){const r=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return this._getViewLineRenderingData(t,r)}getViewLineRenderingData(e){const t=this._decorations.getInlineDecorationsOnLine(e);return this._getViewLineRenderingData(e,t)}_getViewLineRenderingData(e,t){const i=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),g=this.getTabSize(),y=this._lines.getViewLineData(e);return y.inlineDecorations&&(t=[...t,...y.inlineDecorations.map(k=>k.toInlineDecoration(e))]),new ViewLineRenderingData(y.minColumn,y.maxColumn,y.content,y.continuesWithWrappedLine,i,r,y.tokens,t,g,y.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,i){const r=this._lines.getViewLinesData(e,t,i);return new MinimapLinesRenderingData(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){const t=this.model.getOverviewRulerDecorations(this._editorId,filterValidationDecorations(this._configuration.options)),i=new OverviewRulerDecorations;for(const r of t){const g=r.options,y=g.overviewRuler;if(!y)continue;const k=y.position;if(k===0)continue;const L=y.getColor(e.value),V=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),z=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);i.accept(L,g.zIndex,V,z,k)}return i.asArray}_invalidateDecorationsColorCache(){const e=this.model.getOverviewRulerDecorations();for(const t of e){const i=t.options.overviewRuler;i==null||i.invalidateCachedColor();const r=t.options.minimap;r==null||r.invalidateCachedColor()}}getValueInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(i,t)}getValueLengthInRange(e,t){const i=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueLengthInRange(i,t)}modifyPosition(e,t){const i=this.coordinatesConverter.convertViewPositionToModelPosition(e),r=this.model.modifyPosition(i,t);return this.coordinatesConverter.convertModelPositionToViewPosition(r)}deduceModelPositionRelativeToViewPosition(e,t,i){const r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=i:t+=i);const y=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(y)}getPlainTextToCopy(e,t,i){const r=i?"\r\n":this.model.getEOL();e=e.slice(0),e.sort(Range$2.compareRangesUsingStarts);let g=!1,y=!1;for(const L of e)L.isEmpty()?g=!0:y=!0;if(!y){if(!t)return"";const L=e.map(z=>z.startLineNumber);let V="";for(let z=0;z0&&L[z-1]===L[z]||(V+=this.model.getLineContent(L[z])+r);return V}if(g&&t){const L=[];let V=0;for(const z of e){const j=z.startLineNumber;z.isEmpty()?j!==V&&L.push(this.model.getLineContent(j)):L.push(this.model.getValueInRange(z,i?2:0)),V=j}return L.length===1?L[0]:L}const k=[];for(const L of e)L.isEmpty()||k.push(this.model.getValueInRange(L,i?2:0));return k.length===1?k[0]:k}getRichTextToCopy(e,t){const i=this.model.getLanguageId();if(i===PLAINTEXT_LANGUAGE_ID||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;const z=r.startLineNumber;r=new Range$2(z,this.model.getLineMinColumn(z),z,this.model.getLineMaxColumn(z))}const g=this._configuration.options.get(50),y=this._getColorMap(),L=/[:;\\\/<>]/.test(g.fontFamily)||g.fontFamily===EDITOR_FONT_DEFAULTS.fontFamily;let V;return L?V=EDITOR_FONT_DEFAULTS.fontFamily:(V=g.fontFamily,V=V.replace(/"/g,"'"),/[,']/.test(V)||/[+ ]/.test(V)&&(V="'".concat(V,"'")),V="".concat(V,", ").concat(EDITOR_FONT_DEFAULTS.fontFamily)),{mode:i,html:'
    '+this._getHTMLToCopy(r,y)+"
    "}}_getHTMLToCopy(e,t){const i=e.startLineNumber,r=e.startColumn,g=e.endLineNumber,y=e.endColumn,k=this.getTabSize();let L="";for(let V=i;V<=g;V++){const z=this.model.tokenization.getLineTokens(V),j=z.getLineContent(),ie=V===i?r-1:0,oe=V===g?y-1:j.length;j===""?L+="
    ":L+=tokenizeLineToHTML(j,z.inflate(),t,ie,oe,k,isWindows)}return L}_getColorMap(){const e=TokenizationRegistry.getColorMap(),t=["#000000"];if(e)for(let i=1,r=e.length;ithis._cursor.setStates(r,e,t,i))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,i=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,i))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new ReadOnlyEditAttemptEvent);return}this._withViewEventsCollector(e)}executeEdits(e,t,i){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,i))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(i=>this._cursor.type(i,e,t))}compositionType(e,t,i,r,g){this._executeCursorEdit(y=>this._cursor.compositionType(y,e,t,i,r,g))}paste(e,t,i,r){this._executeCursorEdit(g=>this._cursor.paste(g,e,t,i,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(i=>this._cursor.executeCommand(i,e,t))}executeCommands(e,t){this._executeCursorEdit(i=>this._cursor.executeCommands(i,e,t))}revealAllCursors(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealAll(r,e,i,0,t,0))}revealPrimaryCursor(e,t,i=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,i,0,t,0))}revealTopMostCursor(e){const t=this._cursor.getTopMostViewPosition(),i=new Range$2(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,0,!0,0)))}revealBottomMostCursor(e){const t=this._cursor.getBottomMostViewPosition(),i=new Range$2(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(r=>r.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,0,!0,0)))}revealRange(e,t,i,r,g){this._withViewEventsCollector(y=>y.emitViewEvent(new ViewRevealRangeRequestEvent(e,!1,i,null,r,t,g)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new ViewZonesChangedEvent$1),this._eventDispatcher.emitOutgoingEvent(new ViewZonesChangedEvent))}_withViewEventsCollector(e){try{const t=this._eventDispatcher.beginEmitViewEvents();return e(t)}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}};class ViewportStart{static create(e){const t=e._setTrackedRange(null,new Range$2(1,1,1,1),1);return new ViewportStart(e,1,!1,t,0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}constructor(e,t,i,r,g){this._model=e,this._viewLineNumber=t,this._isValid=i,this._modelTrackedRange=r,this._startLineDelta=g}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){const i=e.coordinatesConverter.convertViewPositionToModelPosition(new Position$1(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new Range$2(i.lineNumber,i.column,i.lineNumber,i.column),1),g=e.viewLayout.getVerticalOffsetForLineNumber(t),y=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=y-g}invalidate(){this._isValid=!1}}class OverviewRulerDecorations{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,i,r,g){const y=this._asMap[e];if(y){const k=y.data,L=k[k.length-3],V=k[k.length-1];if(L===g&&V+1>=i){r>V&&(k[k.length-1]=r);return}k.push(g,i,r)}else{const k=new OverviewRulerDecorationsGroup(e,t,[g,i,r]);this._asMap[e]=k,this.asArray.push(k)}}}class HiddenAreasModel{constructor(){this.hiddenAreas=new Map,this.shouldRecompute=!1,this.ranges=[]}setHiddenAreas(e,t){const i=this.hiddenAreas.get(e);i&&rangeArraysEqual(i,t)||(this.hiddenAreas.set(e,t),this.shouldRecompute=!0)}getMergedRanges(){if(!this.shouldRecompute)return this.ranges;this.shouldRecompute=!1;const e=Array.from(this.hiddenAreas.values()).reduce((t,i)=>mergeLineRangeArray(t,i),[]);return rangeArraysEqual(this.ranges,e)?this.ranges:(this.ranges=e,this.ranges)}}function mergeLineRangeArray(n,e){const t=[];let i=0,r=0;for(;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2a=function(n,e){return function(t,i){e(t,i,n)}},CodeEditorWidget_1;let CodeEditorWidget=CodeEditorWidget_1=class extends Disposable{get isSimpleWidget(){return this._configuration.isSimpleWidget}constructor(e,t,i,r,g,y,k,L,V,z,j,ie){var oe;super(),this.languageConfigurationService=j,this._deliveryQueue=createEventDeliveryQueue(),this._contributions=this._register(new CodeEditorContributions),this._onDidDispose=this._register(new Emitter$1),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelTokens=this._onDidChangeModelTokens.event,this._onDidChangeConfiguration=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onWillChangeModel=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onWillChangeModel=this._onWillChangeModel.event,this._onDidChangeModel=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new BooleanEventEmitter({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onWillType=this._onWillType.event,this._onDidType=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new InteractionEmitter(this._contributions,this._deliveryQueue)),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new Emitter$1({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._actions=new Map,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection(),g.willCreateCodeEditor();const re={...t};this._domElement=e,this._overflowWidgetsDomNode=re.overflowWidgetsDomNode,delete re.overflowWidgetsDomNode,this._id=++EDITOR_ID,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=i.telemetryData,this._configuration=this._register(this._createConfiguration(i.isSimpleWidget||!1,re,z)),this._register(this._configuration.onDidChange(de=>{this._onDidChangeConfiguration.fire(de);const ue=this._configuration.options;if(de.hasChanged(145)){const he=ue.get(145);this._onDidLayoutChange.fire(he)}})),this._contextKeyService=this._register(k.createScoped(this._domElement)),this._notificationService=V,this._codeEditorService=g,this._commandService=y,this._themeService=L,this._register(new EditorContextKeysManager(this,this._contextKeyService)),this._register(new EditorModeContext(this,this._contextKeyService,ie)),this._instantiationService=r.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService])),this._modelData=null,this._focusTracker=new CodeEditorWidgetFocusTracker(e,this._overflowWidgetsDomNode),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={},this._glyphMarginWidgets={};let ae;Array.isArray(i.contributions)?ae=i.contributions:ae=EditorExtensionsRegistry.getEditorContributions(),this._contributions.initialize(this,ae,this._instantiationService);for(const de of EditorExtensionsRegistry.getEditorActions()){if(this._actions.has(de.id)){onUnexpectedError(new Error("Cannot have two actions with the same id ".concat(de.id)));continue}const ue=new InternalEditorAction(de.id,de.label,de.alias,de.metadata,(oe=de.precondition)!==null&&oe!==void 0?oe:void 0,he=>this._instantiationService.invokeFunction(pe=>Promise.resolve(de.runEditorCommand(pe,this,he))),this._contextKeyService);this._actions.set(ue.id,ue)}const le=()=>!this._configuration.options.get(91)&&this._configuration.options.get(36).enabled;this._register(new DragAndDropObserver(this._domElement,{onDragOver:de=>{if(!le())return;const ue=this.getTargetAtClientPoint(de.clientX,de.clientY);ue!=null&&ue.position&&this.showDropIndicatorAt(ue.position)},onDrop:async de=>{if(!le()||(this.removeDropIndicator(),!de.dataTransfer))return;const ue=this.getTargetAtClientPoint(de.clientX,de.clientY);ue!=null&&ue.position&&this._onDropIntoEditor.fire({position:ue.position,event:de})},onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}writeScreenReaderContent(e){var t;(t=this._modelData)===null||t===void 0||t.view.writeScreenReaderContent(e)}_createConfiguration(e,t,i){return new EditorConfiguration(e,t,this._domElement,i)}getId(){return this.getEditorType()+":"+this._id}getEditorType(){return EditorType.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose(),this._actions.clear(),this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?WordOperations.getWordAtPosition(this._modelData.model,this._configuration.options.get(131),this._configuration.options.get(130),e):null}getValue(e=null){if(!this._modelData)return"";const t=!!(e&&e.preserveBOM);let i=0;return e&&e.lineEnding&&e.lineEnding==="\n"?i=1:e&&e.lineEnding&&e.lineEnding==="\r\n"&&(i=2),this._modelData.model.getValue(i,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){var t;const i=e;if(this._modelData===null&&i===null||this._modelData&&this._modelData.model===i)return;const r={oldModelUrl:((t=this._modelData)===null||t===void 0?void 0:t.model.uri)||null,newModelUrl:(i==null?void 0:i.uri)||null};this._onWillChangeModel.fire(r);const g=this.hasTextFocus(),y=this._detachModel();this._attachModel(i),g&&this.hasModel()&&this.focus(),this._removeDecorationTypes(),this._onDidChangeModel.fire(r),this._postDetachModelCleanup(y),this._contributionsDisposable=this._contributions.onAfterModelAttached()}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(const e in this._decorationTypeSubtypes){const t=this._decorationTypeSubtypes[e];for(const i in t)this._removeDecorationType(e+"-"+i)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}static _getVerticalOffsetAfterPosition(e,t,i,r){const g=e.model.validatePosition({lineNumber:t,column:i}),y=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g);return e.viewModel.viewLayout.getVerticalOffsetAfterLineNumber(y.lineNumber,r)}getTopForLineNumber(e,t=!1){return this._modelData?CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,e,1,t):-1}getTopForPosition(e,t){return this._modelData?CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,e,t,!1):-1}static _getVerticalOffsetForPosition(e,t,i,r=!1){const g=e.model.validatePosition({lineNumber:t,column:i}),y=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(g);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(y.lineNumber,r)}getBottomForLineNumber(e,t=!1){return this._modelData?CodeEditorWidget_1._getVerticalOffsetAfterPosition(this._modelData,e,1,t):-1}setHiddenAreas(e,t){var i;(i=this._modelData)===null||i===void 0||i.viewModel.setHiddenAreas(e.map(r=>Range$2.lift(r)),t)}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;const t=this._modelData.model.validatePosition(e),i=this._modelData.model.getOptions().tabSize;return CursorColumns.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,i)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t="api"){if(this._modelData){if(!Position$1.isIPosition(e))throw new Error("Invalid arguments");this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,i,r){if(!this._modelData)return;if(!Range$2.isIRange(e))throw new Error("Invalid arguments");const g=this._modelData.model.validateRange(e),y=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(g);this._modelData.viewModel.revealRange("api",i,y,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,i){if(typeof e!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e,1,e,1),t,!1,i)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,i,r){if(!Position$1.isIPosition(e))throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),t,i,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t="api"){const i=Selection$1.isISelection(e),r=Range$2.isIRange(e);if(!i&&!r)throw new Error("Invalid arguments");if(i)this._setSelectionImpl(e,t);else if(r){const g={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(g,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;const i=new Selection$1(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[i])}revealLines(e,t,i=0){this._revealLines(e,t,0,i)}revealLinesInCenter(e,t,i=0){this._revealLines(e,t,1,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._revealLines(e,t,2,i)}revealLinesNearTop(e,t,i=0){this._revealLines(e,t,5,i)}_revealLines(e,t,i,r){if(typeof e!="number"||typeof t!="number")throw new Error("Invalid arguments");this._sendRevealRange(new Range$2(e,1,t,1),i,!1,r)}revealRange(e,t=0,i=!1,r=!0){this._revealRange(e,i?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,i,r){if(!Range$2.isIRange(e))throw new Error("Invalid arguments");this._sendRevealRange(Range$2.lift(e),t,i,r)}setSelections(e,t="api",i=0){if(this._modelData){if(!e||e.length===0)throw new Error("Invalid arguments");for(let r=0,g=e.length;r0&&this._modelData.viewModel.restoreCursorState(i):this._modelData.viewModel.restoreCursorState([i]),this._contributions.restoreViewState(t.contributionsState||{});const r=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(r)}}handleInitialized(){var e;(e=this._getViewModel())===null||e===void 0||e.visibleLinesStabilized()}getContribution(e){return this._contributions.get(e)}getActions(){return Array.from(this._actions.values())}getSupportedActions(){let e=this.getActions();return e=e.filter(t=>t.isSupported()),e}getAction(e){return this._actions.get(e)||null}trigger(e,t,i){switch(i=i||{},t){case"compositionStart":this._startComposition();return;case"compositionEnd":this._endComposition(e);return;case"type":{const g=i;this._type(e,g.text||"");return}case"replacePreviousChar":{const g=i;this._compositionType(e,g.text||"",g.replaceCharCnt||0,0,0);return}case"compositionType":{const g=i;this._compositionType(e,g.text||"",g.replacePrevCharCnt||0,g.replaceNextCharCnt||0,g.positionDelta||0);return}case"paste":{const g=i;this._paste(e,g.text||"",g.pasteOnNewLine||!1,g.multicursorText||null,g.mode||null,g.clipboardEvent);return}case"cut":this._cut(e);return}const r=this.getAction(t);if(r){Promise.resolve(r.run(i)).then(void 0,onUnexpectedError);return}this._modelData&&(this._triggerEditorCommand(e,t,i)||this._triggerCommand(t,i))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e==="keyboard"&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e==="keyboard"&&this._onDidType.fire(t))}_compositionType(e,t,i,r,g){this._modelData&&this._modelData.viewModel.compositionType(t,i,r,g,e)}_paste(e,t,i,r,g,y){if(!this._modelData)return;const k=this._modelData.viewModel,L=k.getSelection().getStartPosition();k.paste(t,i,r,e);const V=k.getSelection().getStartPosition();e==="keyboard"&&this._onDidPaste.fire({clipboardEvent:y,range:new Range$2(L.lineNumber,L.column,V.lineNumber,V.column),languageId:g})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,i){const r=EditorExtensionsRegistry.getEditorCommand(t);return r?(i=i||{},i.source=e,this._instantiationService.invokeFunction(g=>{Promise.resolve(r.runEditorCommand(g,this,i)).then(void 0,onUnexpectedError)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(91)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,i){if(!this._modelData||this._configuration.options.get(91))return!1;let r;return i?Array.isArray(i)?r=()=>i:r=i:r=()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new EditorDecorationsCollection(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,filterValidationDecorations(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,filterValidationDecorations(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){const t=this._decorationTypeKeysToIds[e];t&&this.changeDecorations(i=>i.deltaDecorations(t,[])),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(145)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}delegateScrollFromMouseWheelEvent(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateScrollFromMouseWheelEvent(e)}layout(e,t=!1){this._configuration.observeContainer(e),t||this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){const t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a content widget with the same id:"+e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(i)}}removeContentWidget(e){const t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){const i=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(i)}}addOverlayWidget(e){const t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting an overlay widget with the same id."),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(i)}}removeOverlayWidget(e){const t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){const i=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(i)}}addGlyphMarginWidget(e){const t={widget:e,position:e.getPosition()};this._glyphMarginWidgets.hasOwnProperty(e.getId())&&console.warn("Overwriting a glyph margin widget with the same id."),this._glyphMarginWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addGlyphMarginWidget(t)}layoutGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];i.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutGlyphMarginWidget(i)}}removeGlyphMarginWidget(e){const t=e.getId();if(this._glyphMarginWidgets.hasOwnProperty(t)){const i=this._glyphMarginWidgets[t];delete this._glyphMarginWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeGlyphMarginWidget(i)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(e){if(!this._modelData||!this._modelData.hasRealView)return null;const t=this._modelData.model.validatePosition(e),i=this._configuration.options,r=i.get(145),g=CodeEditorWidget_1._getVerticalOffsetForPosition(this._modelData,t.lineNumber,t.column)-this.getScrollTop(),y=this._modelData.view.getOffsetForColumn(t.lineNumber,t.column)+r.glyphMarginWidth+r.lineNumbersWidth+r.decorationsWidth-this.getScrollLeft();return{top:g,left:y,height:i.get(67)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){applyFontInfo(e,this._configuration.options.get(50))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}const t=[];this._domElement.setAttribute("data-mode-id",e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount());const i=e.onBeforeAttached(),r=new ViewModel$1(this._id,this._configuration,e,DOMLineBreaksComputerFactory.create(getWindow$1(this._domElement)),MonospaceLineBreaksComputerFactory.create(this._configuration.options),k=>scheduleAtNextAnimationFrame(getWindow$1(this._domElement),k),this.languageConfigurationService,this._themeService,i);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(r.onEvent(k=>{switch(k.kind){case 0:this._onDidContentSizeChange.fire(k);break;case 1:this._editorTextFocus.setValue(k.hasFocus);break;case 2:this._onDidScrollChange.fire(k);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{if(k.reachedMaxCursorCount){const j=this.getOption(80),ie=localize("cursors.maximum","The number of cursors has been limited to {0}. Consider using [find and replace](https://code.visualstudio.com/docs/editor/codebasics#_find-and-replace) for larger changes or increase the editor multi cursor limit setting.",j);this._notificationService.prompt(Severity.Warning,ie,[{label:"Find and Replace",run:()=>{this._commandService.executeCommand("editor.action.startFindReplaceAction")}},{label:localize("goToSetting","Increase Multi Cursor Limit"),run:()=>{this._commandService.executeCommand("workbench.action.openSettings2",{query:"editor.multiCursorLimit"})}}])}const L=[];for(let j=0,ie=k.selections.length;j{this._paste("keyboard",g,y,k,L)},type:g=>{this._type("keyboard",g)},compositionType:(g,y,k,L)=>{this._compositionType("keyboard",g,y,k,L)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition("keyboard")},cut:()=>{this._cut("keyboard")}}:t={paste:(g,y,k,L)=>{const V={text:g,pasteOnNewLine:y,multicursorText:k,mode:L};this._commandService.executeCommand("paste",V)},type:g=>{const y={text:g};this._commandService.executeCommand("type",y)},compositionType:(g,y,k,L)=>{if(k||L){const V={text:g,replacePrevCharCnt:y,replaceNextCharCnt:k,positionDelta:L};this._commandService.executeCommand("compositionType",V)}else{const V={text:g,replaceCharCnt:y};this._commandService.executeCommand("replacePreviousChar",V)}},startComposition:()=>{this._commandService.executeCommand("compositionStart",{})},endComposition:()=>{this._commandService.executeCommand("compositionEnd",{})},cut:()=>{this._commandService.executeCommand("cut",{})}};const i=new ViewUserInputEvents(e.coordinatesConverter);return i.onKeyDown=g=>this._onKeyDown.fire(g),i.onKeyUp=g=>this._onKeyUp.fire(g),i.onContextMenu=g=>this._onContextMenu.fire(g),i.onMouseMove=g=>this._onMouseMove.fire(g),i.onMouseLeave=g=>this._onMouseLeave.fire(g),i.onMouseDown=g=>this._onMouseDown.fire(g),i.onMouseUp=g=>this._onMouseUp.fire(g),i.onMouseDrag=g=>this._onMouseDrag.fire(g),i.onMouseDrop=g=>this._onMouseDrop.fire(g),i.onMouseDropCanceled=g=>this._onMouseDropCanceled.fire(g),i.onMouseWheel=g=>this._onMouseWheel.fire(g),[new View$1(t,this._configuration,this._themeService.getColorTheme(),e,i,this._overflowWidgetsDomNode,this._instantiationService),!0]}_postDetachModelCleanup(e){e==null||e.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){var e;if((e=this._contributionsDisposable)===null||e===void 0||e.dispose(),this._contributionsDisposable=void 0,!this._modelData)return null;const t=this._modelData.model,i=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute("data-mode-id"),i&&this._domElement.contains(i)&&this._domElement.removeChild(i),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),t}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(e){const t=[{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),options:CodeEditorWidget_1.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(t),this.revealPosition(e,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}setContextValue(e,t){this._contextKeyService.createKey(e,t)}};CodeEditorWidget.dropIntoEditorDecorationOptions=ModelDecorationOptions.register({description:"workbench-dnd-target",className:"dnd-target"});CodeEditorWidget=CodeEditorWidget_1=__decorate$2j([__param$2a(3,IInstantiationService),__param$2a(4,ICodeEditorService),__param$2a(5,ICommandService),__param$2a(6,IContextKeyService),__param$2a(7,IThemeService),__param$2a(8,INotificationService),__param$2a(9,IAccessibilityService),__param$2a(10,ILanguageConfigurationService),__param$2a(11,ILanguageFeaturesService)],CodeEditorWidget);let EDITOR_ID=0,ModelData$1=class{constructor(e,t,i,r,g,y){this.model=e,this.viewModel=t,this.view=i,this.hasRealView=r,this.listenersToRemove=g,this.attachedView=y}dispose(){dispose(this.listenersToRemove),this.model.onBeforeDetached(this.attachedView),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}};class BooleanEventEmitter extends Disposable{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new Emitter$1(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new Emitter$1(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){const t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}}class InteractionEmitter extends Emitter$1{constructor(e,t){super({deliveryQueue:t}),this._contributions=e}fire(e){this._contributions.onBeforeInteractionEvent(),super.fire(e)}}class EditorContextKeysManager extends Disposable{constructor(e,t){super(),this._editor=e,t.createKey("editorId",e.getId()),this._editorSimpleInput=EditorContextKeys.editorSimpleInput.bindTo(t),this._editorFocus=EditorContextKeys.focus.bindTo(t),this._textInputFocus=EditorContextKeys.textInputFocus.bindTo(t),this._editorTextFocus=EditorContextKeys.editorTextFocus.bindTo(t),this._tabMovesFocus=EditorContextKeys.tabMovesFocus.bindTo(t),this._editorReadonly=EditorContextKeys.readOnly.bindTo(t),this._inDiffEditor=EditorContextKeys.inDiffEditor.bindTo(t),this._editorColumnSelection=EditorContextKeys.columnSelection.bindTo(t),this._hasMultipleSelections=EditorContextKeys.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=EditorContextKeys.hasNonEmptySelection.bindTo(t),this._canUndo=EditorContextKeys.canUndo.bindTo(t),this._canRedo=EditorContextKeys.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._register(TabFocus.onDidChangeTabFocus(i=>this._tabMovesFocus.set(i))),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){const e=this._editor.getOptions();this._tabMovesFocus.set(TabFocus.getTabFocusMode()),this._editorReadonly.set(e.get(91)),this._inDiffEditor.set(e.get(61)),this._editorColumnSelection.set(e.get(22))}_updateFromSelection(){const e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(t=>!t.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){const e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}}class EditorModeContext extends Disposable{constructor(e,t,i){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=i,this._langId=EditorContextKeys.languageId.bindTo(t),this._hasCompletionItemProvider=EditorContextKeys.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=EditorContextKeys.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=EditorContextKeys.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=EditorContextKeys.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=EditorContextKeys.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=EditorContextKeys.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=EditorContextKeys.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=EditorContextKeys.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=EditorContextKeys.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=EditorContextKeys.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=EditorContextKeys.hasReferenceProvider.bindTo(t),this._hasRenameProvider=EditorContextKeys.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=EditorContextKeys.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=EditorContextKeys.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=EditorContextKeys.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=EditorContextKeys.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=EditorContextKeys.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInEmbeddedEditor=EditorContextKeys.isInEmbeddedEditor.bindTo(t);const r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(i.completionProvider.onDidChange(r)),this._register(i.codeActionProvider.onDidChange(r)),this._register(i.codeLensProvider.onDidChange(r)),this._register(i.definitionProvider.onDidChange(r)),this._register(i.declarationProvider.onDidChange(r)),this._register(i.implementationProvider.onDidChange(r)),this._register(i.typeDefinitionProvider.onDidChange(r)),this._register(i.hoverProvider.onDidChange(r)),this._register(i.documentHighlightProvider.onDidChange(r)),this._register(i.documentSymbolProvider.onDidChange(r)),this._register(i.referenceProvider.onDidChange(r)),this._register(i.renameProvider.onDidChange(r)),this._register(i.documentFormattingEditProvider.onDidChange(r)),this._register(i.documentRangeFormattingEditProvider.onDidChange(r)),this._register(i.signatureHelpProvider.onDidChange(r)),this._register(i.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInEmbeddedEditor.reset()})}_update(){const e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInEmbeddedEditor.set(e.uri.scheme===Schemas.walkThroughSnippet||e.uri.scheme===Schemas.vscodeChatCodeBlock)})}}class CodeEditorWidgetFocusTracker extends Disposable{constructor(e,t){super(),this._onChange=this._register(new Emitter$1),this.onChange=this._onChange.event,this._hadFocus=void 0,this._hasDomElementFocus=!1,this._domFocusTracker=this._register(trackFocus(e)),this._overflowWidgetsDomNodeHasFocus=!1,this._register(this._domFocusTracker.onDidFocus(()=>{this._hasDomElementFocus=!0,this._update()})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasDomElementFocus=!1,this._update()})),t&&(this._overflowWidgetsDomNode=this._register(trackFocus(t)),this._register(this._overflowWidgetsDomNode.onDidFocus(()=>{this._overflowWidgetsDomNodeHasFocus=!0,this._update()})),this._register(this._overflowWidgetsDomNode.onDidBlur(()=>{this._overflowWidgetsDomNodeHasFocus=!1,this._update()})))}_update(){const e=this._hasDomElementFocus||this._overflowWidgetsDomNodeHasFocus;this._hadFocus!==e&&(this._hadFocus=e,this._onChange.fire(void 0))}hasFocus(){var e;return(e=this._hadFocus)!==null&&e!==void 0?e:!1}}class EditorDecorationsCollection{get length(){return this._decorationIds.length}constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}onDidChange(e,t,i){return this._editor.onDidChangeModelDecorations(r=>{this._isChangingDecorations||e.call(t,r)},i)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];const e=this._editor.getModel(),t=[];for(const i of this._decorationIds){const r=e.getDecorationRange(i);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}return this._decorationIds}append(e){let t=[];try{this._isChangingDecorations=!0,this._editor.changeDecorations(i=>{t=i.deltaDecorations([],e),this._decorationIds=this._decorationIds.concat(t)})}finally{this._isChangingDecorations=!1}return t}}const squigglyStart=encodeURIComponent("");function getSquigglySVGData(n){return squigglyStart+encodeURIComponent(n.toString())+squigglyEnd}const dotdotdotStart=encodeURIComponent('');function getDotDotDotSVGData(n){return dotdotdotStart+encodeURIComponent(n.toString())+dotdotdotEnd}registerThemingParticipant((n,e)=>{const t=n.getColor(editorErrorForeground);t&&e.addRule('.monaco-editor .squiggly-error { background: url("data:image/svg+xml,'.concat(getSquigglySVGData(t),'") repeat-x bottom left; }'));const i=n.getColor(editorWarningForeground);i&&e.addRule('.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,'.concat(getSquigglySVGData(i),'") repeat-x bottom left; }'));const r=n.getColor(editorInfoForeground);r&&e.addRule('.monaco-editor .squiggly-info { background: url("data:image/svg+xml,'.concat(getSquigglySVGData(r),'") repeat-x bottom left; }'));const g=n.getColor(editorHintForeground);g&&e.addRule('.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,'.concat(getDotDotDotSVGData(g),'") no-repeat bottom left; }'));const y=n.getColor(editorUnnecessaryCodeOpacity);y&&e.addRule(".monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ".concat(y.rgba.a,"; }"))});var __decorate$2i=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$29=function(n,e){return function(t,i){e(t,i,n)}};let AbstractCodeEditorService=class extends Disposable{constructor(e){super(),this._themeService=e,this._onWillCreateCodeEditor=this._register(new Emitter$1),this._onCodeEditorAdd=this._register(new Emitter$1),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new Emitter$1),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onWillCreateDiffEditor=this._register(new Emitter$1),this._onDiffEditorAdd=this._register(new Emitter$1),this.onDiffEditorAdd=this._onDiffEditorAdd.event,this._onDiffEditorRemove=this._register(new Emitter$1),this.onDiffEditorRemove=this._onDiffEditorRemove.event,this._decorationOptionProviders=new Map,this._codeEditorOpenHandlers=new LinkedList,this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null),this._globalStyleSheet=null}willCreateCodeEditor(){this._onWillCreateCodeEditor.fire()}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}willCreateDiffEditor(){this._onWillCreateDiffEditor.fire()}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(i=>i.removeDecorationsByType(e))))}setModelProperty(e,t,i){const r=e.toString();let g;this._modelProperties.has(r)?g=this._modelProperties.get(r):(g=new Map,this._modelProperties.set(r,g)),g.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i))return this._modelProperties.get(i).get(t)}async openCodeEditor(e,t,i){for(const r of this._codeEditorOpenHandlers){const g=await r(e,t,i);if(g!==null)return g}return null}registerCodeEditorOpenHandler(e){const t=this._codeEditorOpenHandlers.unshift(e);return toDisposable(t)}};AbstractCodeEditorService=__decorate$2i([__param$29(0,IThemeService)],AbstractCodeEditorService);var __decorate$2h=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$28=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneCodeEditorService=class extends AbstractCodeEditorService{constructor(e,t){super(t),this._register(this.onCodeEditorAdd(()=>this._checkContextKey())),this._register(this.onCodeEditorRemove(()=>this._checkContextKey())),this._editorIsOpen=e.createKey("editorIsOpen",!1),this._activeCodeEditor=null,this._register(this.registerCodeEditorOpenHandler(async(i,r,g)=>r?this.doOpenEditor(r,i):null))}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}setActiveCodeEditor(e){this._activeCodeEditor=e}getActiveCodeEditor(){return this._activeCodeEditor}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const g=t.resource.scheme;if(g===Schemas.http||g===Schemas.https)return windowOpenNoOpener(t.resource.toString()),e}return null}const r=t.options?t.options.selection:null;if(r)if(typeof r.endLineNumber=="number"&&typeof r.endColumn=="number")e.setSelection(r),e.revealRangeInCenter(r,1);else{const g={lineNumber:r.startLineNumber,column:r.startColumn};e.setPosition(g),e.revealPositionInCenter(g,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};StandaloneCodeEditorService=__decorate$2h([__param$28(0,IContextKeyService),__param$28(1,IThemeService)],StandaloneCodeEditorService);registerSingleton(ICodeEditorService,StandaloneCodeEditorService,0);const ILayoutService=createDecorator("layoutService");var __decorate$2g=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$27=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneLayoutService=class{get mainContainer(){var e,t;return(t=(e=firstOrDefault(this._codeEditorService.listCodeEditors()))===null||e===void 0?void 0:e.getContainerDomNode())!==null&&t!==void 0?t:mainWindow.document.body}get activeContainer(){var e,t;const i=(e=this._codeEditorService.getFocusedCodeEditor())!==null&&e!==void 0?e:this._codeEditorService.getActiveCodeEditor();return(t=i==null?void 0:i.getContainerDomNode())!==null&&t!==void 0?t:this.mainContainer}get mainContainerDimension(){return getClientArea(this.mainContainer)}get activeContainerDimension(){return getClientArea(this.activeContainer)}get containers(){return coalesce(this._codeEditorService.listCodeEditors().map(e=>e.getContainerDomNode()))}getContainer(){return this.activeContainer}whenContainerStylesLoaded(){}focus(){var e;(e=this._codeEditorService.getFocusedCodeEditor())===null||e===void 0||e.focus()}constructor(e){this._codeEditorService=e,this.onDidLayoutMainContainer=Event$1.None,this.onDidLayoutActiveContainer=Event$1.None,this.onDidLayoutContainer=Event$1.None,this.onDidChangeActiveContainer=Event$1.None,this.onDidAddContainer=Event$1.None,this.mainContainerOffset={top:0,quickPickTop:0},this.activeContainerOffset={top:0,quickPickTop:0}}};StandaloneLayoutService=__decorate$2g([__param$27(0,ICodeEditorService)],StandaloneLayoutService);let EditorScopedLayoutService=class extends StandaloneLayoutService{get mainContainer(){return this._container}constructor(e,t){super(t),this._container=e}};EditorScopedLayoutService=__decorate$2g([__param$27(1,ICodeEditorService)],EditorScopedLayoutService);registerSingleton(ILayoutService,StandaloneLayoutService,1);const IDialogService=createDecorator("dialogService");var __decorate$2f=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$26=function(n,e){return function(t,i){e(t,i,n)}};function getResourceLabel(n){return n.scheme===Schemas.file?n.fsPath:n.path}let stackElementCounter=0;class ResourceStackElement{constructor(e,t,i,r,g,y,k){this.id=++stackElementCounter,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=r,this.groupOrder=g,this.sourceId=y,this.sourceOrder=k,this.isValid=!0}setValid(e){this.isValid=e}toString(){return"[id:".concat(this.id,"] [group:").concat(this.groupId,"] [").concat(this.isValid?" VALID":"INVALID","] ").concat(this.actual.constructor.name," - ").concat(this.actual)}}class ResourceReasonPair{constructor(e,t){this.resourceLabel=e,this.reason=t}}class RemovedResources{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,r]of this.elements)(r.reason===0?e:t).push(r.resourceLabel);const i=[];return e.length>0&&i.push(localize({},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(localize({},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class WorkspaceStackElement{constructor(e,t,i,r,g,y,k){this.id=++stackElementCounter,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=r,this.groupOrder=g,this.sourceId=y,this.sourceOrder=k,this.removedResources=null,this.invalidatedResources=null}canSplit(){return typeof this.actual.split=="function"}removeResource(e,t,i){this.removedResources||(this.removedResources=new RemovedResources),this.removedResources.has(t)||this.removedResources.set(t,new ResourceReasonPair(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),this.invalidatedResources.size===0&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new RemovedResources),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new ResourceReasonPair(e,0)))}toString(){return"[id:".concat(this.id,"] [group:").concat(this.groupId,"] [").concat(this.invalidatedResources?"INVALID":" VALID","] ").concat(this.actual.constructor.name," - ").concat(this.actual)}}class ResourceEditStack{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)e.type===1&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){const e=[];e.push("* ".concat(this.strResource,":"));for(let t=0;t=0;t--)e.push(" * [REDO] ".concat(this._future[t]));return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){e.type===1?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const t of this._future)t.type===1&&t.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let i=0,r=this._past.length;i=0;i--)t.push(this._future[i].id);return new ResourceEditStackSnapshot(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,r=0,g=-1;for(let k=0,L=this._past.length;k=t||V.id!==e.elements[r])&&(i=!1,g=0),!i&&V.type===1&&V.removeResource(this.resourceLabel,this.strResource,0)}let y=-1;for(let k=this._future.length-1;k>=0;k--,r++){const L=this._future[k];i&&(r>=t||L.id!==e.elements[r])&&(i=!1,y=k),!i&&L.type===1&&L.removeResource(this.resourceLabel,this.strResource,0)}g!==-1&&(this._past=this._past.slice(0,g)),y!==-1&&(this._future=this._future.slice(y+1)),this.versionId++}getElements(){const e=[],t=[];for(const i of this._past)e.push(i.actual);for(const i of this._future)t.push(i.actual);return{past:e,future:t}}getClosestPastElement(){return this._past.length===0?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return this._future.length===0?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class EditStackSnapshot{constructor(e){this.editStacks=e,this._versionIds=[];for(let t=0,i=this.editStacks.length;tt.sourceOrder)&&(t=y,i=r)}return[t,i]}canUndo(e){if(e instanceof UndoRedoSource){const[,i]=this._findClosestUndoElementWithSource(e.id);return!!i}const t=this.getUriComparisonKey(e);return this._editStacks.has(t)?this._editStacks.get(t).hasPastElements():!1}_onError(e,t){onUnexpectedError(e);for(const i of t.strResources)this.removeElements(i);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,r,g){const y=this._acquireLocks(i);let k;try{k=t()}catch(L){return y(),r.dispose(),this._onError(L,e)}return k?k.then(()=>(y(),r.dispose(),g()),L=>(y(),r.dispose(),this._onError(L,e))):(y(),r.dispose(),g())}async _invokeWorkspacePrepare(e){if(typeof e.actual.prepareUndoRedo>"u")return Disposable.None;const t=e.actual.prepareUndoRedo();return typeof t>"u"?Disposable.None:t}_invokeResourcePrepare(e,t){if(e.actual.type!==1||typeof e.actual.prepareUndoRedo>"u")return t(Disposable.None);const i=e.actual.prepareUndoRedo();return i?isDisposable(i)?t(i):i.then(r=>t(r)):t(Disposable.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||missingEditStack);return new EditStackSnapshot(t)}_tryToSplitAndUndo(e,t,i,r){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.warn(r),new WorkspaceVerificationError(this._undo(e,0,!0));for(const g of t.strResources)this.removeElements(g);return this._notificationService.warn(r),new WorkspaceVerificationError}_checkWorkspaceUndo(e,t,i,r){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,localize({},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(r&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,localize({},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const g=[];for(const k of i.editStacks)k.getClosestPastElement()!==t&&g.push(k.resourceLabel);if(g.length>0)return this._tryToSplitAndUndo(e,t,null,localize({},"Could not undo '{0}' across all files because changes were made to {1}",t.label,g.join(", ")));const y=[];for(const k of i.editStacks)k.locked&&y.push(k.resourceLabel);return y.length>0?this._tryToSplitAndUndo(e,t,null,localize({},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,y.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,localize({},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const r=this._getAffectedEditStacks(t),g=this._checkWorkspaceUndo(e,t,r,!1);return g?g.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,r,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const r=t.getSecondClosestPastElement();if(r&&r.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}async _confirmAndExecuteWorkspaceUndo(e,t,i,r){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){let k;(function(z){z[z.All=0]="All",z[z.This=1]="This",z[z.Cancel=2]="Cancel"})(k||(k={}));const{result:L}=await this._dialogService.prompt({type:Severity$2.Info,message:localize("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),buttons:[{label:localize({},"&&Undo in {0} Files",i.editStacks.length),run:()=>k.All},{label:localize({},"Undo this &&File"),run:()=>k.This}],cancelButton:{run:()=>k.Cancel}});if(L===k.Cancel)return;if(L===k.This)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const V=this._checkWorkspaceUndo(e,t,i,!1);if(V)return V.returnValue;r=!0}let g;try{g=await this._invokeWorkspacePrepare(t)}catch(k){return this._onError(k,t)}const y=this._checkWorkspaceUndo(e,t,i,!0);if(y)return g.dispose(),y.returnValue;for(const k of i.editStacks)k.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,g,()=>this._continueUndoInGroup(t.groupId,r))}_resourceUndo(e,t,i){if(!t.isValid){e.flushAllElements();return}if(e.locked){const r=localize({},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(r);return}return this._invokeResourcePrepare(t,r=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new EditStackSnapshot([e]),r,()=>this._continueUndoInGroup(t.groupId,i))))}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestPastElement();y&&y.groupId===e&&(!t||y.groupOrder>t.groupOrder)&&(t=y,i=r)}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);if(i)return this._undo(i,0,t)}undo(e){if(e instanceof UndoRedoSource){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return typeof e=="string"?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const r=this._editStacks.get(e),g=r.getClosestPastElement();if(!g)return;if(g.groupId){const[k,L]=this._findClosestUndoElementInGroup(g.groupId);if(g!==k&&L)return this._undo(L,t,i)}if((g.sourceId!==t||g.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,g);try{return g.type===1?this._workspaceUndo(e,g,i):this._resourceUndo(r,g,i)}finally{}}async _confirmAndContinueUndo(e,t,i){if((await this._dialogService.confirm({message:localize("confirmDifferentSource","Would you like to undo '{0}'?",i.label),primaryButton:localize({},"&&Yes"),cancelButton:localize("confirmDifferentSource.no","No")})).confirmed)return this._undo(e,t,!0)}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestFutureElement();y&&y.sourceId===e&&(!t||y.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,localize({},"Could not redo '{0}' across all files because changes were made to {1}",t.label,g.join(", ")));const y=[];for(const k of i.editStacks)k.locked&&y.push(k.resourceLabel);return y.length>0?this._tryToSplitAndRedo(e,t,null,localize({},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,y.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,localize({},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),r=this._checkWorkspaceRedo(e,t,i,!1);return r?r.returnValue:this._executeWorkspaceRedo(e,t,i)}async _executeWorkspaceRedo(e,t,i){let r;try{r=await this._invokeWorkspacePrepare(t)}catch(y){return this._onError(y,t)}const g=this._checkWorkspaceRedo(e,t,i,!0);if(g)return r.dispose(),g.returnValue;for(const y of i.editStacks)y.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,r,()=>this._continueRedoInGroup(t.groupId))}_resourceRedo(e,t){if(!t.isValid){e.flushAllElements();return}if(e.locked){const i=localize({},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.warn(i);return}return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new EditStackSnapshot([e]),i,()=>this._continueRedoInGroup(t.groupId))))}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[r,g]of this._editStacks){const y=g.getClosestFutureElement();y&&y.groupId===e&&(!t||y.groupOrder=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$25=function(n,e){return function(t,i){e(t,i,n)}};const ILanguageFeatureDebounceService=createDecorator("ILanguageFeatureDebounceService");var IdentityHash;(function(n){const e=new WeakMap;let t=0;function i(r){let g=e.get(r);return g===void 0&&(g=++t,e.set(r,g)),g}n.of=i})(IdentityHash||(IdentityHash={}));class NullDebounceInformation{constructor(e){this._default=e}get(e){return this._default}update(e,t){return this._default}default(){return this._default}}class FeatureDebounceInformation{constructor(e,t,i,r,g,y){this._logService=e,this._name=t,this._registry=i,this._default=r,this._min=g,this._max=y,this._cache=new LRUCache(50,.7)}_key(e){return e.id+this._registry.all(e).reduce((t,i)=>doHash(IdentityHash.of(i),t),0)}get(e){const t=this._key(e),i=this._cache.get(t);return i?clamp(i.value,this._min,this._max):this.default()}update(e,t){const i=this._key(e);let r=this._cache.get(i);r||(r=new SlidingWindowAverage(6),this._cache.set(i,r));const g=clamp(r.update(t),this._min,this._max);return matchesScheme(e.uri,"output")||this._logService.trace("[DEBOUNCE: ".concat(this._name,"] for ").concat(e.uri.toString()," is ").concat(g,"ms")),g}_overall(){const e=new MovingAverage;for(const[,t]of this._cache)e.update(t.value);return e.value}default(){const e=this._overall()|0||this._default;return clamp(e,this._min,this._max)}}let LanguageFeatureDebounceService=class{constructor(e,t){this._logService=e,this._data=new Map,this._isDev=t.isExtensionDevelopment||!t.isBuilt}for(e,t,i){var r,g,y;const k=(r=i==null?void 0:i.min)!==null&&r!==void 0?r:50,L=(g=i==null?void 0:i.max)!==null&&g!==void 0?g:k**2,V=(y=i==null?void 0:i.key)!==null&&y!==void 0?y:void 0,z="".concat(IdentityHash.of(e),",").concat(k).concat(V?","+V:"");let j=this._data.get(z);return j||(this._isDev?j=new FeatureDebounceInformation(this._logService,t,e,this._overallAverage()|0||k*1.5,k,L):(this._logService.debug("[DEBOUNCE: ".concat(t,"] is disabled in developed mode")),j=new NullDebounceInformation(k*1.5)),this._data.set(z,j)),j}_overallAverage(){const e=new MovingAverage;for(const t of this._data.values())e.update(t.default());return e.value}};LanguageFeatureDebounceService=__decorate$2e([__param$25(0,ILogService),__param$25(1,IEnvironmentService)],LanguageFeatureDebounceService);registerSingleton(ILanguageFeatureDebounceService,LanguageFeatureDebounceService,1);class SparseMultilineTokens{static create(e,t){return new SparseMultilineTokens(e,new SparseMultilineTokensStorage(t))}get startLineNumber(){return this._startLineNumber}get endLineNumber(){return this._endLineNumber}constructor(e,t){this._startLineNumber=e,this._tokens=t,this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}toString(){return this._tokens.toString(this._startLineNumber)}_updateEndLineNumber(){this._endLineNumber=this._startLineNumber+this._tokens.getMaxDeltaLine()}isEmpty(){return this._tokens.isEmpty()}getLineTokens(e){return this._startLineNumber<=e&&e<=this._endLineNumber?this._tokens.getLineTokens(e-this._startLineNumber):null}getRange(){const e=this._tokens.getRange();return e&&new Range$2(this._startLineNumber+e.startLineNumber,e.startColumn,this._startLineNumber+e.endLineNumber,e.endColumn)}removeTokens(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;this._startLineNumber+=this._tokens.removeTokens(t,e.startColumn-1,i,e.endColumn-1),this._updateEndLineNumber()}split(e){const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber,[r,g,y]=this._tokens.split(t,e.startColumn-1,i,e.endColumn-1);return[new SparseMultilineTokens(this._startLineNumber,r),new SparseMultilineTokens(this._startLineNumber+y,g)]}applyEdit(e,t){const[i,r,g]=countEOL(t);this.acceptEdit(e,i,r,g,t.length>0?t.charCodeAt(0):0)}acceptEdit(e,t,i,r,g){this._acceptDeleteRange(e),this._acceptInsertText(new Position$1(e.startLineNumber,e.startColumn),t,i,r,g),this._updateEndLineNumber()}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber&&e.startColumn===e.endColumn)return;const t=e.startLineNumber-this._startLineNumber,i=e.endLineNumber-this._startLineNumber;if(i<0){const g=i-t;this._startLineNumber-=g;return}const r=this._tokens.getMaxDeltaLine();if(!(t>=r+1)){if(t<0&&i>=r+1){this._startLineNumber=0,this._tokens.clear();return}if(t<0){const g=-t;this._startLineNumber-=g,this._tokens.acceptDeleteRange(e.startColumn-1,0,0,i,e.endColumn-1)}else this._tokens.acceptDeleteRange(0,t,e.startColumn-1,i,e.endColumn-1)}}_acceptInsertText(e,t,i,r,g){if(t===0&&i===0)return;const y=e.lineNumber-this._startLineNumber;if(y<0){this._startLineNumber+=t;return}const k=this._tokens.getMaxDeltaLine();y>=k+1||this._tokens.acceptInsertText(y,e.column-1,t,i,r,g)}}class SparseMultilineTokensStorage{constructor(e){this._tokens=e,this._tokenCount=e.length/4}toString(e){const t=[];for(let i=0;ie)i=r-1;else{let y=r;for(;y>t&&this._getDeltaLine(y-1)===e;)y--;let k=r;for(;ke||ie===e&&re>=t)&&(iee||re===e&&le>=t){if(reg?ae-=g-i:ae=i;else if(oe===t&&re===i)if(oe===r&&ae>g)ae-=g-i;else{z=!0;continue}else if(oeg)oe=t,re=i,ae=re+(ae-g);else{z=!0;continue}else if(oe>r){if(L===0&&!z){V=k;break}oe-=L}else if(oe===r&&re>=g)e&&oe===0&&(re+=e,ae+=e),oe-=L,re-=g-i,ae-=g-i;else throw new Error("Not possible!");const de=4*V;y[de]=oe,y[de+1]=re,y[de+2]=ae,y[de+3]=le,V++}this._tokenCount=V}acceptInsertText(e,t,i,r,g,y){const k=i===0&&r===1&&(y>=48&&y<=57||y>=65&&y<=90||y>=97&&y<=122),L=this._tokens,V=this._tokenCount;for(let z=0;z=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$24=function(n,e){return function(t,i){e(t,i,n)}};let SemanticTokensProviderStyling=class{constructor(e,t,i,r){this._legend=e,this._themeService=t,this._languageService=i,this._logService=r,this._hasWarnedOverlappingTokens=!1,this._hasWarnedInvalidLengthTokens=!1,this._hasWarnedInvalidEditStart=!1,this._hashTable=new HashTable}getMetadata(e,t,i){const r=this._languageService.languageIdCodec.encodeLanguageId(i),g=this._hashTable.get(e,t,r);let y;if(g)y=g.metadata,this._logService.getLevel()===LogLevel.Trace&&this._logService.trace("SemanticTokensProviderStyling [CACHED] ".concat(e," / ").concat(t,": foreground ").concat(TokenMetadata.getForeground(y),", fontStyle ").concat(TokenMetadata.getFontStyle(y).toString(2)));else{let k=this._legend.tokenTypes[e];const L=[];if(k){let V=t;for(let j=0;V>0&&j>1;V>0&&this._logService.getLevel()===LogLevel.Trace&&(this._logService.trace("SemanticTokensProviderStyling: unknown token modifier index: ".concat(t.toString(2)," for legend: ").concat(JSON.stringify(this._legend.tokenModifiers))),L.push("not-in-legend"));const z=this._themeService.getColorTheme().getTokenStyleMetadata(k,L,i);if(typeof z>"u")y=2147483647;else{if(y=0,typeof z.italic<"u"){const j=(z.italic?1:0)<<11;y|=j|1}if(typeof z.bold<"u"){const j=(z.bold?2:0)<<11;y|=j|2}if(typeof z.underline<"u"){const j=(z.underline?4:0)<<11;y|=j|4}if(typeof z.strikethrough<"u"){const j=(z.strikethrough?8:0)<<11;y|=j|8}if(z.foreground){const j=z.foreground<<15;y|=j|16}y===0&&(y=2147483647)}}else this._logService.getLevel()===LogLevel.Trace&&this._logService.trace("SemanticTokensProviderStyling: unknown token type index: ".concat(e," for legend: ").concat(JSON.stringify(this._legend.tokenTypes))),y=2147483647,k="not-in-legend";this._hashTable.add(e,t,r,y),this._logService.getLevel()===LogLevel.Trace&&this._logService.trace("SemanticTokensProviderStyling ".concat(e," (").concat(k,") / ").concat(t," (").concat(L.join(" "),"): foreground ").concat(TokenMetadata.getForeground(y),", fontStyle ").concat(TokenMetadata.getFontStyle(y).toString(2)))}return y}warnOverlappingSemanticTokens(e,t){this._hasWarnedOverlappingTokens||(this._hasWarnedOverlappingTokens=!0,this._logService.warn("Overlapping semantic tokens detected at lineNumber ".concat(e,", column ").concat(t)))}warnInvalidLengthSemanticTokens(e,t){this._hasWarnedInvalidLengthTokens||(this._hasWarnedInvalidLengthTokens=!0,this._logService.warn("Semantic token with invalid length detected at lineNumber ".concat(e,", column ").concat(t)))}warnInvalidEditStart(e,t,i,r,g){this._hasWarnedInvalidEditStart||(this._hasWarnedInvalidEditStart=!0,this._logService.warn("Invalid semantic tokens edit detected (previousResultId: ".concat(e,", resultId: ").concat(t,") at edit #").concat(i,": The provided start offset ").concat(r," is outside the previous data (length ").concat(g,").")))}};SemanticTokensProviderStyling=__decorate$2d([__param$24(1,IThemeService),__param$24(2,ILanguageService),__param$24(3,ILogService)],SemanticTokensProviderStyling);function toMultilineTokens2(n,e,t){const i=n.data,r=n.data.length/5|0,g=Math.max(Math.ceil(r/1024),400),y=[];let k=0,L=1,V=0;for(;kz&&i[5*ue]===0;)ue--;if(ue-1===z){let he=j;for(;he+1$e)e.warnOverlappingSemanticTokens(Ce,$e+1);else{const Ve=e.getMetadata(Ne,Fe,t);Ve!==2147483647&&(re===0&&(re=Ce),ie[oe]=Ce-re,ie[oe+1]=$e,ie[oe+2]=Ie,ie[oe+3]=Ve,oe+=4,ae=Ce,le=Ie)}L=Ce,V=$e,k++}oe!==ie.length&&(ie=ie.subarray(0,oe));const de=SparseMultilineTokens.create(re,ie);y.push(de)}return y}class HashTableEntry{constructor(e,t,i,r){this.tokenTypeIndex=e,this.tokenModifierSet=t,this.languageId=i,this.metadata=r,this.next=null}}class HashTable{constructor(){this._elementsCount=0,this._currentLengthIndex=0,this._currentLength=HashTable._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=this._growCount){const g=this._elements;this._currentLengthIndex++,this._currentLength=HashTable._SIZES[this._currentLengthIndex],this._growCount=Math.round(this._currentLengthIndex+1=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$23=function(n,e){return function(t,i){e(t,i,n)}};let SemanticTokensStylingService=class extends Disposable{constructor(e,t,i){super(),this._themeService=e,this._logService=t,this._languageService=i,this._caches=new WeakMap,this._register(this._themeService.onDidColorThemeChange(()=>{this._caches=new WeakMap}))}getStyling(e){return this._caches.has(e)||this._caches.set(e,new SemanticTokensProviderStyling(e.getLegend(),this._themeService,this._languageService,this._logService)),this._caches.get(e)}};SemanticTokensStylingService=__decorate$2c([__param$23(0,IThemeService),__param$23(1,ILogService),__param$23(2,ILanguageService)],SemanticTokensStylingService);registerSingleton(ISemanticTokensStylingService,SemanticTokensStylingService,1);const GLOBSTAR="**",GLOB_SPLIT="/",PATH_REGEX="[/\\\\]",NO_PATH_REGEX="[^/\\\\]",ALL_FORWARD_SLASHES=/\//g;function starsToRegExp(n,e){switch(n){case 0:return"";case 1:return"".concat(NO_PATH_REGEX,"*?");default:return"(?:".concat(PATH_REGEX,"|").concat(NO_PATH_REGEX,"+").concat(PATH_REGEX).concat(e?"|".concat(PATH_REGEX).concat(NO_PATH_REGEX,"+"):"",")*?")}}function splitGlobAware(n,e){if(!n)return[];const t=[];let i=!1,r=!1,g="";for(const y of n){switch(y){case e:if(!i&&!r){t.push(g),g="";continue}break;case"{":i=!0;break;case"}":i=!1;break;case"[":r=!0;break;case"]":r=!1;break}g+=y}return g&&t.push(g),t}function parseRegExp(n){if(!n)return"";let e="";const t=splitGlobAware(n,GLOB_SPLIT);if(t.every(i=>i===GLOBSTAR))e=".*";else{let i=!1;t.forEach((r,g)=>{if(r===GLOBSTAR){if(i)return;e+=starsToRegExp(2,g===t.length-1)}else{let y=!1,k="",L=!1,V="";for(const z of r){if(z!=="}"&&y){k+=z;continue}if(L&&(z!=="]"||!V)){let j;z==="-"?j=z:(z==="^"||z==="!")&&!V?j="^":z===GLOB_SPLIT?j="":j=escapeRegExpCharacters(z),V+=j;continue}switch(z){case"{":y=!0;continue;case"[":L=!0;continue;case"}":{const j=splitGlobAware(k,","),ie="(?:".concat(j.map(oe=>parseRegExp(oe)).join("|"),")");e+=ie,y=!1,k="";break}case"]":{e+="["+V+"]",L=!1,V="";break}case"?":e+=NO_PATH_REGEX;continue;case"*":e+=starsToRegExp(1);continue;default:e+=escapeRegExpCharacters(z)}}gparsePattern(k,e)).filter(k=>k!==NULL),n),i=t.length;if(!i)return NULL;if(i===1)return t[0];const r=function(k,L){for(let V=0,z=t.length;V!!k.allBasenames);g&&(r.allBasenames=g.allBasenames);const y=t.reduce((k,L)=>L.allPaths?k.concat(L.allPaths):k,[]);return y.length&&(r.allPaths=y),r}function trivia4and5(n,e,t){const i=sep===posix.sep,r=i?n:n.replace(ALL_FORWARD_SLASHES,sep),g=sep+r,y=posix.sep+n;let k;return t?k=function(L,V){return typeof L=="string"&&(L===r||L.endsWith(g)||!i&&(L===n||L.endsWith(y)))?e:null}:k=function(L,V){return typeof L=="string"&&(L===r||!i&&L===n)?e:null},k.allPaths=[(t?"*/":"./")+n],k}function toRegExp(n){try{const e=new RegExp("^".concat(parseRegExp(n),"$"));return function(t){return e.lastIndex=0,typeof t=="string"&&e.test(t)?n:null}}catch(e){return NULL}}function match(n,e,t){return!n||typeof e!="string"?!1:parse$2(n)(e,void 0,t)}function parse$2(n,e={}){if(!n)return FALSE;if(typeof n=="string"||isRelativePattern(n)){const t=parsePattern(n,e);if(t===NULL)return FALSE;const i=function(r,g){return!!t(r,g)};return t.allBasenames&&(i.allBasenames=t.allBasenames),t.allPaths&&(i.allPaths=t.allPaths),i}return parsedExpression(n,e)}function isRelativePattern(n){const e=n;return e?typeof e.base=="string"&&typeof e.pattern=="string":!1}function parsedExpression(n,e){const t=aggregateBasenameMatches(Object.getOwnPropertyNames(n).map(k=>parseExpressionPattern(k,n[k],e)).filter(k=>k!==NULL)),i=t.length;if(!i)return NULL;if(!t.some(k=>!!k.requiresSiblings)){if(i===1)return t[0];const k=function(z,j){let ie;for(let oe=0,re=t.length;oe{for(const oe of ie){const re=await oe;if(typeof re=="string")return re}return null})():null},L=t.find(z=>!!z.allBasenames);L&&(k.allBasenames=L.allBasenames);const V=t.reduce((z,j)=>j.allPaths?z.concat(j.allPaths):z,[]);return V.length&&(k.allPaths=V),k}const r=function(k,L,V){let z,j;for(let ie=0,oe=t.length;ie{for(const ie of j){const oe=await ie;if(typeof oe=="string")return oe}return null})():null},g=t.find(k=>!!k.allBasenames);g&&(r.allBasenames=g.allBasenames);const y=t.reduce((k,L)=>L.allPaths?k.concat(L.allPaths):k,[]);return y.length&&(r.allPaths=y),r}function parseExpressionPattern(n,e,t){if(e===!1)return NULL;const i=parsePattern(n,t);if(i===NULL)return NULL;if(typeof e=="boolean")return i;if(e){const r=e.when;if(typeof r=="string"){const g=(y,k,L,V)=>{if(!V||!i(y,k))return null;const z=r.replace("$(basename)",()=>L),j=V(z);return isThenable$1(j)?j.then(ie=>ie?n:null):j?n:null};return g.requiresSiblings=!0,g}}return i}function aggregateBasenameMatches(n,e){const t=n.filter(k=>!!k.basenames);if(t.length<2)return n;const i=t.reduce((k,L)=>{const V=L.basenames;return V?k.concat(V):k},[]);let r;if(e){r=[];for(let k=0,L=i.length;k{const V=L.patterns;return V?k.concat(V):k},[]);const g=function(k,L){if(typeof k!="string")return null;if(!L){let z;for(z=k.length;z>0;z--){const j=k.charCodeAt(z-1);if(j===47||j===92)break}L=k.substr(z)}const V=i.indexOf(L);return V!==-1?r[V]:null};g.basenames=i,g.patterns=r,g.allBasenames=i;const y=n.filter(k=>!k.basenames);return y.push(g),y}function score(n,e,t,i,r,g){if(Array.isArray(n)){let y=0;for(const k of n){const L=score(k,e,t,i,r,g);if(L===10)return L;L>y&&(y=L)}return y}else{if(typeof n=="string")return i?n==="*"?5:n===t?10:0:0;if(n){const{language:y,pattern:k,scheme:L,hasAccessToAllModels:V,notebookType:z}=n;if(!i&&!V)return 0;z&&r&&(e=r);let j=0;if(L)if(L===e.scheme)j=10;else if(L==="*")j=5;else return 0;if(y)if(y===t)j=10;else if(y==="*")j=Math.max(j,5);else return 0;if(z)if(z===g)j=10;else if(z==="*"&&g!==void 0)j=Math.max(j,5);else return 0;if(k){let ie;if(typeof k=="string"?ie=k:ie={...k,base:normalize(k.base)},ie===e.fsPath||match(ie,e.fsPath))j=10;else return 0}return j}else return 0}}function isExclusive(n){return typeof n=="string"?!1:Array.isArray(n)?n.every(isExclusive):!!n.exclusive}class MatchCandidate{constructor(e,t,i,r){this.uri=e,this.languageId=t,this.notebookUri=i,this.notebookType=r}equals(e){var t,i;return this.notebookType===e.notebookType&&this.languageId===e.languageId&&this.uri.toString()===e.uri.toString()&&((t=this.notebookUri)===null||t===void 0?void 0:t.toString())===((i=e.notebookUri)===null||i===void 0?void 0:i.toString())}}class LanguageFeatureRegistry{constructor(e){this._notebookInfoResolver=e,this._clock=0,this._entries=[],this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event}register(e,t){let i={selector:e,provider:t,_score:-1,_time:this._clock++};return this._entries.push(i),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),toDisposable(()=>{if(i){const r=this._entries.indexOf(i);r>=0&&(this._entries.splice(r,1),this._lastCandidate=void 0,this._onDidChange.fire(this._entries.length),i=void 0)}})}has(e){return this.all(e).length>0}all(e){if(!e)return[];this._updateScores(e);const t=[];for(const i of this._entries)i._score>0&&t.push(i.provider);return t}ordered(e){const t=[];return this._orderedForEach(e,i=>t.push(i.provider)),t}orderedGroups(e){const t=[];let i,r;return this._orderedForEach(e,g=>{i&&r===g._score?i.push(g.provider):(r=g._score,i=[g.provider],t.push(i))}),t}_orderedForEach(e,t){this._updateScores(e);for(const i of this._entries)i._score>0&&t(i)}_updateScores(e){var t,i;const r=(t=this._notebookInfoResolver)===null||t===void 0?void 0:t.call(this,e.uri),g=r?new MatchCandidate(e.uri,e.getLanguageId(),r.uri,r.type):new MatchCandidate(e.uri,e.getLanguageId(),void 0,void 0);if(!(!((i=this._lastCandidate)===null||i===void 0)&&i.equals(g))){this._lastCandidate=g;for(const y of this._entries)if(y._score=score(y.selector,g.uri,g.languageId,shouldSynchronizeModel(e),g.notebookUri,g.notebookType),isExclusive(y.selector)&&y._score>0){for(const k of this._entries)k._score=0;y._score=1e3;break}this._entries.sort(LanguageFeatureRegistry._compareByScoreAndTime)}}static _compareByScoreAndTime(e,t){return e._scoret._score?-1:isBuiltinSelector(e.selector)&&!isBuiltinSelector(t.selector)?1:!isBuiltinSelector(e.selector)&&isBuiltinSelector(t.selector)?-1:e._timet._time?-1:0}}function isBuiltinSelector(n){return typeof n=="string"?!1:Array.isArray(n)?n.some(isBuiltinSelector):!!n.isBuiltin}class LanguageFeaturesService{constructor(){this.referenceProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.renameProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.newSymbolNamesProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.codeActionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.definitionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.typeDefinitionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.declarationProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.implementationProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentSymbolProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlayHintsProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.colorProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.codeLensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.onTypeFormattingEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.signatureHelpProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.hoverProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentHighlightProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.multiDocumentHighlightProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.selectionRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.foldingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.linkProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlineCompletionsProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.inlineEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.completionProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.linkedEditingRangeProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentRangeSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentSemanticTokensProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentOnDropEditProvider=new LanguageFeatureRegistry(this._score.bind(this)),this.documentPasteEditProvider=new LanguageFeatureRegistry(this._score.bind(this))}_score(e){var t;return(t=this._notebookTypeResolver)===null||t===void 0?void 0:t.call(this,e)}}registerSingleton(ILanguageFeaturesService,LanguageFeaturesService,1);var __decorate$2b=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$22=function(n,e){return function(t,i){e(t,i,n)}};const IHoverService=createDecorator("hoverService");let WorkbenchHoverDelegate=class extends Disposable{get delay(){return this.isInstantlyHovering()?0:this._delay}constructor(e,t,i={},r,g){super(),this.placement=e,this.instantHover=t,this.overrideOptions=i,this.configurationService=r,this.hoverService=g,this.lastHoverHideTime=0,this.timeLimit=200,this.hoverDisposables=this._register(new DisposableStore),this._delay=this.configurationService.getValue("workbench.hover.delay"),this._register(this.configurationService.onDidChangeConfiguration(y=>{y.affectsConfiguration("workbench.hover.delay")&&(this._delay=this.configurationService.getValue("workbench.hover.delay"))}))}showHover(e,t){const i=typeof this.overrideOptions=="function"?this.overrideOptions(e,t):this.overrideOptions;this.hoverDisposables.clear();const r=e.target instanceof HTMLElement?[e.target]:e.target.targetElements;for(const y of r)this.hoverDisposables.add(addStandardDisposableListener(y,"keydown",k=>{k.equals(9)&&this.hoverService.hideHover()}));const g=e.content instanceof HTMLElement?void 0:e.content.toString();return this.hoverService.showHover({...e,...i,persistence:{hideOnKeyDown:!0,...i.persistence},id:g,appearance:{...e.appearance,compact:!0,skipFadeInAnimation:this.isInstantlyHovering(),...i.appearance}},t)}isInstantlyHovering(){return this.instantHover&&Date.now()-this.lastHoverHideTime{g.stopPropagation(),g.preventDefault(),t.run(this.actionContainer)})),this._register(addDisposableListener(this.actionContainer,EventType$1.KEY_DOWN,g=>{const y=new StandardKeyboardEvent(g);(y.equals(3)||y.equals(10))&&(g.stopPropagation(),g.preventDefault(),t.run(this.actionContainer))})),this.setEnabled(!0)}setEnabled(e){e?(this.actionContainer.classList.remove("disabled"),this.actionContainer.removeAttribute("aria-disabled")):(this.actionContainer.classList.add("disabled"),this.actionContainer.setAttribute("aria-disabled","true"))}}function getHoverAccessibleViewHint(n,e){return n&&e?localize("acessibleViewHint","Inspect this in the accessible view with {0}.",e):n?localize("acessibleViewHintNoKbOpen","Inspect this in the accessible view via the command Open Accessible View which is currently not triggerable via keybinding."):""}const IOpenerService=createDecorator("openerService");function extractSelection(n){let e;const t=/^L?(\d+)(?:,(\d+))?(-L?(\d+)(?:,(\d+))?)?/.exec(n.fragment);return t&&(e={startLineNumber:parseInt(t[1]),startColumn:t[2]?parseInt(t[2]):1,endLineNumber:t[4]?parseInt(t[4]):void 0,endColumn:t[4]?t[5]?parseInt(t[5]):1:void 0},n=n.with({fragment:""})),{selection:e,uri:n}}function renderText(n,e={}){const t=createElement$1(e);return t.textContent=n,t}function renderFormattedText(n,e={}){const t=createElement$1(e);return _renderFormattedText(t,parseFormattedText(n,!!e.renderCodeSegments),e.actionHandler,e.renderCodeSegments),t}function createElement$1(n){const e=n.inline?"span":"div",t=document.createElement(e);return n.className&&(t.className=n.className),t}class StringStream{constructor(e){this.source=e,this.index=0}eos(){return this.index>=this.source.length}next(){const e=this.peek();return this.advance(),e}peek(){return this.source[this.index]}advance(){this.index++}}function _renderFormattedText(n,e,t,i){let r;if(e.type===2)r=document.createTextNode(e.content||"");else if(e.type===3)r=document.createElement("b");else if(e.type===4)r=document.createElement("i");else if(e.type===7&&i)r=document.createElement("code");else if(e.type===5&&t){const g=document.createElement("a");t.disposables.add(addStandardDisposableListener(g,"click",y=>{t.callback(String(e.index),y)})),r=g}else e.type===8?r=document.createElement("br"):e.type===1&&(r=n);r&&n!==r&&n.appendChild(r),r&&Array.isArray(e.children)&&e.children.forEach(g=>{_renderFormattedText(r,g,t,i)})}function parseFormattedText(n,e){const t={type:1,children:[]};let i=0,r=t;const g=[],y=new StringStream(n);for(;!y.eos();){let k=y.next();const L=k==="\\"&&formatTagType(y.peek(),e)!==0;if(L&&(k=y.next()),!L&&isFormatTag(k,e)&&k===y.peek()){y.advance(),r.type===2&&(r=g.pop());const V=formatTagType(k,e);if(r.type===V||r.type===5&&V===6)r=g.pop();else{const z={type:V,children:[]};V===5&&(z.index=i,i++),r.children.push(z),g.push(r),r=z}}else if(k==="\n")r.type===2&&(r=g.pop()),r.children.push({type:8});else if(r.type!==2){const V={type:2,content:k};r.children.push(V),g.push(r),r=V}else r.content+=k}return r.type===2&&(r=g.pop()),t}function isFormatTag(n,e){return formatTagType(n,e)!==0}function formatTagType(n,e){switch(n){case"*":return 3;case"_":return 4;case"[":return 5;case"]":return 6;case"`":return e?7:0;default:return 0}}const labelWithIconsRegex=new RegExp("(\\\\)?\\$\\((".concat(ThemeIcon.iconNameExpression,"(?:").concat(ThemeIcon.iconModifierExpression,")?)\\)"),"g");function renderLabelWithIcons(n){const e=new Array;let t,i=0,r=0;for(;(t=labelWithIconsRegex.exec(n))!==null;){r=t.index||0,i0)return new Uint32Array(e)}let codeBufferLength=0;const codeBuffer=new Uint32Array(10);function disassembleKorean(n){if(codeBufferLength=0,getCodesFromArray(n,modernConsonants,4352),codeBufferLength>0||(getCodesFromArray(n,modernVowels,4449),codeBufferLength>0)||(getCodesFromArray(n,modernFinalConsonants,4520),codeBufferLength>0)||(getCodesFromArray(n,compatibilityJamo,12593),codeBufferLength))return codeBuffer.subarray(0,codeBufferLength);if(n>=44032&&n<=55203){const e=n-44032,t=e%588,i=Math.floor(e/588),r=Math.floor(t/28),g=t%28-1;if(i=0&&(g0)return codeBuffer.subarray(0,codeBufferLength)}}function getCodesFromArray(n,e,t){n>=t&&n>8&&(codeBuffer[codeBufferLength++]=n>>8&255),n>>16&&(codeBuffer[codeBufferLength++]=n>>16&255))}const modernConsonants=new Uint8Array([114,82,115,101,69,102,97,113,81,116,84,100,119,87,99,122,120,118,103]),modernVowels=new Uint16Array([107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]),modernFinalConsonants=new Uint16Array([114,82,29810,115,30579,26483,101,102,29286,24934,29030,29798,30822,30310,26470,97,113,29809,116,84,100,119,99,122,120,118,103]),compatibilityJamo=new Uint16Array([114,82,29810,115,30579,26483,101,69,102,29286,24934,29030,29798,30822,30310,26470,97,113,81,29809,116,84,100,119,87,99,122,120,118,103,107,111,105,79,106,112,117,80,104,27496,28520,27752,121,110,27246,28782,27758,98,109,27757,108]);function or(...n){return function(e,t){for(let i=0,r=n.length;i0?[{start:0,end:e.length}]:[]:null}function matchesContiguousSubString(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t===-1?null:[{start:t,end:t+n.length}]}function matchesSubString(n,e){return _matchesSubString(n.toLowerCase(),e.toLowerCase(),0,0)}function _matchesSubString(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]===e[i]){let r=null;return(r=_matchesSubString(n,e,t+1,i+1))?join({start:i,end:i+1},r):null}return _matchesSubString(n,e,t,i+1)}function isLower(n){return 97<=n&&n<=122}function isUpper(n){return 65<=n&&n<=90}function isNumber$2(n){return 48<=n&&n<=57}function isWhitespace(n){return n===32||n===9||n===10||n===13}const wordSeparators=new Set;"()[]{}<>`'\"-/;:,.?!".split("").forEach(n=>wordSeparators.add(n.charCodeAt(0)));function isWordSeparator(n){return isWhitespace(n)||wordSeparators.has(n)}function charactersMatch(n,e){return n===e||isWordSeparator(n)&&isWordSeparator(e)}const alternateCharsCache=new Map;function getAlternateCodes(n){if(alternateCharsCache.has(n))return alternateCharsCache.get(n);let e;const t=getKoreanAltChars(n);return t&&(e=t),alternateCharsCache.set(n,e),e}function isAlphanumeric(n){return isLower(n)||isUpper(n)||isNumber$2(n)}function join(n,e){return e.length===0?e=[n]:n.end===e[0].start?e[0].start=n.start:e.unshift(n),e}function nextAnchor(n,e){for(let t=e;t0&&!isAlphanumeric(n.charCodeAt(t-1)))return t}return n.length}function _matchesCamelCase(n,e,t,i){if(t===n.length)return[];if(i===e.length)return null;if(n[t]!==e[i].toLowerCase())return null;{let r=null,g=i+1;for(r=_matchesCamelCase(n,e,t+1,i+1);!r&&(g=nextAnchor(e,g)).6}function isCamelCaseWord(n){const{upperPercent:e,lowerPercent:t,alphaPercent:i,numericPercent:r}=n;return t>.2&&e<.8&&i>.6&&r<.2}function isCamelCasePattern(n){let e=0,t=0,i=0,r=0;for(let g=0;g60&&(e=e.substring(0,60));const t=analyzeCamelCaseWord(e);if(!isCamelCaseWord(t)){if(!isUpperCaseWord(t))return null;e=e.toLowerCase()}let i=null,r=0;for(n=n.toLowerCase();r0&&isWordSeparator(n.charCodeAt(t-1)))return t;return n.length}const fuzzyContiguousFilter=or(matchesPrefix,matchesCamelCase,matchesContiguousSubString),fuzzySeparateFilter=or(matchesPrefix,matchesCamelCase,matchesSubString),fuzzyRegExpCache=new LRUCache(1e4);function matchesFuzzy(n,e,t=!1){if(typeof n!="string"||typeof e!="string")return null;let i=fuzzyRegExpCache.get(n);i||(i=new RegExp(convertSimple2RegExpPattern(n),"i"),fuzzyRegExpCache.set(n,i));const r=i.exec(e);return r?[{start:r.index,end:r.index+r[0].length}]:t?fuzzySeparateFilter(n,e):fuzzyContiguousFilter(n,e)}function matchesFuzzy2(n,e){const t=fuzzyScore(n,n.toLowerCase(),0,e,e.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return t?createMatches(t):null}function anyScore(n,e,t,i,r,g){const y=Math.min(13,n.length);for(;t"u")return[];const e=[],t=n[1];for(let i=n.length-1;i>1;i--){const r=n[i]+t,g=e[e.length-1];g&&g.end===r?g.end=r+1:e.push({start:r,end:r+1})}return e}const _maxLen=128;function initTable(){const n=[],e=[];for(let t=0;t<=_maxLen;t++)e[t]=0;for(let t=0;t<=_maxLen;t++)n.push(e.slice(0));return n}function initArr(n){const e=[];for(let t=0;t<=n;t++)e[t]=0;return e}const _minWordMatchPos=initArr(2*_maxLen),_maxWordMatchPos=initArr(2*_maxLen),_diag=initTable(),_table=initTable(),_arrows=initTable();function isSeparatorAtPos(n,e){if(e<0||e>=n.length)return!1;const t=n.codePointAt(e);switch(t){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!isEmojiImprecise(t)}}function isWhitespaceAtPos(n,e){if(e<0||e>=n.length)return!1;switch(n.charCodeAt(e)){case 32:case 9:return!0;default:return!1}}function isUpperCaseAtPos(n,e,t){return e[n]!==t[n]}function isPatternInWord(n,e,t,i,r,g,y=!1){for(;e_maxLen?_maxLen:n.length,L=i.length>_maxLen?_maxLen:i.length;if(t>=k||g>=L||k-t>L-g||!isPatternInWord(e,t,k,r,g,L,!0))return;_fillInMaxWordMatchPos(k,L,t,g,e,r);let V=1,z=1,j=t,ie=g;const oe=[!1];for(V=1,j=t;jue,Ne=Ie?_table[V][z-1]+(_diag[V][z-1]>0?-5:0):0,Fe=ie>ue+1&&_diag[V][z-1]>0,Ve=Fe?_table[V][z-2]+(_diag[V][z-2]>0?-5:0):0;if(Fe&&(!Ie||Ve>=Ne)&&(!$e||Ve>=xe))_table[V][z]=Ve,_arrows[V][z]=3,_diag[V][z]=0;else if(Ie&&(!$e||Ne>=xe))_table[V][z]=Ne,_arrows[V][z]=2,_diag[V][z]=0;else if($e)_table[V][z]=xe,_arrows[V][z]=1,_diag[V][z]=_diag[V-1][z-1]+1;else throw new Error("not possible")}}if(!oe[0]&&!y.firstMatchCanBeWeak)return;V--,z--;const re=[_table[V][z],g];let ae=0,le=0;for(;V>=1;){let ue=z;do{const he=_arrows[V][ue];if(he===3)ue=ue-2;else if(he===2)ue=ue-1;else break}while(ue>=1);ae>1&&e[t+V-1]===r[g+z-1]&&!isUpperCaseAtPos(ue+g-1,i,r)&&ae+1>_diag[V][ue]&&(ue=z),ue===z?ae++:ae=1,le||(le=ue),V--,z=ue-1,re.push(z)}L===k&&y.boostFullMatch&&(re[0]+=2);const de=le-k;return re[0]-=de,re}function _fillInMaxWordMatchPos(n,e,t,i,r,g){let y=n-1,k=e-1;for(;y>=t&&k>=i;)r[y]===g[k]&&(_maxWordMatchPos[y]=k,y--),k--}function _doScore(n,e,t,i,r,g,y,k,L,V,z){if(e[t]!==g[y])return Number.MIN_SAFE_INTEGER;let j=1,ie=!1;return y===t-i?j=n[t]===r[y]?7:5:isUpperCaseAtPos(y,r,g)&&(y===0||!isUpperCaseAtPos(y-1,r,g))?(j=n[t]===r[y]?7:5,ie=!0):isSeparatorAtPos(g,y)&&(y===0||!isSeparatorAtPos(g,y-1))?j=5:(isSeparatorAtPos(g,y-1)||isWhitespaceAtPos(g,y-1))&&(j=5,ie=!0),j>1&&t===i&&(z[0]=!0),ie||(ie=isUpperCaseAtPos(y,r,g)||isSeparatorAtPos(g,y-1)||isWhitespaceAtPos(g,y-1)),t===i?y>L&&(j-=ie?3:5):V?j+=ie?2:0:j+=ie?0:1,y+1===k&&(j-=ie?3:5),j}function fuzzyScoreGracefulAggressive(n,e,t,i,r,g,y){return fuzzyScoreWithPermutations(n,e,t,i,r,g,!0,y)}function fuzzyScoreWithPermutations(n,e,t,i,r,g,y,k){let L=fuzzyScore(n,e,t,i,r,g,k);if(n.length>=3){const V=Math.min(7,n.length-1);for(let z=t+1;zL[0])&&(L=ie))}}}return L}function nextTypoPermutation(n,e){if(e+1>=n.length)return;const t=n[e],i=n[e+1];if(t!==i)return n.slice(0,e)+i+t+n.slice(e+2)}const iconStartMarker="$(",iconsRegex=new RegExp("\\$\\(".concat(ThemeIcon.iconNameExpression,"(?:").concat(ThemeIcon.iconModifierExpression,")?\\)"),"g"),escapeIconsRegex=new RegExp("(\\\\)?".concat(iconsRegex.source),"g");function escapeIcons(n){return n.replace(escapeIconsRegex,(e,t)=>t?e:"\\".concat(e))}const markdownEscapedIconsRegex=new RegExp("\\\\".concat(iconsRegex.source),"g");function markdownEscapeEscapedIcons(n){return n.replace(markdownEscapedIconsRegex,e=>"\\".concat(e))}const stripIconsRegex=new RegExp("(\\s)?(\\\\)?".concat(iconsRegex.source,"(\\s)?"),"g");function stripIcons(n){return n.indexOf(iconStartMarker)===-1?n:n.replace(stripIconsRegex,(e,t,i,r)=>i?e:t||r||"")}function getCodiconAriaLabel(n){return n?n.replace(/\$\((.*?)\)/g,(e,t)=>" ".concat(t," ")).trim():""}const _parseIconsRegex=new RegExp("\\$\\(".concat(ThemeIcon.iconNameCharacter,"+\\)"),"g");function parseLabelWithIcons(n){_parseIconsRegex.lastIndex=0;let e="";const t=[];let i=0;for(;;){const r=_parseIconsRegex.lastIndex,g=_parseIconsRegex.exec(n),y=n.substring(r,g==null?void 0:g.index);if(y.length>0){e+=y;for(let k=0;k" ".repeat(r.length)).replace(/\>/gm,"\\>").replace(/\n/g,t===1?"\\\n":"\n\n"),this}appendMarkdown(e){return this.value+=e,this}appendCodeblock(e,t){return this.value+="\n".concat(appendEscapedMarkdownCodeBlockFence(t,e),"\n"),this}appendLink(e,t,i){return this.value+="[",this.value+=this._escape(t,"]"),this.value+="](",this.value+=this._escape(String(e),")"),i&&(this.value+=' "'.concat(this._escape(this._escape(i,'"'),")"),'"')),this.value+=")",this}_escape(e,t){const i=new RegExp(escapeRegExpCharacters(t),"g");return e.replace(i,(r,g)=>e.charAt(g-1)!=="\\"?"\\".concat(r):r)}}function isEmptyMarkdownString(n){return isMarkdownString(n)?!n.value:Array.isArray(n)?n.every(isEmptyMarkdownString):!0}function isMarkdownString(n){return n instanceof MarkdownString?!0:n&&typeof n=="object"?typeof n.value=="string"&&(typeof n.isTrusted=="boolean"||typeof n.isTrusted=="object"||n.isTrusted===void 0)&&(typeof n.supportThemeIcons=="boolean"||n.supportThemeIcons===void 0):!1}function markdownStringEqual(n,e){return n===e?!0:!n||!e?!1:n.value===e.value&&n.isTrusted===e.isTrusted&&n.supportThemeIcons===e.supportThemeIcons&&n.supportHtml===e.supportHtml&&(n.baseUri===e.baseUri||!!n.baseUri&&!!e.baseUri&&isEqual(URI.from(n.baseUri),URI.from(e.baseUri)))}function escapeMarkdownSyntaxTokens(n){return n.replace(/[\\`*_{}[\]()#+\-!~]/g,"\\$&")}function appendEscapedMarkdownCodeBlockFence(n,e){var t,i;const r=(i=(t=n.match(/^`+/gm))===null||t===void 0?void 0:t.reduce((y,k)=>y.length>k.length?y:k).length)!==null&&i!==void 0?i:0,g=r>=3?r+1:3;return["".concat("`".repeat(g)).concat(e),n,"".concat("`".repeat(g))].join("\n")}function escapeDoubleQuotes(n){return n.replace(/"/g,""")}function removeMarkdownEscapes(n){return n&&n.replace(/\\([\\`*_{}[\]()#+\-.!~])/g,"$1")}function parseHrefAndDimensions(n){const e=[],t=n.split("|").map(r=>r.trim());n=t[0];const i=t[1];if(i){const r=/height=(\d+)/.exec(i),g=/width=(\d+)/.exec(i),y=r?r[1]:"",k=g?g[1]:"",L=isFinite(parseInt(k)),V=isFinite(parseInt(y));L&&e.push('width="'.concat(k,'"')),V&&e.push('height="'.concat(y,'"'))}return{href:n,dimensions:e}}class IdGenerator{constructor(e){this._prefix=e,this._lastId=0}nextId(){return this._prefix+ ++this._lastId}}const defaultGenerator=new IdGenerator("id#");let __marked_exports={};(function(){function n(e,t){t(__marked_exports)}n.amd=!0,function(e,t){typeof n=="function"&&n.amd?n(["exports"],t):typeof exports=="object"&&typeof module<"u"?t(exports):(e=typeof globalThis<"u"?globalThis:e||self,t(e.marked={}))}(this,function(e){function t(bi,vi){for(var Li=0;Libi.length)&&(vi=bi.length);for(var Li=0,oi=new Array(vi);Li=bi.length?{done:!0}:{done:!1,value:bi[oi++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function k(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}e.defaults=k();function L(bi){e.defaults=bi}var V=/[&<>"']/,z=/[&<>"']/g,j=/[<>"']|&(?!#?\w+;)/,ie=/[<>"']|&(?!#?\w+;)/g,oe={"&":"&","<":"<",">":">",'"':""","'":"'"},re=function(vi){return oe[vi]};function ae(bi,vi){if(vi){if(V.test(bi))return bi.replace(z,re)}else if(j.test(bi))return bi.replace(ie,re);return bi}var le=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function de(bi){return bi.replace(le,function(vi,Li){return Li=Li.toLowerCase(),Li==="colon"?":":Li.charAt(0)==="#"?Li.charAt(1)==="x"?String.fromCharCode(parseInt(Li.substring(2),16)):String.fromCharCode(+Li.substring(1)):""})}var ue=/(^|[^\[])\^/g;function he(bi,vi){bi=typeof bi=="string"?bi:bi.source,vi=vi||"";var Li={replace:function(ii,mi){return mi=mi.source||mi,mi=mi.replace(ue,"$1"),bi=bi.replace(ii,mi),Li},getRegex:function(){return new RegExp(bi,vi)}};return Li}var pe=/[^\w:]/g,Ce=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function $e(bi,vi,Li){if(bi){var oi;try{oi=decodeURIComponent(de(Li)).replace(pe,"").toLowerCase()}catch(ii){return null}if(oi.indexOf("javascript:")===0||oi.indexOf("vbscript:")===0||oi.indexOf("data:")===0)return null}vi&&!Ce.test(Li)&&(Li=Ve(vi,Li));try{Li=encodeURI(Li).replace(/%25/g,"%")}catch(ii){return null}return Li}var xe={},Ie=/^[^:]+:\/*[^/]*$/,Ne=/^([^:]+:)[\s\S]*$/,Fe=/^([^:]+:\/*[^/]*)[\s\S]*$/;function Ve(bi,vi){xe[" "+bi]||(Ie.test(bi)?xe[" "+bi]=bi+"/":xe[" "+bi]=Ue(bi,"/",!0)),bi=xe[" "+bi];var Li=bi.indexOf(":")===-1;return vi.substring(0,2)==="//"?Li?vi:bi.replace(Ne,"$1")+vi:vi.charAt(0)==="/"?Li?vi:bi.replace(Fe,"$1")+vi:bi+vi}var Oe={exec:function(){}};function ze(bi){for(var vi=1,Li,oi;vi=0&&ti[Pt]==="\\";)Dt=!Dt;return Dt?"|":" |"}),oi=Li.split(/ \|/),ii=0;if(oi[0].trim()||oi.shift(),oi.length>0&&!oi[oi.length-1].trim()&&oi.pop(),oi.length>vi)oi.splice(vi);else for(;oi.length1;)vi&1&&(Li+=bi),vi>>=1,bi+=bi;return Li+bi}function kt(bi,vi,Li,oi){var ii=vi.href,mi=vi.title?ae(vi.title):null,yi=bi[1].replace(/\\([\[\]])/g,"$1");if(bi[0].charAt(0)!=="!"){oi.state.inLink=!0;var ti={type:"link",raw:Li,href:ii,title:mi,text:yi,tokens:oi.inlineTokens(yi)};return oi.state.inLink=!1,ti}return{type:"image",raw:Li,href:ii,title:mi,text:ae(yi)}}function ei(bi,vi){var Li=bi.match(/^(\s+)(?:```)/);if(Li===null)return vi;var oi=Li[1];return vi.split("\n").map(function(ii){var mi=ii.match(/^\s+/);if(mi===null)return ii;var yi=mi[0];return yi.length>=oi.length?ii.slice(oi.length):ii}).join("\n")}var jt=function(){function bi(Li){this.options=Li||e.defaults}var vi=bi.prototype;return vi.space=function(oi){var ii=this.rules.block.newline.exec(oi);if(ii&&ii[0].length>0)return{type:"space",raw:ii[0]}},vi.code=function(oi){var ii=this.rules.block.code.exec(oi);if(ii){var mi=ii[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:ii[0],codeBlockStyle:"indented",text:this.options.pedantic?mi:Ue(mi,"\n")}}},vi.fences=function(oi){var ii=this.rules.block.fences.exec(oi);if(ii){var mi=ii[0],yi=ei(mi,ii[3]||"");return{type:"code",raw:mi,lang:ii[2]?ii[2].trim():ii[2],text:yi}}},vi.heading=function(oi){var ii=this.rules.block.heading.exec(oi);if(ii){var mi=ii[2].trim();if(/#$/.test(mi)){var yi=Ue(mi,"#");(this.options.pedantic||!yi||/ $/.test(yi))&&(mi=yi.trim())}return{type:"heading",raw:ii[0],depth:ii[1].length,text:mi,tokens:this.lexer.inline(mi)}}},vi.hr=function(oi){var ii=this.rules.block.hr.exec(oi);if(ii)return{type:"hr",raw:ii[0]}},vi.blockquote=function(oi){var ii=this.rules.block.blockquote.exec(oi);if(ii){var mi=ii[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:ii[0],tokens:this.lexer.blockTokens(mi,[]),text:mi}}},vi.list=function(oi){var ii=this.rules.block.list.exec(oi);if(ii){var mi,yi,ti,Dt,Pt,ci,Ti,Mi,pi,ui,$i,di,Wi=ii[1].trim(),Gi=Wi.length>1,Zi={type:"list",raw:"",ordered:Gi,start:Gi?+Wi.slice(0,-1):"",loose:!1,items:[]};Wi=Gi?"\\d{1,9}\\"+Wi.slice(-1):"\\"+Wi,this.options.pedantic&&(Wi=Gi?Wi:"[*+-]");for(var vn=new RegExp("^( {0,3}"+Wi+")((?:[ ][^\\n]*)?(?:\\n|$))");oi&&(di=!1,!(!(ii=vn.exec(oi))||this.rules.block.hr.test(oi)));){if(mi=ii[0],oi=oi.substring(mi.length),Mi=ii[2].split("\n",1)[0],pi=oi.split("\n",1)[0],this.options.pedantic?(Dt=2,$i=Mi.trimLeft()):(Dt=ii[2].search(/[^ ]/),Dt=Dt>4?1:Dt,$i=Mi.slice(Dt),Dt+=ii[1].length),ci=!1,!Mi&&/^ *$/.test(pi)&&(mi+=pi+"\n",oi=oi.substring(pi.length+1),di=!0),!di)for(var Tn=new RegExp("^ {0,"+Math.min(3,Dt-1)+"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))"),In=new RegExp("^ {0,"+Math.min(3,Dt-1)+"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"),Rn=new RegExp("^ {0,"+Math.min(3,Dt-1)+"}(?:```|~~~)"),Bn=new RegExp("^ {0,"+Math.min(3,Dt-1)+"}#");oi&&(ui=oi.split("\n",1)[0],Mi=ui,this.options.pedantic&&(Mi=Mi.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!(Rn.test(Mi)||Bn.test(Mi)||Tn.test(Mi)||In.test(oi)));){if(Mi.search(/[^ ]/)>=Dt||!Mi.trim())$i+="\n"+Mi.slice(Dt);else if(!ci)$i+="\n"+Mi;else break;!ci&&!Mi.trim()&&(ci=!0),mi+=ui+"\n",oi=oi.substring(ui.length+1)}Zi.loose||(Ti?Zi.loose=!0:/\n *\n *$/.test(mi)&&(Ti=!0)),this.options.gfm&&(yi=/^\[[ xX]\] /.exec($i),yi&&(ti=yi[0]!=="[ ] ",$i=$i.replace(/^\[[ xX]\] +/,""))),Zi.items.push({type:"list_item",raw:mi,task:!!yi,checked:ti,loose:!1,text:$i}),Zi.raw+=mi}Zi.items[Zi.items.length-1].raw=mi.trimRight(),Zi.items[Zi.items.length-1].text=$i.trimRight(),Zi.raw=Zi.raw.trimRight();var Ln=Zi.items.length;for(Pt=0;Pt1)return!0}return!1});!Zi.loose&&Nn.length&&wn&&(Zi.loose=!0,Zi.items[Pt].loose=!0)}return Zi}},vi.html=function(oi){var ii=this.rules.block.html.exec(oi);if(ii){var mi={type:"html",raw:ii[0],pre:!this.options.sanitizer&&(ii[1]==="pre"||ii[1]==="script"||ii[1]==="style"),text:ii[0]};if(this.options.sanitize){var yi=this.options.sanitizer?this.options.sanitizer(ii[0]):ae(ii[0]);mi.type="paragraph",mi.text=yi,mi.tokens=this.lexer.inline(yi)}return mi}},vi.def=function(oi){var ii=this.rules.block.def.exec(oi);if(ii){ii[3]&&(ii[3]=ii[3].substring(1,ii[3].length-1));var mi=ii[1].toLowerCase().replace(/\s+/g," ");return{type:"def",tag:mi,raw:ii[0],href:ii[2],title:ii[3]}}},vi.table=function(oi){var ii=this.rules.block.table.exec(oi);if(ii){var mi={type:"table",header:qe(ii[1]).map(function(Ti){return{text:Ti}}),align:ii[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:ii[3]&&ii[3].trim()?ii[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(mi.header.length===mi.align.length){mi.raw=ii[0];var yi=mi.align.length,ti,Dt,Pt,ci;for(ti=0;ti/i.test(ii[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(ii[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(ii[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:ii[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(ii[0]):ae(ii[0]):ii[0]}},vi.link=function(oi){var ii=this.rules.inline.link.exec(oi);if(ii){var mi=ii[2].trim();if(!this.options.pedantic&&/^$/.test(mi))return;var yi=Ue(mi.slice(0,-1),"\\");if((mi.length-yi.length)%2===0)return}else{var ti=Et(ii[2],"()");if(ti>-1){var Dt=ii[0].indexOf("!")===0?5:4,Pt=Dt+ii[1].length+ti;ii[2]=ii[2].substring(0,ti),ii[0]=ii[0].substring(0,Pt).trim(),ii[3]=""}}var ci=ii[2],Ti="";if(this.options.pedantic){var Mi=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(ci);Mi&&(ci=Mi[1],Ti=Mi[3])}else Ti=ii[3]?ii[3].slice(1,-1):"";return ci=ci.trim(),/^$/.test(mi)?ci=ci.slice(1):ci=ci.slice(1,-1)),kt(ii,{href:ci&&ci.replace(this.rules.inline._escapes,"$1"),title:Ti&&Ti.replace(this.rules.inline._escapes,"$1")},ii[0],this.lexer)}},vi.reflink=function(oi,ii){var mi;if((mi=this.rules.inline.reflink.exec(oi))||(mi=this.rules.inline.nolink.exec(oi))){var yi=(mi[2]||mi[1]).replace(/\s+/g," ");if(yi=ii[yi.toLowerCase()],!yi||!yi.href){var ti=mi[0].charAt(0);return{type:"text",raw:ti,text:ti}}return kt(mi,yi,mi[0],this.lexer)}},vi.emStrong=function(oi,ii,mi){mi===void 0&&(mi="");var yi=this.rules.inline.emStrong.lDelim.exec(oi);if(yi&&!(yi[3]&&mi.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var ti=yi[1]||yi[2]||"";if(!ti||ti&&(mi===""||this.rules.inline.punctuation.exec(mi))){var Dt=yi[0].length-1,Pt,ci,Ti=Dt,Mi=0,pi=yi[0][0]==="*"?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(pi.lastIndex=0,ii=ii.slice(-1*oi.length+Dt);(yi=pi.exec(ii))!=null;)if(Pt=yi[1]||yi[2]||yi[3]||yi[4]||yi[5]||yi[6],!!Pt){if(ci=Pt.length,yi[3]||yi[4]){Ti+=ci;continue}else if((yi[5]||yi[6])&&Dt%3&&!((Dt+ci)%3)){Mi+=ci;continue}if(Ti-=ci,!(Ti>0)){if(ci=Math.min(ci,ci+Ti+Mi),Math.min(Dt,ci)%2){var ui=oi.slice(1,Dt+yi.index+ci);return{type:"em",raw:oi.slice(0,Dt+yi.index+ci+1),text:ui,tokens:this.lexer.inlineTokens(ui)}}var $i=oi.slice(2,Dt+yi.index+ci-1);return{type:"strong",raw:oi.slice(0,Dt+yi.index+ci+1),text:$i,tokens:this.lexer.inlineTokens($i)}}}}}},vi.codespan=function(oi){var ii=this.rules.inline.code.exec(oi);if(ii){var mi=ii[2].replace(/\n/g," "),yi=/[^ ]/.test(mi),ti=/^ /.test(mi)&&/ $/.test(mi);return yi&&ti&&(mi=mi.substring(1,mi.length-1)),mi=ae(mi,!0),{type:"codespan",raw:ii[0],text:mi}}},vi.br=function(oi){var ii=this.rules.inline.br.exec(oi);if(ii)return{type:"br",raw:ii[0]}},vi.del=function(oi){var ii=this.rules.inline.del.exec(oi);if(ii)return{type:"del",raw:ii[0],text:ii[2],tokens:this.lexer.inlineTokens(ii[2])}},vi.autolink=function(oi,ii){var mi=this.rules.inline.autolink.exec(oi);if(mi){var yi,ti;return mi[2]==="@"?(yi=ae(this.options.mangle?ii(mi[1]):mi[1]),ti="mailto:"+yi):(yi=ae(mi[1]),ti=yi),{type:"link",raw:mi[0],text:yi,href:ti,tokens:[{type:"text",raw:yi,text:yi}]}}},vi.url=function(oi,ii){var mi;if(mi=this.rules.inline.url.exec(oi)){var yi,ti;if(mi[2]==="@")yi=ae(this.options.mangle?ii(mi[0]):mi[0]),ti="mailto:"+yi;else{var Dt;do Dt=mi[0],mi[0]=this.rules.inline._backpedal.exec(mi[0])[0];while(Dt!==mi[0]);yi=ae(mi[0]),mi[1]==="www."?ti="http://"+yi:ti=yi}return{type:"link",raw:mi[0],text:yi,href:ti,tokens:[{type:"text",raw:yi,text:yi}]}}},vi.inlineText=function(oi,ii){var mi=this.rules.inline.text.exec(oi);if(mi){var yi;return this.lexer.state.inRawBlock?yi=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(mi[0]):ae(mi[0]):mi[0]:yi=ae(this.options.smartypants?ii(mi[0]):mi[0]),{type:"text",raw:mi[0],text:yi}}},bi}(),ri={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Oe,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/};ri._label=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ri._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,ri.def=he(ri.def).replace("label",ri._label).replace("title",ri._title).getRegex(),ri.bullet=/(?:[*+-]|\d{1,9}[.)])/,ri.listItemStart=he(/^( *)(bull) */).replace("bull",ri.bullet).getRegex(),ri.list=he(ri.list).replace(/bull/g,ri.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+ri.def.source+")").getRegex(),ri._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",ri._comment=/|$)/,ri.html=he(ri.html,"i").replace("comment",ri._comment).replace("tag",ri._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),ri.paragraph=he(ri._paragraph).replace("hr",ri.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ri._tag).getRegex(),ri.blockquote=he(ri.blockquote).replace("paragraph",ri.paragraph).getRegex(),ri.normal=ze({},ri),ri.gfm=ze({},ri.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),ri.gfm.table=he(ri.gfm.table).replace("hr",ri.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ri._tag).getRegex(),ri.gfm.paragraph=he(ri._paragraph).replace("hr",ri.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",ri.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",ri._tag).getRegex(),ri.pedantic=ze({},ri.normal,{html:he("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",ri._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Oe,paragraph:he(ri.normal._paragraph).replace("hr",ri.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",ri.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var ni={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Oe,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Oe,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\?@\\[\\]`^{|}~",ni.punctuation=he(ni.punctuation).replace(/punctuation/g,ni._punctuation).getRegex(),ni.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,ni.escapedEmSt=/\\\*|\\_/g,ni._comment=he(ri._comment).replace("(?:-->|$)","-->").getRegex(),ni.emStrong.lDelim=he(ni.emStrong.lDelim).replace(/punct/g,ni._punctuation).getRegex(),ni.emStrong.rDelimAst=he(ni.emStrong.rDelimAst,"g").replace(/punct/g,ni._punctuation).getRegex(),ni.emStrong.rDelimUnd=he(ni.emStrong.rDelimUnd,"g").replace(/punct/g,ni._punctuation).getRegex(),ni._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,ni._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,ni._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,ni.autolink=he(ni.autolink).replace("scheme",ni._scheme).replace("email",ni._email).getRegex(),ni._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,ni.tag=he(ni.tag).replace("comment",ni._comment).replace("attribute",ni._attribute).getRegex(),ni._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ni._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,ni._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,ni.link=he(ni.link).replace("label",ni._label).replace("href",ni._href).replace("title",ni._title).getRegex(),ni.reflink=he(ni.reflink).replace("label",ni._label).replace("ref",ri._label).getRegex(),ni.nolink=he(ni.nolink).replace("ref",ri._label).getRegex(),ni.reflinkSearch=he(ni.reflinkSearch,"g").replace("reflink",ni.reflink).replace("nolink",ni.nolink).getRegex(),ni.normal=ze({},ni),ni.pedantic=ze({},ni.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:he(/^!?\[(label)\]\((.*?)\)/).replace("label",ni._label).getRegex(),reflink:he(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ni._label).getRegex()}),ni.gfm=ze({},ni.normal,{escape:he(ni.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\.5&&(oi="x"+oi.toString(16)),vi+="&#"+oi+";";return vi}var Ri=function(){function bi(Li){this.tokens=[],this.tokens.links=Object.create(null),this.options=Li||e.defaults,this.options.tokenizer=this.options.tokenizer||new jt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};var oi={block:ri.normal,inline:ni.normal};this.options.pedantic?(oi.block=ri.pedantic,oi.inline=ni.pedantic):this.options.gfm&&(oi.block=ri.gfm,this.options.breaks?oi.inline=ni.breaks:oi.inline=ni.gfm),this.tokenizer.rules=oi}bi.lex=function(oi,ii){var mi=new bi(ii);return mi.lex(oi)},bi.lexInline=function(oi,ii){var mi=new bi(ii);return mi.inlineTokens(oi)};var vi=bi.prototype;return vi.lex=function(oi){oi=oi.replace(/\r\n|\r/g,"\n"),this.blockTokens(oi,this.tokens);for(var ii;ii=this.inlineQueue.shift();)this.inlineTokens(ii.src,ii.tokens);return this.tokens},vi.blockTokens=function(oi,ii){var mi=this;ii===void 0&&(ii=[]),this.options.pedantic?oi=oi.replace(/\t/g," ").replace(/^ +$/gm,""):oi=oi.replace(/^( *)(\t+)/gm,function(Ti,Mi,pi){return Mi+" ".repeat(pi.length)});for(var yi,ti,Dt,Pt;oi;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(function(Ti){return(yi=Ti.call({lexer:mi},oi,ii))?(oi=oi.substring(yi.raw.length),ii.push(yi),!0):!1}))){if(yi=this.tokenizer.space(oi)){oi=oi.substring(yi.raw.length),yi.raw.length===1&&ii.length>0?ii[ii.length-1].raw+="\n":ii.push(yi);continue}if(yi=this.tokenizer.code(oi)){oi=oi.substring(yi.raw.length),ti=ii[ii.length-1],ti&&(ti.type==="paragraph"||ti.type==="text")?(ti.raw+="\n"+yi.raw,ti.text+="\n"+yi.text,this.inlineQueue[this.inlineQueue.length-1].src=ti.text):ii.push(yi);continue}if(yi=this.tokenizer.fences(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.heading(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.hr(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.blockquote(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.list(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.html(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.def(oi)){oi=oi.substring(yi.raw.length),ti=ii[ii.length-1],ti&&(ti.type==="paragraph"||ti.type==="text")?(ti.raw+="\n"+yi.raw,ti.text+="\n"+yi.raw,this.inlineQueue[this.inlineQueue.length-1].src=ti.text):this.tokens.links[yi.tag]||(this.tokens.links[yi.tag]={href:yi.href,title:yi.title});continue}if(yi=this.tokenizer.table(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.lheading(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(Dt=oi,this.options.extensions&&this.options.extensions.startBlock&&function(){var Ti=1/0,Mi=oi.slice(1),pi=void 0;mi.options.extensions.startBlock.forEach(function(ui){pi=ui.call({lexer:this},Mi),typeof pi=="number"&&pi>=0&&(Ti=Math.min(Ti,pi))}),Ti<1/0&&Ti>=0&&(Dt=oi.substring(0,Ti+1))}(),this.state.top&&(yi=this.tokenizer.paragraph(Dt))){ti=ii[ii.length-1],Pt&&ti.type==="paragraph"?(ti.raw+="\n"+yi.raw,ti.text+="\n"+yi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ti.text):ii.push(yi),Pt=Dt.length!==oi.length,oi=oi.substring(yi.raw.length);continue}if(yi=this.tokenizer.text(oi)){oi=oi.substring(yi.raw.length),ti=ii[ii.length-1],ti&&ti.type==="text"?(ti.raw+="\n"+yi.raw,ti.text+="\n"+yi.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=ti.text):ii.push(yi);continue}if(oi){var ci="Infinite loop on byte: "+oi.charCodeAt(0);if(this.options.silent){console.error(ci);break}else throw new Error(ci)}}return this.state.top=!0,ii},vi.inline=function(oi,ii){return ii===void 0&&(ii=[]),this.inlineQueue.push({src:oi,tokens:ii}),ii},vi.inlineTokens=function(oi,ii){var mi=this;ii===void 0&&(ii=[]);var yi,ti,Dt,Pt=oi,ci,Ti,Mi;if(this.tokens.links){var pi=Object.keys(this.tokens.links);if(pi.length>0)for(;(ci=this.tokenizer.rules.inline.reflinkSearch.exec(Pt))!=null;)pi.includes(ci[0].slice(ci[0].lastIndexOf("[")+1,-1))&&(Pt=Pt.slice(0,ci.index)+"["+Lt("a",ci[0].length-2)+"]"+Pt.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(ci=this.tokenizer.rules.inline.blockSkip.exec(Pt))!=null;)Pt=Pt.slice(0,ci.index)+"["+Lt("a",ci[0].length-2)+"]"+Pt.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(ci=this.tokenizer.rules.inline.escapedEmSt.exec(Pt))!=null;)Pt=Pt.slice(0,ci.index)+"++"+Pt.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;oi;)if(Ti||(Mi=""),Ti=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(function($i){return(yi=$i.call({lexer:mi},oi,ii))?(oi=oi.substring(yi.raw.length),ii.push(yi),!0):!1}))){if(yi=this.tokenizer.escape(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.tag(oi)){oi=oi.substring(yi.raw.length),ti=ii[ii.length-1],ti&&yi.type==="text"&&ti.type==="text"?(ti.raw+=yi.raw,ti.text+=yi.text):ii.push(yi);continue}if(yi=this.tokenizer.link(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.reflink(oi,this.tokens.links)){oi=oi.substring(yi.raw.length),ti=ii[ii.length-1],ti&&yi.type==="text"&&ti.type==="text"?(ti.raw+=yi.raw,ti.text+=yi.text):ii.push(yi);continue}if(yi=this.tokenizer.emStrong(oi,Pt,Mi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.codespan(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.br(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.del(oi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(yi=this.tokenizer.autolink(oi,wi)){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(!this.state.inLink&&(yi=this.tokenizer.url(oi,wi))){oi=oi.substring(yi.raw.length),ii.push(yi);continue}if(Dt=oi,this.options.extensions&&this.options.extensions.startInline&&function(){var $i=1/0,di=oi.slice(1),Wi=void 0;mi.options.extensions.startInline.forEach(function(Gi){Wi=Gi.call({lexer:this},di),typeof Wi=="number"&&Wi>=0&&($i=Math.min($i,Wi))}),$i<1/0&&$i>=0&&(Dt=oi.substring(0,$i+1))}(),yi=this.tokenizer.inlineText(Dt,Ci)){oi=oi.substring(yi.raw.length),yi.raw.slice(-1)!=="_"&&(Mi=yi.raw.slice(-1)),Ti=!0,ti=ii[ii.length-1],ti&&ti.type==="text"?(ti.raw+=yi.raw,ti.text+=yi.text):ii.push(yi);continue}if(oi){var ui="Infinite loop on byte: "+oi.charCodeAt(0);if(this.options.silent){console.error(ui);break}else throw new Error(ui)}}return ii},i(bi,null,[{key:"rules",get:function(){return{block:ri,inline:ni}}}]),bi}(),ai=function(){function bi(Li){this.options=Li||e.defaults}var vi=bi.prototype;return vi.code=function(oi,ii,mi){var yi=(ii||"").match(/\S*/)[0];if(this.options.highlight){var ti=this.options.highlight(oi,yi);ti!=null&&ti!==oi&&(mi=!0,oi=ti)}return oi=oi.replace(/\n$/,"")+"\n",yi?'
    '+(mi?oi:ae(oi,!0))+"
    \n":"
    "+(mi?oi:ae(oi,!0))+"
    \n"},vi.blockquote=function(oi){return"
    \n"+oi+"
    \n"},vi.html=function(oi){return oi},vi.heading=function(oi,ii,mi,yi){if(this.options.headerIds){var ti=this.options.headerPrefix+yi.slug(mi);return"'+oi+"\n"}return""+oi+"\n"},vi.hr=function(){return this.options.xhtml?"
    \n":"
    \n"},vi.list=function(oi,ii,mi){var yi=ii?"ol":"ul",ti=ii&&mi!==1?' start="'+mi+'"':"";return"<"+yi+ti+">\n"+oi+"\n"},vi.listitem=function(oi){return"
  • "+oi+"
  • \n"},vi.checkbox=function(oi){return" "},vi.paragraph=function(oi){return"

    "+oi+"

    \n"},vi.table=function(oi,ii){return ii&&(ii=""+ii+""),"\n\n"+oi+"\n"+ii+"
    \n"},vi.tablerow=function(oi){return"\n"+oi+"\n"},vi.tablecell=function(oi,ii){var mi=ii.header?"th":"td",yi=ii.align?"<"+mi+' align="'+ii.align+'">':"<"+mi+">";return yi+oi+("\n")},vi.strong=function(oi){return""+oi+""},vi.em=function(oi){return""+oi+""},vi.codespan=function(oi){return""+oi+""},vi.br=function(){return this.options.xhtml?"
    ":"
    "},vi.del=function(oi){return""+oi+""},vi.link=function(oi,ii,mi){if(oi=$e(this.options.sanitize,this.options.baseUrl,oi),oi===null)return mi;var yi='",yi},vi.image=function(oi,ii,mi){if(oi=$e(this.options.sanitize,this.options.baseUrl,oi),oi===null)return mi;var yi=''+mi+'":">",yi},vi.text=function(oi){return oi},bi}(),hi=function(){function bi(){}var vi=bi.prototype;return vi.strong=function(oi){return oi},vi.em=function(oi){return oi},vi.codespan=function(oi){return oi},vi.del=function(oi){return oi},vi.html=function(oi){return oi},vi.text=function(oi){return oi},vi.link=function(oi,ii,mi){return""+mi},vi.image=function(oi,ii,mi){return""+mi},vi.br=function(){return""},bi}(),xi=function(){function bi(){this.seen={}}var vi=bi.prototype;return vi.serialize=function(oi){return oi.toLowerCase().trim().replace(/<[!\/a-z].*?>/ig,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")},vi.getNextSafeSlug=function(oi,ii){var mi=oi,yi=0;if(this.seen.hasOwnProperty(mi)){yi=this.seen[oi];do yi++,mi=oi+"-"+yi;while(this.seen.hasOwnProperty(mi))}return ii||(this.seen[oi]=yi,this.seen[mi]=0),mi},vi.slug=function(oi,ii){ii===void 0&&(ii={});var mi=this.serialize(oi);return this.getNextSafeSlug(mi,ii.dryrun)},bi}(),Oi=function(){function bi(Li){this.options=Li||e.defaults,this.options.renderer=this.options.renderer||new ai,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new hi,this.slugger=new xi}bi.parse=function(oi,ii){var mi=new bi(ii);return mi.parse(oi)},bi.parseInline=function(oi,ii){var mi=new bi(ii);return mi.parseInline(oi)};var vi=bi.prototype;return vi.parse=function(oi,ii){ii===void 0&&(ii=!0);var mi="",yi,ti,Dt,Pt,ci,Ti,Mi,pi,ui,$i,di,Wi,Gi,Zi,vn,Tn,In,Rn,Bn,Ln=oi.length;for(yi=0;yi0&&vn.tokens[0].type==="paragraph"?(vn.tokens[0].text=Rn+" "+vn.tokens[0].text,vn.tokens[0].tokens&&vn.tokens[0].tokens.length>0&&vn.tokens[0].tokens[0].type==="text"&&(vn.tokens[0].tokens[0].text=Rn+" "+vn.tokens[0].tokens[0].text)):vn.tokens.unshift({type:"text",text:Rn}):Zi+=Rn),Zi+=this.parse(vn.tokens,Gi),ui+=this.renderer.listitem(Zi,In,Tn);mi+=this.renderer.list(ui,di,Wi);continue}case"html":{mi+=this.renderer.html($i.text);continue}case"paragraph":{mi+=this.renderer.paragraph(this.parseInline($i.tokens));continue}case"text":{for(ui=$i.tokens?this.parseInline($i.tokens):$i.text;yi+1"u"||bi===null)throw new Error("marked(): input parameter is undefined or null");if(typeof bi!="string")throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(bi)+", string expected");if(typeof vi=="function"&&(Li=vi,vi=null),vi=ze({},Ei.defaults,vi||{}),At(vi),Li){var oi=vi.highlight,ii;try{ii=Ri.lex(bi,vi)}catch(Pt){return Li(Pt)}var mi=function(ci){var Ti;if(!ci)try{vi.walkTokens&&Ei.walkTokens(ii,vi.walkTokens),Ti=Oi.parse(ii,vi)}catch(Mi){ci=Mi}return vi.highlight=oi,ci?Li(ci):Li(null,Ti)};if(!oi||oi.length<3||(delete vi.highlight,!ii.length))return mi();var yi=0;Ei.walkTokens(ii,function(Pt){Pt.type==="code"&&(yi++,setTimeout(function(){oi(Pt.text,Pt.lang,function(ci,Ti){if(ci)return mi(ci);Ti!=null&&Ti!==Pt.text&&(Pt.text=Ti,Pt.escaped=!0),yi--,yi===0&&mi()})},0))}),yi===0&&mi();return}function ti(Pt){if(Pt.message+="\nPlease report this to https://github.com/markedjs/marked.",vi.silent)return"

    An error occurred:

    "+ae(Pt.message+"",!0)+"
    ";throw Pt}try{var Dt=Ri.lex(bi,vi);if(vi.walkTokens){if(vi.async)return Promise.all(Ei.walkTokens(Dt,vi.walkTokens)).then(function(){return Oi.parse(Dt,vi)}).catch(ti);Ei.walkTokens(Dt,vi.walkTokens)}return Oi.parse(Dt,vi)}catch(Pt){ti(Pt)}}Ei.options=Ei.setOptions=function(bi){return ze(Ei.defaults,bi),L(Ei.defaults),Ei},Ei.getDefaults=k,Ei.defaults=e.defaults,Ei.use=function(){for(var bi=arguments.length,vi=new Array(bi),Li=0;Li"u"||bi===null)throw new Error("marked.parseInline(): input parameter is undefined or null");if(typeof bi!="string")throw new Error("marked.parseInline(): input parameter is of type "+Object.prototype.toString.call(bi)+", string expected");vi=ze({},Ei.defaults,vi||{}),At(vi);try{var Li=Ri.lexInline(bi,vi);return vi.walkTokens&&Ei.walkTokens(Li,vi.walkTokens),Oi.parseInline(Li,vi)}catch(oi){if(oi.message+="\nPlease report this to https://github.com/markedjs/marked.",vi.silent)return"

    An error occurred:

    "+ae(oi.message+"",!0)+"
    ";throw oi}},Ei.Parser=Oi,Ei.parser=Oi.parse,Ei.Renderer=ai,Ei.TextRenderer=hi,Ei.Lexer=Ri,Ei.lexer=Ri.lex,Ei.Tokenizer=jt,Ei.Slugger=xi,Ei.parse=Ei;var si=Ei.options,fi=Ei.setOptions,li=Ei.use,Di=Ei.walkTokens,ki=Ei.parseInline,Ai=Ei,Ki=Oi.parse,zi=Ri.lex;e.Lexer=Ri,e.Parser=Oi,e.Renderer=ai,e.Slugger=xi,e.TextRenderer=hi,e.Tokenizer=jt,e.getDefaults=k,e.lexer=zi,e.marked=Ei,e.options=si,e.parse=Ai,e.parseInline=ki,e.parser=Ki,e.setOptions=fi,e.use=li,e.walkTokens=Di,Object.defineProperty(e,"__esModule",{value:!0})})})();__marked_exports.Lexer||exports.Lexer;__marked_exports.Parser||exports.Parser;__marked_exports.Renderer||exports.Renderer;__marked_exports.Slugger||exports.Slugger;__marked_exports.TextRenderer||exports.TextRenderer;__marked_exports.Tokenizer||exports.Tokenizer;__marked_exports.getDefaults||exports.getDefaults;__marked_exports.lexer||exports.lexer;var marked=__marked_exports.marked||exports.marked;__marked_exports.options||exports.options;__marked_exports.parse||exports.parse;__marked_exports.parseInline||exports.parseInline;__marked_exports.parser||exports.parser;__marked_exports.setOptions||exports.setOptions;__marked_exports.use||exports.use;__marked_exports.walkTokens||exports.walkTokens;function stringify(n){return JSON.stringify(n,replacer)}function parse$1(n){let e=JSON.parse(n);return e=revive(e),e}function replacer(n,e){return e instanceof RegExp?{$mid:2,source:e.source,flags:e.flags}:e}function revive(n,e=0){if(!n||e>200)return n;if(typeof n=="object"){switch(n.$mid){case 1:return URI.revive(n);case 2:return new RegExp(n.source,n.flags);case 17:return new Date(n.source)}if(n instanceof VSBuffer||n instanceof Uint8Array)return n;if(Array.isArray(n))for(let t=0;t{let i=[],r=[];return n&&({href:n,dimensions:i}=parseHrefAndDimensions(n),r.push('src="'.concat(escapeDoubleQuotes(n),'"'))),t&&r.push('alt="'.concat(escapeDoubleQuotes(t),'"')),e&&r.push('title="'.concat(escapeDoubleQuotes(e),'"')),i.length&&(r=r.concat(i)),""},paragraph:n=>"

    ".concat(n,"

    "),link:(n,e,t)=>typeof n!="string"?"":(n===t&&(t=removeMarkdownEscapes(t)),e=typeof e=="string"?escapeDoubleQuotes(removeMarkdownEscapes(e)):"",n=removeMarkdownEscapes(n),n=n.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'"),'
    ').concat(t,""))});function renderMarkdown(n,e={},t={}){var i,r;const g=new DisposableStore;let y=!1;const k=createElement$1(e),L=function(de){let ue;try{ue=parse$1(decodeURIComponent(de))}catch(he){}return ue?(ue=cloneAndChange(ue,he=>{if(n.uris&&n.uris[he])return URI.revive(n.uris[he])}),encodeURIComponent(JSON.stringify(ue))):de},V=function(de,ue){const he=n.uris&&n.uris[de];let pe=URI.revive(he);return ue?de.startsWith(Schemas.data+":")?de:(pe||(pe=URI.parse(de)),FileAccess.uriToBrowserUri(pe).toString(!0)):!pe||URI.parse(de).toString()===pe.toString()?de:(pe.query&&(pe=pe.with({query:L(pe.query)})),pe.toString())},z=new marked.Renderer;z.image=defaultMarkedRenderers.image,z.link=defaultMarkedRenderers.link,z.paragraph=defaultMarkedRenderers.paragraph;const j=[],ie=[];if(e.codeBlockRendererSync?z.code=(de,ue)=>{const he=defaultGenerator.nextId(),pe=e.codeBlockRendererSync(postProcessCodeBlockLanguageId(ue),de);return ie.push([he,pe]),'
    ').concat(escape(de),"
    ")}:e.codeBlockRenderer&&(z.code=(de,ue)=>{const he=defaultGenerator.nextId(),pe=e.codeBlockRenderer(postProcessCodeBlockLanguageId(ue),de);return j.push(pe.then(Ce=>[he,Ce])),'
    ').concat(escape(de),"
    ")}),e.actionHandler){const de=function(pe){let Ce=pe.target;if(!(Ce.tagName!=="A"&&(Ce=Ce.parentElement,!Ce||Ce.tagName!=="A")))try{let $e=Ce.dataset.href;$e&&(n.baseUri&&($e=resolveWithBaseUri(URI.from(n.baseUri),$e)),e.actionHandler.callback($e,pe))}catch($e){onUnexpectedError($e)}finally{pe.preventDefault()}},ue=e.actionHandler.disposables.add(new DomEmitter(k,"click")),he=e.actionHandler.disposables.add(new DomEmitter(k,"auxclick"));e.actionHandler.disposables.add(Event$1.any(ue.event,he.event)(pe=>{const Ce=new StandardMouseEvent(getWindow$1(k),pe);!Ce.leftButton&&!Ce.middleButton||de(Ce)})),e.actionHandler.disposables.add(addDisposableListener(k,"keydown",pe=>{const Ce=new StandardKeyboardEvent(pe);!Ce.equals(10)&&!Ce.equals(3)||de(Ce)}))}n.supportHtml||(t.sanitizer=de=>(n.isTrusted?de.match(/^(]+>)|(<\/\s*span>)$/):void 0)?de:"",t.sanitize=!0,t.silent=!0),t.renderer=z;let oe=(i=n.value)!==null&&i!==void 0?i:"";oe.length>1e5&&(oe="".concat(oe.substr(0,1e5),"…")),n.supportThemeIcons&&(oe=markdownEscapeEscapedIcons(oe));let re;if(e.fillInIncompleteTokens){const de={...marked.defaults,...t},ue=marked.lexer(oe,de),he=fillInIncompleteTokens(ue);re=marked.parser(he,de)}else re=marked.parse(oe,t);n.supportThemeIcons&&(re=renderLabelWithIcons(re).map(ue=>typeof ue=="string"?ue:ue.outerHTML).join(""));const le=new DOMParser().parseFromString(sanitizeRenderedMarkdown(n,re),"text/html");if(le.body.querySelectorAll("img").forEach(de=>{const ue=de.getAttribute("src");if(ue){let he=ue;try{n.baseUri&&(he=resolveWithBaseUri(URI.from(n.baseUri),he))}catch(pe){}de.src=V(he,!0)}}),le.body.querySelectorAll("a").forEach(de=>{const ue=de.getAttribute("href");if(de.setAttribute("href",""),!ue||/^data:|javascript:/i.test(ue)||/^command:/i.test(ue)&&!n.isTrusted||/^command:(\/\/\/)?_workbench\.downloadResource/i.test(ue))de.replaceWith(...de.childNodes);else{let he=V(ue,!1);n.baseUri&&(he=resolveWithBaseUri(URI.from(n.baseUri),ue)),de.dataset.href=he}}),k.innerHTML=sanitizeRenderedMarkdown(n,le.body.innerHTML),j.length>0)Promise.all(j).then(de=>{var ue,he;if(y)return;const pe=new Map(de),Ce=k.querySelectorAll("div[data-code]");for(const $e of Ce){const xe=pe.get((ue=$e.dataset.code)!==null&&ue!==void 0?ue:"");xe&&reset($e,xe)}(he=e.asyncRenderCallback)===null||he===void 0||he.call(e)});else if(ie.length>0){const de=new Map(ie),ue=k.querySelectorAll("div[data-code]");for(const he of ue){const pe=de.get((r=he.dataset.code)!==null&&r!==void 0?r:"");pe&&reset(he,pe)}}if(e.asyncRenderCallback)for(const de of k.getElementsByTagName("img")){const ue=g.add(addDisposableListener(de,"load",()=>{ue.dispose(),e.asyncRenderCallback()}))}return{element:k,dispose:()=>{y=!0,g.dispose()}}}function postProcessCodeBlockLanguageId(n){if(!n)return"";const e=n.split(/[\s+|:|,|\{|\?]/,1);return e.length?e[0]:n}function resolveWithBaseUri(n,e){return/^\w[\w\d+.-]*:/.test(e)?e:n.path.endsWith("/")?resolvePath(n,e).toString():resolvePath(dirname(n),e).toString()}function sanitizeRenderedMarkdown(n,e){const{config:t,allowedSchemes:i}=getSanitizerOptions(n);addHook("uponSanitizeAttribute",(g,y)=>{var k;if(y.attrName==="style"||y.attrName==="class"){if(g.tagName==="SPAN"){if(y.attrName==="style"){y.keepAttr=/^(color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?(background-color\:(#[0-9a-fA-F]+|var\(--vscode(-[a-zA-Z]+)+\));)?$/.test(y.attrValue);return}else if(y.attrName==="class"){y.keepAttr=/^codicon codicon-[a-z\-]+( codicon-modifier-[a-z\-]+)?$/.test(y.attrValue);return}}y.keepAttr=!1;return}else if(g.tagName==="INPUT"&&((k=g.attributes.getNamedItem("type"))===null||k===void 0?void 0:k.value)==="checkbox"){if(y.attrName==="type"&&y.attrValue==="checkbox"||y.attrName==="disabled"||y.attrName==="checked"){y.keepAttr=!0;return}y.keepAttr=!1}}),addHook("uponSanitizeElement",(g,y)=>{var k,L;y.tagName==="input"&&(((k=g.attributes.getNamedItem("type"))===null||k===void 0?void 0:k.value)==="checkbox"?g.setAttribute("disabled",""):(L=g.parentElement)===null||L===void 0||L.removeChild(g))});const r=hookDomPurifyHrefAndSrcSanitizer(i);try{return sanitize$1(e,{...t,RETURN_TRUSTED_TYPE:!0})}finally{removeHook("uponSanitizeAttribute"),r.dispose()}}const allowedMarkdownAttr=["align","autoplay","alt","checked","class","controls","data-code","data-href","disabled","draggable","height","href","loop","muted","playsinline","poster","src","style","target","title","type","width","start"];function getSanitizerOptions(n){const e=[Schemas.http,Schemas.https,Schemas.mailto,Schemas.data,Schemas.file,Schemas.vscodeFileResource,Schemas.vscodeRemote,Schemas.vscodeRemoteResource];return n.isTrusted&&e.push(Schemas.command),{config:{ALLOWED_TAGS:[...basicMarkupHtmlTags],ALLOWED_ATTR:allowedMarkdownAttr,ALLOW_UNKNOWN_PROTOCOLS:!0},allowedSchemes:e}}function renderStringAsPlaintext(n){return typeof n=="string"?n:renderMarkdownAsPlaintext(n)}function renderMarkdownAsPlaintext(n){var e;let t=(e=n.value)!==null&&e!==void 0?e:"";t.length>1e5&&(t="".concat(t.substr(0,1e5),"…"));const i=marked.parse(t,{renderer:plainTextRenderer.value}).replace(/&(#\d+|[a-zA-Z]+);/g,r=>{var g;return(g=unescapeInfo.get(r))!==null&&g!==void 0?g:r});return sanitizeRenderedMarkdown({isTrusted:!1},i).toString()}const unescapeInfo=new Map([[""",'"'],[" "," "],["&","&"],["'","'"],["<","<"],[">",">"]]),plainTextRenderer=new Lazy(()=>{const n=new marked.Renderer;return n.code=e=>e,n.blockquote=e=>e,n.html=e=>"",n.heading=(e,t,i)=>e+"\n",n.hr=()=>"",n.list=(e,t)=>e,n.listitem=e=>e+"\n",n.paragraph=e=>e+"\n",n.table=(e,t)=>e+t+"\n",n.tablerow=e=>e,n.tablecell=(e,t)=>e+" ",n.strong=e=>e,n.em=e=>e,n.codespan=e=>e,n.br=()=>"\n",n.del=e=>e,n.image=(e,t,i)=>"",n.text=e=>e,n.link=(e,t,i)=>i,n});function mergeRawTokenText(n){let e="";return n.forEach(t=>{e+=t.raw}),e}function completeSingleLinePattern(n){var e,t;for(let i=0;ihasStartOfLinkTarget(k.raw)))return completeLinkText(n)}}}}function hasStartOfLinkTarget(n){return!!n.match(/^[^\[]*\]\([^\)]*$/)}function fillInIncompleteTokens(n){let e,t;for(e=0;e"u"&&y.match(/^\s*\|/)){const k=y.match(/(\|[^\|]+)(?=\||$)/g);k&&(i=k.length)}else if(typeof i=="number")if(y.match(/^\s*\|/)){if(g!==t.length-1)return;r=!0}else return}if(typeof i=="number"&&i>0){const g=r?t.slice(0,-1).join("\n"):e,y=!!g.match(/\|\s*$/),k=g+(y?"":"|")+"\n|".concat(" --- |".repeat(i));return marked.lexer(k)}}var __decorate$2a=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$21=function(n,e){return function(t,i){e(t,i,n)}},MarkdownRenderer_1;let MarkdownRenderer=MarkdownRenderer_1=class{constructor(e,t,i){this._options=e,this._languageService=t,this._openerService=i,this._onDidRenderAsync=new Emitter$1,this.onDidRenderAsync=this._onDidRenderAsync.event}dispose(){this._onDidRenderAsync.dispose()}render(e,t,i){if(!e)return{element:document.createElement("span"),dispose:()=>{}};const r=new DisposableStore,g=r.add(renderMarkdown(e,{...this._getRenderOptions(e,r),...t},i));return g.element.classList.add("rendered-markdown"),{element:g.element,dispose:()=>r.dispose()}}_getRenderOptions(e,t){return{codeBlockRenderer:async(i,r)=>{var g,y,k;let L;i?L=this._languageService.getLanguageIdByLanguageName(i):this._options.editor&&(L=(g=this._options.editor.getModel())===null||g===void 0?void 0:g.getLanguageId()),L||(L=PLAINTEXT_LANGUAGE_ID);const V=await tokenizeToString(this._languageService,r,L),z=document.createElement("span");if(z.innerHTML=(k=(y=MarkdownRenderer_1._ttpTokenizer)===null||y===void 0?void 0:y.createHTML(V))!==null&&k!==void 0?k:V,this._options.editor){const j=this._options.editor.getOption(50);applyFontInfo(z,j)}else this._options.codeBlockFontFamily&&(z.style.fontFamily=this._options.codeBlockFontFamily);return this._options.codeBlockFontSize!==void 0&&(z.style.fontSize=this._options.codeBlockFontSize),z},asyncRenderCallback:()=>this._onDidRenderAsync.fire(),actionHandler:{callback:i=>openLinkFromMarkdown(this._openerService,i,e.isTrusted),disposables:t}}}};MarkdownRenderer._ttpTokenizer=createTrustedTypesPolicy("tokenizeToString",{createHTML(n){return n}});MarkdownRenderer=MarkdownRenderer_1=__decorate$2a([__param$21(1,ILanguageService),__param$21(2,IOpenerService)],MarkdownRenderer);async function openLinkFromMarkdown(n,e,t){try{return await n.open(e,{fromUserGesture:!0,allowContributedOpeners:!0,allowCommands:toAllowCommandsOption(t)})}catch(i){return onUnexpectedError(i),!1}}function toAllowCommandsOption(n){return n===!0?!0:n&&Array.isArray(n.enabledCommands)?n.enabledCommands:!1}var __decorate$29=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$20=function(n,e){return function(t,i){e(t,i,n)}};const $$d=$$f;let HoverWidget=class extends Widget$1{get _targetWindow(){return getWindow$1(this._target.targetElements[0])}get _targetDocumentElement(){return getWindow$1(this._target.targetElements[0]).document.documentElement}get isDisposed(){return this._isDisposed}get isMouseIn(){return this._lockMouseTracker.isMouseIn}get domNode(){return this._hover.containerDomNode}get onDispose(){return this._onDispose.event}get onRequestLayout(){return this._onRequestLayout.event}get anchor(){return this._hoverPosition===2?0:1}get x(){return this._x}get y(){return this._y}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked!==e&&(this._isLocked=e,this._hoverContainer.classList.toggle("locked",this._isLocked))}constructor(e,t,i,r,g,y){var k,L,V,z,j,ie,oe,re;super(),this._keybindingService=t,this._configurationService=i,this._openerService=r,this._instantiationService=g,this._accessibilityService=y,this._messageListeners=new DisposableStore,this._isDisposed=!1,this._forcePosition=!1,this._x=0,this._y=0,this._isLocked=!1,this._enableFocusTraps=!1,this._addedFocusTrap=!1,this._onDispose=this._register(new Emitter$1),this._onRequestLayout=this._register(new Emitter$1),this._linkHandler=e.linkHandler||(pe=>openLinkFromMarkdown(this._openerService,pe,isMarkdownString(e.content)?e.content.isTrusted:void 0)),this._target="targetElements"in e.target?e.target:new ElementHoverTarget(e.target),this._hoverPointer=!((k=e.appearance)===null||k===void 0)&&k.showPointer?$$d("div.workbench-hover-pointer"):void 0,this._hover=this._register(new HoverWidget$1),this._hover.containerDomNode.classList.add("workbench-hover","fadeIn"),!((L=e.appearance)===null||L===void 0)&&L.compact&&this._hover.containerDomNode.classList.add("workbench-hover","compact"),!((V=e.appearance)===null||V===void 0)&&V.skipFadeInAnimation&&this._hover.containerDomNode.classList.add("skip-fade-in"),e.additionalClasses&&this._hover.containerDomNode.classList.add(...e.additionalClasses),!((z=e.position)===null||z===void 0)&&z.forcePosition&&(this._forcePosition=!0),e.trapFocus&&(this._enableFocusTraps=!0),this._hoverPosition=(ie=(j=e.position)===null||j===void 0?void 0:j.hoverPosition)!==null&&ie!==void 0?ie:3,this.onmousedown(this._hover.containerDomNode,pe=>pe.stopPropagation()),this.onkeydown(this._hover.containerDomNode,pe=>{pe.equals(9)&&this.dispose()}),this._register(addDisposableListener(this._targetWindow,"blur",()=>this.dispose()));const ae=$$d("div.hover-row.markdown-hover"),le=$$d("div.hover-contents");if(typeof e.content=="string")le.textContent=e.content,le.style.whiteSpace="pre-wrap";else if(e.content instanceof HTMLElement)le.appendChild(e.content),le.classList.add("html-hover-contents");else{const pe=e.content,Ce=this._instantiationService.createInstance(MarkdownRenderer,{codeBlockFontFamily:this._configurationService.getValue("editor").fontFamily||EDITOR_FONT_DEFAULTS.fontFamily}),{element:$e}=Ce.render(pe,{actionHandler:{callback:xe=>this._linkHandler(xe),disposables:this._messageListeners},asyncRenderCallback:()=>{le.classList.add("code-hover-contents"),this.layout(),this._onRequestLayout.fire()}});le.appendChild($e)}if(ae.appendChild(le),this._hover.contentsDomNode.appendChild(ae),e.actions&&e.actions.length>0){const pe=$$d("div.hover-row.status-bar"),Ce=$$d("div.actions");e.actions.forEach($e=>{const xe=this._keybindingService.lookupKeybinding($e.commandId),Ie=xe?xe.getLabel():null;HoverAction.render(Ce,{label:$e.label,commandId:$e.commandId,run:Ne=>{$e.run(Ne),this.dispose()},iconClass:$e.iconClass},Ie)}),pe.appendChild(Ce),this._hover.containerDomNode.appendChild(pe)}this._hoverContainer=$$d("div.workbench-hover-container"),this._hoverPointer&&this._hoverContainer.appendChild(this._hoverPointer),this._hoverContainer.appendChild(this._hover.containerDomNode);let de;if(e.actions&&e.actions.length>0?de=!1:((oe=e.persistence)===null||oe===void 0?void 0:oe.hideOnHover)===void 0?de=typeof e.content=="string"||isMarkdownString(e.content)&&!e.content.value.includes("](")&&!e.content.value.includes(""):de=e.persistence.hideOnHover,de&&(!((re=e.appearance)===null||re===void 0)&&re.showHoverHint)){const pe=$$d("div.hover-row.status-bar"),Ce=$$d("div.info");Ce.textContent=localize("hoverhint","Hold {0} key to mouse over",isMacintosh?"Option":"Alt"),pe.appendChild(Ce),this._hover.containerDomNode.appendChild(pe)}const ue=[...this._target.targetElements];de||ue.push(this._hoverContainer);const he=this._register(new CompositeMouseTracker(ue));if(this._register(he.onMouseOut(()=>{this._isLocked||this.dispose()})),de){const pe=[...this._target.targetElements,this._hoverContainer];this._lockMouseTracker=this._register(new CompositeMouseTracker(pe)),this._register(this._lockMouseTracker.onMouseOut(()=>{this._isLocked||this.dispose()}))}else this._lockMouseTracker=he}addFocusTrap(){if(!this._enableFocusTraps||this._addedFocusTrap)return;this._addedFocusTrap=!0;const e=this._hover.containerDomNode,t=this.findLastFocusableChild(this._hover.containerDomNode);if(t){const i=prepend$1(this._hoverContainer,$$d("div")),r=append$1(this._hoverContainer,$$d("div"));i.tabIndex=0,r.tabIndex=0,this._register(addDisposableListener(r,"focus",g=>{e.focus(),g.preventDefault()})),this._register(addDisposableListener(i,"focus",g=>{t.focus(),g.preventDefault()}))}}findLastFocusableChild(e){if(e.hasChildNodes())for(let t=0;t=0)return g}const r=this.findLastFocusableChild(i);if(r)return r}}render(e){var t;e.appendChild(this._hoverContainer);const r=this._hoverContainer.contains(this._hoverContainer.ownerDocument.activeElement)&&getHoverAccessibleViewHint(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(t=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||t===void 0?void 0:t.getAriaLabel());r&&status(r),this.layout(),this.addFocusTrap()}layout(){this._hover.containerDomNode.classList.remove("right-aligned"),this._hover.contentsDomNode.style.maxHeight="";const e=z=>{const j=getDomNodeZoomLevel(z),ie=z.getBoundingClientRect();return{top:ie.top*j,bottom:ie.bottom*j,right:ie.right*j,left:ie.left*j}},t=this._target.targetElements.map(z=>e(z)),{top:i,right:r,bottom:g,left:y}=t[0],k=r-y,L=g-i,V={top:i,right:r,bottom:g,left:y,width:k,height:L,center:{x:y+k/2,y:i+L/2}};if(this.adjustHorizontalHoverPosition(V),this.adjustVerticalHoverPosition(V),this.adjustHoverMaxHeight(V),this._hoverContainer.style.padding="",this._hoverContainer.style.margin="",this._hoverPointer){switch(this._hoverPosition){case 1:V.left+=3,V.right+=3,this._hoverContainer.style.paddingLeft="3px",this._hoverContainer.style.marginLeft="-3px";break;case 0:V.left-=3,V.right-=3,this._hoverContainer.style.paddingRight="3px",this._hoverContainer.style.marginRight="-3px";break;case 2:V.top+=3,V.bottom+=3,this._hoverContainer.style.paddingTop="3px",this._hoverContainer.style.marginTop="-3px";break;case 3:V.top-=3,V.bottom-=3,this._hoverContainer.style.paddingBottom="3px",this._hoverContainer.style.marginBottom="-3px";break}V.center.x=V.left+k/2,V.center.y=V.top+L/2}this.computeXCordinate(V),this.computeYCordinate(V),this._hoverPointer&&(this._hoverPointer.classList.remove("top"),this._hoverPointer.classList.remove("left"),this._hoverPointer.classList.remove("right"),this._hoverPointer.classList.remove("bottom"),this.setHoverPointerPosition(V)),this._hover.onContentsChanged()}computeXCordinate(e){const t=this._hover.containerDomNode.clientWidth+2;this._target.x!==void 0?this._x=this._target.x:this._hoverPosition===1?this._x=e.right:this._hoverPosition===0?this._x=e.left-t:(this._hoverPointer?this._x=e.center.x-this._hover.containerDomNode.clientWidth/2:this._x=e.left,this._x+t>=this._targetDocumentElement.clientWidth&&(this._hover.containerDomNode.classList.add("right-aligned"),this._x=Math.max(this._targetDocumentElement.clientWidth-t-2,this._targetDocumentElement.clientLeft))),this._xthis._targetWindow.innerHeight&&(this._y=e.bottom)}adjustHorizontalHoverPosition(e){if(this._target.x!==void 0)return;const t=this._hoverPointer?3:0;if(this._forcePosition){const i=t+2;this._hoverPosition===1?this._hover.containerDomNode.style.maxWidth="".concat(this._targetDocumentElement.clientWidth-e.right-i,"px"):this._hoverPosition===0&&(this._hover.containerDomNode.style.maxWidth="".concat(e.left-i,"px"));return}this._hoverPosition===1?this._targetDocumentElement.clientWidth-e.right=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=0:this._hoverPosition=2):this._hoverPosition===0&&(e.left=this._hover.containerDomNode.clientWidth+t?this._hoverPosition=1:this._hoverPosition=2),e.left-this._hover.containerDomNode.clientWidth-t<=this._targetDocumentElement.clientLeft&&(this._hoverPosition=1))}adjustVerticalHoverPosition(e){if(this._target.y!==void 0||this._forcePosition)return;const t=this._hoverPointer?3:0;this._hoverPosition===3?e.top-this._hover.containerDomNode.clientHeight-t<0&&(this._hoverPosition=2):this._hoverPosition===2&&e.bottom+this._hover.containerDomNode.clientHeight+t>this._targetWindow.innerHeight&&(this._hoverPosition=3)}adjustHoverMaxHeight(e){let t=this._targetWindow.innerHeight/2;if(this._forcePosition){const i=(this._hoverPointer?3:0)+2;this._hoverPosition===3?t=Math.min(t,e.top-i):this._hoverPosition===2&&(t=Math.min(t,this._targetWindow.innerHeight-e.bottom-i))}if(this._hover.containerDomNode.style.maxHeight="".concat(t,"px"),this._hover.contentsDomNode.clientHeighte.height?this._hoverPointer.style.top="".concat(e.center.y-(this._y-t)-3,"px"):this._hoverPointer.style.top="".concat(Math.round(t/2)-3,"px");break}case 3:case 2:{this._hoverPointer.classList.add(this._hoverPosition===3?"bottom":"top");const t=this._hover.containerDomNode.clientWidth;let i=Math.round(t/2)-3;const r=this._x+i;(re.right)&&(i=e.center.x-this._x-3),this._hoverPointer.style.left="".concat(i,"px");break}}}focus(){this._hover.containerDomNode.focus()}dispose(){this._isDisposed||(this._onDispose.fire(),this._hoverContainer.remove(),this._messageListeners.dispose(),this._target.dispose(),super.dispose()),this._isDisposed=!0}};HoverWidget=__decorate$29([__param$20(1,IKeybindingService),__param$20(2,IConfigurationService),__param$20(3,IOpenerService),__param$20(4,IInstantiationService),__param$20(5,IAccessibilityService)],HoverWidget);class CompositeMouseTracker extends Widget$1{get onMouseOut(){return this._onMouseOut.event}get isMouseIn(){return this._isMouseIn}constructor(e){super(),this._elements=e,this._isMouseIn=!0,this._onMouseOut=this._register(new Emitter$1),this._elements.forEach(t=>this.onmouseover(t,()=>this._onTargetMouseOver(t))),this._elements.forEach(t=>this.onmouseleave(t,()=>this._onTargetMouseLeave(t)))}_onTargetMouseOver(e){this._isMouseIn=!0,this._clearEvaluateMouseStateTimeout(e)}_onTargetMouseLeave(e){this._isMouseIn=!1,this._evaluateMouseState(e)}_evaluateMouseState(e){this._clearEvaluateMouseStateTimeout(e),this._mouseTimeout=getWindow$1(e).setTimeout(()=>this._fireIfMouseOutside(),0)}_clearEvaluateMouseStateTimeout(e){this._mouseTimeout&&(getWindow$1(e).clearTimeout(this._mouseTimeout),this._mouseTimeout=void 0)}_fireIfMouseOutside(){this._isMouseIn||this._onMouseOut.fire()}}class ElementHoverTarget{constructor(e){this._element=e,this.targetElements=[this._element]}dispose(){}}var Range$1;(function(n){function e(g,y){if(g.start>=y.end||y.start>=g.end)return{start:0,end:0};const k=Math.max(g.start,y.start),L=Math.min(g.end,y.end);return L-k<=0?{start:0,end:0}:{start:k,end:L}}n.intersect=e;function t(g){return g.end-g.start<=0}n.isEmpty=t;function i(g,y){return!t(e(g,y))}n.intersects=i;function r(g,y){const k=[],L={start:g.start,end:Math.min(y.start,g.end)},V={start:Math.max(y.end,g.start),end:g.end};return t(L)||k.push(L),t(V)||k.push(V),k}n.relativeComplement=r})(Range$1||(Range$1={}));function isAnchor(n){const e=n;return!!e&&typeof e.x=="number"&&typeof e.y=="number"}var LayoutAnchorMode;(function(n){n[n.AVOID=0]="AVOID",n[n.ALIGN=1]="ALIGN"})(LayoutAnchorMode||(LayoutAnchorMode={}));function layout(n,e,t){const i=t.mode===LayoutAnchorMode.ALIGN?t.offset:t.offset+t.size,r=t.mode===LayoutAnchorMode.ALIGN?t.offset+t.size:t.offset;return t.position===0?e<=n-i?i:e<=r?r-e:Math.max(n-e,0):e<=r?r-e:e<=n-i?i:0}class ContextView extends Disposable{constructor(e,t){super(),this.container=null,this.useFixedPosition=!1,this.useShadowDOM=!1,this.delegate=null,this.toDisposeOnClean=Disposable.None,this.toDisposeOnSetContainer=Disposable.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=$$f(".context-view"),hide(this.view),this.setContainer(e,t),this._register(toDisposable(()=>this.setContainer(null,1)))}setContainer(e,t){var i;this.useFixedPosition=t!==1;const r=this.useShadowDOM;if(this.useShadowDOM=t===3,!(e===this.container&&r===this.useShadowDOM)&&(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,(i=this.shadowRootHostElement)===null||i===void 0||i.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e)){if(this.container=e,this.useShadowDOM){this.shadowRootHostElement=$$f(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const y=document.createElement("style");y.textContent=SHADOW_ROOT_CSS,this.shadowRoot.appendChild(y),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild($$f("slot"))}else this.container.appendChild(this.view);const g=new DisposableStore;ContextView.BUBBLE_UP_EVENTS.forEach(y=>{g.add(addStandardDisposableListener(this.container,y,k=>{this.onDOMEvent(k,!1)}))}),ContextView.BUBBLE_DOWN_EVENTS.forEach(y=>{g.add(addStandardDisposableListener(this.container,y,k=>{this.onDOMEvent(k,!0)},!0))}),this.toDisposeOnSetContainer=g}}show(e){var t,i,r;this.isVisible()&&this.hide(),clearNode(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="".concat(2575+((t=e.layer)!==null&&t!==void 0?t:0)),this.view.style.position=this.useFixedPosition?"fixed":"absolute",show(this.view),this.toDisposeOnClean=e.render(this.view)||Disposable.None,this.delegate=e,this.doLayout(),(r=(i=this.delegate).focus)===null||r===void 0||r.call(i)}getViewElement(){return this.view}layout(){var e,t;if(this.isVisible()){if(this.delegate.canRelayout===!1&&!(isIOS$1&&BrowserFeatures.pointerEvents)){this.hide();return}(t=(e=this.delegate)===null||e===void 0?void 0:e.layout)===null||t===void 0||t.call(e),this.doLayout()}}doLayout(){if(!this.isVisible())return;const e=this.delegate.getAnchor();let t;if(e instanceof HTMLElement){const ie=getDomNodePagePosition(e),oe=getDomNodeZoomLevel(e);t={top:ie.top*oe,left:ie.left*oe,width:ie.width*oe,height:ie.height*oe}}else isAnchor(e)?t={top:e.y,left:e.x,width:e.width||1,height:e.height||2}:t={top:e.posy,left:e.posx,width:2,height:2};const i=getTotalWidth(this.view),r=getTotalHeight(this.view),g=this.delegate.anchorPosition||0,y=this.delegate.anchorAlignment||0,k=this.delegate.anchorAxisAlignment||0;let L,V;const z=getActiveWindow();if(k===0){const ie={offset:t.top-z.pageYOffset,size:t.height,position:g===0?0:1},oe={offset:t.left,size:t.width,position:y===0?0:1,mode:LayoutAnchorMode.ALIGN};L=layout(z.innerHeight,r,ie)+z.pageYOffset,Range$1.intersects({start:L,end:L+r},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode.AVOID),V=layout(z.innerWidth,i,oe)}else{const ie={offset:t.left,size:t.width,position:y===0?0:1},oe={offset:t.top,size:t.height,position:g===0?0:1,mode:LayoutAnchorMode.ALIGN};V=layout(z.innerWidth,i,ie),Range$1.intersects({start:V,end:V+i},{start:ie.offset,end:ie.offset+ie.size})&&(oe.mode=LayoutAnchorMode.AVOID),L=layout(z.innerHeight,r,oe)+z.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(g===0?"bottom":"top"),this.view.classList.add(y===0?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const j=getDomNodePagePosition(this.container);this.view.style.top="".concat(L-(this.useFixedPosition?getDomNodePagePosition(this.view).top:j.top),"px"),this.view.style.left="".concat(V-(this.useFixedPosition?getDomNodePagePosition(this.view).left:j.left),"px"),this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,t!=null&&t.onHide&&t.onHide(e),this.toDisposeOnClean.dispose(),hide(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,getWindow$1(e).document.activeElement):t&&!isAncestor$1(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}ContextView.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"];ContextView.BUBBLE_DOWN_EVENTS=["click"];const SHADOW_ROOT_CSS='\n :host {\n all: initial; /* 1st rule so subsequent properties are reset. */\n }\n\n .codicon[class*=\'codicon-\'] {\n font: normal normal normal 16px/1 codicon;\n display: inline-block;\n text-decoration: none;\n text-rendering: auto;\n text-align: center;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n }\n\n :host {\n font-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n }\n\n :host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n :host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n :host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n :host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n :host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n :host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n :host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n :host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n :host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n :host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n :host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n :host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n :host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var __decorate$28=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1$=function(n,e){return function(t,i){e(t,i,n)}};let ContextViewHandler=class extends Disposable{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=this._register(new MutableDisposable),this.contextView=this._register(new ContextView(this.layoutService.mainContainer,1)),this.layout(),this._register(e.onDidLayoutContainer(()=>this.layout()))}showContextView(e,t,i){let r;t?t===this.layoutService.getContainer(getWindow$1(t))?r=1:i?r=3:r=2:r=1,this.contextView.setContainer(t!=null?t:this.layoutService.activeContainer,r),this.contextView.show(e);const g=toDisposable(()=>{this.currentViewDisposable===g&&this.hideContextView()});return this.currentViewDisposable.value=g,g}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};ContextViewHandler=__decorate$28([__param$1$(0,ILayoutService)],ContextViewHandler);class ContextViewService extends ContextViewHandler{getContextViewElement(){return this.contextView.getViewElement()}}var __decorate$27=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1_=function(n,e){return function(t,i){e(t,i,n)}};let HoverService=class extends Disposable{constructor(e,t,i,r,g){super(),this._instantiationService=e,this._keybindingService=i,this._layoutService=r,this._accessibilityService=g,t.onDidShowContextMenu(()=>this.hideHover()),this._contextViewHandler=this._register(new ContextViewHandler(this._layoutService))}showHover(e,t,i){var r,g,y,k;if(getHoverOptionsIdentity(this._currentHoverOptions)===getHoverOptionsIdentity(e)||this._currentHover&&(!((g=(r=this._currentHoverOptions)===null||r===void 0?void 0:r.persistence)===null||g===void 0)&&g.sticky))return;this._currentHoverOptions=e,this._lastHoverOptions=e;const L=e.trapFocus||this._accessibilityService.isScreenReaderOptimized(),V=getActiveElement();i||(L&&V?this._lastFocusedElementBeforeOpen=V:this._lastFocusedElementBeforeOpen=void 0);const z=new DisposableStore,j=this._instantiationService.createInstance(HoverWidget,e);if(!((y=e.persistence)===null||y===void 0)&&y.sticky&&(j.isLocked=!0),j.onDispose(()=>{var ie,oe;((ie=this._currentHover)===null||ie===void 0?void 0:ie.domNode)&&isAncestorOfActiveElement(this._currentHover.domNode)&&((oe=this._lastFocusedElementBeforeOpen)===null||oe===void 0||oe.focus()),this._currentHoverOptions===e&&(this._currentHoverOptions=void 0),z.dispose()}),!e.container){const ie=e.target instanceof HTMLElement?e.target:e.target.targetElements[0];e.container=this._layoutService.getContainer(getWindow$1(ie))}if(this._contextViewHandler.showContextView(new HoverContextViewDelegate(j,t),e.container),j.onRequestLayout(()=>this._contextViewHandler.layout()),!((k=e.persistence)===null||k===void 0)&&k.sticky)z.add(addDisposableListener(getWindow$1(e.container).document,EventType$1.MOUSE_DOWN,ie=>{isAncestor$1(ie.target,j.domNode)||this.doHideHover()}));else{if("targetElements"in e.target)for(const oe of e.target.targetElements)z.add(addDisposableListener(oe,EventType$1.CLICK,()=>this.hideHover()));else z.add(addDisposableListener(e.target,EventType$1.CLICK,()=>this.hideHover()));const ie=getActiveElement();if(ie){const oe=getWindow$1(ie).document;z.add(addDisposableListener(ie,EventType$1.KEY_DOWN,re=>{var ae;return this._keyDown(re,j,!!(!((ae=e.persistence)===null||ae===void 0)&&ae.hideOnKeyDown))})),z.add(addDisposableListener(oe,EventType$1.KEY_DOWN,re=>{var ae;return this._keyDown(re,j,!!(!((ae=e.persistence)===null||ae===void 0)&&ae.hideOnKeyDown))})),z.add(addDisposableListener(ie,EventType$1.KEY_UP,re=>this._keyUp(re,j))),z.add(addDisposableListener(oe,EventType$1.KEY_UP,re=>this._keyUp(re,j)))}}if("IntersectionObserver"in mainWindow){const ie=new IntersectionObserver(re=>this._intersectionChange(re,j),{threshold:0}),oe="targetElements"in e.target?e.target.targetElements[0]:e.target;ie.observe(oe),z.add(toDisposable(()=>ie.disconnect()))}return this._currentHover=j,j}hideHover(){var e;!((e=this._currentHover)===null||e===void 0)&&e.isLocked||!this._currentHoverOptions||this.doHideHover()}doHideHover(){this._currentHover=void 0,this._currentHoverOptions=void 0,this._contextViewHandler.hideContextView()}_intersectionChange(e,t){e[e.length-1].isIntersecting||t.dispose()}_keyDown(e,t,i){var r,g;if(e.key==="Alt"){t.isLocked=!0;return}const y=new StandardKeyboardEvent(e);this._keybindingService.resolveKeyboardEvent(y).getSingleModifierDispatchChords().some(L=>!!L)||this._keybindingService.softDispatch(y,y.target).kind!==0||i&&(!(!((r=this._currentHoverOptions)===null||r===void 0)&&r.trapFocus)||e.key!=="Tab")&&(this.hideHover(),(g=this._lastFocusedElementBeforeOpen)===null||g===void 0||g.focus())}_keyUp(e,t){var i;e.key==="Alt"&&(t.isLocked=!1,t.isMouseIn||(this.hideHover(),(i=this._lastFocusedElementBeforeOpen)===null||i===void 0||i.focus()))}};HoverService=__decorate$27([__param$1_(0,IInstantiationService),__param$1_(1,IContextMenuService),__param$1_(2,IKeybindingService),__param$1_(3,ILayoutService),__param$1_(4,IAccessibilityService)],HoverService);function getHoverOptionsIdentity(n){var e;if(n!==void 0)return(e=n==null?void 0:n.id)!==null&&e!==void 0?e:n}class HoverContextViewDelegate{get anchorPosition(){return this._hover.anchor}constructor(e,t=!1){this._hover=e,this._focus=t,this.layer=1}render(e){return this._hover.render(e),this._focus&&this._hover.focus(),this._hover}getAnchor(){return{x:this._hover.x,y:this._hover.y}}layout(){this._hover.layout()}}registerSingleton(IHoverService,HoverService,1);registerThemingParticipant((n,e)=>{const t=n.getColor(editorHoverBorder);t&&(e.addRule(".monaco-workbench .workbench-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-workbench .workbench-hover hr { border-top: 1px solid ".concat(t.transparent(.5),"; }")))});const IBulkEditService=createDecorator("IWorkspaceEditService");class ResourceEdit{constructor(e){this.metadata=e}static convert(e){return e.edits.map(t=>{if(ResourceTextEdit.is(t))return ResourceTextEdit.lift(t);if(ResourceFileEdit.is(t))return ResourceFileEdit.lift(t);throw new Error("Unsupported edit")})}}class ResourceTextEdit extends ResourceEdit{static is(e){return e instanceof ResourceTextEdit?!0:isObject$3(e)&&URI.isUri(e.resource)&&isObject$3(e.textEdit)}static lift(e){return e instanceof ResourceTextEdit?e:new ResourceTextEdit(e.resource,e.textEdit,e.versionId,e.metadata)}constructor(e,t,i=void 0,r){super(r),this.resource=e,this.textEdit=t,this.versionId=i}}class ResourceFileEdit extends ResourceEdit{static is(e){return e instanceof ResourceFileEdit?!0:isObject$3(e)&&(!!e.newResource||!!e.oldResource)}static lift(e){return e instanceof ResourceFileEdit?e:new ResourceFileEdit(e.oldResource,e.newResource,e.options,e.metadata)}constructor(e,t,i={},r){super(r),this.oldResource=e,this.newResource=t,this.options=i}}const diffEditorDefaultOptions={enableSplitViewResizing:!0,renderSideBySide:!0,renderMarginRevertIcon:!0,renderGutterMenu:!0,maxComputationTime:5e3,maxFileSize:50,ignoreTrimWhitespace:!0,renderIndicators:!0,originalEditable:!1,diffCodeLens:!1,renderOverviewRuler:!0,diffWordWrap:"inherit",diffAlgorithm:"advanced",accessibilityVerbose:!1,experimental:{showMoves:!1,showEmptyDecorations:!0},hideUnchangedRegions:{enabled:!1,contextLineCount:3,minimumLineCount:3,revealLineCount:20},isInEmbeddedEditor:!1,onlyShowAccessibleDiffViewer:!1,renderSideBySideInlineBreakpoint:900,useInlineViewWhenSpaceIsLimited:!0},editorConfigurationBaseNode=Object.freeze({id:"editor",order:5,type:"object",title:localize("editorConfigurationTitle","Editor"),scope:5}),editorConfiguration={...editorConfigurationBaseNode,properties:{"editor.tabSize":{type:"number",default:EDITOR_MODEL_DEFAULTS.tabSize,minimum:1,markdownDescription:localize("tabSize","The number of spaces a tab is equal to. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.indentSize":{anyOf:[{type:"string",enum:["tabSize"]},{type:"number",minimum:1}],default:"tabSize",markdownDescription:localize("indentSize",'The number of spaces used for indentation or `"tabSize"` to use the value from `#editor.tabSize#`. This setting is overridden based on the file contents when `#editor.detectIndentation#` is on.')},"editor.insertSpaces":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.insertSpaces,markdownDescription:localize("insertSpaces","Insert spaces when pressing `Tab`. This setting is overridden based on the file contents when {0} is on.","`#editor.detectIndentation#`")},"editor.detectIndentation":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.detectIndentation,markdownDescription:localize("detectIndentation","Controls whether {0} and {1} will be automatically detected when a file is opened based on the file contents.","`#editor.tabSize#`","`#editor.insertSpaces#`")},"editor.trimAutoWhitespace":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.trimAutoWhitespace,description:localize("trimAutoWhitespace","Remove trailing auto inserted whitespace.")},"editor.largeFileOptimizations":{type:"boolean",default:EDITOR_MODEL_DEFAULTS.largeFileOptimizations,description:localize("largeFileOptimizations","Special handling for large files to disable certain memory intensive features.")},"editor.wordBasedSuggestions":{enum:["off","currentDocument","matchingDocuments","allDocuments"],default:"matchingDocuments",enumDescriptions:[localize("wordBasedSuggestions.off","Turn off Word Based Suggestions."),localize("wordBasedSuggestions.currentDocument","Only suggest words from the active document."),localize("wordBasedSuggestions.matchingDocuments","Suggest words from all open documents of the same language."),localize("wordBasedSuggestions.allDocuments","Suggest words from all open documents.")],description:localize("wordBasedSuggestions","Controls whether completions should be computed based on words in the document and from which documents they are computed.")},"editor.semanticHighlighting.enabled":{enum:[!0,!1,"configuredByTheme"],enumDescriptions:[localize("semanticHighlighting.true","Semantic highlighting enabled for all color themes."),localize("semanticHighlighting.false","Semantic highlighting disabled for all color themes."),localize("semanticHighlighting.configuredByTheme","Semantic highlighting is configured by the current color theme's `semanticHighlighting` setting.")],default:"configuredByTheme",description:localize("semanticHighlighting.enabled","Controls whether the semanticHighlighting is shown for the languages that support it.")},"editor.stablePeek":{type:"boolean",default:!1,markdownDescription:localize("stablePeek","Keep peek editors open even when double-clicking their content or when hitting `Escape`.")},"editor.maxTokenizationLineLength":{type:"integer",default:2e4,description:localize("maxTokenizationLineLength","Lines above this length will not be tokenized for performance reasons")},"editor.experimental.asyncTokenization":{type:"boolean",default:!1,description:localize("editor.experimental.asyncTokenization","Controls whether the tokenization should happen asynchronously on a web worker."),tags:["experimental"]},"editor.experimental.asyncTokenizationLogging":{type:"boolean",default:!1,description:localize("editor.experimental.asyncTokenizationLogging","Controls whether async tokenization should be logged. For debugging only.")},"editor.experimental.asyncTokenizationVerification":{type:"boolean",default:!1,description:localize("editor.experimental.asyncTokenizationVerification","Controls whether async tokenization should be verified against legacy background tokenization. Might slow down tokenization. For debugging only."),tags:["experimental"]},"editor.language.brackets":{type:["array","null"],default:null,description:localize("schema.brackets","Defines the bracket symbols that increase or decrease the indentation."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"editor.language.colorizedBracketPairs":{type:["array","null"],default:null,description:localize("schema.colorizedBracketPairs","Defines the bracket pairs that are colorized by their nesting level if bracket pair colorization is enabled."),items:{type:"array",items:[{type:"string",description:localize("schema.openBracket","The opening bracket character or string sequence.")},{type:"string",description:localize("schema.closeBracket","The closing bracket character or string sequence.")}]}},"diffEditor.maxComputationTime":{type:"number",default:diffEditorDefaultOptions.maxComputationTime,description:localize("maxComputationTime","Timeout in milliseconds after which diff computation is cancelled. Use 0 for no timeout.")},"diffEditor.maxFileSize":{type:"number",default:diffEditorDefaultOptions.maxFileSize,description:localize("maxFileSize","Maximum file size in MB for which to compute diffs. Use 0 for no limit.")},"diffEditor.renderSideBySide":{type:"boolean",default:diffEditorDefaultOptions.renderSideBySide,description:localize("sideBySide","Controls whether the diff editor shows the diff side by side or inline.")},"diffEditor.renderSideBySideInlineBreakpoint":{type:"number",default:diffEditorDefaultOptions.renderSideBySideInlineBreakpoint,description:localize("renderSideBySideInlineBreakpoint","If the diff editor width is smaller than this value, the inline view is used.")},"diffEditor.useInlineViewWhenSpaceIsLimited":{type:"boolean",default:diffEditorDefaultOptions.useInlineViewWhenSpaceIsLimited,description:localize("useInlineViewWhenSpaceIsLimited","If enabled and the editor width is too small, the inline view is used.")},"diffEditor.renderMarginRevertIcon":{type:"boolean",default:diffEditorDefaultOptions.renderMarginRevertIcon,description:localize("renderMarginRevertIcon","When enabled, the diff editor shows arrows in its glyph margin to revert changes.")},"diffEditor.renderGutterMenu":{type:"boolean",default:diffEditorDefaultOptions.renderGutterMenu,description:localize("renderGutterMenu","When enabled, the diff editor shows a special gutter for revert and stage actions.")},"diffEditor.ignoreTrimWhitespace":{type:"boolean",default:diffEditorDefaultOptions.ignoreTrimWhitespace,description:localize("ignoreTrimWhitespace","When enabled, the diff editor ignores changes in leading or trailing whitespace.")},"diffEditor.renderIndicators":{type:"boolean",default:diffEditorDefaultOptions.renderIndicators,description:localize("renderIndicators","Controls whether the diff editor shows +/- indicators for added/removed changes.")},"diffEditor.codeLens":{type:"boolean",default:diffEditorDefaultOptions.diffCodeLens,description:localize("codeLens","Controls whether the editor shows CodeLens.")},"diffEditor.wordWrap":{type:"string",enum:["off","on","inherit"],default:diffEditorDefaultOptions.diffWordWrap,markdownEnumDescriptions:[localize("wordWrap.off","Lines will never wrap."),localize("wordWrap.on","Lines will wrap at the viewport width."),localize("wordWrap.inherit","Lines will wrap according to the {0} setting.","`#editor.wordWrap#`")]},"diffEditor.diffAlgorithm":{type:"string",enum:["legacy","advanced"],default:diffEditorDefaultOptions.diffAlgorithm,markdownEnumDescriptions:[localize("diffAlgorithm.legacy","Uses the legacy diffing algorithm."),localize("diffAlgorithm.advanced","Uses the advanced diffing algorithm.")],tags:["experimental"]},"diffEditor.hideUnchangedRegions.enabled":{type:"boolean",default:diffEditorDefaultOptions.hideUnchangedRegions.enabled,markdownDescription:localize("hideUnchangedRegions.enabled","Controls whether the diff editor shows unchanged regions.")},"diffEditor.hideUnchangedRegions.revealLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.revealLineCount,markdownDescription:localize("hideUnchangedRegions.revealLineCount","Controls how many lines are used for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.minimumLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.minimumLineCount,markdownDescription:localize("hideUnchangedRegions.minimumLineCount","Controls how many lines are used as a minimum for unchanged regions."),minimum:1},"diffEditor.hideUnchangedRegions.contextLineCount":{type:"integer",default:diffEditorDefaultOptions.hideUnchangedRegions.contextLineCount,markdownDescription:localize("hideUnchangedRegions.contextLineCount","Controls how many lines are used as context when comparing unchanged regions."),minimum:1},"diffEditor.experimental.showMoves":{type:"boolean",default:diffEditorDefaultOptions.experimental.showMoves,markdownDescription:localize("showMoves","Controls whether the diff editor should show detected code moves.")},"diffEditor.experimental.showEmptyDecorations":{type:"boolean",default:diffEditorDefaultOptions.experimental.showEmptyDecorations,description:localize("showEmptyDecorations","Controls whether the diff editor shows empty decorations to see where characters got inserted or deleted.")}}};function isConfigurationPropertySchema(n){return typeof n.type<"u"||typeof n.anyOf<"u"}for(const n of editorOptionsRegistry){const e=n.schema;if(typeof e<"u")if(isConfigurationPropertySchema(e))editorConfiguration.properties["editor.".concat(n.name)]=e;else for(const t in e)Object.hasOwnProperty.call(e,t)&&(editorConfiguration.properties[t]=e[t])}let cachedEditorConfigurationKeys=null;function getEditorConfigurationKeys(){return cachedEditorConfigurationKeys===null&&(cachedEditorConfigurationKeys=Object.create(null),Object.keys(editorConfiguration.properties).forEach(n=>{cachedEditorConfigurationKeys[n]=!0})),cachedEditorConfigurationKeys}function isEditorConfigurationKey(n){return getEditorConfigurationKeys()["editor.".concat(n)]||!1}function isDiffEditorConfigurationKey(n){return getEditorConfigurationKeys()["diffEditor.".concat(n)]||!1}const configurationRegistry$1=Registry.as(Extensions$6.Configuration);configurationRegistry$1.registerConfiguration(editorConfiguration);class EditOperation{static insert(e,t){return{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),text:t,forceMoveMarkers:!0}}static delete(e){return{range:e,text:null}}static replace(e,t){return{range:e,text:t}}static replaceMove(e,t){return{range:e,text:t,forceMoveMarkers:!0}}}function freeze(n){return Object.isFrozen(n)?n:deepFreeze(n)}class ConfigurationModel{constructor(e={},t=[],i=[],r){this._contents=e,this._keys=t,this._overrides=i,this.raw=r,this.overrideConfigurations=new Map}get rawConfiguration(){var e;if(!this._rawConfiguration)if(!((e=this.raw)===null||e===void 0)&&e.length){const t=this.raw.map(i=>{if(i instanceof ConfigurationModel)return i;const r=new ConfigurationModelParser("");return r.parseRaw(i),r.configurationModel});this._rawConfiguration=t.reduce((i,r)=>r===i?r:i.merge(r),t[0])}else this._rawConfiguration=this;return this._rawConfiguration}get contents(){return this._contents}get overrides(){return this._overrides}get keys(){return this._keys}isEmpty(){return this._keys.length===0&&Object.keys(this._contents).length===0&&this._overrides.length===0}getValue(e){return e?getConfigurationValue(this.contents,e):this.contents}inspect(e,t){const i=this;return{get value(){return freeze(i.rawConfiguration.getValue(e))},get override(){return t?freeze(i.rawConfiguration.getOverrideValue(e,t)):void 0},get merged(){return freeze(t?i.rawConfiguration.override(t).getValue(e):i.rawConfiguration.getValue(e))},get overrides(){const r=[];for(const{contents:g,identifiers:y,keys:k}of i.rawConfiguration.overrides){const L=new ConfigurationModel(g,k).getValue(e);L!==void 0&&r.push({identifiers:y,value:L})}return r.length?freeze(r):void 0}}}getOverrideValue(e,t){const i=this.getContentsForOverrideIdentifer(t);return i?e?getConfigurationValue(i,e):i:void 0}override(e){let t=this.overrideConfigurations.get(e);return t||(t=this.createOverrideConfigurationModel(e),this.overrideConfigurations.set(e,t)),t}merge(...e){var t,i;const r=deepClone(this.contents),g=deepClone(this.overrides),y=[...this.keys],k=!((t=this.raw)===null||t===void 0)&&t.length?[...this.raw]:[this];for(const L of e)if(k.push(...!((i=L.raw)===null||i===void 0)&&i.length?L.raw:[L]),!L.isEmpty()){this.mergeContents(r,L.contents);for(const V of L.overrides){const[z]=g.filter(j=>equals$3(j.identifiers,V.identifiers));z?(this.mergeContents(z.contents,V.contents),z.keys.push(...V.keys),z.keys=distinct(z.keys)):g.push(deepClone(V))}for(const V of L.keys)y.indexOf(V)===-1&&y.push(V)}return new ConfigurationModel(r,y,g,k.every(L=>L instanceof ConfigurationModel)?void 0:k)}createOverrideConfigurationModel(e){const t=this.getContentsForOverrideIdentifer(e);if(!t||typeof t!="object"||!Object.keys(t).length)return this;const i={};for(const r of distinct([...Object.keys(this.contents),...Object.keys(t)])){let g=this.contents[r];const y=t[r];y&&(typeof g=="object"&&typeof y=="object"?(g=deepClone(g),this.mergeContents(g,y)):g=y),i[r]=g}return new ConfigurationModel(i,this.keys,this.overrides)}mergeContents(e,t){for(const i of Object.keys(t)){if(i in e&&isObject$3(e[i])&&isObject$3(t[i])){this.mergeContents(e[i],t[i]);continue}e[i]=deepClone(t[i])}}getContentsForOverrideIdentifer(e){let t=null,i=null;const r=g=>{g&&(i?this.mergeContents(i,g):i=deepClone(g))};for(const g of this.overrides)g.identifiers.length===1&&g.identifiers[0]===e?t=g.contents:g.identifiers.includes(e)&&r(g.contents);return r(t),i}toJSON(){return{contents:this.contents,overrides:this.overrides,keys:this.keys}}addValue(e,t){this.updateValue(e,t,!0)}setValue(e,t){this.updateValue(e,t,!1)}removeValue(e){const t=this.keys.indexOf(e);t!==-1&&(this.keys.splice(t,1),removeFromValueTree(this.contents,e),OVERRIDE_PROPERTY_REGEX.test(e)&&this.overrides.splice(this.overrides.findIndex(i=>equals$3(i.identifiers,overrideIdentifiersFromKey(e))),1))}updateValue(e,t,i){addToValueTree(this.contents,e,t,r=>console.error(r)),i=i||this.keys.indexOf(e)===-1,i&&this.keys.push(e),OVERRIDE_PROPERTY_REGEX.test(e)&&this.overrides.push({identifiers:overrideIdentifiersFromKey(e),keys:Object.keys(this.contents[e]),contents:toValuesTree(this.contents[e],r=>console.error(r))})}}class ConfigurationModelParser{constructor(e){this._name=e,this._raw=null,this._configurationModel=null,this._restrictedConfigurations=[]}get configurationModel(){return this._configurationModel||new ConfigurationModel}parseRaw(e,t){this._raw=e;const{contents:i,keys:r,overrides:g,restricted:y,hasExcludedProperties:k}=this.doParseRaw(e,t);this._configurationModel=new ConfigurationModel(i,r,g,k?[e]:void 0),this._restrictedConfigurations=y||[]}doParseRaw(e,t){const i=Registry.as(Extensions$6.Configuration).getConfigurationProperties(),r=this.filter(e,i,!0,t);e=r.raw;const g=toValuesTree(e,L=>console.error("Conflict in settings file ".concat(this._name,": ").concat(L))),y=Object.keys(e),k=this.toOverrides(e,L=>console.error("Conflict in settings file ".concat(this._name,": ").concat(L)));return{contents:g,keys:y,overrides:k,restricted:r.restricted,hasExcludedProperties:r.hasExcludedProperties}}filter(e,t,i,r){var g,y,k;let L=!1;if(!(r!=null&&r.scopes)&&!(r!=null&&r.skipRestricted)&&!(!((g=r==null?void 0:r.exclude)===null||g===void 0)&&g.length))return{raw:e,restricted:[],hasExcludedProperties:L};const V={},z=[];for(const j in e)if(OVERRIDE_PROPERTY_REGEX.test(j)&&i){const ie=this.filter(e[j],t,!1,r);V[j]=ie.raw,L=L||ie.hasExcludedProperties,z.push(...ie.restricted)}else{const ie=t[j],oe=ie?typeof ie.scope<"u"?ie.scope:3:void 0;ie!=null&&ie.restricted&&z.push(j),!(!((y=r.exclude)===null||y===void 0)&&y.includes(j))&&(!((k=r.include)===null||k===void 0)&&k.includes(j)||(oe===void 0||r.scopes===void 0||r.scopes.includes(oe))&&!(r.skipRestricted&&(ie!=null&&ie.restricted)))?V[j]=e[j]:L=!0}return{raw:V,restricted:z,hasExcludedProperties:L}}toOverrides(e,t){const i=[];for(const r of Object.keys(e))if(OVERRIDE_PROPERTY_REGEX.test(r)){const g={};for(const y in e[r])g[y]=e[r][y];i.push({identifiers:overrideIdentifiersFromKey(r),keys:Object.keys(g),contents:toValuesTree(g,t)})}return i}}class ConfigurationInspectValue{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe){this.key=e,this.overrides=t,this._value=i,this.overrideIdentifiers=r,this.defaultConfiguration=g,this.policyConfiguration=y,this.applicationConfiguration=k,this.userConfiguration=L,this.localUserConfiguration=V,this.remoteUserConfiguration=z,this.workspaceConfiguration=j,this.folderConfigurationModel=ie,this.memoryConfigurationModel=oe}toInspectValue(e){return(e==null?void 0:e.value)!==void 0||(e==null?void 0:e.override)!==void 0||(e==null?void 0:e.overrides)!==void 0?e:void 0}get userInspectValue(){return this._userInspectValue||(this._userInspectValue=this.userConfiguration.inspect(this.key,this.overrides.overrideIdentifier)),this._userInspectValue}get user(){return this.toInspectValue(this.userInspectValue)}}class Configuration{constructor(e,t,i,r,g=new ConfigurationModel,y=new ConfigurationModel,k=new ResourceMap,L=new ConfigurationModel,V=new ResourceMap){this._defaultConfiguration=e,this._policyConfiguration=t,this._applicationConfiguration=i,this._localUserConfiguration=r,this._remoteUserConfiguration=g,this._workspaceConfiguration=y,this._folderConfigurations=k,this._memoryConfiguration=L,this._memoryConfigurationByResource=V,this._workspaceConsolidatedConfiguration=null,this._foldersConsolidatedConfigurations=new ResourceMap,this._userConfiguration=null}getValue(e,t,i){return this.getConsolidatedConfigurationModel(e,t,i).getValue(e)}updateValue(e,t,i={}){let r;i.resource?(r=this._memoryConfigurationByResource.get(i.resource),r||(r=new ConfigurationModel,this._memoryConfigurationByResource.set(i.resource,r))):r=this._memoryConfiguration,t===void 0?r.removeValue(e):r.setValue(e,t),i.resource||(this._workspaceConsolidatedConfiguration=null)}inspect(e,t,i){const r=this.getConsolidatedConfigurationModel(e,t,i),g=this.getFolderConfigurationModelForResource(t.resource,i),y=t.resource?this._memoryConfigurationByResource.get(t.resource)||this._memoryConfiguration:this._memoryConfiguration,k=new Set;for(const L of r.overrides)for(const V of L.identifiers)r.getOverrideValue(e,V)!==void 0&&k.add(V);return new ConfigurationInspectValue(e,t,r.getValue(e),k.size?[...k]:void 0,this._defaultConfiguration,this._policyConfiguration.isEmpty()?void 0:this._policyConfiguration,this.applicationConfiguration.isEmpty()?void 0:this.applicationConfiguration,this.userConfiguration,this.localUserConfiguration,this.remoteUserConfiguration,i?this._workspaceConfiguration:void 0,g||void 0,y)}get applicationConfiguration(){return this._applicationConfiguration}get userConfiguration(){return this._userConfiguration||(this._userConfiguration=this._remoteUserConfiguration.isEmpty()?this._localUserConfiguration:this._localUserConfiguration.merge(this._remoteUserConfiguration)),this._userConfiguration}get localUserConfiguration(){return this._localUserConfiguration}get remoteUserConfiguration(){return this._remoteUserConfiguration}getConsolidatedConfigurationModel(e,t,i){let r=this.getConsolidatedConfigurationModelForResource(t,i);return t.overrideIdentifier&&(r=r.override(t.overrideIdentifier)),!this._policyConfiguration.isEmpty()&&this._policyConfiguration.getValue(e)!==void 0&&(r=r.merge(this._policyConfiguration)),r}getConsolidatedConfigurationModelForResource({resource:e},t){let i=this.getWorkspaceConsolidatedConfiguration();if(t&&e){const r=t.getFolder(e);r&&(i=this.getFolderConsolidatedConfiguration(r.uri)||i);const g=this._memoryConfigurationByResource.get(e);g&&(i=i.merge(g))}return i}getWorkspaceConsolidatedConfiguration(){return this._workspaceConsolidatedConfiguration||(this._workspaceConsolidatedConfiguration=this._defaultConfiguration.merge(this.applicationConfiguration,this.userConfiguration,this._workspaceConfiguration,this._memoryConfiguration)),this._workspaceConsolidatedConfiguration}getFolderConsolidatedConfiguration(e){let t=this._foldersConsolidatedConfigurations.get(e);if(!t){const i=this.getWorkspaceConsolidatedConfiguration(),r=this._folderConfigurations.get(e);r?(t=i.merge(r),this._foldersConsolidatedConfigurations.set(e,t)):t=i}return t}getFolderConfigurationModelForResource(e,t){if(t&&e){const i=t.getFolder(e);if(i)return this._folderConfigurations.get(i.uri)}}toData(){return{defaults:{contents:this._defaultConfiguration.contents,overrides:this._defaultConfiguration.overrides,keys:this._defaultConfiguration.keys},policy:{contents:this._policyConfiguration.contents,overrides:this._policyConfiguration.overrides,keys:this._policyConfiguration.keys},application:{contents:this.applicationConfiguration.contents,overrides:this.applicationConfiguration.overrides,keys:this.applicationConfiguration.keys},user:{contents:this.userConfiguration.contents,overrides:this.userConfiguration.overrides,keys:this.userConfiguration.keys},workspace:{contents:this._workspaceConfiguration.contents,overrides:this._workspaceConfiguration.overrides,keys:this._workspaceConfiguration.keys},folders:[...this._folderConfigurations.keys()].reduce((e,t)=>{const{contents:i,overrides:r,keys:g}=this._folderConfigurations.get(t);return e.push([t,{contents:i,overrides:r,keys:g}]),e},[])}}static parse(e){const t=this.parseConfigurationModel(e.defaults),i=this.parseConfigurationModel(e.policy),r=this.parseConfigurationModel(e.application),g=this.parseConfigurationModel(e.user),y=this.parseConfigurationModel(e.workspace),k=e.folders.reduce((L,V)=>(L.set(URI.revive(V[0]),this.parseConfigurationModel(V[1])),L),new ResourceMap);return new Configuration(t,i,r,g,new ConfigurationModel,y,k,new ConfigurationModel,new ResourceMap)}static parseConfigurationModel(e){return new ConfigurationModel(e.contents,e.keys,e.overrides)}}class ConfigurationChangeEvent{constructor(e,t,i,r){this.change=e,this.previous=t,this.currentConfiguraiton=i,this.currentWorkspace=r,this._marker="\n",this._markerCode1=this._marker.charCodeAt(0),this._markerCode2=46,this.affectedKeys=new Set,this._previousConfiguration=void 0;for(const g of e.keys)this.affectedKeys.add(g);for(const[,g]of e.overrides)for(const y of g)this.affectedKeys.add(y);this._affectsConfigStr=this._marker;for(const g of this.affectedKeys)this._affectsConfigStr+=g+this._marker}get previousConfiguration(){return!this._previousConfiguration&&this.previous&&(this._previousConfiguration=Configuration.parse(this.previous.data)),this._previousConfiguration}affectsConfiguration(e,t){var i;const r=this._marker+e,g=this._affectsConfigStr.indexOf(r);if(g<0)return!1;const y=g+r.length;if(y>=this._affectsConfigStr.length)return!1;const k=this._affectsConfigStr.charCodeAt(y);if(k!==this._markerCode1&&k!==this._markerCode2)return!1;if(t){const L=this.previousConfiguration?this.previousConfiguration.getValue(e,t,(i=this.previous)===null||i===void 0?void 0:i.workspace):void 0,V=this.currentConfiguraiton.getValue(e,t,this.currentWorkspace);return!equals$2(L,V)}return!0}}const NoMatchingKb={kind:0},MoreChordsNeeded={kind:1};function KbFound(n,e,t){return{kind:2,commandId:n,commandArgs:e,isBubble:t}}class KeybindingResolver{constructor(e,t,i){var r;this._log=i,this._defaultKeybindings=e,this._defaultBoundCommands=new Map;for(const g of e){const y=g.command;y&&y.charAt(0)!=="-"&&this._defaultBoundCommands.set(y,!0)}this._map=new Map,this._lookupMap=new Map,this._keybindings=KeybindingResolver.handleRemovals([].concat(e).concat(t));for(let g=0,y=this._keybindings.length;g"u"){this._map.set(e,[t]),this._addToLookupMap(t);return}for(let r=i.length-1;r>=0;r--){const g=i[r];if(g.command===t.command)continue;let y=!0;for(let k=1;k"u"?(t=[e],this._lookupMap.set(e.command,t)):t.push(e)}_removeFromLookupMap(e){if(!e.command)return;const t=this._lookupMap.get(e.command);if(!(typeof t>"u")){for(let i=0,r=t.length;i"u"||i.length===0)return null;if(i.length===1)return i[0];for(let r=i.length-1;r>=0;r--){const g=i[r];if(t.contextMatchesRules(g.when))return g}return i[i.length-1]}resolve(e,t,i){const r=[...t,i];this._log("| Resolving ".concat(r));const g=this._map.get(r[0]);if(g===void 0)return this._log("\\ No keybinding entries."),NoMatchingKb;let y=null;if(r.length<2)y=g;else{y=[];for(let L=0,V=g.length;Lz.chords.length)continue;let j=!0;for(let ie=1;ie=0;i--){const r=t[i];if(KeybindingResolver._contextMatchesRules(e,r.when))return r}return null}static _contextMatchesRules(e,t){return t?t.evaluate(e):!0}}function printWhenExplanation(n){return n?"".concat(n.serialize()):"no when condition"}function printSourceExplanation(n){return n.extensionId?n.isBuiltinExtension?"built-in extension ".concat(n.extensionId):"user extension ".concat(n.extensionId):n.isDefault?"built-in":"user"}const HIGH_FREQ_COMMANDS=/^(cursor|delete|undo|redo|tab|editor\.action\.clipboard)/;class AbstractKeybindingService extends Disposable{get onDidUpdateKeybindings(){return this._onDidUpdateKeybindings?this._onDidUpdateKeybindings.event:Event$1.None}get inChordMode(){return this._currentChords.length>0}constructor(e,t,i,r,g){super(),this._contextKeyService=e,this._commandService=t,this._telemetryService=i,this._notificationService=r,this._logService=g,this._onDidUpdateKeybindings=this._register(new Emitter$1),this._currentChords=[],this._currentChordChecker=new IntervalTimer,this._currentChordStatusMessage=null,this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,this._currentSingleModifier=null,this._currentSingleModifierClearTimeout=new TimeoutTimer,this._currentlyDispatchingCommandId=null,this._logging=!1}dispose(){super.dispose()}_log(e){this._logging&&this._logService.info("[KeybindingService]: ".concat(e))}getKeybindings(){return this._getResolver().getKeybindings()}lookupKeybinding(e,t){const i=this._getResolver().lookupPrimaryKeybinding(e,t||this._contextKeyService);if(i)return i.resolvedKeybinding}dispatchEvent(e,t){return this._dispatch(e,t)}softDispatch(e,t){this._log("/ Soft dispatching keyboard event");const i=this.resolveKeyboardEvent(e);if(i.hasMultipleChords())return console.warn("keyboard event should not be mapped to multiple chords"),NoMatchingKb;const[r]=i.getDispatchChords();if(r===null)return this._log("\\ Keyboard event cannot be dispatched"),NoMatchingKb;const g=this._contextKeyService.getContext(t),y=this._currentChords.map(({keypress:k})=>k);return this._getResolver().resolve(g,y,r)}_scheduleLeaveChordMode(){const e=Date.now();this._currentChordChecker.cancelAndSet(()=>{if(!this._documentHasFocus()){this._leaveChordMode();return}Date.now()-e>5e3&&this._leaveChordMode()},500)}_expectAnotherChord(e,t){switch(this._currentChords.push({keypress:e,label:t}),this._currentChords.length){case 0:throw illegalState("impossible");case 1:this._currentChordStatusMessage=this._notificationService.status(localize("first.chord","({0}) was pressed. Waiting for second key of chord...",t));break;default:{const i=this._currentChords.map(({label:r})=>r).join(", ");this._currentChordStatusMessage=this._notificationService.status(localize("next.chord","({0}) was pressed. Waiting for next key of chord...",i))}}this._scheduleLeaveChordMode(),IME.enabled&&IME.disable()}_leaveChordMode(){this._currentChordStatusMessage&&(this._currentChordStatusMessage.dispose(),this._currentChordStatusMessage=null),this._currentChordChecker.cancel(),this._currentChords=[],IME.enable()}_dispatch(e,t){return this._doDispatch(this.resolveKeyboardEvent(e),t,!1)}_singleModifierDispatch(e,t){const i=this.resolveKeyboardEvent(e),[r]=i.getSingleModifierDispatchChords();if(r)return this._ignoreSingleModifiers.has(r)?(this._log("+ Ignoring single modifier ".concat(r," due to it being pressed together with other keys.")),this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1):(this._ignoreSingleModifiers=KeybindingModifierSet.EMPTY,this._currentSingleModifier===null?(this._log("+ Storing single modifier for possible chord ".concat(r,".")),this._currentSingleModifier=r,this._currentSingleModifierClearTimeout.cancelAndSet(()=>{this._log("+ Clearing single modifier due to 300ms elapsed."),this._currentSingleModifier=null},300),!1):r===this._currentSingleModifier?(this._log("/ Dispatching single modifier chord ".concat(r," ").concat(r)),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,this._doDispatch(i,t,!0)):(this._log("+ Clearing single modifier due to modifier mismatch: ".concat(this._currentSingleModifier," ").concat(r)),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1));const[g]=i.getChords();return this._ignoreSingleModifiers=new KeybindingModifierSet(g),this._currentSingleModifier!==null&&this._log("+ Clearing single modifier due to other key up."),this._currentSingleModifierClearTimeout.cancel(),this._currentSingleModifier=null,!1}_doDispatch(e,t,i=!1){var r;let g=!1;if(e.hasMultipleChords())return console.warn("Unexpected keyboard event mapped to multiple chords"),!1;let y=null,k=null;if(i){const[j]=e.getSingleModifierDispatchChords();y=j,k=j?[j]:[]}else[y]=e.getDispatchChords(),k=this._currentChords.map(({keypress:j})=>j);if(y===null)return this._log("\\ Keyboard event cannot be dispatched in keydown phase."),g;const L=this._contextKeyService.getContext(t),V=e.getLabel(),z=this._getResolver().resolve(L,k,y);switch(z.kind){case 0:{if(this._logService.trace("KeybindingService#dispatch",V,"[ No matching keybinding ]"),this.inChordMode){const j=this._currentChords.map(({label:ie})=>ie).join(", ");this._log('+ Leaving multi-chord mode: Nothing bound to "'.concat(j,", ").concat(V,'".')),this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",j,V),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}return g}case 1:return this._logService.trace("KeybindingService#dispatch",V,"[ Several keybindings match - more chords needed ]"),g=!0,this._expectAnotherChord(y,V),this._log(this._currentChords.length===1?"+ Entering multi-chord mode...":"+ Continuing multi-chord mode..."),g;case 2:{if(this._logService.trace("KeybindingService#dispatch",V,"[ Will dispatch command ".concat(z.commandId," ]")),z.commandId===null||z.commandId===""){if(this.inChordMode){const j=this._currentChords.map(({label:ie})=>ie).join(", ");this._log('+ Leaving chord mode: Nothing bound to "'.concat(j,", ").concat(V,'".')),this._notificationService.status(localize("missing.chord","The key combination ({0}, {1}) is not a command.",j,V),{hideAfter:10*1e3}),this._leaveChordMode(),g=!0}}else{this.inChordMode&&this._leaveChordMode(),z.isBubble||(g=!0),this._log("+ Invoking command ".concat(z.commandId,".")),this._currentlyDispatchingCommandId=z.commandId;try{typeof z.commandArgs>"u"?this._commandService.executeCommand(z.commandId).then(void 0,j=>this._notificationService.warn(j)):this._commandService.executeCommand(z.commandId,z.commandArgs).then(void 0,j=>this._notificationService.warn(j))}finally{this._currentlyDispatchingCommandId=null}HIGH_FREQ_COMMANDS.test(z.commandId)||this._telemetryService.publicLog2("workbenchActionExecuted",{id:z.commandId,from:"keybinding",detail:(r=e.getUserSettingsLabel())!==null&&r!==void 0?r:void 0})}return g}}}mightProducePrintableCharacter(e){return e.ctrlKey||e.metaKey?!1:e.keyCode>=31&&e.keyCode<=56||e.keyCode>=21&&e.keyCode<=30}}class KeybindingModifierSet{constructor(e){this._ctrlKey=e?e.ctrlKey:!1,this._shiftKey=e?e.shiftKey:!1,this._altKey=e?e.altKey:!1,this._metaKey=e?e.metaKey:!1}has(e){switch(e){case"ctrl":return this._ctrlKey;case"shift":return this._shiftKey;case"alt":return this._altKey;case"meta":return this._metaKey}}}KeybindingModifierSet.EMPTY=new KeybindingModifierSet(null);class ResolvedKeybindingItem{constructor(e,t,i,r,g,y,k){this._resolvedKeybindingItemBrand=void 0,this.resolvedKeybinding=e,this.chords=e?toEmptyArrayIfContainsNull(e.getDispatchChords()):[],e&&this.chords.length===0&&(this.chords=toEmptyArrayIfContainsNull(e.getSingleModifierDispatchChords())),this.bubble=t?t.charCodeAt(0)===94:!1,this.command=this.bubble?t.substr(1):t,this.commandArgs=i,this.when=r,this.isDefault=g,this.extensionId=y,this.isBuiltinExtension=k}}function toEmptyArrayIfContainsNull(n){const e=[];for(let t=0,i=n.length;tthis._getLabel(e))}getAriaLabel(){return AriaLabelProvider.toLabel(this._os,this._chords,e=>this._getAriaLabel(e))}getElectronAccelerator(){return this._chords.length>1||this._chords[0].isDuplicateModifierCase()?null:ElectronAcceleratorLabelProvider.toLabel(this._os,this._chords,e=>this._getElectronAccelerator(e))}getUserSettingsLabel(){return UserSettingsLabelProvider.toLabel(this._os,this._chords,e=>this._getUserSettingsLabel(e))}hasMultipleChords(){return this._chords.length>1}getChords(){return this._chords.map(e=>this._getChord(e))}_getChord(e){return new ResolvedChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,this._getLabel(e),this._getAriaLabel(e))}getDispatchChords(){return this._chords.map(e=>this._getChordDispatch(e))}getSingleModifierDispatchChords(){return this._chords.map(e=>this._getSingleModifierChordDispatch(e))}}class USLayoutResolvedKeybinding extends BaseResolvedKeybinding{constructor(e,t){super(t,e)}_keyCodeToUILabel(e){if(this._os===2)switch(e){case 15:return"←";case 16:return"↑";case 17:return"→";case 18:return"↓"}return KeyCodeUtils.toString(e)}_getLabel(e){return e.isDuplicateModifierCase()?"":this._keyCodeToUILabel(e.keyCode)}_getAriaLabel(e){return e.isDuplicateModifierCase()?"":KeyCodeUtils.toString(e.keyCode)}_getElectronAccelerator(e){return KeyCodeUtils.toElectronAccelerator(e.keyCode)}_getUserSettingsLabel(e){if(e.isDuplicateModifierCase())return"";const t=KeyCodeUtils.toUserSettingsUS(e.keyCode);return t&&t.toLowerCase()}_getChordDispatch(e){return USLayoutResolvedKeybinding.getDispatchStr(e)}static getDispatchStr(e){if(e.isModifierKey())return null;let t="";return e.ctrlKey&&(t+="ctrl+"),e.shiftKey&&(t+="shift+"),e.altKey&&(t+="alt+"),e.metaKey&&(t+="meta+"),t+=KeyCodeUtils.toString(e.keyCode),t}_getSingleModifierChordDispatch(e){return e.keyCode===5&&!e.shiftKey&&!e.altKey&&!e.metaKey?"ctrl":e.keyCode===4&&!e.ctrlKey&&!e.altKey&&!e.metaKey?"shift":e.keyCode===6&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey?"alt":e.keyCode===57&&!e.ctrlKey&&!e.shiftKey&&!e.altKey?"meta":null}static _scanCodeToKeyCode(e){const t=IMMUTABLE_CODE_TO_KEY_CODE[e];if(t!==-1)return t;switch(e){case 10:return 31;case 11:return 32;case 12:return 33;case 13:return 34;case 14:return 35;case 15:return 36;case 16:return 37;case 17:return 38;case 18:return 39;case 19:return 40;case 20:return 41;case 21:return 42;case 22:return 43;case 23:return 44;case 24:return 45;case 25:return 46;case 26:return 47;case 27:return 48;case 28:return 49;case 29:return 50;case 30:return 51;case 31:return 52;case 32:return 53;case 33:return 54;case 34:return 55;case 35:return 56;case 36:return 22;case 37:return 23;case 38:return 24;case 39:return 25;case 40:return 26;case 41:return 27;case 42:return 28;case 43:return 29;case 44:return 30;case 45:return 21;case 51:return 88;case 52:return 86;case 53:return 92;case 54:return 94;case 55:return 93;case 56:return 0;case 57:return 85;case 58:return 95;case 59:return 91;case 60:return 87;case 61:return 89;case 62:return 90;case 106:return 97}return 0}static _toKeyCodeChord(e){if(!e)return null;if(e instanceof KeyCodeChord)return e;const t=this._scanCodeToKeyCode(e.scanCode);return t===0?null:new KeyCodeChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,t)}static resolveKeybinding(e,t){const i=toEmptyArrayIfContainsNull(e.chords.map(r=>this._toKeyCodeChord(r)));return i.length>0?[new USLayoutResolvedKeybinding(i,t)]:[]}}const ILabelService=createDecorator("labelService"),IProgressService=createDecorator("progressService");let Progress$1=class{constructor(e){this.callback=e}report(e){this._value=e,this.callback(this._value)}};Progress$1.None=Object.freeze({report(){}});const IEditorProgressService=createDecorator("editorProgressService");class StringIterator{constructor(){this._value="",this._pos=0}reset(e){return this._value=e,this._pos=0,this}next(){return this._pos+=1,this}hasNext(){return this._pos=0;t--,this._valueLen--){const i=this._value.charCodeAt(t);if(!(i===47||this._splitOnBackslash&&i===92))break}return this.next()}hasNext(){return this._to!1,t=()=>!1){return new TernarySearchTree(new UriIterator(e,t))}static forStrings(){return new TernarySearchTree(new StringIterator)}static forConfigKeys(){return new TernarySearchTree(new ConfigKeysIterator)}constructor(e){this._iter=e}clear(){this._root=void 0}set(e,t){const i=this._iter.reset(e);let r;this._root||(this._root=new TernarySearchTreeNode,this._root.segment=i.value());const g=[];for(r=this._root;;){const k=i.cmp(r.segment);if(k>0)r.left||(r.left=new TernarySearchTreeNode,r.left.segment=i.value()),g.push([-1,r]),r=r.left;else if(k<0)r.right||(r.right=new TernarySearchTreeNode,r.right.segment=i.value()),g.push([1,r]),r=r.right;else if(i.hasNext())i.next(),r.mid||(r.mid=new TernarySearchTreeNode,r.mid.segment=i.value()),g.push([0,r]),r=r.mid;else break}const y=r.value;r.value=t,r.key=e;for(let k=g.length-1;k>=0;k--){const L=g[k][1];L.updateHeight();const V=L.balanceFactor();if(V<-1||V>1){const z=g[k][0],j=g[k+1][0];if(z===1&&j===1)g[k][1]=L.rotateLeft();else if(z===-1&&j===-1)g[k][1]=L.rotateRight();else if(z===1&&j===-1)L.right=g[k+1][1]=g[k+1][1].rotateRight(),g[k][1]=L.rotateLeft();else if(z===-1&&j===1)L.left=g[k+1][1]=g[k+1][1].rotateLeft(),g[k][1]=L.rotateRight();else throw new Error;if(k>0)switch(g[k-1][0]){case-1:g[k-1][1].left=g[k][1];break;case 1:g[k-1][1].right=g[k][1];break;case 0:g[k-1][1].mid=g[k][1];break}else this._root=g[0][1]}}return y}get(e){var t;return(t=this._getNode(e))===null||t===void 0?void 0:t.value}_getNode(e){const t=this._iter.reset(e);let i=this._root;for(;i;){const r=t.cmp(i.segment);if(r>0)i=i.left;else if(r<0)i=i.right;else if(t.hasNext())t.next(),i=i.mid;else break}return i}has(e){const t=this._getNode(e);return!((t==null?void 0:t.value)===void 0&&(t==null?void 0:t.mid)===void 0)}delete(e){return this._delete(e,!1)}deleteSuperstr(e){return this._delete(e,!0)}_delete(e,t){var i;const r=this._iter.reset(e),g=[];let y=this._root;for(;y;){const k=r.cmp(y.segment);if(k>0)g.push([-1,y]),y=y.left;else if(k<0)g.push([1,y]),y=y.right;else if(r.hasNext())r.next(),g.push([0,y]),y=y.mid;else break}if(y){if(t?(y.left=void 0,y.mid=void 0,y.right=void 0,y.height=1):(y.key=void 0,y.value=void 0),!y.mid&&!y.value)if(y.left&&y.right){const k=this._min(y.right);if(k.key){const{key:L,value:V,segment:z}=k;this._delete(k.key,!1),y.key=L,y.value=V,y.segment=z}}else{const k=(i=y.left)!==null&&i!==void 0?i:y.right;if(g.length>0){const[L,V]=g[g.length-1];switch(L){case-1:V.left=k;break;case 0:V.mid=k;break;case 1:V.right=k;break}}else this._root=k}for(let k=g.length-1;k>=0;k--){const L=g[k][1];L.updateHeight();const V=L.balanceFactor();if(V>1?(L.right.balanceFactor()>=0||(L.right=L.right.rotateRight()),g[k][1]=L.rotateLeft()):V<-1&&(L.left.balanceFactor()<=0||(L.left=L.left.rotateLeft()),g[k][1]=L.rotateRight()),k>0)switch(g[k-1][0]){case-1:g[k-1][1].left=g[k][1];break;case 1:g[k-1][1].right=g[k][1];break;case 0:g[k-1][1].mid=g[k][1];break}else this._root=g[0][1]}}}_min(e){for(;e.left;)e=e.left;return e}findSubstr(e){const t=this._iter.reset(e);let i=this._root,r;for(;i;){const g=t.cmp(i.segment);if(g>0)i=i.left;else if(g<0)i=i.right;else if(t.hasNext())t.next(),r=i.value||r,i=i.mid;else break}return i&&i.value||r}findSuperstr(e){return this._findSuperstrOrElement(e,!1)}_findSuperstrOrElement(e,t){const i=this._iter.reset(e);let r=this._root;for(;r;){const g=i.cmp(r.segment);if(g>0)r=r.left;else if(g<0)r=r.right;else if(i.hasNext())i.next(),r=r.mid;else return r.mid?this._entries(r.mid):t?r.value:void 0}}forEach(e){for(const[t,i]of this)e(i,t)}*[Symbol.iterator](){yield*this._entries(this._root)}_entries(e){const t=[];return this._dfsEntries(e,t),t[Symbol.iterator]()}_dfsEntries(e,t){e&&(e.left&&this._dfsEntries(e.left,t),e.value&&t.push([e.key,e.value]),e.mid&&this._dfsEntries(e.mid,t),e.right&&this._dfsEntries(e.right,t))}}const IWorkspaceContextService=createDecorator("contextService");function isSingleFolderWorkspaceIdentifier(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&URI.isUri(e.uri)}function isEmptyWorkspaceIdentifier(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&!isSingleFolderWorkspaceIdentifier(n)&&!isWorkspaceIdentifier(n)}const UNKNOWN_EMPTY_WINDOW_WORKSPACE={id:"empty-window"};function toWorkspaceIdentifier(n,e){if(typeof n=="string"||typeof n>"u")return typeof n=="string"?{id:basename$1(n)}:UNKNOWN_EMPTY_WINDOW_WORKSPACE;const t=n;return t.configuration?{id:t.id,configPath:t.configuration}:t.folders.length===1?{id:t.id,uri:t.folders[0].uri}:{id:t.id}}function isWorkspaceIdentifier(n){const e=n;return typeof(e==null?void 0:e.id)=="string"&&URI.isUri(e.configPath)}class WorkspaceFolder{constructor(e,t){this.raw=t,this.uri=e.uri,this.index=e.index,this.name=e.name}toJSON(){return{uri:this.uri,name:this.name,index:this.index}}}const WORKSPACE_EXTENSION="code-workspace";localize("codeWorkspace","Code Workspace");const STANDALONE_EDITOR_WORKSPACE_ID="4064f6ec-cb38-4ad0-af64-ee6467e63c82";function isStandaloneEditorWorkspace(n){return n.id===STANDALONE_EDITOR_WORKSPACE_ID}var InspectTokensNLS;(function(n){n.inspectTokensAction=localize("inspectTokens","Developer: Inspect Tokens")})(InspectTokensNLS||(InspectTokensNLS={}));var GoToLineNLS;(function(n){n.gotoLineActionLabel=localize("gotoLineActionLabel","Go to Line/Column...")})(GoToLineNLS||(GoToLineNLS={}));var QuickHelpNLS;(function(n){n.helpQuickAccessActionLabel=localize("helpQuickAccess","Show all Quick Access Providers")})(QuickHelpNLS||(QuickHelpNLS={}));var QuickCommandNLS;(function(n){n.quickCommandActionLabel=localize("quickCommandActionLabel","Command Palette"),n.quickCommandHelp=localize("quickCommandActionHelp","Show And Run Commands")})(QuickCommandNLS||(QuickCommandNLS={}));var QuickOutlineNLS;(function(n){n.quickOutlineActionLabel=localize("quickOutlineActionLabel","Go to Symbol..."),n.quickOutlineByCategoryActionLabel=localize("quickOutlineByCategoryActionLabel","Go to Symbol by Category...")})(QuickOutlineNLS||(QuickOutlineNLS={}));var StandaloneCodeEditorNLS;(function(n){n.editorViewAccessibleLabel=localize("editorViewAccessibleLabel","Editor content"),n.accessibilityHelpMessage=localize("accessibilityHelpMessage","Press Alt+F1 for Accessibility Options.")})(StandaloneCodeEditorNLS||(StandaloneCodeEditorNLS={}));var ToggleHighContrastNLS;(function(n){n.toggleHighContrast=localize("toggleHighContrast","Toggle High Contrast Theme")})(ToggleHighContrastNLS||(ToggleHighContrastNLS={}));var StandaloneServicesNLS;(function(n){n.bulkEditServiceSummary=localize("bulkEditServiceSummary","Made {0} edits in {1} files")})(StandaloneServicesNLS||(StandaloneServicesNLS={}));const IWorkspaceTrustManagementService=createDecorator("workspaceTrustManagementService");let registeredAssociations=[],nonUserRegisteredAssociations=[],userRegisteredAssociations=[];function registerPlatformLanguageAssociation(n,e=!1){_registerLanguageAssociation(n,!1,e)}function _registerLanguageAssociation(n,e,t){const i=toLanguageAssociationItem(n,e);registeredAssociations.push(i),i.userConfigured?userRegisteredAssociations.push(i):nonUserRegisteredAssociations.push(i),t&&!i.userConfigured&®isteredAssociations.forEach(r=>{r.mime===i.mime||r.userConfigured||(i.extension&&r.extension===i.extension&&console.warn("Overwriting extension <<".concat(i.extension,">> to now point to mime <<").concat(i.mime,">>")),i.filename&&r.filename===i.filename&&console.warn("Overwriting filename <<".concat(i.filename,">> to now point to mime <<").concat(i.mime,">>")),i.filepattern&&r.filepattern===i.filepattern&&console.warn("Overwriting filepattern <<".concat(i.filepattern,">> to now point to mime <<").concat(i.mime,">>")),i.firstline&&r.firstline===i.firstline&&console.warn("Overwriting firstline <<".concat(i.firstline,">> to now point to mime <<").concat(i.mime,">>")))})}function toLanguageAssociationItem(n,e){return{id:n.id,mime:n.mime,filename:n.filename,extension:n.extension,filepattern:n.filepattern,firstline:n.firstline,userConfigured:e,filenameLowercase:n.filename?n.filename.toLowerCase():void 0,extensionLowercase:n.extension?n.extension.toLowerCase():void 0,filepatternLowercase:n.filepattern?parse$2(n.filepattern.toLowerCase()):void 0,filepatternOnPath:n.filepattern?n.filepattern.indexOf(posix.sep)>=0:!1}}function clearPlatformLanguageAssociations(){registeredAssociations=registeredAssociations.filter(n=>n.userConfigured),nonUserRegisteredAssociations=[]}function getLanguageIds(n,e){return getAssociations(n,e).map(t=>t.id)}function getAssociations(n,e){let t;if(n)switch(n.scheme){case Schemas.file:t=n.fsPath;break;case Schemas.data:{t=DataUri.parseMetaData(n).get(DataUri.META_DATA_LABEL);break}case Schemas.vscodeNotebookCell:t=void 0;break;default:t=n.path}if(!t)return[{id:"unknown",mime:Mimes.unknown}];t=t.toLowerCase();const i=basename$1(t),r=getAssociationByPath(t,i,userRegisteredAssociations);if(r)return[r,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}];const g=getAssociationByPath(t,i,nonUserRegisteredAssociations);if(g)return[g,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}];if(e){const y=getAssociationByFirstline(e);if(y)return[y,{id:PLAINTEXT_LANGUAGE_ID,mime:Mimes.text}]}return[{id:"unknown",mime:Mimes.unknown}]}function getAssociationByPath(n,e,t){var i;let r,g,y;for(let k=t.length-1;k>=0;k--){const L=t[k];if(e===L.filenameLowercase){r=L;break}if(L.filepattern&&(!g||L.filepattern.length>g.filepattern.length)){const V=L.filepatternOnPath?n:e;!((i=L.filepatternLowercase)===null||i===void 0)&&i.call(L,V)&&(g=L)}L.extension&&(!y||L.extension.length>y.extension.length)&&e.endsWith(L.extensionLowercase)&&(y=L)}if(r)return r;if(g)return g;if(y)return y}function getAssociationByFirstline(n){if(startsWithUTF8BOM(n)&&(n=n.substr(1)),n.length>0)for(let e=registeredAssociations.length-1;e>=0;e--){const t=registeredAssociations[e];if(!t.firstline)continue;const i=n.match(t.firstline);if(i&&i.length>0)return t}}const hasOwnProperty$1=Object.prototype.hasOwnProperty,NULL_LANGUAGE_ID="vs.editor.nullLanguage";class LanguageIdCodec{constructor(){this._languageIdToLanguage=[],this._languageToLanguageId=new Map,this._register(NULL_LANGUAGE_ID,0),this._register(PLAINTEXT_LANGUAGE_ID,1),this._nextLanguageId=2}_register(e,t){this._languageIdToLanguage[t]=e,this._languageToLanguageId.set(e,t)}register(e){if(this._languageToLanguageId.has(e))return;const t=this._nextLanguageId++;this._register(e,t)}encodeLanguageId(e){return this._languageToLanguageId.get(e)||0}decodeLanguageId(e){return this._languageIdToLanguage[e]||NULL_LANGUAGE_ID}}class LanguagesRegistry extends Disposable{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,LanguagesRegistry.instanceCount++,this._warnOnOverwrite=t,this.languageIdCodec=new LanguageIdCodec,this._dynamicLanguages=[],this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(ModesRegistry.onDidChangeLanguages(i=>{this._initializeFromRegistry()})))}dispose(){LanguagesRegistry.instanceCount--,super.dispose()}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},clearPlatformLanguageAssociations();const e=[].concat(ModesRegistry.getLanguages()).concat(this._dynamicLanguages);this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(t=>{const i=this._languages[t];i.name&&(this._nameMap[i.name]=i.identifier),i.aliases.forEach(r=>{this._lowercaseNameMap[r.toLowerCase()]=i.identifier}),i.mimetypes.forEach(r=>{this._mimeTypesMap[r]=i.identifier})}),Registry.as(Extensions$6.Configuration).registerOverrideIdentifiers(this.getRegisteredLanguageIds()),this._onDidChange.fire()}_registerLanguage(e){const t=e.id;let i;hasOwnProperty$1.call(this._languages,t)?i=this._languages[t]:(this.languageIdCodec.register(t),i={identifier:t,name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[],icons:[]},this._languages[t]=i),this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let r=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),r=t.mimetypes[0]),r||(r="text/x-".concat(i),e.mimetypes.push(r)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(const k of t.extensions)registerPlatformLanguageAssociation({id:i,mime:r,extension:k},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(const k of t.filenames)registerPlatformLanguageAssociation({id:i,mime:r,filename:k},this._warnOnOverwrite),e.filenames.push(k);if(Array.isArray(t.filenamePatterns))for(const k of t.filenamePatterns)registerPlatformLanguageAssociation({id:i,mime:r,filepattern:k},this._warnOnOverwrite);if(typeof t.firstLine=="string"&&t.firstLine.length>0){let k=t.firstLine;k.charAt(0)!=="^"&&(k="^"+k);try{const L=new RegExp(k);regExpLeadsToEndlessLoop(L)||registerPlatformLanguageAssociation({id:i,mime:r,firstline:L},this._warnOnOverwrite)}catch(L){console.warn("[".concat(t.id,"]: Invalid regular expression `").concat(k,"`: "),L)}}e.aliases.push(i);let g=null;if(typeof t.aliases<"u"&&Array.isArray(t.aliases)&&(t.aliases.length===0?g=[null]:g=t.aliases),g!==null)for(const k of g)!k||k.length===0||e.aliases.push(k);const y=g!==null&&g.length>0;if(!(y&&g[0]===null)){const k=(y?g[0]:null)||i;(y||!e.name)&&(e.name=k)}t.configuration&&e.configurationFiles.push(t.configuration),t.icon&&e.icons.push(t.icon)}isRegisteredLanguageId(e){return e?hasOwnProperty$1.call(this._languages,e):!1}getRegisteredLanguageIds(){return Object.keys(this._languages)}getLanguageIdByLanguageName(e){const t=e.toLowerCase();return hasOwnProperty$1.call(this._lowercaseNameMap,t)?this._lowercaseNameMap[t]:null}getLanguageIdByMimeType(e){return e&&hasOwnProperty$1.call(this._mimeTypesMap,e)?this._mimeTypesMap[e]:null}guessLanguageIdByFilepathOrFirstLine(e,t){return!e&&!t?[]:getLanguageIds(e,t)}}LanguagesRegistry.instanceCount=0;class LanguageService extends Disposable{constructor(e=!1){super(),this._onDidRequestBasicLanguageFeatures=this._register(new Emitter$1),this.onDidRequestBasicLanguageFeatures=this._onDidRequestBasicLanguageFeatures.event,this._onDidRequestRichLanguageFeatures=this._register(new Emitter$1),this.onDidRequestRichLanguageFeatures=this._onDidRequestRichLanguageFeatures.event,this._onDidChange=this._register(new Emitter$1({leakWarningThreshold:200})),this.onDidChange=this._onDidChange.event,this._requestedBasicLanguages=new Set,this._requestedRichLanguages=new Set,LanguageService.instanceCount++,this._registry=this._register(new LanguagesRegistry(!0,e)),this.languageIdCodec=this._registry.languageIdCodec,this._register(this._registry.onDidChange(()=>this._onDidChange.fire()))}dispose(){LanguageService.instanceCount--,super.dispose()}isRegisteredLanguageId(e){return this._registry.isRegisteredLanguageId(e)}getLanguageIdByLanguageName(e){return this._registry.getLanguageIdByLanguageName(e)}getLanguageIdByMimeType(e){return this._registry.getLanguageIdByMimeType(e)}guessLanguageIdByFilepathOrFirstLine(e,t){const i=this._registry.guessLanguageIdByFilepathOrFirstLine(e,t);return firstOrDefault(i,null)}createById(e){return new LanguageSelection(this.onDidChange,()=>this._createAndGetLanguageIdentifier(e))}createByFilepathOrFirstLine(e,t){return new LanguageSelection(this.onDidChange,()=>{const i=this.guessLanguageIdByFilepathOrFirstLine(e,t);return this._createAndGetLanguageIdentifier(i)})}_createAndGetLanguageIdentifier(e){return(!e||!this.isRegisteredLanguageId(e))&&(e=PLAINTEXT_LANGUAGE_ID),e}requestBasicLanguageFeatures(e){this._requestedBasicLanguages.has(e)||(this._requestedBasicLanguages.add(e),this._onDidRequestBasicLanguageFeatures.fire(e))}requestRichLanguageFeatures(e){this._requestedRichLanguages.has(e)||(this._requestedRichLanguages.add(e),this.requestBasicLanguageFeatures(e),TokenizationRegistry.getOrCreate(e),this._onDidRequestRichLanguageFeatures.fire(e))}}LanguageService.instanceCount=0;class LanguageSelection{constructor(e,t){this._onDidChangeLanguages=e,this._selector=t,this._listener=null,this._emitter=null,this.languageId=this._selector()}_dispose(){this._listener&&(this._listener.dispose(),this._listener=null),this._emitter&&(this._emitter.dispose(),this._emitter=null)}get onDidChange(){return this._listener||(this._listener=this._onDidChangeLanguages(()=>this._evaluate())),this._emitter||(this._emitter=new Emitter$1({onDidRemoveLastListener:()=>{this._dispose()}})),this._emitter.event}_evaluate(){var e;const t=this._selector();t!==this.languageId&&(this.languageId=t,(e=this._emitter)===null||e===void 0||e.fire(this.languageId))}}const DataTransfers={RESOURCES:"ResourceURLs",TEXT:Mimes.text,INTERNAL_URI_LIST:"application/vnd.code.uri-list"},nullHoverDelegateFactory=()=>({get delay(){return-1},dispose:()=>{},showHover:()=>{}});let hoverDelegateFactory=nullHoverDelegateFactory;const defaultHoverDelegateMouse=new Lazy(()=>hoverDelegateFactory("mouse",!1)),defaultHoverDelegateElement=new Lazy(()=>hoverDelegateFactory("element",!1));function setHoverDelegateFactory(n){hoverDelegateFactory=n}function getDefaultHoverDelegate(n){return n==="element"?defaultHoverDelegateElement.value:defaultHoverDelegateMouse.value}function createInstantHoverDelegate(){return hoverDelegateFactory("element",!0)}function setupNativeHover(n,e){isString$3(e)?n.title=stripIcons(e):e!=null&&e.markdownNotSupportedFallback?n.title=e.markdownNotSupportedFallback:n.removeAttribute("title")}class UpdatableHoverWidget{constructor(e,t,i){this.hoverDelegate=e,this.target=t,this.fadeInAnimation=i}async update(e,t,i){var r;if(this._cancellationTokenSource&&(this._cancellationTokenSource.dispose(!0),this._cancellationTokenSource=void 0),this.isDisposed)return;let g;if(e===void 0||isString$3(e)||e instanceof HTMLElement)g=e;else if(!isFunction$3(e.markdown))g=(r=e.markdown)!==null&&r!==void 0?r:e.markdownNotSupportedFallback;else{this._hoverWidget||this.show(localize("iconLabel.loading","Loading..."),t),this._cancellationTokenSource=new CancellationTokenSource$1;const y=this._cancellationTokenSource.token;if(g=await e.markdown(y),g===void 0&&(g=e.markdownNotSupportedFallback),this.isDisposed||y.isCancellationRequested)return}this.show(g,t,i)}show(e,t,i){const r=this._hoverWidget;if(this.hasContent(e)){const g={content:e,target:this.target,appearance:{showPointer:this.hoverDelegate.placement==="element",skipFadeInAnimation:!this.fadeInAnimation||!!r},position:{hoverPosition:2},...i};this._hoverWidget=this.hoverDelegate.showHover(g,t)}r==null||r.dispose()}hasContent(e){return e?isMarkdownString(e)?!!e.value:!0:!1}get isDisposed(){var e;return(e=this._hoverWidget)===null||e===void 0?void 0:e.isDisposed}dispose(){var e,t;(e=this._hoverWidget)===null||e===void 0||e.dispose(),(t=this._cancellationTokenSource)===null||t===void 0||t.dispose(!0),this._cancellationTokenSource=void 0}}function getHoverTargetElement(n,e){for(e=e!=null?e:getWindow$1(n).document.body;!n.hasAttribute("custom-hover")&&n!==e;)n=n.parentElement;return n}function setupCustomHover(n,e,t,i){e.setAttribute("custom-hover","true"),e.title!==""&&(console.warn("HTML element already has a title attribute, which will conflict with the custom hover. Please remove the title attribute."),console.trace("Stack trace:",e.title),e.title="");let r,g;const y=(ue,he)=>{var pe;const Ce=g!==void 0;ue&&(g==null||g.dispose(),g=void 0),he&&(r==null||r.dispose(),r=void 0),Ce&&((pe=n.onDidHideHover)===null||pe===void 0||pe.call(n),g=void 0)},k=(ue,he,pe)=>new TimeoutTimer(async()=>{(!g||g.isDisposed)&&(g=new UpdatableHoverWidget(n,pe||e,ue>0),await g.update(typeof t=="function"?t():t,he,i))},ue);let L=!1;const V=addDisposableListener(e,EventType$1.MOUSE_DOWN,()=>{L=!0,y(!0,!0)},!0),z=addDisposableListener(e,EventType$1.MOUSE_UP,()=>{L=!1},!0),j=addDisposableListener(e,EventType$1.MOUSE_LEAVE,ue=>{L=!1,y(!1,ue.fromElement===e)},!0),ie=ue=>{if(r)return;const he=new DisposableStore,pe={targetElements:[e],dispose:()=>{}};if(n.placement===void 0||n.placement==="mouse"){const Ce=$e=>{pe.x=$e.x+10,$e.target instanceof HTMLElement&&getHoverTargetElement($e.target,e)!==e&&y(!0,!0)};he.add(addDisposableListener(e,EventType$1.MOUSE_MOVE,Ce,!0))}r=he,!(ue.target instanceof HTMLElement&&getHoverTargetElement(ue.target,e)!==e)&&he.add(k(n.delay,!1,pe))},oe=addDisposableListener(e,EventType$1.MOUSE_OVER,ie,!0),re=()=>{if(L||r)return;const ue={targetElements:[e],dispose:()=>{}},he=new DisposableStore,pe=()=>y(!0,!0);he.add(addDisposableListener(e,EventType$1.BLUR,pe,!0)),he.add(k(n.delay,!1,ue)),r=he};let ae;const le=e.tagName.toLowerCase();return le!=="input"&&le!=="textarea"&&(ae=addDisposableListener(e,EventType$1.FOCUS,re,!0)),{show:ue=>{y(!1,!0),k(0,ue)},hide:()=>{y(!0,!0)},update:async(ue,he)=>{t=ue,await(g==null?void 0:g.update(t,void 0,he))},dispose:()=>{oe.dispose(),j.dispose(),V.dispose(),z.dispose(),ae==null||ae.dispose(),y(!0,!0)}}}class CombinedSpliceable{constructor(e){this.spliceables=e}splice(e,t,i){this.spliceables.forEach(r=>r.splice(e,t,i))}}class ListError extends Error{constructor(e,t){super("ListError [".concat(e,"] ").concat(t))}}function groupIntersect(n,e){const t=[];for(const i of e){if(n.start>=i.range.end)continue;if(n.ende.concat(t),[]))}class RangeMap{get paddingTop(){return this._paddingTop}set paddingTop(e){this._size=this._size+e-this._paddingTop,this._paddingTop=e}constructor(e){this.groups=[],this._size=0,this._paddingTop=0,this._paddingTop=e!=null?e:0,this._size=this._paddingTop}splice(e,t,i=[]){const r=i.length-t,g=groupIntersect({start:0,end:e},this.groups),y=groupIntersect({start:e+t,end:Number.POSITIVE_INFINITY},this.groups).map(L=>({range:shift(L.range,r),size:L.size})),k=i.map((L,V)=>({range:{start:e+V,end:e+V+1},size:L.size}));this.groups=concat(g,k,y),this._size=this._paddingTop+this.groups.reduce((L,V)=>L+V.size*(V.range.end-V.range.start),0)}get count(){const e=this.groups.length;return e?this.groups[e-1].range.end:0}get size(){return this._size}indexAt(e){if(e<0)return-1;if(e{for(const i of e)this.getRenderer(t).disposeTemplate(i.templateData),i.templateData=null}),this.cache.clear(),this.transactionNodesPendingRemoval.clear()}getRenderer(e){const t=this.renderers.get(e);if(!t)throw new Error("No renderer found for ".concat(e));return t}}var __decorate$26=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};const StaticDND={CurrentDragAndDropData:void 0},DefaultOptions$1={useShadows:!0,verticalScrollMode:1,setRowLineHeight:!0,setRowHeight:!0,supportDynamicHeights:!1,dnd:{getDragElements(n){return[n]},getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}},horizontalScrolling:!1,transformOptimization:!0,alwaysConsumeMouseWheel:!0};class ElementsDragAndDropData{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class ExternalElementsDragAndDropData{constructor(e){this.elements=e}update(){}getData(){return this.elements}}class NativeDragAndDropData{constructor(){this.types=[],this.files=[]}update(e){if(e.types&&this.types.splice(0,this.types.length,...e.types),e.files){this.files.splice(0,this.files.length);for(let t=0;tr,e!=null&&e.getPosInSet?this.getPosInSet=e.getPosInSet.bind(e):this.getPosInSet=(t,i)=>i+1,e!=null&&e.getRole?this.getRole=e.getRole.bind(e):this.getRole=t=>"listitem",e!=null&&e.isChecked?this.isChecked=e.isChecked.bind(e):this.isChecked=t=>{}}}class ListView{get contentHeight(){return this.rangeMap.size}get onDidScroll(){return this.scrollableElement.onScroll}get scrollableElementDomNode(){return this.scrollableElement.getDomNode()}get horizontalScrolling(){return this._horizontalScrolling}set horizontalScrolling(e){if(e!==this._horizontalScrolling){if(e&&this.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");if(this._horizontalScrolling=e,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this._horizontalScrolling){for(const t of this.items)this.measureItemWidth(t);this.updateScrollWidth(),this.scrollableElement.setScrollDimensions({width:getContentWidth(this.domNode)}),this.rowsContainer.style.width="".concat(Math.max(this.scrollWidth||0,this.renderWidth),"px")}else this.scrollableElementWidthDelayer.cancel(),this.scrollableElement.setScrollDimensions({width:this.renderWidth,scrollWidth:this.renderWidth}),this.rowsContainer.style.width=""}}constructor(e,t,i,r=DefaultOptions$1){var g,y,k,L,V,z,j,ie,oe,re,ae,le,de;if(this.virtualDelegate=t,this.domId="list_id_".concat(++ListView.InstanceCount),this.renderers=new Map,this.renderWidth=0,this._scrollHeight=0,this.scrollableElementUpdateDisposable=null,this.scrollableElementWidthDelayer=new Delayer(50),this.splicing=!1,this.dragOverAnimationStopDisposable=Disposable.None,this.dragOverMouseY=0,this.canDrop=!1,this.currentDragFeedbackDisposable=Disposable.None,this.onDragLeaveTimeout=Disposable.None,this.disposables=new DisposableStore,this._onDidChangeContentHeight=new Emitter$1,this._onDidChangeContentWidth=new Emitter$1,this.onDidChangeContentHeight=Event$1.latch(this._onDidChangeContentHeight.event,void 0,this.disposables),this._horizontalScrolling=!1,r.horizontalScrolling&&r.supportDynamicHeights)throw new Error("Horizontal scrolling and dynamic heights not supported simultaneously");this.items=[],this.itemId=0,this.rangeMap=this.createRangeMap((g=r.paddingTop)!==null&&g!==void 0?g:0);for(const he of i)this.renderers.set(he.templateId,he);this.cache=this.disposables.add(new RowCache(this.renderers)),this.lastRenderTop=0,this.lastRenderHeight=0,this.domNode=document.createElement("div"),this.domNode.className="monaco-list",this.domNode.classList.add(this.domId),this.domNode.tabIndex=0,this.domNode.classList.toggle("mouse-support",typeof r.mouseSupport=="boolean"?r.mouseSupport:!0),this._horizontalScrolling=(y=r.horizontalScrolling)!==null&&y!==void 0?y:DefaultOptions$1.horizontalScrolling,this.domNode.classList.toggle("horizontal-scrolling",this._horizontalScrolling),this.paddingBottom=typeof r.paddingBottom>"u"?0:r.paddingBottom,this.accessibilityProvider=new ListViewAccessibilityProvider(r.accessibilityProvider),this.rowsContainer=document.createElement("div"),this.rowsContainer.className="monaco-list-rows",((k=r.transformOptimization)!==null&&k!==void 0?k:DefaultOptions$1.transformOptimization)&&(this.rowsContainer.style.transform="translate3d(0px, 0px, 0px)",this.rowsContainer.style.overflow="hidden",this.rowsContainer.style.contain="strict"),this.disposables.add(Gesture.addTarget(this.rowsContainer)),this.scrollable=this.disposables.add(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:(L=r.smoothScrolling)!==null&&L!==void 0&&L?125:0,scheduleAtNextAnimationFrame:he=>scheduleAtNextAnimationFrame(getWindow$1(this.domNode),he)})),this.scrollableElement=this.disposables.add(new SmoothScrollableElement(this.rowsContainer,{alwaysConsumeMouseWheel:(V=r.alwaysConsumeMouseWheel)!==null&&V!==void 0?V:DefaultOptions$1.alwaysConsumeMouseWheel,horizontal:1,vertical:(z=r.verticalScrollMode)!==null&&z!==void 0?z:DefaultOptions$1.verticalScrollMode,useShadows:(j=r.useShadows)!==null&&j!==void 0?j:DefaultOptions$1.useShadows,mouseWheelScrollSensitivity:r.mouseWheelScrollSensitivity,fastScrollSensitivity:r.fastScrollSensitivity,scrollByPage:r.scrollByPage},this.scrollable)),this.domNode.appendChild(this.scrollableElement.getDomNode()),e.appendChild(this.domNode),this.scrollableElement.onScroll(this.onScroll,this,this.disposables),this.disposables.add(addDisposableListener(this.rowsContainer,EventType.Change,he=>this.onTouchChange(he))),this.disposables.add(addDisposableListener(this.scrollableElement.getDomNode(),"scroll",he=>he.target.scrollTop=0)),this.disposables.add(addDisposableListener(this.domNode,"dragover",he=>this.onDragOver(this.toDragEvent(he)))),this.disposables.add(addDisposableListener(this.domNode,"drop",he=>this.onDrop(this.toDragEvent(he)))),this.disposables.add(addDisposableListener(this.domNode,"dragleave",he=>this.onDragLeave(this.toDragEvent(he)))),this.disposables.add(addDisposableListener(this.domNode,"dragend",he=>this.onDragEnd(he))),this.setRowLineHeight=(ie=r.setRowLineHeight)!==null&&ie!==void 0?ie:DefaultOptions$1.setRowLineHeight,this.setRowHeight=(oe=r.setRowHeight)!==null&&oe!==void 0?oe:DefaultOptions$1.setRowHeight,this.supportDynamicHeights=(re=r.supportDynamicHeights)!==null&&re!==void 0?re:DefaultOptions$1.supportDynamicHeights,this.dnd=(ae=r.dnd)!==null&&ae!==void 0?ae:this.disposables.add(DefaultOptions$1.dnd),this.layout((le=r.initialSize)===null||le===void 0?void 0:le.height,(de=r.initialSize)===null||de===void 0?void 0:de.width)}updateOptions(e){e.paddingBottom!==void 0&&(this.paddingBottom=e.paddingBottom,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),e.smoothScrolling!==void 0&&this.scrollable.setSmoothScrollDuration(e.smoothScrolling?125:0),e.horizontalScrolling!==void 0&&(this.horizontalScrolling=e.horizontalScrolling);let t;if(e.scrollByPage!==void 0&&(t={...t!=null?t:{},scrollByPage:e.scrollByPage}),e.mouseWheelScrollSensitivity!==void 0&&(t={...t!=null?t:{},mouseWheelScrollSensitivity:e.mouseWheelScrollSensitivity}),e.fastScrollSensitivity!==void 0&&(t={...t!=null?t:{},fastScrollSensitivity:e.fastScrollSensitivity}),t&&this.scrollableElement.updateOptions(t),e.paddingTop!==void 0&&e.paddingTop!==this.rangeMap.paddingTop){const i=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),r=e.paddingTop-this.rangeMap.paddingTop;this.rangeMap.paddingTop=e.paddingTop,this.render(i,Math.max(0,this.lastRenderTop+r),this.lastRenderHeight,void 0,void 0,!0),this.setScrollTop(this.lastRenderTop),this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.lastRenderTop,this.lastRenderHeight)}}createRangeMap(e){return new RangeMap(e)}splice(e,t,i=[]){if(this.splicing)throw new Error("Can't run recursive splices.");this.splicing=!0;try{return this._splice(e,t,i)}finally{this.splicing=!1,this._onDidChangeContentHeight.fire(this.contentHeight)}}_splice(e,t,i=[]){const r=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),g={start:e,end:e+t},y=Range$1.intersect(r,g),k=new Map;for(let Ce=y.end-1;Ce>=y.start;Ce--){const $e=this.items[Ce];if($e.dragStartDisposable.dispose(),$e.checkedDisposable.dispose(),$e.row){let xe=k.get($e.templateId);xe||(xe=[],k.set($e.templateId,xe));const Ie=this.renderers.get($e.templateId);Ie&&Ie.disposeElement&&Ie.disposeElement($e.element,Ce,$e.row.templateData,$e.size),xe.push($e.row)}$e.row=null,$e.stale=!0}const L={start:e+t,end:this.items.length},V=Range$1.intersect(L,r),z=Range$1.relativeComplement(L,r),j=i.map(Ce=>({id:String(this.itemId++),element:Ce,templateId:this.virtualDelegate.getTemplateId(Ce),size:this.virtualDelegate.getHeight(Ce),width:void 0,hasDynamicHeight:!!this.virtualDelegate.hasDynamicHeight&&this.virtualDelegate.hasDynamicHeight(Ce),lastDynamicHeightWidth:void 0,row:null,uri:void 0,dropTarget:!1,dragStartDisposable:Disposable.None,checkedDisposable:Disposable.None,stale:!1}));let ie;e===0&&t>=this.items.length?(this.rangeMap=this.createRangeMap(this.rangeMap.paddingTop),this.rangeMap.splice(0,0,j),ie=this.items,this.items=j):(this.rangeMap.splice(e,t,j),ie=this.items.splice(e,t,...j));const oe=i.length-t,re=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight),ae=shift(V,oe),le=Range$1.intersect(re,ae);for(let Ce=le.start;Ceshift(Ce,oe)),pe=[{start:e,end:e+i.length},...ue].map(Ce=>Range$1.intersect(re,Ce)).reverse();for(const Ce of pe)for(let $e=Ce.end-1;$e>=Ce.start;$e--){const xe=this.items[$e],Ie=k.get(xe.templateId),Ne=Ie==null?void 0:Ie.pop();this.insertItemInDOM($e,Ne)}for(const Ce of k.values())for(const $e of Ce)this.cache.release($e);return this.eventuallyUpdateScrollDimensions(),this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight),ie.map(Ce=>Ce.element)}eventuallyUpdateScrollDimensions(){this._scrollHeight=this.contentHeight,this.rowsContainer.style.height="".concat(this._scrollHeight,"px"),this.scrollableElementUpdateDisposable||(this.scrollableElementUpdateDisposable=scheduleAtNextAnimationFrame(getWindow$1(this.domNode),()=>{this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight}),this.updateScrollWidth(),this.scrollableElementUpdateDisposable=null}))}eventuallyUpdateScrollWidth(){if(!this.horizontalScrolling){this.scrollableElementWidthDelayer.cancel();return}this.scrollableElementWidthDelayer.trigger(()=>this.updateScrollWidth())}updateScrollWidth(){if(!this.horizontalScrolling)return;let e=0;for(const t of this.items)typeof t.width<"u"&&(e=Math.max(e,t.width));this.scrollWidth=e,this.scrollableElement.setScrollDimensions({scrollWidth:e===0?0:e+10}),this._onDidChangeContentWidth.fire(this.scrollWidth)}rerender(){if(this.supportDynamicHeights){for(const e of this.items)e.lastDynamicHeightWidth=void 0;this._rerender(this.lastRenderTop,this.lastRenderHeight)}}get length(){return this.items.length}get renderHeight(){return this.scrollableElement.getScrollDimensions().height}get firstVisibleIndex(){return this.getRenderRange(this.lastRenderTop,this.lastRenderHeight).start}element(e){return this.items[e].element}indexOf(e){return this.items.findIndex(t=>t.element===e)}domElement(e){const t=this.items[e].row;return t&&t.domNode}elementHeight(e){return this.items[e].size}elementTop(e){return this.rangeMap.positionAt(e)}indexAt(e){return this.rangeMap.indexAt(e)}indexAfter(e){return this.rangeMap.indexAfter(e)}layout(e,t){const i={height:typeof e=="number"?e:getContentHeight(this.domNode)};this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,i.scrollHeight=this.scrollHeight),this.scrollableElement.setScrollDimensions(i),typeof t<"u"&&(this.renderWidth=t,this.supportDynamicHeights&&this._rerender(this.scrollTop,this.renderHeight)),this.horizontalScrolling&&this.scrollableElement.setScrollDimensions({width:typeof t=="number"?t:getContentWidth(this.domNode)})}render(e,t,i,r,g,y=!1){const k=this.getRenderRange(t,i),L=Range$1.relativeComplement(k,e).reverse(),V=Range$1.relativeComplement(e,k);if(y){const z=Range$1.intersect(e,k);for(let j=z.start;j{for(const z of V)for(let j=z.start;j=z.start;j--)this.insertItemInDOM(j)}),r!==void 0&&(this.rowsContainer.style.left="-".concat(r,"px")),this.rowsContainer.style.top="-".concat(t,"px"),this.horizontalScrolling&&g!==void 0&&(this.rowsContainer.style.width="".concat(Math.max(g,this.renderWidth),"px")),this.lastRenderTop=t,this.lastRenderHeight=i}insertItemInDOM(e,t){var i,r,g;const y=this.items[e];if(!y.row)if(t)y.row=t,y.stale=!0;else{const j=this.cache.alloc(y.templateId);y.row=j.row,y.stale||(y.stale=j.isReusingConnectedDomNode)}const k=this.accessibilityProvider.getRole(y.element)||"listitem";y.row.domNode.setAttribute("role",k);const L=this.accessibilityProvider.isChecked(y.element);if(typeof L=="boolean")y.row.domNode.setAttribute("aria-checked",String(!!L));else if(L){const j=ie=>y.row.domNode.setAttribute("aria-checked",String(!!ie));j(L.value),y.checkedDisposable=L.onDidChange(j)}if(y.stale||!y.row.domNode.parentElement){const j=(g=(r=(i=this.items.at(e+1))===null||i===void 0?void 0:i.row)===null||r===void 0?void 0:r.domNode)!==null&&g!==void 0?g:null;this.rowsContainer.insertBefore(y.row.domNode,j),y.stale=!1}this.updateItemInDOM(y,e);const V=this.renderers.get(y.templateId);if(!V)throw new Error("No renderer found for template id ".concat(y.templateId));V==null||V.renderElement(y.element,e,y.row.templateData,y.size);const z=this.dnd.getDragURI(y.element);y.dragStartDisposable.dispose(),y.row.domNode.draggable=!!z,z&&(y.dragStartDisposable=addDisposableListener(y.row.domNode,"dragstart",j=>this.onDragStart(y.element,z,j))),this.horizontalScrolling&&(this.measureItemWidth(y),this.eventuallyUpdateScrollWidth())}measureItemWidth(e){if(!e.row||!e.row.domNode)return;e.row.domNode.style.width="fit-content",e.width=getContentWidth(e.row.domNode);const t=getWindow$1(e.row.domNode).getComputedStyle(e.row.domNode);t.paddingLeft&&(e.width+=parseFloat(t.paddingLeft)),t.paddingRight&&(e.width+=parseFloat(t.paddingRight)),e.row.domNode.style.width=""}updateItemInDOM(e,t){e.row.domNode.style.top="".concat(this.elementTop(t),"px"),this.setRowHeight&&(e.row.domNode.style.height="".concat(e.size,"px")),this.setRowLineHeight&&(e.row.domNode.style.lineHeight="".concat(e.size,"px")),e.row.domNode.setAttribute("data-index","".concat(t)),e.row.domNode.setAttribute("data-last-element",t===this.length-1?"true":"false"),e.row.domNode.setAttribute("data-parity",t%2===0?"even":"odd"),e.row.domNode.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(e.element,t,this.length))),e.row.domNode.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(e.element,t))),e.row.domNode.setAttribute("id",this.getElementDomId(t)),e.row.domNode.classList.toggle("drop-target",e.dropTarget)}removeItemFromDOM(e){const t=this.items[e];if(t.dragStartDisposable.dispose(),t.checkedDisposable.dispose(),t.row){const i=this.renderers.get(t.templateId);i&&i.disposeElement&&i.disposeElement(t.element,e,t.row.templateData,t.size),this.cache.release(t.row),t.row=null}this.horizontalScrolling&&this.eventuallyUpdateScrollWidth()}getScrollTop(){return this.scrollableElement.getScrollPosition().scrollTop}setScrollTop(e,t){this.scrollableElementUpdateDisposable&&(this.scrollableElementUpdateDisposable.dispose(),this.scrollableElementUpdateDisposable=null,this.scrollableElement.setScrollDimensions({scrollHeight:this.scrollHeight})),this.scrollableElement.setScrollPosition({scrollTop:e,reuseAnimation:t})}get scrollTop(){return this.getScrollTop()}set scrollTop(e){this.setScrollTop(e)}get scrollHeight(){return this._scrollHeight+(this.horizontalScrolling?10:0)+this.paddingBottom}get onMouseClick(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"click")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseDblClick(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"dblclick")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseMiddleClick(){return Event$1.filter(Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"auxclick")).event,e=>this.toMouseEvent(e),this.disposables),e=>e.browserEvent.button===1,this.disposables)}get onMouseDown(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mousedown")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOver(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mouseover")).event,e=>this.toMouseEvent(e),this.disposables)}get onMouseOut(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"mouseout")).event,e=>this.toMouseEvent(e),this.disposables)}get onContextMenu(){return Event$1.any(Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"contextmenu")).event,e=>this.toMouseEvent(e),this.disposables),Event$1.map(this.disposables.add(new DomEmitter(this.domNode,EventType.Contextmenu)).event,e=>this.toGestureEvent(e),this.disposables))}get onTouchStart(){return Event$1.map(this.disposables.add(new DomEmitter(this.domNode,"touchstart")).event,e=>this.toTouchEvent(e),this.disposables)}get onTap(){return Event$1.map(this.disposables.add(new DomEmitter(this.rowsContainer,EventType.Tap)).event,e=>this.toGestureEvent(e),this.disposables)}toMouseEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toTouchEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toGestureEvent(e){const t=this.getItemIndexFromEventTarget(e.initialTarget||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element;return{browserEvent:e,index:t,element:r}}toDragEvent(e){const t=this.getItemIndexFromEventTarget(e.target||null),i=typeof t>"u"?void 0:this.items[t],r=i&&i.element,g=this.getTargetSector(e,t);return{browserEvent:e,index:t,element:r,sector:g}}onScroll(e){try{const t=this.getRenderRange(this.lastRenderTop,this.lastRenderHeight);this.render(t,e.scrollTop,e.height,e.scrollLeft,e.scrollWidth),this.supportDynamicHeights&&this._rerender(e.scrollTop,e.height,e.inSmoothScrolling)}catch(t){throw console.error("Got bad scroll event:",e),t}}onTouchChange(e){e.preventDefault(),e.stopPropagation(),this.scrollTop-=e.translationY}onDragStart(e,t,i){var r,g;if(!i.dataTransfer)return;const y=this.dnd.getDragElements(e);if(i.dataTransfer.effectAllowed="copyMove",i.dataTransfer.setData(DataTransfers.TEXT,t),i.dataTransfer.setDragImage){let k;this.dnd.getDragLabel&&(k=this.dnd.getDragLabel(y,i)),typeof k>"u"&&(k=String(y.length));const L=$$f(".monaco-drag-image");L.textContent=k;const z=(j=>{for(;j&&!j.classList.contains("monaco-workbench");)j=j.parentElement;return j||this.domNode.ownerDocument})(this.domNode);z.appendChild(L),i.dataTransfer.setDragImage(L,-10,-10),setTimeout(()=>z.removeChild(L),0)}this.domNode.classList.add("dragging"),this.currentDragData=new ElementsDragAndDropData(y),StaticDND.CurrentDragAndDropData=new ExternalElementsDragAndDropData(y),(g=(r=this.dnd).onDragStart)===null||g===void 0||g.call(r,this.currentDragData,i)}onDragOver(e){var t,i;if(e.browserEvent.preventDefault(),this.onDragLeaveTimeout.dispose(),StaticDND.CurrentDragAndDropData&&StaticDND.CurrentDragAndDropData.getData()==="vscode-ui"||(this.setupDragAndDropScrollTopAnimation(e.browserEvent),!e.browserEvent.dataTransfer))return!1;if(!this.currentDragData)if(StaticDND.CurrentDragAndDropData)this.currentDragData=StaticDND.CurrentDragAndDropData;else{if(!e.browserEvent.dataTransfer.types)return!1;this.currentDragData=new NativeDragAndDropData}const r=this.dnd.onDragOver(this.currentDragData,e.element,e.index,e.sector,e.browserEvent);if(this.canDrop=typeof r=="boolean"?r:r.accept,!this.canDrop)return this.currentDragFeedback=void 0,this.currentDragFeedbackDisposable.dispose(),!1;e.browserEvent.dataTransfer.dropEffect=typeof r!="boolean"&&((t=r.effect)===null||t===void 0?void 0:t.type)===0?"copy":"move";let g;typeof r!="boolean"&&r.feedback?g=r.feedback:typeof e.index>"u"?g=[-1]:g=[e.index],g=distinct(g).filter(k=>k>=-1&&kk-L),g=g[0]===-1?[-1]:g;let y=typeof r!="boolean"&&r.effect&&r.effect.position?r.effect.position:"drop-target";if(equalsDragFeedback(this.currentDragFeedback,g)&&this.currentDragFeedbackPosition===y)return!0;if(this.currentDragFeedback=g,this.currentDragFeedbackPosition=y,this.currentDragFeedbackDisposable.dispose(),g[0]===-1)this.domNode.classList.add(y),this.rowsContainer.classList.add(y),this.currentDragFeedbackDisposable=toDisposable(()=>{this.domNode.classList.remove(y),this.rowsContainer.classList.remove(y)});else{if(g.length>1&&y!=="drop-target")throw new Error("Can't use multiple feedbacks with position different than 'over'");y==="drop-target-after"&&g[0]{var k;for(const L of g){const V=this.items[L];V.dropTarget=!1,(k=V.row)===null||k===void 0||k.domNode.classList.remove(y)}})}return!0}onDragLeave(e){var t,i;this.onDragLeaveTimeout.dispose(),this.onDragLeaveTimeout=disposableTimeout(()=>this.clearDragOverFeedback(),100,this.disposables),this.currentDragData&&((i=(t=this.dnd).onDragLeave)===null||i===void 0||i.call(t,this.currentDragData,e.element,e.index,e.browserEvent))}onDrop(e){if(!this.canDrop)return;const t=this.currentDragData;this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND.CurrentDragAndDropData=void 0,!(!t||!e.browserEvent.dataTransfer)&&(e.browserEvent.preventDefault(),t.update(e.browserEvent.dataTransfer),this.dnd.drop(t,e.element,e.index,e.sector,e.browserEvent))}onDragEnd(e){var t,i;this.canDrop=!1,this.teardownDragAndDropScrollTopAnimation(),this.clearDragOverFeedback(),this.domNode.classList.remove("dragging"),this.currentDragData=void 0,StaticDND.CurrentDragAndDropData=void 0,(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}clearDragOverFeedback(){this.currentDragFeedback=void 0,this.currentDragFeedbackPosition=void 0,this.currentDragFeedbackDisposable.dispose(),this.currentDragFeedbackDisposable=Disposable.None}setupDragAndDropScrollTopAnimation(e){if(!this.dragOverAnimationDisposable){const t=getTopLeftOffset(this.domNode).top;this.dragOverAnimationDisposable=animate(getWindow$1(this.domNode),this.animateDragAndDropScrollTop.bind(this,t))}this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationStopDisposable=disposableTimeout(()=>{this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)},1e3,this.disposables),this.dragOverMouseY=e.pageY}animateDragAndDropScrollTop(e){if(this.dragOverMouseY===void 0)return;const t=this.dragOverMouseY-e,i=this.renderHeight-35;t<35?this.scrollTop+=Math.max(-14,Math.floor(.3*(t-35))):t>i&&(this.scrollTop+=Math.min(14,Math.floor(.3*(t-i))))}teardownDragAndDropScrollTopAnimation(){this.dragOverAnimationStopDisposable.dispose(),this.dragOverAnimationDisposable&&(this.dragOverAnimationDisposable.dispose(),this.dragOverAnimationDisposable=void 0)}getTargetSector(e,t){if(t===void 0)return;const i=e.offsetY/this.items[t].size,r=Math.floor(i/.25);return clamp(r,0,3)}getItemIndexFromEventTarget(e){const t=this.scrollableElement.getDomNode();let i=e;for(;i instanceof HTMLElement&&i!==this.rowsContainer&&t.contains(i);){const r=i.getAttribute("data-index");if(r){const g=Number(r);if(!isNaN(g))return g}i=i.parentElement}}getRenderRange(e,t){return{start:this.rangeMap.indexAt(e),end:this.rangeMap.indexAfter(e+t-1)}}_rerender(e,t,i){const r=this.getRenderRange(e,t);let g,y;e===this.elementTop(r.start)?(g=r.start,y=0):r.end-r.start>1&&(g=r.start+1,y=this.elementTop(g)-e);let k=0;for(;;){const L=this.getRenderRange(e,t);let V=!1;for(let z=L.start;z=ie.start;oe--)this.insertItemInDOM(oe);for(let ie=L.start;ie{const g=getFunctionName(r);if(g!==void 0)return g;const k=/^\s*\(?\s*([a-zA-Z_$][a-zA-Z_$0-9]*)\s*\)?\s*=>\s*\1(?:\??)\.([a-zA-Z_$][a-zA-Z_$0-9]*)\s*$/.exec(r.toString());if(k)return"".concat(this.debugName,".").concat(k[2]);if(!i)return"".concat(this.debugName," (mapped)")}},g=>r(this.read(g),g))}recomputeInitiallyAndOnChange(e,t){return e.add(_recomputeInitiallyAndOnChange(this,t)),this}}class BaseObservable extends ConvenientObservable{constructor(){super(...arguments),this.observers=new Set}addObserver(e){const t=this.observers.size;this.observers.add(e),t===0&&this.onFirstObserverAdded()}removeObserver(e){this.observers.delete(e)&&this.observers.size===0&&this.onLastObserverRemoved()}onFirstObserverAdded(){}onLastObserverRemoved(){}}function transaction(n,e){const t=new TransactionImpl(n,e);try{n(t)}finally{t.finish()}}let _globalTransaction;function globalTransaction(n){if(_globalTransaction)n(_globalTransaction);else{const e=new TransactionImpl(n,void 0);_globalTransaction=e;try{n(e)}finally{e.finish(),_globalTransaction=void 0}}}async function asyncTransaction(n,e){const t=new TransactionImpl(n,e);try{await n(t)}finally{t.finish()}}function subtransaction(n,e,t){n?e(n):transaction(e,t)}class TransactionImpl{constructor(e,t){var i;this._fn=e,this._getDebugName=t,this.updatingObservers=[],(i=getLogger())===null||i===void 0||i.handleBeginTransaction(this)}getDebugName(){return this._getDebugName?this._getDebugName():getFunctionName(this._fn)}updateObserver(e,t){this.updatingObservers.push({observer:e,observable:t}),e.beginUpdate(t)}finish(){var e;const t=this.updatingObservers;for(let i=0;i{},()=>"Setting ".concat(this.debugName)));try{const y=this._value;this._setValue(e),(r=getLogger())===null||r===void 0||r.handleObservableChanged(this,{oldValue:y,newValue:e,change:i,didChange:!0,hadValue:!0});for(const k of this.observers)t.updateObserver(k,this),k.handleChange(this,i)}finally{g&&g.finish()}}toString(){return"".concat(this.debugName,": ").concat(this._value)}_setValue(e){this._value=e}}function disposableObservableValue(n,e){return typeof n=="string"?new DisposableObservableValue(void 0,n,e):new DisposableObservableValue(n,void 0,e)}class DisposableObservableValue extends ObservableValue{_setValue(e){this._value!==e&&(this._value&&this._value.dispose(),this._value=e)}dispose(){var e;(e=this._value)===null||e===void 0||e.dispose()}}const defaultEqualityComparer=(n,e)=>n===e;function derived(n,e){return e!==void 0?new Derived(new DebugNameData(n,void 0,e),e,void 0,void 0,void 0,defaultEqualityComparer):new Derived(new DebugNameData(void 0,void 0,n),n,void 0,void 0,void 0,defaultEqualityComparer)}function derivedOpts(n,e){var t;return new Derived(new DebugNameData(n.owner,n.debugName,n.debugReferenceFn),e,void 0,void 0,n.onLastObserverRemoved,(t=n.equalityComparer)!==null&&t!==void 0?t:defaultEqualityComparer)}_setDerivedOpts(derivedOpts);function derivedHandleChanges(n,e){var t;return new Derived(new DebugNameData(n.owner,n.debugName,void 0),e,n.createEmptyChangeSummary,n.handleChange,void 0,(t=n.equalityComparer)!==null&&t!==void 0?t:defaultEqualityComparer)}function derivedWithStore(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new DisposableStore;return new Derived(new DebugNameData(i,void 0,t),g=>(r.clear(),t(g,r)),void 0,void 0,()=>r.dispose(),defaultEqualityComparer)}function derivedDisposable(n,e){let t,i;e===void 0?(t=n,i=void 0):(i=n,t=e);const r=new DisposableStore;return new Derived(new DebugNameData(i,void 0,t),g=>{r.clear();const y=t(g);return y&&r.add(y),y},void 0,void 0,()=>r.dispose(),defaultEqualityComparer)}class Derived extends BaseObservable{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r,g=void 0,y){var k,L;super(),this._debugNameData=e,this._computeFn=t,this.createChangeSummary=i,this._handleChange=r,this._handleLastObserverRemoved=g,this._equalityComparator=y,this.state=0,this.value=void 0,this.updateCount=0,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=void 0,this.changeSummary=(k=this.createChangeSummary)===null||k===void 0?void 0:k.call(this),(L=getLogger())===null||L===void 0||L.handleDerivedCreated(this)}onLastObserverRemoved(){var e;this.state=0,this.value=void 0;for(const t of this.dependencies)t.removeObserver(this);this.dependencies.clear(),(e=this._handleLastObserverRemoved)===null||e===void 0||e.call(this)}get(){var e;if(this.observers.size===0){const t=this._computeFn(this,(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this));return this.onLastObserverRemoved(),t}else{do{if(this.state===1){for(const t of this.dependencies)if(t.reportChanges(),this.state===2)break}this.state===1&&(this.state=3),this._recomputeIfNeeded()}while(this.state!==3);return this.value}}_recomputeIfNeeded(){var e,t;if(this.state===3)return;const i=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=i;const r=this.state!==0,g=this.value;this.state=3;const y=this.changeSummary;this.changeSummary=(e=this.createChangeSummary)===null||e===void 0?void 0:e.call(this);try{this.value=this._computeFn(this,y)}finally{for(const L of this.dependenciesToBeRemoved)L.removeObserver(this);this.dependenciesToBeRemoved.clear()}const k=r&&!this._equalityComparator(g,this.value);if((t=getLogger())===null||t===void 0||t.handleDerivedRecomputed(this,{oldValue:g,newValue:this.value,change:void 0,didChange:k,hadValue:r}),k)for(const L of this.observers)L.handleChange(this,void 0)}toString(){return"LazyDerived<".concat(this.debugName,">")}beginUpdate(e){this.updateCount++;const t=this.updateCount===1;if(this.state===3&&(this.state=1,!t))for(const i of this.observers)i.handlePossibleChange(this);if(t)for(const i of this.observers)i.beginUpdate(this)}endUpdate(e){if(this.updateCount--,this.updateCount===0){const t=[...this.observers];for(const i of t)i.endUpdate(this)}assertFn(()=>this.updateCount>=0)}handlePossibleChange(e){if(this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){this.state=1;for(const t of this.observers)t.handlePossibleChange(this)}}handleChange(e,t){if(this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)){const i=this._handleChange?this._handleChange({changedObservable:e,change:t,didChange:g=>g===e},this.changeSummary):!0,r=this.state===3;if(i&&(this.state===1||r)&&(this.state=2,r))for(const g of this.observers)g.handlePossibleChange(this)}}readObservable(e){e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}addObserver(e){const t=!this.observers.has(e)&&this.updateCount>0;super.addObserver(e),t&&e.beginUpdate(this)}removeObserver(e){const t=this.observers.has(e)&&this.updateCount>0;super.removeObserver(e),t&&e.endUpdate(this)}}function autorun(n){return new AutorunObserver(new DebugNameData(void 0,void 0,n),n,void 0,void 0)}function autorunOpts(n,e){var t;return new AutorunObserver(new DebugNameData(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,void 0,void 0)}function autorunHandleChanges(n,e){var t;return new AutorunObserver(new DebugNameData(n.owner,n.debugName,(t=n.debugReferenceFn)!==null&&t!==void 0?t:e),e,n.createEmptyChangeSummary,n.handleChange)}function autorunWithStore(n){const e=new DisposableStore,t=autorunOpts({owner:void 0,debugName:void 0,debugReferenceFn:n},i=>{e.clear(),n(i,e)});return toDisposable(()=>{t.dispose(),e.dispose()})}class AutorunObserver{get debugName(){var e;return(e=this._debugNameData.getDebugName(this))!==null&&e!==void 0?e:"(anonymous)"}constructor(e,t,i,r){var g,y;this._debugNameData=e,this._runFn=t,this.createChangeSummary=i,this._handleChange=r,this.state=2,this.updateCount=0,this.disposed=!1,this.dependencies=new Set,this.dependenciesToBeRemoved=new Set,this.changeSummary=(g=this.createChangeSummary)===null||g===void 0?void 0:g.call(this),(y=getLogger())===null||y===void 0||y.handleAutorunCreated(this),this._runIfNeeded()}dispose(){this.disposed=!0;for(const e of this.dependencies)e.removeObserver(this);this.dependencies.clear()}_runIfNeeded(){var e,t,i;if(this.state===3)return;const r=this.dependenciesToBeRemoved;this.dependenciesToBeRemoved=this.dependencies,this.dependencies=r,this.state=3;const g=this.disposed;try{if(!g){(e=getLogger())===null||e===void 0||e.handleAutorunTriggered(this);const y=this.changeSummary;this.changeSummary=(t=this.createChangeSummary)===null||t===void 0?void 0:t.call(this),this._runFn(this,y)}}finally{g||(i=getLogger())===null||i===void 0||i.handleAutorunFinished(this);for(const y of this.dependenciesToBeRemoved)y.removeObserver(this);this.dependenciesToBeRemoved.clear()}}toString(){return"Autorun<".concat(this.debugName,">")}beginUpdate(){this.state===3&&(this.state=1),this.updateCount++}endUpdate(){if(this.updateCount===1)do{if(this.state===1){this.state=3;for(const e of this.dependencies)if(e.reportChanges(),this.state===2)break}this._runIfNeeded()}while(this.state!==3);this.updateCount--,assertFn(()=>this.updateCount>=0)}handlePossibleChange(e){this.state===3&&this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(this.state=1)}handleChange(e,t){this.dependencies.has(e)&&!this.dependenciesToBeRemoved.has(e)&&(!this._handleChange||this._handleChange({changedObservable:e,change:t,didChange:r=>r===e},this.changeSummary))&&(this.state=2)}readObservable(e){if(this.disposed)return e.get();e.addObserver(this);const t=e.get();return this.dependencies.add(e),this.dependenciesToBeRemoved.delete(e),t}}(function(n){n.Observer=AutorunObserver})(autorun||(autorun={}));function constObservable(n){return new ConstObservable(n)}class ConstObservable extends ConvenientObservable{constructor(e){super(),this.value=e}get debugName(){return this.toString()}get(){return this.value}addObserver(e){}removeObserver(e){}toString(){return"Const: ".concat(this.value)}}function observableFromEvent(n,e){return new FromEventObservable(n,e)}class FromEventObservable extends BaseObservable{constructor(e,t){super(),this.event=e,this._getValue=t,this.hasValue=!1,this.handleEvent=i=>{var r;const g=this._getValue(i),y=this.value,k=!this.hasValue||y!==g;let L=!1;k&&(this.value=g,this.hasValue&&(L=!0,subtransaction(FromEventObservable.globalTransaction,V=>{var z;(z=getLogger())===null||z===void 0||z.handleFromEventObservableTriggered(this,{oldValue:y,newValue:g,change:void 0,didChange:k,hadValue:this.hasValue});for(const j of this.observers)V.updateObserver(j,this),j.handleChange(this,void 0)},()=>{const V=this.getDebugName();return"Event fired"+(V?": ".concat(V):"")})),this.hasValue=!0),L||(r=getLogger())===null||r===void 0||r.handleFromEventObservableTriggered(this,{oldValue:y,newValue:g,change:void 0,didChange:k,hadValue:this.hasValue})}}getDebugName(){return getFunctionName(this._getValue)}get debugName(){const e=this.getDebugName();return"From Event"+(e?": ".concat(e):"")}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0,this.hasValue=!1,this.value=void 0}get(){return this.subscription?(this.hasValue||this.handleEvent(void 0),this.value):this._getValue(void 0)}}(function(n){n.Observer=FromEventObservable;function e(t,i){let r=!1;FromEventObservable.globalTransaction===void 0&&(FromEventObservable.globalTransaction=t,r=!0);try{i()}finally{r&&(FromEventObservable.globalTransaction=void 0)}}n.batchEventsGlobally=e})(observableFromEvent||(observableFromEvent={}));function observableSignalFromEvent(n,e){return new FromEventObservableSignal(n,e)}class FromEventObservableSignal extends BaseObservable{constructor(e,t){super(),this.debugName=e,this.event=t,this.handleEvent=()=>{transaction(i=>{for(const r of this.observers)i.updateObserver(r,this),r.handleChange(this,void 0)},()=>this.debugName)}}onFirstObserverAdded(){this.subscription=this.event(this.handleEvent)}onLastObserverRemoved(){this.subscription.dispose(),this.subscription=void 0}get(){}}function observableSignal(n){return typeof n=="string"?new ObservableSignal(n):new ObservableSignal(void 0,n)}class ObservableSignal extends BaseObservable{get debugName(){var e;return(e=new DebugNameData(this._owner,this._debugName,void 0).getDebugName(this))!==null&&e!==void 0?e:"Observable Signal"}constructor(e,t){super(),this._debugName=e,this._owner=t}trigger(e,t){if(!e){transaction(i=>{this.trigger(i,t)},()=>"Trigger signal ".concat(this.debugName));return}for(const i of this.observers)e.updateObserver(i,this),i.handleChange(this,t)}get(){}}function recomputeInitiallyAndOnChange(n,e){const t=new KeepAliveObserver(!0,e);return n.addObserver(t),e?e(n.get()):n.reportChanges(),toDisposable(()=>{n.removeObserver(t)})}_setRecomputeInitiallyAndOnChange(recomputeInitiallyAndOnChange);class KeepAliveObserver{constructor(e,t){this._forceRecompute=e,this._handleValue=t,this._counter=0}beginUpdate(e){this._counter++}endUpdate(e){this._counter--,this._counter===0&&this._forceRecompute&&(this._handleValue?this._handleValue(e.get()):e.reportChanges())}handlePossibleChange(e){}handleChange(e,t){}}function derivedObservableWithCache(n){let e;return derived(i=>(e=n(i,e),e))}function mapObservableArrayCached(n,e,t,i){let r=new ArrayMap(t,i);return derivedOpts({debugReferenceFn:t,owner:n,onLastObserverRemoved:()=>{r.dispose(),r=new ArrayMap(t)}},y=>(r.setItems(e.read(y)),r.getItems()))}class ArrayMap{constructor(e,t){this._map=e,this._keySelector=t,this._cache=new Map,this._items=[]}dispose(){this._cache.forEach(e=>e.store.dispose()),this._cache.clear()}setItems(e){const t=[],i=new Set(this._cache.keys());for(const r of e){const g=this._keySelector?this._keySelector(r):r;let y=this._cache.get(g);if(y)i.delete(g);else{const k=new DisposableStore;y={out:this._map(r,k),store:k},this._cache.set(g,y)}t.push(y.out)}for(const r of i)this._cache.get(r).store.dispose(),this._cache.delete(r);this._items=t}getItems(){return this._items}}function waitForState(n,e,t){return new Promise((i,r)=>{let g=!0,y=!1;const k=n.map(V=>({isFinished:e(V),error:!1,state:V})),L=autorun(V=>{const{isFinished:z,error:j,state:ie}=k.read(V);(z||j)&&(g?y=!0:L.dispose(),j?r(j===!0?ie:j):i(ie))});g=!1,y&&L.dispose()})}var __decorate$25=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};class TraitRenderer{constructor(e){this.trait=e,this.renderedElements=[]}get templateId(){return"template:".concat(this.trait.name)}renderTemplate(e){return e}renderElement(e,t,i){const r=this.renderedElements.findIndex(g=>g.templateData===i);if(r>=0){const g=this.renderedElements[r];this.trait.unrender(i),g.index=t}else{const g={index:t,templateData:i};this.renderedElements.push(g)}this.trait.renderIndex(t,i)}splice(e,t,i){const r=[];for(const g of this.renderedElements)g.index=e+t&&r.push({index:g.index+i-t,templateData:g.templateData});this.renderedElements=r}renderIndexes(e){for(const{index:t,templateData:i}of this.renderedElements)e.indexOf(t)>-1&&this.trait.renderIndex(t,i)}disposeTemplate(e){const t=this.renderedElements.findIndex(i=>i.templateData===e);t<0||this.renderedElements.splice(t,1)}}let Trait$1=class{get name(){return this._trait}get renderer(){return new TraitRenderer(this)}constructor(e){this._trait=e,this.indexes=[],this.sortedIndexes=[],this._onChange=new Emitter$1,this.onChange=this._onChange.event}splice(e,t,i){const r=i.length-t,g=e+t,y=[];let k=0;for(;k=g;)y.push(this.sortedIndexes[k++]+r);this.renderer.splice(e,t,i.length),this._set(y,y)}renderIndex(e,t){t.classList.toggle(this._trait,this.contains(e))}unrender(e){e.classList.remove(this._trait)}set(e,t){return this._set(e,[...e].sort(numericSort),t)}_set(e,t,i){const r=this.indexes,g=this.sortedIndexes;this.indexes=e,this.sortedIndexes=t;const y=disjunction(g,e);return this.renderer.renderIndexes(y),this._onChange.fire({indexes:e,browserEvent:i}),r}get(){return this.indexes}contains(e){return binarySearch(this.sortedIndexes,e,numericSort)>=0}dispose(){dispose(this._onChange)}};__decorate$25([memoize],Trait$1.prototype,"renderer",null);class SelectionTrait extends Trait$1{constructor(e){super("selected"),this.setAriaSelected=e}renderIndex(e,t){super.renderIndex(e,t),this.setAriaSelected&&(this.contains(e)?t.setAttribute("aria-selected","true"):t.setAttribute("aria-selected","false"))}}class TraitSpliceable{constructor(e,t,i){this.trait=e,this.view=t,this.identityProvider=i}splice(e,t,i){if(!this.identityProvider)return this.trait.splice(e,t,new Array(i.length).fill(!1));const r=this.trait.get().map(k=>this.identityProvider.getId(this.view.element(k)).toString());if(r.length===0)return this.trait.splice(e,t,new Array(i.length).fill(!1));const g=new Set(r),y=i.map(k=>g.has(this.identityProvider.getId(k).toString()));this.trait.splice(e,t,y)}}function isInputElement(n){return n.tagName==="INPUT"||n.tagName==="TEXTAREA"}function isListElementDescendantOfClass(n,e){return n.classList.contains(e)?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:isListElementDescendantOfClass(n.parentElement,e)}function isMonacoEditor(n){return isListElementDescendantOfClass(n,"monaco-editor")}function isMonacoCustomToggle(n){return isListElementDescendantOfClass(n,"monaco-custom-toggle")}function isActionItem(n){return isListElementDescendantOfClass(n,"action-item")}function isStickyScrollElement(n){return isListElementDescendantOfClass(n,"monaco-tree-sticky-row")}function isStickyScrollContainer(n){return n.classList.contains("monaco-tree-sticky-container")}function isButton(n){return n.tagName==="A"&&n.classList.contains("monaco-button")||n.tagName==="DIV"&&n.classList.contains("monaco-button-dropdown")?!0:n.classList.contains("monaco-list")||!n.parentElement?!1:isButton(n.parentElement)}class KeyboardController{get onKeyDown(){return Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event,e=>e.filter(t=>!isInputElement(t.target)).map(t=>new StandardKeyboardEvent(t)))}constructor(e,t,i){this.list=e,this.view=t,this.disposables=new DisposableStore,this.multipleSelectionDisposables=new DisposableStore,this.multipleSelectionSupport=i.multipleSelectionSupport,this.disposables.add(this.onKeyDown(r=>{switch(r.keyCode){case 3:return this.onEnter(r);case 16:return this.onUpArrow(r);case 18:return this.onDownArrow(r);case 11:return this.onPageUpArrow(r);case 12:return this.onPageDownArrow(r);case 9:return this.onEscape(r);case 31:this.multipleSelectionSupport&&(isMacintosh?r.metaKey:r.ctrlKey)&&this.onCtrlA(r)}}))}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionSupport=e.multipleSelectionSupport)}onEnter(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(this.list.getFocus(),e.browserEvent)}onUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPrevious(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNext(1,!1,e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageUpArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusPreviousPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onPageDownArrow(e){e.preventDefault(),e.stopPropagation(),this.list.focusNextPage(e.browserEvent);const t=this.list.getFocus()[0];this.list.setAnchor(t),this.list.reveal(t),this.view.domNode.focus()}onCtrlA(e){e.preventDefault(),e.stopPropagation(),this.list.setSelection(range(this.list.length),e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus()}onEscape(e){this.list.getSelection().length&&(e.preventDefault(),e.stopPropagation(),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0),this.view.domNode.focus())}dispose(){this.disposables.dispose(),this.multipleSelectionDisposables.dispose()}}__decorate$25([memoize],KeyboardController.prototype,"onKeyDown",null);var TypeNavigationMode;(function(n){n[n.Automatic=0]="Automatic",n[n.Trigger=1]="Trigger"})(TypeNavigationMode||(TypeNavigationMode={}));var TypeNavigationControllerState;(function(n){n[n.Idle=0]="Idle",n[n.Typing=1]="Typing"})(TypeNavigationControllerState||(TypeNavigationControllerState={}));const DefaultKeyboardNavigationDelegate=new class{mightProducePrintableCharacter(n){return n.ctrlKey||n.metaKey||n.altKey?!1:n.keyCode>=31&&n.keyCode<=56||n.keyCode>=21&&n.keyCode<=30||n.keyCode>=98&&n.keyCode<=107||n.keyCode>=85&&n.keyCode<=95}};class TypeNavigationController{constructor(e,t,i,r,g){this.list=e,this.view=t,this.keyboardNavigationLabelProvider=i,this.keyboardNavigationEventFilter=r,this.delegate=g,this.enabled=!1,this.state=TypeNavigationControllerState.Idle,this.mode=TypeNavigationMode.Automatic,this.triggered=!1,this.previouslyFocused=-1,this.enabledDisposables=new DisposableStore,this.disposables=new DisposableStore,this.updateOptions(e.options)}updateOptions(e){var t,i;!((t=e.typeNavigationEnabled)!==null&&t!==void 0)||t?this.enable():this.disable(),this.mode=(i=e.typeNavigationMode)!==null&&i!==void 0?i:TypeNavigationMode.Automatic}enable(){if(this.enabled)return;let e=!1;const t=Event$1.chain(this.enabledDisposables.add(new DomEmitter(this.view.domNode,"keydown")).event,g=>g.filter(y=>!isInputElement(y.target)).filter(()=>this.mode===TypeNavigationMode.Automatic||this.triggered).map(y=>new StandardKeyboardEvent(y)).filter(y=>e||this.keyboardNavigationEventFilter(y)).filter(y=>this.delegate.mightProducePrintableCharacter(y)).forEach(y=>EventHelper$1.stop(y,!0)).map(y=>y.browserEvent.key)),i=Event$1.debounce(t,()=>null,800,void 0,void 0,void 0,this.enabledDisposables);Event$1.reduce(Event$1.any(t,i),(g,y)=>y===null?null:(g||"")+y,void 0,this.enabledDisposables)(this.onInput,this,this.enabledDisposables),i(this.onClear,this,this.enabledDisposables),t(()=>e=!0,void 0,this.enabledDisposables),i(()=>e=!1,void 0,this.enabledDisposables),this.enabled=!0,this.triggered=!1}disable(){this.enabled&&(this.enabledDisposables.clear(),this.enabled=!1,this.triggered=!1)}onClear(){var e;const t=this.list.getFocus();if(t.length>0&&t[0]===this.previouslyFocused){const i=(e=this.list.options.accessibilityProvider)===null||e===void 0?void 0:e.getAriaLabel(this.list.element(t[0]));typeof i=="string"?alert(i):i&&alert(i.get())}this.previouslyFocused=-1}onInput(e){if(!e){this.state=TypeNavigationControllerState.Idle,this.triggered=!1;return}const t=this.list.getFocus(),i=t.length>0?t[0]:0,r=this.state===TypeNavigationControllerState.Idle?1:0;this.state=TypeNavigationControllerState.Typing;for(let g=0;g1&&V.length===1){this.previouslyFocused=i,this.list.setFocus([y]),this.list.reveal(y);return}}}else if(typeof L>"u"||matchesPrefix(e,L)){this.previouslyFocused=i,this.list.setFocus([y]),this.list.reveal(y);return}}}dispose(){this.disable(),this.enabledDisposables.dispose(),this.disposables.dispose()}}class DOMFocusController{constructor(e,t){this.list=e,this.view=t,this.disposables=new DisposableStore;const i=Event$1.chain(this.disposables.add(new DomEmitter(t.domNode,"keydown")).event,g=>g.filter(y=>!isInputElement(y.target)).map(y=>new StandardKeyboardEvent(y)));Event$1.chain(i,g=>g.filter(y=>y.keyCode===2&&!y.ctrlKey&&!y.metaKey&&!y.shiftKey&&!y.altKey))(this.onTab,this,this.disposables)}onTab(e){if(e.target!==this.view.domNode)return;const t=this.list.getFocus();if(t.length===0)return;const i=this.view.domElement(t[0]);if(!i)return;const r=i.querySelector("[tabIndex]");if(!r||!(r instanceof HTMLElement)||r.tabIndex===-1)return;const g=getWindow$1(r).getComputedStyle(r);g.visibility==="hidden"||g.display==="none"||(e.preventDefault(),e.stopPropagation(),r.focus())}dispose(){this.disposables.dispose()}}function isSelectionSingleChangeEvent(n){return isMacintosh?n.browserEvent.metaKey:n.browserEvent.ctrlKey}function isSelectionRangeChangeEvent(n){return n.browserEvent.shiftKey}function isMouseRightClick(n){return isMouseEvent$1(n)&&n.button===2}const DefaultMultipleSelectionController={isSelectionSingleChangeEvent,isSelectionRangeChangeEvent};class MouseController{constructor(e){this.list=e,this.disposables=new DisposableStore,this._onPointer=new Emitter$1,this.onPointer=this._onPointer.event,e.options.multipleSelectionSupport!==!1&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController),this.mouseSupport=typeof e.options.mouseSupport>"u"||!!e.options.mouseSupport,this.mouseSupport&&(e.onMouseDown(this.onMouseDown,this,this.disposables),e.onContextMenu(this.onContextMenu,this,this.disposables),e.onMouseDblClick(this.onDoubleClick,this,this.disposables),e.onTouchStart(this.onMouseDown,this,this.disposables),this.disposables.add(Gesture.addTarget(e.getHTMLElement()))),Event$1.any(e.onMouseClick,e.onMouseMiddleClick,e.onTap)(this.onViewPointer,this,this.disposables)}updateOptions(e){e.multipleSelectionSupport!==void 0&&(this.multipleSelectionController=void 0,e.multipleSelectionSupport&&(this.multipleSelectionController=this.list.options.multipleSelectionController||DefaultMultipleSelectionController))}isSelectionSingleChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionSingleChangeEvent(e):!1}isSelectionRangeChangeEvent(e){return this.multipleSelectionController?this.multipleSelectionController.isSelectionRangeChangeEvent(e):!1}isSelectionChangeEvent(e){return this.isSelectionSingleChangeEvent(e)||this.isSelectionRangeChangeEvent(e)}onMouseDown(e){isMonacoEditor(e.browserEvent.target)||getActiveElement()!==e.browserEvent.target&&this.list.domFocus()}onContextMenu(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target))return;const t=typeof e.index>"u"?[]:[e.index];this.list.setFocus(t,e.browserEvent)}onViewPointer(e){if(!this.mouseSupport||isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=e.index;if(typeof t>"u"){this.list.setFocus([],e.browserEvent),this.list.setSelection([],e.browserEvent),this.list.setAnchor(void 0);return}if(this.isSelectionChangeEvent(e))return this.changeSelection(e);this.list.setFocus([t],e.browserEvent),this.list.setAnchor(t),isMouseRightClick(e.browserEvent)||this.list.setSelection([t],e.browserEvent),this._onPointer.fire(e)}onDoubleClick(e){if(isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)||this.isSelectionChangeEvent(e)||e.browserEvent.isHandledByList)return;e.browserEvent.isHandledByList=!0;const t=this.list.getFocus();this.list.setSelection(t,e.browserEvent)}changeSelection(e){const t=e.index;let i=this.list.getAnchor();if(this.isSelectionRangeChangeEvent(e)){if(typeof i>"u"){const z=this.list.getFocus()[0];i=z!=null?z:t,this.list.setAnchor(i)}const r=Math.min(i,t),g=Math.max(i,t),y=range(r,g+1),k=this.list.getSelection(),L=getContiguousRangeContaining(disjunction(k,[i]),i);if(L.length===0)return;const V=disjunction(y,relativeComplement(k,L));this.list.setSelection(V,e.browserEvent),this.list.setFocus([t],e.browserEvent)}else if(this.isSelectionSingleChangeEvent(e)){const r=this.list.getSelection(),g=r.filter(y=>y!==t);this.list.setFocus([t]),this.list.setAnchor(t),r.length===g.length?this.list.setSelection([...g,t],e.browserEvent):this.list.setSelection(g,e.browserEvent)}}dispose(){this.disposables.dispose()}}class DefaultStyleController{constructor(e,t){this.styleElement=e,this.selectorSuffix=t}style(e){var t,i;const r=this.selectorSuffix&&".".concat(this.selectorSuffix),g=[];e.listBackground&&g.push(".monaco-list".concat(r," .monaco-list-rows { background: ").concat(e.listBackground,"; }")),e.listFocusBackground&&(g.push(".monaco-list".concat(r,":focus .monaco-list-row.focused { background-color: ").concat(e.listFocusBackground,"; }")),g.push(".monaco-list".concat(r,":focus .monaco-list-row.focused:hover { background-color: ").concat(e.listFocusBackground,"; }"))),e.listFocusForeground&&g.push(".monaco-list".concat(r,":focus .monaco-list-row.focused { color: ").concat(e.listFocusForeground,"; }")),e.listActiveSelectionBackground&&(g.push(".monaco-list".concat(r,":focus .monaco-list-row.selected { background-color: ").concat(e.listActiveSelectionBackground,"; }")),g.push(".monaco-list".concat(r,":focus .monaco-list-row.selected:hover { background-color: ").concat(e.listActiveSelectionBackground,"; }"))),e.listActiveSelectionForeground&&g.push(".monaco-list".concat(r,":focus .monaco-list-row.selected { color: ").concat(e.listActiveSelectionForeground,"; }")),e.listActiveSelectionIconForeground&&g.push(".monaco-list".concat(r,":focus .monaco-list-row.selected .codicon { color: ").concat(e.listActiveSelectionIconForeground,"; }")),e.listFocusAndSelectionBackground&&g.push("\n .monaco-drag-image,\n .monaco-list".concat(r,":focus .monaco-list-row.selected.focused { background-color: ").concat(e.listFocusAndSelectionBackground,"; }\n ")),e.listFocusAndSelectionForeground&&g.push("\n .monaco-drag-image,\n .monaco-list".concat(r,":focus .monaco-list-row.selected.focused { color: ").concat(e.listFocusAndSelectionForeground,"; }\n ")),e.listInactiveFocusForeground&&(g.push(".monaco-list".concat(r," .monaco-list-row.focused { color: ").concat(e.listInactiveFocusForeground,"; }")),g.push(".monaco-list".concat(r," .monaco-list-row.focused:hover { color: ").concat(e.listInactiveFocusForeground,"; }"))),e.listInactiveSelectionIconForeground&&g.push(".monaco-list".concat(r," .monaco-list-row.focused .codicon { color: ").concat(e.listInactiveSelectionIconForeground,"; }")),e.listInactiveFocusBackground&&(g.push(".monaco-list".concat(r," .monaco-list-row.focused { background-color: ").concat(e.listInactiveFocusBackground,"; }")),g.push(".monaco-list".concat(r," .monaco-list-row.focused:hover { background-color: ").concat(e.listInactiveFocusBackground,"; }"))),e.listInactiveSelectionBackground&&(g.push(".monaco-list".concat(r," .monaco-list-row.selected { background-color: ").concat(e.listInactiveSelectionBackground,"; }")),g.push(".monaco-list".concat(r," .monaco-list-row.selected:hover { background-color: ").concat(e.listInactiveSelectionBackground,"; }"))),e.listInactiveSelectionForeground&&g.push(".monaco-list".concat(r," .monaco-list-row.selected { color: ").concat(e.listInactiveSelectionForeground,"; }")),e.listHoverBackground&&g.push(".monaco-list".concat(r,":not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { background-color: ").concat(e.listHoverBackground,"; }")),e.listHoverForeground&&g.push(".monaco-list".concat(r,":not(.drop-target):not(.dragging) .monaco-list-row:hover:not(.selected):not(.focused) { color: ").concat(e.listHoverForeground,"; }"));const y=asCssValueWithDefault(e.listFocusAndSelectionOutline,asCssValueWithDefault(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));y&&g.push(".monaco-list".concat(r,":focus .monaco-list-row.focused.selected { outline: 1px solid ").concat(y,"; outline-offset: -1px;}")),e.listFocusOutline&&g.push("\n .monaco-drag-image,\n .monaco-list".concat(r,":focus .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }\n .monaco-workbench.context-menu-visible .monaco-list").concat(r,".last-focused .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }\n "));const k=asCssValueWithDefault(e.listSelectionOutline,(i=e.listInactiveFocusOutline)!==null&&i!==void 0?i:"");k&&g.push(".monaco-list".concat(r," .monaco-list-row.focused.selected { outline: 1px dotted ").concat(k,"; outline-offset: -1px; }")),e.listSelectionOutline&&g.push(".monaco-list".concat(r," .monaco-list-row.selected { outline: 1px dotted ").concat(e.listSelectionOutline,"; outline-offset: -1px; }")),e.listInactiveFocusOutline&&g.push(".monaco-list".concat(r," .monaco-list-row.focused { outline: 1px dotted ").concat(e.listInactiveFocusOutline,"; outline-offset: -1px; }")),e.listHoverOutline&&g.push(".monaco-list".concat(r," .monaco-list-row:hover { outline: 1px dashed ").concat(e.listHoverOutline,"; outline-offset: -1px; }")),e.listDropOverBackground&&g.push("\n .monaco-list".concat(r,".drop-target,\n .monaco-list").concat(r," .monaco-list-rows.drop-target,\n .monaco-list").concat(r," .monaco-list-row.drop-target { background-color: ").concat(e.listDropOverBackground," !important; color: inherit !important; }\n ")),e.listDropBetweenBackground&&(g.push("\n .monaco-list".concat(r," .monaco-list-rows.drop-target-before .monaco-list-row:first-child::before,\n .monaco-list").concat(r,' .monaco-list-row.drop-target-before::before {\n content: ""; position: absolute; top: 0px; left: 0px; width: 100%; height: 1px;\n background-color: ').concat(e.listDropBetweenBackground,";\n }")),g.push("\n .monaco-list".concat(r," .monaco-list-rows.drop-target-after .monaco-list-row:last-child::after,\n .monaco-list").concat(r,' .monaco-list-row.drop-target-after::after {\n content: ""; position: absolute; bottom: 0px; left: 0px; width: 100%; height: 1px;\n background-color: ').concat(e.listDropBetweenBackground,";\n }"))),e.tableColumnsBorder&&g.push("\n .monaco-table > .monaco-split-view2,\n .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before,\n .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2,\n .monaco-workbench:not(.reduce-motion) .monaco-table:hover > .monaco-split-view2 .monaco-sash.vertical::before {\n border-color: ".concat(e.tableColumnsBorder,";\n }\n\n .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2,\n .monaco-workbench:not(.reduce-motion) .monaco-table > .monaco-split-view2 .monaco-sash.vertical::before {\n border-color: transparent;\n }\n ")),e.tableOddRowsBackgroundColor&&g.push("\n .monaco-table .monaco-list-row[data-parity=odd]:not(.focused):not(.selected):not(:hover) .monaco-table-tr,\n .monaco-table .monaco-list:not(:focus) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr,\n .monaco-table .monaco-list:not(.focused) .monaco-list-row[data-parity=odd].focused:not(.selected):not(:hover) .monaco-table-tr {\n background-color: ".concat(e.tableOddRowsBackgroundColor,";\n }\n ")),this.styleElement.textContent=g.join("\n")}}const unthemedListStyles={listFocusBackground:"#7FB0D0",listActiveSelectionBackground:"#0E639C",listActiveSelectionForeground:"#FFFFFF",listActiveSelectionIconForeground:"#FFFFFF",listFocusAndSelectionOutline:"#90C2F9",listFocusAndSelectionBackground:"#094771",listFocusAndSelectionForeground:"#FFFFFF",listInactiveSelectionBackground:"#3F3F46",listInactiveSelectionIconForeground:"#FFFFFF",listHoverBackground:"#2A2D2E",listDropOverBackground:"#383B3D",listDropBetweenBackground:"#EEEEEE",treeIndentGuidesStroke:"#a9a9a9",treeInactiveIndentGuidesStroke:Color$1.fromHex("#a9a9a9").transparent(.4).toString(),tableColumnsBorder:Color$1.fromHex("#cccccc").transparent(.2).toString(),tableOddRowsBackgroundColor:Color$1.fromHex("#cccccc").transparent(.04).toString(),listBackground:void 0,listFocusForeground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusForeground:void 0,listInactiveFocusBackground:void 0,listHoverForeground:void 0,listFocusOutline:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listHoverOutline:void 0},DefaultOptions={keyboardSupport:!0,mouseSupport:!0,multipleSelectionSupport:!0,dnd:{getDragURI(){return null},onDragStart(){},onDragOver(){return!1},drop(){},dispose(){}}};function getContiguousRangeContaining(n,e){const t=n.indexOf(e);if(t===-1)return[];const i=[];let r=t-1;for(;r>=0&&n[r]===e-(t-r);)i.push(n[r--]);for(i.reverse(),r=t;r=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){t.push(n[i]),i++,r++;continue}else n[i]=n.length)t.push(e[r++]);else if(r>=e.length)t.push(n[i++]);else if(n[i]===e[r]){i++,r++;continue}else n[i]n-e;class PipelineRenderer{constructor(e,t){this._templateId=e,this.renderers=t}get templateId(){return this._templateId}renderTemplate(e){return this.renderers.map(t=>t.renderTemplate(e))}renderElement(e,t,i,r){let g=0;for(const y of this.renderers)y.renderElement(e,t,i[g++],r)}disposeElement(e,t,i,r){var g;let y=0;for(const k of this.renderers)(g=k.disposeElement)===null||g===void 0||g.call(k,e,t,i[y],r),y+=1}disposeTemplate(e){let t=0;for(const i of this.renderers)i.disposeTemplate(e[t++])}}class AccessibiltyRenderer{constructor(e){this.accessibilityProvider=e,this.templateId="a18n"}renderTemplate(e){return{container:e,disposables:new DisposableStore}}renderElement(e,t,i){const r=this.accessibilityProvider.getAriaLabel(e),g=r&&typeof r!="string"?r:constObservable(r);i.disposables.add(autorun(k=>{this.setAriaLabel(k.readObservable(g),i.container)}));const y=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(e);typeof y=="number"?i.container.setAttribute("aria-level","".concat(y)):i.container.removeAttribute("aria-level")}setAriaLabel(e,t){e?t.setAttribute("aria-label",e):t.removeAttribute("aria-label")}disposeElement(e,t,i,r){i.disposables.clear()}disposeTemplate(e){e.disposables.dispose()}}class ListViewDragAndDrop{constructor(e,t){this.list=e,this.dnd=t}getDragElements(e){const t=this.list.getSelectedElements();return t.indexOf(e)>-1?t:[e]}getDragURI(e){return this.dnd.getDragURI(e)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e,t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,e,t)}onDragOver(e,t,i,r,g){return this.dnd.onDragOver(e,t,i,r,g)}onDragLeave(e,t,i,r){var g,y;(y=(g=this.dnd).onDragLeave)===null||y===void 0||y.call(g,e,t,i,r)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}drop(e,t,i,r,g){this.dnd.drop(e,t,i,r,g)}dispose(){this.dnd.dispose()}}class List{get onDidChangeFocus(){return Event$1.map(this.eventBufferer.wrapEvent(this.focus.onChange),e=>this.toListEvent(e),this.disposables)}get onDidChangeSelection(){return Event$1.map(this.eventBufferer.wrapEvent(this.selection.onChange),e=>this.toListEvent(e),this.disposables)}get domId(){return this.view.domId}get onDidScroll(){return this.view.onDidScroll}get onMouseClick(){return this.view.onMouseClick}get onMouseDblClick(){return this.view.onMouseDblClick}get onMouseMiddleClick(){return this.view.onMouseMiddleClick}get onPointer(){return this.mouseController.onPointer}get onMouseDown(){return this.view.onMouseDown}get onMouseOver(){return this.view.onMouseOver}get onMouseOut(){return this.view.onMouseOut}get onTouchStart(){return this.view.onTouchStart}get onTap(){return this.view.onTap}get onContextMenu(){let e=!1;const t=Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event,g=>g.map(y=>new StandardKeyboardEvent(y)).filter(y=>e=y.keyCode===58||y.shiftKey&&y.keyCode===68).map(y=>EventHelper$1.stop(y,!0)).filter(()=>!1)),i=Event$1.chain(this.disposables.add(new DomEmitter(this.view.domNode,"keyup")).event,g=>g.forEach(()=>e=!1).map(y=>new StandardKeyboardEvent(y)).filter(y=>y.keyCode===58||y.shiftKey&&y.keyCode===68).map(y=>EventHelper$1.stop(y,!0)).map(({browserEvent:y})=>{const k=this.getFocus(),L=k.length?k[0]:void 0,V=typeof L<"u"?this.view.element(L):void 0,z=typeof L<"u"?this.view.domElement(L):this.view.domNode;return{index:L,element:V,anchor:z,browserEvent:y}})),r=Event$1.chain(this.view.onContextMenu,g=>g.filter(y=>!e).map(({element:y,index:k,browserEvent:L})=>({element:y,index:k,anchor:new StandardMouseEvent(getWindow$1(this.view.domNode),L),browserEvent:L})));return Event$1.any(t,i,r)}get onKeyDown(){return this.disposables.add(new DomEmitter(this.view.domNode,"keydown")).event}get onDidFocus(){return Event$1.signal(this.disposables.add(new DomEmitter(this.view.domNode,"focus",!0)).event)}get onDidBlur(){return Event$1.signal(this.disposables.add(new DomEmitter(this.view.domNode,"blur",!0)).event)}constructor(e,t,i,r,g=DefaultOptions){var y,k,L,V;this.user=e,this._options=g,this.focus=new Trait$1("focused"),this.anchor=new Trait$1("anchor"),this.eventBufferer=new EventBufferer,this._ariaLabel="",this.disposables=new DisposableStore,this._onDidDispose=new Emitter$1,this.onDidDispose=this._onDidDispose.event;const z=this._options.accessibilityProvider&&this._options.accessibilityProvider.getWidgetRole?(y=this._options.accessibilityProvider)===null||y===void 0?void 0:y.getWidgetRole():"list";this.selection=new SelectionTrait(z!=="listbox");const j=[this.focus.renderer,this.selection.renderer];this.accessibilityProvider=g.accessibilityProvider,this.accessibilityProvider&&(j.push(new AccessibiltyRenderer(this.accessibilityProvider)),(L=(k=this.accessibilityProvider).onDidChangeActiveDescendant)===null||L===void 0||L.call(k,this.onDidChangeActiveDescendant,this,this.disposables)),r=r.map(oe=>new PipelineRenderer(oe.templateId,[...j,oe]));const ie={...g,dnd:g.dnd&&new ListViewDragAndDrop(this,g.dnd)};if(this.view=this.createListView(t,i,r,ie),this.view.domNode.setAttribute("role",z),g.styleController)this.styleController=g.styleController(this.view.domId);else{const oe=createStyleSheet(this.view.domNode);this.styleController=new DefaultStyleController(oe,this.view.domId)}if(this.spliceable=new CombinedSpliceable([new TraitSpliceable(this.focus,this.view,g.identityProvider),new TraitSpliceable(this.selection,this.view,g.identityProvider),new TraitSpliceable(this.anchor,this.view,g.identityProvider),this.view]),this.disposables.add(this.focus),this.disposables.add(this.selection),this.disposables.add(this.anchor),this.disposables.add(this.view),this.disposables.add(this._onDidDispose),this.disposables.add(new DOMFocusController(this,this.view)),(typeof g.keyboardSupport!="boolean"||g.keyboardSupport)&&(this.keyboardController=new KeyboardController(this,this.view,g),this.disposables.add(this.keyboardController)),g.keyboardNavigationLabelProvider){const oe=g.keyboardNavigationDelegate||DefaultKeyboardNavigationDelegate;this.typeNavigationController=new TypeNavigationController(this,this.view,g.keyboardNavigationLabelProvider,(V=g.keyboardNavigationEventFilter)!==null&&V!==void 0?V:()=>!0,oe),this.disposables.add(this.typeNavigationController)}this.mouseController=this.createMouseController(g),this.disposables.add(this.mouseController),this.onDidChangeFocus(this._onFocusChange,this,this.disposables),this.onDidChangeSelection(this._onSelectionChange,this,this.disposables),this.accessibilityProvider&&(this.ariaLabel=this.accessibilityProvider.getWidgetAriaLabel()),this._options.multipleSelectionSupport!==!1&&this.view.domNode.setAttribute("aria-multiselectable","true")}createListView(e,t,i,r){return new ListView(e,t,i,r)}createMouseController(e){return new MouseController(this)}updateOptions(e={}){var t,i;this._options={...this._options,...e},(t=this.typeNavigationController)===null||t===void 0||t.updateOptions(this._options),this._options.multipleSelectionController!==void 0&&(this._options.multipleSelectionSupport?this.view.domNode.setAttribute("aria-multiselectable","true"):this.view.domNode.removeAttribute("aria-multiselectable")),this.mouseController.updateOptions(e),(i=this.keyboardController)===null||i===void 0||i.updateOptions(e),this.view.updateOptions(e)}get options(){return this._options}splice(e,t,i=[]){if(e<0||e>this.view.length)throw new ListError(this.user,"Invalid start index: ".concat(e));if(t<0)throw new ListError(this.user,"Invalid delete count: ".concat(t));t===0&&i.length===0||this.eventBufferer.bufferEvents(()=>this.spliceable.splice(e,t,i))}rerender(){this.view.rerender()}element(e){return this.view.element(e)}indexOf(e){return this.view.indexOf(e)}indexAt(e){return this.view.indexAt(e)}get length(){return this.view.length}get contentHeight(){return this.view.contentHeight}get onDidChangeContentHeight(){return this.view.onDidChangeContentHeight}get scrollTop(){return this.view.getScrollTop()}set scrollTop(e){this.view.setScrollTop(e)}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get firstVisibleIndex(){return this.view.firstVisibleIndex}get ariaLabel(){return this._ariaLabel}set ariaLabel(e){this._ariaLabel=e,this.view.domNode.setAttribute("aria-label",e)}domFocus(){this.view.domNode.focus({preventScroll:!0})}layout(e,t){this.view.layout(e,t)}setSelection(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError(this.user,"Invalid index ".concat(i));this.selection.set(e,t)}getSelection(){return this.selection.get()}getSelectedElements(){return this.getSelection().map(e=>this.view.element(e))}setAnchor(e){if(typeof e>"u"){this.anchor.set([]);return}if(e<0||e>=this.length)throw new ListError(this.user,"Invalid index ".concat(e));this.anchor.set([e])}getAnchor(){return firstOrDefault(this.anchor.get(),void 0)}getAnchorElement(){const e=this.getAnchor();return typeof e>"u"?void 0:this.element(e)}setFocus(e,t){for(const i of e)if(i<0||i>=this.length)throw new ListError(this.user,"Invalid index ".concat(i));this.focus.set(e,t)}focusNext(e=1,t=!1,i,r){if(this.length===0)return;const g=this.focus.get(),y=this.findNextIndex(g.length>0?g[0]+e:0,t,r);y>-1&&this.setFocus([y],i)}focusPrevious(e=1,t=!1,i,r){if(this.length===0)return;const g=this.focus.get(),y=this.findPreviousIndex(g.length>0?g[0]-e:0,t,r);y>-1&&this.setFocus([y],i)}async focusNextPage(e,t){let i=this.view.indexAt(this.view.getScrollTop()+this.view.renderHeight);i=i===0?0:i-1;const r=this.getFocus()[0];if(r!==i&&(r===void 0||i>r)){const g=this.findPreviousIndex(i,!1,t);g>-1&&r!==g?this.setFocus([g],e):this.setFocus([i],e)}else{const g=this.view.getScrollTop();let y=g+this.view.renderHeight;i>r&&(y-=this.view.elementHeight(i)),this.view.setScrollTop(y),this.view.getScrollTop()!==g&&(this.setFocus([]),await timeout(0),await this.focusNextPage(e,t))}}async focusPreviousPage(e,t,i=()=>0){let r;const g=i(),y=this.view.getScrollTop()+g;y===0?r=this.view.indexAt(y):r=this.view.indexAfter(y-1);const k=this.getFocus()[0];if(k!==r&&(k===void 0||k>=r)){const L=this.findNextIndex(r,!1,t);L>-1&&k!==L?this.setFocus([L],e):this.setFocus([r],e)}else{const L=y;this.view.setScrollTop(y-this.view.renderHeight-g),this.view.getScrollTop()+i()!==L&&(this.setFocus([]),await timeout(0),await this.focusPreviousPage(e,t,i))}}focusLast(e,t){if(this.length===0)return;const i=this.findPreviousIndex(this.length-1,!1,t);i>-1&&this.setFocus([i],e)}focusFirst(e,t){this.focusNth(0,e,t)}focusNth(e,t,i){if(this.length===0)return;const r=this.findNextIndex(e,!1,i);r>-1&&this.setFocus([r],t)}findNextIndex(e,t=!1,i){for(let r=0;r=this.length&&!t)return-1;if(e=e%this.length,!i||i(this.element(e)))return e;e++}return-1}findPreviousIndex(e,t=!1,i){for(let r=0;rthis.view.element(e))}reveal(e,t,i=0){if(e<0||e>=this.length)throw new ListError(this.user,"Invalid index ".concat(e));const r=this.view.getScrollTop(),g=this.view.elementTop(e),y=this.view.elementHeight(e);if(isNumber$3(t)){const k=y-this.view.renderHeight+i;this.view.setScrollTop(k*clamp(t,0,1)+g-i)}else{const k=g+y,L=r+this.view.renderHeight;g=L||(g=L&&y>=this.view.renderHeight?this.view.setScrollTop(g-i):k>=L&&this.view.setScrollTop(k-this.view.renderHeight))}}getRelativeTop(e,t=0){if(e<0||e>=this.length)throw new ListError(this.user,"Invalid index ".concat(e));const i=this.view.getScrollTop(),r=this.view.elementTop(e),g=this.view.elementHeight(e);if(ri+this.view.renderHeight)return null;const y=g-this.view.renderHeight+t;return Math.abs((i+t-r)/y)}getHTMLElement(){return this.view.domNode}getScrollableElement(){return this.view.scrollableElementDomNode}getElementID(e){return this.view.getElementDomId(e)}getElementTop(e){return this.view.elementTop(e)}style(e){this.styleController.style(e)}toListEvent({indexes:e,browserEvent:t}){return{indexes:e,elements:e.map(i=>this.view.element(i)),browserEvent:t}}_onFocusChange(){const e=this.focus.get();this.view.domNode.classList.toggle("element-focused",e.length>0),this.onDidChangeActiveDescendant()}onDidChangeActiveDescendant(){var e;const t=this.focus.get();if(t.length>0){let i;!((e=this.accessibilityProvider)===null||e===void 0)&&e.getActiveDescendantId&&(i=this.accessibilityProvider.getActiveDescendantId(this.view.element(t[0]))),this.view.domNode.setAttribute("aria-activedescendant",i||this.view.getElementDomId(t[0]))}else this.view.domNode.removeAttribute("aria-activedescendant")}_onSelectionChange(){const e=this.selection.get();this.view.domNode.classList.toggle("selection-none",e.length===0),this.view.domNode.classList.toggle("selection-single",e.length===1),this.view.domNode.classList.toggle("selection-multiple",e.length>1)}dispose(){this._onDidDispose.fire(),this.disposables.dispose(),this._onDidDispose.dispose()}}__decorate$25([memoize],List.prototype,"onDidChangeFocus",null);__decorate$25([memoize],List.prototype,"onDidChangeSelection",null);__decorate$25([memoize],List.prototype,"onContextMenu",null);__decorate$25([memoize],List.prototype,"onKeyDown",null);__decorate$25([memoize],List.prototype,"onDidFocus",null);__decorate$25([memoize],List.prototype,"onDidBlur",null);const $$c=$$f,SELECT_OPTION_ENTRY_TEMPLATE_ID="selectOption.entry.template";class SelectListRenderer{get templateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}renderTemplate(e){const t=Object.create(null);return t.root=e,t.text=append$1(e,$$c(".option-text")),t.detail=append$1(e,$$c(".option-detail")),t.decoratorRight=append$1(e,$$c(".option-decorator-right")),t}renderElement(e,t,i){const r=i,g=e.text,y=e.detail,k=e.decoratorRight,L=e.isDisabled;r.text.textContent=g,r.detail.textContent=y||"",r.decoratorRight.innerText=k||"",L?r.root.classList.add("option-disabled"):r.root.classList.remove("option-disabled")}disposeTemplate(e){}}class SelectBoxList extends Disposable{constructor(e,t,i,r,g){super(),this.options=[],this._currentSelection=0,this._hasDetails=!1,this._skipLayout=!1,this._sticky=!1,this._isVisible=!1,this.styles=r,this.selectBoxOptions=g||Object.create(null),typeof this.selectBoxOptions.minBottomMargin!="number"?this.selectBoxOptions.minBottomMargin=SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_BOTTOM_MARGIN:this.selectBoxOptions.minBottomMargin<0&&(this.selectBoxOptions.minBottomMargin=0),this.selectElement=document.createElement("select"),this.selectElement.className="monaco-select-box monaco-select-box-dropdown-padding",typeof this.selectBoxOptions.ariaLabel=="string"&&this.selectElement.setAttribute("aria-label",this.selectBoxOptions.ariaLabel),typeof this.selectBoxOptions.ariaDescription=="string"&&this.selectElement.setAttribute("aria-description",this.selectBoxOptions.ariaDescription),this._onDidSelect=new Emitter$1,this._register(this._onDidSelect),this.registerListeners(),this.constructSelectDropDown(i),this.selected=t||0,e&&this.setOptions(e,t),this.initStyleSheet()}setTitle(e){!this._hover&&e?this._hover=this._register(setupCustomHover(getDefaultHoverDelegate("mouse"),this.selectElement,e)):this._hover&&this._hover.update(e)}getHeight(){return 22}getTemplateId(){return SELECT_OPTION_ENTRY_TEMPLATE_ID}constructSelectDropDown(e){this.contextViewProvider=e,this.selectDropDownContainer=$$f(".monaco-select-box-dropdown-container"),this.selectDropDownContainer.classList.add("monaco-select-box-dropdown-padding"),this.selectionDetailsPane=append$1(this.selectDropDownContainer,$$c(".select-box-details-pane"));const t=append$1(this.selectDropDownContainer,$$c(".select-box-dropdown-container-width-control")),i=append$1(t,$$c(".width-control-div"));this.widthControlElement=document.createElement("span"),this.widthControlElement.className="option-text-width-control",append$1(i,this.widthControlElement),this._dropDownPosition=0,this.styleElement=createStyleSheet(this.selectDropDownContainer),this.selectDropDownContainer.setAttribute("draggable","true"),this._register(addDisposableListener(this.selectDropDownContainer,EventType$1.DRAG_START,r=>{EventHelper$1.stop(r,!0)}))}registerListeners(){this._register(addStandardDisposableListener(this.selectElement,"change",t=>{this.selected=t.target.selectedIndex,this._onDidSelect.fire({index:t.target.selectedIndex,selected:t.target.value}),this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)})),this._register(addDisposableListener(this.selectElement,EventType$1.CLICK,t=>{EventHelper$1.stop(t),this._isVisible?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener(this.selectElement,EventType$1.MOUSE_DOWN,t=>{EventHelper$1.stop(t)}));let e;this._register(addDisposableListener(this.selectElement,"touchstart",t=>{e=this._isVisible})),this._register(addDisposableListener(this.selectElement,"touchend",t=>{EventHelper$1.stop(t),e?this.hideSelectDropDown(!0):this.showSelectDropDown()})),this._register(addDisposableListener(this.selectElement,EventType$1.KEY_DOWN,t=>{const i=new StandardKeyboardEvent(t);let r=!1;isMacintosh?(i.keyCode===18||i.keyCode===16||i.keyCode===10||i.keyCode===3)&&(r=!0):(i.keyCode===18&&i.altKey||i.keyCode===16&&i.altKey||i.keyCode===10||i.keyCode===3)&&(r=!0),r&&(this.showSelectDropDown(),EventHelper$1.stop(t,!0))}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){equals$3(this.options,e)||(this.options=e,this.selectElement.options.length=0,this._hasDetails=!1,this._cachedMaxDetailsHeight=void 0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled)),typeof i.description=="string"&&(this._hasDetails=!0)})),t!==void 0&&(this.select(t),this._currentSelection=this.selected)}setOptionsList(){var e;(e=this.selectList)===null||e===void 0||e.splice(0,this.selectList.length,this.options)}select(e){e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.options[this.selected]&&this.options[this.selected].text&&this.setTitle(this.options[this.selected].text)}focus(){this.selectElement&&(this.selectElement.tabIndex=0,this.selectElement.focus())}blur(){this.selectElement&&(this.selectElement.tabIndex=-1,this.selectElement.blur())}setFocusable(e){this.selectElement.tabIndex=e?0:-1}render(e){this.container=e,e.classList.add("select-container"),e.appendChild(this.selectElement),this.styleSelectElement()}initStyleSheet(){const e=[];this.styles.listFocusBackground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { background-color: ".concat(this.styles.listFocusBackground," !important; }")),this.styles.listFocusForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { color: ".concat(this.styles.listFocusForeground," !important; }")),this.styles.decoratorRightForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.focused) .option-decorator-right { color: ".concat(this.styles.decoratorRightForeground,"; }")),this.styles.selectBackground&&this.styles.selectBorder&&this.styles.selectBorder!==this.styles.selectBackground?(e.push(".monaco-select-box-dropdown-container { border: 1px solid ".concat(this.styles.selectBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ".concat(this.styles.selectBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ".concat(this.styles.selectBorder," } "))):this.styles.selectListBorder&&(e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-top { border-top: 1px solid ".concat(this.styles.selectListBorder," } ")),e.push(".monaco-select-box-dropdown-container > .select-box-details-pane.border-bottom { border-bottom: 1px solid ".concat(this.styles.selectListBorder," } "))),this.styles.listHoverForeground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { color: ".concat(this.styles.listHoverForeground," !important; }")),this.styles.listHoverBackground&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { background-color: ".concat(this.styles.listHoverBackground," !important; }")),this.styles.listFocusOutline&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.focused { outline: 1.6px dotted ".concat(this.styles.listFocusOutline," !important; outline-offset: -1.6px !important; }")),this.styles.listHoverOutline&&e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row:not(.option-disabled):not(.focused):hover { outline: 1.6px dashed ".concat(this.styles.listHoverOutline," !important; outline-offset: -1.6px !important; }")),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled.focused { background-color: transparent !important; color: inherit !important; outline: none !important; }"),e.push(".monaco-select-box-dropdown-container > .select-box-dropdown-list-container .monaco-list .monaco-list-row.option-disabled:hover { background-color: transparent !important; color: inherit !important; outline: none !important; }"),this.styleElement.textContent=e.join("\n")}styleSelectElement(){var e,t,i;const r=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",g=(t=this.styles.selectForeground)!==null&&t!==void 0?t:"",y=(i=this.styles.selectBorder)!==null&&i!==void 0?i:"";this.selectElement.style.backgroundColor=r,this.selectElement.style.color=g,this.selectElement.style.borderColor=y}styleList(){var e,t;const i=(e=this.styles.selectBackground)!==null&&e!==void 0?e:"",r=asCssValueWithDefault(this.styles.selectListBackground,i);this.selectDropDownListContainer.style.backgroundColor=r,this.selectionDetailsPane.style.backgroundColor=r;const g=(t=this.styles.focusBorder)!==null&&t!==void 0?t:"";this.selectDropDownContainer.style.outlineColor=g,this.selectDropDownContainer.style.outlineOffset="-1px",this.selectList.style(this.styles)}createOption(e,t,i){const r=document.createElement("option");return r.value=e,r.text=e,r.disabled=!!i,r}showSelectDropDown(){this.selectionDetailsPane.innerText="",!(!this.contextViewProvider||this._isVisible)&&(this.createSelectList(this.selectDropDownContainer),this.setOptionsList(),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e,!0),layout:()=>{this.layoutSelectDropDown()},onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._isVisible=!0,this.hideSelectDropDown(!1),this.contextViewProvider.showContextView({getAnchor:()=>this.selectElement,render:e=>this.renderSelectDropDown(e),layout:()=>this.layoutSelectDropDown(),onHide:()=>{this.selectDropDownContainer.classList.remove("visible"),this.selectElement.classList.remove("synthetic-focus")},anchorPosition:this._dropDownPosition},this.selectBoxOptions.optionsAsChildren?this.container:void 0),this._currentSelection=this.selected,this._isVisible=!0,this.selectElement.setAttribute("aria-expanded","true"))}hideSelectDropDown(e){!this.contextViewProvider||!this._isVisible||(this._isVisible=!1,this.selectElement.setAttribute("aria-expanded","false"),e&&this.selectElement.focus(),this.contextViewProvider.hideContextView())}renderSelectDropDown(e,t){return e.appendChild(this.selectDropDownContainer),this.layoutSelectDropDown(t),{dispose:()=>{try{e.removeChild(this.selectDropDownContainer)}catch(i){}}}}measureMaxDetailsHeight(){let e=0;return this.options.forEach((t,i)=>{this.updateDetail(i),this.selectionDetailsPane.offsetHeight>e&&(e=this.selectionDetailsPane.offsetHeight)}),e}layoutSelectDropDown(e){if(this._skipLayout)return!1;if(this.selectList){this.selectDropDownContainer.classList.add("visible");const t=getWindow$1(this.selectElement),i=getDomNodePagePosition(this.selectElement),r=getWindow$1(this.selectElement).getComputedStyle(this.selectElement),g=parseFloat(r.getPropertyValue("--dropdown-padding-top"))+parseFloat(r.getPropertyValue("--dropdown-padding-bottom")),y=t.innerHeight-i.top-i.height-(this.selectBoxOptions.minBottomMargin||0),k=i.top-SelectBoxList.DEFAULT_DROPDOWN_MINIMUM_TOP_MARGIN,L=this.selectElement.offsetWidth,V=this.setWidthControlElement(this.widthControlElement),z=Math.max(V,Math.round(L)).toString()+"px";this.selectDropDownContainer.style.width=z,this.selectList.getHTMLElement().style.height="",this.selectList.layout();let j=this.selectList.contentHeight;this._hasDetails&&this._cachedMaxDetailsHeight===void 0&&(this._cachedMaxDetailsHeight=this.measureMaxDetailsHeight());const ie=this._hasDetails?this._cachedMaxDetailsHeight:0,oe=j+g+ie,re=Math.floor((y-g-ie)/this.getHeight()),ae=Math.floor((k-g-ie)/this.getHeight());if(e)return i.top+i.height>t.innerHeight-22||i.topre&&this.options.length>re?(this._dropDownPosition=1,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectionDetailsPane.classList.remove("border-top"),this.selectionDetailsPane.classList.add("border-bottom")):(this._dropDownPosition=0,this.selectDropDownContainer.removeChild(this.selectDropDownListContainer),this.selectDropDownContainer.removeChild(this.selectionDetailsPane),this.selectDropDownContainer.appendChild(this.selectDropDownListContainer),this.selectDropDownContainer.appendChild(this.selectionDetailsPane),this.selectionDetailsPane.classList.remove("border-bottom"),this.selectionDetailsPane.classList.add("border-top")),!0);if(i.top+i.height>t.innerHeight-22||i.topy&&(j=re*this.getHeight())}else oe>k&&(j=ae*this.getHeight());return this.selectList.layout(j),this.selectList.domFocus(),this.selectList.length>0&&(this.selectList.setFocus([this.selected||0]),this.selectList.reveal(this.selectList.getFocus()[0]||0)),this._hasDetails?(this.selectList.getHTMLElement().style.height=j+g+"px",this.selectDropDownContainer.style.height=""):this.selectDropDownContainer.style.height=j+g+"px",this.updateDetail(this.selected),this.selectDropDownContainer.style.width=z,this.selectDropDownListContainer.setAttribute("tabindex","0"),this.selectElement.classList.add("synthetic-focus"),this.selectDropDownContainer.classList.add("synthetic-focus"),!0}else return!1}setWidthControlElement(e){let t=0;if(e){let i=0,r=0;this.options.forEach((g,y)=>{const k=g.detail?g.detail.length:0,L=g.decoratorRight?g.decoratorRight.length:0,V=g.text.length+k+L;V>r&&(i=y,r=V)}),e.textContent=this.options[i].text+(this.options[i].decoratorRight?this.options[i].decoratorRight+" ":""),t=getTotalWidth(e)}return t}createSelectList(e){if(this.selectList)return;this.selectDropDownListContainer=append$1(e,$$c(".select-box-dropdown-list-container")),this.listRenderer=new SelectListRenderer,this.selectList=new List("SelectBoxCustom",this.selectDropDownListContainer,this,[this.listRenderer],{useShadows:!1,verticalScrollMode:3,keyboardSupport:!1,mouseSupport:!1,accessibilityProvider:{getAriaLabel:r=>{let g=r.text;return r.detail&&(g+=". ".concat(r.detail)),r.decoratorRight&&(g+=". ".concat(r.decoratorRight)),r.description&&(g+=". ".concat(r.description)),g},getWidgetAriaLabel:()=>localize({},"Select Box"),getRole:()=>isMacintosh?"":"option",getWidgetRole:()=>"listbox"}}),this.selectBoxOptions.ariaLabel&&(this.selectList.ariaLabel=this.selectBoxOptions.ariaLabel);const t=this._register(new DomEmitter(this.selectDropDownListContainer,"keydown")),i=Event$1.chain(t.event,r=>r.filter(()=>this.selectList.length>0).map(g=>new StandardKeyboardEvent(g)));this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===3))(this.onEnter,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===2))(this.onEnter,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===9))(this.onEscape,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===16))(this.onUpArrow,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===18))(this.onDownArrow,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===12))(this.onPageDown,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===11))(this.onPageUp,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===14))(this.onHome,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode===13))(this.onEnd,this)),this._register(Event$1.chain(i,r=>r.filter(g=>g.keyCode>=21&&g.keyCode<=56||g.keyCode>=85&&g.keyCode<=113))(this.onCharacter,this)),this._register(addDisposableListener(this.selectList.getHTMLElement(),EventType$1.POINTER_UP,r=>this.onPointerUp(r))),this._register(this.selectList.onMouseOver(r=>typeof r.index<"u"&&this.selectList.setFocus([r.index]))),this._register(this.selectList.onDidChangeFocus(r=>this.onListFocus(r))),this._register(addDisposableListener(this.selectDropDownContainer,EventType$1.FOCUS_OUT,r=>{!this._isVisible||isAncestor$1(r.relatedTarget,this.selectDropDownContainer)||this.onListBlur()})),this.selectList.getHTMLElement().setAttribute("aria-label",this.selectBoxOptions.ariaLabel||""),this.selectList.getHTMLElement().setAttribute("aria-expanded","true"),this.styleList()}onPointerUp(e){if(!this.selectList.length)return;EventHelper$1.stop(e);const t=e.target;if(!t||t.classList.contains("slider"))return;const i=t.closest(".monaco-list-row");if(!i)return;const r=Number(i.getAttribute("data-index")),g=i.classList.contains("option-disabled");r>=0&&r{for(let y=0;ythis.selected+2)this.selected+=2;else{if(t)return;this.selected++}this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0])}}onUpArrow(e){this.selected>0&&(EventHelper$1.stop(e,!0),this.options[this.selected-1].isDisabled&&this.selected>1?this.selected-=2:this.selected--,this.select(this.selected),this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selectList.getFocus()[0]))}onPageUp(e){EventHelper$1.stop(e),this.selectList.focusPreviousPage(),setTimeout(()=>{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected{this.selected=this.selectList.getFocus()[0],this.options[this.selected].isDisabled&&this.selected>0&&(this.selected--,this.selectList.setFocus([this.selected])),this.selectList.reveal(this.selected),this.select(this.selected)},1)}onHome(e){EventHelper$1.stop(e),!(this.options.length<2)&&(this.selected=0,this.options[this.selected].isDisabled&&this.selected>1&&this.selected++,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onEnd(e){EventHelper$1.stop(e),!(this.options.length<2)&&(this.selected=this.options.length-1,this.options[this.selected].isDisabled&&this.selected>1&&this.selected--,this.selectList.setFocus([this.selected]),this.selectList.reveal(this.selected),this.select(this.selected))}onCharacter(e){const t=KeyCodeUtils.toString(e.keyCode);let i=-1;for(let r=0;r{this._register(addDisposableListener(this.selectElement,e,t=>{this.selectElement.focus()}))}),this._register(addStandardDisposableListener(this.selectElement,"click",e=>{EventHelper$1.stop(e,!0)})),this._register(addStandardDisposableListener(this.selectElement,"change",e=>{this.selectElement.title=e.target.value,this._onDidSelect.fire({index:e.target.selectedIndex,selected:e.target.value})})),this._register(addStandardDisposableListener(this.selectElement,"keydown",e=>{let t=!1;isMacintosh?(e.keyCode===18||e.keyCode===16||e.keyCode===10)&&(t=!0):(e.keyCode===18&&e.altKey||e.keyCode===10||e.keyCode===3)&&(t=!0),t&&e.stopPropagation()}))}get onDidSelect(){return this._onDidSelect.event}setOptions(e,t){(!this.options||!equals$3(this.options,e))&&(this.options=e,this.selectElement.options.length=0,this.options.forEach((i,r)=>{this.selectElement.add(this.createOption(i.text,r,i.isDisabled))})),t!==void 0&&this.select(t)}select(e){this.options.length===0?this.selected=0:e>=0&&ethis.options.length-1?this.select(this.options.length-1):this.selected<0&&(this.selected=0),this.selectElement.selectedIndex=this.selected,this.selected{this.element&&this.handleActionChangeEvent(r)}))}handleActionChangeEvent(e){e.enabled!==void 0&&this.updateEnabled(),e.checked!==void 0&&this.updateChecked(),e.class!==void 0&&this.updateClass(),e.label!==void 0&&(this.updateLabel(),this.updateTooltip()),e.tooltip!==void 0&&this.updateTooltip()}get actionRunner(){return this._actionRunner||(this._actionRunner=this._register(new ActionRunner)),this._actionRunner}set actionRunner(e){this._actionRunner=e}isEnabled(){return this._action.enabled}setActionContext(e){this._context=e}render(e){const t=this.element=e;this._register(Gesture.addTarget(e));const i=this.options&&this.options.draggable;i&&(e.draggable=!0,isFirefox$1&&this._register(addDisposableListener(e,EventType$1.DRAG_START,r=>{var g;return(g=r.dataTransfer)===null||g===void 0?void 0:g.setData(DataTransfers.TEXT,this._action.label)}))),this._register(addDisposableListener(t,EventType.Tap,r=>this.onClick(r,!0))),this._register(addDisposableListener(t,EventType$1.MOUSE_DOWN,r=>{i||EventHelper$1.stop(r,!0),this._action.enabled&&r.button===0&&t.classList.add("active")})),isMacintosh&&this._register(addDisposableListener(t,EventType$1.CONTEXT_MENU,r=>{r.button===0&&r.ctrlKey===!0&&this.onClick(r)})),this._register(addDisposableListener(t,EventType$1.CLICK,r=>{EventHelper$1.stop(r,!0),this.options&&this.options.isMenu||this.onClick(r)})),this._register(addDisposableListener(t,EventType$1.DBLCLICK,r=>{EventHelper$1.stop(r,!0)})),[EventType$1.MOUSE_UP,EventType$1.MOUSE_OUT].forEach(r=>{this._register(addDisposableListener(t,r,g=>{EventHelper$1.stop(g),t.classList.remove("active")}))})}onClick(e,t=!1){var i;EventHelper$1.stop(e,!0);const r=isUndefinedOrNull(this._context)?!((i=this.options)===null||i===void 0)&&i.useEventAsContext?e:{preserveFocus:t}:this._context;this.actionRunner.run(this._action,r)}focus(){this.element&&(this.element.tabIndex=0,this.element.focus(),this.element.classList.add("focused"))}blur(){this.element&&(this.element.blur(),this.element.tabIndex=-1,this.element.classList.remove("focused"))}setFocusable(e){this.element&&(this.element.tabIndex=e?0:-1)}get trapsArrowNavigation(){return!1}updateEnabled(){}updateLabel(){}getClass(){return this.action.class}getTooltip(){return this.action.tooltip}updateTooltip(){var e,t,i;if(!this.element)return;const r=(e=this.getTooltip())!==null&&e!==void 0?e:"";if(this.updateAriaLabel(),!((t=this.options.hoverDelegate)===null||t===void 0)&&t.showNativeHover)this.element.title=r;else if(!this.customHover&&r!==""){const g=(i=this.options.hoverDelegate)!==null&&i!==void 0?i:getDefaultHoverDelegate("element");this.customHover=this._store.add(setupCustomHover(g,this.element,r))}else this.customHover&&this.customHover.update(r)}updateAriaLabel(){var e;if(this.element){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.element.setAttribute("aria-label",t)}}updateClass(){}updateChecked(){}dispose(){this.element&&(this.element.remove(),this.element=void 0),this._context=void 0,super.dispose()}}class ActionViewItem extends BaseActionViewItem{constructor(e,t,i){super(e,t,i),this.options=i,this.options.icon=i.icon!==void 0?i.icon:!1,this.options.label=i.label!==void 0?i.label:!0,this.cssClass=""}render(e){super.render(e),assertType(this.element);const t=document.createElement("a");if(t.classList.add("action-label"),t.setAttribute("role",this.getDefaultAriaRole()),this.label=t,this.element.appendChild(t),this.options.label&&this.options.keybinding){const i=document.createElement("span");i.classList.add("keybinding"),i.textContent=this.options.keybinding,this.element.appendChild(i)}this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked()}getDefaultAriaRole(){return this._action.id===Separator.ID?"presentation":this.options.isMenu?"menuitem":"button"}focus(){this.label&&(this.label.tabIndex=0,this.label.focus())}blur(){this.label&&(this.label.tabIndex=-1)}setFocusable(e){this.label&&(this.label.tabIndex=e?0:-1)}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this.action.label)}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:!this.options.label&&this.action.label&&this.options.icon&&(e=this.action.label,this.options.keybinding&&(e=localize({},"{0} ({1})",e,this.options.keybinding))),e!=null?e:void 0}updateClass(){var e;this.cssClass&&this.label&&this.label.classList.remove(...this.cssClass.split(" ")),this.options.icon?(this.cssClass=this.getClass(),this.label&&(this.label.classList.add("codicon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" "))),this.updateEnabled()):(e=this.label)===null||e===void 0||e.classList.remove("codicon")}updateEnabled(){var e,t;this.action.enabled?(this.label&&(this.label.removeAttribute("aria-disabled"),this.label.classList.remove("disabled")),(e=this.element)===null||e===void 0||e.classList.remove("disabled")):(this.label&&(this.label.setAttribute("aria-disabled","true"),this.label.classList.add("disabled")),(t=this.element)===null||t===void 0||t.classList.add("disabled"))}updateAriaLabel(){var e;if(this.label){const t=(e=this.getTooltip())!==null&&e!==void 0?e:"";this.label.setAttribute("aria-label",t)}}updateChecked(){this.label&&(this.action.checked!==void 0?(this.label.classList.toggle("checked",this.action.checked),this.label.setAttribute("aria-checked",this.action.checked?"true":"false"),this.label.setAttribute("role","checkbox")):(this.label.classList.remove("checked"),this.label.removeAttribute("aria-checked"),this.label.setAttribute("role",this.getDefaultAriaRole())))}}class SelectActionViewItem extends BaseActionViewItem{constructor(e,t,i,r,g,y,k){super(e,t),this.selectBox=new SelectBox(i,r,g,y,k),this.selectBox.setFocusable(!1),this._register(this.selectBox),this.registerListeners()}select(e){this.selectBox.select(e)}registerListeners(){this._register(this.selectBox.onDidSelect(e=>this.runAction(e.selected,e.index)))}runAction(e,t){this.actionRunner.run(this._action,this.getActionContext(e,t))}getActionContext(e,t){return e}setFocusable(e){this.selectBox.setFocusable(e)}focus(){var e;(e=this.selectBox)===null||e===void 0||e.focus()}blur(){var e;(e=this.selectBox)===null||e===void 0||e.blur()}render(e){this.selectBox.render(e)}}class BaseDropdown extends ActionRunner{constructor(e,t){super(),this._onDidChangeVisibility=this._register(new Emitter$1),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this._element=append$1(e,$$f(".monaco-dropdown")),this._label=append$1(this._element,$$f(".dropdown-label"));let i=t.labelRenderer;i||(i=g=>(g.textContent=t.label||"",null));for(const g of[EventType$1.CLICK,EventType$1.MOUSE_DOWN,EventType.Tap])this._register(addDisposableListener(this.element,g,y=>EventHelper$1.stop(y,!0)));for(const g of[EventType$1.MOUSE_DOWN,EventType.Tap])this._register(addDisposableListener(this._label,g,y=>{isMouseEvent$1(y)&&(y.detail>1||y.button!==0)||(this.visible?this.hide():this.show())}));this._register(addDisposableListener(this._label,EventType$1.KEY_UP,g=>{const y=new StandardKeyboardEvent(g);(y.equals(3)||y.equals(10))&&(EventHelper$1.stop(g,!0),this.visible?this.hide():this.show())}));const r=i(this._label);r&&this._register(r),this._register(Gesture.addTarget(this._label))}get element(){return this._element}show(){this.visible||(this.visible=!0,this._onDidChangeVisibility.fire(!0))}hide(){this.visible&&(this.visible=!1,this._onDidChangeVisibility.fire(!1))}dispose(){super.dispose(),this.hide(),this.boxContainer&&(this.boxContainer.remove(),this.boxContainer=void 0),this.contents&&(this.contents.remove(),this.contents=void 0),this._label&&(this._label.remove(),this._label=void 0)}}let DropdownMenu$1=class extends BaseDropdown{constructor(e,t){super(e,t),this._options=t,this._actions=[],this.actions=t.actions||[]}set menuOptions(e){this._menuOptions=e}get menuOptions(){return this._menuOptions}get actions(){return this._options.actionProvider?this._options.actionProvider.getActions():this._actions}set actions(e){this._actions=e}show(){super.show(),this.element.classList.add("active"),this._options.contextMenuProvider.showContextMenu({getAnchor:()=>this.element,getActions:()=>this.actions,getActionsContext:()=>this.menuOptions?this.menuOptions.context:null,getActionViewItem:(e,t)=>this.menuOptions&&this.menuOptions.actionViewItemProvider?this.menuOptions.actionViewItemProvider(e,t):void 0,getKeyBinding:e=>this.menuOptions&&this.menuOptions.getKeyBinding?this.menuOptions.getKeyBinding(e):void 0,getMenuClassName:()=>this._options.menuClassName||"",onHide:()=>this.onHide(),actionRunner:this.menuOptions?this.menuOptions.actionRunner:void 0,anchorAlignment:this.menuOptions?this.menuOptions.anchorAlignment:0,domForShadowRoot:this._options.menuAsChild?this.element:void 0,skipTelemetry:this._options.skipTelemetry})}hide(){super.hide()}onHide(){this.hide(),this.element.classList.remove("active")}};class DropdownMenuActionViewItem extends BaseActionViewItem{constructor(e,t,i,r=Object.create(null)){super(null,e,r),this.actionItem=null,this._onDidChangeVisibility=this._register(new Emitter$1),this.onDidChangeVisibility=this._onDidChangeVisibility.event,this.menuActionsOrProvider=t,this.contextMenuProvider=i,this.options=r,this.options.actionRunner&&(this.actionRunner=this.options.actionRunner)}render(e){this.actionItem=e;const t=g=>{var y;this.element=append$1(g,$$f("a.action-label"));let k=[];return typeof this.options.classNames=="string"?k=this.options.classNames.split(/\s+/g).filter(L=>!!L):this.options.classNames&&(k=this.options.classNames),k.find(L=>L==="icon")||k.push("codicon"),this.element.classList.add(...k),this.element.setAttribute("role","button"),this.element.setAttribute("aria-haspopup","true"),this.element.setAttribute("aria-expanded","false"),this._action.label&&this._register(setupCustomHover((y=this.options.hoverDelegate)!==null&&y!==void 0?y:getDefaultHoverDelegate("mouse"),this.element,this._action.label)),this.element.ariaLabel=this._action.label||"",null},i=Array.isArray(this.menuActionsOrProvider),r={contextMenuProvider:this.contextMenuProvider,labelRenderer:t,menuAsChild:this.options.menuAsChild,actions:i?this.menuActionsOrProvider:void 0,actionProvider:i?void 0:this.menuActionsOrProvider,skipTelemetry:this.options.skipTelemetry};if(this.dropdownMenu=this._register(new DropdownMenu$1(e,r)),this._register(this.dropdownMenu.onDidChangeVisibility(g=>{var y;(y=this.element)===null||y===void 0||y.setAttribute("aria-expanded","".concat(g)),this._onDidChangeVisibility.fire(g)})),this.dropdownMenu.menuOptions={actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,getKeyBinding:this.options.keybindingProvider,context:this._context},this.options.anchorAlignmentProvider){const g=this;this.dropdownMenu.menuOptions={...this.dropdownMenu.menuOptions,get anchorAlignment(){return g.options.anchorAlignmentProvider()}}}this.updateTooltip(),this.updateEnabled()}getTooltip(){let e=null;return this.action.tooltip?e=this.action.tooltip:this.action.label&&(e=this.action.label),e!=null?e:void 0}setActionContext(e){super.setActionContext(e),this.dropdownMenu&&(this.dropdownMenu.menuOptions?this.dropdownMenu.menuOptions.context=e:this.dropdownMenu.menuOptions={context:e})}show(){var e;(e=this.dropdownMenu)===null||e===void 0||e.show()}updateEnabled(){var e,t;const i=!this.action.enabled;(e=this.actionItem)===null||e===void 0||e.classList.toggle("disabled",i),(t=this.element)===null||t===void 0||t.classList.toggle("disabled",i)}}function isICommandActionToggleInfo(n){return n?n.condition!==void 0:!1}var StorageHint;(function(n){n[n.STORAGE_DOES_NOT_EXIST=0]="STORAGE_DOES_NOT_EXIST",n[n.STORAGE_IN_MEMORY=1]="STORAGE_IN_MEMORY"})(StorageHint||(StorageHint={}));var StorageState;(function(n){n[n.None=0]="None",n[n.Initialized=1]="Initialized",n[n.Closed=2]="Closed"})(StorageState||(StorageState={}));class Storage extends Disposable{constructor(e,t=Object.create(null)){super(),this.database=e,this.options=t,this._onDidChangeStorage=this._register(new PauseableEmitter),this.onDidChangeStorage=this._onDidChangeStorage.event,this.state=StorageState.None,this.cache=new Map,this.flushDelayer=this._register(new ThrottledDelayer(Storage.DEFAULT_FLUSH_DELAY)),this.pendingDeletes=new Set,this.pendingInserts=new Map,this.whenFlushedCallbacks=[],this.registerListeners()}registerListeners(){this._register(this.database.onDidChangeItemsExternal(e=>this.onDidChangeItemsExternal(e)))}onDidChangeItemsExternal(e){var t,i;this._onDidChangeStorage.pause();try{(t=e.changed)===null||t===void 0||t.forEach((r,g)=>this.acceptExternal(g,r)),(i=e.deleted)===null||i===void 0||i.forEach(r=>this.acceptExternal(r,void 0))}finally{this._onDidChangeStorage.resume()}}acceptExternal(e,t){if(this.state===StorageState.Closed)return;let i=!1;isUndefinedOrNull(t)?i=this.cache.delete(e):this.cache.get(e)!==t&&(this.cache.set(e,t),i=!0),i&&this._onDidChangeStorage.fire({key:e,external:!0})}get(e,t){const i=this.cache.get(e);return isUndefinedOrNull(i)?t:i}getBoolean(e,t){const i=this.get(e);return isUndefinedOrNull(i)?t:i==="true"}getNumber(e,t){const i=this.get(e);return isUndefinedOrNull(i)?t:parseInt(i,10)}async set(e,t,i=!1){if(this.state===StorageState.Closed)return;if(isUndefinedOrNull(t))return this.delete(e,i);const r=isObject$3(t)||Array.isArray(t)?stringify(t):String(t);if(this.cache.get(e)!==r)return this.cache.set(e,r),this.pendingInserts.set(e,r),this.pendingDeletes.delete(e),this._onDidChangeStorage.fire({key:e,external:i}),this.doFlush()}async delete(e,t=!1){if(!(this.state===StorageState.Closed||!this.cache.delete(e)))return this.pendingDeletes.has(e)||this.pendingDeletes.add(e),this.pendingInserts.delete(e),this._onDidChangeStorage.fire({key:e,external:t}),this.doFlush()}get hasPending(){return this.pendingInserts.size>0||this.pendingDeletes.size>0}async flushPending(){if(!this.hasPending)return;const e={insert:this.pendingInserts,delete:this.pendingDeletes};return this.pendingDeletes=new Set,this.pendingInserts=new Map,this.database.updateItems(e).finally(()=>{var t;if(!this.hasPending)for(;this.whenFlushedCallbacks.length;)(t=this.whenFlushedCallbacks.pop())===null||t===void 0||t()})}async doFlush(e){return this.options.hint===StorageHint.STORAGE_IN_MEMORY?this.flushPending():this.flushDelayer.trigger(()=>this.flushPending(),e)}}Storage.DEFAULT_FLUSH_DELAY=100;class InMemoryStorageDatabase{constructor(){this.onDidChangeItemsExternal=Event$1.None,this.items=new Map}async updateItems(e){var t,i;(t=e.insert)===null||t===void 0||t.forEach((r,g)=>this.items.set(g,r)),(i=e.delete)===null||i===void 0||i.forEach(r=>this.items.delete(r))}}const TARGET_KEY="__$__targetStorageMarker",IStorageService=createDecorator("storageService");var WillSaveStateReason;(function(n){n[n.NONE=0]="NONE",n[n.SHUTDOWN=1]="SHUTDOWN"})(WillSaveStateReason||(WillSaveStateReason={}));function loadKeyTargets(n){const e=n.get(TARGET_KEY);if(e)try{return JSON.parse(e)}catch(t){}return Object.create(null)}class AbstractStorageService extends Disposable{constructor(e={flushInterval:AbstractStorageService.DEFAULT_FLUSH_INTERVAL}){super(),this.options=e,this._onDidChangeValue=this._register(new PauseableEmitter),this._onDidChangeTarget=this._register(new PauseableEmitter),this._onWillSaveState=this._register(new Emitter$1),this.onWillSaveState=this._onWillSaveState.event,this._workspaceKeyTargets=void 0,this._profileKeyTargets=void 0,this._applicationKeyTargets=void 0}onDidChangeValue(e,t,i){return Event$1.filter(this._onDidChangeValue.event,r=>r.scope===e&&(t===void 0||r.key===t),i)}emitDidChangeValue(e,t){const{key:i,external:r}=t;if(i===TARGET_KEY){switch(e){case-1:this._applicationKeyTargets=void 0;break;case 0:this._profileKeyTargets=void 0;break;case 1:this._workspaceKeyTargets=void 0;break}this._onDidChangeTarget.fire({scope:e})}else this._onDidChangeValue.fire({scope:e,key:i,target:this.getKeyTargets(e)[i],external:r})}get(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.get(e,i)}getBoolean(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getBoolean(e,i)}getNumber(e,t,i){var r;return(r=this.getStorage(t))===null||r===void 0?void 0:r.getNumber(e,i)}store(e,t,i,r,g=!1){if(isUndefinedOrNull(t)){this.remove(e,i,g);return}this.withPausedEmitters(()=>{var y;this.updateKeyTarget(e,i,r),(y=this.getStorage(i))===null||y===void 0||y.set(e,t,g)})}remove(e,t,i=!1){this.withPausedEmitters(()=>{var r;this.updateKeyTarget(e,t,void 0),(r=this.getStorage(t))===null||r===void 0||r.delete(e,i)})}withPausedEmitters(e){this._onDidChangeValue.pause(),this._onDidChangeTarget.pause();try{e()}finally{this._onDidChangeValue.resume(),this._onDidChangeTarget.resume()}}updateKeyTarget(e,t,i,r=!1){var g,y;const k=this.getKeyTargets(t);typeof i=="number"?k[e]!==i&&(k[e]=i,(g=this.getStorage(t))===null||g===void 0||g.set(TARGET_KEY,JSON.stringify(k),r)):typeof k[e]=="number"&&(delete k[e],(y=this.getStorage(t))===null||y===void 0||y.set(TARGET_KEY,JSON.stringify(k),r))}get workspaceKeyTargets(){return this._workspaceKeyTargets||(this._workspaceKeyTargets=this.loadKeyTargets(1)),this._workspaceKeyTargets}get profileKeyTargets(){return this._profileKeyTargets||(this._profileKeyTargets=this.loadKeyTargets(0)),this._profileKeyTargets}get applicationKeyTargets(){return this._applicationKeyTargets||(this._applicationKeyTargets=this.loadKeyTargets(-1)),this._applicationKeyTargets}getKeyTargets(e){switch(e){case-1:return this.applicationKeyTargets;case 0:return this.profileKeyTargets;default:return this.workspaceKeyTargets}}loadKeyTargets(e){const t=this.getStorage(e);return t?loadKeyTargets(t):Object.create(null)}}AbstractStorageService.DEFAULT_FLUSH_INTERVAL=60*1e3;class InMemoryStorageService extends AbstractStorageService{constructor(){super(),this.applicationStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this.profileStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this.workspaceStorage=this._register(new Storage(new InMemoryStorageDatabase,{hint:StorageHint.STORAGE_IN_MEMORY})),this._register(this.workspaceStorage.onDidChangeStorage(e=>this.emitDidChangeValue(1,e))),this._register(this.profileStorage.onDidChangeStorage(e=>this.emitDidChangeValue(0,e))),this._register(this.applicationStorage.onDidChangeStorage(e=>this.emitDidChangeValue(-1,e)))}getStorage(e){switch(e){case-1:return this.applicationStorage;case 0:return this.profileStorage;default:return this.workspaceStorage}}}function overrideStyles(n,e){const t={...e};for(const i in n){const r=n[i];t[i]=r!==void 0?asCssVariable(r):void 0}return t}const defaultKeybindingLabelStyles={keybindingLabelBackground:asCssVariable(keybindingLabelBackground),keybindingLabelForeground:asCssVariable(keybindingLabelForeground),keybindingLabelBorder:asCssVariable(keybindingLabelBorder),keybindingLabelBottomBorder:asCssVariable(keybindingLabelBottomBorder),keybindingLabelShadow:asCssVariable(widgetShadow)},defaultButtonStyles={buttonForeground:asCssVariable(buttonForeground),buttonSeparator:asCssVariable(buttonSeparator),buttonBackground:asCssVariable(buttonBackground),buttonHoverBackground:asCssVariable(buttonHoverBackground),buttonSecondaryForeground:asCssVariable(buttonSecondaryForeground),buttonSecondaryBackground:asCssVariable(buttonSecondaryBackground),buttonSecondaryHoverBackground:asCssVariable(buttonSecondaryHoverBackground),buttonBorder:asCssVariable(buttonBorder)},defaultProgressBarStyles={progressBarBackground:asCssVariable(progressBarBackground)},defaultToggleStyles={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)};asCssVariable(checkboxBackground),asCssVariable(checkboxBorder),asCssVariable(checkboxForeground);asCssVariable(editorWidgetBackground),asCssVariable(editorWidgetForeground),asCssVariable(widgetShadow),asCssVariable(contrastBorder),asCssVariable(problemsErrorIconForeground),asCssVariable(problemsWarningIconForeground),asCssVariable(problemsInfoIconForeground),asCssVariable(textLinkForeground);const defaultInputBoxStyles={inputBackground:asCssVariable(inputBackground),inputForeground:asCssVariable(inputForeground),inputBorder:asCssVariable(inputBorder),inputValidationInfoBorder:asCssVariable(inputValidationInfoBorder),inputValidationInfoBackground:asCssVariable(inputValidationInfoBackground),inputValidationInfoForeground:asCssVariable(inputValidationInfoForeground),inputValidationWarningBorder:asCssVariable(inputValidationWarningBorder),inputValidationWarningBackground:asCssVariable(inputValidationWarningBackground),inputValidationWarningForeground:asCssVariable(inputValidationWarningForeground),inputValidationErrorBorder:asCssVariable(inputValidationErrorBorder),inputValidationErrorBackground:asCssVariable(inputValidationErrorBackground),inputValidationErrorForeground:asCssVariable(inputValidationErrorForeground)},defaultFindWidgetStyles={listFilterWidgetBackground:asCssVariable(listFilterWidgetBackground),listFilterWidgetOutline:asCssVariable(listFilterWidgetOutline),listFilterWidgetNoMatchesOutline:asCssVariable(listFilterWidgetNoMatchesOutline),listFilterWidgetShadow:asCssVariable(listFilterWidgetShadow),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},defaultCountBadgeStyles={badgeBackground:asCssVariable(badgeBackground),badgeForeground:asCssVariable(badgeForeground),badgeBorder:asCssVariable(contrastBorder)};asCssVariable(breadcrumbsBackground),asCssVariable(breadcrumbsForeground),asCssVariable(breadcrumbsFocusForeground),asCssVariable(breadcrumbsFocusForeground),asCssVariable(breadcrumbsActiveSelectionForeground);const defaultListStyles={listBackground:void 0,listInactiveFocusForeground:void 0,listFocusBackground:asCssVariable(listFocusBackground),listFocusForeground:asCssVariable(listFocusForeground),listFocusOutline:asCssVariable(listFocusOutline),listActiveSelectionBackground:asCssVariable(listActiveSelectionBackground),listActiveSelectionForeground:asCssVariable(listActiveSelectionForeground),listActiveSelectionIconForeground:asCssVariable(listActiveSelectionIconForeground),listFocusAndSelectionOutline:asCssVariable(listFocusAndSelectionOutline),listFocusAndSelectionBackground:asCssVariable(listActiveSelectionBackground),listFocusAndSelectionForeground:asCssVariable(listActiveSelectionForeground),listInactiveSelectionBackground:asCssVariable(listInactiveSelectionBackground),listInactiveSelectionIconForeground:asCssVariable(listInactiveSelectionIconForeground),listInactiveSelectionForeground:asCssVariable(listInactiveSelectionForeground),listInactiveFocusBackground:asCssVariable(listInactiveFocusBackground),listInactiveFocusOutline:asCssVariable(listInactiveFocusOutline),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listDropOverBackground:asCssVariable(listDropOverBackground),listDropBetweenBackground:asCssVariable(listDropBetweenBackground),listSelectionOutline:asCssVariable(activeContrastBorder),listHoverOutline:asCssVariable(activeContrastBorder),treeIndentGuidesStroke:asCssVariable(treeIndentGuidesStroke),treeInactiveIndentGuidesStroke:asCssVariable(treeInactiveIndentGuidesStroke),tableColumnsBorder:asCssVariable(tableColumnsBorder),tableOddRowsBackgroundColor:asCssVariable(tableOddRowsBackgroundColor)};function getListStyles(n){return overrideStyles(n,defaultListStyles)}const defaultSelectBoxStyles={selectBackground:asCssVariable(selectBackground),selectListBackground:asCssVariable(selectListBackground),selectForeground:asCssVariable(selectForeground),decoratorRightForeground:asCssVariable(pickerGroupForeground),selectBorder:asCssVariable(selectBorder),focusBorder:asCssVariable(focusBorder),listFocusBackground:asCssVariable(quickInputListFocusBackground),listInactiveSelectionIconForeground:asCssVariable(quickInputListFocusIconForeground),listFocusForeground:asCssVariable(quickInputListFocusForeground),listFocusOutline:asCssVariableWithDefault(activeContrastBorder,Color$1.transparent.toString()),listHoverBackground:asCssVariable(listHoverBackground),listHoverForeground:asCssVariable(listHoverForeground),listHoverOutline:asCssVariable(activeContrastBorder),selectListBorder:asCssVariable(editorWidgetBorder),listBackground:void 0,listActiveSelectionBackground:void 0,listActiveSelectionForeground:void 0,listActiveSelectionIconForeground:void 0,listFocusAndSelectionBackground:void 0,listDropOverBackground:void 0,listDropBetweenBackground:void 0,listInactiveSelectionBackground:void 0,listInactiveSelectionForeground:void 0,listInactiveFocusBackground:void 0,listInactiveFocusOutline:void 0,listSelectionOutline:void 0,listFocusAndSelectionForeground:void 0,listFocusAndSelectionOutline:void 0,listInactiveFocusForeground:void 0,tableColumnsBorder:void 0,tableOddRowsBackgroundColor:void 0,treeIndentGuidesStroke:void 0,treeInactiveIndentGuidesStroke:void 0},defaultMenuStyles={shadowColor:asCssVariable(widgetShadow),borderColor:asCssVariable(menuBorder),foregroundColor:asCssVariable(menuForeground),backgroundColor:asCssVariable(menuBackground),selectionForegroundColor:asCssVariable(menuSelectionForeground),selectionBackgroundColor:asCssVariable(menuSelectionBackground),selectionBorderColor:asCssVariable(menuSelectionBorder),separatorColor:asCssVariable(menuSeparatorBackground),scrollbarShadow:asCssVariable(scrollbarShadow),scrollbarSliderBackground:asCssVariable(scrollbarSliderBackground),scrollbarSliderHoverBackground:asCssVariable(scrollbarSliderHoverBackground),scrollbarSliderActiveBackground:asCssVariable(scrollbarSliderActiveBackground)};var __decorate$24=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1Z=function(n,e){return function(t,i){e(t,i,n)}};function createAndFillInContextMenuActions(n,e,t,i){const r=n.getActions(e),g=ModifierKeyEmitter.getInstance(),y=g.keyStatus.altKey||(isWindows||isLinux)&&g.keyStatus.shiftKey;fillInActions(r,t,y,k=>k==="navigation")}function createAndFillInActionBarActions(n,e,t,i,r,g){const y=n.getActions(e);fillInActions(y,t,!1,typeof i=="string"?L=>L===i:i,r,g)}function fillInActions(n,e,t,i=y=>y==="navigation",r=()=>!1,g=!1){let y,k;Array.isArray(e)?(y=e,k=e):(y=e.primary,k=e.secondary);const L=new Set;for(const[V,z]of n){let j;i(V)?(j=y,j.length>0&&g&&j.push(new Separator)):(j=k,j.length>0&&j.push(new Separator));for(let ie of z){t&&(ie=ie instanceof MenuItemAction&&ie.alt?ie.alt:ie);const oe=j.push(ie);ie instanceof SubmenuAction&&L.add({group:V,action:ie,index:oe-1})}}for(const{group:V,action:z,index:j}of L){const ie=i(V)?y:k,oe=z.actions;r(z,V,ie.length)&&ie.splice(j,1,...oe)}}let MenuEntryActionViewItem=class extends ActionViewItem{constructor(e,t,i,r,g,y,k,L){super(void 0,e,{icon:!!(e.class||e.item.icon),label:!e.class&&!e.item.icon,draggable:t==null?void 0:t.draggable,keybinding:t==null?void 0:t.keybinding,hoverDelegate:t==null?void 0:t.hoverDelegate}),this._keybindingService=i,this._notificationService=r,this._contextKeyService=g,this._themeService=y,this._contextMenuService=k,this._accessibilityService=L,this._wantsAltCommand=!1,this._itemClassDispose=this._register(new MutableDisposable),this._altKey=ModifierKeyEmitter.getInstance()}get _menuItemAction(){return this._action}get _commandAction(){return this._wantsAltCommand&&this._menuItemAction.alt||this._menuItemAction}async onClick(e){e.preventDefault(),e.stopPropagation();try{await this.actionRunner.run(this._commandAction,this._context)}catch(t){this._notificationService.error(t)}}render(e){if(super.render(e),e.classList.add("menu-entry"),this.options.icon&&this._updateItemClass(this._menuItemAction.item),this._menuItemAction.alt){let t=!1;const i=()=>{var r;const g=!!(!((r=this._menuItemAction.alt)===null||r===void 0)&&r.enabled)&&(!this._accessibilityService.isMotionReduced()||t)&&(this._altKey.keyStatus.altKey||this._altKey.keyStatus.shiftKey&&t);g!==this._wantsAltCommand&&(this._wantsAltCommand=g,this.updateLabel(),this.updateTooltip(),this.updateClass())};this._register(this._altKey.event(i)),this._register(addDisposableListener(e,"mouseleave",r=>{t=!1,i()})),this._register(addDisposableListener(e,"mouseenter",r=>{t=!0,i()})),i()}}updateLabel(){this.options.label&&this.label&&(this.label.textContent=this._commandAction.label)}getTooltip(){var e;const t=this._keybindingService.lookupKeybinding(this._commandAction.id,this._contextKeyService),i=t&&t.getLabel(),r=this._commandAction.tooltip||this._commandAction.label;let g=i?localize("titleAndKb","{0} ({1})",r,i):r;if(!this._wantsAltCommand&&(!((e=this._menuItemAction.alt)===null||e===void 0)&&e.enabled)){const y=this._menuItemAction.alt.tooltip||this._menuItemAction.alt.label,k=this._keybindingService.lookupKeybinding(this._menuItemAction.alt.id,this._contextKeyService),L=k&&k.getLabel(),V=L?localize("titleAndKb","{0} ({1})",y,L):y;g=localize("titleAndKbAndAlt","{0}\n[{1}] {2}",g,UILabelProvider.modifierLabels[OS].altKey,V)}return g}updateClass(){this.options.icon&&(this._commandAction!==this._menuItemAction?this._menuItemAction.alt&&this._updateItemClass(this._menuItemAction.alt.item):this._updateItemClass(this._menuItemAction.item))}_updateItemClass(e){this._itemClassDispose.value=void 0;const{element:t,label:i}=this;if(!t||!i)return;const r=this._commandAction.checked&&isICommandActionToggleInfo(e.toggled)&&e.toggled.icon?e.toggled.icon:e.icon;if(r)if(ThemeIcon.isThemeIcon(r)){const g=ThemeIcon.asClassNameArray(r);i.classList.add(...g),this._itemClassDispose.value=toDisposable(()=>{i.classList.remove(...g)})}else i.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(r.dark):asCSSUrl(r.light),i.classList.add("icon"),this._itemClassDispose.value=combinedDisposable(toDisposable(()=>{i.style.backgroundImage="",i.classList.remove("icon")}),this._themeService.onDidColorThemeChange(()=>{this.updateClass()}))}};MenuEntryActionViewItem=__decorate$24([__param$1Z(2,IKeybindingService),__param$1Z(3,INotificationService),__param$1Z(4,IContextKeyService),__param$1Z(5,IThemeService),__param$1Z(6,IContextMenuService),__param$1Z(7,IAccessibilityService)],MenuEntryActionViewItem);let SubmenuEntryActionViewItem=class extends DropdownMenuActionViewItem{constructor(e,t,i,r,g){var y,k,L;const V={...t,menuAsChild:(y=t==null?void 0:t.menuAsChild)!==null&&y!==void 0?y:!1,classNames:(k=t==null?void 0:t.classNames)!==null&&k!==void 0?k:ThemeIcon.isThemeIcon(e.item.icon)?ThemeIcon.asClassName(e.item.icon):void 0,keybindingProvider:(L=t==null?void 0:t.keybindingProvider)!==null&&L!==void 0?L:z=>i.lookupKeybinding(z.id)};super(e,{getActions:()=>e.actions},r,V),this._keybindingService=i,this._contextMenuService=r,this._themeService=g}render(e){super.render(e),assertType(this.element),e.classList.add("menu-entry");const t=this._action,{icon:i}=t.item;if(i&&!ThemeIcon.isThemeIcon(i)){this.element.classList.add("icon");const r=()=>{this.element&&(this.element.style.backgroundImage=isDark(this._themeService.getColorTheme().type)?asCSSUrl(i.dark):asCSSUrl(i.light))};r(),this._register(this._themeService.onDidColorThemeChange(()=>{r()}))}}};SubmenuEntryActionViewItem=__decorate$24([__param$1Z(2,IKeybindingService),__param$1Z(3,IContextMenuService),__param$1Z(4,IThemeService)],SubmenuEntryActionViewItem);let DropdownWithDefaultActionViewItem=class extends BaseActionViewItem{constructor(e,t,i,r,g,y,k,L){var V,z,j;super(null,e),this._keybindingService=i,this._notificationService=r,this._contextMenuService=g,this._menuService=y,this._instaService=k,this._storageService=L,this._container=null,this._options=t,this._storageKey="".concat(e.item.submenu.id,"_lastActionId");let ie;const oe=t!=null&&t.persistLastActionId?L.get(this._storageKey,1):void 0;oe&&(ie=e.actions.find(ae=>oe===ae.id)),ie||(ie=e.actions[0]),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,ie,{keybinding:this._getDefaultActionKeybindingLabel(ie)});const re={keybindingProvider:ae=>this._keybindingService.lookupKeybinding(ae.id),...t,menuAsChild:(V=t==null?void 0:t.menuAsChild)!==null&&V!==void 0?V:!0,classNames:(z=t==null?void 0:t.classNames)!==null&&z!==void 0?z:["codicon","codicon-chevron-down"],actionRunner:(j=t==null?void 0:t.actionRunner)!==null&&j!==void 0?j:new ActionRunner};this._dropdown=new DropdownMenuActionViewItem(e,e.actions,this._contextMenuService,re),this._register(this._dropdown.actionRunner.onDidRun(ae=>{ae.action instanceof MenuItemAction&&this.update(ae.action)}))}update(e){var t;!((t=this._options)===null||t===void 0)&&t.persistLastActionId&&this._storageService.store(this._storageKey,e.id,1,1),this._defaultAction.dispose(),this._defaultAction=this._instaService.createInstance(MenuEntryActionViewItem,e,{keybinding:this._getDefaultActionKeybindingLabel(e)}),this._defaultAction.actionRunner=new class extends ActionRunner{async runAction(i,r){await i.run(void 0)}},this._container&&this._defaultAction.render(prepend$1(this._container,$$f(".action-container")))}_getDefaultActionKeybindingLabel(e){var t;let i;if(!((t=this._options)===null||t===void 0)&&t.renderKeybindingWithDefaultActionLabel){const r=this._keybindingService.lookupKeybinding(e.id);r&&(i="(".concat(r.getLabel(),")"))}return i}setActionContext(e){super.setActionContext(e),this._defaultAction.setActionContext(e),this._dropdown.setActionContext(e)}render(e){this._container=e,super.render(this._container),this._container.classList.add("monaco-dropdown-with-default");const t=$$f(".action-container");this._defaultAction.render(append$1(this._container,t)),this._register(addDisposableListener(t,EventType$1.KEY_DOWN,r=>{const g=new StandardKeyboardEvent(r);g.equals(17)&&(this._defaultAction.element.tabIndex=-1,this._dropdown.focus(),g.stopPropagation())}));const i=$$f(".dropdown-action-container");this._dropdown.render(append$1(this._container,i)),this._register(addDisposableListener(i,EventType$1.KEY_DOWN,r=>{var g;const y=new StandardKeyboardEvent(r);y.equals(15)&&(this._defaultAction.element.tabIndex=0,this._dropdown.setFocusable(!1),(g=this._defaultAction.element)===null||g===void 0||g.focus(),y.stopPropagation())}))}focus(e){e?this._dropdown.focus():(this._defaultAction.element.tabIndex=0,this._defaultAction.element.focus())}blur(){this._defaultAction.element.tabIndex=-1,this._dropdown.blur(),this._container.blur()}setFocusable(e){e?this._defaultAction.element.tabIndex=0:(this._defaultAction.element.tabIndex=-1,this._dropdown.setFocusable(!1))}dispose(){this._defaultAction.dispose(),this._dropdown.dispose(),super.dispose()}};DropdownWithDefaultActionViewItem=__decorate$24([__param$1Z(2,IKeybindingService),__param$1Z(3,INotificationService),__param$1Z(4,IContextMenuService),__param$1Z(5,IMenuService),__param$1Z(6,IInstantiationService),__param$1Z(7,IStorageService)],DropdownWithDefaultActionViewItem);let SubmenuEntrySelectActionViewItem=class extends SelectActionViewItem{constructor(e,t){super(null,e,e.actions.map(i=>({text:i.id===Separator.ID?"─────────":i.label,isDisabled:!i.enabled})),0,t,defaultSelectBoxStyles,{ariaLabel:e.tooltip,optionsAsChildren:!0}),this.select(Math.max(0,e.actions.findIndex(i=>i.checked)))}render(e){super.render(e),e.style.borderColor=asCssVariable(selectBorder)}runAction(e,t){const i=this.action.actions[t];i&&this.actionRunner.run(i)}};SubmenuEntrySelectActionViewItem=__decorate$24([__param$1Z(1,IContextViewService)],SubmenuEntrySelectActionViewItem);function createActionViewItem(n,e,t){return e instanceof MenuItemAction?n.createInstance(MenuEntryActionViewItem,e,t):e instanceof SubmenuItemAction?e.item.isSelection?n.createInstance(SubmenuEntrySelectActionViewItem,e):e.item.rememberDefaultAction?n.createInstance(DropdownWithDefaultActionViewItem,e,{...t,persistLastActionId:!0}):n.createInstance(SubmenuEntryActionViewItem,e,t):void 0}class ActionBar extends Disposable{constructor(e,t={}){var i,r,g,y,k,L,V;super(),this._actionRunnerDisposables=this._register(new DisposableStore),this.viewItemDisposables=this._register(new DisposableMap),this.triggerKeyDown=!1,this.focusable=!0,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event,this._onDidCancel=this._register(new Emitter$1({onWillAddFirstListener:()=>this.cancelHasListener=!0})),this.onDidCancel=this._onDidCancel.event,this.cancelHasListener=!1,this._onDidRun=this._register(new Emitter$1),this.onDidRun=this._onDidRun.event,this._onWillRun=this._register(new Emitter$1),this.onWillRun=this._onWillRun.event,this.options=t,this._context=(i=t.context)!==null&&i!==void 0?i:null,this._orientation=(r=this.options.orientation)!==null&&r!==void 0?r:0,this._triggerKeys={keyDown:(y=(g=this.options.triggerKeys)===null||g===void 0?void 0:g.keyDown)!==null&&y!==void 0?y:!1,keys:(L=(k=this.options.triggerKeys)===null||k===void 0?void 0:k.keys)!==null&&L!==void 0?L:[3,10]},this._hoverDelegate=(V=t.hoverDelegate)!==null&&V!==void 0?V:this._register(createInstantHoverDelegate()),this.options.actionRunner?this._actionRunner=this.options.actionRunner:(this._actionRunner=new ActionRunner,this._actionRunnerDisposables.add(this._actionRunner)),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(ie=>this._onDidRun.fire(ie))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(ie=>this._onWillRun.fire(ie))),this.viewItems=[],this.focusedItem=void 0,this.domNode=document.createElement("div"),this.domNode.className="monaco-action-bar";let z,j;switch(this._orientation){case 0:z=[15],j=[17];break;case 1:z=[16],j=[18],this.domNode.className+=" vertical";break}this._register(addDisposableListener(this.domNode,EventType$1.KEY_DOWN,ie=>{const oe=new StandardKeyboardEvent(ie);let re=!0;const ae=typeof this.focusedItem=="number"?this.viewItems[this.focusedItem]:void 0;z&&(oe.equals(z[0])||oe.equals(z[1]))?re=this.focusPrevious():j&&(oe.equals(j[0])||oe.equals(j[1]))?re=this.focusNext():oe.equals(9)&&this.cancelHasListener?this._onDidCancel.fire():oe.equals(14)?re=this.focusFirst():oe.equals(13)?re=this.focusLast():oe.equals(2)&&ae instanceof BaseActionViewItem&&ae.trapsArrowNavigation?re=this.focusNext():this.isTriggerKeyEvent(oe)?this._triggerKeys.keyDown?this.doTrigger(oe):this.triggerKeyDown=!0:re=!1,re&&(oe.preventDefault(),oe.stopPropagation())})),this._register(addDisposableListener(this.domNode,EventType$1.KEY_UP,ie=>{const oe=new StandardKeyboardEvent(ie);this.isTriggerKeyEvent(oe)?(!this._triggerKeys.keyDown&&this.triggerKeyDown&&(this.triggerKeyDown=!1,this.doTrigger(oe)),oe.preventDefault(),oe.stopPropagation()):(oe.equals(2)||oe.equals(1026)||oe.equals(16)||oe.equals(18)||oe.equals(15)||oe.equals(17))&&this.updateFocusedItem()})),this.focusTracker=this._register(trackFocus(this.domNode)),this._register(this.focusTracker.onDidBlur(()=>{(getActiveElement()===this.domNode||!isAncestor$1(getActiveElement(),this.domNode))&&(this._onDidBlur.fire(),this.previouslyFocusedItem=this.focusedItem,this.focusedItem=void 0,this.triggerKeyDown=!1)})),this._register(this.focusTracker.onDidFocus(()=>this.updateFocusedItem())),this.actionsList=document.createElement("ul"),this.actionsList.className="actions-container",this.options.highlightToggledItems&&this.actionsList.classList.add("highlight-toggled"),this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"),this.options.ariaLabel&&this.actionsList.setAttribute("aria-label",this.options.ariaLabel),this.domNode.appendChild(this.actionsList),e.appendChild(this.domNode)}refreshRole(){this.length()>=1?this.actionsList.setAttribute("role",this.options.ariaRole||"toolbar"):this.actionsList.setAttribute("role","presentation")}setFocusable(e){if(this.focusable=e,this.focusable){const t=this.viewItems.find(i=>i instanceof BaseActionViewItem&&i.isEnabled());t instanceof BaseActionViewItem&&t.setFocusable(!0)}else this.viewItems.forEach(t=>{t instanceof BaseActionViewItem&&t.setFocusable(!1)})}isTriggerKeyEvent(e){let t=!1;return this._triggerKeys.keys.forEach(i=>{t=t||e.equals(i)}),t}updateFocusedItem(){var e,t;for(let i=0;it.setActionContext(e))}get actionRunner(){return this._actionRunner}set actionRunner(e){this._actionRunner=e,this._actionRunnerDisposables.clear(),this._actionRunnerDisposables.add(this._actionRunner.onDidRun(t=>this._onDidRun.fire(t))),this._actionRunnerDisposables.add(this._actionRunner.onWillRun(t=>this._onWillRun.fire(t))),this.viewItems.forEach(t=>t.actionRunner=e)}getContainer(){return this.domNode}getAction(e){var t;if(typeof e=="number")return(t=this.viewItems[e])===null||t===void 0?void 0:t.action;if(e instanceof HTMLElement){for(;e.parentElement!==this.actionsList;){if(!e.parentElement)return;e=e.parentElement}for(let i=0;i{const y=document.createElement("li");y.className="action-item",y.setAttribute("role","presentation");let k;const L={hoverDelegate:this._hoverDelegate,...t};this.options.actionViewItemProvider&&(k=this.options.actionViewItemProvider(g,L)),k||(k=new ActionViewItem(this.context,g,L)),this.options.allowContextMenu||this.viewItemDisposables.set(k,addDisposableListener(y,EventType$1.CONTEXT_MENU,V=>{EventHelper$1.stop(V,!0)})),k.actionRunner=this._actionRunner,k.setActionContext(this.context),k.render(y),this.focusable&&k instanceof BaseActionViewItem&&this.viewItems.length===0&&k.setFocusable(!0),r===null||r<0||r>=this.actionsList.children.length?(this.actionsList.appendChild(y),this.viewItems.push(k)):(this.actionsList.insertBefore(y,this.actionsList.children[r]),this.viewItems.splice(r,0,k),r++)}),typeof this.focusedItem=="number"&&this.focus(this.focusedItem),this.refreshRole()}clear(){this.isEmpty()||(this.viewItems=dispose(this.viewItems),this.viewItemDisposables.clearAndDisposeAll(),clearNode(this.actionsList),this.refreshRole())}length(){return this.viewItems.length}isEmpty(){return this.viewItems.length===0}focus(e){let t=!1,i;if(e===void 0?t=!0:typeof e=="number"?i=e:typeof e=="boolean"&&(t=e),t&&typeof this.focusedItem>"u"){const r=this.viewItems.findIndex(g=>g.isEnabled());this.focusedItem=r===-1?void 0:r,this.updateFocus(void 0,void 0,!0)}else i!==void 0&&(this.focusedItem=i),this.updateFocus(void 0,void 0,!0)}focusFirst(){return this.focusedItem=this.length()-1,this.focusNext(!0)}focusLast(){return this.focusedItem=0,this.focusPrevious(!0)}focusNext(e){if(typeof this.focusedItem>"u")this.focusedItem=this.viewItems.length-1;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(!e&&this.options.preventLoopNavigation&&this.focusedItem+1>=this.viewItems.length)return this.focusedItem=t,!1;this.focusedItem=(this.focusedItem+1)%this.viewItems.length,i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Separator.ID));return this.updateFocus(),!0}focusPrevious(e){if(typeof this.focusedItem>"u")this.focusedItem=0;else if(this.viewItems.length<=1)return!1;const t=this.focusedItem;let i;do{if(this.focusedItem=this.focusedItem-1,this.focusedItem<0){if(!e&&this.options.preventLoopNavigation)return this.focusedItem=t,!1;this.focusedItem=this.viewItems.length-1}i=this.viewItems[this.focusedItem]}while(this.focusedItem!==t&&(this.options.focusOnlyEnabledItems&&!i.isEnabled()||i.action.id===Separator.ID));return this.updateFocus(!0),!0}updateFocus(e,t,i=!1){var r,g;typeof this.focusedItem>"u"&&this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem!==void 0&&this.previouslyFocusedItem!==this.focusedItem&&((r=this.viewItems[this.previouslyFocusedItem])===null||r===void 0||r.blur());const y=this.focusedItem!==void 0?this.viewItems[this.focusedItem]:void 0;if(y){let k=!0;isFunction$3(y.focus)||(k=!1),this.options.focusOnlyEnabledItems&&isFunction$3(y.isEnabled)&&!y.isEnabled()&&(k=!1),y.action.id===Separator.ID&&(k=!1),k?(i||this.previouslyFocusedItem!==this.focusedItem)&&(y.focus(e),this.previouslyFocusedItem=this.focusedItem):(this.actionsList.focus({preventScroll:t}),this.previouslyFocusedItem=void 0),k&&((g=y.showHover)===null||g===void 0||g.call(y))}}doTrigger(e){if(typeof this.focusedItem>"u")return;const t=this.viewItems[this.focusedItem];if(t instanceof BaseActionViewItem){const i=t._context===null||t._context===void 0?e:t._context;this.run(t._action,i)}}async run(e,t){await this._actionRunner.run(e,t)}dispose(){this._context=void 0,this.viewItems=dispose(this.viewItems),this.getContainer().remove(),super.dispose()}}const MENU_MNEMONIC_REGEX=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,MENU_ESCAPED_MNEMONIC_REGEX=/(&)?(&)([^\s&])/g;var HorizontalDirection;(function(n){n[n.Right=0]="Right",n[n.Left=1]="Left"})(HorizontalDirection||(HorizontalDirection={}));var VerticalDirection;(function(n){n[n.Above=0]="Above",n[n.Below=1]="Below"})(VerticalDirection||(VerticalDirection={}));class Menu extends ActionBar{constructor(e,t,i,r){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const g=document.createElement("div");g.classList.add("monaco-menu"),g.setAttribute("role","presentation"),super(g,{orientation:1,actionViewItemProvider:V=>this.doGetActionViewItem(V,i,y),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,ariaRole:"menu",focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...isMacintosh||isLinux?[10]:[]],keyDown:!0}}),this.menuStyles=r,this.menuElement=g,this.actionsList.tabIndex=0,this.initializeOrUpdateStyleSheet(e,r),this._register(Gesture.addTarget(g)),this._register(addDisposableListener(g,EventType$1.KEY_DOWN,V=>{new StandardKeyboardEvent(V).equals(2)&&V.preventDefault()})),i.enableMnemonics&&this._register(addDisposableListener(g,EventType$1.KEY_DOWN,V=>{const z=V.key.toLocaleLowerCase();if(this.mnemonics.has(z)){EventHelper$1.stop(V,!0);const j=this.mnemonics.get(z);if(j.length===1&&(j[0]instanceof SubmenuMenuActionViewItem&&j[0].container&&this.focusItemByElement(j[0].container),j[0].onClick(V)),j.length>1){const ie=j.shift();ie&&ie.container&&(this.focusItemByElement(ie.container),j.push(ie)),this.mnemonics.set(z,j)}}})),isLinux&&this._register(addDisposableListener(g,EventType$1.KEY_DOWN,V=>{const z=new StandardKeyboardEvent(V);z.equals(14)||z.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),EventHelper$1.stop(V,!0)):(z.equals(13)||z.equals(12))&&(this.focusedItem=0,this.focusPrevious(),EventHelper$1.stop(V,!0))})),this._register(addDisposableListener(this.domNode,EventType$1.MOUSE_OUT,V=>{const z=V.relatedTarget;isAncestor$1(z,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),V.stopPropagation())})),this._register(addDisposableListener(this.actionsList,EventType$1.MOUSE_OVER,V=>{let z=V.target;if(!(!z||!isAncestor$1(z,this.actionsList)||z===this.actionsList)){for(;z.parentElement!==this.actionsList&&z.parentElement!==null;)z=z.parentElement;if(z.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(z),j!==this.focusedItem&&this.updateFocus()}}})),this._register(Gesture.addTarget(this.actionsList)),this._register(addDisposableListener(this.actionsList,EventType.Tap,V=>{let z=V.initialTarget;if(!(!z||!isAncestor$1(z,this.actionsList)||z===this.actionsList)){for(;z.parentElement!==this.actionsList&&z.parentElement!==null;)z=z.parentElement;if(z.classList.contains("action-item")){const j=this.focusedItem;this.setFocusedItem(z),j!==this.focusedItem&&this.updateFocus()}}}));const y={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new DomScrollableElement(g,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const k=this.scrollableElement.getDomNode();k.style.position="",this.styleScrollElement(k,r),this._register(addDisposableListener(g,EventType.Change,V=>{EventHelper$1.stop(V,!0);const z=this.scrollableElement.getScrollPosition().scrollTop;this.scrollableElement.setScrollPosition({scrollTop:z-V.translationY})})),this._register(addDisposableListener(k,EventType$1.MOUSE_UP,V=>{V.preventDefault()}));const L=getWindow$1(e);g.style.maxHeight="".concat(Math.max(10,L.innerHeight-e.getBoundingClientRect().top-35),"px"),t=t.filter((V,z)=>{var j;return!((j=i.submenuIds)===null||j===void 0)&&j.has(V.id)?(console.warn("Found submenu cycle: ".concat(V.id)),!1):!(V instanceof Separator&&(z===t.length-1||z===0||t[z-1]instanceof Separator))}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(V=>!(V instanceof MenuSeparatorActionViewItem)).forEach((V,z,j)=>{V.updatePositionInSet(z+1,j.length)})}initializeOrUpdateStyleSheet(e,t){this.styleSheet||(isInShadowDOM(e)?this.styleSheet=createStyleSheet(e):(Menu.globalStyleSheet||(Menu.globalStyleSheet=createStyleSheet()),this.styleSheet=Menu.globalStyleSheet)),this.styleSheet.textContent=getMenuWidgetCSS(t,isInShadowDOM(e))}styleScrollElement(e,t){var i,r;const g=(i=t.foregroundColor)!==null&&i!==void 0?i:"",y=(r=t.backgroundColor)!==null&&r!==void 0?r:"",k=t.borderColor?"1px solid ".concat(t.borderColor):"",L="5px",V=t.shadowColor?"0 2px 8px ".concat(t.shadowColor):"";e.style.outline=k,e.style.borderRadius=L,e.style.color=g,e.style.backgroundColor=y,e.style.boxShadow=V}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(addDisposableListener(this.element,EventType$1.MOUSE_UP,g=>{if(EventHelper$1.stop(g,!0),isFirefox$1){if(new StandardMouseEvent(getWindow$1(this.element),g).rightButton)return;this.onClick(g)}else setTimeout(()=>{this.onClick(g)},0)})),this._register(addDisposableListener(this.element,EventType$1.CONTEXT_MENU,g=>{EventHelper$1.stop(g,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=append$1(this.element,$$f("a.action-menu-item")),this._action.id===Separator.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts","".concat(this.mnemonic))),this.check=append$1(this.item,$$f("span.menu-item-check"+ThemeIcon.asCSSSelector(Codicon.menuSelection))),this.check.setAttribute("role","none"),this.label=append$1(this.item,$$f("span.action-label")),this.options.label&&this.options.keybinding&&(append$1(this.item,$$f("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked(),this.applyStyle())}blur(){super.blur(),this.applyStyle()}focus(){var e;super.focus(),(e=this.item)===null||e===void 0||e.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset","".concat(e)),this.item.setAttribute("aria-setsize","".concat(t)))}updateLabel(){var e;if(this.label&&this.options.label){clearNode(this.label);let t=stripIcons(this.action.label);if(t){const i=cleanMnemonic(t);this.options.enableMnemonics||(t=i),this.label.setAttribute("aria-label",i.replace(/&&/g,"&"));const r=MENU_MNEMONIC_REGEX.exec(t);if(r){t=escape(t),MENU_ESCAPED_MNEMONIC_REGEX.lastIndex=0;let g=MENU_ESCAPED_MNEMONIC_REGEX.exec(t);for(;g&&g[1];)g=MENU_ESCAPED_MNEMONIC_REGEX.exec(t);const y=k=>k.replace(/&&/g,"&");g?this.label.append(ltrim(y(t.substr(0,g.index))," "),$$f("u",{"aria-hidden":"true"},g[3]),rtrim(y(t.substr(g.index+g[0].length))," ")):this.label.innerText=y(t).trim(),(e=this.item)===null||e===void 0||e.setAttribute("aria-keyshortcuts",(r[1]?r[1]:r[3]).toLocaleLowerCase())}else this.label.innerText=t.replace(/&&/g,"&").trim()}}}updateTooltip(){}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.action.class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.action.enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){if(!this.item)return;const e=this.action.checked;this.item.classList.toggle("checked",!!e),e!==void 0?(this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked",e?"true":"false")):(this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked",""))}getMnemonic(){return this.mnemonic}applyStyle(){const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,r=e&&this.menuStyle.selectionBorderColor?"1px solid ".concat(this.menuStyle.selectionBorderColor):"",g=e&&this.menuStyle.selectionBorderColor?"-1px":"";this.item&&(this.item.style.color=t!=null?t:"",this.item.style.backgroundColor=i!=null?i:"",this.item.style.outline=r,this.item.style.outlineOffset=g),this.check&&(this.check.style.color=t!=null?t:"")}}class SubmenuMenuActionViewItem extends BaseMenuActionViewItem{constructor(e,t,i,r,g){super(e,e,r,g),this.submenuActions=t,this.parentData=i,this.submenuOptions=r,this.mysubmenu=null,this.submenuDisposables=this._register(new DisposableStore),this.mouseOver=!1,this.expandDirection=r&&r.expandDirection!==void 0?r.expandDirection:{horizontal:HorizontalDirection.Right,vertical:VerticalDirection.Below},this.showScheduler=new RunOnceScheduler(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new RunOnceScheduler(()=>{this.element&&!isAncestor$1(getActiveElement(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=append$1(this.item,$$f("span.submenu-indicator"+ThemeIcon.asCSSSelector(Codicon.menuSubmenu))),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(addDisposableListener(this.element,EventType$1.KEY_UP,t=>{const i=new StandardKeyboardEvent(t);(i.equals(17)||i.equals(3))&&(EventHelper$1.stop(t,!0),this.createSubmenu(!0))})),this._register(addDisposableListener(this.element,EventType$1.KEY_DOWN,t=>{const i=new StandardKeyboardEvent(t);getActiveElement()===this.item&&(i.equals(17)||i.equals(3))&&EventHelper$1.stop(t,!0)})),this._register(addDisposableListener(this.element,EventType$1.MOUSE_OVER,t=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(addDisposableListener(this.element,EventType$1.MOUSE_LEAVE,t=>{this.mouseOver=!1})),this._register(addDisposableListener(this.element,EventType$1.FOCUS_OUT,t=>{this.element&&!isAncestor$1(getActiveElement(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))})))}updateEnabled(){}onClick(e){EventHelper$1.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(t){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,r){const g={top:0,left:0};return g.left=layout(e.width,t.width,{position:r.horizontal===HorizontalDirection.Right?0:1,offset:i.left,size:i.width}),g.left>=i.left&&g.left{new StandardKeyboardEvent(z).equals(15)&&(EventHelper$1.stop(z,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(addDisposableListener(this.submenuContainer,EventType$1.KEY_DOWN,z=>{new StandardKeyboardEvent(z).equals(15)&&EventHelper$1.stop(z,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&((t=this.item)===null||t===void 0||t.setAttribute("aria-expanded",e))}applyStyle(){super.applyStyle();const t=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=t!=null?t:"")}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class MenuSeparatorActionViewItem extends ActionViewItem{constructor(e,t,i,r){super(e,t,i),this.menuStyles=r}render(e){super.render(e),this.label&&(this.label.style.borderBottomColor=this.menuStyles.separatorColor?"".concat(this.menuStyles.separatorColor):"")}}function cleanMnemonic(n){const e=MENU_MNEMONIC_REGEX,t=e.exec(n);if(!t)return n;const i=!t[1];return n.replace(e,i?"$2$3":"").trim()}function formatRule(n){const e=getCodiconFontCharacters()[n.id];return".codicon-".concat(n.id,":before { content: '\\").concat(e.toString(16),"'; }")}function getMenuWidgetCSS(n,e){let t="\n.monaco-menu {\n font-size: 13px;\n border-radius: 5px;\n min-width: 160px;\n}\n\n".concat(formatRule(Codicon.menuSelection),"\n").concat(formatRule(Codicon.menuSubmenu),"\n\n.monaco-menu .monaco-action-bar {\n text-align: right;\n overflow: hidden;\n white-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n display: flex;\n margin: 0 auto;\n padding: 0;\n width: 100%;\n justify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n display: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n flex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n cursor: pointer;\n display: inline-block;\n transition: transform 50ms ease;\n position: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n cursor: default;\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n display: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n display: flex;\n align-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n font-size: 11px;\n margin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n color: var(--vscode-disabledForeground);\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n text-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n display: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n display: block;\n border-bottom: 1px solid var(--vscode-menu-separatorBackground);\n padding-top: 1px;\n padding: 30px;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n margin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n overflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n flex: 1;\n max-width: 170px;\n min-width: 60px;\n display: flex;\n align-items: center;\n justify-content: center;\n margin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n margin-left: 0;\n overflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n display: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n padding: 0;\n transform: none;\n display: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n transform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n flex: 1 1 auto;\n display: flex;\n height: 2em;\n align-items: center;\n position: relative;\n margin: 0 4px;\n border-radius: 4px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:hover .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-menu-item:focus .keybinding {\n opacity: unset;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n flex: 1 1 auto;\n text-decoration: none;\n padding: 0 1em;\n background: none;\n font-size: 12px;\n line-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n display: inline-block;\n flex: 2 1 auto;\n padding: 0 1em;\n text-align: right;\n font-size: 12px;\n line-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n font-size: 16px !important;\n display: flex;\n align-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n margin-left: auto;\n margin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n opacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n display: inline-block;\n box-sizing: border-box;\n margin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n position: static;\n overflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n position: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n width: 100%;\n height: 0px !important;\n opacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n padding: 0.7em 1em 0.1em 1em;\n font-weight: bold;\n opacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n color: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n position: absolute;\n visibility: hidden;\n width: 1em;\n height: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n visibility: visible;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n outline: 0;\n border: none;\n animation: fadeIn 0.083s linear;\n -webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n outline: 0;\n}\n\n.hc-black .context-view.monaco-menu-container,\n.hc-light .context-view.monaco-menu-container,\n:host-context(.hc-black) .context-view.monaco-menu-container,\n:host-context(.hc-light) .context-view.monaco-menu-container {\n box-shadow: none;\n}\n\n.hc-black .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n.hc-light .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused,\n:host-context(.hc-light) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n background: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n padding: 4px 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n height: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n font-size: inherit;\n padding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n font-size: inherit;\n width: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n font-size: inherit;\n margin: 5px 0 !important;\n padding: 0;\n border-radius: 0;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .action-label.separator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n margin-left: 0;\n margin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n font-size: 60%;\n padding: 0 1.8em;\n}\n\n.linux .monaco-menu .monaco-action-bar.vertical .submenu-indicator,\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n height: 100%;\n mask-size: 10px 10px;\n -webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n cursor: default;\n}");if(e){t+="\n /* Arrows */\n .monaco-scrollable-element > .scrollbar > .scra {\n cursor: pointer;\n font-size: 11px !important;\n }\n\n .monaco-scrollable-element > .visible {\n opacity: 1;\n\n /* Background rule added for IE9 - to allow clicks on dom node */\n background:rgba(0,0,0,0);\n\n transition: opacity 100ms linear;\n }\n .monaco-scrollable-element > .invisible {\n opacity: 0;\n pointer-events: none;\n }\n .monaco-scrollable-element > .invisible.fade {\n transition: opacity 800ms linear;\n }\n\n /* Scrollable Content Inset Shadow */\n .monaco-scrollable-element > .shadow {\n position: absolute;\n display: none;\n }\n .monaco-scrollable-element > .shadow.top {\n display: block;\n top: 0;\n left: 3px;\n height: 3px;\n width: 100%;\n }\n .monaco-scrollable-element > .shadow.left {\n display: block;\n top: 3px;\n left: 0;\n height: 100%;\n width: 3px;\n }\n .monaco-scrollable-element > .shadow.top-left-corner {\n display: block;\n top: 0;\n left: 0;\n height: 3px;\n width: 3px;\n }\n ";const i=n.scrollbarShadow;i&&(t+="\n .monaco-scrollable-element > .shadow.top {\n box-shadow: ".concat(i," 0 6px 6px -6px inset;\n }\n\n .monaco-scrollable-element > .shadow.left {\n box-shadow: ").concat(i," 6px 0 6px -6px inset;\n }\n\n .monaco-scrollable-element > .shadow.top.left {\n box-shadow: ").concat(i," 6px 6px 6px -6px inset;\n }\n "));const r=n.scrollbarSliderBackground;r&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider {\n background: ".concat(r,";\n }\n "));const g=n.scrollbarSliderHoverBackground;g&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider:hover {\n background: ".concat(g,";\n }\n "));const y=n.scrollbarSliderActiveBackground;y&&(t+="\n .monaco-scrollable-element > .scrollbar > .slider.active {\n background: ".concat(y,";\n }\n "))}return t}class ContextMenuHandler{constructor(e,t,i,r){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=r,this.focusToReturn=null,this.lastContainer=null,this.block=null,this.blockDisposable=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;this.focusToReturn=getActiveElement();let i;const r=e.domForShadowRoot instanceof HTMLElement?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:g=>{var y;this.lastContainer=g;const k=e.getMenuClassName?e.getMenuClassName():"";k&&(g.className+=" "+k),this.options.blockMouse&&(this.block=g.appendChild($$f(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",(y=this.blockDisposable)===null||y===void 0||y.dispose(),this.blockDisposable=addDisposableListener(this.block,EventType$1.MOUSE_DOWN,j=>j.stopPropagation()));const L=new DisposableStore,V=e.actionRunner||new ActionRunner;V.onWillRun(j=>this.onActionRun(j,!e.skipTelemetry),this,L),V.onDidRun(this.onDidActionRun,this,L),i=new Menu(g,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:V,getKeyBinding:e.getKeyBinding?e.getKeyBinding:j=>this.keybindingService.lookupKeybinding(j.id)},defaultMenuStyles),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,L),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,L);const z=getWindow$1(g);return L.add(addDisposableListener(z,EventType$1.BLUR,()=>this.contextViewService.hideContextView(!0))),L.add(addDisposableListener(z,EventType$1.MOUSE_DOWN,j=>{if(j.defaultPrevented)return;const ie=new StandardMouseEvent(z,j);let oe=ie.target;if(!ie.rightButton){for(;oe;){if(oe===g)return;oe=oe.parentElement}this.contextViewService.hideContextView(!0)}})),combinedDisposable(L,i)},focus:()=>{i==null||i.focus(!!e.autoSelectFirstItem)},onHide:g=>{var y,k,L;(y=e.onHide)===null||y===void 0||y.call(e,!!g),this.block&&(this.block.remove(),this.block=null),(k=this.blockDisposable)===null||k===void 0||k.dispose(),this.blockDisposable=null,this.lastContainer&&(getActiveElement()===this.lastContainer||isAncestor$1(getActiveElement(),this.lastContainer))&&((L=this.focusToReturn)===null||L===void 0||L.focus()),this.lastContainer=null}},r,!!r)}onActionRun(e,t){t&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1)}onDidActionRun(e){e.error&&!isCancellationError(e.error)&&this.notificationService.error(e.error)}}var __decorate$23=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1Y=function(n,e){return function(t,i){e(t,i,n)}};let ContextMenuService=class extends Disposable{get contextMenuHandler(){return this._contextMenuHandler||(this._contextMenuHandler=new ContextMenuHandler(this.contextViewService,this.telemetryService,this.notificationService,this.keybindingService)),this._contextMenuHandler}constructor(e,t,i,r,g,y){super(),this.telemetryService=e,this.notificationService=t,this.contextViewService=i,this.keybindingService=r,this.menuService=g,this.contextKeyService=y,this._contextMenuHandler=void 0,this._onDidShowContextMenu=this._store.add(new Emitter$1),this.onDidShowContextMenu=this._onDidShowContextMenu.event,this._onDidHideContextMenu=this._store.add(new Emitter$1)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){e=ContextMenuMenuDelegate.transform(e,this.menuService,this.contextKeyService),this.contextMenuHandler.showContextMenu({...e,onHide:t=>{var i;(i=e.onHide)===null||i===void 0||i.call(e,t),this._onDidHideContextMenu.fire()}}),ModifierKeyEmitter.getInstance().resetKeyStatus(),this._onDidShowContextMenu.fire()}};ContextMenuService=__decorate$23([__param$1Y(0,ITelemetryService),__param$1Y(1,INotificationService),__param$1Y(2,IContextViewService),__param$1Y(3,IKeybindingService),__param$1Y(4,IMenuService),__param$1Y(5,IContextKeyService)],ContextMenuService);var ContextMenuMenuDelegate;(function(n){function e(i){return i&&i.menuId instanceof MenuId}function t(i,r,g){if(!e(i))return i;const{menuId:y,menuActionOptions:k,contextKeyService:L}=i;return{...i,getActions:()=>{const V=[];if(y){const z=r.createMenu(y,L!=null?L:g);createAndFillInContextMenuActions(z,k,V),z.dispose()}return i.getActions?Separator.join(i.getActions(),V):V}}}n.transform=t})(ContextMenuMenuDelegate||(ContextMenuMenuDelegate={}));var EditorOpenSource;(function(n){n[n.API=0]="API",n[n.USER=1]="USER"})(EditorOpenSource||(EditorOpenSource={}));var __decorate$22=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1X=function(n,e){return function(t,i){e(t,i,n)}};let CommandOpener=class{constructor(e){this._commandService=e}async open(e,t){if(!matchesScheme(e,Schemas.command))return!1;if(!(t!=null&&t.allowCommands)||(typeof e=="string"&&(e=URI.parse(e)),Array.isArray(t.allowCommands)&&!t.allowCommands.includes(e.path)))return!0;let i=[];try{i=parse$1(decodeURIComponent(e.query))}catch(r){try{i=parse$1(e.query)}catch(g){}}return Array.isArray(i)||(i=[i]),await this._commandService.executeCommand(e.path,...i),!0}};CommandOpener=__decorate$22([__param$1X(0,ICommandService)],CommandOpener);let EditorOpener=class{constructor(e){this._editorService=e}async open(e,t){typeof e=="string"&&(e=URI.parse(e));const{selection:i,uri:r}=extractSelection(e);return e=r,e.scheme===Schemas.file&&(e=normalizePath(e)),await this._editorService.openCodeEditor({resource:e,options:{selection:i,source:t!=null&&t.fromUserGesture?EditorOpenSource.USER:EditorOpenSource.API,...t==null?void 0:t.editorOptions}},this._editorService.getFocusedCodeEditor(),t==null?void 0:t.openToSide),!0}};EditorOpener=__decorate$22([__param$1X(0,ICodeEditorService)],EditorOpener);let OpenerService=class{constructor(e,t){this._openers=new LinkedList,this._validators=new LinkedList,this._resolvers=new LinkedList,this._resolvedUriTargets=new ResourceMap(i=>i.with({path:null,fragment:null,query:null}).toString()),this._externalOpeners=new LinkedList,this._defaultExternalOpener={openExternal:async i=>(matchesSomeScheme(i,Schemas.http,Schemas.https)?windowOpenNoOpener(i):mainWindow.location.href=i,!0)},this._openers.push({open:async(i,r)=>r!=null&&r.openExternal||matchesSomeScheme(i,Schemas.mailto,Schemas.http,Schemas.https,Schemas.vsls)?(await this._doOpenExternal(i,r),!0):!1}),this._openers.push(new CommandOpener(t)),this._openers.push(new EditorOpener(e))}registerOpener(e){return{dispose:this._openers.unshift(e)}}async open(e,t){var i;const r=typeof e=="string"?URI.parse(e):e,g=(i=this._resolvedUriTargets.get(r))!==null&&i!==void 0?i:e;for(const y of this._validators)if(!await y.shouldOpen(g,t))return!1;for(const y of this._openers)if(await y.open(e,t))return!0;return!1}async resolveExternalUri(e,t){for(const i of this._resolvers)try{const r=await i.resolveExternalUri(e,t);if(r)return this._resolvedUriTargets.has(r.resolved)||this._resolvedUriTargets.set(r.resolved,e),r}catch(r){}throw new Error("Could not resolve external URI: "+e.toString())}async _doOpenExternal(e,t){const i=typeof e=="string"?URI.parse(e):e;let r;try{r=(await this.resolveExternalUri(i,t)).resolved}catch(y){r=i}let g;if(typeof e=="string"&&i.toString()===r.toString()?g=e:g=encodeURI(r.toString(!0)),t!=null&&t.allowContributedOpeners){const y=typeof(t==null?void 0:t.allowContributedOpeners)=="string"?t==null?void 0:t.allowContributedOpeners:void 0;for(const k of this._externalOpeners)if(await k.openExternal(g,{sourceUri:i,preferredOpenerId:y},CancellationToken.None))return!0}return this._defaultExternalOpener.openExternal(g,{sourceUri:i},CancellationToken.None)}dispose(){this._validators.clear()}};OpenerService=__decorate$22([__param$1X(0,ICodeEditorService),__param$1X(1,ICommandService)],OpenerService);const IEditorWorkerService=createDecorator("editorWorkerService");var MarkerSeverity$1;(function(n){n[n.Hint=1]="Hint",n[n.Info=2]="Info",n[n.Warning=4]="Warning",n[n.Error=8]="Error"})(MarkerSeverity$1||(MarkerSeverity$1={}));(function(n){function e(y,k){return k-y}n.compare=e;const t=Object.create(null);t[n.Error]=localize("sev.error","Error"),t[n.Warning]=localize("sev.warning","Warning"),t[n.Info]=localize("sev.info","Info");function i(y){return t[y]||""}n.toString=i;function r(y){switch(y){case Severity$2.Error:return n.Error;case Severity$2.Warning:return n.Warning;case Severity$2.Info:return n.Info;case Severity$2.Ignore:return n.Hint}}n.fromSeverity=r;function g(y){switch(y){case n.Error:return Severity$2.Error;case n.Warning:return Severity$2.Warning;case n.Info:return Severity$2.Info;case n.Hint:return Severity$2.Ignore}}n.toSeverity=g})(MarkerSeverity$1||(MarkerSeverity$1={}));var IMarkerData;(function(n){const e="";function t(r){return i(r,!0)}n.makeKey=t;function i(r,g){const y=[e];return r.source?y.push(r.source.replace("¦","\\¦")):y.push(e),r.code?typeof r.code=="string"?y.push(r.code.replace("¦","\\¦")):y.push(r.code.value.replace("¦","\\¦")):y.push(e),r.severity!==void 0&&r.severity!==null?y.push(MarkerSeverity$1.toString(r.severity)):y.push(e),r.message&&g?y.push(r.message.replace("¦","\\¦")):y.push(e),r.startLineNumber!==void 0&&r.startLineNumber!==null?y.push(r.startLineNumber.toString()):y.push(e),r.startColumn!==void 0&&r.startColumn!==null?y.push(r.startColumn.toString()):y.push(e),r.endLineNumber!==void 0&&r.endLineNumber!==null?y.push(r.endLineNumber.toString()):y.push(e),r.endColumn!==void 0&&r.endColumn!==null?y.push(r.endColumn.toString()):y.push(e),y.push(e),y.join("¦")}n.makeKeyOptionalMessage=i})(IMarkerData||(IMarkerData={}));const IMarkerService=createDecorator("markerService");function diffSets(n,e){const t=[],i=[];for(const r of n)e.has(r)||t.push(r);for(const r of e)n.has(r)||i.push(r);return{removed:t,added:i}}function intersection(n,e){const t=new Set;for(const i of e)n.has(i)&&t.add(i);return t}var __decorate$21=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1W=function(n,e){return function(t,i){e(t,i,n)}};let MarkerDecorationsService=class extends Disposable{constructor(e,t){super(),this._markerService=t,this._onDidChangeMarker=this._register(new Emitter$1),this._markerDecorations=new ResourceMap,e.getModels().forEach(i=>this._onModelAdded(i)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(e);return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(t=>{const i=this._markerDecorations.get(t);i&&this._updateDecorations(i)})}_onModelAdded(e){const t=new MarkerDecorations(e);this._markerDecorations.set(e.uri,t),this._updateDecorations(t)}_onModelRemoved(e){var t;const i=this._markerDecorations.get(e.uri);i&&(i.dispose(),this._markerDecorations.delete(e.uri)),(e.uri.scheme===Schemas.inMemory||e.uri.scheme===Schemas.internal||e.uri.scheme===Schemas.vscode)&&((t=this._markerService)===null||t===void 0||t.read({resource:e.uri}).map(r=>r.owner).forEach(r=>this._markerService.remove(r,[e.uri])))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});e.update(t)&&this._onDidChangeMarker.fire(e.model)}};MarkerDecorationsService=__decorate$21([__param$1W(0,IModelService),__param$1W(1,IMarkerService)],MarkerDecorationsService);class MarkerDecorations extends Disposable{constructor(e){super(),this.model=e,this._map=new BidirectionalMap,this._register(toDisposable(()=>{this.model.deltaDecorations([...this._map.values()],[]),this._map.clear()}))}update(e){const{added:t,removed:i}=diffSets(new Set(this._map.keys()),new Set(e));if(t.length===0&&i.length===0)return!1;const r=i.map(k=>this._map.get(k)),g=t.map(k=>({range:this._createDecorationRange(this.model,k),options:this._createDecorationOption(k)})),y=this.model.deltaDecorations(r,g);for(const k of i)this._map.delete(k);for(let k=0;k=r)return i;const g=e.getWordAtPosition(i.getStartPosition());g&&(i=new Range$2(i.startLineNumber,g.startColumn,i.endLineNumber,g.endColumn))}else if(t.endColumn===Number.MAX_VALUE&&t.startColumn===1&&i.startLineNumber===i.endLineNumber){const r=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);r=0:!1}}var __decorate$20=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1V=function(n,e){return function(t,i){e(t,i,n)}},ModelService_1;function MODEL_ID(n){return n.toString()}class ModelData{constructor(e,t,i){this.model=e,this._modelEventListeners=new DisposableStore,this.model=e,this._modelEventListeners.add(e.onWillDispose(()=>t(e))),this._modelEventListeners.add(e.onDidChangeLanguage(r=>i(e,r)))}dispose(){this._modelEventListeners.dispose()}}const DEFAULT_EOL=isLinux||isMacintosh?1:2;class DisposedModelInfo{constructor(e,t,i,r,g,y,k,L){this.uri=e,this.initialUndoRedoSnapshot=t,this.time=i,this.sharesUndoRedoStack=r,this.heapSize=g,this.sha1=y,this.versionId=k,this.alternativeVersionId=L}}let ModelService=ModelService_1=class extends Disposable{constructor(e,t,i,r,g){super(),this._configurationService=e,this._resourcePropertiesService=t,this._undoRedoService=i,this._languageService=r,this._languageConfigurationService=g,this._onModelAdded=this._register(new Emitter$1),this.onModelAdded=this._onModelAdded.event,this._onModelRemoved=this._register(new Emitter$1),this.onModelRemoved=this._onModelRemoved.event,this._onModelModeChanged=this._register(new Emitter$1),this.onModelLanguageChanged=this._onModelModeChanged.event,this._modelCreationOptionsByLanguageAndResource=Object.create(null),this._models={},this._disposedModels=new Map,this._disposedModelsHeapSize=0,this._register(this._configurationService.onDidChangeConfiguration(y=>this._updateModelOptions(y))),this._updateModelOptions(void 0)}static _readModelOptions(e,t){var i;let r=EDITOR_MODEL_DEFAULTS.tabSize;if(e.editor&&typeof e.editor.tabSize<"u"){const oe=parseInt(e.editor.tabSize,10);isNaN(oe)||(r=oe),r<1&&(r=1)}let g="tabSize";if(e.editor&&typeof e.editor.indentSize<"u"&&e.editor.indentSize!=="tabSize"){const oe=parseInt(e.editor.indentSize,10);isNaN(oe)||(g=Math.max(oe,1))}let y=EDITOR_MODEL_DEFAULTS.insertSpaces;e.editor&&typeof e.editor.insertSpaces<"u"&&(y=e.editor.insertSpaces==="false"?!1:!!e.editor.insertSpaces);let k=DEFAULT_EOL;const L=e.eol;L==="\r\n"?k=2:L==="\n"&&(k=1);let V=EDITOR_MODEL_DEFAULTS.trimAutoWhitespace;e.editor&&typeof e.editor.trimAutoWhitespace<"u"&&(V=e.editor.trimAutoWhitespace==="false"?!1:!!e.editor.trimAutoWhitespace);let z=EDITOR_MODEL_DEFAULTS.detectIndentation;e.editor&&typeof e.editor.detectIndentation<"u"&&(z=e.editor.detectIndentation==="false"?!1:!!e.editor.detectIndentation);let j=EDITOR_MODEL_DEFAULTS.largeFileOptimizations;e.editor&&typeof e.editor.largeFileOptimizations<"u"&&(j=e.editor.largeFileOptimizations==="false"?!1:!!e.editor.largeFileOptimizations);let ie=EDITOR_MODEL_DEFAULTS.bracketPairColorizationOptions;return!((i=e.editor)===null||i===void 0)&&i.bracketPairColorization&&typeof e.editor.bracketPairColorization=="object"&&(ie={enabled:!!e.editor.bracketPairColorization.enabled,independentColorPoolPerBracketType:!!e.editor.bracketPairColorization.independentColorPoolPerBracketType}),{isForSimpleWidget:t,tabSize:r,indentSize:g,insertSpaces:y,detectIndentation:z,defaultEOL:k,trimAutoWhitespace:V,largeFileOptimizations:j,bracketPairColorizationOptions:ie}}_getEOL(e,t){if(e)return this._resourcePropertiesService.getEOL(e,t);const i=this._configurationService.getValue("files.eol",{overrideIdentifier:t});return i&&typeof i=="string"&&i!=="auto"?i:OS===3||OS===2?"\n":"\r\n"}_shouldRestoreUndoStack(){const e=this._configurationService.getValue("files.restoreUndoStack");return typeof e=="boolean"?e:!0}getCreationOptions(e,t,i){const r=typeof e=="string"?e:e.languageId;let g=this._modelCreationOptionsByLanguageAndResource[r+t];if(!g){const y=this._configurationService.getValue("editor",{overrideIdentifier:r,resource:t}),k=this._getEOL(t,r);g=ModelService_1._readModelOptions({editor:y,eol:k},i),this._modelCreationOptionsByLanguageAndResource[r+t]=g}return g}_updateModelOptions(e){const t=this._modelCreationOptionsByLanguageAndResource;this._modelCreationOptionsByLanguageAndResource=Object.create(null);const i=Object.keys(this._models);for(let r=0,g=i.length;re){const t=[];for(this._disposedModels.forEach(i=>{i.sharesUndoRedoStack||t.push(i)}),t.sort((i,r)=>i.time-r.time);t.length>0&&this._disposedModelsHeapSize>e;){const i=t.shift();this._removeDisposedModel(i.uri),i.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(i.initialUndoRedoSnapshot)}}}_createModelData(e,t,i,r){const g=this.getCreationOptions(t,i,r),y=new TextModel(e,t,g,i,this._undoRedoService,this._languageService,this._languageConfigurationService);if(i&&this._disposedModels.has(MODEL_ID(i))){const V=this._removeDisposedModel(i),z=this._undoRedoService.getElements(i),j=this._getSHA1Computer(),ie=j.canComputeSHA1(y)?j.computeSHA1(y)===V.sha1:!1;if(ie||V.sharesUndoRedoStack){for(const oe of z.past)isEditStackElement(oe)&&oe.matchesResource(i)&&oe.setModel(y);for(const oe of z.future)isEditStackElement(oe)&&oe.matchesResource(i)&&oe.setModel(y);this._undoRedoService.setElementsValidFlag(i,!0,oe=>isEditStackElement(oe)&&oe.matchesResource(i)),ie&&(y._overwriteVersionId(V.versionId),y._overwriteAlternativeVersionId(V.alternativeVersionId),y._overwriteInitialUndoRedoSnapshot(V.initialUndoRedoSnapshot))}else V.initialUndoRedoSnapshot!==null&&this._undoRedoService.restoreSnapshot(V.initialUndoRedoSnapshot)}const k=MODEL_ID(y.uri);if(this._models[k])throw new Error("ModelService: Cannot add model because it already exists!");const L=new ModelData(y,V=>this._onWillDispose(V),(V,z)=>this._onDidChangeLanguage(V,z));return this._models[k]=L,L}createModel(e,t,i,r=!1){let g;return t?g=this._createModelData(e,t,i,r):g=this._createModelData(e,PLAINTEXT_LANGUAGE_ID,i,r),this._onModelAdded.fire(g.model),g.model}getModels(){const e=[],t=Object.keys(this._models);for(let i=0,r=t.length;i0||V.future.length>0){for(const z of V.past)isEditStackElement(z)&&z.matchesResource(e.uri)&&(g=!0,y+=z.heapSize(e.uri),z.setModel(e.uri));for(const z of V.future)isEditStackElement(z)&&z.matchesResource(e.uri)&&(g=!0,y+=z.heapSize(e.uri),z.setModel(e.uri))}}const k=ModelService_1.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK,L=this._getSHA1Computer();if(g)if(!r&&(y>k||!L.canComputeSHA1(e))){const V=i.model.getInitialUndoRedoSnapshot();V!==null&&this._undoRedoService.restoreSnapshot(V)}else this._ensureDisposedModelsHeapSize(k-y),this._undoRedoService.setElementsValidFlag(e.uri,!1,V=>isEditStackElement(V)&&V.matchesResource(e.uri)),this._insertDisposedModel(new DisposedModelInfo(e.uri,i.model.getInitialUndoRedoSnapshot(),Date.now(),r,y,L.computeSHA1(e),e.getVersionId(),e.getAlternativeVersionId()));else if(!r){const V=i.model.getInitialUndoRedoSnapshot();V!==null&&this._undoRedoService.restoreSnapshot(V)}delete this._models[t],i.dispose(),delete this._modelCreationOptionsByLanguageAndResource[e.getLanguageId()+e.uri],this._onModelRemoved.fire(e)}_onDidChangeLanguage(e,t){const i=t.oldLanguage,r=e.getLanguageId(),g=this.getCreationOptions(i,e.uri,e.isForSimpleWidget),y=this.getCreationOptions(r,e.uri,e.isForSimpleWidget);ModelService_1._setModelOptionsForModel(e,y,g),this._onModelModeChanged.fire({model:e,oldLanguageId:i})}_getSHA1Computer(){return new DefaultModelSHA1Computer}};ModelService.MAX_MEMORY_FOR_CLOSED_FILES_UNDO_STACK=20*1024*1024;ModelService=ModelService_1=__decorate$20([__param$1V(0,IConfigurationService),__param$1V(1,ITextResourcePropertiesService),__param$1V(2,IUndoRedoService),__param$1V(3,ILanguageService),__param$1V(4,ILanguageConfigurationService)],ModelService);class DefaultModelSHA1Computer{canComputeSHA1(e){return e.getValueLength()<=DefaultModelSHA1Computer.MAX_MODEL_SIZE}computeSHA1(e){const t=new StringSHA1,i=e.createSnapshot();let r;for(;r=i.read();)t.update(r);return t.digest()}}DefaultModelSHA1Computer.MAX_MODEL_SIZE=10*1024*1024;var DefaultQuickAccessFilterValue;(function(n){n[n.PRESERVE=0]="PRESERVE",n[n.LAST=1]="LAST"})(DefaultQuickAccessFilterValue||(DefaultQuickAccessFilterValue={}));const Extensions$2={Quickaccess:"workbench.contributions.quickaccess"};class QuickAccessRegistry{constructor(){this.providers=[],this.defaultProvider=void 0}registerQuickAccessProvider(e){return e.prefix.length===0?this.defaultProvider=e:this.providers.push(e),this.providers.sort((t,i)=>i.prefix.length-t.prefix.length),toDisposable(()=>{this.providers.splice(this.providers.indexOf(e),1),this.defaultProvider===e&&(this.defaultProvider=void 0)})}getQuickAccessProviders(){return coalesce([this.defaultProvider,...this.providers])}getQuickAccessProvider(e){return e&&this.providers.find(i=>e.startsWith(i.prefix))||void 0||this.defaultProvider}}Registry.add(Extensions$2.Quickaccess,new QuickAccessRegistry);const NO_KEY_MODS={ctrlCmd:!1,alt:!1};var QuickInputHideReason;(function(n){n[n.Blur=1]="Blur",n[n.Gesture=2]="Gesture",n[n.Other=3]="Other"})(QuickInputHideReason||(QuickInputHideReason={}));var ItemActivation;(function(n){n[n.NONE=0]="NONE",n[n.FIRST=1]="FIRST",n[n.SECOND=2]="SECOND",n[n.LAST=3]="LAST"})(ItemActivation||(ItemActivation={}));const IQuickInputService=createDecorator("quickInputService");var __decorate$1$=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1U=function(n,e){return function(t,i){e(t,i,n)}};let QuickAccessController=class extends Disposable{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=Registry.as(Extensions$2.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){this.doShowOrPick(e,!1,t)}doShowOrPick(e,t,i){var r,g,y;const[k,L]=this.getOrInstantiateProvider(e),V=this.visibleQuickAccess,z=V==null?void 0:V.descriptor;if(V&&L&&z===L){e!==L.prefix&&!(i!=null&&i.preserveValue)&&(V.picker.value=e),this.adjustValueSelection(V.picker,L,i);return}if(L&&!(i!=null&&i.preserveValue)){let de;if(V&&z&&z!==L){const ue=V.value.substr(z.prefix.length);ue&&(de="".concat(L.prefix).concat(ue))}if(!de){const ue=k==null?void 0:k.defaultFilterValue;ue===DefaultQuickAccessFilterValue.LAST?de=this.lastAcceptedPickerValues.get(L):typeof ue=="string"&&(de="".concat(L.prefix).concat(ue))}typeof de=="string"&&(e=de)}const j=(r=V==null?void 0:V.picker)===null||r===void 0?void 0:r.valueSelection,ie=(g=V==null?void 0:V.picker)===null||g===void 0?void 0:g.value,oe=new DisposableStore,re=oe.add(this.quickInputService.createQuickPick());re.value=e,this.adjustValueSelection(re,L,i),re.placeholder=L==null?void 0:L.placeholder,re.quickNavigate=i==null?void 0:i.quickNavigateConfiguration,re.hideInput=!!re.quickNavigate&&!V,(typeof(i==null?void 0:i.itemActivation)=="number"||i!=null&&i.quickNavigateConfiguration)&&(re.itemActivation=(y=i==null?void 0:i.itemActivation)!==null&&y!==void 0?y:ItemActivation.SECOND),re.contextKey=L==null?void 0:L.contextKey,re.filterValue=de=>de.substring(L?L.prefix.length:0);let ae;t&&(ae=new DeferredPromise,oe.add(Event$1.once(re.onWillAccept)(de=>{de.veto(),re.hide()}))),oe.add(this.registerPickerListeners(re,k,L,e,i==null?void 0:i.providerOptions));const le=oe.add(new CancellationTokenSource$1);if(k&&oe.add(k.provide(re,le.token,i==null?void 0:i.providerOptions)),Event$1.once(re.onDidHide)(()=>{re.selectedItems.length===0&&le.cancel(),oe.dispose(),ae==null||ae.complete(re.selectedItems.slice(0))}),re.show(),j&&ie===e&&(re.valueSelection=j),t)return ae==null?void 0:ae.p}adjustValueSelection(e,t,i){var r;let g;i!=null&&i.preserveValue?g=[e.value.length,e.value.length]:g=[(r=t==null?void 0:t.prefix.length)!==null&&r!==void 0?r:0,e.value.length],e.valueSelection=g}registerPickerListeners(e,t,i,r,g){const y=new DisposableStore,k=this.visibleQuickAccess={picker:e,descriptor:i,value:r};return y.add(toDisposable(()=>{k===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),y.add(e.onDidChangeValue(L=>{const[V]=this.getOrInstantiateProvider(L);V!==t?this.show(L,{preserveValue:!0,providerOptions:g}):k.value=L})),i&&y.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)})),y}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let i=this.mapProviderToDescriptor.get(t);return i||(i=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,i)),[i,t]}};QuickAccessController=__decorate$1$([__param$1U(0,IQuickInputService),__param$1U(1,IInstantiationService)],QuickAccessController);class Toggle extends Widget$1{constructor(e){var t;super(),this._onChange=this._register(new Emitter$1),this.onChange=this._onChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._opts=e,this._checked=this._opts.isChecked;const i=["monaco-custom-toggle"];this._opts.icon&&(this._icon=this._opts.icon,i.push(...ThemeIcon.asClassNameArray(this._icon))),this._opts.actionClassName&&i.push(...this._opts.actionClassName.split(" ")),this._checked&&i.push("checked"),this.domNode=document.createElement("div"),this._hover=this._register(setupCustomHover((t=e.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("mouse"),this.domNode,this._opts.title)),this.domNode.classList.add(...i),this._opts.notFocusable||(this.domNode.tabIndex=0),this.domNode.setAttribute("role","checkbox"),this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.setAttribute("aria-label",this._opts.title),this.applyStyles(),this.onclick(this.domNode,r=>{this.enabled&&(this.checked=!this._checked,this._onChange.fire(!1),r.preventDefault())}),this._register(this.ignoreGesture(this.domNode)),this.onkeydown(this.domNode,r=>{if(r.keyCode===10||r.keyCode===3){this.checked=!this._checked,this._onChange.fire(!0),r.preventDefault(),r.stopPropagation();return}this._onKeyDown.fire(r)})}get enabled(){return this.domNode.getAttribute("aria-disabled")!=="true"}focus(){this.domNode.focus()}get checked(){return this._checked}set checked(e){this._checked=e,this.domNode.setAttribute("aria-checked",String(this._checked)),this.domNode.classList.toggle("checked",this._checked),this.applyStyles()}width(){return 22}applyStyles(){this.domNode&&(this.domNode.style.borderColor=this._checked&&this._opts.inputActiveOptionBorder||"",this.domNode.style.color=this._checked&&this._opts.inputActiveOptionForeground||"inherit",this.domNode.style.backgroundColor=this._checked&&this._opts.inputActiveOptionBackground||"")}enable(){this.domNode.setAttribute("aria-disabled",String(!1))}disable(){this.domNode.setAttribute("aria-disabled",String(!0))}}var __decorate$1_=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};class LinkedText{constructor(e){this.nodes=e}toString(){return this.nodes.map(e=>typeof e=="string"?e:e.label).join("")}}__decorate$1_([memoize],LinkedText.prototype,"toString",null);const LINK_REGEX=/\[([^\]]+)\]\(((?:https?:\/\/|command:|file:)[^\)\s]+)(?: (["'])(.+?)(\3))?\)/gi;function parseLinkedText(n){const e=[];let t=0,i;for(;i=LINK_REGEX.exec(n);){i.index-t>0&&e.push(n.substring(t,i.index));const[,r,g,,y]=i;y?e.push({label:r,href:g,title:y}):e.push({label:r,href:g}),t=i.index+i[0].length}return t{isEventLike(oe)&&EventHelper$1.stop(oe,!0),t.callback(g.href)},V=t.disposables.add(new DomEmitter(k,EventType$1.CLICK)).event,z=t.disposables.add(new DomEmitter(k,EventType$1.KEY_DOWN)).event,j=Event$1.chain(z,oe=>oe.filter(re=>{const ae=new StandardKeyboardEvent(re);return ae.equals(10)||ae.equals(3)}));t.disposables.add(Gesture.addTarget(k));const ie=t.disposables.add(new DomEmitter(k,EventType.Tap)).event;Event$1.any(V,ie,j)(L,null,t.disposables),e.appendChild(k)}}class PagedRenderer{get templateId(){return this.renderer.templateId}constructor(e,t){this.renderer=e,this.modelProvider=t}renderTemplate(e){return{data:this.renderer.renderTemplate(e),disposable:Disposable.None}}renderElement(e,t,i,r){var g;if((g=i.disposable)===null||g===void 0||g.dispose(),!i.data)return;const y=this.modelProvider();if(y.isResolved(e))return this.renderer.renderElement(y.get(e),e,i.data,r);const k=new CancellationTokenSource$1,L=y.resolve(e,k.token);i.disposable={dispose:()=>k.cancel()},this.renderer.renderPlaceholder(e,i.data),L.then(V=>this.renderer.renderElement(V,e,i.data,r))}disposeTemplate(e){e.disposable&&(e.disposable.dispose(),e.disposable=void 0),e.data&&(this.renderer.disposeTemplate(e.data),e.data=void 0)}}class PagedAccessibilityProvider{constructor(e,t){this.modelProvider=e,this.accessibilityProvider=t}getWidgetAriaLabel(){return this.accessibilityProvider.getWidgetAriaLabel()}getAriaLabel(e){const t=this.modelProvider();return t.isResolved(e)?this.accessibilityProvider.getAriaLabel(t.get(e)):null}}function fromPagedListOptions(n,e){return{...e,accessibilityProvider:e.accessibilityProvider&&new PagedAccessibilityProvider(n,e.accessibilityProvider)}}class PagedList{constructor(e,t,i,r,g={}){const y=()=>this.model,k=r.map(L=>new PagedRenderer(L,y));this.list=new List(e,t,i,k,fromPagedListOptions(y,g))}updateOptions(e){this.list.updateOptions(e)}getHTMLElement(){return this.list.getHTMLElement()}get onDidFocus(){return this.list.onDidFocus}get widget(){return this.list}get onDidDispose(){return this.list.onDidDispose}get onMouseDblClick(){return Event$1.map(this.list.onMouseDblClick,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onPointer(){return Event$1.map(this.list.onPointer,({element:e,index:t,browserEvent:i})=>({element:e===void 0?void 0:this._model.get(e),index:t,browserEvent:i}))}get onDidChangeSelection(){return Event$1.map(this.list.onDidChangeSelection,({elements:e,indexes:t,browserEvent:i})=>({elements:e.map(r=>this._model.get(r)),indexes:t,browserEvent:i}))}get model(){return this._model}set model(e){this._model=e,this.list.splice(0,this.list.length,range(e.length))}getFocus(){return this.list.getFocus()}getSelection(){return this.list.getSelection()}getSelectedElements(){return this.getSelection().map(e=>this.model.get(e))}style(e){this.list.style(e)}dispose(){this.list.dispose()}}var __decorate$1Z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};const DEBUG=!1;var OrthogonalEdge;(function(n){n.North="north",n.South="south",n.East="east",n.West="west"})(OrthogonalEdge||(OrthogonalEdge={}));let globalSize=4;const onDidChangeGlobalSize=new Emitter$1;let globalHoverDelay=300;const onDidChangeHoverDelay=new Emitter$1;class MouseEventFactory{constructor(e){this.el=e,this.disposables=new DisposableStore}get onPointerMove(){return this.disposables.add(new DomEmitter(getWindow$1(this.el),"mousemove")).event}get onPointerUp(){return this.disposables.add(new DomEmitter(getWindow$1(this.el),"mouseup")).event}dispose(){this.disposables.dispose()}}__decorate$1Z([memoize],MouseEventFactory.prototype,"onPointerMove",null);__decorate$1Z([memoize],MouseEventFactory.prototype,"onPointerUp",null);class GestureEventFactory{get onPointerMove(){return this.disposables.add(new DomEmitter(this.el,EventType.Change)).event}get onPointerUp(){return this.disposables.add(new DomEmitter(this.el,EventType.End)).event}constructor(e){this.el=e,this.disposables=new DisposableStore}dispose(){this.disposables.dispose()}}__decorate$1Z([memoize],GestureEventFactory.prototype,"onPointerMove",null);__decorate$1Z([memoize],GestureEventFactory.prototype,"onPointerUp",null);class OrthogonalPointerEventFactory{get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}constructor(e){this.factory=e}dispose(){}}__decorate$1Z([memoize],OrthogonalPointerEventFactory.prototype,"onPointerMove",null);__decorate$1Z([memoize],OrthogonalPointerEventFactory.prototype,"onPointerUp",null);const PointerEventsDisabledCssClass="pointer-events-disabled";class Sash extends Disposable{get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle("disabled",e===0),this.el.classList.toggle("minimum",e===1),this.el.classList.toggle("maximum",e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(e){if(this._orthogonalStartSash!==e){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),e){const t=i=>{this.orthogonalStartDragHandleDisposables.clear(),i!==0&&(this._orthogonalStartDragHandle=append$1(this.el,$$f(".orthogonal-drag-handle.start")),this.orthogonalStartDragHandleDisposables.add(toDisposable(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseenter")).event(()=>Sash.onMouseEnter(e),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new DomEmitter(this._orthogonalStartDragHandle,"mouseleave")).event(()=>Sash.onMouseLeave(e),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalStartSash=e}}set orthogonalEndSash(e){if(this._orthogonalEndSash!==e){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),e){const t=i=>{this.orthogonalEndDragHandleDisposables.clear(),i!==0&&(this._orthogonalEndDragHandle=append$1(this.el,$$f(".orthogonal-drag-handle.end")),this.orthogonalEndDragHandleDisposables.add(toDisposable(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseenter")).event(()=>Sash.onMouseEnter(e),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new DomEmitter(this._orthogonalEndDragHandle,"mouseleave")).event(()=>Sash.onMouseLeave(e),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(e.onDidEnablementChange.event(t,this)),t(e.state)}this._orthogonalEndSash=e}}constructor(e,t,i){super(),this.hoverDelay=globalHoverDelay,this.hoverDelayer=this._register(new Delayer(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new Emitter$1),this._onDidStart=this._register(new Emitter$1),this._onDidChange=this._register(new Emitter$1),this._onDidReset=this._register(new Emitter$1),this._onDidEnd=this._register(new Emitter$1),this.orthogonalStartSashDisposables=this._register(new DisposableStore),this.orthogonalStartDragHandleDisposables=this._register(new DisposableStore),this.orthogonalEndSashDisposables=this._register(new DisposableStore),this.orthogonalEndDragHandleDisposables=this._register(new DisposableStore),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=append$1(e,$$f(".monaco-sash")),i.orthogonalEdge&&this.el.classList.add("orthogonal-edge-".concat(i.orthogonalEdge)),isMacintosh&&this.el.classList.add("mac");const r=this._register(new DomEmitter(this.el,"mousedown")).event;this._register(r(j=>this.onPointerStart(j,new MouseEventFactory(e)),this));const g=this._register(new DomEmitter(this.el,"dblclick")).event;this._register(g(this.onPointerDoublePress,this));const y=this._register(new DomEmitter(this.el,"mouseenter")).event;this._register(y(()=>Sash.onMouseEnter(this)));const k=this._register(new DomEmitter(this.el,"mouseleave")).event;this._register(k(()=>Sash.onMouseLeave(this))),this._register(Gesture.addTarget(this.el));const L=this._register(new DomEmitter(this.el,EventType.Start)).event;this._register(L(j=>this.onPointerStart(j,new GestureEventFactory(this.el)),this));const V=this._register(new DomEmitter(this.el,EventType.Tap)).event;let z;this._register(V(j=>{if(z){clearTimeout(z),z=void 0,this.onPointerDoublePress(j);return}clearTimeout(z),z=setTimeout(()=>z=void 0,250)},this)),typeof i.size=="number"?(this.size=i.size,i.orientation===0?this.el.style.width="".concat(this.size,"px"):this.el.style.height="".concat(this.size,"px")):(this.size=globalSize,this._register(onDidChangeGlobalSize.event(j=>{this.size=j,this.layout()}))),this._register(onDidChangeHoverDelay.event(j=>this.hoverDelay=j)),this.layoutProvider=t,this.orthogonalStartSash=i.orthogonalStartSash,this.orthogonalEndSash=i.orthogonalEndSash,this.orientation=i.orientation||0,this.orientation===1?(this.el.classList.add("horizontal"),this.el.classList.remove("vertical")):(this.el.classList.remove("horizontal"),this.el.classList.add("vertical")),this.el.classList.toggle("debug",DEBUG),this.layout()}onPointerStart(e,t){EventHelper$1.stop(e);let i=!1;if(!e.__orthogonalSashEvent){const re=this.getOrthogonalSash(e);re&&(i=!0,e.__orthogonalSashEvent=!0,re.onPointerStart(e,new OrthogonalPointerEventFactory(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new OrthogonalPointerEventFactory(t))),!this.state)return;const r=this.el.ownerDocument.getElementsByTagName("iframe");for(const re of r)re.classList.add(PointerEventsDisabledCssClass);const g=e.pageX,y=e.pageY,k=e.altKey,L={startX:g,currentX:g,startY:y,currentY:y,altKey:k};this.el.classList.add("active"),this._onDidStart.fire(L);const V=createStyleSheet(this.el),z=()=>{let re="";i?re="all-scroll":this.orientation===1?this.state===1?re="s-resize":this.state===2?re="n-resize":re=isMacintosh?"row-resize":"ns-resize":this.state===1?re="e-resize":this.state===2?re="w-resize":re=isMacintosh?"col-resize":"ew-resize",V.textContent="* { cursor: ".concat(re," !important; }")},j=new DisposableStore;z(),i||this.onDidEnablementChange.event(z,null,j);const ie=re=>{EventHelper$1.stop(re,!1);const ae={startX:g,currentX:re.pageX,startY:y,currentY:re.pageY,altKey:k};this._onDidChange.fire(ae)},oe=re=>{EventHelper$1.stop(re,!1),this.el.removeChild(V),this.el.classList.remove("active"),this._onDidEnd.fire(),j.dispose();for(const ae of r)ae.classList.remove(PointerEventsDisabledCssClass)};t.onPointerMove(ie,null,j),t.onPointerUp(oe,null,j),j.add(t)}onPointerDoublePress(e){const t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(e,t=!1){e.el.classList.contains("active")?(e.hoverDelayer.cancel(),e.el.classList.add("hover")):e.hoverDelayer.trigger(()=>e.el.classList.add("hover"),e.hoverDelay).then(void 0,()=>{}),!t&&e.linkedSash&&Sash.onMouseEnter(e.linkedSash,!0)}static onMouseLeave(e,t=!1){e.hoverDelayer.cancel(),e.el.classList.remove("hover"),!t&&e.linkedSash&&Sash.onMouseLeave(e.linkedSash,!0)}clearSashHoverState(){Sash.onMouseLeave(this)}layout(){if(this.orientation===0){const e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+"px",e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+"px"),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+"px")}else{const e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+"px",e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+"px"),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+"px")}}getOrthogonalSash(e){var t;const i=(t=e.initialTarget)!==null&&t!==void 0?t:e.target;if(!(!i||!(i instanceof HTMLElement))&&i.classList.contains("orthogonal-drag-handle"))return i.classList.contains("start")?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}}const defaultStyles={separatorBorder:Color$1.transparent};class ViewItem{set size(e){this._size=e}get size(){return this._size}get visible(){return typeof this._cachedVisibleSize>"u"}setVisible(e,t){var i,r;if(e!==this.visible){e?(this.size=clamp(this._cachedVisibleSize,this.viewMinimumSize,this.viewMaximumSize),this._cachedVisibleSize=void 0):(this._cachedVisibleSize=typeof t=="number"?t:this.size,this.size=0),this.container.classList.toggle("visible",e);try{(r=(i=this.view).setVisible)===null||r===void 0||r.call(i,e)}catch(g){console.error("Splitview: Failed to set visible view"),console.error(g)}}}get minimumSize(){return this.visible?this.view.minimumSize:0}get viewMinimumSize(){return this.view.minimumSize}get maximumSize(){return this.visible?this.view.maximumSize:0}get viewMaximumSize(){return this.view.maximumSize}get priority(){return this.view.priority}get proportionalLayout(){var e;return(e=this.view.proportionalLayout)!==null&&e!==void 0?e:!0}get snap(){return!!this.view.snap}set enabled(e){this.container.style.pointerEvents=e?"":"none"}constructor(e,t,i,r){this.container=e,this.view=t,this.disposable=r,this._cachedVisibleSize=void 0,typeof i=="number"?(this._size=i,this._cachedVisibleSize=void 0,e.classList.add("visible")):(this._size=0,this._cachedVisibleSize=i.cachedVisibleSize)}layout(e,t){this.layoutContainer(e);try{this.view.layout(this.size,e,t)}catch(i){console.error("Splitview: Failed to layout view"),console.error(i)}}dispose(){this.disposable.dispose()}}class VerticalViewItem extends ViewItem{layoutContainer(e){this.container.style.top="".concat(e,"px"),this.container.style.height="".concat(this.size,"px")}}class HorizontalViewItem extends ViewItem{layoutContainer(e){this.container.style.left="".concat(e,"px"),this.container.style.width="".concat(this.size,"px")}}var State;(function(n){n[n.Idle=0]="Idle",n[n.Busy=1]="Busy"})(State||(State={}));var Sizing;(function(n){n.Distribute={type:"distribute"};function e(r){return{type:"split",index:r}}n.Split=e;function t(r){return{type:"auto",index:r}}n.Auto=t;function i(r){return{type:"invisible",cachedVisibleSize:r}}n.Invisible=i})(Sizing||(Sizing={}));class SplitView extends Disposable{get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}get startSnappingEnabled(){return this._startSnappingEnabled}get endSnappingEnabled(){return this._endSnappingEnabled}set orthogonalStartSash(e){for(const t of this.sashItems)t.sash.orthogonalStartSash=e;this._orthogonalStartSash=e}set orthogonalEndSash(e){for(const t of this.sashItems)t.sash.orthogonalEndSash=e;this._orthogonalEndSash=e}set startSnappingEnabled(e){this._startSnappingEnabled!==e&&(this._startSnappingEnabled=e,this.updateSashEnablement())}set endSnappingEnabled(e){this._endSnappingEnabled!==e&&(this._endSnappingEnabled=e,this.updateSashEnablement())}constructor(e,t={}){var i,r,g,y,k;super(),this.size=0,this._contentSize=0,this.proportions=void 0,this.viewItems=[],this.sashItems=[],this.state=State.Idle,this._onDidSashChange=this._register(new Emitter$1),this._onDidSashReset=this._register(new Emitter$1),this._startSnappingEnabled=!0,this._endSnappingEnabled=!0,this.onDidSashChange=this._onDidSashChange.event,this.onDidSashReset=this._onDidSashReset.event,this.orientation=(i=t.orientation)!==null&&i!==void 0?i:0,this.inverseAltBehavior=(r=t.inverseAltBehavior)!==null&&r!==void 0?r:!1,this.proportionalLayout=(g=t.proportionalLayout)!==null&&g!==void 0?g:!0,this.getSashOrthogonalSize=t.getSashOrthogonalSize,this.el=document.createElement("div"),this.el.classList.add("monaco-split-view2"),this.el.classList.add(this.orientation===0?"vertical":"horizontal"),e.appendChild(this.el),this.sashContainer=append$1(this.el,$$f(".sash-container")),this.viewContainer=$$f(".split-view-container"),this.scrollable=this._register(new Scrollable$1({forceIntegerValues:!0,smoothScrollDuration:125,scheduleAtNextAnimationFrame:V=>scheduleAtNextAnimationFrame(getWindow$1(this.el),V)})),this.scrollableElement=this._register(new SmoothScrollableElement(this.viewContainer,{vertical:this.orientation===0?(y=t.scrollbarVisibility)!==null&&y!==void 0?y:1:2,horizontal:this.orientation===1?(k=t.scrollbarVisibility)!==null&&k!==void 0?k:1:2},this.scrollable));const L=this._register(new DomEmitter(this.viewContainer,"scroll")).event;this._register(L(V=>{const z=this.scrollableElement.getScrollPosition(),j=Math.abs(this.viewContainer.scrollLeft-z.scrollLeft)<=1?void 0:this.viewContainer.scrollLeft,ie=Math.abs(this.viewContainer.scrollTop-z.scrollTop)<=1?void 0:this.viewContainer.scrollTop;(j!==void 0||ie!==void 0)&&this.scrollableElement.setScrollPosition({scrollLeft:j,scrollTop:ie})})),this.onDidScroll=this.scrollableElement.onScroll,this._register(this.onDidScroll(V=>{V.scrollTopChanged&&(this.viewContainer.scrollTop=V.scrollTop),V.scrollLeftChanged&&(this.viewContainer.scrollLeft=V.scrollLeft)})),append$1(this.el,this.scrollableElement.getDomNode()),this.style(t.styles||defaultStyles),t.descriptor&&(this.size=t.descriptor.size,t.descriptor.views.forEach((V,z)=>{const j=isUndefined$3(V.visible)||V.visible?V.size:{type:"invisible",cachedVisibleSize:V.size},ie=V.view;this.doAddView(ie,j,z,!0)}),this._contentSize=this.viewItems.reduce((V,z)=>V+z.size,0),this.saveProportions())}style(e){e.separatorBorder.isTransparent()?(this.el.classList.remove("separator-border"),this.el.style.removeProperty("--separator-border")):(this.el.classList.add("separator-border"),this.el.style.setProperty("--separator-border",e.separatorBorder.toString()))}addView(e,t,i=this.viewItems.length,r){this.doAddView(e,t,i,r)}layout(e,t){const i=Math.max(this.size,this._contentSize);if(this.size=e,this.layoutContext=t,this.proportions){let r=0;for(let g=0;g0&&(y.size=clamp(Math.round(k*e/r),y.minimumSize,y.maximumSize))}}else{const r=range(this.viewItems.length),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);this.resize(this.viewItems.length-1,e-i,void 0,g,y)}this.distributeEmptySpace(),this.layoutViews()}saveProportions(){this.proportionalLayout&&this._contentSize>0&&(this.proportions=this.viewItems.map(e=>e.proportionalLayout&&e.visible?e.size/this._contentSize:void 0))}onSashStart({sash:e,start:t,alt:i}){for(const k of this.viewItems)k.enabled=!1;const r=this.sashItems.findIndex(k=>k.sash===e),g=combinedDisposable(addDisposableListener(this.el.ownerDocument.body,"keydown",k=>y(this.sashDragState.current,k.altKey)),addDisposableListener(this.el.ownerDocument.body,"keyup",()=>y(this.sashDragState.current,!1))),y=(k,L)=>{const V=this.viewItems.map(re=>re.size);let z=Number.NEGATIVE_INFINITY,j=Number.POSITIVE_INFINITY;if(this.inverseAltBehavior&&(L=!L),L)if(r===this.sashItems.length-1){const ae=this.viewItems[r];z=(ae.minimumSize-ae.size)/2,j=(ae.maximumSize-ae.size)/2}else{const ae=this.viewItems[r+1];z=(ae.size-ae.maximumSize)/2,j=(ae.size-ae.minimumSize)/2}let ie,oe;if(!L){const re=range(r,-1),ae=range(r+1,this.viewItems.length),le=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].minimumSize-V[Ne]),0),de=re.reduce((Ie,Ne)=>Ie+(this.viewItems[Ne].viewMaximumSize-V[Ne]),0),ue=ae.length===0?Number.POSITIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(V[Ne]-this.viewItems[Ne].minimumSize),0),he=ae.length===0?Number.NEGATIVE_INFINITY:ae.reduce((Ie,Ne)=>Ie+(V[Ne]-this.viewItems[Ne].viewMaximumSize),0),pe=Math.max(le,he),Ce=Math.min(ue,de),$e=this.findFirstSnapIndex(re),xe=this.findFirstSnapIndex(ae);if(typeof $e=="number"){const Ie=this.viewItems[$e],Ne=Math.floor(Ie.viewMinimumSize/2);ie={index:$e,limitDelta:Ie.visible?pe-Ne:pe+Ne,size:Ie.size}}if(typeof xe=="number"){const Ie=this.viewItems[xe],Ne=Math.floor(Ie.viewMinimumSize/2);oe={index:xe,limitDelta:Ie.visible?Ce+Ne:Ce-Ne,size:Ie.size}}}this.sashDragState={start:k,current:k,index:r,sizes:V,minDelta:z,maxDelta:j,alt:L,snapBefore:ie,snapAfter:oe,disposable:g}};y(t,i)}onSashChange({current:e}){const{index:t,start:i,sizes:r,alt:g,minDelta:y,maxDelta:k,snapBefore:L,snapAfter:V}=this.sashDragState;this.sashDragState.current=e;const z=e-i,j=this.resize(t,z,r,void 0,void 0,y,k,L,V);if(g){const ie=t===this.sashItems.length-1,oe=this.viewItems.map(he=>he.size),re=ie?t:t+1,ae=this.viewItems[re],le=ae.size-ae.maximumSize,de=ae.size-ae.minimumSize,ue=ie?t-1:t+1;this.resize(ue,-j,oe,void 0,void 0,le,de)}this.distributeEmptySpace(),this.layoutViews()}onSashEnd(e){this._onDidSashChange.fire(e),this.sashDragState.disposable.dispose(),this.saveProportions();for(const t of this.viewItems)t.enabled=!0}onViewChange(e,t){const i=this.viewItems.indexOf(e);i<0||i>=this.viewItems.length||(t=typeof t=="number"?t:e.size,t=clamp(t,e.minimumSize,e.maximumSize),this.inverseAltBehavior&&i>0?(this.resize(i-1,Math.floor((e.size-t)/2)),this.distributeEmptySpace(),this.layoutViews()):(e.size=t,this.relayout([i],void 0)))}resizeView(e,t){if(!(e<0||e>=this.viewItems.length)){if(this.state!==State.Idle)throw new Error("Cant modify splitview");this.state=State.Busy;try{const i=range(this.viewItems.length).filter(k=>k!==e),r=[...i.filter(k=>this.viewItems[k].priority===1),e],g=i.filter(k=>this.viewItems[k].priority===2),y=this.viewItems[e];t=Math.round(t),t=clamp(t,y.minimumSize,Math.min(y.maximumSize,this.size)),y.size=t,this.relayout(r,g)}finally{this.state=State.Idle}}}distributeViewSizes(){const e=[];let t=0;for(const k of this.viewItems)k.maximumSize-k.minimumSize>0&&(e.push(k),t+=k.size);const i=Math.floor(t/e.length);for(const k of e)k.size=clamp(i,k.minimumSize,k.maximumSize);const r=range(this.viewItems.length),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);this.relayout(g,y)}getViewSize(e){return e<0||e>=this.viewItems.length?-1:this.viewItems[e].size}doAddView(e,t,i=this.viewItems.length,r){if(this.state!==State.Idle)throw new Error("Cant modify splitview");this.state=State.Busy;try{const g=$$f(".split-view-view");i===this.viewItems.length?this.viewContainer.appendChild(g):this.viewContainer.insertBefore(g,this.viewContainer.children.item(i));const y=e.onDidChange(ie=>this.onViewChange(z,ie)),k=toDisposable(()=>this.viewContainer.removeChild(g)),L=combinedDisposable(y,k);let V;typeof t=="number"?V=t:(t.type==="auto"&&(this.areViewsDistributed()?t={type:"distribute"}:t={type:"split",index:t.index}),t.type==="split"?V=this.getViewSize(t.index)/2:t.type==="invisible"?V={cachedVisibleSize:t.cachedVisibleSize}:V=e.minimumSize);const z=this.orientation===0?new VerticalViewItem(g,e,V,L):new HorizontalViewItem(g,e,V,L);if(this.viewItems.splice(i,0,z),this.viewItems.length>1){const ie={orthogonalStartSash:this.orthogonalStartSash,orthogonalEndSash:this.orthogonalEndSash},oe=this.orientation===0?new Sash(this.sashContainer,{getHorizontalSashTop:Ie=>this.getSashPosition(Ie),getHorizontalSashWidth:this.getSashOrthogonalSize},{...ie,orientation:1}):new Sash(this.sashContainer,{getVerticalSashLeft:Ie=>this.getSashPosition(Ie),getVerticalSashHeight:this.getSashOrthogonalSize},{...ie,orientation:0}),re=this.orientation===0?Ie=>({sash:oe,start:Ie.startY,current:Ie.currentY,alt:Ie.altKey}):Ie=>({sash:oe,start:Ie.startX,current:Ie.currentX,alt:Ie.altKey}),le=Event$1.map(oe.onDidStart,re)(this.onSashStart,this),ue=Event$1.map(oe.onDidChange,re)(this.onSashChange,this),pe=Event$1.map(oe.onDidEnd,()=>this.sashItems.findIndex(Ie=>Ie.sash===oe))(this.onSashEnd,this),Ce=oe.onDidReset(()=>{const Ie=this.sashItems.findIndex(ze=>ze.sash===oe),Ne=range(Ie,-1),Fe=range(Ie+1,this.viewItems.length),Ve=this.findFirstSnapIndex(Ne),Oe=this.findFirstSnapIndex(Fe);typeof Ve=="number"&&!this.viewItems[Ve].visible||typeof Oe=="number"&&!this.viewItems[Oe].visible||this._onDidSashReset.fire(Ie)}),$e=combinedDisposable(le,ue,pe,Ce,oe),xe={sash:oe,disposable:$e};this.sashItems.splice(i-1,0,xe)}g.appendChild(e.element);let j;typeof t!="number"&&t.type==="split"&&(j=[t.index]),r||this.relayout([i],j),!r&&typeof t!="number"&&t.type==="distribute"&&this.distributeViewSizes()}finally{this.state=State.Idle}}relayout(e,t){const i=this.viewItems.reduce((r,g)=>r+g.size,0);this.resize(this.viewItems.length-1,this.size-i,void 0,e,t),this.distributeEmptySpace(),this.layoutViews(),this.saveProportions()}resize(e,t,i=this.viewItems.map(z=>z.size),r,g,y=Number.NEGATIVE_INFINITY,k=Number.POSITIVE_INFINITY,L,V){if(e<0||e>=this.viewItems.length)return 0;const z=range(e,-1),j=range(e+1,this.viewItems.length);if(g)for(const xe of g)pushToStart(z,xe),pushToStart(j,xe);if(r)for(const xe of r)pushToEnd(z,xe),pushToEnd(j,xe);const ie=z.map(xe=>this.viewItems[xe]),oe=z.map(xe=>i[xe]),re=j.map(xe=>this.viewItems[xe]),ae=j.map(xe=>i[xe]),le=z.reduce((xe,Ie)=>xe+(this.viewItems[Ie].minimumSize-i[Ie]),0),de=z.reduce((xe,Ie)=>xe+(this.viewItems[Ie].maximumSize-i[Ie]),0),ue=j.length===0?Number.POSITIVE_INFINITY:j.reduce((xe,Ie)=>xe+(i[Ie]-this.viewItems[Ie].minimumSize),0),he=j.length===0?Number.NEGATIVE_INFINITY:j.reduce((xe,Ie)=>xe+(i[Ie]-this.viewItems[Ie].maximumSize),0),pe=Math.max(le,he,y),Ce=Math.min(ue,de,k);let $e=!1;if(L){const xe=this.viewItems[L.index],Ie=t>=L.limitDelta;$e=Ie!==xe.visible,xe.setVisible(Ie,L.size)}if(!$e&&V){const xe=this.viewItems[V.index],Ie=tk+L.size,0);let i=this.size-t;const r=range(this.viewItems.length-1,-1),g=r.filter(k=>this.viewItems[k].priority===1),y=r.filter(k=>this.viewItems[k].priority===2);for(const k of y)pushToStart(r,k);for(const k of g)pushToEnd(r,k);typeof e=="number"&&pushToEnd(r,e);for(let k=0;i!==0&&kt+i.size,0);let e=0;for(const t of this.viewItems)t.layout(e,this.layoutContext),e+=t.size;this.sashItems.forEach(t=>t.sash.layout()),this.updateSashEnablement(),this.updateScrollableElement()}updateScrollableElement(){this.orientation===0?this.scrollableElement.setScrollDimensions({height:this.size,scrollHeight:this._contentSize}):this.scrollableElement.setScrollDimensions({width:this.size,scrollWidth:this._contentSize})}updateSashEnablement(){let e=!1;const t=this.viewItems.map(L=>e=L.size-L.minimumSize>0||e);e=!1;const i=this.viewItems.map(L=>e=L.maximumSize-L.size>0||e),r=[...this.viewItems].reverse();e=!1;const g=r.map(L=>e=L.size-L.minimumSize>0||e).reverse();e=!1;const y=r.map(L=>e=L.maximumSize-L.size>0||e).reverse();let k=0;for(let L=0;L0||this.startSnappingEnabled)?V.state=1:ue&&t[L]&&(k0)return;if(!i.visible&&i.snap)return t}}areViewsDistributed(){let e,t;for(const i of this.viewItems)if(e=e===void 0?i.size:Math.min(e,i.size),t=t===void 0?i.size:Math.max(t,i.size),t-e>2)return!1;return!0}dispose(){var e;(e=this.sashDragState)===null||e===void 0||e.disposable.dispose(),dispose(this.viewItems),this.viewItems=[],this.sashItems.forEach(t=>t.disposable.dispose()),this.sashItems=[],super.dispose()}}class TableListRenderer{constructor(e,t,i){this.columns=e,this.getColumnSize=i,this.templateId=TableListRenderer.TemplateId,this.renderedTemplates=new Set;const r=new Map(t.map(g=>[g.templateId,g]));this.renderers=[];for(const g of e){const y=r.get(g.templateId);if(!y)throw new Error("Table cell renderer for template id ".concat(g.templateId," not found."));this.renderers.push(y)}}renderTemplate(e){const t=append$1(e,$$f(".monaco-table-tr")),i=[],r=[];for(let y=0;ythis.disposables.add(new ColumnHeader(z,j))),L={size:k.reduce((z,j)=>z+j.column.weight,0),views:k.map(z=>({size:z.column.weight,view:z}))};this.splitview=this.disposables.add(new SplitView(this.domNode,{orientation:1,scrollbarVisibility:2,getSashOrthogonalSize:()=>this.cachedHeight,descriptor:L})),this.splitview.el.style.height="".concat(i.headerRowHeight,"px"),this.splitview.el.style.lineHeight="".concat(i.headerRowHeight,"px");const V=new TableListRenderer(r,g,z=>this.splitview.getViewSize(z));this.list=this.disposables.add(new List(e,this.domNode,asListVirtualDelegate(i),[V],y)),Event$1.any(...k.map(z=>z.onDidLayout))(([z,j])=>V.layoutColumn(z,j),null,this.disposables),this.splitview.onDidSashReset(z=>{const j=r.reduce((oe,re)=>oe+re.weight,0),ie=r[z].weight/j*this.cachedWidth;this.splitview.resizeView(z,ie)},null,this.disposables),this.styleElement=createStyleSheet(this.domNode),this.style(unthemedListStyles)}updateOptions(e){this.list.updateOptions(e)}splice(e,t,i=[]){this.list.splice(e,t,i)}getHTMLElement(){return this.domNode}style(e){const t=[];t.push(".monaco-table.".concat(this.domId," > .monaco-split-view2 .monaco-sash.vertical::before {\n top: ").concat(this.virtualDelegate.headerRowHeight+1,"px;\n height: calc(100% - ").concat(this.virtualDelegate.headerRowHeight,"px);\n }")),this.styleElement.textContent=t.join("\n"),this.list.style(e)}getSelectedElements(){return this.list.getSelectedElements()}getSelection(){return this.list.getSelection()}getFocus(){return this.list.getFocus()}dispose(){this.disposables.dispose()}};Table$1.InstanceCount=0;const NLS_CASE_SENSITIVE_TOGGLE_LABEL=localize("caseDescription","Match Case"),NLS_WHOLE_WORD_TOGGLE_LABEL=localize("wordsDescription","Match Whole Word"),NLS_REGEX_TOGGLE_LABEL=localize("regexDescription","Use Regular Expression");class CaseSensitiveToggle extends Toggle{constructor(e){var t;super({icon:Codicon.caseSensitive,title:NLS_CASE_SENSITIVE_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class WholeWordsToggle extends Toggle{constructor(e){var t;super({icon:Codicon.wholeWord,title:NLS_WHOLE_WORD_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class RegexToggle extends Toggle{constructor(e){var t;super({icon:Codicon.regex,title:NLS_REGEX_TOGGLE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ArrayNavigator{constructor(e,t=0,i=e.length,r=t-1){this.items=e,this.start=t,this.end=i,this.index=r}current(){return this.index===this.start-1||this.index===this.end?null:this.items[this.index]}next(){return this.index=Math.min(this.index+1,this.end),this.current()}previous(){return this.index=Math.max(this.index-1,this.start-1),this.current()}first(){return this.index=this.start,this.current()}last(){return this.index=this.end-1,this.current()}}class HistoryNavigator{constructor(e=[],t=10){this._initialize(e),this._limit=t,this._onChange()}getHistory(){return this._elements}add(e){this._history.delete(e),this._history.add(e),this._onChange()}next(){return this._navigator.next()}previous(){return this._currentPosition()!==0?this._navigator.previous():null}current(){return this._navigator.current()}first(){return this._navigator.first()}last(){return this._navigator.last()}isLast(){return this._currentPosition()>=this._elements.length-1}isNowhere(){return this._navigator.current()===null}has(e){return this._history.has(e)}_onChange(){this._reduceToLimit();const e=this._elements;this._navigator=new ArrayNavigator(e,0,e.length,e.length)}_reduceToLimit(){const e=this._elements;e.length>this._limit&&this._initialize(e.slice(e.length-this._limit))}_currentPosition(){const e=this._navigator.current();return e?this._elements.indexOf(e):-1}_initialize(e){this._history=new Set;for(const t of e)this._history.add(t)}get _elements(){const e=[];return this._history.forEach(t=>e.push(t)),e}}const $$b=$$f;let InputBox$1=class extends Widget$1{constructor(e,t,i){var r;super(),this.state="idle",this.maxHeight=Number.POSITIVE_INFINITY,this._onDidChange=this._register(new Emitter$1),this.onDidChange=this._onDidChange.event,this._onDidHeightChange=this._register(new Emitter$1),this.onDidHeightChange=this._onDidHeightChange.event,this.contextViewProvider=t,this.options=i,this.message=null,this.placeholder=this.options.placeholder||"",this.tooltip=(r=this.options.tooltip)!==null&&r!==void 0?r:this.placeholder||"",this.ariaLabel=this.options.ariaLabel||"",this.options.validationOptions&&(this.validation=this.options.validationOptions.validation),this.element=append$1(e,$$b(".monaco-inputbox.idle"));const g=this.options.flexibleHeight?"textarea":"input",y=append$1(this.element,$$b(".ibwrapper"));if(this.input=append$1(y,$$b(g+".input.empty")),this.input.setAttribute("autocorrect","off"),this.input.setAttribute("autocapitalize","off"),this.input.setAttribute("spellcheck","false"),this.onfocus(this.input,()=>this.element.classList.add("synthetic-focus")),this.onblur(this.input,()=>this.element.classList.remove("synthetic-focus")),this.options.flexibleHeight){this.maxHeight=typeof this.options.flexibleMaxHeight=="number"?this.options.flexibleMaxHeight:Number.POSITIVE_INFINITY,this.mirror=append$1(y,$$b("div.mirror")),this.mirror.innerText=" ",this.scrollableElement=new ScrollableElement(this.element,{vertical:1}),this.options.flexibleWidth&&(this.input.setAttribute("wrap","off"),this.mirror.style.whiteSpace="pre",this.mirror.style.wordWrap="initial"),append$1(e,this.scrollableElement.getDomNode()),this._register(this.scrollableElement),this._register(this.scrollableElement.onScroll(V=>this.input.scrollTop=V.scrollTop));const k=this._register(new DomEmitter(e.ownerDocument,"selectionchange")),L=Event$1.filter(k.event,()=>{const V=e.ownerDocument.getSelection();return(V==null?void 0:V.anchorNode)===y});this._register(L(this.updateScrollDimensions,this)),this._register(this.onDidHeightChange(this.updateScrollDimensions,this))}else this.input.type=this.options.type||"text",this.input.setAttribute("wrap","off");this.ariaLabel&&this.input.setAttribute("aria-label",this.ariaLabel),this.placeholder&&!this.options.showPlaceholderOnFocus&&this.setPlaceHolder(this.placeholder),this.tooltip&&this.setTooltip(this.tooltip),this.oninput(this.input,()=>this.onValueChange()),this.onblur(this.input,()=>this.onBlur()),this.onfocus(this.input,()=>this.onFocus()),this._register(this.ignoreGesture(this.input)),setTimeout(()=>this.updateMirror(),0),this.options.actions&&(this.actionbar=this._register(new ActionBar(this.element)),this.actionbar.push(this.options.actions,{icon:!0,label:!1})),this.applyStyles()}onBlur(){this._hideMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder","")}onFocus(){this._showMessage(),this.options.showPlaceholderOnFocus&&this.input.setAttribute("placeholder",this.placeholder||"")}setPlaceHolder(e){this.placeholder=e,this.input.setAttribute("placeholder",e)}setTooltip(e){this.tooltip=e,this.hover?this.hover.update(e):this.hover=this._register(setupCustomHover(getDefaultHoverDelegate("mouse"),this.input,e))}get inputElement(){return this.input}get value(){return this.input.value}set value(e){this.input.value!==e&&(this.input.value=e,this.onValueChange())}get height(){return typeof this.cachedHeight=="number"?this.cachedHeight:getTotalHeight(this.element)}focus(){this.input.focus()}blur(){this.input.blur()}hasFocus(){return isActiveElement(this.input)}select(e=null){this.input.select(),e&&(this.input.setSelectionRange(e.start,e.end),e.end===this.input.value.length&&(this.input.scrollLeft=this.input.scrollWidth))}isSelectionAtEnd(){return this.input.selectionEnd===this.input.value.length&&this.input.selectionStart===this.input.selectionEnd}getSelection(){var e;const t=this.input.selectionStart;if(t===null)return null;const i=(e=this.input.selectionEnd)!==null&&e!==void 0?e:t;return{start:t,end:i}}enable(){this.input.removeAttribute("disabled")}disable(){this.blur(),this.input.disabled=!0,this._hideMessage()}set paddingRight(e){this.input.style.width="calc(100% - ".concat(e,"px)"),this.mirror&&(this.mirror.style.paddingRight=e+"px")}updateScrollDimensions(){if(typeof this.cachedContentHeight!="number"||typeof this.cachedHeight!="number"||!this.scrollableElement)return;const e=this.cachedContentHeight,t=this.cachedHeight,i=this.input.scrollTop;this.scrollableElement.setScrollDimensions({scrollHeight:e,height:t}),this.scrollableElement.setScrollPosition({scrollTop:i})}showMessage(e,t){if(this.state==="open"&&equals$2(this.message,e))return;this.message=e,this.element.classList.remove("idle"),this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add(this.classForType(e.type));const i=this.stylesForType(this.message.type);this.element.style.border="1px solid ".concat(asCssValueWithDefault(i.border,"transparent")),this.message.content&&(this.hasFocus()||t)&&this._showMessage()}hideMessage(){this.message=null,this.element.classList.remove("info"),this.element.classList.remove("warning"),this.element.classList.remove("error"),this.element.classList.add("idle"),this._hideMessage(),this.applyStyles()}validate(){let e=null;return this.validation&&(e=this.validation(this.value),e?(this.inputElement.setAttribute("aria-invalid","true"),this.showMessage(e)):this.inputElement.hasAttribute("aria-invalid")&&(this.inputElement.removeAttribute("aria-invalid"),this.hideMessage())),e==null?void 0:e.type}stylesForType(e){const t=this.options.inputBoxStyles;switch(e){case 1:return{border:t.inputValidationInfoBorder,background:t.inputValidationInfoBackground,foreground:t.inputValidationInfoForeground};case 2:return{border:t.inputValidationWarningBorder,background:t.inputValidationWarningBackground,foreground:t.inputValidationWarningForeground};default:return{border:t.inputValidationErrorBorder,background:t.inputValidationErrorBackground,foreground:t.inputValidationErrorForeground}}}classForType(e){switch(e){case 1:return"info";case 2:return"warning";default:return"error"}}_showMessage(){if(!this.contextViewProvider||!this.message)return;let e;const t=()=>e.style.width=getTotalWidth(this.element)+"px";this.contextViewProvider.showContextView({getAnchor:()=>this.element,anchorAlignment:1,render:r=>{var g,y;if(!this.message)return null;e=append$1(r,$$b(".monaco-inputbox-container")),t();const k={inline:!0,className:"monaco-inputbox-message"},L=this.message.formatContent?renderFormattedText(this.message.content,k):renderText(this.message.content,k);L.classList.add(this.classForType(this.message.type));const V=this.stylesForType(this.message.type);return L.style.backgroundColor=(g=V.background)!==null&&g!==void 0?g:"",L.style.color=(y=V.foreground)!==null&&y!==void 0?y:"",L.style.border=V.border?"1px solid ".concat(V.border):"",append$1(e,L),null},onHide:()=>{this.state="closed"},layout:t});let i;this.message.type===3?i=localize("alertErrorMessage","Error: {0}",this.message.content):this.message.type===2?i=localize("alertWarningMessage","Warning: {0}",this.message.content):i=localize("alertInfoMessage","Info: {0}",this.message.content),alert(i),this.state="open"}_hideMessage(){this.contextViewProvider&&(this.state==="open"&&this.contextViewProvider.hideContextView(),this.state="idle")}onValueChange(){this._onDidChange.fire(this.value),this.validate(),this.updateMirror(),this.input.classList.toggle("empty",!this.value),this.state==="open"&&this.contextViewProvider&&this.contextViewProvider.layout()}updateMirror(){if(!this.mirror)return;const e=this.value,i=e.charCodeAt(e.length-1)===10?" ":"";(e+i).replace(/\u000c/g,"")?this.mirror.textContent=e+i:this.mirror.innerText=" ",this.layout()}applyStyles(){var e,t,i;const r=this.options.inputBoxStyles,g=(e=r.inputBackground)!==null&&e!==void 0?e:"",y=(t=r.inputForeground)!==null&&t!==void 0?t:"",k=(i=r.inputBorder)!==null&&i!==void 0?i:"";this.element.style.backgroundColor=g,this.element.style.color=y,this.input.style.backgroundColor="inherit",this.input.style.color=y,this.element.style.border="1px solid ".concat(asCssValueWithDefault(k,"transparent"))}layout(){if(!this.mirror)return;const e=this.cachedContentHeight;this.cachedContentHeight=getTotalHeight(this.mirror),e!==this.cachedContentHeight&&(this.cachedHeight=Math.min(this.cachedContentHeight,this.maxHeight),this.input.style.height=this.cachedHeight+"px",this._onDidHeightChange.fire(this.cachedContentHeight))}insertAtCursor(e){const t=this.inputElement,i=t.selectionStart,r=t.selectionEnd,g=t.value;i!==null&&r!==null&&(this.value=g.substr(0,i)+e+g.substr(r),t.setSelectionRange(i+1,i+1),this.layout())}dispose(){var e;this._hideMessage(),this.message=null,(e=this.actionbar)===null||e===void 0||e.dispose(),super.dispose()}};class HistoryInputBox extends InputBox$1{constructor(e,t,i){const r=localize({}," or {0} for history","⇅"),g=localize({}," ({0} for history)","⇅");super(e,t,i),this._onDidFocus=this._register(new Emitter$1),this.onDidFocus=this._onDidFocus.event,this._onDidBlur=this._register(new Emitter$1),this.onDidBlur=this._onDidBlur.event,this.history=new HistoryNavigator(i.history,100);const y=()=>{if(i.showHistoryHint&&i.showHistoryHint()&&!this.placeholder.endsWith(r)&&!this.placeholder.endsWith(g)&&this.history.getHistory().length){const k=this.placeholder.endsWith(")")?r:g,L=this.placeholder+k;i.showPlaceholderOnFocus&&!isActiveElement(this.input)?this.placeholder=L:this.setPlaceHolder(L)}};this.observer=new MutationObserver((k,L)=>{k.forEach(V=>{V.target.textContent||y()})}),this.observer.observe(this.input,{attributeFilter:["class"]}),this.onfocus(this.input,()=>y()),this.onblur(this.input,()=>{const k=L=>{if(this.placeholder.endsWith(L)){const V=this.placeholder.slice(0,this.placeholder.length-L.length);return i.showPlaceholderOnFocus?this.placeholder=V:this.setPlaceHolder(V),!0}else return!1};k(g)||k(r)})}dispose(){super.dispose(),this.observer&&(this.observer.disconnect(),this.observer=void 0)}addToHistory(e){this.value&&(e||this.value!==this.getCurrentValue())&&this.history.add(this.value)}isAtLastInHistory(){return this.history.isLast()}isNowhereInHistory(){return this.history.isNowhere()}showNextValue(){this.history.has(this.value)||this.addToHistory();let e=this.getNextValue();e&&(e=e===this.value?this.getNextValue():e),this.value=e!=null?e:"",status(this.value?this.value:localize("clearedInput","Cleared Input"))}showPreviousValue(){this.history.has(this.value)||this.addToHistory();let e=this.getPreviousValue();e&&(e=e===this.value?this.getPreviousValue():e),e&&(this.value=e,status(this.value))}setPlaceHolder(e){super.setPlaceHolder(e),this.setTooltip(e)}onBlur(){super.onBlur(),this._onDidBlur.fire()}onFocus(){super.onFocus(),this._onDidFocus.fire()}getCurrentValue(){let e=this.history.current();return e||(e=this.history.last(),this.history.next()),e}getPreviousValue(){return this.history.previous()||this.history.first()}getNextValue(){return this.history.next()}}const NLS_DEFAULT_LABEL$1=localize("defaultLabel","input");class FindInput extends Widget$1{constructor(e,t,i){super(),this.fixFocusOnOptionClickEnabled=!0,this.imeSessionInProgress=!1,this.additionalTogglesDisposables=this._register(new MutableDisposable),this.additionalToggles=[],this._onDidOptionChange=this._register(new Emitter$1),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$1),this.onMouseDown=this._onMouseDown.event,this._onInput=this._register(new Emitter$1),this._onKeyUp=this._register(new Emitter$1),this._onCaseSensitiveKeyDown=this._register(new Emitter$1),this.onCaseSensitiveKeyDown=this._onCaseSensitiveKeyDown.event,this._onRegexKeyDown=this._register(new Emitter$1),this.onRegexKeyDown=this._onRegexKeyDown.event,this._lastHighlightFindOptions=0,this.placeholder=i.placeholder||"",this.validation=i.validation,this.label=i.label||NLS_DEFAULT_LABEL$1,this.showCommonFindToggles=!!i.showCommonFindToggles;const r=i.appendCaseSensitiveLabel||"",g=i.appendWholeWordsLabel||"",y=i.appendRegexLabel||"",k=i.history||[],L=!!i.flexibleHeight,V=!!i.flexibleWidth,z=i.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox(this.domNode,t,{placeholder:this.placeholder||"",ariaLabel:this.label||"",validationOptions:{validation:this.validation},history:k,showHistoryHint:i.showHistoryHint,flexibleHeight:L,flexibleWidth:V,flexibleMaxHeight:z,inputBoxStyles:i.inputBoxStyles}));const j=this._register(createInstantHoverDelegate());if(this.showCommonFindToggles){this.regex=this._register(new RegexToggle({appendTitle:y,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.regex.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.regex.onKeyDown(oe=>{this._onRegexKeyDown.fire(oe)})),this.wholeWords=this._register(new WholeWordsToggle({appendTitle:g,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.wholeWords.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this.caseSensitive=this._register(new CaseSensitiveToggle({appendTitle:r,isChecked:!1,hoverDelegate:j,...i.toggleStyles})),this._register(this.caseSensitive.onChange(oe=>{this._onDidOptionChange.fire(oe),!oe&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.caseSensitive.onKeyDown(oe=>{this._onCaseSensitiveKeyDown.fire(oe)}));const ie=[this.caseSensitive.domNode,this.wholeWords.domNode,this.regex.domNode];this.onkeydown(this.domNode,oe=>{if(oe.equals(15)||oe.equals(17)||oe.equals(9)){const re=ie.indexOf(this.domNode.ownerDocument.activeElement);if(re>=0){let ae=-1;oe.equals(17)?ae=(re+1)%ie.length:oe.equals(15)&&(re===0?ae=ie.length-1:ae=re-1),oe.equals(9)?(ie[re].blur(),this.inputBox.focus()):ae>=0&&ie[ae].focus(),EventHelper$1.stop(oe,!0)}}})}this.controls=document.createElement("div"),this.controls.className="controls",this.controls.style.display=this.showCommonFindToggles?"":"none",this.caseSensitive&&this.controls.append(this.caseSensitive.domNode),this.wholeWords&&this.controls.appendChild(this.wholeWords.domNode),this.regex&&this.controls.appendChild(this.regex.domNode),this.setAdditionalToggles(i==null?void 0:i.additionalToggles),this.controls&&this.domNode.appendChild(this.controls),e==null||e.appendChild(this.domNode),this._register(addDisposableListener(this.inputBox.inputElement,"compositionstart",ie=>{this.imeSessionInProgress=!0})),this._register(addDisposableListener(this.inputBox.inputElement,"compositionend",ie=>{this.imeSessionInProgress=!1,this._onInput.fire()})),this.onkeydown(this.inputBox.inputElement,ie=>this._onKeyDown.fire(ie)),this.onkeyup(this.inputBox.inputElement,ie=>this._onKeyUp.fire(ie)),this.oninput(this.inputBox.inputElement,ie=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,ie=>this._onMouseDown.fire(ie))}get onDidChange(){return this.inputBox.onDidChange}layout(e){this.inputBox.layout(),this.updateInputBoxPadding(e.collapsedFindWidget)}enable(){var e,t,i;this.domNode.classList.remove("disabled"),this.inputBox.enable(),(e=this.regex)===null||e===void 0||e.enable(),(t=this.wholeWords)===null||t===void 0||t.enable(),(i=this.caseSensitive)===null||i===void 0||i.enable();for(const r of this.additionalToggles)r.enable()}disable(){var e,t,i;this.domNode.classList.add("disabled"),this.inputBox.disable(),(e=this.regex)===null||e===void 0||e.disable(),(t=this.wholeWords)===null||t===void 0||t.disable(),(i=this.caseSensitive)===null||i===void 0||i.disable();for(const r of this.additionalToggles)r.disable()}setFocusInputOnOptionClick(e){this.fixFocusOnOptionClickEnabled=e}setEnabled(e){e?this.enable():this.disable()}setAdditionalToggles(e){for(const t of this.additionalToggles)t.domNode.remove();this.additionalToggles=[],this.additionalTogglesDisposables.value=new DisposableStore;for(const t of e!=null?e:[])this.additionalTogglesDisposables.value.add(t),this.controls.appendChild(t.domNode),this.additionalTogglesDisposables.value.add(t.onChange(i=>{this._onDidOptionChange.fire(i),!i&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus()})),this.additionalToggles.push(t);this.additionalToggles.length>0&&(this.controls.style.display=""),this.updateInputBoxPadding()}updateInputBoxPadding(e=!1){var t,i,r,g,y,k;e?this.inputBox.paddingRight=0:this.inputBox.paddingRight=((i=(t=this.caseSensitive)===null||t===void 0?void 0:t.width())!==null&&i!==void 0?i:0)+((g=(r=this.wholeWords)===null||r===void 0?void 0:r.width())!==null&&g!==void 0?g:0)+((k=(y=this.regex)===null||y===void 0?void 0:y.width())!==null&&k!==void 0?k:0)+this.additionalToggles.reduce((L,V)=>L+V.width(),0)}getValue(){return this.inputBox.value}setValue(e){this.inputBox.value!==e&&(this.inputBox.value=e)}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getCaseSensitive(){var e,t;return(t=(e=this.caseSensitive)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setCaseSensitive(e){this.caseSensitive&&(this.caseSensitive.checked=e)}getWholeWords(){var e,t;return(t=(e=this.wholeWords)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setWholeWords(e){this.wholeWords&&(this.wholeWords.checked=e)}getRegex(){var e,t;return(t=(e=this.regex)===null||e===void 0?void 0:e.checked)!==null&&t!==void 0?t:!1}setRegex(e){this.regex&&(this.regex.checked=e,this.validate())}focusOnCaseSensitive(){var e;(e=this.caseSensitive)===null||e===void 0||e.focus()}highlightFindOptions(){this.domNode.classList.remove("highlight-"+this._lastHighlightFindOptions),this._lastHighlightFindOptions=1-this._lastHighlightFindOptions,this.domNode.classList.add("highlight-"+this._lastHighlightFindOptions)}validate(){this.inputBox.validate()}showMessage(e){this.inputBox.showMessage(e)}clearMessage(){this.inputBox.hideMessage()}}var ObjectTreeElementCollapseState;(function(n){n[n.Expanded=0]="Expanded",n[n.Collapsed=1]="Collapsed",n[n.PreserveOrExpanded=2]="PreserveOrExpanded",n[n.PreserveOrCollapsed=3]="PreserveOrCollapsed"})(ObjectTreeElementCollapseState||(ObjectTreeElementCollapseState={}));var TreeMouseEventTarget;(function(n){n[n.Unknown=0]="Unknown",n[n.Twistie=1]="Twistie",n[n.Element=2]="Element",n[n.Filter=3]="Filter"})(TreeMouseEventTarget||(TreeMouseEventTarget={}));class TreeError extends Error{constructor(e,t){super("TreeError [".concat(e,"] ").concat(t))}}class WeakMapper{constructor(e){this.fn=e,this._map=new WeakMap}map(e){let t=this._map.get(e);return t||(t=this.fn(e),this._map.set(e,t)),t}}function isFilterResult(n){return typeof n=="object"&&"visibility"in n&&"data"in n}function getVisibleState(n){switch(n){case!0:return 1;case!1:return 0;default:return n}}function isCollapsibleStateUpdate(n){return typeof n.collapsible=="boolean"}class IndexTreeModel{constructor(e,t,i,r={}){var g;this.user=e,this.list=t,this.rootRef=[],this.eventBufferer=new EventBufferer,this._onDidChangeCollapseState=new Emitter$1,this.onDidChangeCollapseState=this.eventBufferer.wrapEvent(this._onDidChangeCollapseState.event),this._onDidChangeRenderNodeCount=new Emitter$1,this.onDidChangeRenderNodeCount=this.eventBufferer.wrapEvent(this._onDidChangeRenderNodeCount.event),this._onDidSplice=new Emitter$1,this.onDidSplice=this._onDidSplice.event,this.refilterDelayer=new Delayer(MicrotaskDelay),this.collapseByDefault=typeof r.collapseByDefault>"u"?!1:r.collapseByDefault,this.allowNonCollapsibleParents=(g=r.allowNonCollapsibleParents)!==null&&g!==void 0?g:!1,this.filter=r.filter,this.autoExpandSingleChildren=typeof r.autoExpandSingleChildren>"u"?!1:r.autoExpandSingleChildren,this.root={parent:void 0,element:i,children:[],depth:0,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:!1,collapsed:!1,renderNodeCount:0,visibility:1,visible:!0,filterData:void 0}}splice(e,t,i=Iterable.empty(),r={}){if(e.length===0)throw new TreeError(this.user,"Invalid tree location");r.diffIdentityProvider?this.spliceSmart(r.diffIdentityProvider,e,t,i,r):this.spliceSimple(e,t,i,r)}spliceSmart(e,t,i,r,g,y){var k;r===void 0&&(r=Iterable.empty()),y===void 0&&(y=(k=g.diffDepth)!==null&&k!==void 0?k:0);const{parentNode:L}=this.getParentNodeWithListIndex(t);if(!L.lastDiffIds)return this.spliceSimple(t,i,r,g);const V=[...r],z=t[t.length-1],j=new LcsDiff({getElements:()=>L.lastDiffIds},{getElements:()=>[...L.children.slice(0,z),...V,...L.children.slice(z+i)].map(le=>e.getId(le.element).toString())}).ComputeDiff(!1);if(j.quitEarly)return L.lastDiffIds=void 0,this.spliceSimple(t,i,V,g);const ie=t.slice(0,-1),oe=(le,de,ue)=>{if(y>0)for(let he=0;heue.originalStart-de.originalStart))oe(re,ae,re-(le.originalStart+le.originalLength)),re=le.originalStart,ae=le.modifiedStart-z,this.spliceSimple([...ie,re],le.originalLength,Iterable.slice(V,ae,ae+le.modifiedLength),g);oe(re,ae,re)}spliceSimple(e,t,i=Iterable.empty(),{onDidCreateNode:r,onDidDeleteNode:g,diffIdentityProvider:y}){const{parentNode:k,listIndex:L,revealed:V,visible:z}=this.getParentNodeWithListIndex(e),j=[],ie=Iterable.map(i,Ce=>this.createTreeNode(Ce,k,k.visible?1:0,V,j,r)),oe=e[e.length-1];let re=0;for(let Ce=oe;Ce>=0&&Cey.getId(Ce.element).toString())):k.lastDiffIds=k.children.map(Ce=>y.getId(Ce.element).toString()):k.lastDiffIds=void 0;let he=0;for(const Ce of ue)Ce.visible&&he++;if(he!==0)for(let Ce=oe+ae.length;Ce$e+(xe.visible?xe.renderNodeCount:0),0);this._updateAncestorsRenderNodeCount(k,de-Ce),this.list.splice(L,Ce,j)}if(ue.length>0&&g){const Ce=$e=>{g($e),$e.children.forEach(Ce)};ue.forEach(Ce)}this._onDidSplice.fire({insertedNodes:ae,deletedNodes:ue});let pe=k;for(;pe;){if(pe.visibility===2){this.refilterDelayer.trigger(()=>this.refilter());break}pe=pe.parent}}rerender(e){if(e.length===0)throw new TreeError(this.user,"Invalid tree location");const{node:t,listIndex:i,revealed:r}=this.getTreeNodeWithListIndex(e);t.visible&&r&&this.list.splice(i,1,[t])}has(e){return this.hasTreeNode(e)}getListIndex(e){const{listIndex:t,visible:i,revealed:r}=this.getTreeNodeWithListIndex(e);return i&&r?t:-1}getListRenderCount(e){return this.getTreeNode(e).renderNodeCount}isCollapsible(e){return this.getTreeNode(e).collapsible}setCollapsible(e,t){const i=this.getTreeNode(e);typeof t>"u"&&(t=!i.collapsible);const r={collapsible:t};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,r))}isCollapsed(e){return this.getTreeNode(e).collapsed}setCollapsed(e,t,i){const r=this.getTreeNode(e);typeof t>"u"&&(t=!r.collapsed);const g={collapsed:t,recursive:i||!1};return this.eventBufferer.bufferEvents(()=>this._setCollapseState(e,g))}_setCollapseState(e,t){const{node:i,listIndex:r,revealed:g}=this.getTreeNodeWithListIndex(e),y=this._setListNodeCollapseState(i,r,g,t);if(i!==this.root&&this.autoExpandSingleChildren&&y&&!isCollapsibleStateUpdate(t)&&i.collapsible&&!i.collapsed&&!t.recursive){let k=-1;for(let L=0;L-1){k=-1;break}else k=L;k>-1&&this._setCollapseState([...e,k],t)}return y}_setListNodeCollapseState(e,t,i,r){const g=this._setNodeCollapseState(e,r,!1);if(!i||!e.visible||!g)return g;const y=e.renderNodeCount,k=this.updateNodeAfterCollapseChange(e),L=y-(t===-1?0:1);return this.list.splice(t+1,L,k.slice(1)),g}_setNodeCollapseState(e,t,i){let r;if(e===this.root?r=!1:(isCollapsibleStateUpdate(t)?(r=e.collapsible!==t.collapsible,e.collapsible=t.collapsible):e.collapsible?(r=e.collapsed!==t.collapsed,e.collapsed=t.collapsed):r=!1,r&&this._onDidChangeCollapseState.fire({node:e,deep:i})),!isCollapsibleStateUpdate(t)&&t.recursive)for(const g of e.children)r=this._setNodeCollapseState(g,t,!0)||r;return r}expandTo(e){this.eventBufferer.bufferEvents(()=>{let t=this.getTreeNode(e);for(;t.parent;)t=t.parent,e=e.slice(0,e.length-1),t.collapsed&&this._setCollapseState(e,{collapsed:!1,recursive:!1})})}refilter(){const e=this.root.renderNodeCount,t=this.updateNodeAfterFilterChange(this.root);this.list.splice(0,e,t),this.refilterDelayer.cancel()}createTreeNode(e,t,i,r,g,y){const k={parent:t,element:e.element,children:[],depth:t.depth+1,visibleChildrenCount:0,visibleChildIndex:-1,collapsible:typeof e.collapsible=="boolean"?e.collapsible:typeof e.collapsed<"u",collapsed:typeof e.collapsed>"u"?this.collapseByDefault:e.collapsed,renderNodeCount:1,visibility:1,visible:!0,filterData:void 0},L=this._filterNode(k,i);k.visibility=L,r&&g.push(k);const V=e.children||Iterable.empty(),z=r&&L!==0&&!k.collapsed;let j=0,ie=1;for(const oe of V){const re=this.createTreeNode(oe,k,L,z,g,y);k.children.push(re),ie+=re.renderNodeCount,re.visible&&(re.visibleChildIndex=j++)}return this.allowNonCollapsibleParents||(k.collapsible=k.collapsible||k.children.length>0),k.visibleChildrenCount=j,k.visible=L===2?j>0:L===1,k.visible?k.collapsed||(k.renderNodeCount=ie):(k.renderNodeCount=0,r&&g.pop()),y==null||y(k),k}updateNodeAfterCollapseChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterCollapseChange(e,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterCollapseChange(e,t){if(e.visible===!1)return 0;if(t.push(e),e.renderNodeCount=1,!e.collapsed)for(const i of e.children)e.renderNodeCount+=this._updateNodeAfterCollapseChange(i,t);return this._onDidChangeRenderNodeCount.fire(e),e.renderNodeCount}updateNodeAfterFilterChange(e){const t=e.renderNodeCount,i=[];return this._updateNodeAfterFilterChange(e,e.visible?1:0,i),this._updateAncestorsRenderNodeCount(e.parent,i.length-t),i}_updateNodeAfterFilterChange(e,t,i,r=!0){let g;if(e!==this.root){if(g=this._filterNode(e,t),g===0)return e.visible=!1,e.renderNodeCount=0,!1;r&&i.push(e)}const y=i.length;e.renderNodeCount=e===this.root?0:1;let k=!1;if(!e.collapsed||g!==0){let L=0;for(const V of e.children)k=this._updateNodeAfterFilterChange(V,g,i,r&&!e.collapsed)||k,V.visible&&(V.visibleChildIndex=L++);e.visibleChildrenCount=L}else e.visibleChildrenCount=0;return e!==this.root&&(e.visible=g===2?k:g===1,e.visibility=g),e.visible?e.collapsed||(e.renderNodeCount+=i.length-y):(e.renderNodeCount=0,r&&i.pop()),this._onDidChangeRenderNodeCount.fire(e),e.visible}_updateAncestorsRenderNodeCount(e,t){if(t!==0)for(;e;)e.renderNodeCount+=t,this._onDidChangeRenderNodeCount.fire(e),e=e.parent}_filterNode(e,t){const i=this.filter?this.filter.filter(e.element,t):1;return typeof i=="boolean"?(e.filterData=void 0,i?1:0):isFilterResult(i)?(e.filterData=i.data,getVisibleState(i.visibility)):(e.filterData=void 0,getVisibleState(i))}hasTreeNode(e,t=this.root){if(!e||e.length===0)return!0;const[i,...r]=e;return i<0||i>t.children.length?!1:this.hasTreeNode(r,t.children[i])}getTreeNode(e,t=this.root){if(!e||e.length===0)return t;const[i,...r]=e;if(i<0||i>t.children.length)throw new TreeError(this.user,"Invalid tree location");return this.getTreeNode(r,t.children[i])}getTreeNodeWithListIndex(e){if(e.length===0)return{node:this.root,listIndex:-1,revealed:!0,visible:!1};const{parentNode:t,listIndex:i,revealed:r,visible:g}=this.getParentNodeWithListIndex(e),y=e[e.length-1];if(y<0||y>t.children.length)throw new TreeError(this.user,"Invalid tree location");const k=t.children[y];return{node:k,listIndex:i,revealed:r,visible:g&&k.visible}}getParentNodeWithListIndex(e,t=this.root,i=0,r=!0,g=!0){const[y,...k]=e;if(y<0||y>t.children.length)throw new TreeError(this.user,"Invalid tree location");for(let L=0;Lt.element)),this.data=e}}function asTreeDragAndDropData(n){return n instanceof ElementsDragAndDropData?new TreeElementsDragAndDropData(n):n}class TreeNodeListDragAndDrop{constructor(e,t){this.modelProvider=e,this.dnd=t,this.autoExpandDisposable=Disposable.None,this.disposables=new DisposableStore}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,asTreeDragAndDropData(e),t)}onDragOver(e,t,i,r,g,y=!0){const k=this.dnd.onDragOver(asTreeDragAndDropData(e),t&&t.element,i,r,g),L=this.autoExpandNode!==t;if(L&&(this.autoExpandDisposable.dispose(),this.autoExpandNode=t),typeof t>"u")return k;if(L&&typeof k!="boolean"&&k.autoExpand&&(this.autoExpandDisposable=disposableTimeout(()=>{const oe=this.modelProvider(),re=oe.getNodeLocation(t);oe.isCollapsed(re)&&oe.setCollapsed(re,!1),this.autoExpandNode=void 0},500,this.disposables)),typeof k=="boolean"||!k.accept||typeof k.bubble>"u"||k.feedback){if(!y){const oe=typeof k=="boolean"?k:k.accept,re=typeof k=="boolean"?void 0:k.effect;return{accept:oe,effect:re,feedback:[i]}}return k}if(k.bubble===1){const oe=this.modelProvider(),re=oe.getNodeLocation(t),ae=oe.getParentNodeLocation(re),le=oe.getNode(ae),de=ae&&oe.getListIndex(ae);return this.onDragOver(e,le,de,r,g,!1)}const V=this.modelProvider(),z=V.getNodeLocation(t),j=V.getListIndex(z),ie=V.getListRenderCount(z);return{...k,feedback:range(j,j+ie)}}drop(e,t,i,r,g){this.autoExpandDisposable.dispose(),this.autoExpandNode=void 0,this.dnd.drop(asTreeDragAndDropData(e),t&&t.element,i,r,g)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.disposables.dispose(),this.dnd.dispose()}}function asListOptions(n,e){return e&&{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(t.element)}},dnd:e.dnd&&new TreeNodeListDragAndDrop(n,e.dnd),multipleSelectionController:e.multipleSelectionController&&{isSelectionSingleChangeEvent(t){return e.multipleSelectionController.isSelectionSingleChangeEvent({...t,element:t.element})},isSelectionRangeChangeEvent(t){return e.multipleSelectionController.isSelectionRangeChangeEvent({...t,element:t.element})}},accessibilityProvider:e.accessibilityProvider&&{...e.accessibilityProvider,getSetSize(t){const i=n(),r=i.getNodeLocation(t),g=i.getParentNodeLocation(r);return i.getNode(g).visibleChildrenCount},getPosInSet(t){return t.visibleChildIndex+1},isChecked:e.accessibilityProvider&&e.accessibilityProvider.isChecked?t=>e.accessibilityProvider.isChecked(t.element):void 0,getRole:e.accessibilityProvider&&e.accessibilityProvider.getRole?t=>e.accessibilityProvider.getRole(t.element):()=>"treeitem",getAriaLabel(t){return e.accessibilityProvider.getAriaLabel(t.element)},getWidgetAriaLabel(){return e.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:e.accessibilityProvider&&e.accessibilityProvider.getWidgetRole?()=>e.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:e.accessibilityProvider&&e.accessibilityProvider.getAriaLevel?t=>e.accessibilityProvider.getAriaLevel(t.element):t=>t.depth,getActiveDescendantId:e.accessibilityProvider.getActiveDescendantId&&(t=>e.accessibilityProvider.getActiveDescendantId(t.element))},keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(t){return e.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(t.element)}}}}class ComposedTreeDelegate{constructor(e){this.delegate=e}getHeight(e){return this.delegate.getHeight(e.element)}getTemplateId(e){return this.delegate.getTemplateId(e.element)}hasDynamicHeight(e){return!!this.delegate.hasDynamicHeight&&this.delegate.hasDynamicHeight(e.element)}setDynamicHeight(e,t){var i,r;(r=(i=this.delegate).setDynamicHeight)===null||r===void 0||r.call(i,e.element,t)}}var RenderIndentGuides;(function(n){n.None="none",n.OnHover="onHover",n.Always="always"})(RenderIndentGuides||(RenderIndentGuides={}));class EventCollection{get elements(){return this._elements}constructor(e,t=[]){this._elements=t,this.disposables=new DisposableStore,this.onDidChange=Event$1.forEach(e,i=>this._elements=i,this.disposables)}dispose(){this.disposables.dispose()}}class TreeRenderer{constructor(e,t,i,r,g,y={}){var k;this.renderer=e,this.modelProvider=t,this.activeNodes=r,this.renderedIndentGuides=g,this.renderedElements=new Map,this.renderedNodes=new Map,this.indent=TreeRenderer.DefaultIndent,this.hideTwistiesOfChildlessElements=!1,this.shouldRenderIndentGuides=!1,this.activeIndentNodes=new Set,this.indentGuidesDisposable=Disposable.None,this.disposables=new DisposableStore,this.templateId=e.templateId,this.updateOptions(y),Event$1.map(i,L=>L.node)(this.onDidChangeNodeTwistieState,this,this.disposables),(k=e.onDidChangeTwistieState)===null||k===void 0||k.call(e,this.onDidChangeTwistieState,this,this.disposables)}updateOptions(e={}){if(typeof e.indent<"u"){const t=clamp(e.indent,0,40);if(t!==this.indent){this.indent=t;for(const[i,r]of this.renderedNodes)this.renderTreeElement(i,r)}}if(typeof e.renderIndentGuides<"u"){const t=e.renderIndentGuides!==RenderIndentGuides.None;if(t!==this.shouldRenderIndentGuides){this.shouldRenderIndentGuides=t;for(const[i,r]of this.renderedNodes)this._renderIndentGuides(i,r);if(this.indentGuidesDisposable.dispose(),t){const i=new DisposableStore;this.activeNodes.onDidChange(this._onDidChangeActiveNodes,this,i),this.indentGuidesDisposable=i,this._onDidChangeActiveNodes(this.activeNodes.elements)}}}typeof e.hideTwistiesOfChildlessElements<"u"&&(this.hideTwistiesOfChildlessElements=e.hideTwistiesOfChildlessElements)}renderTemplate(e){const t=append$1(e,$$f(".monaco-tl-row")),i=append$1(t,$$f(".monaco-tl-indent")),r=append$1(t,$$f(".monaco-tl-twistie")),g=append$1(t,$$f(".monaco-tl-contents")),y=this.renderer.renderTemplate(g);return{container:e,indent:i,twistie:r,indentGuidesDisposable:Disposable.None,templateData:y}}renderElement(e,t,i,r){this.renderedNodes.set(e,i),this.renderedElements.set(e.element,e),this.renderTreeElement(e,i),this.renderer.renderElement(e,t,i.templateData,r)}disposeElement(e,t,i,r){var g,y;i.indentGuidesDisposable.dispose(),(y=(g=this.renderer).disposeElement)===null||y===void 0||y.call(g,e,t,i.templateData,r),typeof r=="number"&&(this.renderedNodes.delete(e),this.renderedElements.delete(e.element))}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}onDidChangeTwistieState(e){const t=this.renderedElements.get(e);t&&this.onDidChangeNodeTwistieState(t)}onDidChangeNodeTwistieState(e){const t=this.renderedNodes.get(e);t&&(this._onDidChangeActiveNodes(this.activeNodes.elements),this.renderTreeElement(e,t))}renderTreeElement(e,t){const i=TreeRenderer.DefaultIndent+(e.depth-1)*this.indent;t.twistie.style.paddingLeft="".concat(i,"px"),t.indent.style.width="".concat(i+this.indent-16,"px"),e.collapsible?t.container.setAttribute("aria-expanded",String(!e.collapsed)):t.container.removeAttribute("aria-expanded"),t.twistie.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded));let r=!1;this.renderer.renderTwistie&&(r=this.renderer.renderTwistie(e.element,t.twistie)),e.collapsible&&(!this.hideTwistiesOfChildlessElements||e.visibleChildrenCount>0)?(r||t.twistie.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemExpanded)),t.twistie.classList.add("collapsible"),t.twistie.classList.toggle("collapsed",e.collapsed)):t.twistie.classList.remove("collapsible","collapsed"),this._renderIndentGuides(e,t)}_renderIndentGuides(e,t){if(clearNode(t.indent),t.indentGuidesDisposable.dispose(),!this.shouldRenderIndentGuides)return;const i=new DisposableStore,r=this.modelProvider();for(;;){const g=r.getNodeLocation(e),y=r.getParentNodeLocation(g);if(!y)break;const k=r.getNode(y),L=$$f(".indent-guide",{style:"width: ".concat(this.indent,"px")});this.activeIndentNodes.has(k)&&L.classList.add("active"),t.indent.childElementCount===0?t.indent.appendChild(L):t.indent.insertBefore(L,t.indent.firstElementChild),this.renderedIndentGuides.add(k,L),i.add(toDisposable(()=>this.renderedIndentGuides.delete(k,L))),e=k}t.indentGuidesDisposable=i}_onDidChangeActiveNodes(e){if(!this.shouldRenderIndentGuides)return;const t=new Set,i=this.modelProvider();e.forEach(r=>{const g=i.getNodeLocation(r);try{const y=i.getParentNodeLocation(g);r.collapsible&&r.children.length>0&&!r.collapsed?t.add(r):y&&t.add(i.getNode(y))}catch(y){}}),this.activeIndentNodes.forEach(r=>{t.has(r)||this.renderedIndentGuides.forEach(r,g=>g.classList.remove("active"))}),t.forEach(r=>{this.activeIndentNodes.has(r)||this.renderedIndentGuides.forEach(r,g=>g.classList.add("active"))}),this.activeIndentNodes=t}dispose(){this.renderedNodes.clear(),this.renderedElements.clear(),this.indentGuidesDisposable.dispose(),dispose(this.disposables)}}TreeRenderer.DefaultIndent=8;class FindFilter{get totalCount(){return this._totalCount}get matchCount(){return this._matchCount}constructor(e,t,i){this.tree=e,this.keyboardNavigationLabelProvider=t,this._filter=i,this._totalCount=0,this._matchCount=0,this._pattern="",this._lowercasePattern="",this.disposables=new DisposableStore,e.onWillRefilter(this.reset,this,this.disposables)}filter(e,t){let i=1;if(this._filter){const y=this._filter.filter(e,t);if(typeof y=="boolean"?i=y?1:0:isFilterResult(y)?i=getVisibleState(y.visibility):i=y,i===0)return!1}if(this._totalCount++,!this._pattern)return this._matchCount++,{data:FuzzyScore.Default,visibility:i};const r=this.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e),g=Array.isArray(r)?r:[r];for(const y of g){const k=y&&y.toString();if(typeof k>"u")return{data:FuzzyScore.Default,visibility:i};let L;if(this.tree.findMatchType===TreeFindMatchType.Contiguous){const V=k.toLowerCase().indexOf(this._lowercasePattern);if(V>-1){L=[Number.MAX_SAFE_INTEGER,0];for(let z=this._lowercasePattern.length;z>0;z--)L.push(V+z-1)}}else L=fuzzyScore(this._pattern,this._lowercasePattern,0,k,k.toLowerCase(),0,{firstMatchCanBeWeak:!0,boostFullMatch:!0});if(L)return this._matchCount++,g.length===1?{data:L,visibility:i}:{data:{label:k,score:L},visibility:i}}return this.tree.findMode===TreeFindMode.Filter?typeof this.tree.options.defaultFindVisibility=="number"?this.tree.options.defaultFindVisibility:this.tree.options.defaultFindVisibility?this.tree.options.defaultFindVisibility(e):2:{data:FuzzyScore.Default,visibility:i}}reset(){this._totalCount=0,this._matchCount=0}dispose(){dispose(this.disposables)}}var TreeFindMode;(function(n){n[n.Highlight=0]="Highlight",n[n.Filter=1]="Filter"})(TreeFindMode||(TreeFindMode={}));var TreeFindMatchType;(function(n){n[n.Fuzzy=0]="Fuzzy",n[n.Contiguous=1]="Contiguous"})(TreeFindMatchType||(TreeFindMatchType={}));let FindController$1=class{get pattern(){return this._pattern}get mode(){return this._mode}set mode(e){e!==this._mode&&(this._mode=e,this.widget&&(this.widget.mode=this._mode),this.tree.refilter(),this.render(),this._onDidChangeMode.fire(e))}get matchType(){return this._matchType}set matchType(e){e!==this._matchType&&(this._matchType=e,this.widget&&(this.widget.matchType=this._matchType),this.tree.refilter(),this.render(),this._onDidChangeMatchType.fire(e))}constructor(e,t,i,r,g,y={}){var k,L;this.tree=e,this.view=i,this.filter=r,this.contextViewProvider=g,this.options=y,this._pattern="",this.width=0,this._onDidChangeMode=new Emitter$1,this.onDidChangeMode=this._onDidChangeMode.event,this._onDidChangeMatchType=new Emitter$1,this.onDidChangeMatchType=this._onDidChangeMatchType.event,this._onDidChangePattern=new Emitter$1,this._onDidChangeOpenState=new Emitter$1,this.onDidChangeOpenState=this._onDidChangeOpenState.event,this.enabledDisposables=new DisposableStore,this.disposables=new DisposableStore,this._mode=(k=e.options.defaultFindMode)!==null&&k!==void 0?k:TreeFindMode.Highlight,this._matchType=(L=e.options.defaultFindMatchType)!==null&&L!==void 0?L:TreeFindMatchType.Fuzzy,t.onDidSplice(this.onDidSpliceModel,this,this.disposables)}updateOptions(e={}){e.defaultFindMode!==void 0&&(this.mode=e.defaultFindMode),e.defaultFindMatchType!==void 0&&(this.matchType=e.defaultFindMatchType)}onDidSpliceModel(){!this.widget||this.pattern.length===0||(this.tree.refilter(),this.render())}render(){var e,t,i,r;const g=this.filter.totalCount>0&&this.filter.matchCount===0;this.pattern&&g?!((e=this.tree.options.showNotFoundMessage)!==null&&e!==void 0)||e?(t=this.widget)===null||t===void 0||t.showMessage({type:2,content:localize("not found","No elements found.")}):(i=this.widget)===null||i===void 0||i.showMessage({type:2}):(r=this.widget)===null||r===void 0||r.clearMessage()}shouldAllowFocus(e){return!this.widget||!this.pattern||this.filter.totalCount>0&&this.filter.matchCount<=1?!0:!FuzzyScore.isDefault(e.filterData)}layout(e){var t;this.width=e,(t=this.widget)===null||t===void 0||t.layout(e)}dispose(){this._history=void 0,this._onDidChangePattern.dispose(),this.enabledDisposables.dispose(),this.disposables.dispose()}};function stickyScrollNodeStateEquals(n,e){return n.position===e.position&&stickyScrollNodeEquals(n,e)}function stickyScrollNodeEquals(n,e){return n.node.element===e.node.element&&n.startIndex===e.startIndex&&n.height===e.height&&n.endIndex===e.endIndex}class StickyScrollState{constructor(e=[]){this.stickyNodes=e}get count(){return this.stickyNodes.length}equal(e){return equals$3(this.stickyNodes,e.stickyNodes,stickyScrollNodeStateEquals)}lastNodePartiallyVisible(){if(this.count===0)return!1;const e=this.stickyNodes[this.count-1];if(this.count===1)return e.position!==0;const t=this.stickyNodes[this.count-2];return t.position+t.height!==e.position}animationStateChanged(e){if(!equals$3(this.stickyNodes,e.stickyNodes,stickyScrollNodeEquals)||this.count===0)return!1;const t=this.stickyNodes[this.count-1],i=e.stickyNodes[e.count-1];return t.position!==i.position}}class DefaultStickyScrollDelegate{constrainStickyScrollNodes(e,t,i){for(let r=0;ri||r>=t)return e.slice(0,r)}return e}}let StickyScrollController$1=class extends Disposable{constructor(e,t,i,r,g,y={}){var k;super(),this.tree=e,this.model=t,this.view=i,this.treeDelegate=g,this.maxWidgetViewRatio=.4;const L=this.validateStickySettings(y);this.stickyScrollMaxItemCount=L.stickyScrollMaxItemCount,this.stickyScrollDelegate=(k=y.stickyScrollDelegate)!==null&&k!==void 0?k:new DefaultStickyScrollDelegate,this._widget=this._register(new StickyScrollWidget$1(i.getScrollableElement(),i,e,r,g,y.accessibilityProvider)),this.onDidChangeHasFocus=this._widget.onDidChangeHasFocus,this.onContextMenu=this._widget.onContextMenu,this._register(i.onDidScroll(()=>this.update())),this._register(i.onDidChangeContentHeight(()=>this.update())),this._register(e.onDidChangeCollapseState(()=>this.update())),this.update()}get height(){return this._widget.height}getNodeAtHeight(e){let t;if(e===0?t=this.view.firstVisibleIndex:t=this.view.indexAt(e+this.view.scrollTop),!(t<0||t>=this.view.length))return this.view.element(t)}update(){const e=this.getNodeAtHeight(0);if(!e||this.tree.scrollTop===0){this._widget.setState(void 0);return}const t=this.findStickyState(e);this._widget.setState(t)}findStickyState(e){const t=[];let i=e,r=0,g=this.getNextStickyNode(i,void 0,r);for(;g&&(t.push(g),r+=g.height,!(t.length<=this.stickyScrollMaxItemCount&&(i=this.getNextVisibleNode(g),!i)));)g=this.getNextStickyNode(i,g.node,r);const y=this.constrainStickyNodes(t);return y.length?new StickyScrollState(y):void 0}getNextVisibleNode(e){return this.getNodeAtHeight(e.position+e.height)}getNextStickyNode(e,t,i){const r=this.getAncestorUnderPrevious(e,t);if(r&&!(r===e&&(!this.nodeIsUncollapsedParent(e)||this.nodeTopAlignsWithStickyNodesBottom(e,i))))return this.createStickyScrollNode(r,i)}nodeTopAlignsWithStickyNodesBottom(e,t){const i=this.getNodeIndex(e),r=this.view.getElementTop(i),g=t;return this.view.scrollTop===r-g}createStickyScrollNode(e,t){const i=this.treeDelegate.getHeight(e),{startIndex:r,endIndex:g}=this.getNodeRange(e),y=this.calculateStickyNodePosition(g,t,i);return{node:e,position:y,height:i,startIndex:r,endIndex:g}}getAncestorUnderPrevious(e,t=void 0){let i=e,r=this.getParentNode(i);for(;r;){if(r===t)return i;i=r,r=this.getParentNode(i)}if(t===void 0)return i}calculateStickyNodePosition(e,t,i){let r=this.view.getRelativeTop(e);if(r===null&&this.view.firstVisibleIndex===e&&e+1L&&t<=L?L-i:t}constrainStickyNodes(e){if(e.length===0)return[];const t=this.view.renderHeight*this.maxWidgetViewRatio,i=e[e.length-1];if(e.length<=this.stickyScrollMaxItemCount&&i.position+i.height<=t)return e;const r=this.stickyScrollDelegate.constrainStickyScrollNodes(e,this.stickyScrollMaxItemCount,t);if(!r.length)return[];const g=r[r.length-1];if(r.length>this.stickyScrollMaxItemCount||g.position+g.height>t)throw new Error("stickyScrollDelegate violates constraints");return r}getParentNode(e){const t=this.model.getNodeLocation(e),i=this.model.getParentNodeLocation(t);return i?this.model.getNode(i):void 0}nodeIsUncollapsedParent(e){const t=this.model.getNodeLocation(e);return this.model.getListRenderCount(t)>1}getNodeIndex(e){const t=this.model.getNodeLocation(e);return this.model.getListIndex(t)}getNodeRange(e){const t=this.model.getNodeLocation(e),i=this.model.getListIndex(t);if(i<0)throw new Error("Node not found in tree");const r=this.model.getListRenderCount(t),g=i+r-1;return{startIndex:i,endIndex:g}}nodePositionTopBelowWidget(e){const t=[];let i=this.getParentNode(e);for(;i;)t.push(i),i=this.getParentNode(i);let r=0;for(let g=0;g0,i=!!e&&e.count>0;if(!t&&!i||t&&i&&this._previousState.equal(e))return;if(t!==i&&this.setVisible(i),!i){this._previousState=void 0,this._previousElements=[],this._previousStateDisposables.clear();return}const r=e.stickyNodes[e.count-1];if(this._previousState&&e.animationStateChanged(this._previousState))this._previousElements[this._previousState.count-1].style.top="".concat(r.position,"px");else{this._previousStateDisposables.clear();const g=Array(e.count);for(let y=e.count-1;y>=0;y--){const k=e.stickyNodes[y],{element:L,disposable:V}=this.createElement(k,y,e.count);g[y]=L,this._rootDomNode.appendChild(L),this._previousStateDisposables.add(V)}this.stickyScrollFocus.updateElements(g,e),this._previousElements=g}this._previousState=e,this._rootDomNode.style.height="".concat(r.position+r.height,"px")}createElement(e,t,i){const r=e.startIndex,g=document.createElement("div");g.style.top="".concat(e.position,"px"),this.tree.options.setRowHeight!==!1&&(g.style.height="".concat(e.height,"px")),this.tree.options.setRowLineHeight!==!1&&(g.style.lineHeight="".concat(e.height,"px")),g.classList.add("monaco-tree-sticky-row"),g.classList.add("monaco-list-row"),g.setAttribute("data-index","".concat(r)),g.setAttribute("data-parity",r%2===0?"even":"odd"),g.setAttribute("id",this.view.getElementID(r));const y=this.setAccessibilityAttributes(g,e.node.element,t,i),k=this.treeDelegate.getTemplateId(e.node),L=this.treeRenderers.find(ie=>ie.templateId===k);if(!L)throw new Error("No renderer found for template id ".concat(k));let V=e.node;V===this.tree.getNode(this.tree.getNodeLocation(e.node))&&(V=new Proxy(e.node,{}));const z=L.renderTemplate(g);L.renderElement(V,e.startIndex,z,e.height);const j=toDisposable(()=>{y.dispose(),L.disposeElement(V,e.startIndex,z,e.height),L.disposeTemplate(z),g.remove()});return{element:g,disposable:j}}setAccessibilityAttributes(e,t,i,r){var g;if(!this.accessibilityProvider)return Disposable.None;this.accessibilityProvider.getSetSize&&e.setAttribute("aria-setsize",String(this.accessibilityProvider.getSetSize(t,i,r))),this.accessibilityProvider.getPosInSet&&e.setAttribute("aria-posinset",String(this.accessibilityProvider.getPosInSet(t,i))),this.accessibilityProvider.getRole&&e.setAttribute("role",(g=this.accessibilityProvider.getRole(t))!==null&&g!==void 0?g:"treeitem");const y=this.accessibilityProvider.getAriaLabel(t),k=y&&typeof y!="string"?y:constObservable(y),L=autorun(z=>{const j=z.readObservable(k);j?e.setAttribute("aria-label",j):e.removeAttribute("aria-label")});typeof y=="string"||y&&e.setAttribute("aria-label",y.get());const V=this.accessibilityProvider.getAriaLevel&&this.accessibilityProvider.getAriaLevel(t);return typeof V=="number"&&e.setAttribute("aria-level","".concat(V)),e.setAttribute("aria-selected",String(!1)),L}setVisible(e){this._rootDomNode.classList.toggle("empty",!e),e||this.stickyScrollFocus.updateElements([],void 0)}domFocus(){this.stickyScrollFocus.domFocus()}focusedLast(){return this.stickyScrollFocus.focusedLast()}dispose(){this.stickyScrollFocus.dispose(),this._previousStateDisposables.dispose(),this._rootDomNode.remove()}};class StickyScrollFocus extends Disposable{get domHasFocus(){return this._domHasFocus}set domHasFocus(e){e!==this._domHasFocus&&(this._onDidChangeHasFocus.fire(e),this._domHasFocus=e)}constructor(e,t){super(),this.container=e,this.view=t,this.focusedIndex=-1,this.elements=[],this._onDidChangeHasFocus=new Emitter$1,this.onDidChangeHasFocus=this._onDidChangeHasFocus.event,this._onContextMenu=new Emitter$1,this.onContextMenu=this._onContextMenu.event,this._domHasFocus=!1,this.container.addEventListener("focus",()=>this.onFocus()),this.container.addEventListener("blur",()=>this.onBlur()),this._register(this.view.onDidFocus(()=>this.toggleStickyScrollFocused(!1))),this._register(this.view.onKeyDown(i=>this.onKeyDown(i))),this._register(this.view.onMouseDown(i=>this.onMouseDown(i))),this._register(this.view.onContextMenu(i=>this.handleContextMenu(i)))}handleContextMenu(e){const t=e.browserEvent.target;if(!isStickyScrollContainer(t)&&!isStickyScrollElement(t)){this.focusedLast()&&this.view.domFocus();return}if(!isKeyboardEvent(e.browserEvent)){if(!this.state)throw new Error("Context menu should not be triggered when state is undefined");const y=this.state.stickyNodes.findIndex(k=>{var L;return k.node.element===((L=e.element)===null||L===void 0?void 0:L.element)});if(y===-1)throw new Error("Context menu should not be triggered when element is not in sticky scroll widget");this.container.focus(),this.setFocus(y);return}if(!this.state||this.focusedIndex<0)throw new Error("Context menu key should not be triggered when focus is not in sticky scroll widget");const r=this.state.stickyNodes[this.focusedIndex].node.element,g=this.elements[this.focusedIndex];this._onContextMenu.fire({element:r,anchor:g,browserEvent:e.browserEvent,isStickyScroll:!0})}onKeyDown(e){if(this.domHasFocus&&this.state){if(e.key==="ArrowUp")this.setFocusedElement(Math.max(0,this.focusedIndex-1)),e.preventDefault(),e.stopPropagation();else if(e.key==="ArrowDown"||e.key==="ArrowRight"){if(this.focusedIndex>=this.state.count-1){const t=this.state.stickyNodes[this.state.count-1].startIndex+1;this.view.domFocus(),this.view.setFocus([t]),this.scrollNodeUnderWidget(t,this.state)}else this.setFocusedElement(this.focusedIndex+1);e.preventDefault(),e.stopPropagation()}}}onMouseDown(e){const t=e.browserEvent.target;!isStickyScrollContainer(t)&&!isStickyScrollElement(t)||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation())}updateElements(e,t){if(t&&t.count===0)throw new Error("Sticky scroll state must be undefined when there are no sticky nodes");if(t&&t.count!==e.length)throw new Error("Sticky scroll focus received illigel state");const i=this.focusedIndex;if(this.removeFocus(),this.elements=e,this.state=t,t){const r=clamp(i,0,t.count-1);this.setFocus(r)}else this.domHasFocus&&this.view.domFocus();this.container.tabIndex=t?0:-1}setFocusedElement(e){const t=this.state;if(!t)throw new Error("Cannot set focus when state is undefined");if(this.setFocus(e),!(e1?t.stickyNodes[t.count-2]:void 0,g=this.view.getElementTop(e),y=r?r.position+r.height+i.height:i.height;this.view.scrollTop=g-y}domFocus(){if(!this.state)throw new Error("Cannot focus when state is undefined");this.container.focus()}focusedLast(){return this.state?this.view.getHTMLElement().classList.contains("sticky-scroll-focused"):!1}removeFocus(){this.focusedIndex!==-1&&(this.toggleElementFocus(this.elements[this.focusedIndex],!1),this.focusedIndex=-1)}setFocus(e){if(0>e)throw new Error("addFocus() can not remove focus");if(!this.state&&e>=0)throw new Error("Cannot set focus index when state is undefined");if(this.state&&e>=this.state.count)throw new Error("Cannot set focus index to an index that does not exist");const t=this.focusedIndex;t>=0&&this.toggleElementFocus(this.elements[t],!1),e>=0&&this.toggleElementFocus(this.elements[e],!0),this.focusedIndex=e}toggleElementFocus(e,t){this.toggleElementActiveFocus(e,t&&this.domHasFocus),this.toggleElementPassiveFocus(e,t)}toggleCurrentElementActiveFocus(e){this.focusedIndex!==-1&&this.toggleElementActiveFocus(this.elements[this.focusedIndex],e)}toggleElementActiveFocus(e,t){e.classList.toggle("focused",t)}toggleElementPassiveFocus(e,t){e.classList.toggle("passive-focused",t)}toggleStickyScrollFocused(e){this.view.getHTMLElement().classList.toggle("sticky-scroll-focused",e)}onFocus(){if(!this.state||this.elements.length===0)throw new Error("Cannot focus when state is undefined or elements are empty");this.domHasFocus=!0,this.toggleStickyScrollFocused(!0),this.toggleCurrentElementActiveFocus(!0),this.focusedIndex===-1&&this.setFocus(0)}onBlur(){this.domHasFocus=!1,this.toggleCurrentElementActiveFocus(!1)}dispose(){this.toggleStickyScrollFocused(!1),this._onDidChangeHasFocus.fire(!1),super.dispose()}}function asTreeMouseEvent$1(n){let e=TreeMouseEventTarget.Unknown;return hasParentWithClass(n.browserEvent.target,"monaco-tl-twistie","monaco-tl-row")?e=TreeMouseEventTarget.Twistie:hasParentWithClass(n.browserEvent.target,"monaco-tl-contents","monaco-tl-row")?e=TreeMouseEventTarget.Element:hasParentWithClass(n.browserEvent.target,"monaco-tree-type-filter","monaco-list")&&(e=TreeMouseEventTarget.Filter),{browserEvent:n.browserEvent,element:n.element?n.element.element:null,target:e}}function asTreeContextMenuEvent(n){const e=isStickyScrollContainer(n.browserEvent.target);return{element:n.element?n.element.element:null,browserEvent:n.browserEvent,anchor:n.anchor,isStickyScroll:e}}function dfs$1(n,e){e(n),n.children.forEach(t=>dfs$1(t,e))}class Trait{get nodeSet(){return this._nodeSet||(this._nodeSet=this.createNodeSet()),this._nodeSet}constructor(e,t){this.getFirstViewElementWithTrait=e,this.identityProvider=t,this.nodes=[],this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event}set(e,t){!(t!=null&&t.__forceEvent)&&equals$3(this.nodes,e)||this._set(e,!1,t)}_set(e,t,i){if(this.nodes=[...e],this.elements=void 0,this._nodeSet=void 0,!t){const r=this;this._onDidChange.fire({get elements(){return r.get()},browserEvent:i})}}get(){return this.elements||(this.elements=this.nodes.map(e=>e.element)),[...this.elements]}getNodes(){return this.nodes}has(e){return this.nodeSet.has(e)}onDidModelSplice({insertedNodes:e,deletedNodes:t}){if(!this.identityProvider){const L=this.createNodeSet(),V=z=>L.delete(z);t.forEach(z=>dfs$1(z,V)),this.set([...L.values()]);return}const i=new Set,r=L=>i.add(this.identityProvider.getId(L.element).toString());t.forEach(L=>dfs$1(L,r));const g=new Map,y=L=>g.set(this.identityProvider.getId(L.element).toString(),L);e.forEach(L=>dfs$1(L,y));const k=[];for(const L of this.nodes){const V=this.identityProvider.getId(L.element).toString();if(!i.has(V))k.push(L);else{const j=g.get(V);j&&j.visible&&k.push(j)}}if(this.nodes.length>0&&k.length===0){const L=this.getFirstViewElementWithTrait();L&&k.push(L)}this._set(k,!0)}createNodeSet(){const e=new Set;for(const t of this.nodes)e.add(t);return e}}class TreeNodeListMouseController extends MouseController{constructor(e,t,i){super(e),this.tree=t,this.stickyScrollProvider=i}onViewPointer(e){if(isButton(e.browserEvent.target)||isInputElement(e.browserEvent.target)||isMonacoEditor(e.browserEvent.target)||e.browserEvent.isHandledByList)return;const t=e.element;if(!t)return super.onViewPointer(e);if(this.isSelectionRangeChangeEvent(e)||this.isSelectionSingleChangeEvent(e))return super.onViewPointer(e);const i=e.browserEvent.target,r=i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&e.browserEvent.offsetX<16,g=isStickyScrollElement(e.browserEvent.target);let y=!1;if(g?y=!0:typeof this.tree.expandOnlyOnTwistieClick=="function"?y=this.tree.expandOnlyOnTwistieClick(t.element):y=!!this.tree.expandOnlyOnTwistieClick,g)this.handleStickyScrollMouseEvent(e,t);else{if(y&&!r&&e.browserEvent.detail!==2)return super.onViewPointer(e);if(!this.tree.expandOnDoubleClick&&e.browserEvent.detail===2)return super.onViewPointer(e)}if(t.collapsible&&(!g||r)){const k=this.tree.getNodeLocation(t),L=e.browserEvent.altKey;if(this.tree.setFocus([k]),this.tree.toggleCollapsed(k,L),y&&r){e.browserEvent.isHandledByList=!0;return}}g||super.onViewPointer(e)}handleStickyScrollMouseEvent(e,t){if(isMonacoCustomToggle(e.browserEvent.target)||isActionItem(e.browserEvent.target))return;const i=this.stickyScrollProvider();if(!i)throw new Error("Sticky scroll controller not found");const r=this.list.indexOf(t),g=this.list.getElementTop(r),y=i.nodePositionTopBelowWidget(t);this.tree.scrollTop=g-y,this.list.domFocus(),this.list.setFocus([r]),this.list.setSelection([r])}onDoubleClick(e){e.browserEvent.target.classList.contains("monaco-tl-twistie")||!this.tree.expandOnDoubleClick||e.browserEvent.isHandledByList||super.onDoubleClick(e)}onMouseDown(e){const t=e.browserEvent.target;if(!isStickyScrollContainer(t)&&!isStickyScrollElement(t)){super.onMouseDown(e);return}}onContextMenu(e){const t=e.browserEvent.target;if(!isStickyScrollContainer(t)&&!isStickyScrollElement(t)){super.onContextMenu(e);return}}}class TreeNodeList extends List{constructor(e,t,i,r,g,y,k,L){super(e,t,i,r,L),this.focusTrait=g,this.selectionTrait=y,this.anchorTrait=k}createMouseController(e){return new TreeNodeListMouseController(this,e.tree,e.stickyScrollProvider)}splice(e,t,i=[]){if(super.splice(e,t,i),i.length===0)return;const r=[],g=[];let y;i.forEach((k,L)=>{this.focusTrait.has(k)&&r.push(e+L),this.selectionTrait.has(k)&&g.push(e+L),this.anchorTrait.has(k)&&(y=e+L)}),r.length>0&&super.setFocus(distinct([...super.getFocus(),...r])),g.length>0&&super.setSelection(distinct([...super.getSelection(),...g])),typeof y=="number"&&super.setAnchor(y)}setFocus(e,t,i=!1){super.setFocus(e,t),i||this.focusTrait.set(e.map(r=>this.element(r)),t)}setSelection(e,t,i=!1){super.setSelection(e,t),i||this.selectionTrait.set(e.map(r=>this.element(r)),t)}setAnchor(e,t=!1){super.setAnchor(e),t||(typeof e>"u"?this.anchorTrait.set([]):this.anchorTrait.set([this.element(e)]))}}class AbstractTree{get onDidScroll(){return this.view.onDidScroll}get onDidChangeFocus(){return this.eventBufferer.wrapEvent(this.focus.onDidChange)}get onDidChangeSelection(){return this.eventBufferer.wrapEvent(this.selection.onDidChange)}get onMouseDblClick(){return Event$1.filter(Event$1.map(this.view.onMouseDblClick,asTreeMouseEvent$1),e=>e.target!==TreeMouseEventTarget.Filter)}get onMouseOver(){return Event$1.map(this.view.onMouseOver,asTreeMouseEvent$1)}get onMouseOut(){return Event$1.map(this.view.onMouseOut,asTreeMouseEvent$1)}get onContextMenu(){var e,t;return Event$1.any(Event$1.filter(Event$1.map(this.view.onContextMenu,asTreeContextMenuEvent),i=>!i.isStickyScroll),(t=(e=this.stickyScrollController)===null||e===void 0?void 0:e.onContextMenu)!==null&&t!==void 0?t:Event$1.None)}get onPointer(){return Event$1.map(this.view.onPointer,asTreeMouseEvent$1)}get onKeyDown(){return this.view.onKeyDown}get onDidFocus(){return this.view.onDidFocus}get onDidChangeModel(){return Event$1.signal(this.model.onDidSplice)}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get findMode(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.mode)!==null&&t!==void 0?t:TreeFindMode.Highlight}set findMode(e){this.findController&&(this.findController.mode=e)}get findMatchType(){var e,t;return(t=(e=this.findController)===null||e===void 0?void 0:e.matchType)!==null&&t!==void 0?t:TreeFindMatchType.Fuzzy}set findMatchType(e){this.findController&&(this.findController.matchType=e)}get expandOnDoubleClick(){return typeof this._options.expandOnDoubleClick>"u"?!0:this._options.expandOnDoubleClick}get expandOnlyOnTwistieClick(){return typeof this._options.expandOnlyOnTwistieClick>"u"?!0:this._options.expandOnlyOnTwistieClick}get onDidDispose(){return this.view.onDidDispose}constructor(e,t,i,r,g={}){var y;this._user=e,this._options=g,this.eventBufferer=new EventBufferer,this.onDidChangeFindOpenState=Event$1.None,this.onDidChangeStickyScrollFocused=Event$1.None,this.disposables=new DisposableStore,this._onWillRefilter=new Emitter$1,this.onWillRefilter=this._onWillRefilter.event,this._onDidUpdateOptions=new Emitter$1,this.treeDelegate=new ComposedTreeDelegate(i);const k=new Relay,L=new Relay,V=this.disposables.add(new EventCollection(L.event)),z=new SetMap;this.renderers=r.map(ae=>new TreeRenderer(ae,()=>this.model,k.event,V,z,g));for(const ae of this.renderers)this.disposables.add(ae);let j;g.keyboardNavigationLabelProvider&&(j=new FindFilter(this,g.keyboardNavigationLabelProvider,g.filter),g={...g,filter:j},this.disposables.add(j)),this.focus=new Trait(()=>this.view.getFocusedElements()[0],g.identityProvider),this.selection=new Trait(()=>this.view.getSelectedElements()[0],g.identityProvider),this.anchor=new Trait(()=>this.view.getAnchorElement(),g.identityProvider),this.view=new TreeNodeList(e,t,this.treeDelegate,this.renderers,this.focus,this.selection,this.anchor,{...asListOptions(()=>this.model,g),tree:this,stickyScrollProvider:()=>this.stickyScrollController}),this.model=this.createModel(e,this.view,g),k.input=this.model.onDidChangeCollapseState;const ie=Event$1.forEach(this.model.onDidSplice,ae=>{this.eventBufferer.bufferEvents(()=>{this.focus.onDidModelSplice(ae),this.selection.onDidModelSplice(ae)})},this.disposables);ie(()=>null,null,this.disposables);const oe=this.disposables.add(new Emitter$1),re=this.disposables.add(new Delayer(0));if(this.disposables.add(Event$1.any(ie,this.focus.onDidChange,this.selection.onDidChange)(()=>{re.trigger(()=>{const ae=new Set;for(const le of this.focus.getNodes())ae.add(le);for(const le of this.selection.getNodes())ae.add(le);oe.fire([...ae.values()])})})),L.input=oe.event,g.keyboardSupport!==!1){const ae=Event$1.chain(this.view.onKeyDown,le=>le.filter(de=>!isInputElement(de.target)).map(de=>new StandardKeyboardEvent(de)));Event$1.chain(ae,le=>le.filter(de=>de.keyCode===15))(this.onLeftArrow,this,this.disposables),Event$1.chain(ae,le=>le.filter(de=>de.keyCode===17))(this.onRightArrow,this,this.disposables),Event$1.chain(ae,le=>le.filter(de=>de.keyCode===10))(this.onSpace,this,this.disposables)}if((!((y=g.findWidgetEnabled)!==null&&y!==void 0)||y)&&g.keyboardNavigationLabelProvider&&g.contextViewProvider){const ae=this.options.findWidgetStyles?{styles:this.options.findWidgetStyles}:void 0;this.findController=new FindController$1(this,this.model,this.view,j,g.contextViewProvider,ae),this.focusNavigationFilter=le=>this.findController.shouldAllowFocus(le),this.onDidChangeFindOpenState=this.findController.onDidChangeOpenState,this.disposables.add(this.findController),this.onDidChangeFindMode=this.findController.onDidChangeMode,this.onDidChangeFindMatchType=this.findController.onDidChangeMatchType}else this.onDidChangeFindMode=Event$1.None,this.onDidChangeFindMatchType=Event$1.None;g.enableStickyScroll&&(this.stickyScrollController=new StickyScrollController$1(this,this.model,this.view,this.renderers,this.treeDelegate,g),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus),this.styleElement=createStyleSheet(this.view.getHTMLElement()),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}updateOptions(e={}){var t;this._options={...this._options,...e};for(const i of this.renderers)i.updateOptions(e);this.view.updateOptions(this._options),(t=this.findController)===null||t===void 0||t.updateOptions(e),this.updateStickyScroll(e),this._onDidUpdateOptions.fire(this._options),this.getHTMLElement().classList.toggle("always",this._options.renderIndentGuides===RenderIndentGuides.Always)}get options(){return this._options}updateStickyScroll(e){var t;!this.stickyScrollController&&this._options.enableStickyScroll?(this.stickyScrollController=new StickyScrollController$1(this,this.model,this.view,this.renderers,this.treeDelegate,this._options),this.onDidChangeStickyScrollFocused=this.stickyScrollController.onDidChangeHasFocus):this.stickyScrollController&&!this._options.enableStickyScroll&&(this.onDidChangeStickyScrollFocused=Event$1.None,this.stickyScrollController.dispose(),this.stickyScrollController=void 0),(t=this.stickyScrollController)===null||t===void 0||t.updateOptions(e)}getHTMLElement(){return this.view.getHTMLElement()}get scrollTop(){return this.view.scrollTop}set scrollTop(e){this.view.scrollTop=e}get scrollHeight(){return this.view.scrollHeight}get renderHeight(){return this.view.renderHeight}get ariaLabel(){return this.view.ariaLabel}set ariaLabel(e){this.view.ariaLabel=e}domFocus(){var e;!((e=this.stickyScrollController)===null||e===void 0)&&e.focusedLast()?this.stickyScrollController.domFocus():this.view.domFocus()}layout(e,t){var i;this.view.layout(e,t),isNumber$3(t)&&((i=this.findController)===null||i===void 0||i.layout(t))}style(e){var t;const i=".".concat(this.view.domId),r=[];e.treeIndentGuidesStroke&&(r.push(".monaco-list".concat(i,":hover .monaco-tl-indent > .indent-guide, .monaco-list").concat(i,".always .monaco-tl-indent > .indent-guide { border-color: ").concat(e.treeInactiveIndentGuidesStroke,"; }")),r.push(".monaco-list".concat(i," .monaco-tl-indent > .indent-guide.active { border-color: ").concat(e.treeIndentGuidesStroke,"; }"))),e.listBackground&&(r.push(".monaco-list".concat(i," .monaco-scrollable-element .monaco-tree-sticky-container { background-color: ").concat(e.listBackground,"; }")),r.push(".monaco-list".concat(i," .monaco-scrollable-element .monaco-tree-sticky-container .monaco-tree-sticky-row { background-color: ").concat(e.listBackground,"; }"))),e.listFocusForeground&&(r.push(".monaco-list".concat(i,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { color: ").concat(e.listFocusForeground,"; }")),r.push(".monaco-list".concat(i,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { color: inherit; }")));const g=asCssValueWithDefault(e.listFocusAndSelectionOutline,asCssValueWithDefault(e.listSelectionOutline,(t=e.listFocusOutline)!==null&&t!==void 0?t:""));g&&(r.push(".monaco-list".concat(i,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused.selected { outline: 1px solid ").concat(g,"; outline-offset: -1px;}")),r.push(".monaco-list".concat(i,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused.selected { outline: inherit;}"))),e.listFocusOutline&&(r.push(".monaco-list".concat(i,".sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container:focus .monaco-list-row.focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }")),r.push(".monaco-list".concat(i,":not(.sticky-scroll-focused) .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.focused { outline: inherit; }")),r.push(".monaco-workbench.context-menu-visible .monaco-list".concat(i,".last-focused.sticky-scroll-focused .monaco-scrollable-element .monaco-tree-sticky-container .monaco-list-row.passive-focused { outline: 1px solid ").concat(e.listFocusOutline,"; outline-offset: -1px; }")),r.push(".monaco-workbench.context-menu-visible .monaco-list".concat(i,".last-focused.sticky-scroll-focused .monaco-list-rows .monaco-list-row.focused { outline: inherit; }")),r.push(".monaco-workbench.context-menu-visible .monaco-list".concat(i,".last-focused:not(.sticky-scroll-focused) .monaco-tree-sticky-container .monaco-list-rows .monaco-list-row.focused { outline: inherit; }"))),this.styleElement.textContent=r.join("\n"),this.view.style(e)}getParentElement(e){const t=this.model.getParentNodeLocation(e);return this.model.getNode(t).element}getFirstElementChild(e){return this.model.getFirstElementChild(e)}getNode(e){return this.model.getNode(e)}getNodeLocation(e){return this.model.getNodeLocation(e)}collapse(e,t=!1){return this.model.setCollapsed(e,!0,t)}expand(e,t=!1){return this.model.setCollapsed(e,!1,t)}toggleCollapsed(e,t=!1){return this.model.setCollapsed(e,void 0,t)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}refilter(){this._onWillRefilter.fire(void 0),this.model.refilter()}setSelection(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(g=>this.model.getNode(g));this.selection.set(i,t);const r=e.map(g=>this.model.getListIndex(g)).filter(g=>g>-1);this.view.setSelection(r,t,!0)})}getSelection(){return this.selection.get()}setFocus(e,t){this.eventBufferer.bufferEvents(()=>{const i=e.map(g=>this.model.getNode(g));this.focus.set(i,t);const r=e.map(g=>this.model.getListIndex(g)).filter(g=>g>-1);this.view.setFocus(r,t,!0)})}focusNext(e=1,t=!1,i,r=isKeyboardEvent(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusNext(e,t,i,r)}focusPrevious(e=1,t=!1,i,r=isKeyboardEvent(i)&&i.altKey?void 0:this.focusNavigationFilter){this.view.focusPrevious(e,t,i,r)}focusNextPage(e,t=isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusNextPage(e,t)}focusPreviousPage(e,t=isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter){return this.view.focusPreviousPage(e,t,()=>{var i,r;return(r=(i=this.stickyScrollController)===null||i===void 0?void 0:i.height)!==null&&r!==void 0?r:0})}focusFirst(e,t=isKeyboardEvent(e)&&e.altKey?void 0:this.focusNavigationFilter){this.view.focusFirst(e,t)}getFocus(){return this.focus.get()}reveal(e,t){this.model.expandTo(e);const i=this.model.getListIndex(e);if(i!==-1)if(!this.stickyScrollController)this.view.reveal(i,t);else{const r=this.stickyScrollController.nodePositionTopBelowWidget(this.getNode(e));this.view.reveal(i,t,r)}}onLeftArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!0)){const y=this.model.getParentNodeLocation(r);if(!y)return;const k=this.model.getListIndex(y);this.view.reveal(k),this.view.setFocus([k])}}onRightArrow(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i);if(!this.model.setCollapsed(r,!1)){if(!i.children.some(L=>L.visible))return;const[y]=this.view.getFocus(),k=y+1;this.view.reveal(k),this.view.setFocus([k])}}onSpace(e){e.preventDefault(),e.stopPropagation();const t=this.view.getFocusedElements();if(t.length===0)return;const i=t[0],r=this.model.getNodeLocation(i),g=e.browserEvent.altKey;this.model.setCollapsed(r,void 0,g)}dispose(){var e;dispose(this.disposables),(e=this.stickyScrollController)===null||e===void 0||e.dispose(),this.view.dispose()}}class ObjectTreeModel{constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.nodesByIdentity=new Map,this.model=new IndexTreeModel(e,t,null,i),this.onDidSplice=this.model.onDidSplice,this.onDidChangeCollapseState=this.model.onDidChangeCollapseState,this.onDidChangeRenderNodeCount=this.model.onDidChangeRenderNodeCount,i.sorter&&(this.sorter={compare(r,g){return i.sorter.compare(r.element,g.element)}}),this.identityProvider=i.identityProvider}setChildren(e,t=Iterable.empty(),i={}){const r=this.getElementLocation(e);this._setChildren(r,this.preserveCollapseState(t),i)}_setChildren(e,t=Iterable.empty(),i){const r=new Set,g=new Set,y=L=>{var V;if(L.element===null)return;const z=L;if(r.add(z.element),this.nodes.set(z.element,z),this.identityProvider){const j=this.identityProvider.getId(z.element).toString();g.add(j),this.nodesByIdentity.set(j,z)}(V=i.onDidCreateNode)===null||V===void 0||V.call(i,z)},k=L=>{var V;if(L.element===null)return;const z=L;if(r.has(z.element)||this.nodes.delete(z.element),this.identityProvider){const j=this.identityProvider.getId(z.element).toString();g.has(j)||this.nodesByIdentity.delete(j)}(V=i.onDidDeleteNode)===null||V===void 0||V.call(i,z)};this.model.splice([...e,0],Number.MAX_VALUE,t,{...i,onDidCreateNode:y,onDidDeleteNode:k})}preserveCollapseState(e=Iterable.empty()){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),Iterable.map(e,t=>{let i=this.nodes.get(t.element);if(!i&&this.identityProvider){const y=this.identityProvider.getId(t.element).toString();i=this.nodesByIdentity.get(y)}if(!i){let y;return typeof t.collapsed>"u"?y=void 0:t.collapsed===ObjectTreeElementCollapseState.Collapsed||t.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed?y=!0:t.collapsed===ObjectTreeElementCollapseState.Expanded||t.collapsed===ObjectTreeElementCollapseState.PreserveOrExpanded?y=!1:y=!!t.collapsed,{...t,children:this.preserveCollapseState(t.children),collapsed:y}}const r=typeof t.collapsible=="boolean"?t.collapsible:i.collapsible;let g;return typeof t.collapsed>"u"||t.collapsed===ObjectTreeElementCollapseState.PreserveOrCollapsed||t.collapsed===ObjectTreeElementCollapseState.PreserveOrExpanded?g=i.collapsed:t.collapsed===ObjectTreeElementCollapseState.Collapsed?g=!0:t.collapsed===ObjectTreeElementCollapseState.Expanded?g=!1:g=!!t.collapsed,{...t,collapsible:r,collapsed:g,children:this.preserveCollapseState(t.children)}})}rerender(e){const t=this.getElementLocation(e);this.model.rerender(t)}getFirstElementChild(e=null){const t=this.getElementLocation(e);return this.model.getFirstElementChild(t)}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getElementLocation(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getElementLocation(e);return this.model.getListRenderCount(t)}isCollapsible(e){const t=this.getElementLocation(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getElementLocation(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getElementLocation(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getElementLocation(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getElementLocation(e);this.model.expandTo(t)}refilter(){this.model.refilter()}getNode(e=null){if(e===null)return this.model.getNode(this.model.rootRef);const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,"Tree element not found: ".concat(e));return t}getNodeLocation(e){return e.element}getParentNodeLocation(e){if(e===null)throw new TreeError(this.user,"Invalid getParentNodeLocation call");const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,"Tree element not found: ".concat(e));const i=this.model.getNodeLocation(t),r=this.model.getParentNodeLocation(i);return this.model.getNode(r).element}getElementLocation(e){if(e===null)return[];const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,"Tree element not found: ".concat(e));return this.model.getNodeLocation(t)}}function noCompress(n){const e=[n.element],t=n.incompressible||!1;return{element:{elements:e,incompressible:t},children:Iterable.map(Iterable.from(n.children),noCompress),collapsible:n.collapsible,collapsed:n.collapsed}}function compress(n){const e=[n.element],t=n.incompressible||!1;let i,r;for(;[r,i]=Iterable.consume(Iterable.from(n.children),2),!(r.length!==1||r[0].incompressible);)n=r[0],e.push(n.element);return{element:{elements:e,incompressible:t},children:Iterable.map(Iterable.concat(r,i),compress),collapsible:n.collapsible,collapsed:n.collapsed}}function _decompress(n,e=0){let t;return e_decompress(i,0)),e===0&&n.element.incompressible?{element:n.element.elements[e],children:t,incompressible:!0,collapsible:n.collapsible,collapsed:n.collapsed}:{element:n.element.elements[e],children:t,collapsible:n.collapsible,collapsed:n.collapsed}}function decompress(n){return _decompress(n,0)}function splice(n,e,t){return n.element===e?{...n,children:t}:{...n,children:Iterable.map(Iterable.from(n.children),i=>splice(i,e,t))}}const wrapIdentityProvider=n=>({getId(e){return e.elements.map(t=>n.getId(t).toString()).join("\0")}});class CompressedObjectTreeModel{get onDidSplice(){return this.model.onDidSplice}get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}get onDidChangeRenderNodeCount(){return this.model.onDidChangeRenderNodeCount}constructor(e,t,i={}){this.user=e,this.rootRef=null,this.nodes=new Map,this.model=new ObjectTreeModel(e,t,i),this.enabled=typeof i.compressionEnabled>"u"?!0:i.compressionEnabled,this.identityProvider=i.identityProvider}setChildren(e,t=Iterable.empty(),i){const r=i.diffIdentityProvider&&wrapIdentityProvider(i.diffIdentityProvider);if(e===null){const re=Iterable.map(t,this.enabled?compress:noCompress);this._setChildren(null,re,{diffIdentityProvider:r,diffDepth:1/0});return}const g=this.nodes.get(e);if(!g)throw new TreeError(this.user,"Unknown compressed tree node");const y=this.model.getNode(g),k=this.model.getParentNodeLocation(g),L=this.model.getNode(k),V=decompress(y),z=splice(V,e,t),j=(this.enabled?compress:noCompress)(z),ie=i.diffIdentityProvider?(re,ae)=>i.diffIdentityProvider.getId(re)===i.diffIdentityProvider.getId(ae):void 0;if(equals$3(j.element.elements,y.element.elements,ie)){this._setChildren(g,j.children||Iterable.empty(),{diffIdentityProvider:r,diffDepth:1});return}const oe=L.children.map(re=>re===y?j:re);this._setChildren(L.element,oe,{diffIdentityProvider:r,diffDepth:y.depth-L.depth})}isCompressionEnabled(){return this.enabled}setCompressionEnabled(e){if(e===this.enabled)return;this.enabled=e;const i=this.model.getNode().children,r=Iterable.map(i,decompress),g=Iterable.map(r,e?compress:noCompress);this._setChildren(null,g,{diffIdentityProvider:this.identityProvider,diffDepth:1/0})}_setChildren(e,t,i){const r=new Set,g=k=>{for(const L of k.element.elements)r.add(L),this.nodes.set(L,k.element)},y=k=>{for(const L of k.element.elements)r.has(L)||this.nodes.delete(L)};this.model.setChildren(e,t,{...i,onDidCreateNode:g,onDidDeleteNode:y})}has(e){return this.nodes.has(e)}getListIndex(e){const t=this.getCompressedNode(e);return this.model.getListIndex(t)}getListRenderCount(e){const t=this.getCompressedNode(e);return this.model.getListRenderCount(t)}getNode(e){if(typeof e>"u")return this.model.getNode();const t=this.getCompressedNode(e);return this.model.getNode(t)}getNodeLocation(e){const t=this.model.getNodeLocation(e);return t===null?null:t.elements[t.elements.length-1]}getParentNodeLocation(e){const t=this.getCompressedNode(e),i=this.model.getParentNodeLocation(t);return i===null?null:i.elements[i.elements.length-1]}getFirstElementChild(e){const t=this.getCompressedNode(e);return this.model.getFirstElementChild(t)}isCollapsible(e){const t=this.getCompressedNode(e);return this.model.isCollapsible(t)}setCollapsible(e,t){const i=this.getCompressedNode(e);return this.model.setCollapsible(i,t)}isCollapsed(e){const t=this.getCompressedNode(e);return this.model.isCollapsed(t)}setCollapsed(e,t,i){const r=this.getCompressedNode(e);return this.model.setCollapsed(r,t,i)}expandTo(e){const t=this.getCompressedNode(e);this.model.expandTo(t)}rerender(e){const t=this.getCompressedNode(e);this.model.rerender(t)}refilter(){this.model.refilter()}getCompressedNode(e){if(e===null)return null;const t=this.nodes.get(e);if(!t)throw new TreeError(this.user,"Tree element not found: ".concat(e));return t}}const DefaultElementMapper=n=>n[n.length-1];class CompressedTreeNodeWrapper{get element(){return this.node.element===null?null:this.unwrapper(this.node.element)}get children(){return this.node.children.map(e=>new CompressedTreeNodeWrapper(this.unwrapper,e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e,t){this.unwrapper=e,this.node=t}}function mapList(n,e){return{splice(t,i,r){e.splice(t,i,r.map(g=>n.map(g)))},updateElementHeight(t,i){e.updateElementHeight(t,i)}}}function mapOptions(n,e){return{...e,identityProvider:e.identityProvider&&{getId(t){return e.identityProvider.getId(n(t))}},sorter:e.sorter&&{compare(t,i){return e.sorter.compare(t.elements[0],i.elements[0])}},filter:e.filter&&{filter(t,i){return e.filter.filter(n(t),i)}}}}class CompressibleObjectTreeModel{get onDidSplice(){return Event$1.map(this.model.onDidSplice,({insertedNodes:e,deletedNodes:t})=>({insertedNodes:e.map(i=>this.nodeMapper.map(i)),deletedNodes:t.map(i=>this.nodeMapper.map(i))}))}get onDidChangeCollapseState(){return Event$1.map(this.model.onDidChangeCollapseState,({node:e,deep:t})=>({node:this.nodeMapper.map(e),deep:t}))}get onDidChangeRenderNodeCount(){return Event$1.map(this.model.onDidChangeRenderNodeCount,e=>this.nodeMapper.map(e))}constructor(e,t,i={}){this.rootRef=null,this.elementMapper=i.elementMapper||DefaultElementMapper;const r=g=>this.elementMapper(g.elements);this.nodeMapper=new WeakMapper(g=>new CompressedTreeNodeWrapper(r,g)),this.model=new CompressedObjectTreeModel(e,mapList(this.nodeMapper,t),mapOptions(r,i))}setChildren(e,t=Iterable.empty(),i={}){this.model.setChildren(e,t,i)}isCompressionEnabled(){return this.model.isCompressionEnabled()}setCompressionEnabled(e){this.model.setCompressionEnabled(e)}has(e){return this.model.has(e)}getListIndex(e){return this.model.getListIndex(e)}getListRenderCount(e){return this.model.getListRenderCount(e)}getNode(e){return this.nodeMapper.map(this.model.getNode(e))}getNodeLocation(e){return e.element}getParentNodeLocation(e){return this.model.getParentNodeLocation(e)}getFirstElementChild(e){const t=this.model.getFirstElementChild(e);return t===null||typeof t>"u"?t:this.elementMapper(t.elements)}isCollapsible(e){return this.model.isCollapsible(e)}setCollapsible(e,t){return this.model.setCollapsible(e,t)}isCollapsed(e){return this.model.isCollapsed(e)}setCollapsed(e,t,i){return this.model.setCollapsed(e,t,i)}expandTo(e){return this.model.expandTo(e)}rerender(e){return this.model.rerender(e)}refilter(){return this.model.refilter()}getCompressedTreeNode(e=null){return this.model.getNode(e)}}var __decorate$1Y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g};class ObjectTree extends AbstractTree{get onDidChangeCollapseState(){return this.model.onDidChangeCollapseState}constructor(e,t,i,r,g={}){super(e,t,i,r,g),this.user=e}setChildren(e,t=Iterable.empty(),i){this.model.setChildren(e,t,i)}rerender(e){if(e===void 0){this.view.rerender();return}this.model.rerender(e)}hasElement(e){return this.model.has(e)}createModel(e,t,i){return new ObjectTreeModel(e,t,i)}}class CompressibleRenderer{get compressedTreeNodeProvider(){return this._compressedTreeNodeProvider()}constructor(e,t,i){this._compressedTreeNodeProvider=e,this.stickyScrollDelegate=t,this.renderer=i,this.templateId=i.templateId,i.onDidChangeTwistieState&&(this.onDidChangeTwistieState=i.onDidChangeTwistieState)}renderTemplate(e){return{compressedTreeNode:void 0,data:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){let g=this.stickyScrollDelegate.getCompressedNode(e);g||(g=this.compressedTreeNodeProvider.getCompressedTreeNode(e.element)),g.element.elements.length===1?(i.compressedTreeNode=void 0,this.renderer.renderElement(e,t,i.data,r)):(i.compressedTreeNode=g,this.renderer.renderCompressedElements(g,t,i.data,r))}disposeElement(e,t,i,r){var g,y,k,L;i.compressedTreeNode?(y=(g=this.renderer).disposeCompressedElements)===null||y===void 0||y.call(g,i.compressedTreeNode,t,i.data,r):(L=(k=this.renderer).disposeElement)===null||L===void 0||L.call(k,e,t,i.data,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.data)}renderTwistie(e,t){return this.renderer.renderTwistie?this.renderer.renderTwistie(e,t):!1}}__decorate$1Y([memoize],CompressibleRenderer.prototype,"compressedTreeNodeProvider",null);class CompressibleStickyScrollDelegate{constructor(e){this.modelProvider=e,this.compressedStickyNodes=new Map}getCompressedNode(e){return this.compressedStickyNodes.get(e)}constrainStickyScrollNodes(e,t,i){if(this.compressedStickyNodes.clear(),e.length===0)return[];for(let r=0;ri||r>=t-1&&tthis,k=new CompressibleStickyScrollDelegate(()=>this.model),L=r.map(V=>new CompressibleRenderer(y,k,V));super(e,t,i,L,{...asObjectTreeOptions$1(y,g),stickyScrollDelegate:k})}setChildren(e,t=Iterable.empty(),i){this.model.setChildren(e,t,i)}createModel(e,t,i){return new CompressibleObjectTreeModel(e,t,i)}updateOptions(e={}){super.updateOptions(e),typeof e.compressionEnabled<"u"&&this.model.setCompressionEnabled(e.compressionEnabled)}getCompressedTreeNode(e=null){return this.model.getCompressedTreeNode(e)}}function createAsyncDataTreeNode(n){return{...n,children:[],refreshPromise:void 0,stale:!0,slow:!1,forceExpanded:!1}}function isAncestor(n,e){return e.parent?e.parent===n?!0:isAncestor(n,e.parent):!1}function intersects(n,e){return n===e||isAncestor(n,e)||isAncestor(e,n)}class AsyncDataTreeNodeWrapper{get element(){return this.node.element.element}get children(){return this.node.children.map(e=>new AsyncDataTreeNodeWrapper(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class AsyncDataTreeRenderer{constructor(e,t,i){this.renderer=e,this.nodeMapper=t,this.onDidChangeTwistieState=i,this.renderedNodes=new Map,this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!1)}disposeElement(e,t,i,r){var g,y;(y=(g=this.renderer).disposeElement)===null||y===void 0||y.call(g,this.nodeMapper.map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear()}}function asTreeEvent(n){return{browserEvent:n.browserEvent,elements:n.elements.map(e=>e.element)}}function asTreeMouseEvent(n){return{browserEvent:n.browserEvent,element:n.element&&n.element.element,target:n.target}}class AsyncDataTreeElementsDragAndDropData extends ElementsDragAndDropData{constructor(e){super(e.elements.map(t=>t.element)),this.data=e}}function asAsyncDataTreeDragAndDropData(n){return n instanceof ElementsDragAndDropData?new AsyncDataTreeElementsDragAndDropData(n):n}class AsyncDataTreeNodeListDragAndDrop{constructor(e){this.dnd=e}getDragURI(e){return this.dnd.getDragURI(e.element)}getDragLabel(e,t){if(this.dnd.getDragLabel)return this.dnd.getDragLabel(e.map(i=>i.element),t)}onDragStart(e,t){var i,r;(r=(i=this.dnd).onDragStart)===null||r===void 0||r.call(i,asAsyncDataTreeDragAndDropData(e),t)}onDragOver(e,t,i,r,g,y=!0){return this.dnd.onDragOver(asAsyncDataTreeDragAndDropData(e),t&&t.element,i,r,g)}drop(e,t,i,r,g){this.dnd.drop(asAsyncDataTreeDragAndDropData(e),t&&t.element,i,r,g)}onDragEnd(e){var t,i;(i=(t=this.dnd).onDragEnd)===null||i===void 0||i.call(t,e)}dispose(){this.dnd.dispose()}}function asObjectTreeOptions(n){return n&&{...n,collapseByDefault:!0,identityProvider:n.identityProvider&&{getId(e){return n.identityProvider.getId(e.element)}},dnd:n.dnd&&new AsyncDataTreeNodeListDragAndDrop(n.dnd),multipleSelectionController:n.multipleSelectionController&&{isSelectionSingleChangeEvent(e){return n.multipleSelectionController.isSelectionSingleChangeEvent({...e,element:e.element})},isSelectionRangeChangeEvent(e){return n.multipleSelectionController.isSelectionRangeChangeEvent({...e,element:e.element})}},accessibilityProvider:n.accessibilityProvider&&{...n.accessibilityProvider,getPosInSet:void 0,getSetSize:void 0,getRole:n.accessibilityProvider.getRole?e=>n.accessibilityProvider.getRole(e.element):()=>"treeitem",isChecked:n.accessibilityProvider.isChecked?e=>{var t;return!!(!((t=n.accessibilityProvider)===null||t===void 0)&&t.isChecked(e.element))}:void 0,getAriaLabel(e){return n.accessibilityProvider.getAriaLabel(e.element)},getWidgetAriaLabel(){return n.accessibilityProvider.getWidgetAriaLabel()},getWidgetRole:n.accessibilityProvider.getWidgetRole?()=>n.accessibilityProvider.getWidgetRole():()=>"tree",getAriaLevel:n.accessibilityProvider.getAriaLevel&&(e=>n.accessibilityProvider.getAriaLevel(e.element)),getActiveDescendantId:n.accessibilityProvider.getActiveDescendantId&&(e=>n.accessibilityProvider.getActiveDescendantId(e.element))},filter:n.filter&&{filter(e,t){return n.filter.filter(e.element,t)}},keyboardNavigationLabelProvider:n.keyboardNavigationLabelProvider&&{...n.keyboardNavigationLabelProvider,getKeyboardNavigationLabel(e){return n.keyboardNavigationLabelProvider.getKeyboardNavigationLabel(e.element)}},sorter:void 0,expandOnlyOnTwistieClick:typeof n.expandOnlyOnTwistieClick>"u"?void 0:typeof n.expandOnlyOnTwistieClick!="function"?n.expandOnlyOnTwistieClick:e=>n.expandOnlyOnTwistieClick(e.element),defaultFindVisibility:e=>e.hasChildren&&e.stale?1:typeof n.defaultFindVisibility=="number"?n.defaultFindVisibility:typeof n.defaultFindVisibility>"u"?2:n.defaultFindVisibility(e.element)}}function dfs(n,e){e(n),n.children.forEach(t=>dfs(t,e))}class AsyncDataTree{get onDidScroll(){return this.tree.onDidScroll}get onDidChangeFocus(){return Event$1.map(this.tree.onDidChangeFocus,asTreeEvent)}get onDidChangeSelection(){return Event$1.map(this.tree.onDidChangeSelection,asTreeEvent)}get onMouseDblClick(){return Event$1.map(this.tree.onMouseDblClick,asTreeMouseEvent)}get onPointer(){return Event$1.map(this.tree.onPointer,asTreeMouseEvent)}get onDidFocus(){return this.tree.onDidFocus}get onDidChangeModel(){return this.tree.onDidChangeModel}get onDidChangeCollapseState(){return this.tree.onDidChangeCollapseState}get onDidChangeFindOpenState(){return this.tree.onDidChangeFindOpenState}get onDidChangeStickyScrollFocused(){return this.tree.onDidChangeStickyScrollFocused}get onDidDispose(){return this.tree.onDidDispose}constructor(e,t,i,r,g,y={}){this.user=e,this.dataSource=g,this.nodes=new Map,this.subTreeRefreshPromises=new Map,this.refreshPromises=new Map,this._onDidRender=new Emitter$1,this._onDidChangeNodeSlowState=new Emitter$1,this.nodeMapper=new WeakMapper(k=>new AsyncDataTreeNodeWrapper(k)),this.disposables=new DisposableStore,this.identityProvider=y.identityProvider,this.autoExpandSingleChildren=typeof y.autoExpandSingleChildren>"u"?!1:y.autoExpandSingleChildren,this.sorter=y.sorter,this.getDefaultCollapseState=k=>y.collapseByDefault?y.collapseByDefault(k)?ObjectTreeElementCollapseState.PreserveOrCollapsed:ObjectTreeElementCollapseState.PreserveOrExpanded:void 0,this.tree=this.createTree(e,t,i,r,y),this.onDidChangeFindMode=this.tree.onDidChangeFindMode,this.onDidChangeFindMatchType=this.tree.onDidChangeFindMatchType,this.root=createAsyncDataTreeNode({element:void 0,parent:null,hasChildren:!0,defaultCollapseState:void 0}),this.identityProvider&&(this.root={...this.root,id:null}),this.nodes.set(null,this.root),this.tree.onDidChangeCollapseState(this._onDidChangeCollapseState,this,this.disposables)}createTree(e,t,i,r,g){const y=new ComposedTreeDelegate(i),k=r.map(V=>new AsyncDataTreeRenderer(V,this.nodeMapper,this._onDidChangeNodeSlowState.event)),L=asObjectTreeOptions(g)||{};return new ObjectTree(e,t,y,k,L)}updateOptions(e={}){this.tree.updateOptions(e)}getHTMLElement(){return this.tree.getHTMLElement()}get scrollTop(){return this.tree.scrollTop}set scrollTop(e){this.tree.scrollTop=e}get scrollHeight(){return this.tree.scrollHeight}get renderHeight(){return this.tree.renderHeight}domFocus(){this.tree.domFocus()}layout(e,t){this.tree.layout(e,t)}style(e){this.tree.style(e)}getInput(){return this.root.element}async setInput(e,t){this.refreshPromises.forEach(r=>r.cancel()),this.refreshPromises.clear(),this.root.element=e;const i=t&&{viewState:t,focus:[],selection:[]};await this._updateChildren(e,!0,!1,i),i&&(this.tree.setFocus(i.focus),this.tree.setSelection(i.selection)),t&&typeof t.scrollTop=="number"&&(this.scrollTop=t.scrollTop)}async _updateChildren(e=this.root.element,t=!0,i=!1,r,g){if(typeof this.root.element>"u")throw new TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event));const y=this.getDataNode(e);if(await this.refreshAndRenderNode(y,t,r,g),i)try{this.tree.rerender(y)}catch(k){}}rerender(e){if(e===void 0||e===this.root.element){this.tree.rerender();return}const t=this.getDataNode(e);this.tree.rerender(t)}getNode(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getNode(t===this.root?null:t);return this.nodeMapper.map(i)}collapse(e,t=!1){const i=this.getDataNode(e);return this.tree.collapse(i===this.root?null:i,t)}async expand(e,t=!1){if(typeof this.root.element>"u")throw new TreeError(this.user,"Tree input not set");this.root.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event));const i=this.getDataNode(e);if(this.tree.hasElement(i)&&!this.tree.isCollapsible(i)||(i.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event)),i!==this.root&&!i.refreshPromise&&!this.tree.isCollapsed(i)))return!1;const r=this.tree.expand(i===this.root?null:i,t);return i.refreshPromise&&(await this.root.refreshPromise,await Event$1.toPromise(this._onDidRender.event)),r}setSelection(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setSelection(i,t)}getSelection(){return this.tree.getSelection().map(t=>t.element)}setFocus(e,t){const i=e.map(r=>this.getDataNode(r));this.tree.setFocus(i,t)}getFocus(){return this.tree.getFocus().map(t=>t.element)}reveal(e,t){this.tree.reveal(this.getDataNode(e),t)}getParentElement(e){const t=this.tree.getParentElement(this.getDataNode(e));return t&&t.element}getFirstElementChild(e=this.root.element){const t=this.getDataNode(e),i=this.tree.getFirstElementChild(t===this.root?null:t);return i&&i.element}getDataNode(e){const t=this.nodes.get(e===this.root.element?null:e);if(!t)throw new TreeError(this.user,"Data tree node not found: ".concat(e));return t}async refreshAndRenderNode(e,t,i,r){await this.refreshNode(e,t,i),!this.disposables.isDisposed&&this.render(e,i,r)}async refreshNode(e,t,i){let r;if(this.subTreeRefreshPromises.forEach((g,y)=>{!r&&intersects(y,e)&&(r=g.then(()=>this.refreshNode(e,t,i)))}),r)return r;if(e!==this.root&&this.tree.getNode(e).collapsed){e.hasChildren=!!this.dataSource.hasChildren(e.element),e.stale=!0,this.setChildren(e,[],t,i);return}return this.doRefreshSubTree(e,t,i)}async doRefreshSubTree(e,t,i){let r;e.refreshPromise=new Promise(g=>r=g),this.subTreeRefreshPromises.set(e,e.refreshPromise),e.refreshPromise.finally(()=>{e.refreshPromise=void 0,this.subTreeRefreshPromises.delete(e)});try{const g=await this.doRefreshNode(e,t,i);e.stale=!1,await Promises.settled(g.map(y=>this.doRefreshSubTree(y,t,i)))}finally{r()}}async doRefreshNode(e,t,i){e.hasChildren=!!this.dataSource.hasChildren(e.element);let r;if(!e.hasChildren)r=Promise.resolve(Iterable.empty());else{const g=this.doGetChildren(e);if(isIterable(g))r=Promise.resolve(g);else{const y=timeout(800);y.then(()=>{e.slow=!0,this._onDidChangeNodeSlowState.fire(e)},k=>null),r=g.finally(()=>y.cancel())}}try{const g=await r;return this.setChildren(e,g,t,i)}catch(g){if(e!==this.root&&this.tree.hasElement(e)&&this.tree.collapse(e),isCancellationError(g))return[];throw g}finally{e.slow&&(e.slow=!1,this._onDidChangeNodeSlowState.fire(e))}}doGetChildren(e){let t=this.refreshPromises.get(e);if(t)return t;const i=this.dataSource.getChildren(e.element);return isIterable(i)?this.processChildren(i):(t=createCancelablePromise(async()=>this.processChildren(await i)),this.refreshPromises.set(e,t),t.finally(()=>{this.refreshPromises.delete(e)}))}_onDidChangeCollapseState({node:e,deep:t}){e.element!==null&&!e.collapsed&&e.element.stale&&(t?this.collapse(e.element.element):this.refreshAndRenderNode(e.element,!1).catch(onUnexpectedError))}setChildren(e,t,i,r){const g=[...t];if(e.children.length===0&&g.length===0)return[];const y=new Map,k=new Map;for(const z of e.children)y.set(z.element,z),this.identityProvider&&k.set(z.id,{node:z,collapsed:this.tree.hasElement(z)&&this.tree.isCollapsed(z)});const L=[],V=g.map(z=>{const j=!!this.dataSource.hasChildren(z);if(!this.identityProvider){const ae=createAsyncDataTreeNode({element:z,parent:e,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(z)});return j&&ae.defaultCollapseState===ObjectTreeElementCollapseState.PreserveOrExpanded&&L.push(ae),ae}const ie=this.identityProvider.getId(z).toString(),oe=k.get(ie);if(oe){const ae=oe.node;return y.delete(ae.element),this.nodes.delete(ae.element),this.nodes.set(z,ae),ae.element=z,ae.hasChildren=j,i?oe.collapsed?(ae.children.forEach(le=>dfs(le,de=>this.nodes.delete(de.element))),ae.children.splice(0,ae.children.length),ae.stale=!0):L.push(ae):j&&!oe.collapsed&&L.push(ae),ae}const re=createAsyncDataTreeNode({element:z,parent:e,id:ie,hasChildren:j,defaultCollapseState:this.getDefaultCollapseState(z)});return r&&r.viewState.focus&&r.viewState.focus.indexOf(ie)>-1&&r.focus.push(re),r&&r.viewState.selection&&r.viewState.selection.indexOf(ie)>-1&&r.selection.push(re),(r&&r.viewState.expanded&&r.viewState.expanded.indexOf(ie)>-1||j&&re.defaultCollapseState===ObjectTreeElementCollapseState.PreserveOrExpanded)&&L.push(re),re});for(const z of y.values())dfs(z,j=>this.nodes.delete(j.element));for(const z of V)this.nodes.set(z.element,z);return e.children.splice(0,e.children.length,...V),e!==this.root&&this.autoExpandSingleChildren&&V.length===1&&L.length===0&&(V[0].forceExpanded=!0,L.push(V[0])),L}render(e,t,i){const r=e.children.map(y=>this.asTreeElement(y,t)),g=i&&{...i,diffIdentityProvider:i.diffIdentityProvider&&{getId(y){return i.diffIdentityProvider.getId(y.element)}}};this.tree.setChildren(e===this.root?null:e,r,g),e!==this.root&&this.tree.setCollapsible(e,e.hasChildren),this._onDidRender.fire()}asTreeElement(e,t){if(e.stale)return{element:e,collapsible:e.hasChildren,collapsed:!0};let i;return t&&t.viewState.expanded&&e.id&&t.viewState.expanded.indexOf(e.id)>-1?i=!1:e.forceExpanded?(i=!1,e.forceExpanded=!1):i=e.defaultCollapseState,{element:e,children:e.hasChildren?Iterable.map(e.children,r=>this.asTreeElement(r,t)):[],collapsible:e.hasChildren,collapsed:i}}processChildren(e){return this.sorter&&(e=[...e].sort(this.sorter.compare.bind(this.sorter))),e}dispose(){this.disposables.dispose(),this.tree.dispose()}}class CompressibleAsyncDataTreeNodeWrapper{get element(){return{elements:this.node.element.elements.map(e=>e.element),incompressible:this.node.element.incompressible}}get children(){return this.node.children.map(e=>new CompressibleAsyncDataTreeNodeWrapper(e))}get depth(){return this.node.depth}get visibleChildrenCount(){return this.node.visibleChildrenCount}get visibleChildIndex(){return this.node.visibleChildIndex}get collapsible(){return this.node.collapsible}get collapsed(){return this.node.collapsed}get visible(){return this.node.visible}get filterData(){return this.node.filterData}constructor(e){this.node=e}}class CompressibleAsyncDataTreeRenderer{constructor(e,t,i,r){this.renderer=e,this.nodeMapper=t,this.compressibleNodeMapperProvider=i,this.onDidChangeTwistieState=r,this.renderedNodes=new Map,this.disposables=[],this.templateId=e.templateId}renderTemplate(e){return{templateData:this.renderer.renderTemplate(e)}}renderElement(e,t,i,r){this.renderer.renderElement(this.nodeMapper.map(e),t,i.templateData,r)}renderCompressedElements(e,t,i,r){this.renderer.renderCompressedElements(this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}renderTwistie(e,t){return e.slow?(t.classList.add(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!0):(t.classList.remove(...ThemeIcon.asClassNameArray(Codicon.treeItemLoading)),!1)}disposeElement(e,t,i,r){var g,y;(y=(g=this.renderer).disposeElement)===null||y===void 0||y.call(g,this.nodeMapper.map(e),t,i.templateData,r)}disposeCompressedElements(e,t,i,r){var g,y;(y=(g=this.renderer).disposeCompressedElements)===null||y===void 0||y.call(g,this.compressibleNodeMapperProvider().map(e),t,i.templateData,r)}disposeTemplate(e){this.renderer.disposeTemplate(e.templateData)}dispose(){this.renderedNodes.clear(),this.disposables=dispose(this.disposables)}}function asCompressibleObjectTreeOptions(n){const e=n&&asObjectTreeOptions(n);return e&&{...e,keyboardNavigationLabelProvider:e.keyboardNavigationLabelProvider&&{...e.keyboardNavigationLabelProvider,getCompressedNodeKeyboardNavigationLabel(t){return n.keyboardNavigationLabelProvider.getCompressedNodeKeyboardNavigationLabel(t.map(i=>i.element))}}}}class CompressibleAsyncDataTree extends AsyncDataTree{constructor(e,t,i,r,g,y,k={}){super(e,t,i,g,y,k),this.compressionDelegate=r,this.compressibleNodeMapper=new WeakMapper(L=>new CompressibleAsyncDataTreeNodeWrapper(L)),this.filter=k.filter}createTree(e,t,i,r,g){const y=new ComposedTreeDelegate(i),k=r.map(V=>new CompressibleAsyncDataTreeRenderer(V,this.nodeMapper,()=>this.compressibleNodeMapper,this._onDidChangeNodeSlowState.event)),L=asCompressibleObjectTreeOptions(g)||{};return new CompressibleObjectTree(e,t,y,k,L)}asTreeElement(e,t){return{incompressible:this.compressionDelegate.isIncompressible(e.element),...super.asTreeElement(e,t)}}updateOptions(e={}){this.tree.updateOptions(e)}render(e,t,i){if(!this.identityProvider)return super.render(e,t);const r=oe=>this.identityProvider.getId(oe).toString(),g=oe=>{const re=new Set;for(const ae of oe){const le=this.tree.getCompressedTreeNode(ae===this.root?null:ae);if(le.element)for(const de of le.element.elements)re.add(r(de.element))}return re},y=g(this.tree.getSelection()),k=g(this.tree.getFocus());super.render(e,t,i);const L=this.getSelection();let V=!1;const z=this.getFocus();let j=!1;const ie=oe=>{const re=oe.element;if(re)for(let ae=0;ae{const i=this.filter.filter(t,1),r=getVisibility(i);if(r===2)throw new Error("Recursive tree visibility not supported in async data compressed trees");return r===1})),super.processChildren(e)}}function getVisibility(n){return typeof n=="boolean"?n?1:0:isFilterResult(n)?getVisibleState(n.visibility):getVisibleState(n)}class DataTree extends AbstractTree{constructor(e,t,i,r,g,y={}){super(e,t,i,r,y),this.user=e,this.dataSource=g,this.identityProvider=y.identityProvider}createModel(e,t,i){return new ObjectTreeModel(e,t,i)}}new RawContextKey("isMac",isMacintosh,localize("isMac","Whether the operating system is macOS"));new RawContextKey("isLinux",isLinux,localize("isLinux","Whether the operating system is Linux"));const IsWindowsContext=new RawContextKey("isWindows",isWindows,localize("isWindows","Whether the operating system is Windows")),IsWebContext=new RawContextKey("isWeb",isWeb,localize("isWeb","Whether the platform is a web browser"));new RawContextKey("isMacNative",isMacintosh&&!isWeb,localize("isMacNative","Whether the operating system is macOS on a non-browser platform"));new RawContextKey("isIOS",isIOS$1,localize("isIOS","Whether the operating system is iOS"));new RawContextKey("isMobile",isMobile,localize("isMobile","Whether the platform is a mobile web browser"));new RawContextKey("isDevelopment",!1,!0);new RawContextKey("productQualityType","",localize("productQualityType","Quality type of VS Code"));const InputFocusedContextKey="inputFocus",InputFocusedContext=new RawContextKey(InputFocusedContextKey,!1,localize("inputFocus","Whether keyboard focus is inside an input box"));var __decorate$1X=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1T=function(n,e){return function(t,i){e(t,i,n)}};const IListService=createDecorator("listService");class ListService{get lastFocusedList(){return this._lastFocusedWidget}constructor(){this.disposables=new DisposableStore,this.lists=[],this._lastFocusedWidget=void 0,this._hasCreatedStyleController=!1}setLastFocusedList(e){var t,i;e!==this._lastFocusedWidget&&((t=this._lastFocusedWidget)===null||t===void 0||t.getHTMLElement().classList.remove("last-focused"),this._lastFocusedWidget=e,(i=this._lastFocusedWidget)===null||i===void 0||i.getHTMLElement().classList.add("last-focused"))}register(e,t){if(this._hasCreatedStyleController||(this._hasCreatedStyleController=!0,new DefaultStyleController(createStyleSheet(),"").style(defaultListStyles)),this.lists.some(r=>r.widget===e))throw new Error("Cannot register the same widget multiple times");const i={widget:e,extraContextKeys:t};return this.lists.push(i),isActiveElement(e.getHTMLElement())&&this.setLastFocusedList(e),combinedDisposable(e.onDidFocus(()=>this.setLastFocusedList(e)),toDisposable(()=>this.lists.splice(this.lists.indexOf(i),1)),e.onDidDispose(()=>{this.lists=this.lists.filter(r=>r!==i),this._lastFocusedWidget===e&&this.setLastFocusedList(void 0)}))}dispose(){this.disposables.dispose()}}const RawWorkbenchListScrollAtBoundaryContextKey=new RawContextKey("listScrollAtBoundary","none");ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("top"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both"));ContextKeyExpr.or(RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("bottom"),RawWorkbenchListScrollAtBoundaryContextKey.isEqualTo("both"));const RawWorkbenchListFocusContextKey=new RawContextKey("listFocus",!0),WorkbenchTreeStickyScrollFocused=new RawContextKey("treestickyScrollFocused",!1),WorkbenchListSupportsMultiSelectContextKey=new RawContextKey("listSupportsMultiselect",!0),WorkbenchListFocusContextKey=ContextKeyExpr.and(RawWorkbenchListFocusContextKey,ContextKeyExpr.not(InputFocusedContextKey),WorkbenchTreeStickyScrollFocused.negate()),WorkbenchListHasSelectionOrFocus=new RawContextKey("listHasSelectionOrFocus",!1),WorkbenchListDoubleSelection=new RawContextKey("listDoubleSelection",!1),WorkbenchListMultiSelection=new RawContextKey("listMultiSelection",!1),WorkbenchListSelectionNavigation=new RawContextKey("listSelectionNavigation",!1),WorkbenchListSupportsFind=new RawContextKey("listSupportsFind",!0),WorkbenchTreeElementCanCollapse=new RawContextKey("treeElementCanCollapse",!1),WorkbenchTreeElementHasParent=new RawContextKey("treeElementHasParent",!1),WorkbenchTreeElementCanExpand=new RawContextKey("treeElementCanExpand",!1),WorkbenchTreeElementHasChild=new RawContextKey("treeElementHasChild",!1),WorkbenchTreeFindOpen=new RawContextKey("treeFindOpen",!1),WorkbenchListTypeNavigationModeKey="listTypeNavigationMode",WorkbenchListAutomaticKeyboardNavigationLegacyKey="listAutomaticKeyboardNavigation";function createScopedContextKeyService(n,e){const t=n.createScoped(e.getHTMLElement());return RawWorkbenchListFocusContextKey.bindTo(t),t}function createScrollObserver(n,e){const t=RawWorkbenchListScrollAtBoundaryContextKey.bindTo(n),i=()=>{const r=e.scrollTop===0,g=e.scrollHeight-e.renderHeight-e.scrollTop<1;r&&g?t.set("both"):r?t.set("top"):g?t.set("bottom"):t.set("none")};return i(),e.onDidScroll(i)}const multiSelectModifierSettingKey="workbench.list.multiSelectModifier",openModeSettingKey="workbench.list.openMode",horizontalScrollingKey="workbench.list.horizontalScrolling",defaultFindModeSettingKey="workbench.list.defaultFindMode",typeNavigationModeSettingKey="workbench.list.typeNavigationMode",keyboardNavigationSettingKey="workbench.list.keyboardNavigation",scrollByPageKey="workbench.list.scrollByPage",defaultFindMatchTypeSettingKey="workbench.list.defaultFindMatchType",treeIndentKey="workbench.tree.indent",treeRenderIndentGuidesKey="workbench.tree.renderIndentGuides",listSmoothScrolling="workbench.list.smoothScrolling",mouseWheelScrollSensitivityKey="workbench.list.mouseWheelScrollSensitivity",fastScrollSensitivityKey="workbench.list.fastScrollSensitivity",treeExpandMode="workbench.tree.expandMode",treeStickyScroll="workbench.tree.enableStickyScroll",treeStickyScrollMaxElements="workbench.tree.stickyScrollMaxItemCount";function useAltAsMultipleSelectionModifier(n){return n.getValue(multiSelectModifierSettingKey)==="alt"}class MultipleSelectionController extends Disposable{constructor(e){super(),this.configurationService=e,this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(e),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(multiSelectModifierSettingKey)&&(this.useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(this.configurationService))}))}isSelectionSingleChangeEvent(e){return this.useAltAsMultipleSelectionModifier?e.browserEvent.altKey:isSelectionSingleChangeEvent(e)}isSelectionRangeChangeEvent(e){return isSelectionRangeChangeEvent(e)}}function toWorkbenchListOptions(n,e){var t;const i=n.get(IConfigurationService),r=n.get(IKeybindingService),g=new DisposableStore;return[{...e,keyboardNavigationDelegate:{mightProducePrintableCharacter(k){return r.mightProducePrintableCharacter(k)}},smoothScrolling:!!i.getValue(listSmoothScrolling),mouseWheelScrollSensitivity:i.getValue(mouseWheelScrollSensitivityKey),fastScrollSensitivity:i.getValue(fastScrollSensitivityKey),multipleSelectionController:(t=e.multipleSelectionController)!==null&&t!==void 0?t:g.add(new MultipleSelectionController(i)),keyboardNavigationEventFilter:createKeyboardNavigationEventFilter(r),scrollByPage:!!i.getValue(scrollByPageKey)},g]}let WorkbenchList=class extends List{constructor(e,t,i,r,g,y,k,L,V){const z=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey),[j,ie]=V.invokeFunction(toWorkbenchListOptions,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:z}),this.disposables.add(ie),this.contextKeyService=createScopedContextKeyService(y,this),this.disposables.add(createScrollObserver(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(g.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!g.selectionNavigation),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=g.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(L),this.disposables.add(this.contextKeyService),this.disposables.add(k.register(this)),this.updateStyles(g.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const re=this.getSelection(),ae=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(re.length>0||ae.length>0),this.listMultiSelection.set(re.length>1),this.listDoubleSelection.set(re.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const re=this.getSelection(),ae=this.getFocus();this.listHasSelectionOrFocus.set(re.length>0||ae.length>0)})),this.disposables.add(L.onDidChangeConfiguration(re=>{re.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(L));let ae={};if(re.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const le=!!L.getValue(horizontalScrollingKey);ae={...ae,horizontalScrolling:le}}if(re.affectsConfiguration(scrollByPageKey)){const le=!!L.getValue(scrollByPageKey);ae={...ae,scrollByPage:le}}if(re.affectsConfiguration(listSmoothScrolling)){const le=!!L.getValue(listSmoothScrolling);ae={...ae,smoothScrolling:le}}if(re.affectsConfiguration(mouseWheelScrollSensitivityKey)){const le=L.getValue(mouseWheelScrollSensitivityKey);ae={...ae,mouseWheelScrollSensitivity:le}}if(re.affectsConfiguration(fastScrollSensitivityKey)){const le=L.getValue(fastScrollSensitivityKey);ae={...ae,fastScrollSensitivity:le}}Object.keys(ae).length>0&&this.updateOptions(ae)})),this.navigator=new ListResourceNavigator(this,{configurationService:L,...g}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}};WorkbenchList=__decorate$1X([__param$1T(5,IContextKeyService),__param$1T(6,IListService),__param$1T(7,IConfigurationService),__param$1T(8,IInstantiationService)],WorkbenchList);let WorkbenchPagedList=class extends PagedList{constructor(e,t,i,r,g,y,k,L,V){const z=typeof g.horizontalScrolling<"u"?g.horizontalScrolling:!!L.getValue(horizontalScrollingKey),[j,ie]=V.invokeFunction(toWorkbenchListOptions,g);super(e,t,i,r,{keyboardSupport:!1,...j,horizontalScrolling:z}),this.disposables=new DisposableStore,this.disposables.add(ie),this.contextKeyService=createScopedContextKeyService(y,this),this.disposables.add(createScrollObserver(this.contextKeyService,this.widget)),this.horizontalScrolling=g.horizontalScrolling,this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(g.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!g.selectionNavigation),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(L),this.disposables.add(this.contextKeyService),this.disposables.add(k.register(this)),this.updateStyles(g.overrideStyles),this.disposables.add(L.onDidChangeConfiguration(re=>{re.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(L));let ae={};if(re.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const le=!!L.getValue(horizontalScrollingKey);ae={...ae,horizontalScrolling:le}}if(re.affectsConfiguration(scrollByPageKey)){const le=!!L.getValue(scrollByPageKey);ae={...ae,scrollByPage:le}}if(re.affectsConfiguration(listSmoothScrolling)){const le=!!L.getValue(listSmoothScrolling);ae={...ae,smoothScrolling:le}}if(re.affectsConfiguration(mouseWheelScrollSensitivityKey)){const le=L.getValue(mouseWheelScrollSensitivityKey);ae={...ae,mouseWheelScrollSensitivity:le}}if(re.affectsConfiguration(fastScrollSensitivityKey)){const le=L.getValue(fastScrollSensitivityKey);ae={...ae,fastScrollSensitivity:le}}Object.keys(ae).length>0&&this.updateOptions(ae)})),this.navigator=new ListResourceNavigator(this,{configurationService:L,...g}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchPagedList=__decorate$1X([__param$1T(5,IContextKeyService),__param$1T(6,IListService),__param$1T(7,IConfigurationService),__param$1T(8,IInstantiationService)],WorkbenchPagedList);let WorkbenchTable=class extends Table$1{constructor(e,t,i,r,g,y,k,L,V,z){const j=typeof y.horizontalScrolling<"u"?y.horizontalScrolling:!!V.getValue(horizontalScrollingKey),[ie,oe]=z.invokeFunction(toWorkbenchListOptions,y);super(e,t,i,r,g,{keyboardSupport:!1,...ie,horizontalScrolling:j}),this.disposables.add(oe),this.contextKeyService=createScopedContextKeyService(k,this),this.disposables.add(createScrollObserver(this.contextKeyService,this)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(y.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!y.selectionNavigation),this.listHasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.listDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.listMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.horizontalScrolling=y.horizontalScrolling,this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(V),this.disposables.add(this.contextKeyService),this.disposables.add(L.register(this)),this.updateStyles(y.overrideStyles),this.disposables.add(this.onDidChangeSelection(()=>{const ae=this.getSelection(),le=this.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.listHasSelectionOrFocus.set(ae.length>0||le.length>0),this.listMultiSelection.set(ae.length>1),this.listDoubleSelection.set(ae.length===2)})})),this.disposables.add(this.onDidChangeFocus(()=>{const ae=this.getSelection(),le=this.getFocus();this.listHasSelectionOrFocus.set(ae.length>0||le.length>0)})),this.disposables.add(V.onDidChangeConfiguration(ae=>{ae.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(V));let le={};if(ae.affectsConfiguration(horizontalScrollingKey)&&this.horizontalScrolling===void 0){const de=!!V.getValue(horizontalScrollingKey);le={...le,horizontalScrolling:de}}if(ae.affectsConfiguration(scrollByPageKey)){const de=!!V.getValue(scrollByPageKey);le={...le,scrollByPage:de}}if(ae.affectsConfiguration(listSmoothScrolling)){const de=!!V.getValue(listSmoothScrolling);le={...le,smoothScrolling:de}}if(ae.affectsConfiguration(mouseWheelScrollSensitivityKey)){const de=V.getValue(mouseWheelScrollSensitivityKey);le={...le,mouseWheelScrollSensitivity:de}}if(ae.affectsConfiguration(fastScrollSensitivityKey)){const de=V.getValue(fastScrollSensitivityKey);le={...le,fastScrollSensitivity:de}}Object.keys(le).length>0&&this.updateOptions(le)})),this.navigator=new TableResourceNavigator(this,{configurationService:V,...y}),this.disposables.add(this.navigator)}updateOptions(e){super.updateOptions(e),e.overrideStyles!==void 0&&this.updateStyles(e.overrideStyles),e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyles(e){this.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables.dispose(),super.dispose()}};WorkbenchTable=__decorate$1X([__param$1T(6,IContextKeyService),__param$1T(7,IListService),__param$1T(8,IConfigurationService),__param$1T(9,IInstantiationService)],WorkbenchTable);class ResourceNavigator extends Disposable{constructor(e,t){var i;super(),this.widget=e,this._onDidOpen=this._register(new Emitter$1),this.onDidOpen=this._onDidOpen.event,this._register(Event$1.filter(this.widget.onDidChangeSelection,r=>isKeyboardEvent(r.browserEvent))(r=>this.onSelectionFromKeyboard(r))),this._register(this.widget.onPointer(r=>this.onPointer(r.element,r.browserEvent))),this._register(this.widget.onMouseDblClick(r=>this.onMouseDblClick(r.element,r.browserEvent))),typeof(t==null?void 0:t.openOnSingleClick)!="boolean"&&(t!=null&&t.configurationService)?(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(openModeSettingKey))!=="doubleClick",this._register(t==null?void 0:t.configurationService.onDidChangeConfiguration(r=>{r.affectsConfiguration(openModeSettingKey)&&(this.openOnSingleClick=(t==null?void 0:t.configurationService.getValue(openModeSettingKey))!=="doubleClick")}))):this.openOnSingleClick=(i=t==null?void 0:t.openOnSingleClick)!==null&&i!==void 0?i:!0}onSelectionFromKeyboard(e){if(e.elements.length!==1)return;const t=e.browserEvent,i=typeof t.preserveFocus=="boolean"?t.preserveFocus:!0,r=typeof t.pinned=="boolean"?t.pinned:!i;this._open(this.getSelectedElement(),i,r,!1,e.browserEvent)}onPointer(e,t){if(!this.openOnSingleClick||t.detail===2)return;const r=t.button===1,g=!0,y=r,k=t.ctrlKey||t.metaKey||t.altKey;this._open(e,g,y,k,t)}onMouseDblClick(e,t){if(!t)return;const i=t.target;if(i.classList.contains("monaco-tl-twistie")||i.classList.contains("monaco-icon-label")&&i.classList.contains("folder-icon")&&t.offsetX<16)return;const g=!1,y=!0,k=t.ctrlKey||t.metaKey||t.altKey;this._open(e,g,y,k,t)}_open(e,t,i,r,g){e&&this._onDidOpen.fire({editorOptions:{preserveFocus:t,pinned:i,revealIfVisible:!0},sideBySide:r,element:e,browserEvent:g})}}class ListResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t),this.widget=e}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class TableResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t)}getSelectedElement(){return this.widget.getSelectedElements()[0]}}class TreeResourceNavigator extends ResourceNavigator{constructor(e,t){super(e,t)}getSelectedElement(){var e;return(e=this.widget.getSelection()[0])!==null&&e!==void 0?e:void 0}}function createKeyboardNavigationEventFilter(n){let e=!1;return t=>{if(t.toKeyCodeChord().isModifierKey())return!1;if(e)return e=!1,!1;const i=n.softDispatch(t,t.target);return i.kind===1?(e=!0,!1):(e=!1,i.kind===0)}}let WorkbenchObjectTree=class extends ObjectTree{constructor(e,t,i,r,g,y,k,L,V){const{options:z,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble,g);super(e,t,i,r,z),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals(this,g,j,g.overrideStyles,k,L,V),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchObjectTree=__decorate$1X([__param$1T(5,IInstantiationService),__param$1T(6,IContextKeyService),__param$1T(7,IListService),__param$1T(8,IConfigurationService)],WorkbenchObjectTree);let WorkbenchCompressibleObjectTree=class extends CompressibleObjectTree{constructor(e,t,i,r,g,y,k,L,V){const{options:z,getTypeNavigationMode:j,disposable:ie}=y.invokeFunction(workbenchTreeDataPreamble,g);super(e,t,i,r,z),this.disposables.add(ie),this.internals=new WorkbenchTreeInternals(this,g,j,g.overrideStyles,k,L,V),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchCompressibleObjectTree=__decorate$1X([__param$1T(5,IInstantiationService),__param$1T(6,IContextKeyService),__param$1T(7,IListService),__param$1T(8,IConfigurationService)],WorkbenchCompressibleObjectTree);let WorkbenchDataTree=class extends DataTree{constructor(e,t,i,r,g,y,k,L,V,z){const{options:j,getTypeNavigationMode:ie,disposable:oe}=k.invokeFunction(workbenchTreeDataPreamble,y);super(e,t,i,r,g,j),this.disposables.add(oe),this.internals=new WorkbenchTreeInternals(this,y,ie,y.overrideStyles,L,V,z),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles!==void 0&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchDataTree=__decorate$1X([__param$1T(6,IInstantiationService),__param$1T(7,IContextKeyService),__param$1T(8,IListService),__param$1T(9,IConfigurationService)],WorkbenchDataTree);let WorkbenchAsyncDataTree=class extends AsyncDataTree{get onDidOpen(){return this.internals.onDidOpen}constructor(e,t,i,r,g,y,k,L,V,z){const{options:j,getTypeNavigationMode:ie,disposable:oe}=k.invokeFunction(workbenchTreeDataPreamble,y);super(e,t,i,r,g,j),this.disposables.add(oe),this.internals=new WorkbenchTreeInternals(this,y,ie,y.overrideStyles,L,V,z),this.disposables.add(this.internals)}updateOptions(e={}){super.updateOptions(e),e.overrideStyles&&this.internals.updateStyleOverrides(e.overrideStyles),this.internals.updateOptions(e)}};WorkbenchAsyncDataTree=__decorate$1X([__param$1T(6,IInstantiationService),__param$1T(7,IContextKeyService),__param$1T(8,IListService),__param$1T(9,IConfigurationService)],WorkbenchAsyncDataTree);let WorkbenchCompressibleAsyncDataTree=class extends CompressibleAsyncDataTree{constructor(e,t,i,r,g,y,k,L,V,z,j){const{options:ie,getTypeNavigationMode:oe,disposable:re}=L.invokeFunction(workbenchTreeDataPreamble,k);super(e,t,i,r,g,y,ie),this.disposables.add(re),this.internals=new WorkbenchTreeInternals(this,k,oe,k.overrideStyles,V,z,j),this.disposables.add(this.internals)}updateOptions(e){super.updateOptions(e),this.internals.updateOptions(e)}};WorkbenchCompressibleAsyncDataTree=__decorate$1X([__param$1T(7,IInstantiationService),__param$1T(8,IContextKeyService),__param$1T(9,IListService),__param$1T(10,IConfigurationService)],WorkbenchCompressibleAsyncDataTree);function getDefaultTreeFindMode(n){const e=n.getValue(defaultFindModeSettingKey);if(e==="highlight")return TreeFindMode.Highlight;if(e==="filter")return TreeFindMode.Filter;const t=n.getValue(keyboardNavigationSettingKey);if(t==="simple"||t==="highlight")return TreeFindMode.Highlight;if(t==="filter")return TreeFindMode.Filter}function getDefaultTreeFindMatchType(n){const e=n.getValue(defaultFindMatchTypeSettingKey);if(e==="fuzzy")return TreeFindMatchType.Fuzzy;if(e==="contiguous")return TreeFindMatchType.Contiguous}function workbenchTreeDataPreamble(n,e){var t;const i=n.get(IConfigurationService),r=n.get(IContextViewService),g=n.get(IContextKeyService),y=n.get(IInstantiationService),k=()=>{const oe=g.getContextKeyValue(WorkbenchListTypeNavigationModeKey);if(oe==="automatic")return TypeNavigationMode.Automatic;if(oe==="trigger"||g.getContextKeyValue(WorkbenchListAutomaticKeyboardNavigationLegacyKey)===!1)return TypeNavigationMode.Trigger;const ae=i.getValue(typeNavigationModeSettingKey);if(ae==="automatic")return TypeNavigationMode.Automatic;if(ae==="trigger")return TypeNavigationMode.Trigger},L=e.horizontalScrolling!==void 0?e.horizontalScrolling:!!i.getValue(horizontalScrollingKey),[V,z]=y.invokeFunction(toWorkbenchListOptions,e),j=e.paddingBottom,ie=e.renderIndentGuides!==void 0?e.renderIndentGuides:i.getValue(treeRenderIndentGuidesKey);return{getTypeNavigationMode:k,disposable:z,options:{keyboardSupport:!1,...V,indent:typeof i.getValue(treeIndentKey)=="number"?i.getValue(treeIndentKey):void 0,renderIndentGuides:ie,smoothScrolling:!!i.getValue(listSmoothScrolling),defaultFindMode:getDefaultTreeFindMode(i),defaultFindMatchType:getDefaultTreeFindMatchType(i),horizontalScrolling:L,scrollByPage:!!i.getValue(scrollByPageKey),paddingBottom:j,hideTwistiesOfChildlessElements:e.hideTwistiesOfChildlessElements,expandOnlyOnTwistieClick:(t=e.expandOnlyOnTwistieClick)!==null&&t!==void 0?t:i.getValue(treeExpandMode)==="doubleClick",contextViewProvider:r,findWidgetStyles:defaultFindWidgetStyles,enableStickyScroll:!!i.getValue(treeStickyScroll),stickyScrollMaxItemCount:Number(i.getValue(treeStickyScrollMaxElements))}}}let WorkbenchTreeInternals=class{get onDidOpen(){return this.navigator.onDidOpen}constructor(e,t,i,r,g,y,k){var L;this.tree=e,this.disposables=[],this.contextKeyService=createScopedContextKeyService(g,e),this.disposables.push(createScrollObserver(this.contextKeyService,e)),this.listSupportsMultiSelect=WorkbenchListSupportsMultiSelectContextKey.bindTo(this.contextKeyService),this.listSupportsMultiSelect.set(t.multipleSelectionSupport!==!1),WorkbenchListSelectionNavigation.bindTo(this.contextKeyService).set(!!t.selectionNavigation),this.listSupportFindWidget=WorkbenchListSupportsFind.bindTo(this.contextKeyService),this.listSupportFindWidget.set((L=t.findWidgetEnabled)!==null&&L!==void 0?L:!0),this.hasSelectionOrFocus=WorkbenchListHasSelectionOrFocus.bindTo(this.contextKeyService),this.hasDoubleSelection=WorkbenchListDoubleSelection.bindTo(this.contextKeyService),this.hasMultiSelection=WorkbenchListMultiSelection.bindTo(this.contextKeyService),this.treeElementCanCollapse=WorkbenchTreeElementCanCollapse.bindTo(this.contextKeyService),this.treeElementHasParent=WorkbenchTreeElementHasParent.bindTo(this.contextKeyService),this.treeElementCanExpand=WorkbenchTreeElementCanExpand.bindTo(this.contextKeyService),this.treeElementHasChild=WorkbenchTreeElementHasChild.bindTo(this.contextKeyService),this.treeFindOpen=WorkbenchTreeFindOpen.bindTo(this.contextKeyService),this.treeStickyScrollFocused=WorkbenchTreeStickyScrollFocused.bindTo(this.contextKeyService),this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(k),this.updateStyleOverrides(r);const z=()=>{const ie=e.getFocus()[0];if(!ie)return;const oe=e.getNode(ie);this.treeElementCanCollapse.set(oe.collapsible&&!oe.collapsed),this.treeElementHasParent.set(!!e.getParentElement(ie)),this.treeElementCanExpand.set(oe.collapsible&&oe.collapsed),this.treeElementHasChild.set(!!e.getFirstElementChild(ie))},j=new Set;j.add(WorkbenchListTypeNavigationModeKey),j.add(WorkbenchListAutomaticKeyboardNavigationLegacyKey),this.disposables.push(this.contextKeyService,y.register(e),e.onDidChangeSelection(()=>{const ie=e.getSelection(),oe=e.getFocus();this.contextKeyService.bufferChangeEvents(()=>{this.hasSelectionOrFocus.set(ie.length>0||oe.length>0),this.hasMultiSelection.set(ie.length>1),this.hasDoubleSelection.set(ie.length===2)})}),e.onDidChangeFocus(()=>{const ie=e.getSelection(),oe=e.getFocus();this.hasSelectionOrFocus.set(ie.length>0||oe.length>0),z()}),e.onDidChangeCollapseState(z),e.onDidChangeModel(z),e.onDidChangeFindOpenState(ie=>this.treeFindOpen.set(ie)),e.onDidChangeStickyScrollFocused(ie=>this.treeStickyScrollFocused.set(ie)),k.onDidChangeConfiguration(ie=>{let oe={};if(ie.affectsConfiguration(multiSelectModifierSettingKey)&&(this._useAltAsMultipleSelectionModifier=useAltAsMultipleSelectionModifier(k)),ie.affectsConfiguration(treeIndentKey)){const re=k.getValue(treeIndentKey);oe={...oe,indent:re}}if(ie.affectsConfiguration(treeRenderIndentGuidesKey)&&t.renderIndentGuides===void 0){const re=k.getValue(treeRenderIndentGuidesKey);oe={...oe,renderIndentGuides:re}}if(ie.affectsConfiguration(listSmoothScrolling)){const re=!!k.getValue(listSmoothScrolling);oe={...oe,smoothScrolling:re}}if(ie.affectsConfiguration(defaultFindModeSettingKey)||ie.affectsConfiguration(keyboardNavigationSettingKey)){const re=getDefaultTreeFindMode(k);oe={...oe,defaultFindMode:re}}if(ie.affectsConfiguration(typeNavigationModeSettingKey)||ie.affectsConfiguration(keyboardNavigationSettingKey)){const re=i();oe={...oe,typeNavigationMode:re}}if(ie.affectsConfiguration(defaultFindMatchTypeSettingKey)){const re=getDefaultTreeFindMatchType(k);oe={...oe,defaultFindMatchType:re}}if(ie.affectsConfiguration(horizontalScrollingKey)&&t.horizontalScrolling===void 0){const re=!!k.getValue(horizontalScrollingKey);oe={...oe,horizontalScrolling:re}}if(ie.affectsConfiguration(scrollByPageKey)){const re=!!k.getValue(scrollByPageKey);oe={...oe,scrollByPage:re}}if(ie.affectsConfiguration(treeExpandMode)&&t.expandOnlyOnTwistieClick===void 0&&(oe={...oe,expandOnlyOnTwistieClick:k.getValue(treeExpandMode)==="doubleClick"}),ie.affectsConfiguration(treeStickyScroll)){const re=k.getValue(treeStickyScroll);oe={...oe,enableStickyScroll:re}}if(ie.affectsConfiguration(treeStickyScrollMaxElements)){const re=Math.max(1,k.getValue(treeStickyScrollMaxElements));oe={...oe,stickyScrollMaxItemCount:re}}if(ie.affectsConfiguration(mouseWheelScrollSensitivityKey)){const re=k.getValue(mouseWheelScrollSensitivityKey);oe={...oe,mouseWheelScrollSensitivity:re}}if(ie.affectsConfiguration(fastScrollSensitivityKey)){const re=k.getValue(fastScrollSensitivityKey);oe={...oe,fastScrollSensitivity:re}}Object.keys(oe).length>0&&e.updateOptions(oe)}),this.contextKeyService.onDidChangeContext(ie=>{ie.affectsSome(j)&&e.updateOptions({typeNavigationMode:i()})})),this.navigator=new TreeResourceNavigator(e,{configurationService:k,...t}),this.disposables.push(this.navigator)}updateOptions(e){e.multipleSelectionSupport!==void 0&&this.listSupportsMultiSelect.set(!!e.multipleSelectionSupport)}updateStyleOverrides(e){this.tree.style(e?getListStyles(e):defaultListStyles)}dispose(){this.disposables=dispose(this.disposables)}};WorkbenchTreeInternals=__decorate$1X([__param$1T(4,IContextKeyService),__param$1T(5,IListService),__param$1T(6,IConfigurationService)],WorkbenchTreeInternals);const configurationRegistry=Registry.as(Extensions$6.Configuration);configurationRegistry.registerConfiguration({id:"workbench",order:7,title:localize("workbenchConfigurationTitle","Workbench"),type:"object",properties:{[multiSelectModifierSettingKey]:{type:"string",enum:["ctrlCmd","alt"],markdownEnumDescriptions:[localize("multiSelectModifier.ctrlCmd","Maps to `Control` on Windows and Linux and to `Command` on macOS."),localize("multiSelectModifier.alt","Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],default:"ctrlCmd",description:localize({},"The modifier to be used to add an item in trees and lists to a multi-selection with the mouse (for example in the explorer, open editors and scm view). The 'Open to Side' mouse gestures - if supported - will adapt such that they do not conflict with the multiselect modifier.")},[openModeSettingKey]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize({},"Controls how to open items in trees and lists using the mouse (if supported). Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[horizontalScrollingKey]:{type:"boolean",default:!1,description:localize("horizontalScrolling setting","Controls whether lists and trees support horizontal scrolling in the workbench. Warning: turning on this setting has a performance implication.")},[scrollByPageKey]:{type:"boolean",default:!1,description:localize("list.scrollByPage","Controls whether clicks in the scrollbar scroll page by page.")},[treeIndentKey]:{type:"number",default:8,minimum:4,maximum:40,description:localize("tree indent setting","Controls tree indentation in pixels.")},[treeRenderIndentGuidesKey]:{type:"string",enum:["none","onHover","always"],default:"onHover",description:localize("render tree indent guides","Controls whether the tree should render indent guides.")},[listSmoothScrolling]:{type:"boolean",default:!1,description:localize("list smoothScrolling setting","Controls whether lists and trees have smooth scrolling.")},[mouseWheelScrollSensitivityKey]:{type:"number",default:1,markdownDescription:localize("Mouse Wheel Scroll Sensitivity","A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")},[fastScrollSensitivityKey]:{type:"number",default:5,markdownDescription:localize("Fast Scroll Sensitivity","Scrolling speed multiplier when pressing `Alt`.")},[defaultFindModeSettingKey]:{type:"string",enum:["highlight","filter"],enumDescriptions:[localize("defaultFindModeSettingKey.highlight","Highlight elements when searching. Further up and down navigation will traverse only the highlighted elements."),localize("defaultFindModeSettingKey.filter","Filter elements when searching.")],default:"highlight",description:localize("defaultFindModeSettingKey","Controls the default find mode for lists and trees in the workbench.")},[keyboardNavigationSettingKey]:{type:"string",enum:["simple","highlight","filter"],enumDescriptions:[localize("keyboardNavigationSettingKey.simple","Simple keyboard navigation focuses elements which match the keyboard input. Matching is done only on prefixes."),localize("keyboardNavigationSettingKey.highlight","Highlight keyboard navigation highlights elements which match the keyboard input. Further up and down navigation will traverse only the highlighted elements."),localize("keyboardNavigationSettingKey.filter","Filter keyboard navigation will filter out and hide all the elements which do not match the keyboard input.")],default:"highlight",description:localize("keyboardNavigationSettingKey","Controls the keyboard navigation style for lists and trees in the workbench. Can be simple, highlight and filter."),deprecated:!0,deprecationMessage:localize("keyboardNavigationSettingKeyDeprecated","Please use 'workbench.list.defaultFindMode' and 'workbench.list.typeNavigationMode' instead.")},[defaultFindMatchTypeSettingKey]:{type:"string",enum:["fuzzy","contiguous"],enumDescriptions:[localize("defaultFindMatchTypeSettingKey.fuzzy","Use fuzzy matching when searching."),localize("defaultFindMatchTypeSettingKey.contiguous","Use contiguous matching when searching.")],default:"fuzzy",description:localize("defaultFindMatchTypeSettingKey","Controls the type of matching used when searching lists and trees in the workbench.")},[treeExpandMode]:{type:"string",enum:["singleClick","doubleClick"],default:"singleClick",description:localize("expand mode","Controls how tree folders are expanded when clicking the folder names. Note that some trees and lists might choose to ignore this setting if it is not applicable.")},[treeStickyScroll]:{type:"boolean",default:!0,description:localize("sticky scroll","Controls whether sticky scrolling is enabled in trees.")},[treeStickyScrollMaxElements]:{type:"number",minimum:1,default:7,markdownDescription:localize("sticky scroll maximum items","Controls the number of sticky elements displayed in the tree when `#workbench.tree.enableStickyScroll#` is enabled.")},[typeNavigationModeSettingKey]:{type:"string",enum:["automatic","trigger"],default:"automatic",markdownDescription:localize("typeNavigationMode2","Controls how type navigation works in lists and trees in the workbench. When set to `trigger`, type navigation begins once the `list.triggerTypeNavigation` command is run.")}}});class HighlightedLabel extends Disposable{constructor(e,t){var i;super(),this.options=t,this.text="",this.title="",this.highlights=[],this.didEverRender=!1,this.supportIcons=(i=t==null?void 0:t.supportIcons)!==null&&i!==void 0?i:!1,this.domNode=append$1(e,$$f("span.monaco-highlighted-label"))}get element(){return this.domNode}set(e,t=[],i="",r){e||(e=""),r&&(e=HighlightedLabel.escapeNewLines(e,t)),!(this.didEverRender&&this.text===e&&this.title===i&&equals$2(this.highlights,t))&&(this.text=e,this.title=i,this.highlights=t,this.render())}render(){var e,t,i,r;const g=[];let y=0;for(const k of this.highlights){if(k.end===k.start)continue;if(y{r=g==="\r\n"?-1:0,y+=i;for(const k of t)k.end<=y||(k.start>=y&&(k.start+=r),k.end>=y&&(k.end+=r));return i+=r,"⏎"})}}class FastLabelNode{constructor(e){this._element=e}get element(){return this._element}set textContent(e){this.disposed||e===this._textContent||(this._textContent=e,this._element.textContent=e)}set className(e){this.disposed||e===this._className||(this._className=e,this._element.className=e)}set empty(e){this.disposed||e===this._empty||(this._empty=e,this._element.style.marginLeft=e?"0":"")}dispose(){this.disposed=!0}}class IconLabel extends Disposable{constructor(e,t){var i;super(),this.customHovers=new Map,this.creationOptions=t,this.domNode=this._register(new FastLabelNode(append$1(e,$$f(".monaco-icon-label")))),this.labelContainer=append$1(this.domNode.element,$$f(".monaco-icon-label-container")),this.nameContainer=append$1(this.labelContainer,$$f("span.monaco-icon-name-container")),t!=null&&t.supportHighlights||t!=null&&t.supportIcons?this.nameNode=this._register(new LabelWithHighlights(this.nameContainer,!!t.supportIcons)):this.nameNode=new Label(this.nameContainer),this.hoverDelegate=(i=t==null?void 0:t.hoverDelegate)!==null&&i!==void 0?i:getDefaultHoverDelegate("mouse")}get element(){return this.domNode.element}setLabel(e,t,i){var r;const g=["monaco-icon-label"],y=["monaco-icon-label-container"];let k="";if(i&&(i.extraClasses&&g.push(...i.extraClasses),i.italic&&g.push("italic"),i.strikethrough&&g.push("strikethrough"),i.disabledCommand&&y.push("disabled"),i.title&&(typeof i.title=="string"?k+=i.title:k+=e)),this.domNode.className=g.join(" "),this.domNode.element.setAttribute("aria-label",k),this.labelContainer.className=y.join(" "),this.setupHover(i!=null&&i.descriptionTitle?this.labelContainer:this.element,i==null?void 0:i.title),this.nameNode.setLabel(e,i),t||this.descriptionNode){const L=this.getOrCreateDescriptionNode();L instanceof HighlightedLabel?(L.set(t||"",i?i.descriptionMatches:void 0,void 0,i==null?void 0:i.labelEscapeNewLines),this.setupHover(L.element,i==null?void 0:i.descriptionTitle)):(L.textContent=t&&(i!=null&&i.labelEscapeNewLines)?HighlightedLabel.escapeNewLines(t,[]):t||"",this.setupHover(L.element,(i==null?void 0:i.descriptionTitle)||""),L.empty=!t)}if(i!=null&&i.suffix||this.suffixNode){const L=this.getOrCreateSuffixNode();L.textContent=(r=i==null?void 0:i.suffix)!==null&&r!==void 0?r:""}}setupHover(e,t){const i=this.customHovers.get(e);if(i&&(i.dispose(),this.customHovers.delete(e)),!t){e.removeAttribute("title");return}if(this.hoverDelegate.showNativeHover)setupNativeHover(e,t);else{const r=setupCustomHover(this.hoverDelegate,e,t);r&&this.customHovers.set(e,r)}}dispose(){super.dispose();for(const e of this.customHovers.values())e.dispose();this.customHovers.clear()}getOrCreateSuffixNode(){if(!this.suffixNode){const e=this._register(new FastLabelNode(after(this.nameContainer,$$f("span.monaco-icon-suffix-container"))));this.suffixNode=this._register(new FastLabelNode(append$1(e.element,$$f("span.label-suffix"))))}return this.suffixNode}getOrCreateDescriptionNode(){var e;if(!this.descriptionNode){const t=this._register(new FastLabelNode(append$1(this.labelContainer,$$f("span.monaco-icon-description-container"))));!((e=this.creationOptions)===null||e===void 0)&&e.supportDescriptionHighlights?this.descriptionNode=this._register(new HighlightedLabel(append$1(t.element,$$f("span.label-description")),{supportIcons:!!this.creationOptions.supportIcons})):this.descriptionNode=this._register(new FastLabelNode(append$1(t.element,$$f("span.label-description"))))}return this.descriptionNode}}class Label{constructor(e){this.container=e,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&equals$2(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=append$1(this.container,$$f("a.label-name",{id:t==null?void 0:t.domId}))),this.singleLabel.textContent=e;else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;for(let i=0;i{const g={start:i,end:i+r.length},y=t.map(k=>Range$1.intersect(g,k)).filter(k=>!Range$1.isEmpty(k)).map(({start:k,end:L})=>({start:k-i,end:L-i}));return i=g.end+e.length,y})}class LabelWithHighlights extends Disposable{constructor(e,t){super(),this.container=e,this.supportIcons=t,this.label=void 0,this.singleLabel=void 0}setLabel(e,t){if(!(this.label===e&&equals$2(this.options,t)))if(this.label=e,this.options=t,typeof e=="string")this.singleLabel||(this.container.innerText="",this.container.classList.remove("multiple"),this.singleLabel=this._register(new HighlightedLabel(append$1(this.container,$$f("a.label-name",{id:t==null?void 0:t.domId})),{supportIcons:this.supportIcons}))),this.singleLabel.set(e,t==null?void 0:t.matches,void 0,t==null?void 0:t.labelEscapeNewLines);else{this.container.innerText="",this.container.classList.add("multiple"),this.singleLabel=void 0;const i=(t==null?void 0:t.separator)||"/",r=splitMatches(e,i,t==null?void 0:t.matches);for(let g=0;g{const n=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:n,collatorIsNumeric:n.resolvedOptions().numeric}});function compareFileNames(n,e,t=!1){const i=n||"",r=e||"",g=intlFileNameCollatorBaseNumeric.value.collator.compare(i,r);return intlFileNameCollatorBaseNumeric.value.collatorIsNumeric&&g===0&&i!==r?ir.length)return 1}return 0}var __decorate$1W=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1S=function(n,e){return function(t,i){e(t,i,n)}},QuickPickItemElementRenderer_1;const $$9=$$f;var QuickInputListFocus;(function(n){n[n.First=1]="First",n[n.Second=2]="Second",n[n.Last=3]="Last",n[n.Next=4]="Next",n[n.Previous=5]="Previous",n[n.NextPage=6]="NextPage",n[n.PreviousPage=7]="PreviousPage",n[n.NextSeparator=8]="NextSeparator",n[n.PreviousSeparator=9]="PreviousSeparator"})(QuickInputListFocus||(QuickInputListFocus={}));class BaseQuickPickItemElement{constructor(e,t,i){this.index=e,this.hasCheckbox=t,this._hidden=!1,this._init=new Lazy(()=>{var r;const g=(r=i.label)!==null&&r!==void 0?r:"",y=parseLabelWithIcons(g).text.trim(),k=i.ariaLabel||[g,this.saneDescription,this.saneDetail].map(L=>getCodiconAriaLabel(L)).filter(L=>!!L).join(", ");return{saneLabel:g,saneSortLabel:y,saneAriaLabel:k}}),this._saneDescription=i.description,this._saneTooltip=i.tooltip}get saneLabel(){return this._init.value.saneLabel}get saneSortLabel(){return this._init.value.saneSortLabel}get saneAriaLabel(){return this._init.value.saneAriaLabel}get element(){return this._element}set element(e){this._element=e}get hidden(){return this._hidden}set hidden(e){this._hidden=e}get saneDescription(){return this._saneDescription}set saneDescription(e){this._saneDescription=e}get saneDetail(){return this._saneDetail}set saneDetail(e){this._saneDetail=e}get saneTooltip(){return this._saneTooltip}set saneTooltip(e){this._saneTooltip=e}get labelHighlights(){return this._labelHighlights}set labelHighlights(e){this._labelHighlights=e}get descriptionHighlights(){return this._descriptionHighlights}set descriptionHighlights(e){this._descriptionHighlights=e}get detailHighlights(){return this._detailHighlights}set detailHighlights(e){this._detailHighlights=e}}class QuickPickItemElement extends BaseQuickPickItemElement{constructor(e,t,i,r,g,y){var k,L,V;super(e,t,g),this.fireButtonTriggered=i,this._onChecked=r,this.item=g,this._separator=y,this._checked=!1,this.onChecked=t?Event$1.map(Event$1.filter(this._onChecked.event,z=>z.element===this),z=>z.checked):Event$1.None,this._saneDetail=g.detail,this._labelHighlights=(k=g.highlights)===null||k===void 0?void 0:k.label,this._descriptionHighlights=(L=g.highlights)===null||L===void 0?void 0:L.description,this._detailHighlights=(V=g.highlights)===null||V===void 0?void 0:V.detail}get separator(){return this._separator}set separator(e){this._separator=e}get checked(){return this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire({element:this,checked:e}))}get checkboxDisabled(){return!!this.item.disabled}}var QuickPickSeparatorFocusReason;(function(n){n[n.NONE=0]="NONE",n[n.MOUSE_HOVER=1]="MOUSE_HOVER",n[n.ACTIVE_ITEM=2]="ACTIVE_ITEM"})(QuickPickSeparatorFocusReason||(QuickPickSeparatorFocusReason={}));class QuickPickSeparatorElement extends BaseQuickPickItemElement{constructor(e,t,i){super(e,!1,i),this.fireSeparatorButtonTriggered=t,this.separator=i,this.children=new Array,this.focusInsideSeparator=QuickPickSeparatorFocusReason.NONE}}class QuickInputItemDelegate{getHeight(e){return e instanceof QuickPickSeparatorElement?30:e.saneDetail?44:22}getTemplateId(e){return e instanceof QuickPickItemElement?QuickPickItemElementRenderer.ID:QuickPickSeparatorElementRenderer.ID}}class QuickInputAccessibilityProvider{getWidgetAriaLabel(){return localize("quickInput","Quick Input")}getAriaLabel(e){var t;return!((t=e.separator)===null||t===void 0)&&t.label?"".concat(e.saneAriaLabel,", ").concat(e.separator.label):e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(e){return e.hasCheckbox?"checkbox":"option"}isChecked(e){if(!(!e.hasCheckbox||!(e instanceof QuickPickItemElement)))return{value:e.checked,onDidChange:e.onChecked}}}class BaseQuickInputListRenderer{constructor(e){this.hoverDelegate=e}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=new DisposableStore,t.toDisposeTemplate=new DisposableStore,t.entry=append$1(e,$$9(".quick-input-list-entry"));const i=append$1(t.entry,$$9("label.quick-input-list-label"));t.toDisposeTemplate.add(addStandardDisposableListener(i,EventType$1.CLICK,V=>{t.checkbox.offsetParent||V.preventDefault()})),t.checkbox=append$1(i,$$9("input.quick-input-list-checkbox")),t.checkbox.type="checkbox";const r=append$1(i,$$9(".quick-input-list-rows")),g=append$1(r,$$9(".quick-input-list-row")),y=append$1(r,$$9(".quick-input-list-row"));t.label=new IconLabel(g,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.label),t.icon=prepend$1(t.label.element,$$9(".quick-input-list-icon"));const k=append$1(g,$$9(".quick-input-list-entry-keybinding"));t.keybinding=new KeybindingLabel(k,OS),t.toDisposeTemplate.add(t.keybinding);const L=append$1(y,$$9(".quick-input-list-label-meta"));return t.detail=new IconLabel(L,{supportHighlights:!0,supportIcons:!0,hoverDelegate:this.hoverDelegate}),t.toDisposeTemplate.add(t.detail),t.separator=append$1(t.entry,$$9(".quick-input-list-separator")),t.actionBar=new ActionBar(t.entry,this.hoverDelegate?{hoverDelegate:this.hoverDelegate}:void 0),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.add(t.actionBar),t}disposeTemplate(e){e.toDisposeElement.dispose(),e.toDisposeTemplate.dispose()}disposeElement(e,t,i){i.toDisposeElement.clear(),i.actionBar.clear()}}let QuickPickItemElementRenderer=QuickPickItemElementRenderer_1=class extends BaseQuickInputListRenderer{constructor(e,t){super(e),this.themeService=t,this._itemsWithSeparatorsFrequency=new Map}get templateId(){return QuickPickItemElementRenderer_1.ID}renderTemplate(e){const t=super.renderTemplate(e);return t.toDisposeTemplate.add(addStandardDisposableListener(t.checkbox,EventType$1.CHANGE,i=>{t.element.checked=t.checkbox.checked})),t}renderElement(e,t,i){var r,g,y;const k=e.element;i.element=k,k.element=(r=i.entry)!==null&&r!==void 0?r:void 0;const L=k.item;i.checkbox.checked=k.checked,i.toDisposeElement.add(k.onChecked(ae=>i.checkbox.checked=ae)),i.checkbox.disabled=k.checkboxDisabled;const{labelHighlights:V,descriptionHighlights:z,detailHighlights:j}=k;if(L.iconPath){const ae=isDark(this.themeService.getColorTheme().type)?L.iconPath.dark:(g=L.iconPath.light)!==null&&g!==void 0?g:L.iconPath.dark,le=URI.revive(ae);i.icon.className="quick-input-list-icon",i.icon.style.backgroundImage=asCSSUrl(le)}else i.icon.style.backgroundImage="",i.icon.className=L.iconClass?"quick-input-list-icon ".concat(L.iconClass):"";let ie;!k.saneTooltip&&k.saneDescription&&(ie={markdown:{value:k.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:k.saneDescription});const oe={matches:V||[],descriptionTitle:ie,descriptionMatches:z||[],labelEscapeNewLines:!0};if(oe.extraClasses=L.iconClasses,oe.italic=L.italic,oe.strikethrough=L.strikethrough,i.entry.classList.remove("quick-input-list-separator-as-item"),i.label.setLabel(k.saneLabel,k.saneDescription,oe),i.keybinding.set(L.keybinding),k.saneDetail){let ae;k.saneTooltip||(ae={markdown:{value:k.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:k.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(k.saneDetail,void 0,{matches:j,title:ae,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";!((y=k.separator)===null||y===void 0)&&y.label?(i.separator.textContent=k.separator.label,i.separator.style.display="",this.addItemWithSeparator(k)):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!k.separator);const re=L.buttons;re&&re.length?(i.actionBar.push(re.map((ae,le)=>quickInputButtonToAction(ae,"id-".concat(le),()=>k.fireButtonTriggered({button:ae,item:k.item}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){this.removeItemWithSeparator(e.element),super.disposeElement(e,t,i)}isItemWithSeparatorVisible(e){return this._itemsWithSeparatorsFrequency.has(e)}addItemWithSeparator(e){this._itemsWithSeparatorsFrequency.set(e,(this._itemsWithSeparatorsFrequency.get(e)||0)+1)}removeItemWithSeparator(e){const t=this._itemsWithSeparatorsFrequency.get(e)||0;t>1?this._itemsWithSeparatorsFrequency.set(e,t-1):this._itemsWithSeparatorsFrequency.delete(e)}};QuickPickItemElementRenderer.ID="quickpickitem";QuickPickItemElementRenderer=QuickPickItemElementRenderer_1=__decorate$1W([__param$1S(1,IThemeService)],QuickPickItemElementRenderer);class QuickPickSeparatorElementRenderer extends BaseQuickInputListRenderer{constructor(){super(...arguments),this._visibleSeparatorsFrequency=new Map}get templateId(){return QuickPickSeparatorElementRenderer.ID}get visibleSeparators(){return[...this._visibleSeparatorsFrequency.keys()]}isSeparatorVisible(e){return this._visibleSeparatorsFrequency.has(e)}renderElement(e,t,i){var r;const g=e.element;i.element=g,g.element=(r=i.entry)!==null&&r!==void 0?r:void 0,g.element.classList.toggle("focus-inside",!!g.focusInsideSeparator);const y=g.separator,{labelHighlights:k,descriptionHighlights:L,detailHighlights:V}=g;i.icon.style.backgroundImage="",i.icon.className="";let z;!g.saneTooltip&&g.saneDescription&&(z={markdown:{value:g.saneDescription,supportThemeIcons:!0},markdownNotSupportedFallback:g.saneDescription});const j={matches:k||[],descriptionTitle:z,descriptionMatches:L||[],labelEscapeNewLines:!0};if(i.entry.classList.add("quick-input-list-separator-as-item"),i.label.setLabel(g.saneLabel,g.saneDescription,j),g.saneDetail){let oe;g.saneTooltip||(oe={markdown:{value:g.saneDetail,supportThemeIcons:!0},markdownNotSupportedFallback:g.saneDetail}),i.detail.element.style.display="",i.detail.setLabel(g.saneDetail,void 0,{matches:V,title:oe,labelEscapeNewLines:!0})}else i.detail.element.style.display="none";i.separator.style.display="none",i.entry.classList.add("quick-input-list-separator-border");const ie=y.buttons;ie&&ie.length?(i.actionBar.push(ie.map((oe,re)=>quickInputButtonToAction(oe,"id-".concat(re),()=>g.fireSeparatorButtonTriggered({button:oe,separator:g.separator}))),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions"),this.addSeparator(g)}disposeElement(e,t,i){var r;this.removeSeparator(e.element),this.isSeparatorVisible(e.element)||(r=e.element.element)===null||r===void 0||r.classList.remove("focus-inside"),super.disposeElement(e,t,i)}addSeparator(e){this._visibleSeparatorsFrequency.set(e,(this._visibleSeparatorsFrequency.get(e)||0)+1)}removeSeparator(e){const t=this._visibleSeparatorsFrequency.get(e)||0;t>1?this._visibleSeparatorsFrequency.set(e,t-1):this._visibleSeparatorsFrequency.delete(e)}}QuickPickSeparatorElementRenderer.ID="quickpickseparator";let QuickInputTree=class extends Disposable{constructor(e,t,i,r,g){super(),this.parent=e,this.hoverDelegate=t,this.linkOpenerDelegate=i,this._onKeyDown=new Emitter$1,this.onKeyDown=this._onKeyDown.event,this._onLeave=new Emitter$1,this.onLeave=this._onLeave.event,this._onChangedAllVisibleChecked=new Emitter$1,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new Emitter$1,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new Emitter$1,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new Emitter$1,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new Emitter$1,this.onButtonTriggered=this._onButtonTriggered.event,this._onSeparatorButtonTriggered=new Emitter$1,this.onSeparatorButtonTriggered=this._onSeparatorButtonTriggered.event,this._onTriggerEmptySelectionOrFocus=new Emitter$1,this._elementChecked=new Emitter$1,this._inputElements=new Array,this._elementTree=new Array,this._itemElements=new Array,this._elementDisposable=this._register(new DisposableStore),this._shouldFireCheckedEvents=!0,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._container=append$1(this.parent,$$9(".quick-input-list")),this._separatorRenderer=new QuickPickSeparatorElementRenderer(t),this._itemRenderer=g.createInstance(QuickPickItemElementRenderer,t),this._tree=this._register(g.createInstance(WorkbenchObjectTree,"QuickInput",this._container,new QuickInputItemDelegate,[this._itemRenderer,this._separatorRenderer],{accessibilityProvider:new QuickInputAccessibilityProvider,setRowLineHeight:!1,multipleSelectionSupport:!1,hideTwistiesOfChildlessElements:!0,renderIndentGuides:RenderIndentGuides.None,findWidgetEnabled:!1,indent:0,horizontalScrolling:!1,allowNonCollapsibleParents:!0,identityProvider:{getId:y=>{var k,L,V,z,j,ie,oe,re;return(re=(ie=(z=(L=(k=y.item)===null||k===void 0?void 0:k.id)!==null&&L!==void 0?L:(V=y.item)===null||V===void 0?void 0:V.label)!==null&&z!==void 0?z:(j=y.separator)===null||j===void 0?void 0:j.id)!==null&&ie!==void 0?ie:(oe=y.separator)===null||oe===void 0?void 0:oe.label)!==null&&re!==void 0?re:""}},alwaysConsumeMouseWheel:!0})),this._tree.getHTMLElement().id=r,this._registerListeners()}get onDidChangeFocus(){return Event$1.map(Event$1.any(this._tree.onDidChangeFocus,this._onTriggerEmptySelectionOrFocus.event),e=>e.elements.filter(t=>t instanceof QuickPickItemElement).map(t=>t.item))}get onDidChangeSelection(){return Event$1.map(Event$1.any(this._tree.onDidChangeSelection,this._onTriggerEmptySelectionOrFocus.event),e=>({items:e.elements.filter(t=>t instanceof QuickPickItemElement).map(t=>t.item),event:e.browserEvent}))}get scrollTop(){return this._tree.scrollTop}set scrollTop(e){this._tree.scrollTop=e}get ariaLabel(){return this._tree.ariaLabel}set ariaLabel(e){this._tree.ariaLabel=e!=null?e:""}set enabled(e){this._tree.getHTMLElement().style.pointerEvents=e?"":"none"}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e}_registerListeners(){this._registerOnKeyDown(),this._registerOnContainerClick(),this._registerOnMouseMiddleClick(),this._registerOnElementChecked(),this._registerOnContextMenu(),this._registerHoverListeners(),this._registerSelectionChangeListener(),this._registerSeparatorActionShowingListeners()}_registerOnKeyDown(){this._register(this._tree.onKeyDown(e=>{const t=new StandardKeyboardEvent(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(isMacintosh?e.metaKey:e.ctrlKey)&&this._tree.setFocus(this._itemElements);break;case 16:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[0]&&this._onLeave.fire();break}case 18:{const i=this._tree.getFocus();i.length===1&&i[0]===this._itemElements[this._itemElements.length-1]&&this._onLeave.fire();break}}this._onKeyDown.fire(t)}))}_registerOnContainerClick(){this._register(addDisposableListener(this._container,EventType$1.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()}))}_registerOnMouseMiddleClick(){this._register(addDisposableListener(this._container,EventType$1.AUXCLICK,e=>{e.button===1&&this._onLeave.fire()}))}_registerOnElementChecked(){this._register(this._elementChecked.event(e=>this._fireCheckedEvents()))}_registerOnContextMenu(){this._register(this._tree.onContextMenu(e=>{e.element&&(e.browserEvent.preventDefault(),this._tree.setSelection([e.element]))}))}_registerHoverListeners(){const e=this._register(new ThrottledDelayer(this.hoverDelegate.delay));this._register(this._tree.onMouseOver(async t=>{var i;if(t.browserEvent.target instanceof HTMLAnchorElement){e.cancel();return}if(!(!(t.browserEvent.relatedTarget instanceof HTMLAnchorElement)&&isAncestor$1(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)))try{await e.trigger(async()=>{t.element instanceof QuickPickItemElement&&this.showHover(t.element)})}catch(r){if(!isCancellationError(r))throw r}})),this._register(this._tree.onMouseOut(t=>{var i;isAncestor$1(t.browserEvent.relatedTarget,(i=t.element)===null||i===void 0?void 0:i.element)||e.cancel()}))}_registerSeparatorActionShowingListeners(){this._register(this._tree.onDidChangeFocus(e=>{const t=e.elements[0]?this._tree.getParentElement(e.elements[0]):null;for(const i of this._separatorRenderer.visibleSeparators){const r=i===t;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.ACTIVE_ITEM)!==r&&(r?i.focusInsideSeparator|=QuickPickSeparatorFocusReason.ACTIVE_ITEM:i.focusInsideSeparator&=~QuickPickSeparatorFocusReason.ACTIVE_ITEM,this._tree.rerender(i))}})),this._register(this._tree.onMouseOver(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.MOUSE_HOVER)||(i.focusInsideSeparator|=QuickPickSeparatorFocusReason.MOUSE_HOVER,this._tree.rerender(i))}})),this._register(this._tree.onMouseOut(e=>{const t=e.element?this._tree.getParentElement(e.element):null;for(const i of this._separatorRenderer.visibleSeparators){if(i!==t)continue;!!(i.focusInsideSeparator&QuickPickSeparatorFocusReason.MOUSE_HOVER)&&(i.focusInsideSeparator&=~QuickPickSeparatorFocusReason.MOUSE_HOVER,this._tree.rerender(i))}}))}_registerSelectionChangeListener(){this._register(this._tree.onDidChangeSelection(e=>{const t=e.elements.filter(i=>i instanceof QuickPickItemElement);t.length!==e.elements.length&&(e.elements.length===1&&e.elements[0]instanceof QuickPickSeparatorElement&&(this._tree.setFocus([e.elements[0].children[0]]),this._tree.reveal(e.elements[0],0)),this._tree.setSelection(t))}))}getAllVisibleChecked(){return this._allVisibleChecked(this._itemElements,!1)}getCheckedCount(){return this._itemElements.filter(e=>e.checked).length}getVisibleCount(){return this._itemElements.filter(e=>!e.hidden).length}setAllVisibleChecked(e){try{this._shouldFireCheckedEvents=!1,this._itemElements.forEach(t=>{!t.hidden&&!t.checkboxDisabled&&(t.checked=e)})}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}setElements(e){this._elementDisposable.clear(),this._inputElements=e;const t=this.parent.classList.contains("show-checkboxes");let i;this._itemElements=new Array,this._elementTree=e.reduce((y,k,L)=>{let V;if(k.type==="separator"){if(!k.buttons)return y;i=new QuickPickSeparatorElement(L,z=>this.fireSeparatorButtonTriggered(z),k),V=i}else{const z=L>0?e[L-1]:void 0;let j;z&&z.type==="separator"&&!z.buttons&&(i=void 0,j=z);const ie=new QuickPickItemElement(L,t,oe=>this.fireButtonTriggered(oe),this._elementChecked,k,j);if(this._itemElements.push(ie),i)return i.children.push(ie),y;V=ie}return y.push(V),y},new Array);const r=new Array;let g=0;for(const y of this._elementTree)y instanceof QuickPickSeparatorElement?(r.push({element:y,collapsible:!1,collapsed:!1,children:y.children.map(k=>({element:k,collapsible:!1,collapsed:!1}))}),g+=y.children.length+1):(r.push({element:y,collapsible:!1,collapsed:!1}),g++);this._tree.setChildren(null,r),this._onChangedVisibleCount.fire(g)}setFocusedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);if(this._tree.setFocus(t),e.length>0){const i=this._tree.getFocus()[0];i&&this._tree.reveal(i)}}getActiveDescendant(){return this._tree.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){const t=e.map(i=>this._itemElements.find(r=>r.item===i)).filter(i=>!!i);this._tree.setSelection(t)}getCheckedElements(){return this._itemElements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){try{this._shouldFireCheckedEvents=!1;const t=new Set;for(const i of e)t.add(i);for(const i of this._itemElements)i.checked=t.has(i.item)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}focus(e){var t;if(this._itemElements.length)switch(e===QuickInputListFocus.Second&&this._itemElements.length<2&&(e=QuickInputListFocus.First),e){case QuickInputListFocus.First:this._tree.scrollTop=0,this._tree.focusFirst(void 0,i=>i.element instanceof QuickPickItemElement);break;case QuickInputListFocus.Second:this._tree.scrollTop=0,this._tree.setFocus([this._itemElements[1]]);break;case QuickInputListFocus.Last:this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]);break;case QuickInputListFocus.Next:this._tree.focusNext(void 0,!0,void 0,i=>i.element instanceof QuickPickItemElement?(this._tree.reveal(i.element),!0):!1);break;case QuickInputListFocus.Previous:this._tree.focusPrevious(void 0,!0,void 0,i=>{if(!(i.element instanceof QuickPickItemElement))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case QuickInputListFocus.NextPage:this._tree.focusNextPage(void 0,i=>i.element instanceof QuickPickItemElement?(this._tree.reveal(i.element),!0):!1);break;case QuickInputListFocus.PreviousPage:this._tree.focusPreviousPage(void 0,i=>{if(!(i.element instanceof QuickPickItemElement))return!1;const r=this._tree.getParentElement(i.element);return r===null||r.children[0]!==i.element?this._tree.reveal(i.element):this._tree.reveal(r),!0});break;case QuickInputListFocus.NextSeparator:{let i=!1;const r=this._tree.getFocus()[0];this._tree.focusNext(void 0,!0,void 0,y=>{if(i)return!0;if(y.element instanceof QuickPickSeparatorElement)i=!0,this._separatorRenderer.isSeparatorVisible(y.element)?this._tree.reveal(y.element.children[0]):this._tree.reveal(y.element,0);else if(y.element instanceof QuickPickItemElement){if(y.element.separator)return this._itemRenderer.isItemWithSeparatorVisible(y.element)?this._tree.reveal(y.element):this._tree.reveal(y.element,0),!0;if(y.element===this._elementTree[0])return this._tree.reveal(y.element,0),!0}return!1});const g=this._tree.getFocus()[0];r===g&&(this._tree.scrollTop=this._tree.scrollHeight,this._tree.setFocus([this._itemElements[this._itemElements.length-1]]));break}case QuickInputListFocus.PreviousSeparator:{let i,r=!!(!((t=this._tree.getFocus()[0])===null||t===void 0)&&t.separator);this._tree.focusPrevious(void 0,!0,void 0,g=>{if(g.element instanceof QuickPickSeparatorElement)r?i||(this._separatorRenderer.isSeparatorVisible(g.element)?this._tree.reveal(g.element):this._tree.reveal(g.element,0),i=g.element.children[0]):r=!0;else if(g.element instanceof QuickPickItemElement&&!i){if(g.element.separator)this._itemRenderer.isItemWithSeparatorVisible(g.element)?this._tree.reveal(g.element):this._tree.reveal(g.element,0),i=g.element;else if(g.element===this._elementTree[0])return this._tree.reveal(g.element,0),!0}return!1}),i&&this._tree.setFocus([i]);break}}}clearFocus(){this._tree.setFocus([])}domFocus(){this._tree.domFocus()}layout(e){this._tree.getHTMLElement().style.maxHeight=e?"".concat(Math.floor(e/44)*44+6,"px"):"",this._tree.layout()}filter(e){if(!(this._sortByLabel||this._matchOnLabel||this._matchOnDescription||this._matchOnDetail))return this._tree.layout(),!1;const t=e;if(e=e.trim(),!e||!(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))this._itemElements.forEach(L=>{L.labelHighlights=void 0,L.descriptionHighlights=void 0,L.detailHighlights=void 0,L.hidden=!1;const V=L.index&&this._inputElements[L.index-1];L.item&&(L.separator=V&&V.type==="separator"&&!V.buttons?V:void 0)});else{let L;this._elementTree.forEach(V=>{var z,j,ie,oe;let re;this.matchOnLabelMode==="fuzzy"?re=this.matchOnLabel&&(z=matchesFuzzyIconAware(e,parseLabelWithIcons(V.saneLabel)))!==null&&z!==void 0?z:void 0:re=this.matchOnLabel&&(j=matchesContiguousIconAware(t,parseLabelWithIcons(V.saneLabel)))!==null&&j!==void 0?j:void 0;const ae=this.matchOnDescription&&(ie=matchesFuzzyIconAware(e,parseLabelWithIcons(V.saneDescription||"")))!==null&&ie!==void 0?ie:void 0,le=this.matchOnDetail&&(oe=matchesFuzzyIconAware(e,parseLabelWithIcons(V.saneDetail||"")))!==null&&oe!==void 0?oe:void 0;if(re||ae||le?(V.labelHighlights=re,V.descriptionHighlights=ae,V.detailHighlights=le,V.hidden=!1):(V.labelHighlights=void 0,V.descriptionHighlights=void 0,V.detailHighlights=void 0,V.hidden=V.item?!V.item.alwaysShow:!0),V.item?V.separator=void 0:V.separator&&(V.hidden=!0),!this.sortByLabel){const de=V.index&&this._inputElements[V.index-1];L=de&&de.type==="separator"?de:L,L&&!V.hidden&&(V.separator=L,L=void 0)}})}const i=this._elementTree.filter(L=>!L.hidden);if(this.sortByLabel&&e){const L=e.toLowerCase();i.sort((V,z)=>compareEntries(V,z,L))}let r;const g=i.reduce((L,V,z)=>(V instanceof QuickPickItemElement?r?r.children.push(V):L.push(V):V instanceof QuickPickSeparatorElement&&(V.children=[],r=V,L.push(V)),L),new Array),y=new Array;for(const L of g)L instanceof QuickPickSeparatorElement?y.push({element:L,collapsible:!1,collapsed:!1,children:L.children.map(V=>({element:V,collapsible:!1,collapsed:!1}))}):y.push({element:L,collapsible:!1,collapsed:!1});const k=this._tree.getFocus().length;return this._tree.setChildren(null,y),k>0&&y.length===0&&this._onTriggerEmptySelectionOrFocus.fire({elements:[]}),this._tree.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(i.length),!0}toggleCheckbox(){try{this._shouldFireCheckedEvents=!1;const e=this._tree.getFocus().filter(i=>i instanceof QuickPickItemElement),t=this._allVisibleChecked(e);for(const i of e)i.checkboxDisabled||(i.checked=!t)}finally{this._shouldFireCheckedEvents=!0,this._fireCheckedEvents()}}display(e){this._container.style.display=e?"":"none"}isDisplayed(){return this._container.style.display!=="none"}style(e){this._tree.style(e)}toggleHover(){const e=this._tree.getFocus()[0];if(!(e!=null&&e.saneTooltip)||!(e instanceof QuickPickItemElement))return;if(this._lastHover&&!this._lastHover.isDisposed){this._lastHover.dispose();return}this.showHover(e);const t=new DisposableStore;t.add(this._tree.onDidChangeFocus(i=>{i.elements[0]instanceof QuickPickItemElement&&this.showHover(i.elements[0])})),this._lastHover&&t.add(this._lastHover),this._elementDisposable.add(t)}_allVisibleChecked(e,t=!0){for(let i=0,r=e.length;i{this.linkOpenerDelegate(g)},appearance:{showPointer:!0},container:this._container,position:{hoverPosition:1}},!1))}};__decorate$1W([memoize],QuickInputTree.prototype,"onDidChangeFocus",null);__decorate$1W([memoize],QuickInputTree.prototype,"onDidChangeSelection",null);QuickInputTree=__decorate$1W([__param$1S(4,IInstantiationService)],QuickInputTree);function matchesContiguousIconAware(n,e){const{text:t,iconOffsets:i}=e;if(!i||i.length===0)return matchesContiguous(n,t);const r=ltrim(t," "),g=t.length-r.length,y=matchesContiguous(n,r);if(y)for(const k of y){const L=i[k.start+g]+g;k.start+=L,k.end+=L}return y}function matchesContiguous(n,e){const t=e.toLowerCase().indexOf(n.toLowerCase());return t!==-1?[{start:t,end:t+n.length}]:null}function compareEntries(n,e,t){const i=n.labelHighlights||[],r=e.labelHighlights||[];return i.length&&!r.length?-1:!i.length&&r.length?1:i.length===0&&r.length===0?0:compareAnything(n.saneSortLabel,e.saneSortLabel,t)}var __decorate$1V=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1R=function(n,e){return function(t,i){e(t,i,n)}};const backButton={iconClass:ThemeIcon.asClassName(Codicon.quickInputBack),tooltip:localize("quickInput.back","Back")};class QuickInput extends Disposable{constructor(e){super(),this.ui=e,this._widgetUpdated=!1,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this._toggles=[],this.togglesUpdated=!1,this.noValidationMessage=QuickInput.noPromptMessage,this._severity=Severity$2.Ignore,this.onDidTriggerButtonEmitter=this._register(new Emitter$1),this.onDidHideEmitter=this._register(new Emitter$1),this.onWillHideEmitter=this._register(new Emitter$1),this.onDisposeEmitter=this._register(new Emitter$1),this.visibleDisposables=this._register(new DisposableStore),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){const t=this._ignoreFocusOut!==e&&!isIOS$1;this._ignoreFocusOut=e&&!isIOS$1,t&&this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}get toggles(){return this._toggles}set toggles(e){this._toggles=e!=null?e:[],this.togglesUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get severity(){return this._severity}set severity(e){this._severity=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{this.buttons.indexOf(e)!==-1&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this._lastValidationMessage=void 0,this._lastSeverity=void 0,this.buttons.length&&(this.buttonsUpdated=!0),this.toggles.length&&(this.togglesUpdated=!0),this.update())}hide(){this.visible&&this.ui.hide()}didHide(e=QuickInputHideReason.Other){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire({reason:e})}willHide(e=QuickInputHideReason.Other){this.onWillHideEmitter.fire({reason:e})}update(){var e,t;if(!this.visible)return;const i=this.getTitle();i&&this.ui.title.textContent!==i?this.ui.title.textContent=i:!i&&this.ui.title.innerHTML!==" "&&(this.ui.title.innerText=" ");const r=this.getDescription();if(this.ui.description1.textContent!==r&&(this.ui.description1.textContent=r),this.ui.description2.textContent!==r&&(this.ui.description2.textContent=r),this._widgetUpdated&&(this._widgetUpdated=!1,this._widget?reset(this.ui.widget,this._widget):reset(this.ui.widget)),this.busy&&!this.busyDelay&&(this.busyDelay=new TimeoutTimer,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const y=this.buttons.filter(L=>L===backButton).map((L,V)=>quickInputButtonToAction(L,"id-".concat(V),async()=>this.onDidTriggerButtonEmitter.fire(L)));this.ui.leftActionBar.push(y,{icon:!0,label:!1}),this.ui.rightActionBar.clear();const k=this.buttons.filter(L=>L!==backButton).map((L,V)=>quickInputButtonToAction(L,"id-".concat(V),async()=>this.onDidTriggerButtonEmitter.fire(L)));this.ui.rightActionBar.push(k,{icon:!0,label:!1})}if(this.togglesUpdated){this.togglesUpdated=!1;const y=(t=(e=this.toggles)===null||e===void 0?void 0:e.filter(k=>k instanceof Toggle))!==null&&t!==void 0?t:[];this.ui.inputBox.toggles=y}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey);const g=this.validationMessage||this.noValidationMessage;this._lastValidationMessage!==g&&(this._lastValidationMessage=g,reset(this.ui.message),renderQuickInputDescription(g,this.ui.message,{callback:y=>{this.ui.linkOpenerDelegate(y)},disposables:this.visibleDisposables})),this._lastSeverity!==this.severity&&(this._lastSeverity=this.severity,this.showMessageDecoration(this.severity))}getTitle(){return this.title&&this.step?"".concat(this.title," (").concat(this.getSteps(),")"):this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?localize("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e!==Severity$2.Ignore){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?"".concat(t.foreground):"",this.ui.message.style.backgroundColor=t.background?"".concat(t.background):"",this.ui.message.style.border=t.border?"1px solid ".concat(t.border):"",this.ui.message.style.marginBottom="-2px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.marginBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}QuickInput.noPromptMessage=localize("inputModeEntry","Press 'Enter' to confirm your input or 'Escape' to cancel");class QuickPick extends QuickInput{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new Emitter$1),this.onWillAcceptEmitter=this._register(new Emitter$1),this.onDidAcceptEmitter=this._register(new Emitter$1),this.onDidCustomEmitter=this._register(new Emitter$1),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._matchOnLabelMode="fuzzy",this._sortByLabel=!0,this._keepScrollPosition=!1,this._itemActivation=ItemActivation.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new Emitter$1),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new Emitter$1),this.onDidTriggerItemButtonEmitter=this._register(new Emitter$1),this.onDidTriggerSeparatorButtonEmitter=this._register(new Emitter$1),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onWillAccept=this.onWillAcceptEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event,this.onDidTriggerSeparatorButton=this.onDidTriggerSeparatorButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this.doSetValue(e)}doSetValue(e,t){this._value!==e&&(this._value=e,t||this.update(),this.visible&&this.ui.list.filter(this.filterValue(this._value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(this._value))}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}get scrollTop(){return this.ui.list.scrollTop}set scrollTop(e){this.ui.list.scrollTop=e}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get matchOnLabelMode(){return this._matchOnLabelMode}set matchOnLabelMode(e){this._matchOnLabelMode=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get keepScrollPosition(){return this._keepScrollPosition}set keepScrollPosition(e){this._keepScrollPosition=e}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?NO_KEY_MODS:this.ui.keyMods}get valueSelection(){const e=this.ui.inputBox.getSelection();if(e)return[e.start,e.end]}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.canSelectMany||this.ui.list.focus(QuickInputListFocus.First)}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{this.doSetValue(e,!0)})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(e=>{switch(e.keyCode){case 18:(isMacintosh?e.metaKey:e.altKey)?this.ui.list.focus(QuickInputListFocus.NextSeparator):this.ui.list.focus(QuickInputListFocus.Next),this.canSelectMany&&this.ui.list.domFocus(),EventHelper$1.stop(e,!0);break;case 16:(isMacintosh?e.metaKey:e.altKey)?this.ui.list.focus(QuickInputListFocus.PreviousSeparator):this.ui.list.focus(QuickInputListFocus.Previous),this.canSelectMany&&this.ui.list.domFocus(),EventHelper$1.stop(e,!0);break;case 12:this.ui.list.focus(QuickInputListFocus.NextPage),this.canSelectMany&&this.ui.list.domFocus(),EventHelper$1.stop(e,!0);break;case 11:this.ui.list.focus(QuickInputListFocus.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),EventHelper$1.stop(e,!0);break;case 17:if(!this._canAcceptInBackground||!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!0));break;case 14:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(QuickInputListFocus.First),EventHelper$1.stop(e,!0));break;case 13:(e.ctrlKey||e.metaKey)&&!e.shiftKey&&!e.altKey&&(this.ui.list.focus(QuickInputListFocus.Last),EventHelper$1.stop(e,!0));break}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{this.canSelectMany?this.ui.list.getCheckedElements().length||(this._selectedItems=[],this.onDidChangeSelectionEmitter.fire(this.selectedItems)):this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.handleAccept(!1)})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&equals$3(e,this._activeItems,(t,i)=>t===i)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{if(this.canSelectMany){e.length&&this.ui.list.setSelectedElements([]);return}this.selectedItemsToConfirm!==this._selectedItems&&equals$3(e,this._selectedItems,(i,r)=>i===r)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.handleAccept(isMouseEvent$1(t)&&t.button===1))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&equals$3(e,this._selectedItems,(t,i)=>t===i)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.ui.list.onSeparatorButtonTriggered(e=>this.onDidTriggerSeparatorButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}handleAccept(e){let t=!1;this.onWillAcceptEmitter.fire({veto:()=>t=!0}),t||this.onDidAcceptEmitter.fire({inBackground:e})}registerQuickNavigation(){return addDisposableListener(this.ui.container,EventType$1.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new StandardKeyboardEvent(e),i=t.keyCode;this._quickNavigate.keybindings.some(y=>{const k=y.getChords();return k.length>1?!1:k[0].shiftKey&&i===4?!(t.ctrlKey||t.altKey||t.metaKey):!!(k[0].altKey&&i===6||k[0].ctrlKey&&i===5||k[0].metaKey&&i===57)})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.handleAccept(!1)),this._quickNavigate=void 0)})}update(){if(!this.visible)return;const e=this.keepScrollPosition?this.scrollTop:0,t=!!this.description,i={title:!!this.title||!!this.step||!!this.buttons.length,description:t,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!this._hideInput,progressBar:!this._hideInput||t,visibleCount:!0,count:this.canSelectMany&&!this._hideCountBadge,ok:this.ok==="default"?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||"");let r=this.ariaLabel;if(!r&&i.inputBox&&(r=this.placeholder||QuickPick.DEFAULT_ARIA_LABEL,this.title&&(r+=" - ".concat(this.title))),this.ui.list.ariaLabel!==r&&(this.ui.list.ariaLabel=r!=null?r:null),this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.matchOnLabelMode=this.matchOnLabelMode,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated){this.itemsUpdated=!1;const g=this._activeItems;switch(this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case ItemActivation.NONE:g.length>0&&(this._activeItems=[],this.onDidChangeActiveEmitter.fire(this._activeItems)),this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.SECOND:this.ui.list.focus(QuickInputListFocus.Second),this._itemActivation=ItemActivation.FIRST;break;case ItemActivation.LAST:this.ui.list.focus(QuickInputListFocus.Last),this._itemActivation=ItemActivation.FIRST;break;default:this.trySelectFirst();break}}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(QuickInputListFocus.First)),this.keepScrollPosition&&(this.scrollTop=e)}}QuickPick.DEFAULT_ARIA_LABEL=localize("quickInputBox.ariaLabel","Type to narrow down results.");class InputBox extends QuickInput{constructor(){super(...arguments),this._value="",this.valueSelectionUpdated=!0,this._password=!1,this.onDidValueChangeEmitter=this._register(new Emitter$1),this.onDidAcceptEmitter=this._register(new Emitter$1),this.onDidChangeValue=this.onDidValueChangeEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event}get value(){return this._value}set value(e){this._value=e||"",this.update()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get password(){return this._password}set password(e){this._password=e,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{e!==this.value&&(this._value=e,this.onDidValueChangeEmitter.fire(e))})),this.visibleDisposables.add(this.ui.onDidAccept(()=>this.onDidAcceptEmitter.fire())),this.valueSelectionUpdated=!0),super.show()}update(){if(!this.visible)return;this.ui.container.classList.remove("hidden-input");const e={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description||!!this.step,inputBox:!0,message:!0,progressBar:!0};this.ui.setVisibilities(e),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),this.ui.inputBox.password!==this.password&&(this.ui.inputBox.password=this.password)}}let QuickInputHoverDelegate=class extends WorkbenchHoverDelegate{constructor(e,t){super("element",!1,i=>this.getOverrideOptions(i),e,t)}getOverrideOptions(e){var t;const i=(e.content instanceof HTMLElement?(t=e.content.textContent)!==null&&t!==void 0?t:"":typeof e.content=="string"?e.content:e.content.value).includes("\n");return{persistence:{hideOnKeyDown:!1},appearance:{showHoverHint:i,skipFadeInAnimation:!0}}}};QuickInputHoverDelegate=__decorate$1V([__param$1R(0,IConfigurationService),__param$1R(1,IHoverService)],QuickInputHoverDelegate);Color$1.white.toString(),Color$1.white.toString();let Button$1=class extends Disposable{get onDidClick(){return this._onDidClick.event}constructor(e,t){super(),this._label="",this._onDidClick=this._register(new Emitter$1),this._onDidEscape=this._register(new Emitter$1),this.options=t,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),this._element.classList.toggle("secondary",!!t.secondary);const i=t.secondary?t.buttonSecondaryBackground:t.buttonBackground,r=t.secondary?t.buttonSecondaryForeground:t.buttonForeground;this._element.style.color=r||"",this._element.style.backgroundColor=i||"",t.supportShortLabel&&(this._labelShortElement=document.createElement("div"),this._labelShortElement.classList.add("monaco-button-label-short"),this._element.appendChild(this._labelShortElement),this._labelElement=document.createElement("div"),this._labelElement.classList.add("monaco-button-label"),this._element.appendChild(this._labelElement),this._element.classList.add("monaco-text-button-with-short-label")),typeof t.title=="string"&&this.setTitle(t.title),typeof t.ariaLabel=="string"&&this._element.setAttribute("aria-label",t.ariaLabel),e.appendChild(this._element),this._register(Gesture.addTarget(this._element)),[EventType$1.CLICK,EventType.Tap].forEach(g=>{this._register(addDisposableListener(this._element,g,y=>{if(!this.enabled){EventHelper$1.stop(y);return}this._onDidClick.fire(y)}))}),this._register(addDisposableListener(this._element,EventType$1.KEY_DOWN,g=>{const y=new StandardKeyboardEvent(g);let k=!1;this.enabled&&(y.equals(3)||y.equals(10))?(this._onDidClick.fire(g),k=!0):y.equals(9)&&(this._onDidEscape.fire(g),this._element.blur(),k=!0),k&&EventHelper$1.stop(y,!0)})),this._register(addDisposableListener(this._element,EventType$1.MOUSE_OVER,g=>{this._element.classList.contains("disabled")||this.updateBackground(!0)})),this._register(addDisposableListener(this._element,EventType$1.MOUSE_OUT,g=>{this.updateBackground(!1)})),this.focusTracker=this._register(trackFocus(this._element)),this._register(this.focusTracker.onDidFocus(()=>{this.enabled&&this.updateBackground(!0)})),this._register(this.focusTracker.onDidBlur(()=>{this.enabled&&this.updateBackground(!1)}))}dispose(){super.dispose(),this._element.remove()}getContentElements(e){const t=[];for(let i of renderLabelWithIcons(e))if(typeof i=="string"){if(i=i.trim(),i==="")continue;const r=document.createElement("span");r.textContent=i,t.push(r)}else t.push(i);return t}updateBackground(e){let t;this.options.secondary?t=e?this.options.buttonSecondaryHoverBackground:this.options.buttonSecondaryBackground:t=e?this.options.buttonHoverBackground:this.options.buttonBackground,t&&(this._element.style.backgroundColor=t)}get element(){return this._element}set label(e){var t;if(this._label===e||isMarkdownString(this._label)&&isMarkdownString(e)&&markdownStringEqual(this._label,e))return;this._element.classList.add("monaco-text-button");const i=this.options.supportShortLabel?this._labelElement:this._element;if(isMarkdownString(e)){const g=renderMarkdown(e,{inline:!0});g.dispose();const y=(t=g.element.querySelector("p"))===null||t===void 0?void 0:t.innerHTML;if(y){const k=sanitize$1(y,{ADD_TAGS:["b","i","u","code","span"],ALLOWED_ATTR:["class"],RETURN_TRUSTED_TYPE:!0});i.innerHTML=k}else reset(i)}else this.options.supportIcons?reset(i,...this.getContentElements(e)):i.textContent=e;let r="";typeof this.options.title=="string"?r=this.options.title:this.options.title&&(r=renderStringAsPlaintext(e)),this.setTitle(r),typeof this.options.ariaLabel=="string"?this._element.setAttribute("aria-label",this.options.ariaLabel):this.options.ariaLabel&&this._element.setAttribute("aria-label",r),this._label=e}get label(){return this._label}set icon(e){this._element.classList.add(...ThemeIcon.asClassNameArray(e))}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}setTitle(e){var t;!this._hover&&e!==""?this._hover=this._register(setupCustomHover((t=this.options.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("mouse"),this._element,e)):this._hover&&this._hover.update(e)}};class CountBadge{constructor(e,t,i){this.options=t,this.styles=i,this.count=0,this.element=append$1(e,$$f(".monaco-count-badge")),this.countFormat=this.options.countFormat||"{0}",this.titleFormat=this.options.titleFormat||"",this.setCount(this.options.count||0)}setCount(e){this.count=e,this.render()}setTitleFormat(e){this.titleFormat=e,this.render()}render(){var e,t;this.element.textContent=format(this.countFormat,this.count),this.element.title=format(this.titleFormat,this.count),this.element.style.backgroundColor=(e=this.styles.badgeBackground)!==null&&e!==void 0?e:"",this.element.style.color=(t=this.styles.badgeForeground)!==null&&t!==void 0?t:"",this.styles.badgeBorder&&(this.element.style.border="1px solid ".concat(this.styles.badgeBorder))}}const CSS_DONE="done",CSS_ACTIVE="active",CSS_INFINITE="infinite",CSS_INFINITE_LONG_RUNNING="infinite-long-running",CSS_DISCRETE="discrete";class ProgressBar extends Disposable{constructor(e,t){super(),this.workedVal=0,this.showDelayedScheduler=this._register(new RunOnceScheduler(()=>show(this.element),0)),this.longRunningScheduler=this._register(new RunOnceScheduler(()=>this.infiniteLongRunning(),ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD)),this.create(e,t)}create(e,t){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.bit.style.backgroundColor=(t==null?void 0:t.progressBarBackground)||"#0E70C0",this.element.appendChild(this.bit)}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove(CSS_ACTIVE,CSS_INFINITE,CSS_INFINITE_LONG_RUNNING,CSS_DISCRETE),this.workedVal=0,this.totalWork=void 0,this.longRunningScheduler.cancel()}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add(CSS_DONE),this.element.classList.contains(CSS_INFINITE)?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove(CSS_DISCRETE,CSS_DONE,CSS_INFINITE_LONG_RUNNING),this.element.classList.add(CSS_ACTIVE,CSS_INFINITE),this.longRunningScheduler.schedule(),this}infiniteLongRunning(){this.element.classList.add(CSS_INFINITE_LONG_RUNNING)}getContainer(){return this.element}}ProgressBar.LONG_RUNNING_INFINITE_THRESHOLD=1e4;const $$8=$$f;class QuickInputBox extends Disposable{constructor(e,t,i){super(),this.parent=e,this.onKeyDown=g=>addStandardDisposableListener(this.findInput.inputBox.inputElement,EventType$1.KEY_DOWN,g),this.onDidChange=g=>this.findInput.onDidChange(g),this.container=append$1(this.parent,$$8(".quick-input-box")),this.findInput=this._register(new FindInput(this.container,void 0,{label:"",inputBoxStyles:t,toggleStyles:i}));const r=this.findInput.inputBox.inputElement;r.role="combobox",r.ariaHasPopup="menu",r.ariaAutoComplete="list",r.ariaExpanded="true"}get value(){return this.findInput.getValue()}set value(e){this.findInput.setValue(e)}select(e=null){this.findInput.inputBox.select(e)}getSelection(){return this.findInput.inputBox.getSelection()}isSelectionAtEnd(){return this.findInput.inputBox.isSelectionAtEnd()}get placeholder(){return this.findInput.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.findInput.inputBox.setPlaceHolder(e)}get password(){return this.findInput.inputBox.inputElement.type==="password"}set password(e){this.findInput.inputBox.inputElement.type=e?"password":"text"}set enabled(e){this.findInput.inputBox.inputElement.toggleAttribute("readonly",!e)}set toggles(e){this.findInput.setAdditionalToggles(e)}setAttribute(e,t){this.findInput.inputBox.inputElement.setAttribute(e,t)}showDecoration(e){e===Severity$2.Ignore?this.findInput.clearMessage():this.findInput.showMessage({type:e===Severity$2.Info?1:e===Severity$2.Warning?2:3,content:""})}stylesForType(e){return this.findInput.inputBox.stylesForType(e===Severity$2.Info?1:e===Severity$2.Warning?2:3)}setFocus(){this.findInput.focus()}layout(){this.findInput.inputBox.layout()}}var __decorate$1U=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1Q=function(n,e){return function(t,i){e(t,i,n)}},QuickInputController_1;const $$7=$$f;let QuickInputController=QuickInputController_1=class extends Disposable{get container(){return this._container}constructor(e,t,i){super(),this.options=e,this.layoutService=t,this.instantiationService=i,this.enabled=!0,this.onDidAcceptEmitter=this._register(new Emitter$1),this.onDidCustomEmitter=this._register(new Emitter$1),this.onDidTriggerButtonEmitter=this._register(new Emitter$1),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new Emitter$1),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new Emitter$1),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this._container=e.container,this.styles=e.styles,this._register(Event$1.runAndSubscribe(onDidRegisterWindow,({window:r,disposables:g})=>this.registerKeyModsListeners(r,g),{window:mainWindow,disposables:this._store})),this._register(onWillUnregisterWindow(r=>{this.ui&&getWindow$1(this.ui.container)===r&&(this.reparentUI(this.layoutService.mainContainer),this.layout(this.layoutService.mainContainerDimension,this.layoutService.mainContainerOffset.quickPickTop))}))}registerKeyModsListeners(e,t){const i=r=>{this.keyMods.ctrlCmd=r.ctrlKey||r.metaKey,this.keyMods.alt=r.altKey};for(const r of[EventType$1.KEY_DOWN,EventType$1.KEY_UP,EventType$1.MOUSE_DOWN])t.add(addDisposableListener(e,r,i,!0))}getUI(e){if(this.ui)return e&&getWindow$1(this._container)!==getWindow$1(this.layoutService.activeContainer)&&(this.reparentUI(this.layoutService.activeContainer),this.layout(this.layoutService.activeContainerDimension,this.layoutService.activeContainerOffset.quickPickTop)),this.ui;const t=append$1(this._container,$$7(".quick-input-widget.show-file-icons"));t.tabIndex=-1,t.style.display="none";const i=createStyleSheet(t),r=append$1(t,$$7(".quick-input-titlebar")),g=this._register(new ActionBar(r,{hoverDelegate:this.options.hoverDelegate}));g.domNode.classList.add("quick-input-left-action-bar");const y=append$1(r,$$7(".quick-input-title")),k=this._register(new ActionBar(r,{hoverDelegate:this.options.hoverDelegate}));k.domNode.classList.add("quick-input-right-action-bar");const L=append$1(t,$$7(".quick-input-header")),V=append$1(L,$$7("input.quick-input-check-all"));V.type="checkbox",V.setAttribute("aria-label",localize("quickInput.checkAll","Toggle all checkboxes")),this._register(addStandardDisposableListener(V,EventType$1.CHANGE,ze=>{const qe=V.checked;Ve.setAllVisibleChecked(qe)})),this._register(addDisposableListener(V,EventType$1.CLICK,ze=>{(ze.x||ze.y)&&oe.setFocus()}));const z=append$1(L,$$7(".quick-input-description")),j=append$1(L,$$7(".quick-input-and-message")),ie=append$1(j,$$7(".quick-input-filter")),oe=this._register(new QuickInputBox(ie,this.styles.inputBox,this.styles.toggle));oe.setAttribute("aria-describedby","".concat(this.idPrefix,"message"));const re=append$1(ie,$$7(".quick-input-visible-count"));re.setAttribute("aria-live","polite"),re.setAttribute("aria-atomic","true");const ae=new CountBadge(re,{countFormat:localize({},"{0} Results")},this.styles.countBadge),le=append$1(ie,$$7(".quick-input-count"));le.setAttribute("aria-live","polite");const de=new CountBadge(le,{countFormat:localize({},"{0} Selected")},this.styles.countBadge),ue=append$1(L,$$7(".quick-input-action")),he=this._register(new Button$1(ue,this.styles.button));he.label=localize("ok","OK"),this._register(he.onDidClick(ze=>{this.onDidAcceptEmitter.fire()}));const pe=append$1(L,$$7(".quick-input-action")),Ce=this._register(new Button$1(pe,{...this.styles.button,supportIcons:!0}));Ce.label=localize("custom","Custom"),this._register(Ce.onDidClick(ze=>{this.onDidCustomEmitter.fire()}));const $e=append$1(j,$$7("#".concat(this.idPrefix,"message.quick-input-message"))),xe=this._register(new ProgressBar(t,this.styles.progressBar));xe.getContainer().classList.add("quick-input-progress");const Ie=append$1(t,$$7(".quick-input-html-widget"));Ie.tabIndex=-1;const Ne=append$1(t,$$7(".quick-input-description")),Fe=this.idPrefix+"list",Ve=this._register(this.instantiationService.createInstance(QuickInputTree,t,this.options.hoverDelegate,this.options.linkOpenerDelegate,Fe));oe.setAttribute("aria-controls",Fe),this._register(Ve.onDidChangeFocus(()=>{var ze;oe.setAttribute("aria-activedescendant",(ze=Ve.getActiveDescendant())!==null&&ze!==void 0?ze:"")})),this._register(Ve.onChangedAllVisibleChecked(ze=>{V.checked=ze})),this._register(Ve.onChangedVisibleCount(ze=>{ae.setCount(ze)})),this._register(Ve.onChangedCheckedCount(ze=>{de.setCount(ze)})),this._register(Ve.onLeave(()=>{setTimeout(()=>{this.controller&&(oe.setFocus(),this.controller instanceof QuickPick&&this.controller.canSelectMany&&Ve.clearFocus())},0)}));const Oe=trackFocus(t);return this._register(Oe),this._register(addDisposableListener(t,EventType$1.FOCUS,ze=>{isAncestor$1(ze.relatedTarget,t)||(this.previousFocusElement=ze.relatedTarget instanceof HTMLElement?ze.relatedTarget:void 0)},!0)),this._register(Oe.onDidBlur(()=>{!this.getUI().ignoreFocusOut&&!this.options.ignoreFocusOut()&&this.hide(QuickInputHideReason.Blur),this.previousFocusElement=void 0})),this._register(addDisposableListener(t,EventType$1.FOCUS,ze=>{oe.setFocus()})),this._register(addStandardDisposableListener(t,EventType$1.KEY_DOWN,ze=>{if(!isAncestor$1(ze.target,Ie))switch(ze.keyCode){case 3:EventHelper$1.stop(ze,!0),this.enabled&&this.onDidAcceptEmitter.fire();break;case 9:EventHelper$1.stop(ze,!0),this.hide(QuickInputHideReason.Gesture);break;case 2:if(!ze.altKey&&!ze.ctrlKey&&!ze.metaKey){const qe=[".quick-input-list .monaco-action-bar .always-visible",".quick-input-list-entry:hover .monaco-action-bar",".monaco-list-row.focused .monaco-action-bar"];if(t.classList.contains("show-checkboxes")?qe.push("input"):qe.push("input[type=text]"),this.getUI().list.isDisplayed()&&qe.push(".monaco-list"),this.getUI().message&&qe.push(".quick-input-message a"),this.getUI().widget){if(isAncestor$1(ze.target,this.getUI().widget))break;qe.push(".quick-input-html-widget")}const Ue=t.querySelectorAll(qe.join(", "));ze.shiftKey&&ze.target===Ue[0]?(EventHelper$1.stop(ze,!0),Ve.clearFocus()):!ze.shiftKey&&isAncestor$1(ze.target,Ue[Ue.length-1])&&(EventHelper$1.stop(ze,!0),Ue[0].focus())}break;case 10:ze.ctrlKey&&(EventHelper$1.stop(ze,!0),this.getUI().list.toggleHover());break}})),this.ui={container:t,styleSheet:i,leftActionBar:g,titleBar:r,title:y,description1:Ne,description2:z,widget:Ie,rightActionBar:k,checkAll:V,inputContainer:j,filterContainer:ie,inputBox:oe,visibleCountContainer:re,visibleCount:ae,countContainer:le,count:de,okContainer:ue,ok:he,message:$e,customButtonContainer:pe,customButton:Ce,list:Ve,progressBar:xe,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,show:ze=>this.show(ze),hide:()=>this.hide(),setVisibilities:ze=>this.setVisibilities(ze),setEnabled:ze=>this.setEnabled(ze),setContextKey:ze=>this.options.setContextKey(ze),linkOpenerDelegate:ze=>this.options.linkOpenerDelegate(ze)},this.updateStyles(),this.ui}reparentUI(e){this.ui&&(this._container=e,append$1(this._container,this.ui.container))}pick(e,t={},i=CancellationToken.None){return new Promise((r,g)=>{let y=z=>{var j;y=r,(j=t.onKeyMods)===null||j===void 0||j.call(t,k.keyMods),r(z)};if(i.isCancellationRequested){y(void 0);return}const k=this.createQuickPick();let L;const V=[k,k.onDidAccept(()=>{if(k.canSelectMany)y(k.selectedItems.slice()),k.hide();else{const z=k.activeItems[0];z&&(y(z),k.hide())}}),k.onDidChangeActive(z=>{const j=z[0];j&&t.onDidFocus&&t.onDidFocus(j)}),k.onDidChangeSelection(z=>{if(!k.canSelectMany){const j=z[0];j&&(y(j),k.hide())}}),k.onDidTriggerItemButton(z=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton({...z,removeItem:()=>{const j=k.items.indexOf(z.item);if(j!==-1){const ie=k.items.slice(),oe=ie.splice(j,1),re=k.activeItems.filter(le=>le!==oe[0]),ae=k.keepScrollPosition;k.keepScrollPosition=!0,k.items=ie,re&&(k.activeItems=re),k.keepScrollPosition=ae}}})),k.onDidTriggerSeparatorButton(z=>{var j;return(j=t.onDidTriggerSeparatorButton)===null||j===void 0?void 0:j.call(t,z)}),k.onDidChangeValue(z=>{L&&!z&&(k.activeItems.length!==1||k.activeItems[0]!==L)&&(k.activeItems=[L])}),i.onCancellationRequested(()=>{k.hide()}),k.onDidHide(()=>{dispose(V),y(void 0)})];k.title=t.title,k.canSelectMany=!!t.canPickMany,k.placeholder=t.placeHolder,k.ignoreFocusOut=!!t.ignoreFocusLost,k.matchOnDescription=!!t.matchOnDescription,k.matchOnDetail=!!t.matchOnDetail,k.matchOnLabel=t.matchOnLabel===void 0||t.matchOnLabel,k.quickNavigate=t.quickNavigate,k.hideInput=!!t.hideInput,k.contextKey=t.contextKey,k.busy=!0,Promise.all([e,t.activeItem]).then(([z,j])=>{L=j,k.busy=!1,k.items=z,k.canSelectMany&&(k.selectedItems=z.filter(ie=>ie.type!=="separator"&&ie.picked)),L&&(k.activeItems=[L])}),k.show(),Promise.resolve(e).then(void 0,z=>{g(z),k.hide()})})}createQuickPick(){const e=this.getUI(!0);return new QuickPick(e)}createInputBox(){const e=this.getUI(!0);return new InputBox(e)}show(e){const t=this.getUI(!0);this.onShowEmitter.fire();const i=this.controller;this.controller=e,i==null||i.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",reset(t.widget),t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Severity$2.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),reset(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,t.inputBox.toggles=void 0;const r=this.options.backKeybindingLabel();backButton.tooltip=r?localize("quickInput.backWithKeybinding","Back ({0})",r):localize("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}isVisible(){return!!this.ui&&this.ui.container.style.display!=="none"}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=e.description&&!(e.inputBox||e.checkAll)?"":"none",t.checkAll.style.display=e.checkAll?"":"none",t.inputContainer.style.display=e.inputBox?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList.toggle("show-checkboxes",!!e.checkBox),t.container.classList.toggle("hidden-input",!e.inputBox&&!e.description),this.updateLayout()}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.action.enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.action.enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().inputBox.enabled=e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(e){var t,i;const r=this.controller;if(!r)return;r.willHide(e);const g=(t=this.ui)===null||t===void 0?void 0:t.container,y=g&&!isAncestorOfActiveElement(g);if(this.controller=null,this.onHideEmitter.fire(),g&&(g.style.display="none"),!y){let k=this.previousFocusElement;for(;k&&!k.offsetParent;)k=(i=k.parentElement)!==null&&i!==void 0?i:void 0;k!=null&&k.offsetParent?(k.focus(),this.previousFocusElement=void 0):this.options.returnFocus()}r.didHide(e)}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui&&this.isVisible()){this.ui.container.style.top="".concat(this.titleBarOffset,"px");const e=this.ui.container.style,t=Math.min(this.dimension.width*.62,QuickInputController_1.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&this.dimension.height*.4)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,widgetBorder:r,widgetShadow:g}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e!=null?e:"",this.ui.container.style.backgroundColor=t!=null?t:"",this.ui.container.style.color=i!=null?i:"",this.ui.container.style.border=r?"1px solid ".concat(r):"",this.ui.container.style.boxShadow=g?"0 0 8px 2px ".concat(g):"",this.ui.list.style(this.styles.list);const y=[];this.styles.pickerGroup.pickerGroupBorder&&y.push(".quick-input-list .quick-input-list-entry { border-top-color: ".concat(this.styles.pickerGroup.pickerGroupBorder,"; }")),this.styles.pickerGroup.pickerGroupForeground&&y.push(".quick-input-list .quick-input-list-separator { color: ".concat(this.styles.pickerGroup.pickerGroupForeground,"; }")),this.styles.pickerGroup.pickerGroupForeground&&y.push(".quick-input-list .quick-input-list-separator-as-item { color: var(--vscode-descriptionForeground); }"),(this.styles.keybindingLabel.keybindingLabelBackground||this.styles.keybindingLabel.keybindingLabelBorder||this.styles.keybindingLabel.keybindingLabelBottomBorder||this.styles.keybindingLabel.keybindingLabelShadow||this.styles.keybindingLabel.keybindingLabelForeground)&&(y.push(".quick-input-list .monaco-keybinding > .monaco-keybinding-key {"),this.styles.keybindingLabel.keybindingLabelBackground&&y.push("background-color: ".concat(this.styles.keybindingLabel.keybindingLabelBackground,";")),this.styles.keybindingLabel.keybindingLabelBorder&&y.push("border-color: ".concat(this.styles.keybindingLabel.keybindingLabelBorder,";")),this.styles.keybindingLabel.keybindingLabelBottomBorder&&y.push("border-bottom-color: ".concat(this.styles.keybindingLabel.keybindingLabelBottomBorder,";")),this.styles.keybindingLabel.keybindingLabelShadow&&y.push("box-shadow: inset 0 -1px 0 ".concat(this.styles.keybindingLabel.keybindingLabelShadow,";")),this.styles.keybindingLabel.keybindingLabelForeground&&y.push("color: ".concat(this.styles.keybindingLabel.keybindingLabelForeground,";")),y.push("}"));const k=y.join("\n");k!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=k)}}};QuickInputController.MAX_WIDTH=600;QuickInputController=QuickInputController_1=__decorate$1U([__param$1Q(1,ILayoutService),__param$1Q(2,IInstantiationService)],QuickInputController);var __decorate$1T=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1P=function(n,e){return function(t,i){e(t,i,n)}};let QuickInputService=class extends Themable{get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get hasController(){return!!this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(QuickAccessController))),this._quickAccess}constructor(e,t,i,r,g){super(i),this.instantiationService=e,this.contextKeyService=t,this.layoutService=r,this.configurationService=g,this._onShow=this._register(new Emitter$1),this._onHide=this._register(new Emitter$1),this.contexts=new Map}createController(e=this.layoutService,t){const i={idPrefix:"quickInput_",container:e.activeContainer,ignoreFocusOut:()=>!1,backKeybindingLabel:()=>{},setContextKey:g=>this.setContextKey(g),linkOpenerDelegate:g=>{this.instantiationService.invokeFunction(y=>{y.get(IOpenerService).open(g,{allowCommands:!0,fromUserGesture:!0})})},returnFocus:()=>e.focus(),styles:this.computeStyles(),hoverDelegate:this._register(this.instantiationService.createInstance(QuickInputHoverDelegate))},r=this._register(this.instantiationService.createInstance(QuickInputController,{...i,...t}));return r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop),this._register(e.onDidLayoutActiveContainer(g=>{getWindow$1(e.activeContainer)===getWindow$1(r.container)&&r.layout(g,e.activeContainerOffset.quickPickTop)})),this._register(e.onDidChangeActiveContainer(()=>{r.isVisible()||r.layout(e.activeContainerDimension,e.activeContainerOffset.quickPickTop)})),this._register(r.onShow(()=>{this.resetContextKeys(),this._onShow.fire()})),this._register(r.onHide(()=>{this.resetContextKeys(),this._onHide.fire()})),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new RawContextKey(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),!(t&&t.get())&&(this.resetContextKeys(),t==null||t.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t={},i=CancellationToken.None){return this.controller.pick(e,t,i)}createQuickPick(){return this.controller.createQuickPick()}createInputBox(){return this.controller.createInputBox()}updateStyles(){this.hasController&&this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:{quickInputBackground:asCssVariable(quickInputBackground),quickInputForeground:asCssVariable(quickInputForeground),quickInputTitleBackground:asCssVariable(quickInputTitleBackground),widgetBorder:asCssVariable(widgetBorder),widgetShadow:asCssVariable(widgetShadow)},inputBox:defaultInputBoxStyles,toggle:defaultToggleStyles,countBadge:defaultCountBadgeStyles,button:defaultButtonStyles,progressBar:defaultProgressBarStyles,keybindingLabel:defaultKeybindingLabelStyles,list:getListStyles({listBackground:quickInputBackground,listFocusBackground:quickInputListFocusBackground,listFocusForeground:quickInputListFocusForeground,listInactiveFocusForeground:quickInputListFocusForeground,listInactiveSelectionIconForeground:quickInputListFocusIconForeground,listInactiveFocusBackground:quickInputListFocusBackground,listFocusOutline:activeContrastBorder,listInactiveFocusOutline:activeContrastBorder}),pickerGroup:{pickerGroupBorder:asCssVariable(pickerGroupBorder),pickerGroupForeground:asCssVariable(pickerGroupForeground)}}}};QuickInputService=__decorate$1T([__param$1P(0,IInstantiationService),__param$1P(1,IContextKeyService),__param$1P(2,IThemeService),__param$1P(3,ILayoutService),__param$1P(4,IConfigurationService)],QuickInputService);var __decorate$1S=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1O=function(n,e){return function(t,i){e(t,i,n)}};let EditorScopedQuickInputService=class extends QuickInputService{constructor(e,t,i,r,g,y){super(t,i,r,new EditorScopedLayoutService(e.getContainerDomNode(),g),y),this.host=void 0;const k=QuickInputEditorContribution.get(e);if(k){const L=k.widget;this.host={_serviceBrand:void 0,get mainContainer(){return L.getDomNode()},getContainer(){return L.getDomNode()},whenContainerStylesLoaded(){},get containers(){return[L.getDomNode()]},get activeContainer(){return L.getDomNode()},get mainContainerDimension(){return e.getLayoutInfo()},get activeContainerDimension(){return e.getLayoutInfo()},get onDidLayoutMainContainer(){return e.onDidLayoutChange},get onDidLayoutActiveContainer(){return e.onDidLayoutChange},get onDidLayoutContainer(){return Event$1.map(e.onDidLayoutChange,V=>({container:L.getDomNode(),dimension:V}))},get onDidChangeActiveContainer(){return Event$1.None},get onDidAddContainer(){return Event$1.None},get mainContainerOffset(){return{top:0,quickPickTop:0}},get activeContainerOffset(){return{top:0,quickPickTop:0}},focus:()=>e.focus()}}else this.host=void 0}createController(){return super.createController(this.host)}};EditorScopedQuickInputService=__decorate$1S([__param$1O(1,IInstantiationService),__param$1O(2,IContextKeyService),__param$1O(3,IThemeService),__param$1O(4,ICodeEditorService),__param$1O(5,IConfigurationService)],EditorScopedQuickInputService);let StandaloneQuickInputService=class{get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(EditorScopedQuickInputService,e);this.mapEditorToService.set(e,t),createSingleCallFunction(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get quickAccess(){return this.activeService.quickAccess}constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}pick(e,t={},i=CancellationToken.None){return this.activeService.pick(e,t,i)}createQuickPick(){return this.activeService.createQuickPick()}createInputBox(){return this.activeService.createInputBox()}};StandaloneQuickInputService=__decorate$1S([__param$1O(0,IInstantiationService),__param$1O(1,ICodeEditorService)],StandaloneQuickInputService);class QuickInputEditorContribution{static get(e){return e.getContribution(QuickInputEditorContribution.ID)}constructor(e){this.editor=e,this.widget=new QuickInputEditorWidget(this.editor)}dispose(){this.widget.dispose()}}QuickInputEditorContribution.ID="editor.controller.quickInput";class QuickInputEditorWidget{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return QuickInputEditorWidget.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}QuickInputEditorWidget.ID="editor.contrib.quickInputWidget";registerEditorContribution(QuickInputEditorContribution.ID,QuickInputEditorContribution,4);class ParsedTokenThemeRule{constructor(e,t,i,r,g){this._parsedThemeRuleBrand=void 0,this.token=e,this.index=t,this.fontStyle=i,this.foreground=r,this.background=g}}function parseTokenTheme(n){if(!n||!Array.isArray(n))return[];const e=[];let t=0;for(let i=0,r=n.length;i{const ie=strcmp(z.token,j.token);return ie!==0?ie:z.index-j.index});let t=0,i="000000",r="ffffff";for(;n.length>=1&&n[0].token==="";){const z=n.shift();z.fontStyle!==-1&&(t=z.fontStyle),z.foreground!==null&&(i=z.foreground),z.background!==null&&(r=z.background)}const g=new ColorMap;for(const z of e)g.getId(z);const y=g.getId(i),k=g.getId(r),L=new ThemeTrieElementRule(t,y,k),V=new ThemeTrieElement(L);for(let z=0,j=n.length;z"u"){const r=this._match(t),g=toStandardTokenType(t);i=(r.metadata|g<<8)>>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|regexp)\b/;function toStandardTokenType(n){const e=n.match(STANDARD_TOKEN_TYPE_REGEXP);if(!e)return 0;switch(e[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"regexp":return 3}throw new Error("Unexpected match for standard token type!")}function strcmp(n,e){return ne?1:0}class ThemeTrieElementRule{constructor(e,t,i){this._themeTrieElementRuleBrand=void 0,this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}clone(){return new ThemeTrieElementRule(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){e!==-1&&(this._fontStyle=e),t!==0&&(this._foreground=t),i!==0&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<15|this._background<<24)>>>0}}class ThemeTrieElement{constructor(e){this._themeTrieElementBrand=void 0,this._mainRule=e,this._children=new Map}match(e){if(e==="")return this._mainRule;const t=e.indexOf(".");let i,r;t===-1?(i=e,r=""):(i=e.substring(0,t),r=e.substring(t+1));const g=this._children.get(i);return typeof g<"u"?g.match(r):this._mainRule}insert(e,t,i,r){if(e===""){this._mainRule.acceptOverwrite(t,i,r);return}const g=e.indexOf(".");let y,k;g===-1?(y=e,k=""):(y=e.substring(0,g),k=e.substring(g+1));let L=this._children.get(y);typeof L>"u"&&(L=new ThemeTrieElement(this._mainRule.clone()),this._children.set(y,L)),L.insert(k,t,i,r)}}function generateTokensCSSForColorMap(n){const e=[];for(let t=1,i=n.length;t({format:r.format,location:r.location.toString()}))}}n.toJSONObject=e;function t(i){const r=g=>isString$3(g)?g:void 0;if(i&&Array.isArray(i.src)&&i.src.every(g=>isString$3(g.format)&&isString$3(g.location)))return{weight:r(i.weight),style:r(i.style),src:i.src.map(g=>({format:g.format,location:URI.parse(g.location)}))}}n.fromJSONObject=t})(IconFontDefinition||(IconFontDefinition={}));class IconRegistry{constructor(){this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this.iconSchema={definitions:{icons:{type:"object",properties:{fontId:{type:"string",description:localize("iconDefinition.fontId","The id of the font to use. If not set, the font that is defined first is used.")},fontCharacter:{type:"string",description:localize("iconDefinition.fontCharacter","The font character associated with the icon definition.")}},additionalProperties:!1,defaultSnippets:[{body:{fontCharacter:"\\\\e030"}}]}},type:"object",properties:{}},this.iconReferenceSchema={type:"string",pattern:"^".concat(ThemeIcon.iconNameExpression,"$"),enum:[],enumDescriptions:[]},this.iconsById={},this.iconFontsById={}}registerIcon(e,t,i,r){const g=this.iconsById[e];if(g){if(i&&!g.description){g.description=i,this.iconSchema.properties[e].markdownDescription="".concat(i," $(").concat(e,")");const L=this.iconReferenceSchema.enum.indexOf(e);L!==-1&&(this.iconReferenceSchema.enumDescriptions[L]=i),this._onDidChange.fire()}return g}const y={id:e,description:i,defaults:t,deprecationMessage:r};this.iconsById[e]=y;const k={$ref:"#/definitions/icons"};return r&&(k.deprecationMessage=r),i&&(k.markdownDescription="".concat(i,": $(").concat(e,")")),this.iconSchema.properties[e]=k,this.iconReferenceSchema.enum.push(e),this.iconReferenceSchema.enumDescriptions.push(i||""),this._onDidChange.fire(),{id:e}}getIcons(){return Object.keys(this.iconsById).map(e=>this.iconsById[e])}getIcon(e){return this.iconsById[e]}getIconSchema(){return this.iconSchema}toString(){const e=(g,y)=>g.id.localeCompare(y.id),t=g=>{for(;ThemeIcon.isThemeIcon(g.defaults);)g=this.iconsById[g.defaults.id];return"codicon codicon-".concat(g?g.id:"")},i=[];i.push("| preview | identifier | default codicon ID | description"),i.push("| ----------- | --------------------------------- | --------------------------------- | --------------------------------- |");const r=Object.keys(this.iconsById).map(g=>this.iconsById[g]);for(const g of r.filter(y=>!!y.description).sort(e))i.push('||').concat(g.id,"|").concat(ThemeIcon.isThemeIcon(g.defaults)?g.defaults.id:g.id,"|").concat(g.description||"","|"));i.push("| preview | identifier "),i.push("| ----------- | --------------------------------- |");for(const g of r.filter(y=>!ThemeIcon.isThemeIcon(y.defaults)).sort(e))i.push('||').concat(g.id,"|"));return i.join("\n")}}const iconRegistry=new IconRegistry;Registry.add(Extensions$1.IconContribution,iconRegistry);function registerIcon(n,e,t,i){return iconRegistry.registerIcon(n,e,t,i)}function getIconRegistry(){return iconRegistry}function initialize(){const n=getCodiconFontCharacters();for(const e in n){const t="\\"+n[e].toString(16);iconRegistry.registerIcon(e,{fontCharacter:t})}}initialize();const iconsSchemaId="vscode://schemas/icons",schemaRegistry=Registry.as(Extensions$7.JSONContribution);schemaRegistry.registerSchema(iconsSchemaId,iconRegistry.getIconSchema());const delayer=new RunOnceScheduler(()=>schemaRegistry.notifySchemaChanged(iconsSchemaId),200);iconRegistry.onDidChange(()=>{delayer.isScheduled()||delayer.schedule()});const widgetClose=registerIcon("widget-close",Codicon.close,localize("widgetClose","Icon for the close action in widgets."));registerIcon("goto-previous-location",Codicon.arrowUp,localize("previousChangeIcon","Icon for goto previous editor location."));registerIcon("goto-next-location",Codicon.arrowDown,localize("nextChangeIcon","Icon for goto next editor location."));ThemeIcon.modify(Codicon.sync,"spin");ThemeIcon.modify(Codicon.loading,"spin");function getIconsStyleSheet(n){const e=new DisposableStore,t=e.add(new Emitter$1),i=getIconRegistry();return e.add(i.onDidChange(()=>t.fire())),n&&e.add(n.onDidProductIconThemeChange(()=>t.fire())),{dispose:()=>e.dispose(),onDidChange:t.event,getCSS(){const r=n?n.getProductIconTheme():new UnthemedProductIconTheme,g={},y=L=>{const V=r.getIcon(L);if(!V)return;const z=V.font;return z?(g[z.id]=z.definition,".codicon-".concat(L.id,":before { content: '").concat(V.fontCharacter,"'; font-family: ").concat(asCSSPropertyValue(z.id),"; }")):".codicon-".concat(L.id,":before { content: '").concat(V.fontCharacter,"'; }")},k=[];for(const L of i.getIcons()){const V=y(L);V&&k.push(V)}for(const L in g){const V=g[L],z=V.weight?"font-weight: ".concat(V.weight,";"):"",j=V.style?"font-style: ".concat(V.style,";"):"",ie=V.src.map(oe=>"".concat(asCSSUrl(oe.location)," format('").concat(oe.format,"')")).join(", ");k.push("@font-face { src: ".concat(ie,"; font-family: ").concat(asCSSPropertyValue(L),";").concat(z).concat(j," font-display: block; }"))}return k.join("\n")}}}class UnthemedProductIconTheme{getIcon(e){const t=getIconRegistry();let i=e.defaults;for(;ThemeIcon.isThemeIcon(i);){const r=t.getIcon(i.id);if(!r)return;i=r.defaults}return i}}const VS_LIGHT_THEME_NAME="vs",VS_DARK_THEME_NAME="vs-dark",HC_BLACK_THEME_NAME="hc-black",HC_LIGHT_THEME_NAME="hc-light",colorRegistry=Registry.as(Extensions$4.ColorContribution),themingRegistry=Registry.as(Extensions$3.ThemingContribution);class StandaloneTheme{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;const i=t.base;e.length>0?(isBuiltinTheme(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(const t in this.themeData.colors)e.set(t,Color$1.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){const t=getBuiltinRules(this.themeData.base);for(const i in t.colors)e.has(i)||e.set(i,Color$1.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);if(i)return i;if(t!==!1)return this.getDefault(e)}getDefault(e){let t=this.defaultColors[e];return t||(t=colorRegistry.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return this.getColors().has(e)}get type(){switch(this.base){case VS_LIGHT_THEME_NAME:return ColorScheme.LIGHT;case HC_BLACK_THEME_NAME:return ColorScheme.HIGH_CONTRAST_DARK;case HC_LIGHT_THEME_NAME:return ColorScheme.HIGH_CONTRAST_LIGHT;default:return ColorScheme.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){const g=getBuiltinRules(this.themeData.base);e=g.rules,g.encodedTokensColors&&(t=g.encodedTokensColors)}const i=this.themeData.colors["editor.foreground"],r=this.themeData.colors["editor.background"];if(i||r){const g={token:""};i&&(g.foreground=i),r&&(g.background=r),e.push(g)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=TokenTheme.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const g=this.tokenTheme._match([e].concat(t).join(".")).metadata,y=TokenMetadata.getForeground(g),k=TokenMetadata.getFontStyle(g);return{foreground:y,italic:!!(k&1),bold:!!(k&2),underline:!!(k&4),strikethrough:!!(k&8)}}}function isBuiltinTheme(n){return n===VS_LIGHT_THEME_NAME||n===VS_DARK_THEME_NAME||n===HC_BLACK_THEME_NAME||n===HC_LIGHT_THEME_NAME}function getBuiltinRules(n){switch(n){case VS_LIGHT_THEME_NAME:return vs;case VS_DARK_THEME_NAME:return vs_dark;case HC_BLACK_THEME_NAME:return hc_black;case HC_LIGHT_THEME_NAME:return hc_light}}function newBuiltInTheme(n){const e=getBuiltinRules(n);return new StandaloneTheme(n,e)}class StandaloneThemeService extends Disposable{constructor(){super(),this._onColorThemeChange=this._register(new Emitter$1),this.onDidColorThemeChange=this._onColorThemeChange.event,this._onProductIconThemeChange=this._register(new Emitter$1),this.onDidProductIconThemeChange=this._onProductIconThemeChange.event,this._environment=Object.create(null),this._builtInProductIconTheme=new UnthemedProductIconTheme,this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set(VS_LIGHT_THEME_NAME,newBuiltInTheme(VS_LIGHT_THEME_NAME)),this._knownThemes.set(VS_DARK_THEME_NAME,newBuiltInTheme(VS_DARK_THEME_NAME)),this._knownThemes.set(HC_BLACK_THEME_NAME,newBuiltInTheme(HC_BLACK_THEME_NAME)),this._knownThemes.set(HC_LIGHT_THEME_NAME,newBuiltInTheme(HC_LIGHT_THEME_NAME));const e=this._register(getIconsStyleSheet(this));this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS="".concat(this._codiconCSS,"\n").concat(this._themeCSS),this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme(VS_LIGHT_THEME_NAME),this._onOSSchemeChanged(),this._register(e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()})),addMatchMediaChangeListener(mainWindow,"(forced-colors: active)",()=>{this._onOSSchemeChanged()})}registerEditorContainer(e){return isInShadowDOM(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=createStyleSheet(void 0,e=>{e.className="monaco-colors",e.textContent=this._allCSS}),this._styleElements.push(this._globalStyleElement)),Disposable.None}_registerShadowDomContainer(e){const t=createStyleSheet(e,i=>{i.className="monaco-colors",i.textContent=this._allCSS});return this._styleElements.push(t),{dispose:()=>{for(let i=0;i{i.base===e&&i.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;this._knownThemes.has(e)?t=this._knownThemes.get(e):t=this._knownThemes.get(VS_LIGHT_THEME_NAME),this._updateActualTheme(t)}_updateActualTheme(e){!e||this._theme===e||(this._theme=e,this._updateThemeOrColorMap())}_onOSSchemeChanged(){if(this._autoDetectHighContrast){const e=mainWindow.matchMedia("(forced-colors: active)").matches;if(e!==isHighContrast(this._theme.type)){let t;isDark(this._theme.type)?t=e?HC_BLACK_THEME_NAME:VS_DARK_THEME_NAME:t=e?HC_LIGHT_THEME_NAME:VS_LIGHT_THEME_NAME,this._updateActualTheme(this._knownThemes.get(t))}}}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._onOSSchemeChanged()}_updateThemeOrColorMap(){const e=[],t={},i={addRule:y=>{t[y]||(e.push(y),t[y]=!0)}};themingRegistry.getThemingParticipants().forEach(y=>y(this._theme,i,this._environment));const r=[];for(const y of colorRegistry.getColors()){const k=this._theme.getColor(y.id,!0);k&&r.push("".concat(asCssVariableName(y.id),": ").concat(k.toString(),";"))}i.addRule(".monaco-editor, .monaco-diff-editor, .monaco-component { ".concat(r.join("\n")," }"));const g=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(generateTokensCSSForColorMap(g)),this._themeCSS=e.join("\n"),this._updateCSS(),TokenizationRegistry.setColorMap(g),this._onColorThemeChange.fire(this._theme)}_updateCSS(){this._allCSS="".concat(this._codiconCSS,"\n").concat(this._themeCSS),this._styleElements.forEach(e=>e.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}getProductIconTheme(){return this._builtInProductIconTheme}}const IStandaloneThemeService=createDecorator("themeService");var __decorate$1R=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1N=function(n,e){return function(t,i){e(t,i,n)}};let AccessibilityService=class extends Disposable{constructor(e,t,i){super(),this._contextKeyService=e,this._layoutService=t,this._configurationService=i,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new Emitter$1,this._onDidChangeReducedMotion=new Emitter$1,this._accessibilityModeEnabledContext=CONTEXT_ACCESSIBILITY_MODE_ENABLED.bindTo(this._contextKeyService);const r=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(y=>{y.affectsConfiguration("editor.accessibilitySupport")&&(r(),this._onDidChangeScreenReaderOptimized.fire()),y.affectsConfiguration("workbench.reduceMotion")&&(this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this._onDidChangeReducedMotion.fire())})),r(),this._register(this.onDidChangeScreenReaderOptimized(()=>r()));const g=mainWindow.matchMedia("(prefers-reduced-motion: reduce)");this._systemMotionReduced=g.matches,this._configMotionReduced=this._configurationService.getValue("workbench.reduceMotion"),this.initReducedMotionListeners(g)}initReducedMotionListeners(e){this._register(addDisposableListener(e,"change",()=>{this._systemMotionReduced=e.matches,this._configMotionReduced==="auto"&&this._onDidChangeReducedMotion.fire()}));const t=()=>{const i=this.isMotionReduced();this._layoutService.mainContainer.classList.toggle("reduce-motion",i),this._layoutService.mainContainer.classList.toggle("enable-motion",!i)};t(),this._register(this.onDidChangeReducedMotion(()=>t()))}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return e==="on"||e==="auto"&&this._accessibilitySupport===2}get onDidChangeReducedMotion(){return this._onDidChangeReducedMotion.event}isMotionReduced(){const e=this._configMotionReduced;return e==="on"||e==="auto"&&this._systemMotionReduced}getAccessibilitySupport(){return this._accessibilitySupport}};AccessibilityService=__decorate$1R([__param$1N(0,IContextKeyService),__param$1N(1,ILayoutService),__param$1N(2,IConfigurationService)],AccessibilityService);var __decorate$1Q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1M=function(n,e){return function(t,i){e(t,i,n)}},PersistedMenuHideState_1,MenuInfo_1;let MenuService=class{constructor(e,t){this._commandService=e,this._hiddenStates=new PersistedMenuHideState(t)}createMenu(e,t,i){return new MenuImpl(e,this._hiddenStates,{emitEventsForSubmenuChanges:!1,eventDebounceDelay:50,...i},this._commandService,t)}resetHiddenStates(e){this._hiddenStates.reset(e)}};MenuService=__decorate$1Q([__param$1M(0,ICommandService),__param$1M(1,IStorageService)],MenuService);let PersistedMenuHideState=PersistedMenuHideState_1=class{constructor(e){this._storageService=e,this._disposables=new DisposableStore,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._ignoreChangeEvent=!1,this._hiddenByDefaultCache=new Map;try{const t=e.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(t)}catch(t){this._data=Object.create(null)}this._disposables.add(e.onDidChangeValue(0,PersistedMenuHideState_1._key,this._disposables)(()=>{if(!this._ignoreChangeEvent)try{const t=e.get(PersistedMenuHideState_1._key,0,"{}");this._data=JSON.parse(t)}catch(t){console.log("FAILED to read storage after UPDATE",t)}this._onDidChange.fire()}))}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}_isHiddenByDefault(e,t){var i;return(i=this._hiddenByDefaultCache.get("".concat(e.id,"/").concat(t)))!==null&&i!==void 0?i:!1}setDefaultState(e,t,i){this._hiddenByDefaultCache.set("".concat(e.id,"/").concat(t),i)}isHidden(e,t){var i,r;const g=this._isHiddenByDefault(e,t),y=(r=(i=this._data[e.id])===null||i===void 0?void 0:i.includes(t))!==null&&r!==void 0?r:!1;return g?!y:y}updateHidden(e,t,i){this._isHiddenByDefault(e,t)&&(i=!i);const g=this._data[e.id];if(i)g?g.indexOf(t)<0&&g.push(t):this._data[e.id]=[t];else if(g){const y=g.indexOf(t);y>=0&&removeFastWithoutKeepingOrder(g,y),g.length===0&&delete this._data[e.id]}this._persist()}reset(e){if(e===void 0)this._data=Object.create(null),this._persist();else{for(const{id:t}of e)this._data[t]&&delete this._data[t];this._persist()}}_persist(){try{this._ignoreChangeEvent=!0;const e=JSON.stringify(this._data);this._storageService.store(PersistedMenuHideState_1._key,e,0,0)}finally{this._ignoreChangeEvent=!1}}};PersistedMenuHideState._key="menu.hiddenCommands";PersistedMenuHideState=PersistedMenuHideState_1=__decorate$1Q([__param$1M(0,IStorageService)],PersistedMenuHideState);let MenuInfo=MenuInfo_1=class{constructor(e,t,i,r,g){this._id=e,this._hiddenStates=t,this._collectContextKeysForSubmenus=i,this._commandService=r,this._contextKeyService=g,this._menuGroups=[],this._structureContextKeys=new Set,this._preconditionContextKeys=new Set,this._toggledContextKeys=new Set,this.refresh()}get structureContextKeys(){return this._structureContextKeys}get preconditionContextKeys(){return this._preconditionContextKeys}get toggledContextKeys(){return this._toggledContextKeys}refresh(){this._menuGroups.length=0,this._structureContextKeys.clear(),this._preconditionContextKeys.clear(),this._toggledContextKeys.clear();const e=MenuRegistry.getMenuItems(this._id);let t;e.sort(MenuInfo_1._compareMenuItems);for(const i of e){const r=i.group||"";(!t||t[0]!==r)&&(t=[r,[]],this._menuGroups.push(t)),t[1].push(i),this._collectContextKeys(i)}}_collectContextKeys(e){if(MenuInfo_1._fillInKbExprKeys(e.when,this._structureContextKeys),isIMenuItem(e)){if(e.command.precondition&&MenuInfo_1._fillInKbExprKeys(e.command.precondition,this._preconditionContextKeys),e.command.toggled){const t=e.command.toggled.condition||e.command.toggled;MenuInfo_1._fillInKbExprKeys(t,this._toggledContextKeys)}}else this._collectContextKeysForSubmenus&&MenuRegistry.getMenuItems(e.submenu).forEach(this._collectContextKeys,this)}createActionGroups(e){const t=[];for(const i of this._menuGroups){const[r,g]=i,y=[];for(const k of g)if(this._contextKeyService.contextMatchesRules(k.when)){const L=isIMenuItem(k);L&&this._hiddenStates.setDefaultState(this._id,k.command.id,!!k.isHiddenByDefault);const V=createMenuHide(this._id,L?k.command:k,this._hiddenStates);if(L)y.push(new MenuItemAction(k.command,k.alt,e,V,this._contextKeyService,this._commandService));else{const z=new MenuInfo_1(k.submenu,this._hiddenStates,this._collectContextKeysForSubmenus,this._commandService,this._contextKeyService).createActionGroups(e),j=Separator.join(...z.map(ie=>ie[1]));j.length>0&&y.push(new SubmenuItemAction(k,V,j))}}y.length>0&&t.push([r,y])}return t}static _fillInKbExprKeys(e,t){if(e)for(const i of e.keys())t.add(i)}static _compareMenuItems(e,t){const i=e.group,r=t.group;if(i!==r){if(i){if(!r)return-1}else return 1;if(i==="navigation")return-1;if(r==="navigation")return 1;const k=i.localeCompare(r);if(k!==0)return k}const g=e.order||0,y=t.order||0;return gy?1:MenuInfo_1._compareTitles(isIMenuItem(e)?e.command.title:e.title,isIMenuItem(t)?t.command.title:t.title)}static _compareTitles(e,t){const i=typeof e=="string"?e:e.original,r=typeof t=="string"?t:t.original;return i.localeCompare(r)}};MenuInfo=MenuInfo_1=__decorate$1Q([__param$1M(3,ICommandService),__param$1M(4,IContextKeyService)],MenuInfo);let MenuImpl=class{constructor(e,t,i,r,g){this._disposables=new DisposableStore,this._menuInfo=new MenuInfo(e,t,i.emitEventsForSubmenuChanges,r,g);const y=new RunOnceScheduler(()=>{this._menuInfo.refresh(),this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!0,isToggleChange:!0})},i.eventDebounceDelay);this._disposables.add(y),this._disposables.add(MenuRegistry.onDidChangeMenu(z=>{z.has(e)&&y.schedule()}));const k=this._disposables.add(new DisposableStore),L=z=>{let j=!1,ie=!1,oe=!1;for(const re of z)if(j=j||re.isStructuralChange,ie=ie||re.isEnablementChange,oe=oe||re.isToggleChange,j&&ie&&oe)break;return{menu:this,isStructuralChange:j,isEnablementChange:ie,isToggleChange:oe}},V=()=>{k.add(g.onDidChangeContext(z=>{const j=z.affectsSome(this._menuInfo.structureContextKeys),ie=z.affectsSome(this._menuInfo.preconditionContextKeys),oe=z.affectsSome(this._menuInfo.toggledContextKeys);(j||ie||oe)&&this._onDidChange.fire({menu:this,isStructuralChange:j,isEnablementChange:ie,isToggleChange:oe})})),k.add(t.onDidChange(z=>{this._onDidChange.fire({menu:this,isStructuralChange:!0,isEnablementChange:!1,isToggleChange:!1})}))};this._onDidChange=new DebounceEmitter({onWillAddFirstListener:V,onDidRemoveLastListener:k.clear.bind(k),delay:i.eventDebounceDelay,merge:L}),this.onDidChange=this._onDidChange.event}getActions(e){return this._menuInfo.createActionGroups(e)}dispose(){this._disposables.dispose(),this._onDidChange.dispose()}};MenuImpl=__decorate$1Q([__param$1M(3,ICommandService),__param$1M(4,IContextKeyService)],MenuImpl);function createMenuHide(n,e,t){const i=isISubmenuItem(e)?e.submenu.id:e.id,r=typeof e.title=="string"?e.title:e.title.value,g=toAction({id:"hide/".concat(n.id,"/").concat(i),label:localize("hide.label","Hide '{0}'",r),run(){t.updateHidden(n,i,!0)}}),y=toAction({id:"toggle/".concat(n.id,"/").concat(i),label:r,get checked(){return!t.isHidden(n,i)},run(){t.updateHidden(n,i,!!this.checked)}});return{hide:g,toggle:y,get isHidden(){return!y.checked}}}var __decorate$1P=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1L=function(n,e){return function(t,i){e(t,i,n)}},BrowserClipboardService_1;let BrowserClipboardService=BrowserClipboardService_1=class extends Disposable{constructor(e,t){super(),this.layoutService=e,this.logService=t,this.mapTextToType=new Map,this.findText="",this.resources=[],this.resourcesStateHash=void 0,(isSafari||isWebkitWebView)&&this.installWebKitWriteTextWorkaround(),this._register(Event$1.runAndSubscribe(onDidRegisterWindow,({window:i,disposables:r})=>{r.add(addDisposableListener(i.document,"copy",()=>this.clearResources()))},{window:mainWindow,disposables:this._store}))}installWebKitWriteTextWorkaround(){const e=()=>{const t=new DeferredPromise;this.webKitPendingClipboardWritePromise&&!this.webKitPendingClipboardWritePromise.isSettled&&this.webKitPendingClipboardWritePromise.cancel(),this.webKitPendingClipboardWritePromise=t,navigator.clipboard.write([new ClipboardItem({"text/plain":t.p})]).catch(async i=>{(!(i instanceof Error)||i.name!=="NotAllowedError"||!t.isRejected)&&this.logService.error(i)})};this._register(Event$1.runAndSubscribe(this.layoutService.onDidAddContainer,({container:t,disposables:i})=>{i.add(addDisposableListener(t,"click",e)),i.add(addDisposableListener(t,"keydown",e))},{container:this.layoutService.mainContainer,disposables:this._store}))}async writeText(e,t){if(this.writeResources([]),t){this.mapTextToType.set(t,e);return}if(this.webKitPendingClipboardWritePromise)return this.webKitPendingClipboardWritePromise.complete(e);try{return await navigator.clipboard.writeText(e)}catch(i){console.error(i)}this.fallbackWriteText(e)}fallbackWriteText(e){const t=getActiveDocument(),i=t.activeElement,r=t.body.appendChild($$f("textarea",{"aria-hidden":!0}));r.style.height="1px",r.style.width="1px",r.style.position="absolute",r.value=e,r.focus(),r.select(),t.execCommand("copy"),i instanceof HTMLElement&&i.focus(),t.body.removeChild(r)}async readText(e){if(e)return this.mapTextToType.get(e)||"";try{return await navigator.clipboard.readText()}catch(t){console.error(t)}return""}async readFindText(){return this.findText}async writeFindText(e){this.findText=e}async writeResources(e){e.length===0?this.clearResources():(this.resources=e,this.resourcesStateHash=await this.computeResourcesStateHash())}async readResources(){const e=await this.computeResourcesStateHash();return this.resourcesStateHash!==e&&this.clearResources(),this.resources}async computeResourcesStateHash(){if(this.resources.length===0)return;const e=await this.readText();return hash$1(e.substring(0,BrowserClipboardService_1.MAX_RESOURCE_STATE_SOURCE_LENGTH))}clearResources(){this.resources=[],this.resourcesStateHash=void 0}};BrowserClipboardService.MAX_RESOURCE_STATE_SOURCE_LENGTH=1e3;BrowserClipboardService=BrowserClipboardService_1=__decorate$1P([__param$1L(0,ILayoutService),__param$1L(1,ILogService)],BrowserClipboardService);const IClipboardService=createDecorator("clipboardService");var __decorate$1O=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1K=function(n,e){return function(t,i){e(t,i,n)}};const KEYBINDING_CONTEXT_ATTR="data-keybinding-context";let Context$2=class{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}get value(){return{...this._value}}setValue(e,t){return this._value[e]!==t?(this._value[e]=t,!0):!1}removeValue(e){return e in this._value?(delete this._value[e],!0):!1}getValue(e){const t=this._value[e];return typeof t>"u"&&this._parent?this._parent.getValue(e):t}};class NullContext extends Context$2{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}NullContext.INSTANCE=new NullContext;class ConfigAwareContextValuesContainer extends Context$2{constructor(e,t,i){super(e,null),this._configurationService=t,this._values=TernarySearchTree.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(r=>{if(r.source===7){const g=Array.from(this._values,([y])=>y);this._values.clear(),i.fire(new ArrayContextKeyChangeEvent(g))}else{const g=[];for(const y of r.affectedKeys){const k="config.".concat(y),L=this._values.findSuperstr(k);L!==void 0&&(g.push(...Iterable.map(L,([V])=>V)),this._values.deleteSuperstr(k)),this._values.has(k)&&(g.push(k),this._values.delete(k))}i.fire(new ArrayContextKeyChangeEvent(g))}})}dispose(){this._listener.dispose()}getValue(e){if(e.indexOf(ConfigAwareContextValuesContainer._keyPrefix)!==0)return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(ConfigAwareContextValuesContainer._keyPrefix.length),i=this._configurationService.getValue(t);let r;switch(typeof i){case"number":case"boolean":case"string":r=i;break;default:Array.isArray(i)?r=JSON.stringify(i):r=i}return this._values.set(e,r),r}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}ConfigAwareContextValuesContainer._keyPrefix="config.";class ContextKey{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){typeof this._defaultValue>"u"?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class SimpleContextKeyChangeEvent{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}allKeysContainedIn(e){return this.affectsSome(e)}}class ArrayContextKeyChangeEvent{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}allKeysContainedIn(e){return this.keys.every(t=>e.has(t))}}class CompositeContextKeyChangeEvent{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}allKeysContainedIn(e){return this.events.every(t=>t.allKeysContainedIn(e))}}function allEventKeysInContext(n,e){return n.allKeysContainedIn(new Set(Object.keys(e)))}class AbstractContextKeyService extends Disposable{constructor(e){super(),this._onDidChangeContext=this._register(new PauseableEmitter({merge:t=>new CompositeContextKeyChangeEvent(t)})),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ContextKey(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new ScopedContextKeyService(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return e?e.evaluate(t):!0}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new SimpleContextKeyChangeEvent(e))}getContext(e){return this._isDisposed?NullContext.INSTANCE:this.getContextValuesContainer(findContextAttr(e))}dispose(){super.dispose(),this._isDisposed=!0}}let ContextKeyService=class extends AbstractContextKeyService{constructor(e){super(0),this._contexts=new Map,this._lastContextId=0;const t=this._register(new ConfigAwareContextValuesContainer(this._myContextId,e,this._onDidChangeContext));this._contexts.set(this._myContextId,t)}getContextValuesContainer(e){return this._isDisposed?NullContext.INSTANCE:this._contexts.get(e)||NullContext.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");const t=++this._lastContextId;return this._contexts.set(t,new Context$2(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};ContextKeyService=__decorate$1O([__param$1K(0,IConfigurationService)],ContextKeyService);class ScopedContextKeyService extends AbstractContextKeyService{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=this._register(new MutableDisposable),this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute(KEYBINDING_CONTEXT_ATTR)){let i="";this._domNode.classList&&(i=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute".concat(i?": "+i:""))}this._domNode.setAttribute(KEYBINDING_CONTEXT_ATTR,String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(e=>{const i=this._parent.getContextValuesContainer(this._myContextId).value;allEventKeysInContext(e,i)||this._onDidChangeContext.fire(e)})}dispose(){this._isDisposed||(this._parent.disposeContext(this._myContextId),this._domNode.removeAttribute(KEYBINDING_CONTEXT_ATTR),super.dispose())}getContextValuesContainer(e){return this._isDisposed?NullContext.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}function findContextAttr(n){for(;n;){if(n.hasAttribute(KEYBINDING_CONTEXT_ATTR)){const e=n.getAttribute(KEYBINDING_CONTEXT_ATTR);return e?parseInt(e,10):NaN}n=n.parentElement}return 0}function setContext(n,e,t){n.get(IContextKeyService).createKey(String(e),stringifyURIs(t))}function stringifyURIs(n){return cloneAndChange(n,e=>{if(typeof e=="object"&&e.$mid===1)return URI.revive(e).toString();if(e instanceof URI)return e.toString()})}CommandsRegistry.registerCommand("_setContext",setContext);CommandsRegistry.registerCommand({id:"getContextKeyInfo",handler(){return[...RawContextKey.all()].sort((n,e)=>n.key.localeCompare(e.key))},metadata:{description:localize("getContextKeyInfo","A command that returns information about context keys"),args:[]}});CommandsRegistry.registerCommand("_generateContextKeyInfo",function(){const n=[],e=new Set;for(const t of RawContextKey.all())e.has(t.key)||(e.add(t.key),n.push(t));n.sort((t,i)=>t.key.localeCompare(i.key)),console.log(JSON.stringify(n,void 0,2))});let Node$4=class{constructor(e,t){this.key=e,this.data=t,this.incoming=new Map,this.outgoing=new Map}};class Graph{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(const t of this._nodes.values())t.outgoing.size===0&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),r=this.lookupOrInsertNode(t);i.outgoing.set(r.key,r),r.incoming.set(i.key,i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(const i of this._nodes.values())i.outgoing.delete(t),i.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new Node$4(t,e),this._nodes.set(t,i)),i}isEmpty(){return this._nodes.size===0}toString(){const e=[];for(const[t,i]of this._nodes)e.push("".concat(t,"\n (-> incoming)[").concat([...i.incoming.keys()].join(", "),"]\n (outgoing ->)[").concat([...i.outgoing.keys()].join(","),"]\n"));return e.join("\n")}findCycleSlow(){for(const[e,t]of this._nodes){const i=new Set([e]),r=this._findCycle(t,i);if(r)return r}}_findCycle(e,t){for(const[i,r]of e.outgoing){if(t.has(i))return[...t,i].join(" -> ");t.add(i);const g=this._findCycle(r,t);if(g)return g;t.delete(i)}}}const _enableAllTracing=!1;class CyclicDependencyError extends Error{constructor(e){var t;super("cyclic dependency between services"),this.message=(t=e.findCycleSlow())!==null&&t!==void 0?t:"UNABLE to detect cycle, dumping graph: \n".concat(e.toString())}}class InstantiationService{constructor(e=new ServiceCollection,t=!1,i,r=_enableAllTracing){var g;this._services=e,this._strict=t,this._parent=i,this._enableTracing=r,this._activeInstantiations=new Set,this._services.set(IInstantiationService,this),this._globalGraph=r?(g=i==null?void 0:i._globalGraph)!==null&&g!==void 0?g:new Graph(y=>y):void 0}createChild(e){return new InstantiationService(e,this._strict,this,this._enableTracing)}invokeFunction(e,...t){const i=Trace.traceInvocation(this._enableTracing,e);let r=!1;try{return e({get:y=>{if(r)throw illegalState("service accessor is only valid during the invocation of its target method");const k=this._getOrCreateServiceInstance(y,i);if(!k)throw new Error("[invokeFunction] unknown service '".concat(y,"'"));return k}},...t)}finally{r=!0,i.stop()}}createInstance(e,...t){let i,r;return e instanceof SyncDescriptor?(i=Trace.traceCreation(this._enableTracing,e.ctor),r=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=Trace.traceCreation(this._enableTracing,e),r=this._createInstance(e,t,i)),i.stop(),r}_createInstance(e,t=[],i){const r=_util.getServiceDependencies(e).sort((k,L)=>k.index-L.index),g=[];for(const k of r){const L=this._getOrCreateServiceInstance(k.id,i);L||this._throwIfStrict("[createInstance] ".concat(e.name," depends on UNKNOWN service ").concat(k.id,"."),!1),g.push(L)}const y=r.length>0?r[0].index:t.length;if(t.length!==y){console.trace("[createInstance] First service dependency of ".concat(e.name," at position ").concat(y+1," conflicts with ").concat(t.length," static arguments"));const k=y-t.length;k>0?t=t.concat(new Array(k)):t=t.slice(0,y)}return Reflect.construct(e,t.concat(g))}_setServiceInstance(e,t){if(this._services.get(e)instanceof SyncDescriptor)this._services.set(e,t);else if(this._parent)this._parent._setServiceInstance(e,t);else throw new Error("illegalState - setting UNKNOWN service instance")}_getServiceInstanceOrDescriptor(e){const t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){this._globalGraph&&this._globalGraphImplicitDependency&&this._globalGraph.insertEdge(this._globalGraphImplicitDependency,String(e));const i=this._getServiceInstanceOrDescriptor(e);return i instanceof SyncDescriptor?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error("illegal state - RECURSIVELY instantiating service '".concat(e,"'"));this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){var r;const g=new Graph(L=>L.id.toString());let y=0;const k=[{id:e,desc:t,_trace:i}];for(;k.length;){const L=k.pop();if(g.lookupOrInsertNode(L),y++>1e3)throw new CyclicDependencyError(g);for(const V of _util.getServiceDependencies(L.desc.ctor)){const z=this._getServiceInstanceOrDescriptor(V.id);if(z||this._throwIfStrict("[createInstance] ".concat(e," depends on ").concat(V.id," which is NOT registered."),!0),(r=this._globalGraph)===null||r===void 0||r.insertEdge(String(L.id),String(V.id)),z instanceof SyncDescriptor){const j={id:V.id,desc:z,_trace:L._trace.branch(V.id,!0)};g.insertEdge(L,j),k.push(j)}}}for(;;){const L=g.roots();if(L.length===0){if(!g.isEmpty())throw new CyclicDependencyError(g);break}for(const{data:V}of L){if(this._getServiceInstanceOrDescriptor(V.id)instanceof SyncDescriptor){const j=this._createServiceInstanceWithOwner(V.id,V.desc.ctor,V.desc.staticArguments,V.desc.supportsDelayedInstantiation,V._trace);this._setServiceInstance(V.id,j)}g.removeNode(V)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],r,g){if(this._services.get(e)instanceof SyncDescriptor)return this._createServiceInstance(e,t,i,r,g);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,r,g);throw new Error("illegalState - creating UNKNOWN service instance ".concat(t.name))}_createServiceInstance(e,t,i=[],r,g){if(r){const y=new InstantiationService(void 0,this._strict,this,this._enableTracing);y._globalGraphImplicitDependency=String(e);const k=new Map,L=new GlobalIdleValue(()=>{const V=y._createInstance(t,i,g);for(const[z,j]of k){const ie=V[z];if(typeof ie=="function")for(const oe of j)oe.disposable=ie.apply(V,oe.listener)}return k.clear(),V});return new Proxy(Object.create(null),{get(V,z){if(!L.isInitialized&&typeof z=="string"&&(z.startsWith("onDid")||z.startsWith("onWill"))){let oe=k.get(z);return oe||(oe=new LinkedList,k.set(z,oe)),(ae,le,de)=>{if(L.isInitialized)return L.value[z](ae,le,de);{const ue={listener:[ae,le,de],disposable:void 0},he=oe.push(ue);return toDisposable(()=>{var Ce;he(),(Ce=ue.disposable)===null||Ce===void 0||Ce.dispose()})}}}if(z in V)return V[z];const j=L.value;let ie=j[z];return typeof ie!="function"||(ie=ie.bind(j),V[z]=ie),ie},set(V,z,j){return L.value[z]=j,!0},getPrototypeOf(V){return t.prototype}})}else return this._createInstance(t,i,g)}_throwIfStrict(e,t){if(t&&console.warn(e),this._strict)throw new Error(e)}}class Trace{static traceInvocation(e,t){return e?new Trace(2,t.name||new Error().stack.split("\n").slice(3,4).join("\n")):Trace._None}static traceCreation(e,t){return e?new Trace(1,t.name):Trace._None}constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}branch(e,t){const i=new Trace(3,e.toString());return this._dep.push([e,t,i]),i}stop(){const e=Date.now()-this._start;Trace._totals+=e;let t=!1;function i(g,y){const k=[],L=new Array(g+1).join(" ");for(const[V,z,j]of y._dep)if(z&&j){t=!0,k.push("".concat(L,"CREATES -> ").concat(V));const ie=i(g+1,j);ie&&k.push(ie)}else k.push("".concat(L,"uses -> ").concat(V));return k.join("\n")}const r=["".concat(this.type===1?"CREATE":"CALL"," ").concat(this.name),"".concat(i(1,this)),"DONE, took ".concat(e.toFixed(2),"ms (grand total ").concat(Trace._totals.toFixed(2),"ms)")];(e>2||t)&&Trace.all.add(r.join("\n"))}}Trace.all=new Set;Trace._None=new class extends Trace{constructor(){super(0,null)}stop(){}branch(){return this}};Trace._totals=0;const unsupportedSchemas=new Set([Schemas.inMemory,Schemas.vscodeSourceControl,Schemas.walkThrough,Schemas.walkThroughSnippet,Schemas.vscodeChatCodeBlock]);class DoubleResourceMap{constructor(){this._byResource=new ResourceMap,this._byOwner=new Map}set(e,t,i){let r=this._byResource.get(e);r||(r=new Map,this._byResource.set(e,r)),r.set(t,i);let g=this._byOwner.get(t);g||(g=new ResourceMap,this._byOwner.set(t,g)),g.set(e,i)}get(e,t){const i=this._byResource.get(e);return i==null?void 0:i.get(t)}delete(e,t){let i=!1,r=!1;const g=this._byResource.get(e);g&&(i=g.delete(t));const y=this._byOwner.get(t);if(y&&(r=y.delete(e)),i!==r)throw new Error("illegal state");return i&&r}values(e){var t,i,r,g;return typeof e=="string"?(i=(t=this._byOwner.get(e))===null||t===void 0?void 0:t.values())!==null&&i!==void 0?i:Iterable.empty():URI.isUri(e)?(g=(r=this._byResource.get(e))===null||r===void 0?void 0:r.values())!==null&&g!==void 0?g:Iterable.empty():Iterable.map(Iterable.concat(...this._byOwner.values()),y=>y[1])}}class MarkerStats{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new ResourceMap,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const i=this._data.get(t);i&&this._substract(i);const r=this._resourceStats(t);this._add(r),this._data.set(t,r)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(unsupportedSchemas.has(e.scheme))return t;for(const{severity:i}of this._service.read({resource:e}))i===MarkerSeverity$1.Error?t.errors+=1:i===MarkerSeverity$1.Warning?t.warnings+=1:i===MarkerSeverity$1.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class MarkerService{constructor(){this._onMarkerChanged=new DebounceEmitter({delay:0,merge:MarkerService._merge}),this.onMarkerChanged=this._onMarkerChanged.event,this._data=new DoubleResourceMap,this._stats=new MarkerStats(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(isFalsyOrEmpty(i))this._data.delete(t,e)&&this._onMarkerChanged.fire([t]);else{const r=[];for(const g of i){const y=MarkerService._toMarker(e,t,g);y&&r.push(y)}this._data.set(t,e,r),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:r,severity:g,message:y,source:k,startLineNumber:L,startColumn:V,endLineNumber:z,endColumn:j,relatedInformation:ie,tags:oe}=i;if(y)return L=L>0?L:1,V=V>0?V:1,z=z>=L?z:L,j=j>0?j:V,{resource:t,owner:e,code:r,severity:g,message:y,source:k,startLineNumber:L,startColumn:V,endLineNumber:z,endColumn:j,relatedInformation:ie,tags:oe}}changeAll(e,t){const i=[],r=this._data.values(e);if(r)for(const g of r){const y=Iterable.first(g);y&&(i.push(y.resource),this._data.delete(y.resource,e))}if(isNonEmptyArray(t)){const g=new ResourceMap;for(const{resource:y,marker:k}of t){const L=MarkerService._toMarker(e,y,k);if(!L)continue;const V=g.get(y);V?V.push(L):(g.set(y,[L]),i.push(y))}for(const[y,k]of g)this._data.set(y,e,k)}i.length>0&&this._onMarkerChanged.fire(i)}read(e=Object.create(null)){let{owner:t,resource:i,severities:r,take:g}=e;if((!g||g<0)&&(g=-1),t&&i){const y=this._data.get(i,t);if(y){const k=[];for(const L of y)if(MarkerService._accept(L,r)){const V=k.push(L);if(g>0&&V===g)break}return k}else return[]}else if(!t&&!i){const y=[];for(const k of this._data.values())for(const L of k)if(MarkerService._accept(L,r)){const V=y.push(L);if(g>0&&V===g)return y}return y}else{const y=this._data.values(i!=null?i:t),k=[];for(const L of y)for(const V of L)if(MarkerService._accept(V,r)){const z=k.push(V);if(g>0&&z===g)return k}return k}}static _accept(e,t){return t===void 0||(t&e.severity)===e.severity}static _merge(e){const t=new ResourceMap;for(const i of e)for(const r of i)t.set(r,!0);return Array.from(t.keys())}}class DefaultConfiguration extends Disposable{constructor(){super(...arguments),this._configurationModel=new ConfigurationModel}get configurationModel(){return this._configurationModel}reload(){return this.resetConfigurationModel(),this.configurationModel}getConfigurationDefaultOverrides(){return{}}resetConfigurationModel(){this._configurationModel=new ConfigurationModel;const e=Registry.as(Extensions$6.Configuration).getConfigurationProperties();this.updateConfigurationModel(Object.keys(e),e)}updateConfigurationModel(e,t){const i=this.getConfigurationDefaultOverrides();for(const r of e){const g=i[r],y=t[r];g!==void 0?this._configurationModel.addValue(r,g):y?this._configurationModel.addValue(r,y.default):this._configurationModel.removeValue(r)}}}const IAccessibilitySignalService=createDecorator("accessibilitySignalService");class Sound{static register(e){return new Sound(e.fileName)}constructor(e){this.fileName=e}}Sound.error=Sound.register({fileName:"error.mp3"});Sound.warning=Sound.register({fileName:"warning.mp3"});Sound.foldedArea=Sound.register({fileName:"foldedAreas.mp3"});Sound.break=Sound.register({fileName:"break.mp3"});Sound.quickFixes=Sound.register({fileName:"quickFixes.mp3"});Sound.taskCompleted=Sound.register({fileName:"taskCompleted.mp3"});Sound.taskFailed=Sound.register({fileName:"taskFailed.mp3"});Sound.terminalBell=Sound.register({fileName:"terminalBell.mp3"});Sound.diffLineInserted=Sound.register({fileName:"diffLineInserted.mp3"});Sound.diffLineDeleted=Sound.register({fileName:"diffLineDeleted.mp3"});Sound.diffLineModified=Sound.register({fileName:"diffLineModified.mp3"});Sound.chatRequestSent=Sound.register({fileName:"chatRequestSent.mp3"});Sound.chatResponsePending=Sound.register({fileName:"chatResponsePending.mp3"});Sound.chatResponseReceived1=Sound.register({fileName:"chatResponseReceived1.mp3"});Sound.chatResponseReceived2=Sound.register({fileName:"chatResponseReceived2.mp3"});Sound.chatResponseReceived3=Sound.register({fileName:"chatResponseReceived3.mp3"});Sound.chatResponseReceived4=Sound.register({fileName:"chatResponseReceived4.mp3"});Sound.clear=Sound.register({fileName:"clear.mp3"});Sound.save=Sound.register({fileName:"save.mp3"});Sound.format=Sound.register({fileName:"format.mp3"});Sound.voiceRecordingStarted=Sound.register({fileName:"voiceRecordingStarted.mp3"});Sound.voiceRecordingStopped=Sound.register({fileName:"voiceRecordingStopped.mp3"});class SoundSource{constructor(e){this.randomOneOf=e}}class AccessibilitySignal{static register(e){const t=new SoundSource("randomOneOf"in e.sound?e.sound.randomOneOf:[e.sound]),i=new AccessibilitySignal(t,e.name,e.legacySoundSettingsKey,e.settingsKey,e.legacyAnnouncementSettingsKey,e.announcementMessage);return AccessibilitySignal._signals.add(i),i}constructor(e,t,i,r,g,y){this.sound=e,this.name=t,this.legacySoundSettingsKey=i,this.settingsKey=r,this.legacyAnnouncementSettingsKey=g,this.announcementMessage=y}}AccessibilitySignal._signals=new Set;AccessibilitySignal.error=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasError.name","Error on Line"),sound:Sound.error,legacySoundSettingsKey:"audioCues.lineHasError",legacyAnnouncementSettingsKey:"accessibility.alert.error",announcementMessage:localize("accessibility.signals.lineHasError","Error"),settingsKey:"accessibility.signals.lineHasError"});AccessibilitySignal.warning=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasWarning.name","Warning on Line"),sound:Sound.warning,legacySoundSettingsKey:"audioCues.lineHasWarning",legacyAnnouncementSettingsKey:"accessibility.alert.warning",announcementMessage:localize("accessibility.signals.lineHasWarning","Warning"),settingsKey:"accessibility.signals.lineHasWarning"});AccessibilitySignal.foldedArea=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasFoldedArea.name","Folded Area on Line"),sound:Sound.foldedArea,legacySoundSettingsKey:"audioCues.lineHasFoldedArea",legacyAnnouncementSettingsKey:"accessibility.alert.foldedArea",announcementMessage:localize("accessibility.signals.lineHasFoldedArea","Folded"),settingsKey:"accessibility.signals.lineHasFoldedArea"});AccessibilitySignal.break=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasBreakpoint.name","Breakpoint on Line"),sound:Sound.break,legacySoundSettingsKey:"audioCues.lineHasBreakpoint",legacyAnnouncementSettingsKey:"accessibility.alert.breakpoint",announcementMessage:localize("accessibility.signals.lineHasBreakpoint","Breakpoint"),settingsKey:"accessibility.signals.lineHasBreakpoint"});AccessibilitySignal.inlineSuggestion=AccessibilitySignal.register({name:localize("accessibilitySignals.lineHasInlineSuggestion.name","Inline Suggestion on Line"),sound:Sound.quickFixes,legacySoundSettingsKey:"audioCues.lineHasInlineSuggestion",settingsKey:"accessibility.signals.lineHasInlineSuggestion"});AccessibilitySignal.terminalQuickFix=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalQuickFix.name","Terminal Quick Fix"),sound:Sound.quickFixes,legacySoundSettingsKey:"audioCues.terminalQuickFix",legacyAnnouncementSettingsKey:"accessibility.alert.terminalQuickFix",announcementMessage:localize("accessibility.signals.terminalQuickFix","Quick Fix"),settingsKey:"accessibility.signals.terminalQuickFix"});AccessibilitySignal.onDebugBreak=AccessibilitySignal.register({name:localize("accessibilitySignals.onDebugBreak.name","Debugger Stopped on Breakpoint"),sound:Sound.break,legacySoundSettingsKey:"audioCues.onDebugBreak",legacyAnnouncementSettingsKey:"accessibility.alert.onDebugBreak",announcementMessage:localize("accessibility.signals.onDebugBreak","Breakpoint"),settingsKey:"accessibility.signals.onDebugBreak"});AccessibilitySignal.noInlayHints=AccessibilitySignal.register({name:localize("accessibilitySignals.noInlayHints","No Inlay Hints on Line"),sound:Sound.error,legacySoundSettingsKey:"audioCues.noInlayHints",legacyAnnouncementSettingsKey:"accessibility.alert.noInlayHints",announcementMessage:localize("accessibility.signals.noInlayHints","No Inlay Hints"),settingsKey:"accessibility.signals.noInlayHints"});AccessibilitySignal.taskCompleted=AccessibilitySignal.register({name:localize("accessibilitySignals.taskCompleted","Task Completed"),sound:Sound.taskCompleted,legacySoundSettingsKey:"audioCues.taskCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.taskCompleted",announcementMessage:localize("accessibility.signals.taskCompleted","Task Completed"),settingsKey:"accessibility.signals.taskCompleted"});AccessibilitySignal.taskFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.taskFailed","Task Failed"),sound:Sound.taskFailed,legacySoundSettingsKey:"audioCues.taskFailed",legacyAnnouncementSettingsKey:"accessibility.alert.taskFailed",announcementMessage:localize("accessibility.signals.taskFailed","Task Failed"),settingsKey:"accessibility.signals.taskFailed"});AccessibilitySignal.terminalCommandFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalCommandFailed","Terminal Command Failed"),sound:Sound.error,legacySoundSettingsKey:"audioCues.terminalCommandFailed",legacyAnnouncementSettingsKey:"accessibility.alert.terminalCommandFailed",announcementMessage:localize("accessibility.signals.terminalCommandFailed","Command Failed"),settingsKey:"accessibility.signals.terminalCommandFailed"});AccessibilitySignal.terminalBell=AccessibilitySignal.register({name:localize("accessibilitySignals.terminalBell","Terminal Bell"),sound:Sound.terminalBell,legacySoundSettingsKey:"audioCues.terminalBell",legacyAnnouncementSettingsKey:"accessibility.alert.terminalBell",announcementMessage:localize("accessibility.signals.terminalBell","Terminal Bell"),settingsKey:"accessibility.signals.terminalBell"});AccessibilitySignal.notebookCellCompleted=AccessibilitySignal.register({name:localize("accessibilitySignals.notebookCellCompleted","Notebook Cell Completed"),sound:Sound.taskCompleted,legacySoundSettingsKey:"audioCues.notebookCellCompleted",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellCompleted",announcementMessage:localize("accessibility.signals.notebookCellCompleted","Notebook Cell Completed"),settingsKey:"accessibility.signals.notebookCellCompleted"});AccessibilitySignal.notebookCellFailed=AccessibilitySignal.register({name:localize("accessibilitySignals.notebookCellFailed","Notebook Cell Failed"),sound:Sound.taskFailed,legacySoundSettingsKey:"audioCues.notebookCellFailed",legacyAnnouncementSettingsKey:"accessibility.alert.notebookCellFailed",announcementMessage:localize("accessibility.signals.notebookCellFailed","Notebook Cell Failed"),settingsKey:"accessibility.signals.notebookCellFailed"});AccessibilitySignal.diffLineInserted=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineInserted","Diff Line Inserted"),sound:Sound.diffLineInserted,legacySoundSettingsKey:"audioCues.diffLineInserted",settingsKey:"accessibility.signals.diffLineInserted"});AccessibilitySignal.diffLineDeleted=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineDeleted","Diff Line Deleted"),sound:Sound.diffLineDeleted,legacySoundSettingsKey:"audioCues.diffLineDeleted",settingsKey:"accessibility.signals.diffLineDeleted"});AccessibilitySignal.diffLineModified=AccessibilitySignal.register({name:localize("accessibilitySignals.diffLineModified","Diff Line Modified"),sound:Sound.diffLineModified,legacySoundSettingsKey:"audioCues.diffLineModified",settingsKey:"accessibility.signals.diffLineModified"});AccessibilitySignal.chatRequestSent=AccessibilitySignal.register({name:localize("accessibilitySignals.chatRequestSent","Chat Request Sent"),sound:Sound.chatRequestSent,legacySoundSettingsKey:"audioCues.chatRequestSent",legacyAnnouncementSettingsKey:"accessibility.alert.chatRequestSent",announcementMessage:localize("accessibility.signals.chatRequestSent","Chat Request Sent"),settingsKey:"accessibility.signals.chatRequestSent"});AccessibilitySignal.chatResponseReceived=AccessibilitySignal.register({name:localize("accessibilitySignals.chatResponseReceived","Chat Response Received"),legacySoundSettingsKey:"audioCues.chatResponseReceived",sound:{randomOneOf:[Sound.chatResponseReceived1,Sound.chatResponseReceived2,Sound.chatResponseReceived3,Sound.chatResponseReceived4]},settingsKey:"accessibility.signals.chatResponseReceived"});AccessibilitySignal.chatResponsePending=AccessibilitySignal.register({name:localize("accessibilitySignals.chatResponsePending","Chat Response Pending"),sound:Sound.chatResponsePending,legacySoundSettingsKey:"audioCues.chatResponsePending",legacyAnnouncementSettingsKey:"accessibility.alert.chatResponsePending",announcementMessage:localize("accessibility.signals.chatResponsePending","Chat Response Pending"),settingsKey:"accessibility.signals.chatResponsePending"});AccessibilitySignal.clear=AccessibilitySignal.register({name:localize("accessibilitySignals.clear","Clear"),sound:Sound.clear,legacySoundSettingsKey:"audioCues.clear",legacyAnnouncementSettingsKey:"accessibility.alert.clear",announcementMessage:localize("accessibility.signals.clear","Clear"),settingsKey:"accessibility.signals.clear"});AccessibilitySignal.save=AccessibilitySignal.register({name:localize("accessibilitySignals.save","Save"),sound:Sound.save,legacySoundSettingsKey:"audioCues.save",legacyAnnouncementSettingsKey:"accessibility.alert.save",announcementMessage:localize("accessibility.signals.save","Save"),settingsKey:"accessibility.signals.save"});AccessibilitySignal.format=AccessibilitySignal.register({name:localize("accessibilitySignals.format","Format"),sound:Sound.format,legacySoundSettingsKey:"audioCues.format",legacyAnnouncementSettingsKey:"accessibility.alert.format",announcementMessage:localize("accessibility.signals.format","Format"),settingsKey:"accessibility.signals.format"});AccessibilitySignal.voiceRecordingStarted=AccessibilitySignal.register({name:localize("accessibilitySignals.voiceRecordingStarted","Voice Recording Started"),sound:Sound.voiceRecordingStarted,legacySoundSettingsKey:"audioCues.voiceRecordingStarted",settingsKey:"accessibility.signals.voiceRecordingStarted"});AccessibilitySignal.voiceRecordingStopped=AccessibilitySignal.register({name:localize("accessibilitySignals.voiceRecordingStopped","Voice Recording Stopped"),sound:Sound.voiceRecordingStopped,legacySoundSettingsKey:"audioCues.voiceRecordingStopped",settingsKey:"accessibility.signals.voiceRecordingStopped"});class LogService extends Disposable{constructor(e,t=[]){super(),this.logger=new MultiplexLogger([e,...t]),this._register(e.onDidChangeLogLevel(i=>this.setLevel(i)))}get onDidChangeLogLevel(){return this.logger.onDidChangeLogLevel}setLevel(e){this.logger.setLevel(e)}getLevel(){return this.logger.getLevel()}trace(e,...t){this.logger.trace(e,...t)}debug(e,...t){this.logger.debug(e,...t)}info(e,...t){this.logger.info(e,...t)}warn(e,...t){this.logger.warn(e,...t)}error(e,...t){this.logger.error(e,...t)}}const editorFeatures=[];function registerEditorFeature(n){editorFeatures.push(n)}function getEditorFeatures(){return editorFeatures.slice(0)}var __decorate$1N=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1J=function(n,e){return function(t,i){e(t,i,n)}};class SimpleModel{constructor(e){this.disposed=!1,this.model=e,this._onWillDispose=new Emitter$1}get textEditorModel(){return this.model}dispose(){this.disposed=!0,this._onWillDispose.fire()}}let StandaloneTextModelService=class{constructor(e){this.modelService=e}createModelReference(e){const t=this.modelService.getModel(e);return t?Promise.resolve(new ImmortalReference(new SimpleModel(t))):Promise.reject(new Error("Model not found"))}};StandaloneTextModelService=__decorate$1N([__param$1J(0,IModelService)],StandaloneTextModelService);class StandaloneEditorProgressService{show(){return StandaloneEditorProgressService.NULL_PROGRESS_RUNNER}async showWhile(e,t){await e}}StandaloneEditorProgressService.NULL_PROGRESS_RUNNER={done:()=>{},total:()=>{},worked:()=>{}};class StandaloneProgressService{withProgress(e,t,i){return t({report:()=>{}})}}class StandaloneEnvironmentService{constructor(){this.isExtensionDevelopment=!1,this.isBuilt=!1}}class StandaloneDialogService{async confirm(e){return{confirmed:this.doConfirm(e.message,e.detail),checkboxChecked:!1}}doConfirm(e,t){let i=e;return t&&(i=i+"\n\n"+t),mainWindow.confirm(i)}async prompt(e){var t,i;let r;if(this.doConfirm(e.message,e.detail)){const y=[...(t=e.buttons)!==null&&t!==void 0?t:[]];e.cancelButton&&typeof e.cancelButton!="string"&&typeof e.cancelButton!="boolean"&&y.push(e.cancelButton),r=await((i=y[0])===null||i===void 0?void 0:i.run({checkboxChecked:!1}))}return{result:r}}async error(e,t){await this.prompt({type:Severity$2.Error,message:e,detail:t})}}class StandaloneNotificationService{info(e){return this.notify({severity:Severity$2.Info,message:e})}warn(e){return this.notify({severity:Severity$2.Warning,message:e})}error(e){return this.notify({severity:Severity$2.Error,message:e})}notify(e){switch(e.severity){case Severity$2.Error:console.error(e.message);break;case Severity$2.Warning:console.warn(e.message);break;default:console.log(e.message);break}return StandaloneNotificationService.NO_OP}prompt(e,t,i,r){return StandaloneNotificationService.NO_OP}status(e,t){return Disposable.None}}StandaloneNotificationService.NO_OP=new NoOpNotification;let StandaloneCommandService=class{constructor(e){this._onWillExecuteCommand=new Emitter$1,this._onDidExecuteCommand=new Emitter$1,this.onDidExecuteCommand=this._onDidExecuteCommand.event,this._instantiationService=e}executeCommand(e,...t){const i=CommandsRegistry.getCommand(e);if(!i)return Promise.reject(new Error("command '".concat(e,"' not found")));try{this._onWillExecuteCommand.fire({commandId:e,args:t});const r=this._instantiationService.invokeFunction.apply(this._instantiationService,[i.handler,...t]);return this._onDidExecuteCommand.fire({commandId:e,args:t}),Promise.resolve(r)}catch(r){return Promise.reject(r)}}};StandaloneCommandService=__decorate$1N([__param$1J(0,IInstantiationService)],StandaloneCommandService);let StandaloneKeybindingService=class extends AbstractKeybindingService{constructor(e,t,i,r,g,y){super(e,t,i,r,g),this._cachedResolver=null,this._dynamicKeybindings=[],this._domNodeListeners=[];const k=oe=>{const re=new DisposableStore;re.add(addDisposableListener(oe,EventType$1.KEY_DOWN,ae=>{const le=new StandardKeyboardEvent(ae);this._dispatch(le,le.target)&&(le.preventDefault(),le.stopPropagation())})),re.add(addDisposableListener(oe,EventType$1.KEY_UP,ae=>{const le=new StandardKeyboardEvent(ae);this._singleModifierDispatch(le,le.target)&&le.preventDefault()})),this._domNodeListeners.push(new DomNodeListeners(oe,re))},L=oe=>{for(let re=0;re{oe.getOption(61)||k(oe.getContainerDomNode())},z=oe=>{oe.getOption(61)||L(oe.getContainerDomNode())};this._register(y.onCodeEditorAdd(V)),this._register(y.onCodeEditorRemove(z)),y.listCodeEditors().forEach(V);const j=oe=>{k(oe.getContainerDomNode())},ie=oe=>{L(oe.getContainerDomNode())};this._register(y.onDiffEditorAdd(j)),this._register(y.onDiffEditorRemove(ie)),y.listDiffEditors().forEach(j)}addDynamicKeybinding(e,t,i,r){return combinedDisposable(CommandsRegistry.registerCommand(e,i),this.addDynamicKeybindings([{keybinding:t,command:e,when:r}]))}addDynamicKeybindings(e){const t=e.map(i=>{var r;return{keybinding:decodeKeybinding(i.keybinding,OS),command:(r=i.command)!==null&&r!==void 0?r:null,commandArgs:i.commandArgs,when:i.when,weight1:1e3,weight2:0,extensionId:null,isBuiltinExtension:!1}});return this._dynamicKeybindings=this._dynamicKeybindings.concat(t),this.updateResolver(),toDisposable(()=>{for(let i=0;ithis._log(i))}return this._cachedResolver}_documentHasFocus(){return mainWindow.document.hasFocus()}_toNormalizedKeybindingItems(e,t){const i=[];let r=0;for(const g of e){const y=g.when||void 0,k=g.keybinding;if(!k)i[r++]=new ResolvedKeybindingItem(void 0,g.command,g.commandArgs,y,t,null,!1);else{const L=USLayoutResolvedKeybinding.resolveKeybinding(k,OS);for(const V of L)i[r++]=new ResolvedKeybindingItem(V,g.command,g.commandArgs,y,t,null,!1)}}return i}resolveKeyboardEvent(e){const t=new KeyCodeChord(e.ctrlKey,e.shiftKey,e.altKey,e.metaKey,e.keyCode);return new USLayoutResolvedKeybinding([t],OS)}};StandaloneKeybindingService=__decorate$1N([__param$1J(0,IContextKeyService),__param$1J(1,ICommandService),__param$1J(2,ITelemetryService),__param$1J(3,INotificationService),__param$1J(4,ILogService),__param$1J(5,ICodeEditorService)],StandaloneKeybindingService);class DomNodeListeners extends Disposable{constructor(e,t){super(),this.domNode=e,this._register(t)}}function isConfigurationOverrides(n){return n&&typeof n=="object"&&(!n.overrideIdentifier||typeof n.overrideIdentifier=="string")&&(!n.resource||n.resource instanceof URI)}class StandaloneConfigurationService{constructor(){this._onDidChangeConfiguration=new Emitter$1,this.onDidChangeConfiguration=this._onDidChangeConfiguration.event;const e=new DefaultConfiguration;this._configuration=new Configuration(e.reload(),new ConfigurationModel,new ConfigurationModel,new ConfigurationModel),e.dispose()}getValue(e,t){const i=typeof e=="string"?e:void 0,r=isConfigurationOverrides(e)?e:isConfigurationOverrides(t)?t:{};return this._configuration.getValue(i,r,void 0)}updateValues(e){const t={data:this._configuration.toData()},i=[];for(const r of e){const[g,y]=r;this.getValue(g)!==y&&(this._configuration.updateValue(g,y),i.push(g))}if(i.length>0){const r=new ConfigurationChangeEvent({keys:i,overrides:[]},t,this._configuration);r.source=8,this._onDidChangeConfiguration.fire(r)}return Promise.resolve()}updateValue(e,t,i,r){return this.updateValues([[e,t]])}inspect(e,t={}){return this._configuration.inspect(e,t,void 0)}}let StandaloneResourceConfigurationService=class{constructor(e,t,i){this.configurationService=e,this.modelService=t,this.languageService=i,this._onDidChangeConfiguration=new Emitter$1,this.configurationService.onDidChangeConfiguration(r=>{this._onDidChangeConfiguration.fire({affectedKeys:r.affectedKeys,affectsConfiguration:(g,y)=>r.affectsConfiguration(y)})})}getValue(e,t,i){const r=Position$1.isIPosition(t)?t:null,g=r?typeof i=="string"?i:void 0:typeof t=="string"?t:void 0,y=e?this.getLanguage(e,r):void 0;return typeof g>"u"?this.configurationService.getValue({resource:e,overrideIdentifier:y}):this.configurationService.getValue(g,{resource:e,overrideIdentifier:y})}getLanguage(e,t){const i=this.modelService.getModel(e);return i?t?i.getLanguageIdAtPosition(t.lineNumber,t.column):i.getLanguageId():this.languageService.guessLanguageIdByFilepathOrFirstLine(e)}};StandaloneResourceConfigurationService=__decorate$1N([__param$1J(0,IConfigurationService),__param$1J(1,IModelService),__param$1J(2,ILanguageService)],StandaloneResourceConfigurationService);let StandaloneResourcePropertiesService=class{constructor(e){this.configurationService=e}getEOL(e,t){const i=this.configurationService.getValue("files.eol",{overrideIdentifier:t,resource:e});return i&&typeof i=="string"&&i!=="auto"?i:isLinux||isMacintosh?"\n":"\r\n"}};StandaloneResourcePropertiesService=__decorate$1N([__param$1J(0,IConfigurationService)],StandaloneResourcePropertiesService);class StandaloneTelemetryService{publicLog2(){}}class StandaloneWorkspaceContextService{constructor(){const e=URI.from({scheme:StandaloneWorkspaceContextService.SCHEME,authority:"model",path:"/"});this.workspace={id:STANDALONE_EDITOR_WORKSPACE_ID,folders:[new WorkspaceFolder({uri:e,name:"",index:0})]}}getWorkspace(){return this.workspace}getWorkspaceFolder(e){return e&&e.scheme===StandaloneWorkspaceContextService.SCHEME?this.workspace.folders[0]:null}}StandaloneWorkspaceContextService.SCHEME="inmemory";function updateConfigurationService(n,e,t){if(!e||!(n instanceof StandaloneConfigurationService))return;const i=[];Object.keys(e).forEach(r=>{isEditorConfigurationKey(r)&&i.push(["editor.".concat(r),e[r]]),t&&isDiffEditorConfigurationKey(r)&&i.push(["diffEditor.".concat(r),e[r]])}),i.length>0&&n.updateValues(i)}let StandaloneBulkEditService=class{constructor(e){this._modelService=e}hasPreviewHandler(){return!1}async apply(e,t){const i=Array.isArray(e)?e:ResourceEdit.convert(e),r=new Map;for(const k of i){if(!(k instanceof ResourceTextEdit))throw new Error("bad edit - only text edits are supported");const L=this._modelService.getModel(k.resource);if(!L)throw new Error("bad edit - model not found");if(typeof k.versionId=="number"&&L.getVersionId()!==k.versionId)throw new Error("bad state - model changed in the meantime");let V=r.get(L);V||(V=[],r.set(L,V)),V.push(EditOperation.replaceMove(Range$2.lift(k.textEdit.range),k.textEdit.text))}let g=0,y=0;for(const[k,L]of r)k.pushStackElement(),k.pushEditOperations([],L,()=>[]),k.pushStackElement(),y+=1,g+=L.length;return{ariaSummary:format(StandaloneServicesNLS.bulkEditServiceSummary,g,y),isApplied:g>0}}};StandaloneBulkEditService=__decorate$1N([__param$1J(0,IModelService)],StandaloneBulkEditService);class StandaloneUriLabelService{getUriLabel(e,t){return e.scheme==="file"?e.fsPath:e.path}getUriBasenameLabel(e){return basename(e)}}let StandaloneContextViewService=class extends ContextViewService{constructor(e,t){super(e),this._codeEditorService=t}showContextView(e,t,i){if(!t){const r=this._codeEditorService.getFocusedCodeEditor()||this._codeEditorService.getActiveCodeEditor();r&&(t=r.getContainerDomNode())}return super.showContextView(e,t,i)}};StandaloneContextViewService=__decorate$1N([__param$1J(0,ILayoutService),__param$1J(1,ICodeEditorService)],StandaloneContextViewService);class StandaloneWorkspaceTrustManagementService{constructor(){this._neverEmitter=new Emitter$1,this.onDidChangeTrust=this._neverEmitter.event}isWorkspaceTrusted(){return!0}}class StandaloneLanguageService extends LanguageService{constructor(){super()}}class StandaloneLogService extends LogService{constructor(){super(new ConsoleLogger)}}let StandaloneContextMenuService=class extends ContextMenuService{constructor(e,t,i,r,g,y){super(e,t,i,r,g,y),this.configure({blockMouse:!1})}};StandaloneContextMenuService=__decorate$1N([__param$1J(0,ITelemetryService),__param$1J(1,INotificationService),__param$1J(2,IContextViewService),__param$1J(3,IKeybindingService),__param$1J(4,IMenuService),__param$1J(5,IContextKeyService)],StandaloneContextMenuService);class StandaloneAccessbilitySignalService{async playSignal(e,t){}}registerSingleton(IConfigurationService,StandaloneConfigurationService,0);registerSingleton(ITextResourceConfigurationService,StandaloneResourceConfigurationService,0);registerSingleton(ITextResourcePropertiesService,StandaloneResourcePropertiesService,0);registerSingleton(IWorkspaceContextService,StandaloneWorkspaceContextService,0);registerSingleton(ILabelService,StandaloneUriLabelService,0);registerSingleton(ITelemetryService,StandaloneTelemetryService,0);registerSingleton(IDialogService,StandaloneDialogService,0);registerSingleton(IEnvironmentService,StandaloneEnvironmentService,0);registerSingleton(INotificationService,StandaloneNotificationService,0);registerSingleton(IMarkerService,MarkerService,0);registerSingleton(ILanguageService,StandaloneLanguageService,0);registerSingleton(IStandaloneThemeService,StandaloneThemeService,0);registerSingleton(ILogService,StandaloneLogService,0);registerSingleton(IModelService,ModelService,0);registerSingleton(IMarkerDecorationsService,MarkerDecorationsService,0);registerSingleton(IContextKeyService,ContextKeyService,0);registerSingleton(IProgressService,StandaloneProgressService,0);registerSingleton(IEditorProgressService,StandaloneEditorProgressService,0);registerSingleton(IStorageService,InMemoryStorageService,0);registerSingleton(IEditorWorkerService,EditorWorkerService,0);registerSingleton(IBulkEditService,StandaloneBulkEditService,0);registerSingleton(IWorkspaceTrustManagementService,StandaloneWorkspaceTrustManagementService,0);registerSingleton(ITextModelService,StandaloneTextModelService,0);registerSingleton(IAccessibilityService,AccessibilityService,0);registerSingleton(IListService,ListService,0);registerSingleton(ICommandService,StandaloneCommandService,0);registerSingleton(IKeybindingService,StandaloneKeybindingService,0);registerSingleton(IQuickInputService,StandaloneQuickInputService,0);registerSingleton(IContextViewService,StandaloneContextViewService,0);registerSingleton(IOpenerService,OpenerService,0);registerSingleton(IClipboardService,BrowserClipboardService,0);registerSingleton(IContextMenuService,StandaloneContextMenuService,0);registerSingleton(IMenuService,MenuService,0);registerSingleton(IAccessibilitySignalService,StandaloneAccessbilitySignalService,0);var StandaloneServices;(function(n){const e=new ServiceCollection;for(const[L,V]of getSingletonServiceDescriptors())e.set(L,V);const t=new InstantiationService(e,!0);e.set(IInstantiationService,t);function i(L){r||y({});const V=e.get(L);if(!V)throw new Error("Missing service "+L);return V instanceof SyncDescriptor?t.invokeFunction(z=>z.get(L)):V}n.get=i;let r=!1;const g=new Emitter$1;function y(L){if(r)return t;r=!0;for(const[z,j]of getSingletonServiceDescriptors())e.get(z)||e.set(z,j);for(const z in L)if(L.hasOwnProperty(z)){const j=createDecorator(z);e.get(j)instanceof SyncDescriptor&&e.set(j,L[z])}const V=getEditorFeatures();for(const z of V)try{t.createInstance(z)}catch(j){onUnexpectedError(j)}return g.fire(),t}n.initialize=y;function k(L){if(r)return L();const V=new DisposableStore,z=V.add(g.event(()=>{z.dispose(),V.add(L())}));return V}n.withServices=k})(StandaloneServices||(StandaloneServices={}));class StableEditorScrollState{static capture(e){if(e.getScrollTop()===0||e.hasPendingScrollAnimation())return new StableEditorScrollState(e.getScrollTop(),e.getContentHeight(),null,0,null);let t=null,i=0;const r=e.getVisibleRanges();if(r.length>0){t=r[0].getStartPosition();const g=e.getTopForPosition(t.lineNumber,t.column);i=e.getScrollTop()-g}return new StableEditorScrollState(e.getScrollTop(),e.getContentHeight(),t,i,e.getPosition())}constructor(e,t,i,r,g){this._initialScrollTop=e,this._initialContentHeight=t,this._visiblePosition=i,this._visiblePositionScrollDelta=r,this._cursorPosition=g}restore(e){if(!(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())&&this._visiblePosition){const t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){if(this._initialContentHeight===e.getContentHeight()&&this._initialScrollTop===e.getScrollTop())return;const t=e.getPosition();if(!this._cursorPosition||!t)return;const i=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+i)}}function isHotReloadEnabled(){return env&&!!env.VSCODE_DEV}function registerHotReloadHandler(n){if(isHotReloadEnabled()){const e=registerGlobalHotReloadHandler();return e.add(n),{dispose(){e.delete(n)}}}else return{dispose(){}}}function registerGlobalHotReloadHandler(){hotReloadHandlers||(hotReloadHandlers=new Set);const n=globalThis;return n.$hotReload_applyNewExports||(n.$hotReload_applyNewExports=e=>{const t={config:{mode:void 0},...e};for(const i of hotReloadHandlers){const r=i(t);if(r)return r}}),hotReloadHandlers}let hotReloadHandlers;isHotReloadEnabled()&®isterHotReloadHandler(({oldExports:n,newSrc:e,config:t})=>{if(t.mode==="patch-prototype")return i=>{var r,g;for(const y in i){const k=i[y];if(console.log("[hot-reload] Patching prototype methods of '".concat(y,"'"),{exportedItem:k}),typeof k=="function"&&k.prototype){const L=n[y];if(L){for(const V of Object.getOwnPropertyNames(k.prototype)){const z=Object.getOwnPropertyDescriptor(k.prototype,V),j=Object.getOwnPropertyDescriptor(L.prototype,V);((r=z==null?void 0:z.value)===null||r===void 0?void 0:r.toString())!==((g=j==null?void 0:j.value)===null||g===void 0?void 0:g.toString())&&console.log("[hot-reload] Patching prototype method '".concat(y,".").concat(V,"'")),Object.defineProperty(L.prototype,V,z)}i[y]=L}}}return!0}});function joinCombine(n,e,t,i){if(n.length===0)return e;if(e.length===0)return n;const r=[];let g=0,y=0;for(;gz?(r.push(L),y++):(r.push(i(k,L)),g++,y++)}for(;g"Apply decorations from ".concat(e.debugName)},r=>{const g=e.read(r);i.set(g)})),t.add({dispose:()=>{i.clear()}}),t}function appendRemoveOnDispose(n,e){return n.appendChild(e),toDisposable(()=>{n.removeChild(e)})}function prependRemoveOnDispose(n,e){return n.prepend(e),toDisposable(()=>{n.removeChild(e)})}class ObservableElementSizeObserver extends Disposable{get width(){return this._width}get height(){return this._height}constructor(e,t){super(),this.elementSizeObserver=this._register(new ElementSizeObserver(e,t)),this._width=observableValue(this,this.elementSizeObserver.getWidth()),this._height=observableValue(this,this.elementSizeObserver.getHeight()),this._register(this.elementSizeObserver.onDidChange(i=>transaction(r=>{this._width.set(this.elementSizeObserver.getWidth(),r),this._height.set(this.elementSizeObserver.getHeight(),r)})))}observe(e){this.elementSizeObserver.observe(e)}setAutomaticLayout(e){e?this.elementSizeObserver.startObserving():this.elementSizeObserver.stopObserving()}}function animatedObservable(n,e,t){let i=e.get(),r=i,g=i;const y=observableValue("animatedValue",i);let k=-1;const L=300;let V;t.add(autorunHandleChanges({createEmptyChangeSummary:()=>({animate:!1}),handleChange:(j,ie)=>(j.didChange(e)&&(ie.animate=ie.animate||j.change),!0)},(j,ie)=>{V!==void 0&&(n.cancelAnimationFrame(V),V=void 0),r=g,i=e.read(j),k=Date.now()-(ie.animate?0:L),z()}));function z(){const j=Date.now()-k;g=Math.floor(easeOutExpo(j,r,i-r,L)),j{this._actualTop.set(i,void 0)},this.onComputedHeight=i=>{this._actualHeight.set(i,void 0)}}}class ManagedOverlayWidget{constructor(e,t){this._editor=e,this._domElement=t,this._overlayWidgetId="managedOverlayWidget-".concat(ManagedOverlayWidget._counter++),this._overlayWidget={getId:()=>this._overlayWidgetId,getDomNode:()=>this._domElement,getPosition:()=>null},this._editor.addOverlayWidget(this._overlayWidget)}dispose(){this._editor.removeOverlayWidget(this._overlayWidget)}}ManagedOverlayWidget._counter=0;function applyStyle(n,e){return autorun(t=>{for(let[i,r]of Object.entries(e))r&&typeof r=="object"&&"read"in r&&(r=r.read(t)),typeof r=="number"&&(r="".concat(r,"px")),i=i.replace(/[A-Z]/g,g=>"-"+g.toLowerCase()),n.style[i]=r})}function readHotReloadableExport(n,e){return observeHotReloadableExports([n],e),n}function observeHotReloadableExports(n,e){isHotReloadEnabled()&&observableSignalFromEvent("reload",i=>registerHotReloadHandler(({oldExports:r})=>{if([...Object.values(r)].some(g=>n.includes(g)))return g=>(i(void 0),!0)})).read(e)}function applyViewZones(n,e,t,i){const r=new DisposableStore,g=[];return r.add(autorunWithStore((y,k)=>{const L=e.read(y),V=new Map,z=new Map;t&&t(!0),n.changeViewZones(j=>{for(const ie of g)j.removeZone(ie),i==null||i.delete(ie);g.length=0;for(const ie of L){const oe=j.addZone(ie);ie.setZoneId&&ie.setZoneId(oe),g.push(oe),i==null||i.add(oe),V.set(ie,oe)}}),t&&t(!1),k.add(autorunHandleChanges({createEmptyChangeSummary(){return{zoneIds:[]}},handleChange(j,ie){const oe=z.get(j.changedObservable);return oe!==void 0&&ie.zoneIds.push(oe),!0}},(j,ie)=>{for(const oe of L)oe.onChange&&(z.set(oe.onChange,V.get(oe)),oe.onChange.read(j));t&&t(!0),n.changeViewZones(oe=>{for(const re of ie.zoneIds)oe.layoutZone(re)}),t&&t(!1)}))})),r.add({dispose(){t&&t(!0),n.changeViewZones(y=>{for(const k of g)y.removeZone(k)}),i==null||i.clear(),t&&t(!1)}}),r}class DisposableCancellationTokenSource extends CancellationTokenSource$1{dispose(){super.dispose(!0)}}function translatePosition(n,e){const t=findLast$1(e,r=>r.original.startLineNumber<=n.lineNumber);if(!t)return Range$2.fromPositions(n);if(t.original.endLineNumberExclusive<=n.lineNumber){const r=n.lineNumber-t.original.endLineNumberExclusive+t.modified.endLineNumberExclusive;return Range$2.fromPositions(new Position$1(r,n.column))}if(!t.innerChanges)return Range$2.fromPositions(new Position$1(t.modified.startLineNumber,1));const i=findLast$1(t.innerChanges,r=>r.originalRange.getStartPosition().isBeforeOrEqual(n));if(!i){const r=n.lineNumber-t.original.startLineNumber+t.modified.startLineNumber;return Range$2.fromPositions(new Position$1(r,n.column))}if(i.originalRange.containsPosition(n))return i.modifiedRange;{const r=lengthBetweenPositions(i.originalRange.getEndPosition(),n);return Range$2.fromPositions(r.addToPosition(i.modifiedRange.getEndPosition()))}}function lengthBetweenPositions(n,e){return n.lineNumber===e.lineNumber?new TextLength(0,e.column-n.column):new TextLength(e.lineNumber-n.lineNumber,e.column-1)}function bindContextKey(n,e,t){const i=n.bindTo(e);return autorunOpts({debugName:()=>'Set Context Key "'.concat(n.key,'"')},r=>{i.set(t(r))})}function filterWithPrevious(n,e){let t;return n.filter(i=>{const r=e(i,t);return t=i,r})}var __decorate$1M=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1I=function(n,e){return function(t,i){e(t,i,n)}};const accessibleDiffViewerInsertIcon=registerIcon("diff-review-insert",Codicon.add,localize("accessibleDiffViewerInsertIcon","Icon for 'Insert' in accessible diff viewer.")),accessibleDiffViewerRemoveIcon=registerIcon("diff-review-remove",Codicon.remove,localize("accessibleDiffViewerRemoveIcon","Icon for 'Remove' in accessible diff viewer.")),accessibleDiffViewerCloseIcon=registerIcon("diff-review-close",Codicon.close,localize("accessibleDiffViewerCloseIcon","Icon for 'Close' in accessible diff viewer."));let AccessibleDiffViewer=class extends Disposable{constructor(e,t,i,r,g,y,k,L,V){super(),this._parentNode=e,this._visible=t,this._setVisible=i,this._canClose=r,this._width=g,this._height=y,this._diffs=k,this._models=L,this._instantiationService=V,this._state=derivedWithStore(this,(z,j)=>{const ie=this._visible.read(z);if(this._parentNode.style.visibility=ie?"visible":"hidden",!ie)return null;const oe=j.add(this._instantiationService.createInstance(ViewModel,this._diffs,this._models,this._setVisible,this._canClose)),re=j.add(this._instantiationService.createInstance(View,this._parentNode,oe,this._width,this._height,this._models));return{model:oe,view:re}}).recomputeInitiallyAndOnChange(this._store)}next(){transaction(e=>{const t=this._visible.get();this._setVisible(!0,e),t&&this._state.get().model.nextGroup(e)})}prev(){transaction(e=>{this._setVisible(!0,e),this._state.get().model.previousGroup(e)})}close(){transaction(e=>{this._setVisible(!1,e)})}};AccessibleDiffViewer._ttPolicy=createTrustedTypesPolicy("diffReview",{createHTML:n=>n});AccessibleDiffViewer=__decorate$1M([__param$1I(8,IInstantiationService)],AccessibleDiffViewer);let ViewModel=class extends Disposable{constructor(e,t,i,r,g){super(),this._diffs=e,this._models=t,this._setVisible=i,this.canClose=r,this._accessibilitySignalService=g,this._groups=observableValue(this,[]),this._currentGroupIdx=observableValue(this,0),this._currentElementIdx=observableValue(this,0),this.groups=this._groups,this.currentGroup=this._currentGroupIdx.map((y,k)=>this._groups.read(k)[y]),this.currentGroupIndex=this._currentGroupIdx,this.currentElement=this._currentElementIdx.map((y,k)=>{var L;return(L=this.currentGroup.read(k))===null||L===void 0?void 0:L.lines[y]}),this._register(autorun(y=>{const k=this._diffs.read(y);if(!k){this._groups.set([],void 0);return}const L=computeViewElementGroups(k,this._models.getOriginalModel().getLineCount(),this._models.getModifiedModel().getLineCount());transaction(V=>{const z=this._models.getModifiedPosition();if(z){const j=L.findIndex(ie=>(z==null?void 0:z.lineNumber){const k=this.currentElement.read(y);(k==null?void 0:k.type)===LineType.Deleted?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineDeleted,{source:"accessibleDiffViewer.currentElementChanged"}):(k==null?void 0:k.type)===LineType.Added&&this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineInserted,{source:"accessibleDiffViewer.currentElementChanged"})})),this._register(autorun(y=>{var k;const L=this.currentElement.read(y);if(L&&L.type!==LineType.Header){const V=(k=L.modifiedLineNumber)!==null&&k!==void 0?k:L.diff.modified.startLineNumber;this._models.modifiedSetSelection(Range$2.fromPositions(new Position$1(V,1)))}}))}_goToGroupDelta(e,t){const i=this.groups.get();!i||i.length<=1||subtransaction(t,r=>{this._currentGroupIdx.set(OffsetRange.ofLength(i.length).clipCyclic(this._currentGroupIdx.get()+e),r),this._currentElementIdx.set(0,r)})}nextGroup(e){this._goToGroupDelta(1,e)}previousGroup(e){this._goToGroupDelta(-1,e)}_goToLineDelta(e){const t=this.currentGroup.get();!t||t.lines.length<=1||transaction(i=>{this._currentElementIdx.set(OffsetRange.ofLength(t.lines.length).clip(this._currentElementIdx.get()+e),i)})}goToNextLine(){this._goToLineDelta(1)}goToPreviousLine(){this._goToLineDelta(-1)}goToLine(e){const t=this.currentGroup.get();if(!t)return;const i=t.lines.indexOf(e);i!==-1&&transaction(r=>{this._currentElementIdx.set(i,r)})}revealCurrentElementInEditor(){if(!this.canClose.get())return;this._setVisible(!1,void 0);const e=this.currentElement.get();e&&(e.type===LineType.Deleted?this._models.originalReveal(Range$2.fromPositions(new Position$1(e.originalLineNumber,1))):this._models.modifiedReveal(e.type!==LineType.Header?Range$2.fromPositions(new Position$1(e.modifiedLineNumber,1)):void 0))}close(){this.canClose.get()&&(this._setVisible(!1,void 0),this._models.modifiedFocus())}};ViewModel=__decorate$1M([__param$1I(4,IAccessibilitySignalService)],ViewModel);const viewElementGroupLineMargin=3;function computeViewElementGroups(n,e,t){const i=[];for(const r of groupAdjacentBy(n,(g,y)=>y.modified.startLineNumber-g.modified.endLineNumberExclusive<2*viewElementGroupLineMargin)){const g=[];g.push(new HeaderViewElement);const y=new LineRange$1(Math.max(1,r[0].original.startLineNumber-viewElementGroupLineMargin),Math.min(r[r.length-1].original.endLineNumberExclusive+viewElementGroupLineMargin,e+1)),k=new LineRange$1(Math.max(1,r[0].modified.startLineNumber-viewElementGroupLineMargin),Math.min(r[r.length-1].modified.endLineNumberExclusive+viewElementGroupLineMargin,t+1));forEachAdjacent(r,(z,j)=>{const ie=new LineRange$1(z?z.original.endLineNumberExclusive:y.startLineNumber,j?j.original.startLineNumber:y.endLineNumberExclusive),oe=new LineRange$1(z?z.modified.endLineNumberExclusive:k.startLineNumber,j?j.modified.startLineNumber:k.endLineNumberExclusive);ie.forEach(re=>{g.push(new UnchangedLineViewElement(re,oe.startLineNumber+(re-ie.startLineNumber)))}),j&&(j.original.forEach(re=>{g.push(new DeletedLineViewElement(j,re))}),j.modified.forEach(re=>{g.push(new AddedLineViewElement(j,re))}))});const L=r[0].modified.join(r[r.length-1].modified),V=r[0].original.join(r[r.length-1].original);i.push(new ViewElementGroup(new LineRangeMapping(L,V),g))}return i}var LineType;(function(n){n[n.Header=0]="Header",n[n.Unchanged=1]="Unchanged",n[n.Deleted=2]="Deleted",n[n.Added=3]="Added"})(LineType||(LineType={}));class ViewElementGroup{constructor(e,t){this.range=e,this.lines=t}}class HeaderViewElement{constructor(){this.type=LineType.Header}}class DeletedLineViewElement{constructor(e,t){this.diff=e,this.originalLineNumber=t,this.type=LineType.Deleted,this.modifiedLineNumber=void 0}}class AddedLineViewElement{constructor(e,t){this.diff=e,this.modifiedLineNumber=t,this.type=LineType.Added,this.originalLineNumber=void 0}}class UnchangedLineViewElement{constructor(e,t){this.originalLineNumber=e,this.modifiedLineNumber=t,this.type=LineType.Unchanged}}let View=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._element=e,this._model=t,this._width=i,this._height=r,this._models=g,this._languageService=y,this.domNode=this._element,this.domNode.className="monaco-component diff-review monaco-editor-background";const k=document.createElement("div");k.className="diff-review-actions",this._actionBar=this._register(new ActionBar(k)),this._register(autorun(L=>{this._actionBar.clear(),this._model.canClose.read(L)&&this._actionBar.push(new Action("diffreview.close",localize("label.close","Close"),"close-diff-review "+ThemeIcon.asClassName(accessibleDiffViewerCloseIcon),!0,async()=>t.close()),{label:!1,icon:!0})})),this._content=document.createElement("div"),this._content.className="diff-review-content",this._content.setAttribute("role","code"),this._scrollbar=this._register(new DomScrollableElement(this._content,{})),reset(this.domNode,this._scrollbar.getDomNode(),k),this._register(autorun(L=>{this._height.read(L),this._width.read(L),this._scrollbar.scanDomNode()})),this._register(toDisposable(()=>{reset(this.domNode)})),this._register(applyStyle(this.domNode,{width:this._width,height:this._height})),this._register(applyStyle(this._content,{width:this._width,height:this._height})),this._register(autorunWithStore((L,V)=>{this._model.currentGroup.read(L),this._render(V)})),this._register(addStandardDisposableListener(this.domNode,"keydown",L=>{(L.equals(18)||L.equals(2066)||L.equals(530))&&(L.preventDefault(),this._model.goToNextLine()),(L.equals(16)||L.equals(2064)||L.equals(528))&&(L.preventDefault(),this._model.goToPreviousLine()),(L.equals(9)||L.equals(2057)||L.equals(521)||L.equals(1033))&&(L.preventDefault(),this._model.close()),(L.equals(10)||L.equals(3))&&(L.preventDefault(),this._model.revealCurrentElementInEditor())}))}_render(e){const t=this._models.getOriginalOptions(),i=this._models.getModifiedOptions(),r=document.createElement("div");r.className="diff-review-table",r.setAttribute("role","list"),r.setAttribute("aria-label",localize("ariaLabel","Accessible Diff Viewer. Use arrow up and down to navigate.")),applyFontInfo(r,i.get(50)),reset(this._content,r);const g=this._models.getOriginalModel(),y=this._models.getModifiedModel();if(!g||!y)return;const k=g.getOptions(),L=y.getOptions(),V=i.get(67),z=this._model.currentGroup.get();for(const j of(z==null?void 0:z.lines)||[]){if(!z)break;let ie;if(j.type===LineType.Header){const re=document.createElement("div");re.className="diff-review-row",re.setAttribute("role","listitem");const ae=z.range,le=this._model.currentGroupIndex.get(),de=this._model.groups.get().length,ue=$e=>$e===0?localize("no_lines_changed","no lines changed"):$e===1?localize("one_line_changed","1 line changed"):localize("more_lines_changed","{0} lines changed",$e),he=ue(ae.original.length),pe=ue(ae.modified.length);re.setAttribute("aria-label",localize({},"Difference {0} of {1}: original line {2}, {3}, modified line {4}, {5}",le+1,de,ae.original.startLineNumber,he,ae.modified.startLineNumber,pe));const Ce=document.createElement("div");Ce.className="diff-review-cell diff-review-summary",Ce.appendChild(document.createTextNode("".concat(le+1,"/").concat(de,": @@ -").concat(ae.original.startLineNumber,",").concat(ae.original.length," +").concat(ae.modified.startLineNumber,",").concat(ae.modified.length," @@"))),re.appendChild(Ce),ie=re}else ie=this._createRow(j,V,this._width.get(),t,g,k,i,y,L);r.appendChild(ie);const oe=derived(re=>this._model.currentElement.read(re)===j);e.add(autorun(re=>{const ae=oe.read(re);ie.tabIndex=ae?0:-1,ae&&ie.focus()})),e.add(addDisposableListener(ie,"focus",()=>{this._model.goToLine(j)}))}this._scrollbar.scanDomNode()}_createRow(e,t,i,r,g,y,k,L,V){const z=r.get(145),j=z.glyphMarginWidth+z.lineNumbersWidth,ie=k.get(145),oe=10+ie.glyphMarginWidth+ie.lineNumbersWidth;let re="diff-review-row",ae="";const le="diff-review-spacer";let de=null;switch(e.type){case LineType.Added:re="diff-review-row line-insert",ae=" char-insert",de=accessibleDiffViewerInsertIcon;break;case LineType.Deleted:re="diff-review-row line-delete",ae=" char-delete",de=accessibleDiffViewerRemoveIcon;break}const ue=document.createElement("div");ue.style.minWidth=i+"px",ue.className=re,ue.setAttribute("role","listitem"),ue.ariaLevel="";const he=document.createElement("div");he.className="diff-review-cell",he.style.height="".concat(t,"px"),ue.appendChild(he);const pe=document.createElement("span");pe.style.width=j+"px",pe.style.minWidth=j+"px",pe.className="diff-review-line-number"+ae,e.originalLineNumber!==void 0?pe.appendChild(document.createTextNode(String(e.originalLineNumber))):pe.innerText=" ",he.appendChild(pe);const Ce=document.createElement("span");Ce.style.width=oe+"px",Ce.style.minWidth=oe+"px",Ce.style.paddingRight="10px",Ce.className="diff-review-line-number"+ae,e.modifiedLineNumber!==void 0?Ce.appendChild(document.createTextNode(String(e.modifiedLineNumber))):Ce.innerText=" ",he.appendChild(Ce);const $e=document.createElement("span");if($e.className=le,de){const Ne=document.createElement("span");Ne.className=ThemeIcon.asClassName(de),Ne.innerText="  ",$e.appendChild(Ne)}else $e.innerText="  ";he.appendChild($e);let xe;if(e.modifiedLineNumber!==void 0){let Ne=this._getLineHtml(L,k,V.tabSize,e.modifiedLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer._ttPolicy&&(Ne=AccessibleDiffViewer._ttPolicy.createHTML(Ne)),he.insertAdjacentHTML("beforeend",Ne),xe=L.getLineContent(e.modifiedLineNumber)}else{let Ne=this._getLineHtml(g,r,y.tabSize,e.originalLineNumber,this._languageService.languageIdCodec);AccessibleDiffViewer._ttPolicy&&(Ne=AccessibleDiffViewer._ttPolicy.createHTML(Ne)),he.insertAdjacentHTML("beforeend",Ne),xe=g.getLineContent(e.originalLineNumber)}xe.length===0&&(xe=localize("blankLine","blank"));let Ie="";switch(e.type){case LineType.Unchanged:e.originalLineNumber===e.modifiedLineNumber?Ie=localize({},"{0} unchanged line {1}",xe,e.originalLineNumber):Ie=localize("equalLine","{0} original line {1} modified line {2}",xe,e.originalLineNumber,e.modifiedLineNumber);break;case LineType.Added:Ie=localize("insertLine","+ {0} modified line {1}",xe,e.modifiedLineNumber);break;case LineType.Deleted:Ie=localize("deleteLine","- {0} original line {1}",xe,e.originalLineNumber);break}return ue.setAttribute("aria-label",Ie),ue}_getLineHtml(e,t,i,r,g){const y=e.getLineContent(r),k=t.get(50),L=LineTokens.createEmpty(y,g),V=ViewLineRenderingData.isBasicASCII(y,e.mightContainNonBasicASCII()),z=ViewLineRenderingData.containsRTL(y,V,e.mightContainRTL());return renderViewLine2(new RenderLineInput(k.isMonospace&&!t.get(33),k.canUseHalfwidthRightwardsArrow,y,!1,V,z,0,L,[],i,0,k.spaceWidth,k.middotWidth,k.wsmiddotWidth,t.get(117),t.get(99),t.get(94),t.get(51)!==EditorFontLigatures.OFF,null)).html}};View=__decorate$1M([__param$1I(5,ILanguageService)],View);class AccessibleDiffViewerModelFromEditors{constructor(e){this.editors=e}getOriginalModel(){return this.editors.original.getModel()}getOriginalOptions(){return this.editors.original.getOptions()}originalReveal(e){this.editors.original.revealRange(e),this.editors.original.setSelection(e),this.editors.original.focus()}getModifiedModel(){return this.editors.modified.getModel()}getModifiedOptions(){return this.editors.modified.getOptions()}modifiedReveal(e){e&&(this.editors.modified.revealRange(e),this.editors.modified.setSelection(e)),this.editors.modified.focus()}modifiedSetSelection(e){this.editors.modified.setSelection(e)}modifiedFocus(){this.editors.modified.focus()}getModifiedPosition(){var e;return(e=this.editors.modified.getPosition())!==null&&e!==void 0?e:void 0}}class MovedBlocksLinesFeature extends Disposable{constructor(e,t,i,r,g){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=r,this._editors=g,this._originalScrollTop=observableFromEvent(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=observableSignalFromEvent("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=observableValue(this,0),this._modifiedViewZonesChangedSignal=observableSignalFromEvent("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=observableSignalFromEvent("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=derivedWithStore(this,(z,j)=>{var ie;this._element.replaceChildren();const oe=this._diffModel.read(z),re=(ie=oe==null?void 0:oe.diff.read(z))===null||ie===void 0?void 0:ie.movedTexts;if(!re||re.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(z);const ae=this._originalEditorLayoutInfo.read(z),le=this._modifiedEditorLayoutInfo.read(z);if(!ae||!le){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(z),this._originalViewZonesChangedSignal.read(z);const de=re.map(Ie=>{function Ne(Lt,kt){const ei=kt.getTopForLineNumber(Lt.startLineNumber,!0),jt=kt.getTopForLineNumber(Lt.endLineNumberExclusive,!0);return(ei+jt)/2}const Fe=Ne(Ie.lineRangeMapping.original,this._editors.original),Ve=this._originalScrollTop.read(z),Oe=Ne(Ie.lineRangeMapping.modified,this._editors.modified),ze=this._modifiedScrollTop.read(z),qe=Fe-Ve,Ue=Oe-ze,Et=Math.min(Fe,Oe),At=Math.max(Fe,Oe);return{range:new OffsetRange(Et,At),from:qe,to:Ue,fromWithoutScroll:Fe,toWithoutScroll:Oe,move:Ie}});de.sort(tieBreakComparators(compareBy(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll,booleanComparator),compareBy(Ie=>Ie.fromWithoutScroll>Ie.toWithoutScroll?Ie.fromWithoutScroll:-Ie.toWithoutScroll,numberComparator)));const ue=LinesLayout.compute(de.map(Ie=>Ie.range)),he=10,pe=ae.verticalScrollbarWidth,Ce=(ue.getTrackCount()-1)*10+he*2,$e=pe+Ce+(le.contentLeft-MovedBlocksLinesFeature.movedCodeBlockPadding);let xe=0;for(const Ie of de){const Ne=ue.getTrack(xe),Fe=pe+he+Ne*10,Ve=15,Oe=15,ze=$e,qe=le.glyphMarginWidth+le.lineNumbersWidth,Ue=18,Et=document.createElementNS("http://www.w3.org/2000/svg","rect");Et.classList.add("arrow-rectangle"),Et.setAttribute("x","".concat(ze-qe)),Et.setAttribute("y","".concat(Ie.to-Ue/2)),Et.setAttribute("width","".concat(qe)),Et.setAttribute("height","".concat(Ue)),this._element.appendChild(Et);const At=document.createElementNS("http://www.w3.org/2000/svg","g"),Lt=document.createElementNS("http://www.w3.org/2000/svg","path");Lt.setAttribute("d","M 0 ".concat(Ie.from," L ").concat(Fe," ").concat(Ie.from," L ").concat(Fe," ").concat(Ie.to," L ").concat(ze-Oe," ").concat(Ie.to)),Lt.setAttribute("fill","none"),At.appendChild(Lt);const kt=document.createElementNS("http://www.w3.org/2000/svg","polygon");kt.classList.add("arrow"),j.add(autorun(ei=>{Lt.classList.toggle("currentMove",Ie.move===oe.activeMovedText.read(ei)),kt.classList.toggle("currentMove",Ie.move===oe.activeMovedText.read(ei))})),kt.setAttribute("points","".concat(ze-Oe,",").concat(Ie.to-Ve/2," ").concat(ze,",").concat(Ie.to," ").concat(ze-Oe,",").concat(Ie.to+Ve/2)),At.appendChild(kt),this._element.appendChild(At),xe++}this.width.set(Ce,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(toDisposable(()=>this._element.remove())),this._register(autorun(z=>{const j=this._originalEditorLayoutInfo.read(z),ie=this._modifiedEditorLayoutInfo.read(z);!j||!ie||(this._element.style.left="".concat(j.width-j.verticalScrollbarWidth,"px"),this._element.style.height="".concat(j.height,"px"),this._element.style.width="".concat(j.verticalScrollbarWidth+j.contentLeft-MovedBlocksLinesFeature.movedCodeBlockPadding+this.width.read(z),"px"))})),this._register(recomputeInitiallyAndOnChange(this._state));const y=derived(z=>{const j=this._diffModel.read(z),ie=j==null?void 0:j.diff.read(z);return ie?ie.movedTexts.map(oe=>({move:oe,original:new PlaceholderViewZone(constObservable(oe.lineRangeMapping.original.startLineNumber-1),18),modified:new PlaceholderViewZone(constObservable(oe.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(applyViewZones(this._editors.original,y.map(z=>z.map(j=>j.original)))),this._register(applyViewZones(this._editors.modified,y.map(z=>z.map(j=>j.modified)))),this._register(autorunWithStore((z,j)=>{const ie=y.read(z);for(const oe of ie)j.add(new MovedBlockOverlayWidget(this._editors.original,oe.original,oe.move,"original",this._diffModel.get())),j.add(new MovedBlockOverlayWidget(this._editors.modified,oe.modified,oe.move,"modified",this._diffModel.get()))}));const k=observableSignalFromEvent("original.onDidFocusEditorWidget",z=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>z(void 0),0))),L=observableSignalFromEvent("modified.onDidFocusEditorWidget",z=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>z(void 0),0)));let V="modified";this._register(autorunHandleChanges({createEmptyChangeSummary:()=>{},handleChange:(z,j)=>(z.didChange(k)&&(V="original"),z.didChange(L)&&(V="modified"),!0)},z=>{k.read(z),L.read(z);const j=this._diffModel.read(z);if(!j)return;const ie=j.diff.read(z);let oe;if(ie&&V==="original"){const re=this._editors.originalCursor.read(z);re&&(oe=ie.movedTexts.find(ae=>ae.lineRangeMapping.original.contains(re.lineNumber)))}if(ie&&V==="modified"){const re=this._editors.modifiedCursor.read(z);re&&(oe=ie.movedTexts.find(ae=>ae.lineRangeMapping.modified.contains(re.lineNumber)))}oe!==j.movedTextToCompare.get()&&j.movedTextToCompare.set(void 0,void 0),j.setActiveMovedText(oe)}))}}MovedBlocksLinesFeature.movedCodeBlockPadding=4;class LinesLayout{static compute(e){const t=[],i=[];for(const r of e){let g=t.findIndex(y=>!y.intersectsStrict(r));g===-1&&(t.length>=6?g=findMaxIdxBy(t,compareBy(k=>k.intersectWithRangeLength(r),numberComparator)):(g=t.length,t.push(new OffsetRangeSet))),t[g].addRange(r),i.push(g)}return new LinesLayout(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class MovedBlockOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,r,g){const y=h("div.diff-hidden-lines-widget");super(e,t,y.root),this._editor=e,this._move=i,this._kind=r,this._diffModel=g,this._nodes=h("div.diff-moved-code-block",{style:{marginRight:"4px"}},[h("div.text-content@textContent"),h("div.action-bar@actionBar")]),y.root.appendChild(this._nodes.root);const k=observableFromEvent(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(applyStyle(this._nodes.root,{paddingRight:k.map(ie=>ie.verticalScrollbarWidth)}));let L;i.changes.length>0?L=this._kind==="original"?localize("codeMovedToWithChanges","Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize("codeMovedFromWithChanges","Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):L=this._kind==="original"?localize("codeMovedTo","Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):localize("codeMovedFrom","Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const V=this._register(new ActionBar(this._nodes.actionBar,{highlightToggledItems:!0})),z=new Action("",L,"",!1);V.push(z,{icon:!1,label:!0});const j=new Action("","Compare",ThemeIcon.asClassName(Codicon.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(autorun(ie=>{const oe=this._diffModel.movedTextToCompare.read(ie)===i;j.checked=oe})),V.push(j,{icon:!1,label:!0})}}registerColor("diffEditor.move.border",{dark:"#8b8b8b9c",light:"#8b8b8b9c",hcDark:"#8b8b8b9c",hcLight:"#8b8b8b9c"},localize("diffEditor.move.border","The border color for text that got moved in the diff editor."));registerColor("diffEditor.moveActive.border",{dark:"#FFA500",light:"#FFA500",hcDark:"#FFA500",hcLight:"#FFA500"},localize("diffEditor.moveActive.border","The active border color for text that got moved in the diff editor."));registerColor("diffEditor.unchangedRegionShadow",{dark:"#000000",light:"#737373BF",hcDark:"#000000",hcLight:"#737373BF"},localize("diffEditor.unchangedRegionShadow","The color of the shadow around unchanged region widgets."));const diffInsertIcon=registerIcon("diff-insert",Codicon.add,localize("diffInsertIcon","Line decoration for inserts in the diff editor.")),diffRemoveIcon=registerIcon("diff-remove",Codicon.remove,localize("diffRemoveIcon","Line decoration for removals in the diff editor.")),diffLineAddDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,linesDecorationsClassName:"insert-sign "+ThemeIcon.asClassName(diffInsertIcon),marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackgroundWithIndicator=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,linesDecorationsClassName:"delete-sign "+ThemeIcon.asClassName(diffRemoveIcon),marginClassName:"gutter-delete"}),diffLineAddDecorationBackground=ModelDecorationOptions.register({className:"line-insert",description:"line-insert",isWholeLine:!0,marginClassName:"gutter-insert"}),diffLineDeleteDecorationBackground=ModelDecorationOptions.register({className:"line-delete",description:"line-delete",isWholeLine:!0,marginClassName:"gutter-delete"}),diffAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",shouldFillLineOnLineBreak:!0}),diffWholeLineAddDecoration=ModelDecorationOptions.register({className:"char-insert",description:"char-insert",isWholeLine:!0}),diffAddDecorationEmpty=ModelDecorationOptions.register({className:"char-insert diff-range-empty",description:"char-insert diff-range-empty"}),diffDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",shouldFillLineOnLineBreak:!0}),diffWholeLineDeleteDecoration=ModelDecorationOptions.register({className:"char-delete",description:"char-delete",isWholeLine:!0}),diffDeleteDecorationEmpty=ModelDecorationOptions.register({className:"char-delete diff-range-empty",description:"char-delete diff-range-empty"});class DiffEditorDecorations extends Disposable{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=derived(this,g=>{var y;const k=(y=this._diffModel.read(g))===null||y===void 0?void 0:y.diff.read(g);if(!k)return null;const L=this._diffModel.read(g).movedTextToCompare.read(g),V=this._options.renderIndicators.read(g),z=this._options.showEmptyDecorations.read(g),j=[],ie=[];if(!L)for(const re of k.mappings)if(re.lineRangeMapping.original.isEmpty||j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:V?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground}),re.lineRangeMapping.modified.isEmpty||ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:V?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground}),re.lineRangeMapping.modified.isEmpty||re.lineRangeMapping.original.isEmpty)re.lineRangeMapping.original.isEmpty||j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:diffWholeLineDeleteDecoration}),re.lineRangeMapping.modified.isEmpty||ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:diffWholeLineAddDecoration});else for(const ae of re.lineRangeMapping.innerChanges||[])re.lineRangeMapping.original.contains(ae.originalRange.startLineNumber)&&j.push({range:ae.originalRange,options:ae.originalRange.isEmpty()&&z?diffDeleteDecorationEmpty:diffDeleteDecoration}),re.lineRangeMapping.modified.contains(ae.modifiedRange.startLineNumber)&&ie.push({range:ae.modifiedRange,options:ae.modifiedRange.isEmpty()&&z?diffAddDecorationEmpty:diffAddDecoration});if(L)for(const re of L.changes){const ae=re.original.toInclusiveRange();ae&&j.push({range:ae,options:V?diffLineDeleteDecorationBackgroundWithIndicator:diffLineDeleteDecorationBackground});const le=re.modified.toInclusiveRange();le&&ie.push({range:le,options:V?diffLineAddDecorationBackgroundWithIndicator:diffLineAddDecorationBackground});for(const de of re.innerChanges||[])j.push({range:de.originalRange,options:diffDeleteDecoration}),ie.push({range:de.modifiedRange,options:diffAddDecoration})}const oe=this._diffModel.read(g).activeMovedText.read(g);for(const re of k.movedTexts)j.push({range:re.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(re===oe?" currentMove":""),blockPadding:[MovedBlocksLinesFeature.movedCodeBlockPadding,0,MovedBlocksLinesFeature.movedCodeBlockPadding,MovedBlocksLinesFeature.movedCodeBlockPadding]}}),ie.push({range:re.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(re===oe?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:j,modifiedDecorations:ie}}),this._register(applyObservableDecorations$1(this._editors.original,this._decorations.map(g=>(g==null?void 0:g.originalDecorations)||[]))),this._register(applyObservableDecorations$1(this._editors.modified,this._decorations.map(g=>(g==null?void 0:g.modifiedDecorations)||[])))}}class DiffEditorSash extends Disposable{constructor(e,t,i,r){super(),this._options=e,this._domNode=t,this._dimensions=i,this._sashes=r,this._sashRatio=observableValue(this,void 0),this.sashLeft=derived(this,g=>{var y;const k=(y=this._sashRatio.read(g))!==null&&y!==void 0?y:this._options.splitViewDefaultRatio.read(g);return this._computeSashLeft(k,g)}),this._sash=this._register(new Sash(this._domNode,{getVerticalSashTop:g=>0,getVerticalSashLeft:g=>this.sashLeft.get(),getVerticalSashHeight:g=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(g=>{const y=this._dimensions.width.get(),k=this._computeSashLeft((this._startSashPosition+(g.currentX-g.startX))/y,void 0);this._sashRatio.set(k/y,void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._sashRatio.set(void 0,void 0))),this._register(autorun(g=>{const y=this._sashes.read(g);y&&(this._sash.orthogonalEndSash=y.bottom)})),this._register(autorun(g=>{const y=this._options.enableSplitViewResizing.read(g);this._sash.state=y?3:0,this.sashLeft.read(g),this._dimensions.height.read(g),this._sash.layout()}))}_computeSashLeft(e,t){const i=this._dimensions.width.read(t),r=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),g=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):r,y=100;return i<=y*2?r:gi-y?i-y:g}}var __decorate$1L=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1H=function(n,e){return function(t,i){e(t,i,n)}},WorkerBasedDocumentDiffProvider_1;const IDiffProviderFactoryService=createDecorator("diffProviderFactoryService");let WorkerBasedDiffProviderFactoryService=class{constructor(e){this.instantiationService=e}createDiffProvider(e){return this.instantiationService.createInstance(WorkerBasedDocumentDiffProvider,e)}};WorkerBasedDiffProviderFactoryService=__decorate$1L([__param$1H(0,IInstantiationService)],WorkerBasedDiffProviderFactoryService);registerSingleton(IDiffProviderFactoryService,WorkerBasedDiffProviderFactoryService,1);let WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=class{constructor(e,t,i){this.editorWorkerService=t,this.telemetryService=i,this.onDidChangeEventEmitter=new Emitter$1,this.onDidChange=this.onDidChangeEventEmitter.event,this.diffAlgorithm="advanced",this.diffAlgorithmOnDidChangeSubscription=void 0,this.setOptions(e)}dispose(){var e;(e=this.diffAlgorithmOnDidChangeSubscription)===null||e===void 0||e.dispose()}async computeDiff(e,t,i,r){var g,y;if(typeof this.diffAlgorithm!="string")return this.diffAlgorithm.computeDiff(e,t,i,r);if(e.getLineCount()===1&&e.getLineMaxColumn(1)===1)return t.getLineCount()===1&&t.getLineMaxColumn(1)===1?{changes:[],identical:!0,quitEarly:!1,moves:[]}:{changes:[new DetailedLineRangeMapping(new LineRange$1(1,2),new LineRange$1(1,t.getLineCount()+1),[new RangeMapping(e.getFullModelRange(),t.getFullModelRange())])],identical:!1,quitEarly:!1,moves:[]};const k=JSON.stringify([e.uri.toString(),t.uri.toString()]),L=JSON.stringify([e.id,t.id,e.getAlternativeVersionId(),t.getAlternativeVersionId(),JSON.stringify(i)]),V=WorkerBasedDocumentDiffProvider_1.diffCache.get(k);if(V&&V.context===L)return V.result;const z=StopWatch.create(),j=await this.editorWorkerService.computeDiff(e.uri,t.uri,i,this.diffAlgorithm),ie=z.elapsed();if(this.telemetryService.publicLog2("diffEditor.computeDiff",{timeMs:ie,timedOut:(g=j==null?void 0:j.quitEarly)!==null&&g!==void 0?g:!0,detectedMoves:i.computeMoves?(y=j==null?void 0:j.moves.length)!==null&&y!==void 0?y:0:-1}),r.isCancellationRequested)return{changes:[],identical:!1,quitEarly:!0,moves:[]};if(!j)throw new Error("no diff result available");return WorkerBasedDocumentDiffProvider_1.diffCache.size>10&&WorkerBasedDocumentDiffProvider_1.diffCache.delete(WorkerBasedDocumentDiffProvider_1.diffCache.keys().next().value),WorkerBasedDocumentDiffProvider_1.diffCache.set(k,{result:j,context:L}),j}setOptions(e){var t;let i=!1;e.diffAlgorithm&&this.diffAlgorithm!==e.diffAlgorithm&&((t=this.diffAlgorithmOnDidChangeSubscription)===null||t===void 0||t.dispose(),this.diffAlgorithmOnDidChangeSubscription=void 0,this.diffAlgorithm=e.diffAlgorithm,typeof e.diffAlgorithm!="string"&&(this.diffAlgorithmOnDidChangeSubscription=e.diffAlgorithm.onDidChange(()=>this.onDidChangeEventEmitter.fire())),i=!0),i&&this.onDidChangeEventEmitter.fire()}};WorkerBasedDocumentDiffProvider.diffCache=new Map;WorkerBasedDocumentDiffProvider=WorkerBasedDocumentDiffProvider_1=__decorate$1L([__param$1H(1,IEditorWorkerService),__param$1H(2,ITelemetryService)],WorkerBasedDocumentDiffProvider);var __decorate$1K=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1G=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorViewModel=class extends Disposable{setActiveMovedText(e){this._activeMovedText.set(e,void 0)}constructor(e,t,i){super(),this.model=e,this._options=t,this._diffProviderFactoryService=i,this._isDiffUpToDate=observableValue(this,!1),this.isDiffUpToDate=this._isDiffUpToDate,this._diff=observableValue(this,void 0),this.diff=this._diff,this._unchangedRegions=observableValue(this,void 0),this.unchangedRegions=derived(this,k=>{var L,V;return this._options.hideUnchangedRegions.read(k)?(V=(L=this._unchangedRegions.read(k))===null||L===void 0?void 0:L.regions)!==null&&V!==void 0?V:[]:(transaction(z=>{var j;for(const ie of((j=this._unchangedRegions.get())===null||j===void 0?void 0:j.regions)||[])ie.collapseAll(z)}),[])}),this.movedTextToCompare=observableValue(this,void 0),this._activeMovedText=observableValue(this,void 0),this._hoveredMovedText=observableValue(this,void 0),this.activeMovedText=derived(this,k=>{var L,V;return(V=(L=this.movedTextToCompare.read(k))!==null&&L!==void 0?L:this._hoveredMovedText.read(k))!==null&&V!==void 0?V:this._activeMovedText.read(k)}),this._cancellationTokenSource=new CancellationTokenSource$1,this._diffProvider=derived(this,k=>{const L=this._diffProviderFactoryService.createDiffProvider({diffAlgorithm:this._options.diffAlgorithm.read(k)}),V=observableSignalFromEvent("onDidChange",L.onDidChange);return{diffProvider:L,onChangeSignal:V}}),this._register(toDisposable(()=>this._cancellationTokenSource.cancel()));const r=observableSignal("contentChangedSignal"),g=this._register(new RunOnceScheduler(()=>r.trigger(void 0),200));this._register(autorun(k=>{const L=this._unchangedRegions.read(k);if(!L||L.regions.some(re=>re.isDragged.read(k)))return;const V=L.originalDecorationIds.map(re=>e.original.getDecorationRange(re)).map(re=>re?LineRange$1.fromRangeInclusive(re):void 0),z=L.modifiedDecorationIds.map(re=>e.modified.getDecorationRange(re)).map(re=>re?LineRange$1.fromRangeInclusive(re):void 0),j=L.regions.map((re,ae)=>!V[ae]||!z[ae]?void 0:new UnchangedRegion(V[ae].startLineNumber,z[ae].startLineNumber,V[ae].length,re.visibleLineCountTop.read(k),re.visibleLineCountBottom.read(k))).filter(isDefined),ie=[];let oe=!1;for(const re of groupAdjacentBy(j,(ae,le)=>ae.getHiddenModifiedRange(k).endLineNumberExclusive===le.getHiddenModifiedRange(k).startLineNumber))if(re.length>1){oe=!0;const ae=re.reduce((de,ue)=>de+ue.lineCount,0),le=new UnchangedRegion(re[0].originalLineNumber,re[0].modifiedLineNumber,ae,re[0].visibleLineCountTop.get(),re[re.length-1].visibleLineCountBottom.get());ie.push(le)}else ie.push(re[0]);if(oe){const re=e.original.deltaDecorations(L.originalDecorationIds,ie.map(le=>({range:le.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),ae=e.modified.deltaDecorations(L.modifiedDecorationIds,ie.map(le=>({range:le.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));transaction(le=>{this._unchangedRegions.set({regions:ie,originalDecorationIds:re,modifiedDecorationIds:ae},le)})}}));const y=(k,L,V)=>{const z=UnchangedRegion.fromDiffs(k.changes,e.original.getLineCount(),e.modified.getLineCount(),this._options.hideUnchangedRegionsMinimumLineCount.read(V),this._options.hideUnchangedRegionsContextLineCount.read(V));let j;const ie=this._unchangedRegions.get();if(ie){const le=ie.originalDecorationIds.map(pe=>e.original.getDecorationRange(pe)).map(pe=>pe?LineRange$1.fromRangeInclusive(pe):void 0),de=ie.modifiedDecorationIds.map(pe=>e.modified.getDecorationRange(pe)).map(pe=>pe?LineRange$1.fromRangeInclusive(pe):void 0);let he=filterWithPrevious(ie.regions.map((pe,Ce)=>{if(!le[Ce]||!de[Ce])return;const $e=le[Ce].length;return new UnchangedRegion(le[Ce].startLineNumber,de[Ce].startLineNumber,$e,Math.min(pe.visibleLineCountTop.get(),$e),Math.min(pe.visibleLineCountBottom.get(),$e-pe.visibleLineCountTop.get()))}).filter(isDefined),(pe,Ce)=>!Ce||pe.modifiedLineNumber>=Ce.modifiedLineNumber+Ce.lineCount&&pe.originalLineNumber>=Ce.originalLineNumber+Ce.lineCount).map(pe=>new LineRangeMapping(pe.getHiddenOriginalRange(V),pe.getHiddenModifiedRange(V)));he=LineRangeMapping.clip(he,LineRange$1.ofLength(1,e.original.getLineCount()),LineRange$1.ofLength(1,e.modified.getLineCount())),j=LineRangeMapping.inverse(he,e.original.getLineCount(),e.modified.getLineCount())}const oe=[];if(j)for(const le of z){const de=j.filter(ue=>ue.original.intersectsStrict(le.originalUnchangedRange)&&ue.modified.intersectsStrict(le.modifiedUnchangedRange));oe.push(...le.setVisibleRanges(de,L))}else oe.push(...z);const re=e.original.deltaDecorations((ie==null?void 0:ie.originalDecorationIds)||[],oe.map(le=>({range:le.originalUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}}))),ae=e.modified.deltaDecorations((ie==null?void 0:ie.modifiedDecorationIds)||[],oe.map(le=>({range:le.modifiedUnchangedRange.toInclusiveRange(),options:{description:"unchanged"}})));this._unchangedRegions.set({regions:oe,originalDecorationIds:re,modifiedDecorationIds:ae},L)};this._register(e.modified.onDidChangeContent(k=>{if(this._diff.get()){const V=TextEditInfo.fromModelContentChanges(k.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),g.schedule()})),this._register(e.original.onDidChangeContent(k=>{if(this._diff.get()){const V=TextEditInfo.fromModelContentChanges(k.changes);this._lastDiff,e.original,e.modified}this._isDiffUpToDate.set(!1,void 0),g.schedule()})),this._register(autorunWithStore(async(k,L)=>{var V,z;this._options.hideUnchangedRegionsMinimumLineCount.read(k),this._options.hideUnchangedRegionsContextLineCount.read(k),g.cancel(),r.read(k);const j=this._diffProvider.read(k);j.onChangeSignal.read(k),readHotReloadableExport(DefaultLinesDiffComputer,k),readHotReloadableExport(optimizeSequenceDiffs,k),this._isDiffUpToDate.set(!1,void 0);let ie=[];L.add(e.original.onDidChangeContent(ae=>{const le=TextEditInfo.fromModelContentChanges(ae.changes);ie=combineTextEditInfos(ie,le)}));let oe=[];L.add(e.modified.onDidChangeContent(ae=>{const le=TextEditInfo.fromModelContentChanges(ae.changes);oe=combineTextEditInfos(oe,le)}));let re=await j.diffProvider.computeDiff(e.original,e.modified,{ignoreTrimWhitespace:this._options.ignoreTrimWhitespace.read(k),maxComputationTimeMs:this._options.maxComputationTimeMs.read(k),computeMoves:this._options.showMoves.read(k)},this._cancellationTokenSource.token);this._cancellationTokenSource.token.isCancellationRequested||(re=normalizeDocumentDiff(re,e.original,e.modified),re=(V=(e.original,e.modified,void 0))!==null&&V!==void 0?V:re,re=(z=(e.original,e.modified,void 0))!==null&&z!==void 0?z:re,transaction(ae=>{y(re,ae),this._lastDiff=re;const le=DiffState.fromDiffResult(re);this._diff.set(le,ae),this._isDiffUpToDate.set(!0,ae);const de=this.movedTextToCompare.get();this.movedTextToCompare.set(de?this._lastDiff.moves.find(ue=>ue.lineRangeMapping.modified.intersect(de.lineRangeMapping.modified)):void 0,ae)}))}))}ensureModifiedLineIsVisible(e,t,i){var r,g;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const y=((g=this._unchangedRegions.get())===null||g===void 0?void 0:g.regions)||[];for(const k of y)if(k.getHiddenModifiedRange(void 0).contains(e)){k.showModifiedLine(e,t,i);return}}ensureOriginalLineIsVisible(e,t,i){var r,g;if(((r=this.diff.get())===null||r===void 0?void 0:r.mappings.length)===0)return;const y=((g=this._unchangedRegions.get())===null||g===void 0?void 0:g.regions)||[];for(const k of y)if(k.getHiddenOriginalRange(void 0).contains(e)){k.showOriginalLine(e,t,i);return}}async waitForDiff(){await waitForState(this.isDiffUpToDate,e=>e)}serializeState(){const e=this._unchangedRegions.get();return{collapsedRegions:e==null?void 0:e.regions.map(t=>({range:t.getHiddenModifiedRange(void 0).serialize()}))}}restoreSerializedState(e){var t;const i=(t=e.collapsedRegions)===null||t===void 0?void 0:t.map(g=>LineRange$1.deserialize(g.range)),r=this._unchangedRegions.get();!r||!i||transaction(g=>{for(const y of r.regions)for(const k of i)if(y.modifiedUnchangedRange.intersect(k)){y.setHiddenModifiedRange(k,g);break}})}};DiffEditorViewModel=__decorate$1K([__param$1G(2,IDiffProviderFactoryService)],DiffEditorViewModel);function normalizeDocumentDiff(n,e,t){return{changes:n.changes.map(i=>new DetailedLineRangeMapping(i.original,i.modified,i.innerChanges?i.innerChanges.map(r=>normalizeRangeMapping(r,e,t)):void 0)),moves:n.moves,identical:n.identical,quitEarly:n.quitEarly}}function normalizeRangeMapping(n,e,t){let i=n.originalRange,r=n.modifiedRange;return(i.endColumn!==1||r.endColumn!==1)&&i.endColumn===e.getLineMaxColumn(i.endLineNumber)&&r.endColumn===t.getLineMaxColumn(r.endLineNumber)&&i.endLineNumbernew DiffMapping(t)),e.moves||[],e.identical,e.quitEarly)}constructor(e,t,i,r){this.mappings=e,this.movedTexts=t,this.identical=i,this.quitEarly=r}}class DiffMapping{constructor(e){this.lineRangeMapping=e}}class UnchangedRegion{static fromDiffs(e,t,i,r,g){const y=DetailedLineRangeMapping.inverse(e,t,i),k=[];for(const L of y){let V=L.original.startLineNumber,z=L.modified.startLineNumber,j=L.original.length;const ie=V===1&&z===1,oe=V+j===t+1&&z+j===i+1;(ie||oe)&&j>=g+r?(ie&&!oe&&(j-=g),oe&&!ie&&(V+=g,z+=g,j-=g),k.push(new UnchangedRegion(V,z,j,0,0))):j>=g*2+r&&(V+=g,z+=g,j-=g*2,k.push(new UnchangedRegion(V,z,j,0,0)))}return k}get originalUnchangedRange(){return LineRange$1.ofLength(this.originalLineNumber,this.lineCount)}get modifiedUnchangedRange(){return LineRange$1.ofLength(this.modifiedLineNumber,this.lineCount)}constructor(e,t,i,r,g){this.originalLineNumber=e,this.modifiedLineNumber=t,this.lineCount=i,this._visibleLineCountTop=observableValue(this,0),this.visibleLineCountTop=this._visibleLineCountTop,this._visibleLineCountBottom=observableValue(this,0),this.visibleLineCountBottom=this._visibleLineCountBottom,this._shouldHideControls=derived(this,L=>this.visibleLineCountTop.read(L)+this.visibleLineCountBottom.read(L)===this.lineCount&&!this.isDragged.read(L)),this.isDragged=observableValue(this,void 0);const y=Math.max(Math.min(r,this.lineCount),0),k=Math.max(Math.min(g,this.lineCount-r),0);softAssert(r===y),softAssert(g===k),this._visibleLineCountTop.set(y,void 0),this._visibleLineCountBottom.set(k,void 0)}setVisibleRanges(e,t){const i=[],r=new LineRangeSet(e.map(L=>L.modified)).subtractFrom(this.modifiedUnchangedRange);let g=this.originalLineNumber,y=this.modifiedLineNumber;const k=this.modifiedLineNumber+this.lineCount;if(r.ranges.length===0)this.showAll(t),i.push(this);else{let L=0;for(const V of r.ranges){const z=L===r.ranges.length-1;L++;const j=(z?k:V.endLineNumberExclusive)-y,ie=new UnchangedRegion(g,y,j,0,0);ie.setHiddenModifiedRange(V,t),i.push(ie),g=ie.originalUnchangedRange.endLineNumberExclusive,y=ie.modifiedUnchangedRange.endLineNumberExclusive}}return i}shouldHideControls(e){return this._shouldHideControls.read(e)}getHiddenOriginalRange(e){return LineRange$1.ofLength(this.originalLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}getHiddenModifiedRange(e){return LineRange$1.ofLength(this.modifiedLineNumber+this._visibleLineCountTop.read(e),this.lineCount-this._visibleLineCountTop.read(e)-this._visibleLineCountBottom.read(e))}setHiddenModifiedRange(e,t){const i=e.startLineNumber-this.modifiedLineNumber,r=this.modifiedLineNumber+this.lineCount-e.endLineNumberExclusive;this.setState(i,r,t)}getMaxVisibleLineCountTop(){return this.lineCount-this._visibleLineCountBottom.get()}getMaxVisibleLineCountBottom(){return this.lineCount-this._visibleLineCountTop.get()}showMoreAbove(e=10,t){const i=this.getMaxVisibleLineCountTop();this._visibleLineCountTop.set(Math.min(this._visibleLineCountTop.get()+e,i),t)}showMoreBelow(e=10,t){const i=this.lineCount-this._visibleLineCountTop.get();this._visibleLineCountBottom.set(Math.min(this._visibleLineCountBottom.get()+e,i),t)}showAll(e){this._visibleLineCountBottom.set(this.lineCount-this._visibleLineCountTop.get(),e)}showModifiedLine(e,t,i){const r=e+1-(this.modifiedLineNumber+this._visibleLineCountTop.get()),g=this.modifiedLineNumber-this._visibleLineCountBottom.get()+this.lineCount-e;t===0&&r{var le;this._contextMenuService.showContextMenu({domForShadowRoot:ie&&(le=i.getDomNode())!==null&&le!==void 0?le:void 0,getAnchor:()=>({x:re,y:ae}),getActions:()=>{const de=[],ue=r.modified.isEmpty;return de.push(new Action("diff.clipboard.copyDeletedContent",ue?r.original.length>1?localize("diff.clipboard.copyDeletedLinesContent.label","Copy deleted lines"):localize("diff.clipboard.copyDeletedLinesContent.single.label","Copy deleted line"):r.original.length>1?localize("diff.clipboard.copyChangedLinesContent.label","Copy changed lines"):localize("diff.clipboard.copyChangedLinesContent.single.label","Copy changed line"),void 0,!0,async()=>{const pe=this._originalTextModel.getValueInRange(r.original.toExclusiveRange());await this._clipboardService.writeText(pe)})),r.original.length>1&&de.push(new Action("diff.clipboard.copyDeletedLineContent",ue?localize("diff.clipboard.copyDeletedLineContent.label","Copy deleted line ({0})",r.original.startLineNumber+j):localize("diff.clipboard.copyChangedLineContent.label","Copy changed line ({0})",r.original.startLineNumber+j),void 0,!0,async()=>{let pe=this._originalTextModel.getLineContent(r.original.startLineNumber+j);pe===""&&(pe=this._originalTextModel.getEndOfLineSequence()===0?"\n":"\r\n"),await this._clipboardService.writeText(pe)})),i.getOption(91)||de.push(new Action("diff.inline.revertChange",localize("diff.inline.revertChange.label","Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),de},autoSelectFirstItem:!0})};this._register(addStandardDisposableListener(this._diffActions,"mousedown",re=>{if(!re.leftButton)return;const{top:ae,height:le}=getDomNodePagePosition(this._diffActions),de=Math.floor(z/3);re.preventDefault(),oe(re.posx,ae+le+de)})),this._register(i.onMouseMove(re=>{(re.target.type===8||re.target.type===5)&&re.target.detail.viewZoneId===this._getViewZoneId()?(j=this._updateLightBulbPosition(this._marginDomNode,re.event.browserEvent.y,z),this.visibility=!0):this.visibility=!1})),this._register(i.onMouseDown(re=>{re.event.leftButton&&(re.target.type===8||re.target.type===5)&&re.target.detail.viewZoneId===this._getViewZoneId()&&(re.event.preventDefault(),j=this._updateLightBulbPosition(this._marginDomNode,re.event.browserEvent.y,z),oe(re.event.posx,re.event.posy+z))}))}_updateLightBulbPosition(e,t,i){const{top:r}=getDomNodePagePosition(e),g=t-r,y=Math.floor(g/i),k=y*i;if(this._diffActions.style.top="".concat(k,"px"),this._viewLineCounts){let L=0;for(let V=0;Vn});function renderLines$1(n,e,t,i){applyFontInfo(i,e.fontInfo);const r=t.length>0,g=new StringBuilder(1e4);let y=0,k=0;const L=[];for(let ie=0;ie');const L=e.getLineContent(),V=ViewLineRenderingData.isBasicASCII(L,r),z=ViewLineRenderingData.containsRTL(L,V,g),j=renderViewLine(new RenderLineInput(y.fontInfo.isMonospace&&!y.disableMonospaceOptimizations,y.fontInfo.canUseHalfwidthRightwardsArrow,L,!1,V,z,0,e,t,y.tabSize,0,y.fontInfo.spaceWidth,y.fontInfo.middotWidth,y.fontInfo.wsmiddotWidth,y.stopRenderingLineAfter,y.renderWhitespace,y.renderControlCharacters,y.fontLigatures!==EditorFontLigatures.OFF,null),k);return k.appendString(""),j.characterMapping.getHorizontalOffset(j.characterMapping.length)}var __decorate$1J=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1F=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorViewZones=class extends Disposable{constructor(e,t,i,r,g,y,k,L,V,z){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=r,this._diffEditorWidget=g,this._canIgnoreViewZoneUpdateEvent=y,this._origViewZonesToIgnore=k,this._modViewZonesToIgnore=L,this._clipboardService=V,this._contextMenuService=z,this._originalTopPadding=observableValue(this,0),this._originalScrollOffset=observableValue(this,0),this._originalScrollOffsetAnimated=animatedObservable(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=observableValue(this,0),this._modifiedScrollOffset=observableValue(this,0),this._modifiedScrollOffsetAnimated=animatedObservable(this._targetWindow,this._modifiedScrollOffset,this._store);const j=observableValue("invalidateAlignmentsState",0),ie=this._register(new RunOnceScheduler(()=>{j.set(j.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(he=>{this._canIgnoreViewZoneUpdateEvent()||ie.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(he=>{this._canIgnoreViewZoneUpdateEvent()||ie.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(he=>{(he.hasChanged(146)||he.hasChanged(67))&&ie.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(he=>{(he.hasChanged(146)||he.hasChanged(67))&&ie.schedule()}));const oe=this._diffModel.map(he=>he?observableFromEvent(he.model.original.onDidChangeTokens,()=>he.model.original.tokenization.backgroundTokenizationState===2):void 0).map((he,pe)=>he==null?void 0:he.read(pe)),re=derived(he=>{const pe=this._diffModel.read(he),Ce=pe==null?void 0:pe.diff.read(he);if(!pe||!Ce)return null;j.read(he);const xe=this._options.renderSideBySide.read(he);return computeRangeAlignment(this._editors.original,this._editors.modified,Ce.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,xe)}),ae=derived(he=>{var pe;const Ce=(pe=this._diffModel.read(he))===null||pe===void 0?void 0:pe.movedTextToCompare.read(he);if(!Ce)return null;j.read(he);const $e=Ce.changes.map(xe=>new DiffMapping(xe));return computeRangeAlignment(this._editors.original,this._editors.modified,$e,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function le(){const he=document.createElement("div");return he.className="diagonal-fill",he}const de=this._register(new DisposableStore);this.viewZones=derivedWithStore(this,(he,pe)=>{var Ce,$e,xe,Ie,Ne,Fe,Ve,Oe;de.clear();const ze=re.read(he)||[],qe=[],Ue=[],Et=this._modifiedTopPadding.read(he);Et>0&&Ue.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:Et,showInHiddenAreas:!0,suppressMouseDown:!0});const At=this._originalTopPadding.read(he);At>0&&qe.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:At,showInHiddenAreas:!0,suppressMouseDown:!0});const Lt=this._options.renderSideBySide.read(he),kt=Lt||(Ce=this._editors.modified._getViewModel())===null||Ce===void 0?void 0:Ce.createLineBreaksComputer();if(kt){const ai=this._editors.original.getModel();for(const hi of ze)if(hi.diff)for(let xi=hi.originalRange.startLineNumber;xiai.getLineCount())return{orig:qe,mod:Ue};kt==null||kt.addRequest(ai.getLineContent(xi),null,null)}}const ei=($e=kt==null?void 0:kt.finalize())!==null&&$e!==void 0?$e:[];let jt=0;const ri=this._editors.modified.getOption(67),ni=(xe=this._diffModel.read(he))===null||xe===void 0?void 0:xe.movedTextToCompare.read(he),Ci=(Ne=(Ie=this._editors.original.getModel())===null||Ie===void 0?void 0:Ie.mightContainNonBasicASCII())!==null&&Ne!==void 0?Ne:!1,wi=(Ve=(Fe=this._editors.original.getModel())===null||Fe===void 0?void 0:Fe.mightContainRTL())!==null&&Ve!==void 0?Ve:!1,Ri=RenderOptions.fromEditor(this._editors.modified);for(const ai of ze)if(ai.diff&&!Lt){if(!ai.originalRange.isEmpty){oe.read(he);const xi=document.createElement("div");xi.classList.add("view-lines","line-delete","monaco-mouse-cursor-text");const Oi=this._editors.original.getModel();if(ai.originalRange.endLineNumberExclusive-1>Oi.getLineCount())return{orig:qe,mod:Ue};const Ei=new LineSource(ai.originalRange.mapToLineArray(ki=>Oi.tokenization.getLineTokens(ki)),ai.originalRange.mapToLineArray(ki=>ei[jt++]),Ci,wi),si=[];for(const ki of ai.diff.innerChanges||[])si.push(new InlineDecoration(ki.originalRange.delta(-(ai.diff.original.startLineNumber-1)),diffDeleteDecoration.className,0));const fi=renderLines$1(Ei,Ri,si,xi),li=document.createElement("div");if(li.className="inline-deleted-margin-view-zone",applyFontInfo(li,Ri.fontInfo),this._options.renderIndicators.read(he))for(let ki=0;kiassertIsDefined(Di),li,this._editors.modified,ai.diff,this._diffEditorWidget,fi.viewLineCounts,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let ki=0;ki1&&qe.push({afterLineNumber:ai.originalRange.startLineNumber+ki,domNode:le(),heightInPx:(Ai-1)*ri,showInHiddenAreas:!0,suppressMouseDown:!0})}Ue.push({afterLineNumber:ai.modifiedRange.startLineNumber-1,domNode:xi,heightInPx:fi.heightInLines*ri,minWidthInPx:fi.minWidthInPx,marginDomNode:li,setZoneId(ki){Di=ki},showInHiddenAreas:!0,suppressMouseDown:!0})}const hi=document.createElement("div");hi.className="gutter-delete",qe.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:ai.modifiedHeightInPx,marginDomNode:hi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const hi=ai.modifiedHeightInPx-ai.originalHeightInPx;if(hi>0){if(ni!=null&&ni.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ai.originalRange.endLineNumberExclusive-1))continue;qe.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:hi,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let xi=function(){const Ei=document.createElement("div");return Ei.className="arrow-revert-change "+ThemeIcon.asClassName(Codicon.arrowRight),pe.add(addDisposableListener(Ei,"mousedown",si=>si.stopPropagation())),pe.add(addDisposableListener(Ei,"click",si=>{si.stopPropagation(),g.revert(ai.diff)})),$$f("div",{},Ei)};if(ni!=null&&ni.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ai.modifiedRange.endLineNumberExclusive-1))continue;let Oi;ai.diff&&ai.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(he)&&(Oi=xi()),Ue.push({afterLineNumber:ai.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-hi,marginDomNode:Oi,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ai of(Oe=ae.read(he))!==null&&Oe!==void 0?Oe:[]){if(!(ni!=null&&ni.lineRangeMapping.original.intersect(ai.originalRange))||!(ni!=null&&ni.lineRangeMapping.modified.intersect(ai.modifiedRange)))continue;const hi=ai.modifiedHeightInPx-ai.originalHeightInPx;hi>0?qe.push({afterLineNumber:ai.originalRange.endLineNumberExclusive-1,domNode:le(),heightInPx:hi,showInHiddenAreas:!0,suppressMouseDown:!0}):Ue.push({afterLineNumber:ai.modifiedRange.endLineNumberExclusive-1,domNode:le(),heightInPx:-hi,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:qe,mod:Ue}});let ue=!1;this._register(this._editors.original.onDidScrollChange(he=>{he.scrollLeftChanged&&!ue&&(ue=!0,this._editors.modified.setScrollLeft(he.scrollLeft),ue=!1)})),this._register(this._editors.modified.onDidScrollChange(he=>{he.scrollLeftChanged&&!ue&&(ue=!0,this._editors.original.setScrollLeft(he.scrollLeft),ue=!1)})),this._originalScrollTop=observableFromEvent(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=observableFromEvent(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(autorun(he=>{const pe=this._originalScrollTop.read(he)-(this._originalScrollOffsetAnimated.get()-this._modifiedScrollOffsetAnimated.read(he))-(this._originalTopPadding.get()-this._modifiedTopPadding.read(he));pe!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(pe,1)})),this._register(autorun(he=>{const pe=this._modifiedScrollTop.read(he)-(this._modifiedScrollOffsetAnimated.get()-this._originalScrollOffsetAnimated.read(he))-(this._modifiedTopPadding.get()-this._originalTopPadding.read(he));pe!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(pe,1)})),this._register(autorun(he=>{var pe;const Ce=(pe=this._diffModel.read(he))===null||pe===void 0?void 0:pe.movedTextToCompare.read(he);let $e=0;if(Ce){const xe=this._editors.original.getTopForLineNumber(Ce.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.get();$e=this._editors.modified.getTopForLineNumber(Ce.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.get()-xe}$e>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set($e,void 0)):$e<0?(this._modifiedTopPadding.set(-$e,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.get()-$e,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.get()+$e,void 0,!0)}))}};DiffEditorViewZones=__decorate$1J([__param$1F(8,IClipboardService),__param$1F(9,IContextMenuService)],DiffEditorViewZones);function computeRangeAlignment(n,e,t,i,r,g){const y=new ArrayQueue(getAdditionalLineHeights(n,i)),k=new ArrayQueue(getAdditionalLineHeights(e,r)),L=n.getOption(67),V=e.getOption(67),z=[];let j=0,ie=0;function oe(re,ae){for(;;){let le=y.peek(),de=k.peek();if(le&&le.lineNumber>=re&&(le=void 0),de&&de.lineNumber>=ae&&(de=void 0),!le&&!de)break;const ue=le?le.lineNumber-j:Number.MAX_VALUE,he=de?de.lineNumber-ie:Number.MAX_VALUE;uehe?(k.dequeue(),le={lineNumber:de.lineNumber-ie+j,heightInPx:0}):(y.dequeue(),k.dequeue()),z.push({originalRange:LineRange$1.ofLength(le.lineNumber,1),modifiedRange:LineRange$1.ofLength(de.lineNumber,1),originalHeightInPx:L+le.heightInPx,modifiedHeightInPx:V+de.heightInPx,diff:void 0})}}for(const re of t){let he=function(pe,Ce){var $e,xe,Ie,Ne;if(peqe.lineNumberqe+Ue.heightInPx,0))!==null&&xe!==void 0?xe:0,ze=(Ne=(Ie=k.takeWhile(qe=>qe.lineNumberqe+Ue.heightInPx,0))!==null&&Ne!==void 0?Ne:0;z.push({originalRange:Fe,modifiedRange:Ve,originalHeightInPx:Fe.length*L+Oe,modifiedHeightInPx:Ve.length*V+ze,diff:re.lineRangeMapping}),ue=pe,de=Ce};const ae=re.lineRangeMapping;oe(ae.original.startLineNumber,ae.modified.startLineNumber);let le=!0,de=ae.modified.startLineNumber,ue=ae.original.startLineNumber;if(g)for(const pe of ae.innerChanges||[]){pe.originalRange.startColumn>1&&pe.modifiedRange.startColumn>1&&he(pe.originalRange.startLineNumber,pe.modifiedRange.startLineNumber);const Ce=n.getModel(),$e=pe.originalRange.endLineNumber<=Ce.getLineCount()?Ce.getLineMaxColumn(pe.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;pe.originalRange.endColumn<$e&&he(pe.originalRange.endLineNumber,pe.modifiedRange.endLineNumber)}he(ae.original.endLineNumberExclusive,ae.modified.endLineNumberExclusive),j=ae.original.endLineNumberExclusive,ie=ae.modified.endLineNumberExclusive}return oe(Number.MAX_VALUE,Number.MAX_VALUE),z}function getAdditionalLineHeights(n,e){const t=[],i=[],r=n.getOption(146).wrappingColumn!==-1,g=n._getViewModel().coordinatesConverter,y=n.getOption(67);if(r)for(let L=1;L<=n.getModel().getLineCount();L++){const V=g.getModelLineViewLineCount(L);V>1&&i.push({lineNumber:L,heightInPx:y*(V-1)})}for(const L of n.getWhitespaces()){if(e.has(L.id))continue;const V=L.afterLineNumber===0?0:g.convertViewPositionToModelPosition(new Position$1(L.afterLineNumber,1)).lineNumber;t.push({lineNumber:V,heightInPx:L.height})}return joinCombine(t,i,L=>L.lineNumber,(L,V)=>({lineNumber:L.lineNumber,heightInPx:L.heightInPx+V.heightInPx}))}var __decorate$1I=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1E=function(n,e){return function(t,i){e(t,i,n)}},HideUnchangedRegionsFeature_1;let HideUnchangedRegionsFeature=HideUnchangedRegionsFeature_1=class extends Disposable{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=r,this._modifiedOutlineSource=derivedDisposable(this,L=>{const V=this._editors.modifiedModel.read(L),z=HideUnchangedRegionsFeature_1._breadcrumbsSourceFactory.read(L);return!V||!z?void 0:z(V,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const V=this._diffModel.get();transaction(z=>{for(const j of this._editors.original.getSelections()||[])V==null||V.ensureOriginalLineIsVisible(j.getStartPosition().lineNumber,0,z),V==null||V.ensureOriginalLineIsVisible(j.getEndPosition().lineNumber,0,z)})})),this._register(this._editors.modified.onDidChangeCursorPosition(L=>{if(L.reason===1)return;const V=this._diffModel.get();transaction(z=>{for(const j of this._editors.modified.getSelections()||[])V==null||V.ensureModifiedLineIsVisible(j.getStartPosition().lineNumber,0,z),V==null||V.ensureModifiedLineIsVisible(j.getEndPosition().lineNumber,0,z)})}));const g=this._diffModel.map((L,V)=>{var z,j;const ie=(z=L==null?void 0:L.unchangedRegions.read(V))!==null&&z!==void 0?z:[];return ie.length===1&&ie[0].modifiedLineNumber===1&&ie[0].lineCount===((j=this._editors.modifiedModel.read(V))===null||j===void 0?void 0:j.getLineCount())?[]:ie});this.viewZones=derivedWithStore(this,(L,V)=>{const z=this._modifiedOutlineSource.read(L);if(!z)return{origViewZones:[],modViewZones:[]};const j=[],ie=[],oe=this._options.renderSideBySide.read(L),re=g.read(L);for(const ae of re)if(!ae.shouldHideControls(L)){{const le=derived(this,ue=>ae.getHiddenOriginalRange(ue).startLineNumber-1),de=new PlaceholderViewZone(le,24);j.push(de),V.add(new CollapsedCodeOverlayWidget(this._editors.original,de,ae,ae.originalUnchangedRange,!oe,z,ue=>this._diffModel.get().ensureModifiedLineIsVisible(ue,2,void 0),this._options))}{const le=derived(this,ue=>ae.getHiddenModifiedRange(ue).startLineNumber-1),de=new PlaceholderViewZone(le,24);ie.push(de),V.add(new CollapsedCodeOverlayWidget(this._editors.modified,de,ae,ae.modifiedUnchangedRange,!1,z,ue=>this._diffModel.get().ensureModifiedLineIsVisible(ue,2,void 0),this._options))}}return{origViewZones:j,modViewZones:ie}});const y={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},k={description:"Fold Unchanged",glyphMarginHoverMessage:new MarkdownString(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(localize("foldUnchanged","Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+ThemeIcon.asClassName(Codicon.fold),zIndex:10001};this._register(applyObservableDecorations$1(this._editors.original,derived(this,L=>{const V=g.read(L),z=V.map(j=>({range:j.originalUnchangedRange.toInclusiveRange(),options:y}));for(const j of V)j.shouldHideControls(L)&&z.push({range:Range$2.fromPositions(new Position$1(j.originalLineNumber,1)),options:k});return z}))),this._register(applyObservableDecorations$1(this._editors.modified,derived(this,L=>{const V=g.read(L),z=V.map(j=>({range:j.modifiedUnchangedRange.toInclusiveRange(),options:y}));for(const j of V)j.shouldHideControls(L)&&z.push({range:LineRange$1.ofLength(j.modifiedLineNumber,1).toInclusiveRange(),options:k});return z}))),this._register(autorun(L=>{const V=g.read(L);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(V.map(z=>z.getHiddenOriginalRange(L).toInclusiveRange()).filter(isDefined)),this._editors.modified.setHiddenAreas(V.map(z=>z.getHiddenModifiedRange(L).toInclusiveRange()).filter(isDefined))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(L=>{var V;if(!L.event.rightButton&&L.target.position&&(!((V=L.target.element)===null||V===void 0)&&V.className.includes("fold-unchanged"))){const z=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.modifiedUnchangedRange.includes(z));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(L=>{var V;if(!L.event.rightButton&&L.target.position&&(!((V=L.target.element)===null||V===void 0)&&V.className.includes("fold-unchanged"))){const z=L.target.position.lineNumber,j=this._diffModel.get();if(!j)return;const ie=j.unchangedRegions.get().find(oe=>oe.originalUnchangedRange.includes(z));if(!ie)return;ie.collapseAll(void 0),L.event.stopPropagation(),L.event.preventDefault()}}))}};HideUnchangedRegionsFeature._breadcrumbsSourceFactory=observableValue("breadcrumbsSourceFactory",void 0);HideUnchangedRegionsFeature=HideUnchangedRegionsFeature_1=__decorate$1I([__param$1E(3,IInstantiationService)],HideUnchangedRegionsFeature);class CollapsedCodeOverlayWidget extends ViewZoneOverlayWidget{constructor(e,t,i,r,g,y,k,L){const V=h("div.diff-hidden-lines-widget");super(e,t,V.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=r,this._hide=g,this._modifiedOutlineSource=y,this._revealModifiedHiddenLine=k,this._options=L,this._nodes=h("div.diff-hidden-lines",[h("div.top@top",{title:localize("diff.hiddenLines.top","Click or drag to show more above")}),h("div.center@content",{style:{display:"flex"}},[h("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[$$f("a",{title:localize("showUnchangedRegion","Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...renderLabelWithIcons("$(unfold)"))]),h("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),h("div.bottom@bottom",{title:localize("diff.bottom","Click or drag to show more below"),role:"button"})]),V.root.appendChild(this._nodes.root);const z=observableFromEvent(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._hide?reset(this._nodes.first):this._register(applyStyle(this._nodes.first,{width:z.map(ie=>ie.contentLeft)})),this._register(autorun(ie=>{const oe=this._unchangedRegion.visibleLineCountTop.read(ie)+this._unchangedRegion.visibleLineCountBottom.read(ie)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!oe),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(ie)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(ie)>0),this._nodes.top.classList.toggle("canMoveBottom",!oe);const re=this._unchangedRegion.isDragged.read(ie),ae=this._editor.getDomNode();ae&&(ae.classList.toggle("draggingUnchangedRegion",!!re),re==="top"?(ae.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(ie)>0),ae.classList.toggle("canMoveBottom",!oe)):re==="bottom"?(ae.classList.toggle("canMoveTop",!oe),ae.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(ie)>0)):(ae.classList.toggle("canMoveTop",!1),ae.classList.toggle("canMoveBottom",!1)))}));const j=this._editor;this._register(addDisposableListener(this._nodes.top,"mousedown",ie=>{if(ie.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),ie.preventDefault();const oe=ie.clientY;let re=!1;const ae=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const le=getWindow$1(this._nodes.top),de=addDisposableListener(le,"mousemove",he=>{const Ce=he.clientY-oe;re=re||Math.abs(Ce)>2;const $e=Math.round(Ce/j.getOption(67)),xe=Math.max(0,Math.min(ae+$e,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(xe,void 0)}),ue=addDisposableListener(le,"mouseup",he=>{re||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),de.dispose(),ue.dispose()})})),this._register(addDisposableListener(this._nodes.bottom,"mousedown",ie=>{if(ie.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),ie.preventDefault();const oe=ie.clientY;let re=!1;const ae=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const le=getWindow$1(this._nodes.bottom),de=addDisposableListener(le,"mousemove",he=>{const Ce=he.clientY-oe;re=re||Math.abs(Ce)>2;const $e=Math.round(Ce/j.getOption(67)),xe=Math.max(0,Math.min(ae-$e,this._unchangedRegion.getMaxVisibleLineCountBottom())),Ie=this._unchangedRegionRange.endLineNumberExclusive>j.getModel().getLineCount()?j.getContentHeight():j.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(xe,void 0);const Ne=this._unchangedRegionRange.endLineNumberExclusive>j.getModel().getLineCount()?j.getContentHeight():j.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);j.setScrollTop(j.getScrollTop()+(Ne-Ie))}),ue=addDisposableListener(le,"mouseup",he=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!re){const pe=j.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const Ce=j.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);j.setScrollTop(j.getScrollTop()+(Ce-pe))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),de.dispose(),ue.dispose()})})),this._register(autorun(ie=>{const oe=[];if(!this._hide){const re=i.getHiddenModifiedRange(ie).length,ae=localize("hiddenLines","{0} hidden lines",re),le=$$f("span",{title:localize("diff.hiddenLines.expandAll","Double click to unfold")},ae);le.addEventListener("dblclick",he=>{he.button===0&&(he.preventDefault(),this._unchangedRegion.showAll(void 0))}),oe.push(le);const de=this._unchangedRegion.getHiddenModifiedRange(ie),ue=this._modifiedOutlineSource.getBreadcrumbItems(de,ie);if(ue.length>0){oe.push($$f("span",void 0,"  |  "));for(let he=0;he{this._revealModifiedHiddenLine(pe.startLineNumber)}}}}reset(this._nodes.others,...oe)}))}}var __decorate$1H=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1D=function(n,e){return function(t,i){e(t,i,n)}},OverviewRulerFeature_1;let OverviewRulerFeature=OverviewRulerFeature_1=class extends Disposable{constructor(e,t,i,r,g,y,k){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=r,this._rootHeight=g,this._modifiedEditorLayoutInfo=y,this._themeService=k,this.width=OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH;const L=observableFromEvent(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),V=derived(ie=>{const oe=L.read(ie),re=oe.getColor(diffOverviewRulerInserted)||(oe.getColor(diffInserted)||defaultInsertColor).transparent(2),ae=oe.getColor(diffOverviewRulerRemoved)||(oe.getColor(diffRemoved)||defaultRemoveColor).transparent(2);return{insertColor:re,removeColor:ae}}),z=createFastDomNode(document.createElement("div"));z.setClassName("diffViewport"),z.setPosition("absolute");const j=h("div.diffOverview",{style:{position:"absolute",top:"0px",width:OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(appendRemoveOnDispose(j,z.domNode)),this._register(addStandardDisposableListener(j,EventType$1.POINTER_DOWN,ie=>{this._editors.modified.delegateVerticalScrollbarPointerDown(ie)})),this._register(addDisposableListener(j,EventType$1.MOUSE_WHEEL,ie=>{this._editors.modified.delegateScrollFromMouseWheelEvent(ie)},{passive:!1})),this._register(appendRemoveOnDispose(this._rootElement,j)),this._register(autorunWithStore((ie,oe)=>{const re=this._diffModel.read(ie),ae=this._editors.original.createOverviewRuler("original diffOverviewRuler");ae&&(oe.add(ae),oe.add(appendRemoveOnDispose(j,ae.getDomNode())));const le=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(le&&(oe.add(le),oe.add(appendRemoveOnDispose(j,le.getDomNode()))),!ae||!le)return;const de=observableSignalFromEvent("viewZoneChanged",this._editors.original.onDidChangeViewZones),ue=observableSignalFromEvent("viewZoneChanged",this._editors.modified.onDidChangeViewZones),he=observableSignalFromEvent("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),pe=observableSignalFromEvent("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);oe.add(autorun(Ce=>{var $e;de.read(Ce),ue.read(Ce),he.read(Ce),pe.read(Ce);const xe=V.read(Ce),Ie=($e=re==null?void 0:re.diff.read(Ce))===null||$e===void 0?void 0:$e.mappings;function Ne(Oe,ze,qe){const Ue=qe._getViewModel();return Ue?Oe.filter(Et=>Et.length>0).map(Et=>{const At=Ue.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(Et.startLineNumber,1)),Lt=Ue.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(Et.endLineNumberExclusive,1)),kt=Lt.lineNumber-At.lineNumber;return new OverviewRulerZone(At.lineNumber,Lt.lineNumber,kt,ze.toString())}):[]}const Fe=Ne((Ie||[]).map(Oe=>Oe.lineRangeMapping.original),xe.removeColor,this._editors.original),Ve=Ne((Ie||[]).map(Oe=>Oe.lineRangeMapping.modified),xe.insertColor,this._editors.modified);ae==null||ae.setZones(Fe),le==null||le.setZones(Ve)})),oe.add(autorun(Ce=>{const $e=this._rootHeight.read(Ce),xe=this._rootWidth.read(Ce),Ie=this._modifiedEditorLayoutInfo.read(Ce);if(Ie){const Ne=OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH-2*OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH;ae.setLayout({top:0,height:$e,right:Ne+OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH}),le.setLayout({top:0,height:$e,right:0,width:OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH});const Fe=this._editors.modifiedScrollTop.read(Ce),Ve=this._editors.modifiedScrollHeight.read(Ce),Oe=this._editors.modified.getOption(103),ze=new ScrollbarState(Oe.verticalHasArrows?Oe.arrowSize:0,Oe.verticalScrollbarSize,0,Ie.height,Ve,Fe);z.setTop(ze.getSliderPosition()),z.setHeight(ze.getSliderSize())}else z.setTop(0),z.setHeight(0);j.style.height=$e+"px",j.style.left=xe-OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",z.setWidth(OverviewRulerFeature_1.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}};OverviewRulerFeature.ONE_OVERVIEW_WIDTH=15;OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH=OverviewRulerFeature_1.ONE_OVERVIEW_WIDTH*2;OverviewRulerFeature=OverviewRulerFeature_1=__decorate$1H([__param$1D(6,IThemeService)],OverviewRulerFeature);const emptyArr$1=[];class RevertButtonsFeature extends Disposable{constructor(e,t,i,r){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=r,this._selectedDiffs=derived(this,g=>{const y=this._diffModel.read(g),k=y==null?void 0:y.diff.read(g);if(!k)return emptyArr$1;const L=this._editors.modifiedSelections.read(g);if(L.every(ie=>ie.isEmpty()))return emptyArr$1;const V=new LineRangeSet(L.map(ie=>LineRange$1.fromRangeInclusive(ie))),j=k.mappings.filter(ie=>ie.lineRangeMapping.innerChanges&&V.intersects(ie.lineRangeMapping.modified)).map(ie=>({mapping:ie,rangeMappings:ie.lineRangeMapping.innerChanges.filter(oe=>L.some(re=>Range$2.areIntersecting(oe.modifiedRange,re)))}));return j.length===0||j.every(ie=>ie.rangeMappings.length===0)?emptyArr$1:j}),this._register(autorunWithStore((g,y)=>{if(!this._options.shouldRenderOldRevertArrows.read(g))return;const k=this._diffModel.read(g),L=k==null?void 0:k.diff.read(g);if(!k||!L||k.movedTextToCompare.read(g))return;const V=[],z=this._selectedDiffs.read(g),j=new Set(z.map(ie=>ie.mapping));if(z.length>0){const ie=this._editors.modifiedSelections.read(g),oe=y.add(new RevertButton(ie[ie.length-1].positionLineNumber,this._widget,z.flatMap(re=>re.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(oe),V.push(oe)}for(const ie of L.mappings)if(!j.has(ie)&&!ie.lineRangeMapping.modified.isEmpty&&ie.lineRangeMapping.innerChanges){const oe=y.add(new RevertButton(ie.lineRangeMapping.modified.startLineNumber,this._widget,ie.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(oe),V.push(oe)}y.add(toDisposable(()=>{for(const ie of V)this._editors.modified.removeGlyphMarginWidget(ie)}))}))}}class RevertButton extends Disposable{getId(){return this._id}constructor(e,t,i,r){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=r,this._id="revertButton".concat(RevertButton.counter++),this._domNode=h("div.revertButton",{title:this._revertSelection?localize("revertSelectedChanges","Revert Selected Changes"):localize("revertChange","Revert Change")},[renderIcon(Codicon.arrowRight)]).root,this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_DOWN,g=>{g.button!==2&&(g.stopPropagation(),g.preventDefault())})),this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_UP,g=>{g.stopPropagation(),g.preventDefault()})),this._register(addDisposableListener(this._domNode,EventType$1.CLICK,g=>{this._diffs instanceof LineRangeMapping?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),g.stopPropagation(),g.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:GlyphMarginLane.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}}RevertButton.counter=0;var __decorate$1G=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1C=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorEditors=class extends Disposable{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,r,g,y,k){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=r,this._createInnerEditor=g,this._instantiationService=y,this._keybindingService=k,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new Emitter$1),this.modifiedScrollTop=observableFromEvent(this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=observableFromEvent(this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedModel=observableFromEvent(this.modified.onDidChangeModel,()=>this.modified.getModel()),this.modifiedSelections=observableFromEvent(this.modified.onDidChangeCursorSelection,()=>{var L;return(L=this.modified.getSelections())!==null&&L!==void 0?L:[]}),this.modifiedCursor=derivedOpts({owner:this,equalityComparer:Position$1.equals},L=>{var V,z;return(z=(V=this.modifiedSelections.read(L)[0])===null||V===void 0?void 0:V.getPosition())!==null&&z!==void 0?z:new Position$1(1,1)}),this.originalCursor=observableFromEvent(this.original.onDidChangeCursorPosition,()=>{var L;return(L=this.original.getPosition())!==null&&L!==void 0?L:new Position$1(1,1)}),this._argCodeEditorWidgetOptions=null,this._register(autorunHandleChanges({createEmptyChangeSummary:()=>({}),handleChange:(L,V)=>(L.didChange(i.editorOptions)&&Object.assign(V,L.change.changedOptions),!0)},(L,V)=>{i.editorOptions.read(L),this._options.renderSideBySide.read(L),this.modified.updateOptions(this._adjustOptionsForRightHandSide(L,V)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(L,V))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t);return r.setContextValue("isInDiffLeftEditor",!0),r}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),r=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t);return r.setContextValue("isInDiffRightEditor",!0),r}_constructInnerEditor(e,t,i,r){const g=this._createInnerEditor(e,t,i,r);return this._register(g.onDidContentSizeChange(y=>{const k=this.original.getContentWidth()+this.modified.getContentWidth()+OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,L=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:L,contentWidth:k,contentHeightChanged:y.contentHeightChanged,contentWidthChanged:y.contentWidthChanged})})),g}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=EditorOptions.revealHorizontalRightPadding.defaultValue+OverviewRulerFeature.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var t;e||(e="");const i=localize("diff-aria-navigation-tip"," use {0} to open the accessibility help.",(t=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))===null||t===void 0?void 0:t.getAriaLabel());return this._options.accessibilityVerbose.get()?e+i:e?e.replaceAll(i,""):""}};DiffEditorEditors=__decorate$1G([__param$1C(5,IInstantiationService),__param$1C(6,IKeybindingService)],DiffEditorEditors);class DelegatingEditor extends Disposable{constructor(){super(...arguments),this._id=++DelegatingEditor.idCounter,this._onDidDispose=this._register(new Emitter$1),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,r=!0){this._targetEditor.revealRange(e,t,i,r)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}}DelegatingEditor.idCounter=0;var __decorate$1F=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1B=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorOptions=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=observableValue(this,0),this._screenReaderMode=observableFromEvent(this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=derived(this,r=>this._options.read(r).renderSideBySide&&this._diffEditorWidth.read(r)<=this._options.read(r).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=derived(this,r=>this._options.read(r).renderOverviewRuler),this.renderSideBySide=derived(this,r=>this._options.read(r).renderSideBySide&&!(this._options.read(r).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(r)&&!this._screenReaderMode.read(r))),this.readOnly=derived(this,r=>this._options.read(r).readOnly),this.shouldRenderOldRevertArrows=derived(this,r=>!(!this._options.read(r).renderMarginRevertIcon||!this.renderSideBySide.read(r)||this.readOnly.read(r)||this.shouldRenderGutterMenu.read(r))),this.shouldRenderGutterMenu=derived(this,r=>this._options.read(r).renderGutterMenu),this.renderIndicators=derived(this,r=>this._options.read(r).renderIndicators),this.enableSplitViewResizing=derived(this,r=>this._options.read(r).enableSplitViewResizing),this.splitViewDefaultRatio=derived(this,r=>this._options.read(r).splitViewDefaultRatio),this.ignoreTrimWhitespace=derived(this,r=>this._options.read(r).ignoreTrimWhitespace),this.maxComputationTimeMs=derived(this,r=>this._options.read(r).maxComputationTime),this.showMoves=derived(this,r=>this._options.read(r).experimental.showMoves&&this.renderSideBySide.read(r)),this.isInEmbeddedEditor=derived(this,r=>this._options.read(r).isInEmbeddedEditor),this.diffWordWrap=derived(this,r=>this._options.read(r).diffWordWrap),this.originalEditable=derived(this,r=>this._options.read(r).originalEditable),this.diffCodeLens=derived(this,r=>this._options.read(r).diffCodeLens),this.accessibilityVerbose=derived(this,r=>this._options.read(r).accessibilityVerbose),this.diffAlgorithm=derived(this,r=>this._options.read(r).diffAlgorithm),this.showEmptyDecorations=derived(this,r=>this._options.read(r).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=derived(this,r=>this._options.read(r).onlyShowAccessibleDiffViewer),this.hideUnchangedRegions=derived(this,r=>this._options.read(r).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=derived(this,r=>this._options.read(r).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=derived(this,r=>this._options.read(r).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=derived(this,r=>this._options.read(r).hideUnchangedRegions.minimumLineCount);const i={...e,...validateDiffEditorOptions(e,diffEditorDefaultOptions)};this._options=observableValue(this,i)}updateOptions(e){const t=validateDiffEditorOptions(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}};DiffEditorOptions=__decorate$1F([__param$1B(1,IAccessibilityService)],DiffEditorOptions);function validateDiffEditorOptions(n,e){var t,i,r,g,y,k,L,V;return{enableSplitViewResizing:boolean(n.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:clampedFloat(n.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:boolean(n.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:boolean(n.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:clampedInt(n.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:clampedInt(n.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:boolean(n.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:boolean(n.renderIndicators,e.renderIndicators),originalEditable:boolean(n.originalEditable,e.originalEditable),diffCodeLens:boolean(n.diffCodeLens,e.diffCodeLens),renderOverviewRuler:boolean(n.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:stringSet(n.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:stringSet(n.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:boolean(n.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:boolean((t=n.experimental)===null||t===void 0?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:boolean((i=n.experimental)===null||i===void 0?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations)},hideUnchangedRegions:{enabled:boolean((g=(r=n.hideUnchangedRegions)===null||r===void 0?void 0:r.enabled)!==null&&g!==void 0?g:(y=n.experimental)===null||y===void 0?void 0:y.collapseUnchangedRegions,e.hideUnchangedRegions.enabled),contextLineCount:clampedInt((k=n.hideUnchangedRegions)===null||k===void 0?void 0:k.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:clampedInt((L=n.hideUnchangedRegions)===null||L===void 0?void 0:L.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:clampedInt((V=n.hideUnchangedRegions)===null||V===void 0?void 0:V.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:boolean(n.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:boolean(n.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:clampedInt(n.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:boolean(n.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:boolean(n.renderGutterMenu,e.renderGutterMenu)}}class EditorGutter extends Disposable{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=observableFromEvent(this._editor.onDidScrollChange,y=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(y=>y===0),this.modelAttached=observableFromEvent(this._editor.onDidChangeModel,y=>this._editor.hasModel()),this.editorOnDidChangeViewZones=observableSignalFromEvent("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=observableSignalFromEvent("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=observableSignal("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const r=this._domNode.appendChild(h("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),g=new ResizeObserver(()=>{transaction(y=>{this.domNodeSizeChanged.trigger(y)})});g.observe(this._domNode),this._register(toDisposable(()=>g.disconnect())),this._register(autorun(y=>{r.className=this.isScrollTopZero.read(y)?"":"scroll-decoration"})),this._register(autorun(y=>this.render(y)))}dispose(){super.dispose(),reset(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),r=new Set(this.views.keys()),g=OffsetRange.ofStartAndLength(0,this._domNode.clientHeight);if(!g.isEmpty)for(const y of i){const k=new LineRange$1(y.startLineNumber,y.endLineNumber+1),L=this.itemProvider.getIntersectingGutterItems(k,e);transaction(V=>{for(const z of L){if(!z.range.intersect(k))continue;r.delete(z.id);let j=this.views.get(z.id);if(j)j.item.set(z,V);else{const ae=document.createElement("div");this._domNode.appendChild(ae);const le=observableValue("item",z),de=this.itemProvider.createView(le,ae);j=new ManagedGutterItemView(le,de,ae),this.views.set(z.id,j)}const ie=z.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(z.range.startLineNumber,!0)-t:this._editor.getBottomForLineNumber(z.range.startLineNumber-1,!1)-t,re=(z.range.isEmpty?ie:this._editor.getBottomForLineNumber(z.range.endLineNumberExclusive-1,!0)-t)-ie;j.domNode.style.top="".concat(ie,"px"),j.domNode.style.height="".concat(re,"px"),j.gutterItemView.layout(OffsetRange.ofStartAndLength(ie,re),g)}})}for(const y of r){const k=this.views.get(y);k.gutterItemView.dispose(),this._domNode.removeChild(k.domNode),this.views.delete(y)}}}class ManagedGutterItemView{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}class ActionRunnerWithContext extends ActionRunner{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class PositionOffsetTransformer{constructor(e){this.text=e,this.lineStartOffsetByLineIdx=[],this.lineStartOffsetByLineIdx.push(0);for(let t=0;tcheckAdjacentItems(e,(t,i)=>t.range.getEndPosition().isBeforeOrEqual(i.range.getStartPosition())))}apply(e){let t="",i=new Position$1(1,1);for(const g of this.edits){const y=g.range,k=y.getStartPosition(),L=y.getEndPosition(),V=rangeFromPositions(i,k);V.isEmpty()||(t+=e.getValueOfRange(V)),t+=g.text,i=L}const r=rangeFromPositions(i,e.endPositionExclusive);return r.isEmpty()||(t+=e.getValueOfRange(r)),t}applyToString(e){const t=new StringText(e);return this.apply(t)}getNewRanges(){const e=[];let t=0,i=0,r=0;for(const g of this.edits){const y=TextLength.ofText(g.text),k=Position$1.lift({lineNumber:g.range.startLineNumber+i,column:g.range.startColumn+(g.range.startLineNumber===t?r:0)}),L=y.createRange(k);e.push(L),i=L.endLineNumber-g.range.endLineNumber,r=L.endColumn-g.range.endColumn,t=g.range.endLineNumber}return e}}class SingleTextEdit{constructor(e,t){this.range=e,this.text=t}}function rangeFromPositions(n,e){if(!n.isBeforeOrEqual(e))throw new BugIndicatingError("start must be before end");return new Range$2(n.lineNumber,n.column,e.lineNumber,e.column)}class AbstractText{get endPositionExclusive(){return this.length.addToPosition(new Position$1(1,1))}}class StringText extends AbstractText{constructor(e){super(),this.value=e,this._t=new PositionOffsetTransformer(this.value)}getValueOfRange(e){return this._t.getOffsetRange(e).substring(this.value)}get length(){return this._t.textLength}}class TextModelText extends AbstractText{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new TextLength(e-1,t)}}class ToolBar extends Disposable{constructor(e,t,i={orientation:0}){var r;super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new EventMultiplexer),this.onDidChangeDropdownVisibility=this._onDidChangeDropdownVisibility.event,this.disposables=this._register(new DisposableStore),i.hoverDelegate=(r=i.hoverDelegate)!==null&&r!==void 0?r:this._register(createInstantHoverDelegate()),this.options=i,this.lookupKeybindings=typeof this.options.getKeyBinding=="function",this.toggleMenuAction=this._register(new ToggleMenuAction(()=>{var g;return(g=this.toggleMenuActionViewItem)===null||g===void 0?void 0:g.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new ActionBar(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(g,y)=>{var k;if(g.id===ToggleMenuAction.ID)return this.toggleMenuActionViewItem=new DropdownMenuActionViewItem(g,g.menuActions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:ThemeIcon.asClassNameArray((k=i.moreIcon)!==null&&k!==void 0?k:Codicon.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const L=i.actionViewItemProvider(g,y);if(L)return L}if(g instanceof SubmenuAction){const L=new DropdownMenuActionViewItem(g,g.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:g.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return L.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(L),this.disposables.add(this._onDidChangeDropdownVisibility.add(L.onDidChangeVisibility)),L}}}))}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}setActions(e,t){this.clear();const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.forEach(r=>{this.actionBar.push(r,{icon:!0,label:!1,keybinding:this.getKeybindingLabel(r)})})}getKeybindingLabel(e){var t,i,r;const g=this.lookupKeybindings?(i=(t=this.options).getKeyBinding)===null||i===void 0?void 0:i.call(t,e):void 0;return(r=g==null?void 0:g.getLabel())!==null&&r!==void 0?r:void 0}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}class ToggleMenuAction extends Action{constructor(e,t){t=t||localize("moreActions","More Actions..."),super(ToggleMenuAction.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}}ToggleMenuAction.ID="toolbar.toggle.more";var __decorate$1E=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1A=function(n,e){return function(t,i){e(t,i,n)}};let WorkbenchToolBar=class extends ToolBar{constructor(e,t,i,r,g,y,k){super(e,g,{getKeyBinding:V=>{var z;return(z=y.lookupKeybinding(V.id))!==null&&z!==void 0?z:void 0},...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=r,this._contextMenuService=g,this._sessionDisposables=this._store.add(new DisposableStore);const L=t==null?void 0:t.telemetrySource;L&&this._store.add(this.actionBar.onDidRun(V=>k.publicLog2("workbenchActionExecuted",{id:V.action.id,from:L})))}setActions(e,t=[],i){var r,g,y;this._sessionDisposables.clear();const k=e.slice(),L=t.slice(),V=[];let z=0;const j=[];let ie=!1;if(((r=this._options)===null||r===void 0?void 0:r.hiddenItemStrategy)!==-1)for(let oe=0;oele==null?void 0:le.id)),re=this._options.overflowBehavior.maxItems-oe.size;let ae=0;for(let le=0;le=re&&(k[le]=void 0,j[le]=de))}}coalesceInPlace(k),coalesceInPlace(j),super.setActions(k,Separator.join(j,L)),V.length>0&&this._sessionDisposables.add(addDisposableListener(this.getElement(),"contextmenu",oe=>{var re,ae,le,de,ue;const he=new StandardMouseEvent(getWindow$1(this.getElement()),oe),pe=this.getItemAction(he.target);if(!pe)return;he.preventDefault(),he.stopPropagation();let Ce=!1;if(z===1&&((re=this._options)===null||re===void 0?void 0:re.hiddenItemStrategy)===0){Ce=!0;for(let Ie=0;Iethis._menuService.resetHiddenStates(i)}))),this._contextMenuService.showContextMenu({getAnchor:()=>he,getActions:()=>xe,menuId:(le=this._options)===null||le===void 0?void 0:le.contextMenu,menuActionOptions:{renderShortTitle:!0,...(de=this._options)===null||de===void 0?void 0:de.menuOptions},skipTelemetry:typeof((ue=this._options)===null||ue===void 0?void 0:ue.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};WorkbenchToolBar=__decorate$1E([__param$1A(2,IMenuService),__param$1A(3,IContextKeyService),__param$1A(4,IContextMenuService),__param$1A(5,IKeybindingService),__param$1A(6,ITelemetryService)],WorkbenchToolBar);let MenuWorkbenchToolBar=class extends WorkbenchToolBar{constructor(e,t,i,r,g,y,k,L){super(e,{resetMenu:t,...i},r,g,y,k,L),this._onDidChangeMenuItems=this._store.add(new Emitter$1),this.onDidChangeMenuItems=this._onDidChangeMenuItems.event;const V=this._store.add(r.createMenu(t,g,{emitEventsForSubmenuChanges:!0})),z=()=>{var j,ie,oe;const re=[],ae=[];createAndFillInActionBarActions(V,i==null?void 0:i.menuOptions,{primary:re,secondary:ae},(j=i==null?void 0:i.toolbarOptions)===null||j===void 0?void 0:j.primaryGroup,(ie=i==null?void 0:i.toolbarOptions)===null||ie===void 0?void 0:ie.shouldInlineSubmenu,(oe=i==null?void 0:i.toolbarOptions)===null||oe===void 0?void 0:oe.useSeparatorsInPrimaryActions),e.classList.toggle("has-no-actions",re.length===0&&ae.length===0),super.setActions(re,ae)};this._store.add(V.onDidChange(()=>{z(),this._onDidChangeMenuItems.fire(this)})),z()}setActions(){throw new BugIndicatingError("This toolbar is populated from a menu.")}};MenuWorkbenchToolBar=__decorate$1E([__param$1A(3,IMenuService),__param$1A(4,IContextKeyService),__param$1A(5,IContextMenuService),__param$1A(6,IKeybindingService),__param$1A(7,ITelemetryService)],MenuWorkbenchToolBar);var __decorate$1D=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1z=function(n,e){return function(t,i){e(t,i,n)}};const emptyArr=[],width=35;let DiffEditorGutter=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._diffModel=t,this._editors=i,this._instantiationService=r,this._contextKeyService=g,this._menuService=y,this._menu=this._register(this._menuService.createMenu(MenuId.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=observableFromEvent(this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(k=>k.length>0),this.width=derived(this,k=>this._hasActions.read(k)?width:0),this.elements=h("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:width+"px"}},[]),this._currentDiff=derived(this,k=>{var L;const V=this._diffModel.read(k);if(!V)return;const z=(L=V.diff.read(k))===null||L===void 0?void 0:L.mappings,j=this._editors.modifiedCursor.read(k);if(j)return z==null?void 0:z.find(ie=>ie.lineRangeMapping.modified.contains(j.lineNumber))}),this._selectedDiffs=derived(this,k=>{const L=this._diffModel.read(k),V=L==null?void 0:L.diff.read(k);if(!V)return emptyArr;const z=this._editors.modifiedSelections.read(k);if(z.every(re=>re.isEmpty()))return emptyArr;const j=new LineRangeSet(z.map(re=>LineRange$1.fromRangeInclusive(re))),oe=V.mappings.filter(re=>re.lineRangeMapping.innerChanges&&j.intersects(re.lineRangeMapping.modified)).map(re=>({mapping:re,rangeMappings:re.lineRangeMapping.innerChanges.filter(ae=>z.some(le=>Range$2.areIntersecting(ae.modifiedRange,le)))}));return oe.length===0||oe.every(re=>re.rangeMappings.length===0)?emptyArr:oe}),this._register(prependRemoveOnDispose(e,this.elements.root)),this._register(addDisposableListener(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(applyStyle(this.elements.root,{display:this._hasActions.map(k=>k?"block":"none")})),this._register(new EditorGutter(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(k,L)=>{const V=this._diffModel.read(L);if(!V)return[];const z=V.diff.read(L);if(!z)return[];const j=this._selectedDiffs.read(L);if(j.length>0){const oe=DetailedLineRangeMapping.fromRangeMappings(j.flatMap(re=>re.rangeMappings));return[new DiffGutterItem(oe,!0,MenuId.DiffEditorSelectionToolbar,void 0,V.model.original.uri,V.model.modified.uri)]}const ie=this._currentDiff.read(L);return z.mappings.map(oe=>new DiffGutterItem(oe.lineRangeMapping.withInnerChangesFromLineRanges(),oe.lineRangeMapping===(ie==null?void 0:ie.lineRangeMapping),MenuId.DiffEditorHunkToolbar,void 0,V.model.original.uri,V.model.modified.uri))},createView:(k,L)=>this._instantiationService.createInstance(DiffToolBar,k,L,this)})),this._register(addDisposableListener(this.elements.gutter,EventType$1.MOUSE_WHEEL,k=>{this._editors.modified.getOption(103).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(k)},{passive:!1}))}computeStagedValue(e){var t;const i=(t=e.innerChanges)!==null&&t!==void 0?t:[];return new TextEdit(i.map(y=>new SingleTextEdit(y.originalRange,this._editors.modifiedModel.get().getValueInRange(y.modifiedRange)))).apply(new TextModelText(this._editors.original.getModel()))}layout(e){this.elements.gutter.style.left=e+"px"}};DiffEditorGutter=__decorate$1D([__param$1z(3,IInstantiationService),__param$1z(4,IContextKeyService),__param$1z(5,IMenuService)],DiffEditorGutter);class DiffGutterItem{constructor(e,t,i,r,g,y){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=r,this.originalUri=g,this.modifiedUri=y}get id(){return this.mapping.modified.toString()}get range(){var e;return(e=this.rangeOverride)!==null&&e!==void 0?e:this.mapping.modified}}let DiffToolBar=class extends Disposable{constructor(e,t,i,r){super(),this._item=e,this._elements=h("div.gutterItem",{style:{height:"20px",width:"34px"}},[h("div.background@background",{},[]),h("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,y=>y.showAlways),this._menuId=this._item.map(this,y=>y.menuId),this._isSmall=observableValue(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const g=this._register(r.createInstance(WorkbenchHoverDelegate,"element",!0,{position:{hoverPosition:1}}));this._register(appendRemoveOnDispose(t,this._elements.root)),this._register(autorun(y=>{const k=this._showAlways.read(y);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",k),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(autorunWithStore((y,k)=>{this._elements.buttons.replaceChildren();const L=k.add(r.createInstance(MenuWorkbenchToolBar,this._elements.buttons,this._menuId.read(y),{orientation:1,hoverDelegate:g,toolbarOptions:{primaryGroup:V=>V.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(y)?1:3},hiddenItemStrategy:0,actionRunner:new ActionRunnerWithContext(()=>{const V=this._item.get(),z=V.mapping;return{mapping:z,originalWithModifiedChanges:i.computeStagedValue(z),originalUri:V.originalUri,modifiedUri:V.modifiedUri}}),menuOptions:{shouldForwardArgs:!0}}));k.add(L.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight,this._elements.root.style.top=e.start+"px",this._elements.root.style.height=e.length+"px";const r=e.length/2-i/2,g=i;let y=e.start+r;const k=OffsetRange.tryCreate(g,t.endExclusive-g-i),L=OffsetRange.tryCreate(e.start+g,e.endExclusive-i-g);L&&k&&L.start=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1y=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorWidget=class extends DelegatingEditor{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,r,g,y,k,L){var V;super(),this._domElement=e,this._parentContextKeyService=r,this._parentInstantiationService=g,this._accessibilitySignalService=k,this._editorProgressService=L,this.elements=h("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[h("div.noModificationsOverlay@overlay",{style:{position:"absolute",height:"100%",visibility:"hidden"}},[$$f("span",{},"No Changes")]),h("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),h("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),h("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModel=observableValue(this,void 0),this._shouldDisposeDiffModel=!1,this.onDidChangeModel=Event$1.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService])),this._boundarySashes=observableValue(this,void 0),this._accessibleDiffViewerShouldBeVisible=observableValue(this,!1),this._accessibleDiffViewerVisible=derived(this,pe=>this._options.onlyShowAccessibleDiffViewer.read(pe)?!0:this._accessibleDiffViewerShouldBeVisible.read(pe)),this._movedBlocksLinesPart=observableValue(this,void 0),this._layoutInfo=derived(this,pe=>{var Ce,$e,xe,Ie,Ne;const Fe=this._rootSizeObserver.width.read(pe),Ve=this._rootSizeObserver.height.read(pe),Oe=this._sash.read(pe),ze=this._gutter.read(pe),qe=(Ce=ze==null?void 0:ze.width.read(pe))!==null&&Ce!==void 0?Ce:0,Ue=(xe=($e=this._overviewRulerPart.read(pe))===null||$e===void 0?void 0:$e.width)!==null&&xe!==void 0?xe:0;let Et,At,Lt,kt,ei;if(!!Oe){const ri=Oe.sashLeft.read(pe),ni=(Ne=(Ie=this._movedBlocksLinesPart.read(pe))===null||Ie===void 0?void 0:Ie.width.read(pe))!==null&&Ne!==void 0?Ne:0;Et=0,At=ri-qe-ni,ei=ri-qe,Lt=ri,kt=Fe-Lt-Ue}else ei=0,Et=qe,At=Math.max(5,this._editors.original.getLayoutInfo().decorationsLeft),Lt=qe+At,kt=Fe-Lt-Ue;return this.elements.original.style.left=Et+"px",this.elements.original.style.width=At+"px",this._editors.original.layout({width:At,height:Ve},!0),ze==null||ze.layout(ei),this.elements.modified.style.left=Lt+"px",this.elements.modified.style.width=kt+"px",this._editors.modified.layout({width:kt,height:Ve},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((pe,Ce)=>pe==null?void 0:pe.diff.read(Ce)),this.onDidUpdateDiff=Event$1.fromObservableLight(this._diffValue),y.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(toDisposable(()=>this._domElement.removeChild(this.elements.root))),this._rootSizeObserver=this._register(new ObservableElementSizeObserver(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout((V=t.automaticLayout)!==null&&V!==void 0?V:!1),this._options=this._instantiationService.createInstance(DiffEditorOptions,t),this._register(autorun(pe=>{this._options.setWidth(this._rootSizeObserver.width.read(pe))})),this._contextKeyService.createKey(EditorContextKeys.isEmbeddedDiffEditor.key,!1),this._register(bindContextKey(EditorContextKeys.isEmbeddedDiffEditor,this._contextKeyService,pe=>this._options.isInEmbeddedEditor.read(pe))),this._register(bindContextKey(EditorContextKeys.comparingMovedCode,this._contextKeyService,pe=>{var Ce;return!!(!((Ce=this._diffModel.read(pe))===null||Ce===void 0)&&Ce.movedTextToCompare.read(pe))})),this._register(bindContextKey(EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,pe=>this._options.couldShowInlineViewBecauseOfSize.read(pe))),this._register(bindContextKey(EditorContextKeys.diffEditorInlineMode,this._contextKeyService,pe=>!this._options.renderSideBySide.read(pe))),this._register(bindContextKey(EditorContextKeys.hasChanges,this._contextKeyService,pe=>{var Ce,$e,xe;return((xe=($e=(Ce=this._diffModel.read(pe))===null||Ce===void 0?void 0:Ce.diff.read(pe))===null||$e===void 0?void 0:$e.mappings.length)!==null&&xe!==void 0?xe:0)>0})),this._editors=this._register(this._instantiationService.createInstance(DiffEditorEditors,this.elements.original,this.elements.modified,this._options,i,(pe,Ce,$e,xe)=>this._createInnerEditor(pe,Ce,$e,xe))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalWritable,this._contextKeyService,pe=>this._options.originalEditable.read(pe))),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedWritable,this._contextKeyService,pe=>!this._options.readOnly.read(pe))),this._register(bindContextKey(EditorContextKeys.diffEditorOriginalUri,this._contextKeyService,pe=>{var Ce,$e;return($e=(Ce=this._diffModel.read(pe))===null||Ce===void 0?void 0:Ce.model.original.uri.toString())!==null&&$e!==void 0?$e:""})),this._register(bindContextKey(EditorContextKeys.diffEditorModifiedUri,this._contextKeyService,pe=>{var Ce,$e;return($e=(Ce=this._diffModel.read(pe))===null||Ce===void 0?void 0:Ce.model.modified.uri.toString())!==null&&$e!==void 0?$e:""})),this._overviewRulerPart=derivedDisposable(this,pe=>this._options.renderOverviewRuler.read(pe)?this._instantiationService.createInstance(readHotReloadableExport(OverviewRulerFeature,pe),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(Ce=>Ce.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store),this._sash=derivedDisposable(this,pe=>{const Ce=this._options.renderSideBySide.read(pe);return this.elements.root.classList.toggle("side-by-side",Ce),Ce?new DiffEditorSash(this._options,this.elements.root,{height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map(($e,xe)=>{var Ie,Ne;return $e-((Ne=(Ie=this._overviewRulerPart.read(xe))===null||Ie===void 0?void 0:Ie.width)!==null&&Ne!==void 0?Ne:0)})},this._boundarySashes):void 0}).recomputeInitiallyAndOnChange(this._store);const z=derivedDisposable(this,pe=>this._instantiationService.createInstance(readHotReloadableExport(HideUnchangedRegionsFeature,pe),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);derivedDisposable(this,pe=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorDecorations,pe),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const j=new Set,ie=new Set;let oe=!1;const re=derivedDisposable(this,pe=>this._instantiationService.createInstance(readHotReloadableExport(DiffEditorViewZones,pe),getWindow$1(this._domElement),this._editors,this._diffModel,this._options,this,()=>oe||z.get().isUpdatingHiddenAreas,j,ie)).recomputeInitiallyAndOnChange(this._store),ae=derived(this,pe=>{const Ce=re.read(pe).viewZones.read(pe).orig,$e=z.read(pe).viewZones.read(pe).origViewZones;return Ce.concat($e)}),le=derived(this,pe=>{const Ce=re.read(pe).viewZones.read(pe).mod,$e=z.read(pe).viewZones.read(pe).modViewZones;return Ce.concat($e)});this._register(applyViewZones(this._editors.original,ae,pe=>{oe=pe},j));let de;this._register(applyViewZones(this._editors.modified,le,pe=>{oe=pe,oe?de=StableEditorScrollState.capture(this._editors.modified):(de==null||de.restore(this._editors.modified),de=void 0)},ie)),this._accessibleDiffViewer=derivedDisposable(this,pe=>this._instantiationService.createInstance(readHotReloadableExport(AccessibleDiffViewer,pe),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(Ce,$e)=>this._accessibleDiffViewerShouldBeVisible.set(Ce,$e),this._options.onlyShowAccessibleDiffViewer.map(Ce=>!Ce),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((Ce,$e)=>{var xe;return(xe=Ce==null?void 0:Ce.diff.read($e))===null||xe===void 0?void 0:xe.mappings.map(Ie=>Ie.lineRangeMapping)}),new AccessibleDiffViewerModelFromEditors(this._editors))).recomputeInitiallyAndOnChange(this._store);const ue=this._accessibleDiffViewerVisible.map(pe=>pe?"hidden":"visible");this._register(applyStyle(this.elements.modified,{visibility:ue})),this._register(applyStyle(this.elements.original,{visibility:ue})),this._createDiffEditorContributions(),y.addDiffEditor(this),this._gutter=derivedDisposable(this,pe=>this._options.shouldRenderGutterMenu.read(pe)?this._instantiationService.createInstance(readHotReloadableExport(DiffEditorGutter,pe),this.elements.root,this._diffModel,this._editors):void 0),this._register(recomputeInitiallyAndOnChange(this._layoutInfo)),derivedDisposable(this,pe=>new(readHotReloadableExport(MovedBlocksLinesFeature,pe))(this.elements.root,this._diffModel,this._layoutInfo.map(Ce=>Ce.originalEditor),this._layoutInfo.map(Ce=>Ce.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,pe=>{this._movedBlocksLinesPart.set(pe,void 0)}),this._register(applyStyle(this.elements.overlay,{width:this._layoutInfo.map((pe,Ce)=>pe.originalEditor.width+(this._options.renderSideBySide.read(Ce)?0:pe.modifiedEditor.width)),visibility:derived(pe=>{var Ce,$e;return this._options.hideUnchangedRegions.read(pe)&&(($e=(Ce=this._diffModel.read(pe))===null||Ce===void 0?void 0:Ce.diff.read(pe))===null||$e===void 0?void 0:$e.mappings.length)===0?"visible":"hidden"})})),this._register(Event$1.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,pe=>this._handleCursorPositionChange(pe,!0))),this._register(Event$1.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,pe=>this._handleCursorPositionChange(pe,!1)));const he=this._diffModel.map(this,(pe,Ce)=>{if(pe)return pe.diff.read(Ce)===void 0&&!pe.isDiffUpToDate.read(Ce)});this._register(autorunWithStore((pe,Ce)=>{if(he.read(pe)===!0){const $e=this._editorProgressService.show(!0,1e3);Ce.add(toDisposable(()=>$e.done()))}})),this._register(toDisposable(()=>{var pe;this._shouldDisposeDiffModel&&((pe=this._diffModel.get())===null||pe===void 0||pe.dispose())})),this._register(autorunWithStore((pe,Ce)=>{Ce.add(new(readHotReloadableExport(RevertButtonsFeature,pe))(this._editors,this._diffModel,this._options,this))}))}_createInnerEditor(e,t,i,r){return e.createInstance(CodeEditorWidget,t,i,r)}_createDiffEditorContributions(){const e=EditorExtensionsRegistry.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){onUnexpectedError(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return EditorType.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var e;const t=this._editors.original.saveViewState(),i=this._editors.modified.saveViewState();return{original:t,modified:i,modelState:(e=this._diffModel.get())===null||e===void 0?void 0:e.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())===null||t===void 0||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(DiffEditorViewModel,e,this._options)}getModel(){var e,t;return(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.model)!==null&&t!==void 0?t:null}setModel(e,t){!e&&this._diffModel.get()&&this._accessibleDiffViewer.get().close();const i=e?"model"in e?{model:e,shouldDispose:!1}:{model:this.createViewModel(e),shouldDispose:!0}:void 0;this._diffModel.get()!==(i==null?void 0:i.model)&&subtransaction(t,r=>{var g;observableFromEvent.batchEventsGlobally(r,()=>{this._editors.original.setModel(i?i.model.model.original:null),this._editors.modified.setModel(i?i.model.model.modified:null)});const y=this._diffModel.get(),k=this._shouldDisposeDiffModel;this._shouldDisposeDiffModel=(g=i==null?void 0:i.shouldDispose)!==null&&g!==void 0?g:!1,this._diffModel.set(i==null?void 0:i.model,r),k&&(y==null||y.dispose())})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get();return t?toLineChanges(t):null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}])}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(r=>({range:r.modifiedRange,text:t.model.original.getValueInRange(r.originalRange)}));this._editors.modified.executeEdits("diffEditor",i)}_goTo(e){this._editors.modified.setPosition(new Position$1(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var t,i,r,g;const y=(i=(t=this._diffModel.get())===null||t===void 0?void 0:t.diff.get())===null||i===void 0?void 0:i.mappings;if(!y||y.length===0)return;const k=this._editors.modified.getPosition().lineNumber;let L;e==="next"?L=(r=y.find(V=>V.lineRangeMapping.modified.startLineNumber>k))!==null&&r!==void 0?r:y[0]:L=(g=findLast$1(y,V=>V.lineRangeMapping.modified.startLineNumber{var t;const i=(t=e.diff.get())===null||t===void 0?void 0:t.mappings;!i||i.length===0||this._goTo(i[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var e,t;const i=this._editors.modified.hasWidgetFocus(),r=i?this._editors.modified:this._editors.original,g=i?this._editors.original:this._editors.modified;let y;const k=r.getSelection();if(k){const L=(t=(e=this._diffModel.get())===null||e===void 0?void 0:e.diff.get())===null||t===void 0?void 0:t.mappings.map(V=>i?V.lineRangeMapping.flip():V.lineRangeMapping);if(L){const V=translatePosition(k.getStartPosition(),L),z=translatePosition(k.getEndPosition(),L);y=Range$2.plusRange(V,z)}}return{destination:g,destinationSelection:y}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&transaction(i=>{for(const r of t)r.collapseAll(i)})}showAllUnchangedRegions(){var e;const t=(e=this._diffModel.get())===null||e===void 0?void 0:e.unchangedRegions.get();t&&transaction(i=>{for(const r of t)r.showAll(i)})}_handleCursorPositionChange(e,t){var i,r;if((e==null?void 0:e.reason)===3){const g=(r=(i=this._diffModel.get())===null||i===void 0?void 0:i.diff.get())===null||r===void 0?void 0:r.mappings.find(y=>t?y.lineRangeMapping.modified.contains(e.position.lineNumber):y.lineRangeMapping.original.contains(e.position.lineNumber));g!=null&&g.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):g!=null&&g.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):g&&this._accessibilitySignalService.playSignal(AccessibilitySignal.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};DiffEditorWidget=__decorate$1C([__param$1y(3,IContextKeyService),__param$1y(4,IInstantiationService),__param$1y(5,ICodeEditorService),__param$1y(6,IAccessibilitySignalService),__param$1y(7,IEditorProgressService)],DiffEditorWidget);function toLineChanges(n){return n.mappings.map(e=>{const t=e.lineRangeMapping;let i,r,g,y,k=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,r=0,k=void 0):(i=t.original.startLineNumber,r=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(g=t.modified.startLineNumber-1,y=0,k=void 0):(g=t.modified.startLineNumber,y=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:r,modifiedStartLineNumber:g,modifiedEndLineNumber:y,charChanges:k==null?void 0:k.map(L=>({originalStartLineNumber:L.originalRange.startLineNumber,originalStartColumn:L.originalRange.startColumn,originalEndLineNumber:L.originalRange.endLineNumber,originalEndColumn:L.originalRange.endColumn,modifiedStartLineNumber:L.modifiedRange.startLineNumber,modifiedStartColumn:L.modifiedRange.startColumn,modifiedEndLineNumber:L.modifiedRange.endLineNumber,modifiedEndColumn:L.modifiedRange.endColumn}))}})}var __decorate$1B=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1x=function(n,e){return function(t,i){e(t,i,n)}};let LAST_GENERATED_COMMAND_ID=0,ariaDomNodeCreated=!1;function createAriaDomNode(n){if(!n){if(ariaDomNodeCreated)return;ariaDomNodeCreated=!0}setARIAContainer(n||mainWindow.document.body)}let StandaloneCodeEditor=class extends CodeEditorWidget{constructor(e,t,i,r,g,y,k,L,V,z,j,ie){const oe={...t};oe.ariaLabel=oe.ariaLabel||StandaloneCodeEditorNLS.editorViewAccessibleLabel,oe.ariaLabel=oe.ariaLabel+";"+StandaloneCodeEditorNLS.accessibilityHelpMessage,super(e,oe,{},i,r,g,y,L,V,z,j,ie),k instanceof StandaloneKeybindingService?this._standaloneKeybindingService=k:this._standaloneKeybindingService=null,createAriaDomNode(oe.ariaContainerElement),setHoverDelegateFactory((re,ae)=>i.createInstance(WorkbenchHoverDelegate,re,ae,{}))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const r="DYNAMIC_"+ ++LAST_GENERATED_COMMAND_ID,g=ContextKeyExpr.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(r,e,t,g),r}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Disposable.None;const t=e.id,i=e.label,r=ContextKeyExpr.and(ContextKeyExpr.equals("editorId",this.getId()),ContextKeyExpr.deserialize(e.precondition)),g=e.keybindings,y=ContextKeyExpr.and(r,ContextKeyExpr.deserialize(e.keybindingContext)),k=e.contextMenuGroupId||null,L=e.contextMenuOrder||0,V=(oe,...re)=>Promise.resolve(e.run(this,...re)),z=new DisposableStore,j=this.getId()+":"+t;if(z.add(CommandsRegistry.registerCommand(j,V)),k){const oe={command:{id:j,title:i},when:r,group:k,order:L};z.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,oe))}if(Array.isArray(g))for(const oe of g)z.add(this._standaloneKeybindingService.addDynamicKeybinding(j,oe,V,y));const ie=new InternalEditorAction(j,i,i,void 0,r,(...oe)=>Promise.resolve(e.run(this,...oe)),this._contextKeyService);return this._actions.set(t,ie),z.add(toDisposable(()=>{this._actions.delete(t)})),z}_triggerCommand(e,t){if(this._codeEditorService instanceof StandaloneCodeEditorService)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};StandaloneCodeEditor=__decorate$1B([__param$1x(2,IInstantiationService),__param$1x(3,ICodeEditorService),__param$1x(4,ICommandService),__param$1x(5,IContextKeyService),__param$1x(6,IKeybindingService),__param$1x(7,IThemeService),__param$1x(8,INotificationService),__param$1x(9,IAccessibilityService),__param$1x(10,ILanguageConfigurationService),__param$1x(11,ILanguageFeaturesService)],StandaloneCodeEditor);let StandaloneEditor=class extends StandaloneCodeEditor{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe,re,ae){const le={...t};updateConfigurationService(z,le,!1);const de=L.registerEditorContainer(e);typeof le.theme=="string"&&L.setTheme(le.theme),typeof le.autoDetectHighContrast<"u"&&L.setAutoDetectHighContrast(!!le.autoDetectHighContrast);const ue=le.model;delete le.model,super(e,le,i,r,g,y,k,L,V,j,re,ae),this._configurationService=z,this._standaloneThemeService=L,this._register(de);let he;if(typeof ue>"u"){const pe=oe.getLanguageIdByMimeType(le.language)||le.language||PLAINTEXT_LANGUAGE_ID;he=createTextModel(ie,oe,le.value||"",pe,void 0),this._ownsModel=!0}else he=ue,this._ownsModel=!1;if(this._attachModel(he),he){const pe={oldModelUrl:null,newModelUrl:he.uri};this._onDidChangeModel.fire(pe)}}dispose(){super.dispose()}updateOptions(e){updateConfigurationService(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};StandaloneEditor=__decorate$1B([__param$1x(2,IInstantiationService),__param$1x(3,ICodeEditorService),__param$1x(4,ICommandService),__param$1x(5,IContextKeyService),__param$1x(6,IKeybindingService),__param$1x(7,IStandaloneThemeService),__param$1x(8,INotificationService),__param$1x(9,IConfigurationService),__param$1x(10,IAccessibilityService),__param$1x(11,IModelService),__param$1x(12,ILanguageService),__param$1x(13,ILanguageConfigurationService),__param$1x(14,ILanguageFeaturesService)],StandaloneEditor);let StandaloneDiffEditor2=class extends DiffEditorWidget{constructor(e,t,i,r,g,y,k,L,V,z,j,ie){const oe={...t};updateConfigurationService(L,oe,!0);const re=y.registerEditorContainer(e);typeof oe.theme=="string"&&y.setTheme(oe.theme),typeof oe.autoDetectHighContrast<"u"&&y.setAutoDetectHighContrast(!!oe.autoDetectHighContrast),super(e,oe,{},r,i,g,ie,z),this._configurationService=L,this._standaloneThemeService=y,this._register(re)}dispose(){super.dispose()}updateOptions(e){updateConfigurationService(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(StandaloneCodeEditor,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};StandaloneDiffEditor2=__decorate$1B([__param$1x(2,IInstantiationService),__param$1x(3,IContextKeyService),__param$1x(4,ICodeEditorService),__param$1x(5,IStandaloneThemeService),__param$1x(6,INotificationService),__param$1x(7,IConfigurationService),__param$1x(8,IContextMenuService),__param$1x(9,IEditorProgressService),__param$1x(10,IClipboardService),__param$1x(11,IAccessibilitySignalService)],StandaloneDiffEditor2);function createTextModel(n,e,t,i,r){if(t=t||"",!i){const g=t.indexOf("\n");let y=t;return g!==-1&&(y=t.substring(0,g)),doCreateModel(n,t,e.createByFilepathOrFirstLine(r||null,y),r)}return doCreateModel(n,t,e.createById(i),r)}function doCreateModel(n,e,t,i){return n.createModel(e,t,i)}var __decorate$1A=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1w=function(n,e){return function(t,i){e(t,i,n)}};class TemplateData{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let DiffEditorItemTemplate=class extends Disposable{constructor(e,t,i,r){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=r,this._viewModel=observableValue(this,void 0),this._collapsed=derived(this,y=>{var k;return(k=this._viewModel.read(y))===null||k===void 0?void 0:k.collapsed.read(y)}),this._editorContentHeight=observableValue(this,500),this.contentHeight=derived(this,y=>(this._collapsed.read(y)?0:this._editorContentHeight.read(y))+this._outerEditorHeight),this._modifiedContentWidth=observableValue(this,0),this._modifiedWidth=observableValue(this,0),this._originalContentWidth=observableValue(this,0),this._originalWidth=observableValue(this,0),this.maxScroll=derived(this,y=>{const k=this._modifiedContentWidth.read(y)-this._modifiedWidth.read(y),L=this._originalContentWidth.read(y)-this._originalWidth.read(y);return k>L?{maxScroll:k,width:this._modifiedWidth.read(y)}:{maxScroll:L,width:this._originalWidth.read(y)}}),this._elements=h("div.multiDiffEntry",[h("div.header@header",[h("div.header-content",[h("div.collapse-button@collapseButton"),h("div.file-path",[h("div.title.modified.show-file-icons@primaryPath",[]),h("div.status.deleted@status",["R"]),h("div.title.original.show-file-icons@secondaryPath",[])]),h("div.actions@actions")])]),h("div.editorParent",[h("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(DiffEditorWidget,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode},{})),this.isModifedFocused=isFocused(this.editor.getModifiedEditor()),this.isOriginalFocused=isFocused(this.editor.getOriginalEditor()),this.isFocused=derived(this,y=>this.isModifedFocused.read(y)||this.isOriginalFocused.read(y)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=new DisposableStore,this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const g=new Button$1(this._elements.collapseButton,{});this._register(autorun(y=>{g.element.className="",g.icon=this._collapsed.read(y)?Codicon.chevronRight:Codicon.chevronDown})),this._register(g.onDidClick(()=>{var y;(y=this._viewModel.get())===null||y===void 0||y.collapsed.set(!this._collapsed.get(),void 0)})),this._register(autorun(y=>{this._elements.editor.style.display=this._collapsed.read(y)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(y=>{const k=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(k,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(y=>{const k=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(k,void 0)})),this._register(this.editor.onDidContentSizeChange(y=>{globalTransaction(k=>{this._editorContentHeight.set(y.contentHeight,k),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),k),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),k)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(y=>{if(this._isSettingScrollTop||!y.scrollTopChanged||!this._data)return;const k=y.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(k)})),this._register(autorun(y=>{const k=this.isFocused.read(y);this._elements.root.classList.toggle("focused",k)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._register(this._instantiationService.createInstance(MenuWorkbenchToolBar,this._elements.actions,MenuId.MultiDiffEditorFileToolbar,{actionRunner:this._register(new ActionRunnerWithContext(()=>{var y;return(y=this._viewModel.get())===null||y===void 0?void 0:y.modifiedUri})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:y=>y.startsWith("navigation")},actionViewItemProvider:(y,k)=>createActionViewItem(r,y,k)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(r){return{...r,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}const i=e.viewModel.entry.value;i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{var r;this.editor.updateOptions(t((r=i.options)!==null&&r!==void 0?r:{}))})),globalTransaction(r=>{var g,y,k,L;(g=this._resourceLabel)===null||g===void 0||g.setUri((y=e.viewModel.modifiedUri)!==null&&y!==void 0?y:e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let V=!1,z=!1,j=!1,ie="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(ie="R",V=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(ie="A",j=!0):(ie="D",z=!0),this._elements.status.classList.toggle("renamed",V),this._elements.status.classList.toggle("deleted",z),this._elements.status.classList.toggle("added",j),this._elements.status.innerText=ie,(k=this._resourceLabel2)===null||k===void 0||k.setUri(V?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,r),this.editor.setModel(e.viewModel.diffEditorViewModel,r),this.editor.updateOptions(t((L=i.options)!==null&&L!==void 0?L:{}))})}render(e,t,i,r){this._elements.root.style.visibility="visible",this._elements.root.style.top="".concat(e.start,"px"),this._elements.root.style.height="".concat(e.length,"px"),this._elements.root.style.width="".concat(t,"px"),this._elements.root.style.position="absolute";const g=e.length-this._headerHeight,y=Math.max(0,Math.min(r.start-e.start,g));this._elements.header.style.transform="translateY(".concat(y,"px)"),globalTransaction(k=>{this.editor.layout({width:t-2*8-2*1,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",y>0||i>0),this._elements.header.classList.toggle("collapsed",y===g)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};DiffEditorItemTemplate=__decorate$1A([__param$1w(3,IInstantiationService)],DiffEditorItemTemplate);function isFocused(n){return observableFromEvent(e=>{const t=new DisposableStore;return t.add(n.onDidFocusEditorWidget(()=>e(!0))),t.add(n.onDidBlurEditorWidget(()=>e(!1))),t},()=>n.hasTextFocus())}class ObjectPool{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){var t;let i;if(this._unused.size===0)i=this._create(e),this._itemData.set(i,e);else{const r=[...this._unused.values()];i=(t=r.find(g=>this._itemData.get(g).getId()===e.getId()))!==null&&t!==void 0?t:r[0],this._unused.delete(i),this._itemData.set(i,e),i.setData(e)}return this._used.add(i),{object:i,dispose:()=>{this._used.delete(i),this._unused.size>5?i.dispose():this._unused.add(i)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var __decorate$1z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1v=function(n,e){return function(t,i){e(t,i,n)}};let MultiDiffEditorWidgetImpl=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=r,this._parentContextKeyService=g,this._parentInstantiationService=y,this._elements=h("div.monaco-component.multiDiffEditor",[h("div@content",{style:{overflow:"hidden"}}),h("div.monaco-editor@overflowWidgetsDomNode",{})]),this._sizeObserver=this._register(new ObservableElementSizeObserver(this._element,void 0)),this._objectPool=this._register(new ObjectPool(L=>{const V=this._instantiationService.createInstance(DiffEditorItemTemplate,this._elements.content,this._elements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return V.setData(L),V})),this._scrollable=this._register(new Scrollable$1({forceIntegerValues:!1,scheduleAtNextAnimationFrame:L=>scheduleAtNextAnimationFrame(getWindow$1(this._element),L),smoothScrollDuration:100})),this._scrollableElement=this._register(new SmoothScrollableElement(this._elements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this.scrollTop=observableFromEvent(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=observableFromEvent(this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItems=derivedWithStore(this,(L,V)=>{const z=this._viewModel.read(L);return z?z.items.read(L).map(ie=>{var oe;const re=V.add(new VirtualizedViewItem(ie,this._objectPool,this.scrollLeft,le=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+le})})),ae=(oe=this._lastDocStates)===null||oe===void 0?void 0:oe[re.getKey()];return ae&&transaction(le=>{re.setViewState(ae,le)}),re}):[]}),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(L,V)=>L.reduce((z,j)=>z+j.contentHeight.read(V)+this._spaceBetweenPx,0)),this.activeDiffItem=derived(this,L=>this._viewItems.read(L).find(V=>{var z;return(z=V.template.read(L))===null||z===void 0?void 0:z.isFocused.read(L)})),this.lastActiveDiffItem=derivedObservableWithCache((L,V)=>{var z;return(z=this.activeDiffItem.read(L))!==null&&z!==void 0?z:V}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._parentInstantiationService.createChild(new ServiceCollection([IContextKeyService,this._contextKeyService])),this._lastDocStates={},this._contextKeyService.createKey(EditorContextKeys.inMultiDiffEditor.key,!0),this._register(autorunWithStore((L,V)=>{const z=this._viewModel.read(L);if(z&&z.contextKeys)for(const[j,ie]of Object.entries(z.contextKeys)){const oe=this._contextKeyService.createKey(j,void 0);oe.set(ie),V.add(toDisposable(()=>oe.reset()))}}));const k=this._parentContextKeyService.createKey(EditorContextKeys.multiDiffEditorAllCollapsed.key,!1);this._register(autorun(L=>{const V=this._viewModel.read(L);if(V){const z=V.items.read(L).every(j=>j.collapsed.read(L));k.set(z)}})),this._register(autorun(L=>{const V=this.lastActiveDiffItem.read(L);transaction(z=>{var j;(j=this._viewModel.read(L))===null||j===void 0||j.activeDiffItem.set(V==null?void 0:V.viewModel,z)})})),this._register(autorun(L=>{const V=this._dimension.read(L);this._sizeObserver.observe(V)})),this._elements.content.style.position="relative",this._register(autorun(L=>{const V=this._sizeObserver.height.read(L);this._elements.root.style.height="".concat(V,"px");const z=this._totalHeight.read(L);this._elements.content.style.height="".concat(z,"px");const j=this._sizeObserver.width.read(L);let ie=j;const oe=this._viewItems.read(L),re=findFirstMaxBy(oe,ae=>ae.maxScroll.read(L).maxScroll);if(re){const ae=re.maxScroll.read(L);ie=j+ae.maxScroll}this._scrollableElement.setScrollDimensions({width:j,height:V,scrollHeight:z,scrollWidth:ie})})),e.replaceChildren(this._scrollableElement.getDomNode()),this._register(toDisposable(()=>{e.replaceChildren()})),this._register(this._register(autorun(L=>{globalTransaction(V=>{this.render(L)})})))}render(e){const t=this.scrollTop.read(e);let i=0,r=0,g=0;const y=this._sizeObserver.height.read(e),k=OffsetRange.ofStartAndLength(t,y),L=this._sizeObserver.width.read(e);for(const V of this._viewItems.read(e)){const z=V.contentHeight.read(e),j=Math.min(z,y),ie=OffsetRange.ofStartAndLength(r,j),oe=OffsetRange.ofStartAndLength(g,z);if(oe.isBefore(k))i-=z-j,V.hide();else if(oe.isAfter(k))V.hide();else{const re=Math.max(0,Math.min(k.start-oe.start,z-j));i-=re;const ae=OffsetRange.ofStartAndLength(t+i,y);V.render(ie,re,L,ae)}r+=j+this._spaceBetweenPx,g+=z+this._spaceBetweenPx}this._elements.content.style.transform="translateY(".concat(-(t+i),"px)")}};MultiDiffEditorWidgetImpl=__decorate$1z([__param$1v(4,IContextKeyService),__param$1v(5,IInstantiationService)],MultiDiffEditorWidgetImpl);class VirtualizedViewItem extends Disposable{constructor(e,t,i,r){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=r,this._templateRef=this._register(disposableObservableValue(this,void 0)),this.contentHeight=derived(this,g=>{var y,k,L;return(L=(k=(y=this._templateRef.read(g))===null||y===void 0?void 0:y.object.contentHeight)===null||k===void 0?void 0:k.read(g))!==null&&L!==void 0?L:this.viewModel.lastTemplateData.read(g).contentHeight}),this.maxScroll=derived(this,g=>{var y,k;return(k=(y=this._templateRef.read(g))===null||y===void 0?void 0:y.object.maxScroll.read(g))!==null&&k!==void 0?k:{maxScroll:0,scrollWidth:0}}),this.template=derived(this,g=>{var y;return(y=this._templateRef.read(g))===null||y===void 0?void 0:y.object}),this._isHidden=observableValue(this,!1),this._register(autorun(g=>{var y;const k=this._scrollLeft.read(g);(y=this._templateRef.read(g))===null||y===void 0||y.object.setScrollLeft(k)})),this._register(autorun(g=>{const y=this._templateRef.read(g);!y||!this._isHidden.read(g)||y.object.isFocused.read(g)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return"VirtualViewItem(".concat((e=this.viewModel.entry.value.modified)===null||e===void 0?void 0:e.uri.toString(),")")}getKey(){return this.viewModel.getKey()}setViewState(e,t){var i;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const r=this.viewModel.lastTemplateData.get(),g=(i=e.selections)===null||i===void 0?void 0:i.map(Selection$1.liftSelection);this.viewModel.lastTemplateData.set({...r,selections:g},t);const y=this._templateRef.get();y&&g&&y.object.editor.setSelections(g)}_updateTemplateData(e){var t;const i=this._templateRef.get();i&&this.viewModel.lastTemplateData.set({contentHeight:i.object.contentHeight.get(),selections:(t=i.object.editor.getSelections())!==null&&t!==void 0?t:void 0},e)}_clear(){const e=this._templateRef.get();e&&transaction(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,r){this._isHidden.set(!1,void 0);let g=this._templateRef.get();if(!g){g=this._objectPool.getUnusedObj(new TemplateData(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(g,void 0);const y=this.viewModel.lastTemplateData.get().selections;y&&g.object.editor.setSelections(y)}g.object.render(e,i,t,r)}}registerColor("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},localize("multiDiffEditor.headerBackground","The background color of the diff editor's header"));registerColor("multiDiffEditor.background",{dark:"editorBackground",light:"editorBackground",hcDark:"editorBackground",hcLight:"editorBackground"},localize("multiDiffEditor.background","The background color of the multi file diff editor"));registerColor("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},localize("multiDiffEditor.border","The border color of the multi file diff editor"));var __decorate$1y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1u=function(n,e){return function(t,i){e(t,i,n)}};let MultiDiffEditorWidget=class extends Disposable{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=observableValue(this,void 0),this._viewModel=observableValue(this,void 0),this._widgetImpl=derivedWithStore(this,(r,g)=>(readHotReloadableExport(DiffEditorItemTemplate,r),g.add(this._instantiationService.createInstance(readHotReloadableExport(MultiDiffEditorWidgetImpl,r),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory)))),this._register(recomputeInitiallyAndOnChange(this._widgetImpl))}};MultiDiffEditorWidget=__decorate$1y([__param$1u(2,IInstantiationService)],MultiDiffEditorWidget);function create(n,e,t){return StandaloneServices.initialize(t||{}).createInstance(StandaloneEditor,n,e)}function onDidCreateEditor(n){return StandaloneServices.get(ICodeEditorService).onCodeEditorAdd(t=>{n(t)})}function onDidCreateDiffEditor(n){return StandaloneServices.get(ICodeEditorService).onDiffEditorAdd(t=>{n(t)})}function getEditors(){return StandaloneServices.get(ICodeEditorService).listCodeEditors()}function getDiffEditors(){return StandaloneServices.get(ICodeEditorService).listDiffEditors()}function createDiffEditor(n,e,t){return StandaloneServices.initialize(t||{}).createInstance(StandaloneDiffEditor2,n,e)}function createMultiFileDiffEditor(n,e){const t=StandaloneServices.initialize(e||{});return new MultiDiffEditorWidget(n,{},t)}function addCommand(n){if(typeof n.id!="string"||typeof n.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return CommandsRegistry.registerCommand(n.id,n.run)}function addEditorAction(n){if(typeof n.id!="string"||typeof n.label!="string"||typeof n.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=ContextKeyExpr.deserialize(n.precondition),t=(r,...g)=>EditorCommand.runEditorCommand(r,g,e,(y,k,L)=>Promise.resolve(n.run(k,...L))),i=new DisposableStore;if(i.add(CommandsRegistry.registerCommand(n.id,t)),n.contextMenuGroupId){const r={command:{id:n.id,title:n.label},when:e,group:n.contextMenuGroupId,order:n.contextMenuOrder||0};i.add(MenuRegistry.appendMenuItem(MenuId.EditorContext,r))}if(Array.isArray(n.keybindings)){const r=StandaloneServices.get(IKeybindingService);if(!(r instanceof StandaloneKeybindingService))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const g=ContextKeyExpr.and(e,ContextKeyExpr.deserialize(n.keybindingContext));i.add(r.addDynamicKeybindings(n.keybindings.map(y=>({keybinding:y,command:n.id,when:g}))))}}return i}function addKeybindingRule(n){return addKeybindingRules([n])}function addKeybindingRules(n){const e=StandaloneServices.get(IKeybindingService);return e instanceof StandaloneKeybindingService?e.addDynamicKeybindings(n.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:ContextKeyExpr.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),Disposable.None)}function createModel(n,e,t){const i=StandaloneServices.get(ILanguageService),r=i.getLanguageIdByMimeType(e)||e;return createTextModel(StandaloneServices.get(IModelService),i,n,r,t)}function setModelLanguage(n,e){const t=StandaloneServices.get(ILanguageService),i=t.getLanguageIdByMimeType(e)||e||PLAINTEXT_LANGUAGE_ID;n.setLanguage(t.createById(i))}function setModelMarkers(n,e,t){n&&StandaloneServices.get(IMarkerService).changeOne(e,n.uri,t)}function removeAllMarkers(n){StandaloneServices.get(IMarkerService).changeAll(n,[])}function getModelMarkers(n){return StandaloneServices.get(IMarkerService).read(n)}function onDidChangeMarkers(n){return StandaloneServices.get(IMarkerService).onMarkerChanged(n)}function getModel(n){return StandaloneServices.get(IModelService).getModel(n)}function getModels(){return StandaloneServices.get(IModelService).getModels()}function onDidCreateModel(n){return StandaloneServices.get(IModelService).onModelAdded(n)}function onWillDisposeModel(n){return StandaloneServices.get(IModelService).onModelRemoved(n)}function onDidChangeModelLanguage(n){return StandaloneServices.get(IModelService).onModelLanguageChanged(t=>{n({model:t.model,oldLanguage:t.oldLanguageId})})}function createWebWorker(n){return createWebWorker$1(StandaloneServices.get(IModelService),StandaloneServices.get(ILanguageConfigurationService),n)}function colorizeElement(n,e){const t=StandaloneServices.get(ILanguageService),i=StandaloneServices.get(IStandaloneThemeService);return Colorizer.colorizeElement(i,t,n,e).then(()=>{i.registerEditorContainer(n)})}function colorize(n,e,t){const i=StandaloneServices.get(ILanguageService);return StandaloneServices.get(IStandaloneThemeService).registerEditorContainer(mainWindow.document.body),Colorizer.colorize(i,n,e,t)}function colorizeModelLine(n,e,t=4){return StandaloneServices.get(IStandaloneThemeService).registerEditorContainer(mainWindow.document.body),Colorizer.colorizeModelLine(n,e,t)}function getSafeTokenizationSupport$1(n){const e=TokenizationRegistry.get(n);return e||{getInitialState:()=>NullState,tokenize:(t,i,r)=>nullTokenize(n,r)}}function tokenize(n,e){TokenizationRegistry.getOrCreate(e);const t=getSafeTokenizationSupport$1(e),i=splitLines(n),r=[];let g=t.getInitialState();for(let y=0,k=i.length;y{var g;if(!i)return null;const y=(g=t.options)===null||g===void 0?void 0:g.selection;let k;return y&&typeof y.endLineNumber=="number"&&typeof y.endColumn=="number"?k=y:y&&(k={lineNumber:y.startLineNumber,column:y.startColumn}),await n.openCodeEditor(i,t.resource,k)?i:null})}function createMonacoEditorAPI(){return{create,getEditors,getDiffEditors,onDidCreateEditor,onDidCreateDiffEditor,createDiffEditor,addCommand,addEditorAction,addKeybindingRule,addKeybindingRules,createModel,setModelLanguage,setModelMarkers,getModelMarkers,removeAllMarkers,onDidChangeMarkers,getModels,getModel,onDidCreateModel,onWillDisposeModel,onDidChangeModelLanguage,createWebWorker,colorizeElement,colorize,colorizeModelLine,tokenize,defineTheme,setTheme,remeasureFonts,registerCommand:registerCommand$1,registerLinkOpener,registerEditorOpener,AccessibilitySupport,ContentWidgetPositionPreference,CursorChangeReason,DefaultEndOfLine,EditorAutoIndentStrategy,EditorOption,EndOfLinePreference,EndOfLineSequence,MinimapPosition,MinimapSectionHeaderStyle,MouseTargetType,OverlayWidgetPositionPreference,OverviewRulerLane:OverviewRulerLane$1,GlyphMarginLane:GlyphMarginLane$1,RenderLineNumbersType,RenderMinimap,ScrollbarVisibility,ScrollType,TextEditorCursorBlinkingStyle,TextEditorCursorStyle,TrackedRangeStickiness,WrappingIndent,InjectedTextCursorStops:InjectedTextCursorStops$1,PositionAffinity,ShowLightbulbIconMode,ConfigurationChangedEvent,BareFontInfo,FontInfo,TextModelResolvedOptions,FindMatch,ApplyUpdateResult,EditorZoom,createMultiFileDiffEditor,EditorType,EditorOptions}}function isArrayOf(n,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!n(t))return!1;return!0}function bool(n,e){return typeof n=="boolean"?n:e}function string(n,e){return typeof n=="string"?n:e}function arrayToHash(n){const e={};for(const t of n)e[t]=!0;return e}function createKeywordMatcher(n,e=!1){e&&(n=n.map(function(i){return i.toLowerCase()}));const t=arrayToHash(n);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function compileRegExp(n,e,t){e=e.replace(/@@/g,"");let i=0,r;do r=!1,e=e.replace(/@(\w+)/g,function(y,k){r=!0;let L="";if(typeof n[k]=="string")L=n[k];else if(n[k]&&n[k]instanceof RegExp)L=n[k].source;else throw n[k]===void 0?createError(n,"language definition does not contain attribute '"+k+"', used at: "+e):createError(n,"attribute reference '"+k+"' must be a string, used at: "+e);return empty(L)?"":"(?:"+L+")"}),i++;while(r&&i<5);e=e.replace(/\x01/g,"@");const g=(n.ignoreCase?"i":"")+(n.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let k=null,L=null;return V=>(L&&k===V||(k=V,L=new RegExp(substituteMatchesRe(n,e,V),g)),L)}return new RegExp(e,g)}function selectScrutinee(n,e,t,i){if(i<0)return n;if(i=100){i=i-100;const r=t.split(".");if(r.unshift(t),i=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw createError(n,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw createError(n,"the next state must be a string value in rule: "+e);{let r=t.next;if(!/^(@pop|@push|@popall)$/.test(r)&&(r[0]==="@"&&(r=r.substr(1)),r.indexOf("$")<0&&!stateExists(n,substituteMatches(n,r,"",[],""))))throw createError(n,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=r}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,n.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let r=0,g=t.length;r0&&i[0]==="^",this.name=this.name+": "+i,this.regex=compileRegExp(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=compileAction(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}};function compile(n,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={};t.languageId=n,t.includeLF=bool(e.includeLF,!1),t.noThrow=!1,t.maxStack=100,t.start=typeof e.start=="string"?e.start:null,t.ignoreCase=bool(e.ignoreCase,!1),t.unicode=bool(e.unicode,!1),t.tokenPostfix=string(e.tokenPostfix,"."+t.languageId),t.defaultToken=string(e.defaultToken,"source"),t.usesEmbedded=!1;const i=e;i.languageId=n,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function r(y,k,L){for(const V of L){let z=V.include;if(z){if(typeof z!="string")throw createError(t,"an 'include' attribute must be a string at: "+y);if(z[0]==="@"&&(z=z.substr(1)),!e.tokenizer[z])throw createError(t,"include target '"+z+"' is not defined at: "+y);r(y+"."+z,k,e.tokenizer[z])}else{const j=new Rule$1(y);if(Array.isArray(V)&&V.length>=1&&V.length<=3)if(j.setRegex(i,V[0]),V.length>=3)if(typeof V[1]=="string")j.setAction(i,{token:V[1],next:V[2]});else if(typeof V[1]=="object"){const ie=V[1];ie.next=V[2],j.setAction(i,ie)}else throw createError(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+y);else j.setAction(i,V[1]);else{if(!V.regex)throw createError(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+y);V.name&&typeof V.name=="string"&&(j.name=V.name),V.matchOnlyAtStart&&(j.matchOnlyAtLineStart=bool(V.matchOnlyAtLineStart,!1)),j.setRegex(i,V.regex),j.setAction(i,V.action)}k.push(j)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw createError(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const y in e.tokenizer)if(e.tokenizer.hasOwnProperty(y)){t.start||(t.start=y);const k=e.tokenizer[y];t.tokenizer[y]=new Array,r("tokenizer."+y,t.tokenizer[y],k)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw createError(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const g=[];for(const y of e.brackets){let k=y;if(k&&Array.isArray(k)&&k.length===3&&(k={token:k[2],open:k[0],close:k[1]}),k.open===k.close)throw createError(t,"open and close brackets in a 'brackets' attribute must be different: "+k.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if(typeof k.open=="string"&&typeof k.token=="string"&&typeof k.close=="string")g.push({token:k.token+t.tokenPostfix,open:fixCase(t,k.open),close:fixCase(t,k.close)});else throw createError(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=g,t.noThrow=!0,t}function register(n){ModesRegistry.registerLanguage(n)}function getLanguages(){let n=[];return n=n.concat(ModesRegistry.getLanguages()),n}function getEncodedLanguageId(n){return StandaloneServices.get(ILanguageService).languageIdCodec.encodeLanguageId(n)}function onLanguage(n,e){return StandaloneServices.withServices(()=>{const i=StandaloneServices.get(ILanguageService).onDidRequestRichLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function onLanguageEncountered(n,e){return StandaloneServices.withServices(()=>{const i=StandaloneServices.get(ILanguageService).onDidRequestBasicLanguageFeatures(r=>{r===n&&(i.dispose(),e())});return i})}function setLanguageConfiguration(n,e){if(!StandaloneServices.get(ILanguageService).isRegisteredLanguageId(n))throw new Error("Cannot set configuration for unknown language ".concat(n));return StandaloneServices.get(ILanguageConfigurationService).register(n,e,100)}class EncodedTokenizationSupportAdapter{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return TokenizationSupportAdapter.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const r=this._actual.tokenizeEncoded(e,i);return new EncodedTokenizationResult(r.tokens,r.endState)}}class TokenizationSupportAdapter{constructor(e,t,i,r){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=r}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let r=0;for(let g=0,y=e.length;g0&&g[y-1]===ie)continue;let oe=j.startIndex;V===0?oe=0:oe{const i=await Promise.resolve(e.create());return i?isATokensProvider(i)?createTokenizationSupportAdapter(n,i):new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),n,compile(n,i),StandaloneServices.get(IConfigurationService)):null});return TokenizationRegistry.registerFactory(n,t)}function setTokensProvider(n,e){if(!StandaloneServices.get(ILanguageService).isRegisteredLanguageId(n))throw new Error("Cannot set tokens provider for unknown language ".concat(n));return isThenable(e)?registerTokensProviderFactory(n,{create:()=>e}):TokenizationRegistry.register(n,createTokenizationSupportAdapter(n,e))}function setMonarchTokensProvider(n,e){const t=i=>new MonarchTokenizer(StandaloneServices.get(ILanguageService),StandaloneServices.get(IStandaloneThemeService),n,compile(n,i),StandaloneServices.get(IConfigurationService));return isThenable(e)?registerTokensProviderFactory(n,{create:()=>e}):TokenizationRegistry.register(n,t(e))}function registerReferenceProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).referenceProvider.register(n,e)}function registerRenameProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).renameProvider.register(n,e)}function registerNewSymbolNameProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).newSymbolNamesProvider.register(n,e)}function registerSignatureHelpProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).signatureHelpProvider.register(n,e)}function registerHoverProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).hoverProvider.register(n,{provideHover:(i,r,g)=>{const y=i.getWordAtPosition(r);return Promise.resolve(e.provideHover(i,r,g)).then(k=>{if(k)return!k.range&&y&&(k.range=new Range$2(r.lineNumber,y.startColumn,r.lineNumber,y.endColumn)),k.range||(k.range=new Range$2(r.lineNumber,r.column,r.lineNumber,r.column)),k})}})}function registerDocumentSymbolProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentSymbolProvider.register(n,e)}function registerDocumentHighlightProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentHighlightProvider.register(n,e)}function registerLinkedEditingRangeProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).linkedEditingRangeProvider.register(n,e)}function registerDefinitionProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).definitionProvider.register(n,e)}function registerImplementationProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).implementationProvider.register(n,e)}function registerTypeDefinitionProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).typeDefinitionProvider.register(n,e)}function registerCodeLensProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).codeLensProvider.register(n,e)}function registerCodeActionProvider(n,e,t){return StandaloneServices.get(ILanguageFeaturesService).codeActionProvider.register(n,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(r,g,y,k)=>{const V=StandaloneServices.get(IMarkerService).read({resource:r.uri}).filter(z=>Range$2.areIntersectingOrTouching(z,g));return e.provideCodeActions(r,g,{markers:V,only:y.only,trigger:y.trigger},k)},resolveCodeAction:e.resolveCodeAction})}function registerDocumentFormattingEditProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentFormattingEditProvider.register(n,e)}function registerDocumentRangeFormattingEditProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentRangeFormattingEditProvider.register(n,e)}function registerOnTypeFormattingEditProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).onTypeFormattingEditProvider.register(n,e)}function registerLinkProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).linkProvider.register(n,e)}function registerCompletionItemProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).completionProvider.register(n,e)}function registerColorProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).colorProvider.register(n,e)}function registerFoldingRangeProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).foldingRangeProvider.register(n,e)}function registerDeclarationProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).declarationProvider.register(n,e)}function registerSelectionRangeProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).selectionRangeProvider.register(n,e)}function registerDocumentSemanticTokensProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentSemanticTokensProvider.register(n,e)}function registerDocumentRangeSemanticTokensProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).documentRangeSemanticTokensProvider.register(n,e)}function registerInlineCompletionsProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).inlineCompletionsProvider.register(n,e)}function registerInlineEditProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).inlineEditProvider.register(n,e)}function registerInlayHintsProvider(n,e){return StandaloneServices.get(ILanguageFeaturesService).inlayHintsProvider.register(n,e)}function createMonacoLanguagesAPI(){return{register,getLanguages,onLanguage,onLanguageEncountered,getEncodedLanguageId,setLanguageConfiguration,setColorMap,registerTokensProviderFactory,setTokensProvider,setMonarchTokensProvider,registerReferenceProvider,registerRenameProvider,registerNewSymbolNameProvider,registerCompletionItemProvider,registerSignatureHelpProvider,registerHoverProvider,registerDocumentSymbolProvider,registerDocumentHighlightProvider,registerLinkedEditingRangeProvider,registerDefinitionProvider,registerImplementationProvider,registerTypeDefinitionProvider,registerCodeLensProvider,registerCodeActionProvider,registerDocumentFormattingEditProvider,registerDocumentRangeFormattingEditProvider,registerOnTypeFormattingEditProvider,registerLinkProvider,registerColorProvider,registerFoldingRangeProvider,registerDeclarationProvider,registerSelectionRangeProvider,registerDocumentSemanticTokensProvider,registerDocumentRangeSemanticTokensProvider,registerInlineCompletionsProvider,registerInlineEditProvider,registerInlayHintsProvider,DocumentHighlightKind,CompletionItemKind,CompletionItemTag,CompletionItemInsertTextRule,SymbolKind,SymbolTag,IndentAction:IndentAction$1,CompletionTriggerKind,SignatureHelpTriggerKind,InlayHintKind,InlineCompletionTriggerKind,InlineEditTriggerKind,CodeActionTriggerType,NewSymbolNameTag,PartialAcceptTriggerKind,FoldingRangeKind,SelectedSuggestionInfo}}const IEditorCancellationTokens=createDecorator("IEditorCancelService"),ctxCancellableOperation=new RawContextKey("cancellableOperation",!1,localize("cancellableOperation","Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));registerSingleton(IEditorCancellationTokens,class{constructor(){this._tokens=new WeakMap}add(n,e){let t=this._tokens.get(n);t||(t=n.invokeWithinContext(r=>{const g=ctxCancellableOperation.bindTo(r.get(IContextKeyService)),y=new LinkedList;return{key:g,tokens:y}}),this._tokens.set(n,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(n){const e=this._tokens.get(n);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);class EditorKeybindingCancellationTokenSource extends CancellationTokenSource$1{constructor(e,t){super(t),this.editor=e,this._unregister=e.invokeWithinContext(i=>i.get(IEditorCancellationTokens).add(e,this))}dispose(){this._unregister(),super.dispose()}}registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:ctxCancellableOperation})}runEditorCommand(n,e){n.get(IEditorCancellationTokens).cancel(e)}});let EditorState$1=class Qd{constructor(e,t){if(this.flags=t,(this.flags&1)!==0){const i=e.getModel();this.modelVersionId=i?format("{0}#{1}",i.uri.toString(),i.getVersionId()):null}else this.modelVersionId=null;(this.flags&4)!==0?this.position=e.getPosition():this.position=null,(this.flags&2)!==0?this.selection=e.getSelection():this.selection=null,(this.flags&8)!==0?(this.scrollLeft=e.getScrollLeft(),this.scrollTop=e.getScrollTop()):(this.scrollLeft=-1,this.scrollTop=-1)}_equals(e){if(!(e instanceof Qd))return!1;const t=e;return!(this.modelVersionId!==t.modelVersionId||this.scrollLeft!==t.scrollLeft||this.scrollTop!==t.scrollTop||!this.position&&t.position||this.position&&!t.position||this.position&&t.position&&!this.position.equals(t.position)||!this.selection&&t.selection||this.selection&&!t.selection||this.selection&&t.selection&&!this.selection.equalsRange(t.selection))}validate(e){return this._equals(new Qd(e,this.flags))}};class EditorStateCancellationTokenSource extends EditorKeybindingCancellationTokenSource{constructor(e,t,i,r){super(e,r),this._listener=new DisposableStore,t&4&&this._listener.add(e.onDidChangeCursorPosition(g=>{(!i||!Range$2.containsPosition(i,g.position))&&this.cancel()})),t&2&&this._listener.add(e.onDidChangeCursorSelection(g=>{(!i||!Range$2.containsRange(i,g.selection))&&this.cancel()})),t&8&&this._listener.add(e.onDidScrollChange(g=>this.cancel())),t&1&&(this._listener.add(e.onDidChangeModel(g=>this.cancel())),this._listener.add(e.onDidChangeModelContent(g=>this.cancel())))}dispose(){this._listener.dispose(),super.dispose()}}class TextModelCancellationTokenSource extends CancellationTokenSource$1{constructor(e,t){super(t),this._listener=e.onDidChangeContent(()=>this.cancel())}dispose(){this._listener.dispose(),super.dispose()}}function isCodeEditor(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===EditorType.ICodeEditor:!1}function isDiffEditor(n){return n&&typeof n.getEditorType=="function"?n.getEditorType()===EditorType.IDiffEditor:!1}function isCompositeEditor(n){return!!n&&typeof n=="object"&&typeof n.onDidChangeActiveEditor=="function"}function getCodeEditor(n){return isCodeEditor(n)?n:isDiffEditor(n)?n.getModifiedEditor():isCompositeEditor(n)&&isCodeEditor(n.activeCodeEditor)?n.activeCodeEditor:null}class FormattingEdit{static _handleEolEdits(e,t){let i;const r=[];for(const g of t)typeof g.eol=="number"&&(i=g.eol),g.range&&typeof g.text=="string"&&r.push(g);return typeof i=="number"&&e.hasModel()&&e.getModel().pushEOL(i),r}static _isFullModelReplaceEdit(e,t){if(!e.hasModel())return!1;const i=e.getModel(),r=i.validateRange(t.range);return i.getFullModelRange().equalsRange(r)}static execute(e,t,i){i&&e.pushUndoStop();const r=StableEditorScrollState.capture(e),g=FormattingEdit._handleEolEdits(e,t);g.length===1&&FormattingEdit._isFullModelReplaceEdit(e,g[0])?e.executeEdits("formatEditsCommand",g.map(y=>EditOperation.replace(Range$2.lift(y.range),y.text))):e.executeEdits("formatEditsCommand",g.map(y=>EditOperation.replaceMove(Range$2.lift(y.range),y.text))),i&&e.pushUndoStop(),r.restoreRelativeVerticalPositionOfCursor(e)}}class ExtensionIdentifier{constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class ExtensionIdentifierSet{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(ExtensionIdentifier.toKey(e))}has(e){return this._set.has(ExtensionIdentifier.toKey(e))}}function getRealAndSyntheticDocumentFormattersOrdered(n,e,t){const i=[],r=new ExtensionIdentifierSet,g=n.ordered(t);for(const k of g)i.push(k),k.extensionId&&r.add(k.extensionId);const y=e.ordered(t);for(const k of y){if(k.extensionId){if(r.has(k.extensionId))continue;r.add(k.extensionId)}i.push({displayName:k.displayName,extensionId:k.extensionId,provideDocumentFormattingEdits(L,V,z){return k.provideDocumentRangeFormattingEdits(L,L.getFullModelRange(),V,z)}})}return i}class FormattingConflicts{static setFormatterSelector(e){return{dispose:FormattingConflicts._selectors.unshift(e)}}static async select(e,t,i,r){if(e.length===0)return;const g=Iterable.first(FormattingConflicts._selectors);if(g)return await g(e,t,i,r)}}FormattingConflicts._selectors=new LinkedList;async function formatDocumentRangesWithSelectedProvider(n,e,t,i,r,g,y){const k=n.get(IInstantiationService),{documentRangeFormattingEditProvider:L}=n.get(ILanguageFeaturesService),V=isCodeEditor(e)?e.getModel():e,z=L.ordered(V),j=await FormattingConflicts.select(z,V,i,2);j&&(r.report(j),await k.invokeFunction(formatDocumentRangesWithProvider,j,e,t,g,y))}async function formatDocumentRangesWithProvider(n,e,t,i,r,g){var y,k;const L=n.get(IEditorWorkerService),V=n.get(ILogService),z=n.get(IAccessibilitySignalService);let j,ie;isCodeEditor(t)?(j=t.getModel(),ie=new EditorStateCancellationTokenSource(t,5,void 0,r)):(j=t,ie=new TextModelCancellationTokenSource(t,r));const oe=[];let re=0;for(const he of asArray(i).sort(Range$2.compareRangesUsingStarts))re>0&&Range$2.areIntersectingOrTouching(oe[re-1],he)?oe[re-1]=Range$2.fromPositions(oe[re-1].getStartPosition(),he.getEndPosition()):re=oe.push(he);const ae=async he=>{var pe,Ce;V.trace("[format][provideDocumentRangeFormattingEdits] (request)",(pe=e.extensionId)===null||pe===void 0?void 0:pe.value,he);const $e=await e.provideDocumentRangeFormattingEdits(j,he,j.getFormattingOptions(),ie.token)||[];return V.trace("[format][provideDocumentRangeFormattingEdits] (response)",(Ce=e.extensionId)===null||Ce===void 0?void 0:Ce.value,$e),$e},le=(he,pe)=>{if(!he.length||!pe.length)return!1;const Ce=he.reduce(($e,xe)=>Range$2.plusRange($e,xe.range),he[0].range);if(!pe.some($e=>Range$2.intersectRanges(Ce,$e.range)))return!1;for(const $e of he)for(const xe of pe)if(Range$2.intersectRanges($e.range,xe.range))return!0;return!1},de=[],ue=[];try{if(typeof e.provideDocumentRangesFormattingEdits=="function"){V.trace("[format][provideDocumentRangeFormattingEdits] (request)",(y=e.extensionId)===null||y===void 0?void 0:y.value,oe);const he=await e.provideDocumentRangesFormattingEdits(j,oe,j.getFormattingOptions(),ie.token)||[];V.trace("[format][provideDocumentRangeFormattingEdits] (response)",(k=e.extensionId)===null||k===void 0?void 0:k.value,he),ue.push(he)}else{for(const he of oe){if(ie.token.isCancellationRequested)return!0;ue.push(await ae(he))}for(let he=0;he({text:Ce.text,range:Range$2.lift(Ce.range),forceMoveMarkers:!0})),Ce=>{for(const{range:$e}of Ce)if(Range$2.areIntersectingOrTouching($e,pe))return[new Selection$1($e.startLineNumber,$e.startColumn,$e.endLineNumber,$e.endColumn)];return null})}return z.playSignal(AccessibilitySignal.format,{userGesture:g}),!0}async function formatDocumentWithSelectedProvider(n,e,t,i,r,g){const y=n.get(IInstantiationService),k=n.get(ILanguageFeaturesService),L=isCodeEditor(e)?e.getModel():e,V=getRealAndSyntheticDocumentFormattersOrdered(k.documentFormattingEditProvider,k.documentRangeFormattingEditProvider,L),z=await FormattingConflicts.select(V,L,t,1);z&&(i.report(z),await y.invokeFunction(formatDocumentWithProvider,z,e,t,r,g))}async function formatDocumentWithProvider(n,e,t,i,r,g){const y=n.get(IEditorWorkerService),k=n.get(IAccessibilitySignalService);let L,V;isCodeEditor(t)?(L=t.getModel(),V=new EditorStateCancellationTokenSource(t,5,void 0,r)):(L=t,V=new TextModelCancellationTokenSource(t,r));let z;try{const j=await e.provideDocumentFormattingEdits(L,L.getFormattingOptions(),V.token);if(z=await y.computeMoreMinimalEdits(L.uri,j),V.token.isCancellationRequested)return!0}finally{V.dispose()}if(!z||z.length===0)return!1;if(isCodeEditor(t))FormattingEdit.execute(t,z,i!==2),i!==2&&t.revealPositionInCenterIfOutsideViewport(t.getPosition(),1);else{const[{range:j}]=z,ie=new Selection$1(j.startLineNumber,j.startColumn,j.endLineNumber,j.endColumn);L.pushEditOperations([ie],z.map(oe=>({text:oe.text,range:Range$2.lift(oe.range),forceMoveMarkers:!0})),oe=>{for(const{range:re}of oe)if(Range$2.areIntersectingOrTouching(re,ie))return[new Selection$1(re.startLineNumber,re.startColumn,re.endLineNumber,re.endColumn)];return null})}return k.playSignal(AccessibilitySignal.format,{userGesture:g}),!0}async function getDocumentRangeFormattingEditsUntilResult(n,e,t,i,r,g){const y=e.documentRangeFormattingEditProvider.ordered(t);for(const k of y){const L=await Promise.resolve(k.provideDocumentRangeFormattingEdits(t,i,r,g)).catch(onUnexpectedExternalError);if(isNonEmptyArray(L))return await n.computeMoreMinimalEdits(t.uri,L)}}async function getDocumentFormattingEditsUntilResult(n,e,t,i,r){const g=getRealAndSyntheticDocumentFormattersOrdered(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const y of g){const k=await Promise.resolve(y.provideDocumentFormattingEdits(t,i,r)).catch(onUnexpectedExternalError);if(isNonEmptyArray(k))return await n.computeMoreMinimalEdits(t.uri,k)}}function getOnTypeFormattingEdits(n,e,t,i,r,g,y){const k=e.onTypeFormattingEditProvider.ordered(t);return k.length===0||k[0].autoFormatTriggerCharacters.indexOf(r)<0?Promise.resolve(void 0):Promise.resolve(k[0].provideOnTypeFormattingEdits(t,i,r,g,y)).catch(onUnexpectedExternalError).then(L=>n.computeMoreMinimalEdits(t.uri,L))}CommandsRegistry.registerCommand("_executeFormatRangeProvider",async function(n,...e){const[t,i,r]=e;assertType(URI.isUri(t)),assertType(Range$2.isIRange(i));const g=n.get(ITextModelService),y=n.get(IEditorWorkerService),k=n.get(ILanguageFeaturesService),L=await g.createModelReference(t);try{return getDocumentRangeFormattingEditsUntilResult(y,k,L.object.textEditorModel,Range$2.lift(i),r,CancellationToken.None)}finally{L.dispose()}});CommandsRegistry.registerCommand("_executeFormatDocumentProvider",async function(n,...e){const[t,i]=e;assertType(URI.isUri(t));const r=n.get(ITextModelService),g=n.get(IEditorWorkerService),y=n.get(ILanguageFeaturesService),k=await r.createModelReference(t);try{return getDocumentFormattingEditsUntilResult(g,y,k.object.textEditorModel,i,CancellationToken.None)}finally{k.dispose()}});CommandsRegistry.registerCommand("_executeFormatOnTypeProvider",async function(n,...e){const[t,i,r,g]=e;assertType(URI.isUri(t)),assertType(Position$1.isIPosition(i)),assertType(typeof r=="string");const y=n.get(ITextModelService),k=n.get(IEditorWorkerService),L=n.get(ILanguageFeaturesService),V=await y.createModelReference(t);try{return getOnTypeFormattingEdits(k,L,V.object.textEditorModel,Position$1.lift(i),r,g,CancellationToken.None)}finally{V.dispose()}});EditorOptions.wrappingIndent.defaultValue=0;EditorOptions.glyphMargin.defaultValue=!1;EditorOptions.autoIndent.defaultValue=3;EditorOptions.overviewRulerLanes.defaultValue=2;FormattingConflicts.setFormatterSelector((n,e,t)=>Promise.resolve(n[0]));const api=createMonacoBaseAPI();api.editor=createMonacoEditorAPI();api.languages=createMonacoLanguagesAPI();const CancellationTokenSource=api.CancellationTokenSource,Emitter=api.Emitter,KeyCode=api.KeyCode,KeyMod=api.KeyMod,Position=api.Position,Range=api.Range,Selection=api.Selection,SelectionDirection=api.SelectionDirection,MarkerSeverity=api.MarkerSeverity,MarkerTag=api.MarkerTag,Uri=api.Uri,Token=api.Token,editor=api.editor,languages=api.languages,monacoEnvironment=globalThis.MonacoEnvironment;(monacoEnvironment!=null&&monacoEnvironment.globalAPI||typeof define=="function"&&define.amd)&&(globalThis.monaco=api);typeof globalThis.require<"u"&&typeof globalThis.require.config=="function"&&globalThis.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const monaco_editor_core_star=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource,Emitter,KeyCode,KeyMod,MarkerSeverity,MarkerTag,Position,Range,Selection,SelectionDirection,Token,Uri,editor,languages},Symbol.toStringTag,{value:"Module"}));/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.48.0(0037b13fb5d186fdf1e7df51a9416a2de2b8c670) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$4=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__getOwnPropNames$3=Object.getOwnPropertyNames,__hasOwnProp$4=Object.prototype.hasOwnProperty,__copyProps$3=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$3(e))!__hasOwnProp$4.call(n,r)&&r!==t&&__defProp$4(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$3(e,r))||i.enumerable});return n},__reExport$3=(n,e,t)=>(__copyProps$3(n,e,"default"),t),monaco_editor_core_exports$3={};__reExport$3(monaco_editor_core_exports$3,monaco_editor_core_star);var languageDefinitions={},lazyLanguageLoaders={},LazyLanguageLoader=class Yh{static getOrCreate(e){return lazyLanguageLoaders[e]||(lazyLanguageLoaders[e]=new Yh(e)),lazyLanguageLoaders[e]}constructor(e){this._languageId=e,this._loadingTriggered=!1,this._lazyLoadPromise=new Promise((t,i)=>{this._lazyLoadPromiseResolve=t,this._lazyLoadPromiseReject=i})}load(){return this._loadingTriggered||(this._loadingTriggered=!0,languageDefinitions[this._languageId].loader().then(e=>this._lazyLoadPromiseResolve(e),e=>this._lazyLoadPromiseReject(e))),this._lazyLoadPromise}};function registerLanguage(n){const e=n.id;languageDefinitions[e]=n,monaco_editor_core_exports$3.languages.register(n);const t=LazyLanguageLoader.getOrCreate(e);monaco_editor_core_exports$3.languages.registerTokensProviderFactory(e,{create:async()=>(await t.load()).language}),monaco_editor_core_exports$3.languages.onLanguageEncountered(e,async()=>{const i=await t.load();monaco_editor_core_exports$3.languages.setLanguageConfiguration(e,i.conf)})}registerLanguage({id:"abap",extensions:[".abap"],aliases:["abap","ABAP"],loader:()=>__vitePreload(()=>import("./abap-D_AlL1At.js"),[])});registerLanguage({id:"apex",extensions:[".cls"],aliases:["Apex","apex"],mimetypes:["text/x-apex-source","text/x-apex"],loader:()=>__vitePreload(()=>import("./apex-CmxtnpeZ.js"),[])});registerLanguage({id:"azcli",extensions:[".azcli"],aliases:["Azure CLI","azcli"],loader:()=>__vitePreload(()=>import("./azcli-C2vBA31i.js"),[])});registerLanguage({id:"bat",extensions:[".bat",".cmd"],aliases:["Batch","bat"],loader:()=>__vitePreload(()=>import("./bat-BAKJxmMu.js"),[])});registerLanguage({id:"bicep",extensions:[".bicep"],aliases:["Bicep"],loader:()=>__vitePreload(()=>import("./bicep-Cthxacx3.js"),[])});registerLanguage({id:"cameligo",extensions:[".mligo"],aliases:["Cameligo"],loader:()=>__vitePreload(()=>import("./cameligo-DzurU_SJ.js"),[])});registerLanguage({id:"clojure",extensions:[".clj",".cljs",".cljc",".edn"],aliases:["clojure","Clojure"],loader:()=>__vitePreload(()=>import("./clojure-COTUvZem.js"),[])});registerLanguage({id:"coffeescript",extensions:[".coffee"],aliases:["CoffeeScript","coffeescript","coffee"],mimetypes:["text/x-coffeescript","text/coffeescript"],loader:()=>__vitePreload(()=>import("./coffee-Bux12N06.js"),[])});registerLanguage({id:"c",extensions:[".c",".h"],aliases:["C","c"],loader:()=>__vitePreload(()=>import("./cpp-DkOsvrPi.js"),[])});registerLanguage({id:"cpp",extensions:[".cpp",".cc",".cxx",".hpp",".hh",".hxx"],aliases:["C++","Cpp","cpp"],loader:()=>__vitePreload(()=>import("./cpp-DkOsvrPi.js"),[])});registerLanguage({id:"csharp",extensions:[".cs",".csx",".cake"],aliases:["C#","csharp"],loader:()=>__vitePreload(()=>import("./csharp-DKqJBhJO.js"),[])});registerLanguage({id:"csp",extensions:[],aliases:["CSP","csp"],loader:()=>__vitePreload(()=>import("./csp-CqIl6iSx.js"),[])});registerLanguage({id:"css",extensions:[".css"],aliases:["CSS","css"],mimetypes:["text/css"],loader:()=>__vitePreload(()=>import("./css-BuPITF0M.js"),[])});registerLanguage({id:"cypher",extensions:[".cypher",".cyp"],aliases:["Cypher","OpenCypher"],loader:()=>__vitePreload(()=>import("./cypher-C0NOBBnI.js"),[])});registerLanguage({id:"dart",extensions:[".dart"],aliases:["Dart","dart"],mimetypes:["text/x-dart-source","text/x-dart"],loader:()=>__vitePreload(()=>import("./dart-DRkxg4lA.js"),[])});registerLanguage({id:"dockerfile",extensions:[".dockerfile"],filenames:["Dockerfile"],aliases:["Dockerfile"],loader:()=>__vitePreload(()=>import("./dockerfile-BgOGWaCf.js"),[])});registerLanguage({id:"ecl",extensions:[".ecl"],aliases:["ECL","Ecl","ecl"],loader:()=>__vitePreload(()=>import("./ecl-DnJ8rW3U.js"),[])});registerLanguage({id:"elixir",extensions:[".ex",".exs"],aliases:["Elixir","elixir","ex"],loader:()=>__vitePreload(()=>import("./elixir-B7YTO__p.js"),[])});registerLanguage({id:"flow9",extensions:[".flow"],aliases:["Flow9","Flow","flow9","flow"],loader:()=>__vitePreload(()=>import("./flow9-wLXmeo6b.js"),[])});registerLanguage({id:"fsharp",extensions:[".fs",".fsi",".ml",".mli",".fsx",".fsscript"],aliases:["F#","FSharp","fsharp"],loader:()=>__vitePreload(()=>import("./fsharp-CEbfBfAU.js"),[])});registerLanguage({id:"freemarker2",extensions:[".ftl",".ftlh",".ftlx"],aliases:["FreeMarker2","Apache FreeMarker2"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage({id:"freemarker2.tag-angle.interpolation-dollar",aliases:["FreeMarker2 (Angle/Dollar)","Apache FreeMarker2 (Angle/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagAngleInterpolationDollar)});registerLanguage({id:"freemarker2.tag-bracket.interpolation-dollar",aliases:["FreeMarker2 (Bracket/Dollar)","Apache FreeMarker2 (Bracket/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagBracketInterpolationDollar)});registerLanguage({id:"freemarker2.tag-angle.interpolation-bracket",aliases:["FreeMarker2 (Angle/Bracket)","Apache FreeMarker2 (Angle/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagAngleInterpolationBracket)});registerLanguage({id:"freemarker2.tag-bracket.interpolation-bracket",aliases:["FreeMarker2 (Bracket/Bracket)","Apache FreeMarker2 (Bracket/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagBracketInterpolationBracket)});registerLanguage({id:"freemarker2.tag-auto.interpolation-dollar",aliases:["FreeMarker2 (Auto/Dollar)","Apache FreeMarker2 (Auto/Dollar)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagAutoInterpolationDollar)});registerLanguage({id:"freemarker2.tag-auto.interpolation-bracket",aliases:["FreeMarker2 (Auto/Bracket)","Apache FreeMarker2 (Auto/Bracket)"],loader:()=>__vitePreload(()=>import("./freemarker2-x6baVesE.js"),[]).then(n=>n.TagAutoInterpolationBracket)});registerLanguage({id:"go",extensions:[".go"],aliases:["Go"],loader:()=>__vitePreload(()=>import("./go-CQdGEiqo.js"),[])});registerLanguage({id:"graphql",extensions:[".graphql",".gql"],aliases:["GraphQL","graphql","gql"],mimetypes:["application/graphql"],loader:()=>__vitePreload(()=>import("./graphql-uScX0mLr.js"),[])});registerLanguage({id:"handlebars",extensions:[".handlebars",".hbs"],aliases:["Handlebars","handlebars","hbs"],mimetypes:["text/x-handlebars-template"],loader:()=>__vitePreload(()=>import("./handlebars-BrFsVvxx.js"),[])});registerLanguage({id:"hcl",extensions:[".tf",".tfvars",".hcl"],aliases:["Terraform","tf","HCL","hcl"],loader:()=>__vitePreload(()=>import("./hcl-CLUKkYLV.js"),[])});registerLanguage({id:"html",extensions:[".html",".htm",".shtml",".xhtml",".mdoc",".jsp",".asp",".aspx",".jshtm"],aliases:["HTML","htm","html","xhtml"],mimetypes:["text/html","text/x-jshtm","text/template","text/ng-template"],loader:()=>__vitePreload(()=>import("./html-1wfPfjDT.js"),[])});registerLanguage({id:"ini",extensions:[".ini",".properties",".gitconfig"],filenames:["config",".gitattributes",".gitconfig",".editorconfig"],aliases:["Ini","ini"],loader:()=>__vitePreload(()=>import("./ini-yF59P7jx.js"),[])});registerLanguage({id:"java",extensions:[".java",".jav"],aliases:["Java","java"],mimetypes:["text/x-java-source","text/x-java"],loader:()=>__vitePreload(()=>import("./java-B4nVP7zA.js"),[])});registerLanguage({id:"javascript",extensions:[".js",".es6",".jsx",".mjs",".cjs"],firstLine:"^#!.*\\bnode",filenames:["jakefile"],aliases:["JavaScript","javascript","js"],mimetypes:["text/javascript"],loader:()=>__vitePreload(()=>import("./javascript-D978hYeW.js"),__vite__mapDeps([2,3]))});registerLanguage({id:"julia",extensions:[".jl"],aliases:["julia","Julia"],loader:()=>__vitePreload(()=>import("./julia-BuzzKf8T.js"),[])});registerLanguage({id:"kotlin",extensions:[".kt",".kts"],aliases:["Kotlin","kotlin"],mimetypes:["text/x-kotlin-source","text/x-kotlin"],loader:()=>__vitePreload(()=>import("./kotlin-C3T34NxZ.js"),[])});registerLanguage({id:"less",extensions:[".less"],aliases:["Less","less"],mimetypes:["text/x-less","text/less"],loader:()=>__vitePreload(()=>import("./less-BqWHFxzQ.js"),[])});registerLanguage({id:"lexon",extensions:[".lex"],aliases:["Lexon"],loader:()=>__vitePreload(()=>import("./lexon-BMz0APkk.js"),[])});registerLanguage({id:"lua",extensions:[".lua"],aliases:["Lua","lua"],loader:()=>__vitePreload(()=>import("./lua-FbLRz07w.js"),[])});registerLanguage({id:"liquid",extensions:[".liquid",".html.liquid"],aliases:["Liquid","liquid"],mimetypes:["application/liquid"],loader:()=>__vitePreload(()=>import("./liquid-CpIHsnC7.js"),[])});registerLanguage({id:"m3",extensions:[".m3",".i3",".mg",".ig"],aliases:["Modula-3","Modula3","modula3","m3"],loader:()=>__vitePreload(()=>import("./m3-F3MR2vpL.js"),[])});registerLanguage({id:"markdown",extensions:[".md",".markdown",".mdown",".mkdn",".mkd",".mdwn",".mdtxt",".mdtext"],aliases:["Markdown","markdown"],loader:()=>__vitePreload(()=>import("./markdown-BpaYHsZh.js"),[])});registerLanguage({id:"mdx",extensions:[".mdx"],aliases:["MDX","mdx"],loader:()=>__vitePreload(()=>import("./mdx-DFHZE6Lc.js"),[])});registerLanguage({id:"mips",extensions:[".s"],aliases:["MIPS","MIPS-V"],mimetypes:["text/x-mips","text/mips","text/plaintext"],loader:()=>__vitePreload(()=>import("./mips-D2BB_tA0.js"),[])});registerLanguage({id:"msdax",extensions:[".dax",".msdax"],aliases:["DAX","MSDAX"],loader:()=>__vitePreload(()=>import("./msdax-Dbqax-4H.js"),[])});registerLanguage({id:"mysql",extensions:[],aliases:["MySQL","mysql"],loader:()=>__vitePreload(()=>import("./mysql-BlazkCxF.js"),[])});registerLanguage({id:"objective-c",extensions:[".m"],aliases:["Objective-C"],loader:()=>__vitePreload(()=>import("./objective-c-DBolmLrR.js"),[])});registerLanguage({id:"pascal",extensions:[".pas",".p",".pp"],aliases:["Pascal","pas"],mimetypes:["text/x-pascal-source","text/x-pascal"],loader:()=>__vitePreload(()=>import("./pascal-C4E8LjYg.js"),[])});registerLanguage({id:"pascaligo",extensions:[".ligo"],aliases:["Pascaligo","ligo"],loader:()=>__vitePreload(()=>import("./pascaligo-Z17T2ccY.js"),[])});registerLanguage({id:"perl",extensions:[".pl",".pm"],aliases:["Perl","pl"],loader:()=>__vitePreload(()=>import("./perl-COEbQRNw.js"),[])});registerLanguage({id:"pgsql",extensions:[],aliases:["PostgreSQL","postgres","pg","postgre"],loader:()=>__vitePreload(()=>import("./pgsql-Dy_Aa0h1.js"),[])});registerLanguage({id:"php",extensions:[".php",".php4",".php5",".phtml",".ctp"],aliases:["PHP","php"],mimetypes:["application/x-php"],loader:()=>__vitePreload(()=>import("./php-DZgQod0H.js"),[])});registerLanguage({id:"pla",extensions:[".pla"],loader:()=>__vitePreload(()=>import("./pla-Cp8kinq6.js"),[])});registerLanguage({id:"postiats",extensions:[".dats",".sats",".hats"],aliases:["ATS","ATS/Postiats"],loader:()=>__vitePreload(()=>import("./postiats-Cc2rLWR_.js"),[])});registerLanguage({id:"powerquery",extensions:[".pq",".pqm"],aliases:["PQ","M","Power Query","Power Query M"],loader:()=>__vitePreload(()=>import("./powerquery-0Oii_npw.js"),[])});registerLanguage({id:"powershell",extensions:[".ps1",".psm1",".psd1"],aliases:["PowerShell","powershell","ps","ps1"],loader:()=>__vitePreload(()=>import("./powershell-DUtNlkbn.js"),[])});registerLanguage({id:"proto",extensions:[".proto"],aliases:["protobuf","Protocol Buffers"],loader:()=>__vitePreload(()=>import("./protobuf-8yr4JvGd.js"),[])});registerLanguage({id:"pug",extensions:[".jade",".pug"],aliases:["Pug","Jade","jade"],loader:()=>__vitePreload(()=>import("./pug-Cof0Wj-Z.js"),[])});registerLanguage({id:"python",extensions:[".py",".rpy",".pyw",".cpy",".gyp",".gypi"],aliases:["Python","py"],firstLine:"^#!/.*\\bpython[0-9.-]*\\b",loader:()=>__vitePreload(()=>import("./python-DTsNwmwp.js"),[])});registerLanguage({id:"qsharp",extensions:[".qs"],aliases:["Q#","qsharp"],loader:()=>__vitePreload(()=>import("./qsharp-iGC6f2xL.js"),[])});registerLanguage({id:"r",extensions:[".r",".rhistory",".rmd",".rprofile",".rt"],aliases:["R","r"],loader:()=>__vitePreload(()=>import("./r-DgOh-GpK.js"),[])});registerLanguage({id:"razor",extensions:[".cshtml"],aliases:["Razor","razor"],mimetypes:["text/x-cshtml"],loader:()=>__vitePreload(()=>import("./razor-CrzONx5V.js"),[])});registerLanguage({id:"redis",extensions:[".redis"],aliases:["redis"],loader:()=>__vitePreload(()=>import("./redis-CUjHknjG.js"),[])});registerLanguage({id:"redshift",extensions:[],aliases:["Redshift","redshift"],loader:()=>__vitePreload(()=>import("./redshift-DpiWUl_b.js"),[])});registerLanguage({id:"restructuredtext",extensions:[".rst"],aliases:["reStructuredText","restructuredtext"],loader:()=>__vitePreload(()=>import("./restructuredtext-DoYnpR8y.js"),[])});registerLanguage({id:"ruby",extensions:[".rb",".rbx",".rjs",".gemspec",".pp"],filenames:["rakefile","Gemfile"],aliases:["Ruby","rb"],loader:()=>__vitePreload(()=>import("./ruby-Cdlt0-Xp.js"),[])});registerLanguage({id:"rust",extensions:[".rs",".rlib"],aliases:["Rust","rust"],loader:()=>__vitePreload(()=>import("./rust-E66qEhVJ.js"),[])});registerLanguage({id:"sb",extensions:[".sb"],aliases:["Small Basic","sb"],loader:()=>__vitePreload(()=>import("./sb-NROjXV9s.js"),[])});registerLanguage({id:"scala",extensions:[".scala",".sc",".sbt"],aliases:["Scala","scala","SBT","Sbt","sbt","Dotty","dotty"],mimetypes:["text/x-scala-source","text/x-scala","text/x-sbt","text/x-dotty"],loader:()=>__vitePreload(()=>import("./scala-DNKydVIG.js"),[])});registerLanguage({id:"scheme",extensions:[".scm",".ss",".sch",".rkt"],aliases:["scheme","Scheme"],loader:()=>__vitePreload(()=>import("./scheme-gDjqwtwY.js"),[])});registerLanguage({id:"scss",extensions:[".scss"],aliases:["Sass","sass","scss"],mimetypes:["text/x-scss","text/scss"],loader:()=>__vitePreload(()=>import("./scss-bmD1nF-m.js"),[])});registerLanguage({id:"shell",extensions:[".sh",".bash"],aliases:["Shell","sh"],loader:()=>__vitePreload(()=>import("./shell-CHwqnE9N.js"),[])});registerLanguage({id:"sol",extensions:[".sol"],aliases:["sol","solidity","Solidity"],loader:()=>__vitePreload(()=>import("./solidity-DzvweBVM.js"),[])});registerLanguage({id:"aes",extensions:[".aes"],aliases:["aes","sophia","Sophia"],loader:()=>__vitePreload(()=>import("./sophia-LwATRHaW.js"),[])});registerLanguage({id:"sparql",extensions:[".rq"],aliases:["sparql","SPARQL"],loader:()=>__vitePreload(()=>import("./sparql-5hUL7dXb.js"),[])});registerLanguage({id:"sql",extensions:[".sql"],aliases:["SQL"],loader:()=>__vitePreload(()=>import("./sql-CVxjL13O.js"),[])});registerLanguage({id:"st",extensions:[".st",".iecst",".iecplc",".lc3lib",".TcPOU",".TcDUT",".TcGVL",".TcIO"],aliases:["StructuredText","scl","stl"],loader:()=>__vitePreload(()=>import("./st-Cc39erT-.js"),[])});registerLanguage({id:"swift",aliases:["Swift","swift"],extensions:[".swift"],mimetypes:["text/swift"],loader:()=>__vitePreload(()=>import("./swift-C8fNz67c.js"),[])});registerLanguage({id:"systemverilog",extensions:[".sv",".svh"],aliases:["SV","sv","SystemVerilog","systemverilog"],loader:()=>__vitePreload(()=>import("./systemverilog-BFUzWeNg.js"),[])});registerLanguage({id:"verilog",extensions:[".v",".vh"],aliases:["V","v","Verilog","verilog"],loader:()=>__vitePreload(()=>import("./systemverilog-BFUzWeNg.js"),[])});registerLanguage({id:"tcl",extensions:[".tcl"],aliases:["tcl","Tcl","tcltk","TclTk","tcl/tk","Tcl/Tk"],loader:()=>__vitePreload(()=>import("./tcl-CtpYBwaD.js"),[])});registerLanguage({id:"twig",extensions:[".twig"],aliases:["Twig","twig"],mimetypes:["text/x-twig"],loader:()=>__vitePreload(()=>import("./twig-CbPmbPKL.js"),[])});registerLanguage({id:"typescript",extensions:[".ts",".tsx",".cts",".mts"],aliases:["TypeScript","ts","typescript"],mimetypes:["text/typescript"],loader:()=>__vitePreload(()=>import("./typescript-DPeMzbpM.js"),[])});registerLanguage({id:"vb",extensions:[".vb"],aliases:["Visual Basic","vb"],loader:()=>__vitePreload(()=>import("./vb-DqkExfjG.js"),[])});registerLanguage({id:"wgsl",extensions:[".wgsl"],aliases:["WebGPU Shading Language","WGSL","wgsl"],loader:()=>__vitePreload(()=>import("./wgsl-DdJ8Pw1Z.js"),[])});registerLanguage({id:"xml",extensions:[".xml",".xsd",".dtd",".ascx",".csproj",".config",".props",".targets",".wxi",".wxl",".wxs",".xaml",".svg",".svgz",".opf",".xslt",".xsl"],firstLine:"(\\<\\?xml.*)|(\\__vitePreload(()=>import("./xml-DBexDCFT.js"),[])});registerLanguage({id:"yaml",extensions:[".yaml",".yml"],aliases:["YAML","yaml","YML","yml"],mimetypes:["application/x-yaml","text/x-yaml"],loader:()=>__vitePreload(()=>import("./yaml-CLSGneU-.js"),[])});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.48.0(0037b13fb5d186fdf1e7df51a9416a2de2b8c670) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$3=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__getOwnPropNames$2=Object.getOwnPropertyNames,__hasOwnProp$3=Object.prototype.hasOwnProperty,__copyProps$2=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$2(e))!__hasOwnProp$3.call(n,r)&&r!==t&&__defProp$3(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$2(e,r))||i.enumerable});return n},__reExport$2=(n,e,t)=>(__copyProps$2(n,e,"default"),t),monaco_editor_core_exports$2={};__reExport$2(monaco_editor_core_exports$2,monaco_editor_core_star);var LanguageServiceDefaultsImpl$3=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$2.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this.options}get options(){return this._options}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setDiagnosticsOptions(e){this.setOptions(e)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},optionsDefault$1={validate:!0,lint:{compatibleVendorPrefixes:"ignore",vendorPrefix:"warning",duplicateProperties:"warning",emptyRules:"warning",importStatement:"ignore",boxModel:"ignore",universalSelector:"ignore",zeroUnits:"ignore",fontFaceProperties:"warning",hexColorLength:"error",argumentsInColorFunction:"error",unknownProperties:"warning",ieHack:"ignore",unknownVendorSpecificProperties:"ignore",propertyIgnoredDueToDisplay:"warning",important:"ignore",float:"ignore",idSelector:"ignore"},data:{useDefaultDataProvider:!0},format:{newlineBetweenSelectors:!0,newlineBetweenRules:!0,spaceAroundSelectorSeparator:!1,braceStyle:"collapse",maxPreserveNewLines:void 0,preserveNewLines:!0}},modeConfigurationDefault$2={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0,documentFormattingEdits:!0,documentRangeFormattingEdits:!0},cssDefaults=new LanguageServiceDefaultsImpl$3("css",optionsDefault$1,modeConfigurationDefault$2),scssDefaults=new LanguageServiceDefaultsImpl$3("scss",optionsDefault$1,modeConfigurationDefault$2),lessDefaults=new LanguageServiceDefaultsImpl$3("less",optionsDefault$1,modeConfigurationDefault$2);monaco_editor_core_exports$2.languages.css={cssDefaults,lessDefaults,scssDefaults};function getMode$4(){return __vitePreload(()=>import("./cssMode-BVhkgy3N.js"),[])}monaco_editor_core_exports$2.languages.onLanguage("less",()=>{getMode$4().then(n=>n.setupMode(lessDefaults))});monaco_editor_core_exports$2.languages.onLanguage("scss",()=>{getMode$4().then(n=>n.setupMode(scssDefaults))});monaco_editor_core_exports$2.languages.onLanguage("css",()=>{getMode$4().then(n=>n.setupMode(cssDefaults))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.48.0(0037b13fb5d186fdf1e7df51a9416a2de2b8c670) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$2=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__getOwnPropNames$1=Object.getOwnPropertyNames,__hasOwnProp$2=Object.prototype.hasOwnProperty,__copyProps$1=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames$1(e))!__hasOwnProp$2.call(n,r)&&r!==t&&__defProp$2(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc$1(e,r))||i.enumerable});return n},__reExport$1=(n,e,t)=>(__copyProps$1(n,e,"default"),t),monaco_editor_core_exports$1={};__reExport$1(monaco_editor_core_exports$1,monaco_editor_core_star);var LanguageServiceDefaultsImpl$2=class{constructor(e,t,i){this._onDidChange=new monaco_editor_core_exports$1.Emitter,this._languageId=e,this.setOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get options(){return this._options}get modeConfiguration(){return this._modeConfiguration}setOptions(e){this._options=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},formatDefaults={tabSize:4,insertSpaces:!1,wrapLineLength:120,unformatted:'default": "a, abbr, acronym, b, bdo, big, br, button, cite, code, dfn, em, i, img, input, kbd, label, map, object, q, samp, select, small, span, strong, sub, sup, textarea, tt, var',contentUnformatted:"pre",indentInnerHtml:!1,preserveNewLines:!0,maxPreserveNewLines:void 0,indentHandlebars:!1,endWithNewline:!1,extraLiners:"head, body, /html",wrapAttributes:"auto"},optionsDefault={format:formatDefaults,suggest:{},data:{useDefaultDataProvider:!0}};function getConfigurationDefault(n){return{completionItems:!0,hovers:!0,documentSymbols:!0,links:!0,documentHighlights:!0,rename:!0,colors:!0,foldingRanges:!0,selectionRanges:!0,diagnostics:n===htmlLanguageId,documentFormattingEdits:n===htmlLanguageId,documentRangeFormattingEdits:n===htmlLanguageId}}var htmlLanguageId="html",handlebarsLanguageId="handlebars",razorLanguageId="razor",htmlLanguageService=registerHTMLLanguageService(htmlLanguageId,optionsDefault,getConfigurationDefault(htmlLanguageId)),htmlDefaults=htmlLanguageService.defaults,handlebarLanguageService=registerHTMLLanguageService(handlebarsLanguageId,optionsDefault,getConfigurationDefault(handlebarsLanguageId)),handlebarDefaults=handlebarLanguageService.defaults,razorLanguageService=registerHTMLLanguageService(razorLanguageId,optionsDefault,getConfigurationDefault(razorLanguageId)),razorDefaults=razorLanguageService.defaults;monaco_editor_core_exports$1.languages.html={htmlDefaults,razorDefaults,handlebarDefaults,htmlLanguageService,handlebarLanguageService,razorLanguageService,registerHTMLLanguageService};function getMode$3(){return __vitePreload(()=>import("./htmlMode-BNSRmYNI.js"),[])}function registerHTMLLanguageService(n,e=optionsDefault,t=getConfigurationDefault(n)){const i=new LanguageServiceDefaultsImpl$2(n,e,t);let r;const g=monaco_editor_core_exports$1.languages.onLanguage(n,async()=>{r=(await getMode$3()).setupMode(i)});return{defaults:i,dispose(){g.dispose(),r==null||r.dispose(),r=void 0}}}var LanguageServiceDefaultsImpl$1=class{constructor(e,t,i){this._onDidChange=new Emitter,this._languageId=e,this.setDiagnosticsOptions(t),this.setModeConfiguration(i)}get onDidChange(){return this._onDidChange.event}get languageId(){return this._languageId}get modeConfiguration(){return this._modeConfiguration}get diagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(e){this._diagnosticsOptions=e||Object.create(null),this._onDidChange.fire(this)}setModeConfiguration(e){this._modeConfiguration=e||Object.create(null),this._onDidChange.fire(this)}},diagnosticDefault={validate:!0,allowComments:!0,schemas:[],enableSchemaRequest:!1,schemaRequest:"warning",schemaValidation:"warning",comments:"error",trailingCommas:"error"},modeConfigurationDefault$1={documentFormattingEdits:!0,documentRangeFormattingEdits:!0,completionItems:!0,hovers:!0,documentSymbols:!0,tokens:!0,colors:!0,foldingRanges:!0,diagnostics:!0,selectionRanges:!0},jsonDefaults=new LanguageServiceDefaultsImpl$1("json",diagnosticDefault,modeConfigurationDefault$1),getWorker=()=>getMode$2().then(n=>n.getWorker());languages.json={jsonDefaults,getWorker};function getMode$2(){return __vitePreload(()=>import("./jsonMode--lZgigjd.js"),[])}languages.register({id:"json",extensions:[".json",".bowerrc",".jshintrc",".jscsrc",".eslintrc",".babelrc",".har"],aliases:["JSON","json"],mimetypes:["application/json"]});languages.onLanguage("json",()=>{getMode$2().then(n=>n.setupMode(jsonDefaults))});/*!----------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. * Version: 0.48.0(0037b13fb5d186fdf1e7df51a9416a2de2b8c670) * Released under the MIT license * https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt *-----------------------------------------------------------------------------*/var __defProp$1=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp$1=Object.prototype.hasOwnProperty,__copyProps=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of __getOwnPropNames(e))!__hasOwnProp$1.call(n,r)&&r!==t&&__defProp$1(n,r,{get:()=>e[r],enumerable:!(i=__getOwnPropDesc(e,r))||i.enumerable});return n},__reExport=(n,e,t)=>(__copyProps(n,e,"default"),t),typescriptVersion="5.0.2",monaco_editor_core_exports={};__reExport(monaco_editor_core_exports,monaco_editor_core_star);var ModuleKind=(n=>(n[n.None=0]="None",n[n.CommonJS=1]="CommonJS",n[n.AMD=2]="AMD",n[n.UMD=3]="UMD",n[n.System=4]="System",n[n.ES2015=5]="ES2015",n[n.ESNext=99]="ESNext",n))(ModuleKind||{}),JsxEmit=(n=>(n[n.None=0]="None",n[n.Preserve=1]="Preserve",n[n.React=2]="React",n[n.ReactNative=3]="ReactNative",n[n.ReactJSX=4]="ReactJSX",n[n.ReactJSXDev=5]="ReactJSXDev",n))(JsxEmit||{}),NewLineKind=(n=>(n[n.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",n[n.LineFeed=1]="LineFeed",n))(NewLineKind||{}),ScriptTarget=(n=>(n[n.ES3=0]="ES3",n[n.ES5=1]="ES5",n[n.ES2015=2]="ES2015",n[n.ES2016=3]="ES2016",n[n.ES2017=4]="ES2017",n[n.ES2018=5]="ES2018",n[n.ES2019=6]="ES2019",n[n.ES2020=7]="ES2020",n[n.ESNext=99]="ESNext",n[n.JSON=100]="JSON",n[n.Latest=99]="Latest",n))(ScriptTarget||{}),ModuleResolutionKind=(n=>(n[n.Classic=1]="Classic",n[n.NodeJs=2]="NodeJs",n))(ModuleResolutionKind||{}),LanguageServiceDefaultsImpl=class{constructor(n,e,t,i,r){this._onDidChange=new monaco_editor_core_exports.Emitter,this._onDidExtraLibsChange=new monaco_editor_core_exports.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(n),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(r),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(n,e){let t;if(typeof e>"u"?t="ts:extralib-".concat(Math.random().toString(36).substring(2,15)):t=e,this._extraLibs[t]&&this._extraLibs[t].content===n)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:n,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let r=this._extraLibs[t];r&&r.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(n){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),n&&n.length>0)for(const e of n){const t=e.filePath||"ts:extralib-".concat(Math.random().toString(36).substring(2,15)),i=e.content;let r=1;this._removedExtraLibs[t]&&(r=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:r}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(n){this._compilerOptions=n||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(n){this._diagnosticsOptions=n||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(n){this._workerOptions=n||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(n){this._inlayHintsOptions=n||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(n){}setEagerModelSync(n){this._eagerModelSync=n}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(n){this._modeConfiguration=n||Object.create(null),this._onDidChange.fire(void 0)}},typescriptVersion2=typescriptVersion,modeConfigurationDefault={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},typescriptDefaults=new LanguageServiceDefaultsImpl({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault),javascriptDefaults=new LanguageServiceDefaultsImpl({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},modeConfigurationDefault),getTypeScriptWorker=()=>getMode$1().then(n=>n.getTypeScriptWorker()),getJavaScriptWorker=()=>getMode$1().then(n=>n.getJavaScriptWorker());monaco_editor_core_exports.languages.typescript={ModuleKind,JsxEmit,NewLineKind,ScriptTarget,ModuleResolutionKind,typescriptVersion:typescriptVersion2,typescriptDefaults,javascriptDefaults,getTypeScriptWorker,getJavaScriptWorker};function getMode$1(){return __vitePreload(()=>import("./tsMode-7ntn0awi.js"),[])}monaco_editor_core_exports.languages.onLanguage("typescript",()=>getMode$1().then(n=>n.setupTypeScript(typescriptDefaults)));monaco_editor_core_exports.languages.onLanguage("javascript",()=>getMode$1().then(n=>n.setupJavaScript(javascriptDefaults)));class ToggleCollapseUnchangedRegions extends Action2{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:localize2("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Codicon.map,toggled:ContextKeyExpr.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:ContextKeyExpr.has("isInDiffEditor"),menu:{when:ContextKeyExpr.has("isInDiffEditor"),id:MenuId.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(IConfigurationService),r=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",r)}}class ToggleShowMovedCodeBlocks extends Action2{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:localize2("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:ContextKeyExpr.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService),r=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",r)}}class ToggleUseInlineViewWhenSpaceIsLimited extends Action2{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:localize2("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:ContextKeyExpr.has("isInDiffEditor")})}run(e,...t){const i=e.get(IConfigurationService),r=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",r)}}const diffEditorCategory=localize2("diffEditor","Diff Editor");class SwitchSide extends EditorAction2{constructor(){super({id:"diffEditor.switchSide",title:localize2("switchSide","Switch Side"),icon:Codicon.arrowSwap,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,i){const r=findFocusedDiffEditor(e);if(r instanceof DiffEditorWidget){if(i&&i.dryRun)return{destinationSelection:r.mapToOtherSide().destinationSelection};r.switchSide()}}}class ExitCompareMove extends EditorAction2{constructor(){super({id:"diffEditor.exitCompareMove",title:localize2("exitCompareMove","Exit Compare Move"),icon:Codicon.close,precondition:EditorContextKeys.comparingMovedCode,f1:!1,category:diffEditorCategory,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor(e);r instanceof DiffEditorWidget&&r.exitCompareMove()}}class CollapseAllUnchangedRegions extends EditorAction2{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:localize2("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Codicon.fold,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor(e);r instanceof DiffEditorWidget&&r.collapseAllUnchangedRegions()}}class ShowAllUnchangedRegions extends EditorAction2{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:localize2("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Codicon.unfold,precondition:ContextKeyExpr.has("isInDiffEditor"),f1:!0,category:diffEditorCategory})}runEditorCommand(e,t,...i){const r=findFocusedDiffEditor(e);r instanceof DiffEditorWidget&&r.showAllUnchangedRegions()}}class RevertHunkOrSelection extends Action2{constructor(){super({id:"diffEditor.revert",title:localize2("revert","Revert"),f1:!1,category:diffEditorCategory})}run(e,t){var i;const r=findDiffEditor(e,t.originalUri,t.modifiedUri);r instanceof DiffEditorWidget&&r.revertRangeMappings((i=t.mapping.innerChanges)!==null&&i!==void 0?i:[])}}const accessibleDiffViewerCategory=localize2("accessibleDiffViewer","Accessible Diff Viewer");class AccessibleDiffViewerNext extends Action2{constructor(){super({id:AccessibleDiffViewerNext.id,title:localize2("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor(e);t==null||t.accessibleDiffViewerNext()}}AccessibleDiffViewerNext.id="editor.action.accessibleDiffViewer.next";class AccessibleDiffViewerPrev extends Action2{constructor(){super({id:AccessibleDiffViewerPrev.id,title:localize2("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:accessibleDiffViewerCategory,precondition:ContextKeyExpr.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=findFocusedDiffEditor(e);t==null||t.accessibleDiffViewerPrev()}}AccessibleDiffViewerPrev.id="editor.action.accessibleDiffViewer.prev";function findDiffEditor(n,e,t){return n.get(ICodeEditorService).listDiffEditors().find(g=>{var y,k;const L=g.getModifiedEditor(),V=g.getOriginalEditor();return L&&((y=L.getModel())===null||y===void 0?void 0:y.uri.toString())===t.toString()&&V&&((k=V.getModel())===null||k===void 0?void 0:k.uri.toString())===e.toString()})||null}function findFocusedDiffEditor(n){const t=n.get(ICodeEditorService).listDiffEditors(),i=getActiveElement();if(i)for(const r of t){const g=r.getContainerDomNode();if(isElementOrParentOf(g,i))return r}return null}function isElementOrParentOf(n,e){let t=e;for(;t;){if(t===n)return!0;t=t.parentElement}return!1}registerAction2(ToggleCollapseUnchangedRegions);registerAction2(ToggleShowMovedCodeBlocks);registerAction2(ToggleUseInlineViewWhenSpaceIsLimited);MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:new ToggleUseInlineViewWhenSpaceIsLimited().desc.id,title:localize("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:ContextKeyExpr.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:ContextKeyExpr.has("isInDiffEditor")},order:11,group:"1_diff",when:ContextKeyExpr.and(EditorContextKeys.diffEditorRenderSideBySideInlineBreakpointReached,ContextKeyExpr.has("isInDiffEditor"))});MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:new ToggleShowMovedCodeBlocks().desc.id,title:localize("showMoves","Show Moved Code Blocks"),icon:Codicon.move,toggled:ContextKeyEqualsExpr.create("config.diffEditor.experimental.showMoves",!0),precondition:ContextKeyExpr.has("isInDiffEditor")},order:10,group:"1_diff",when:ContextKeyExpr.has("isInDiffEditor")});registerAction2(RevertHunkOrSelection);for(const n of[{icon:Codicon.arrowRight,key:EditorContextKeys.diffEditorInlineMode.toNegated()},{icon:Codicon.discard,key:EditorContextKeys.diffEditorInlineMode}])MenuRegistry.appendMenuItem(MenuId.DiffEditorHunkToolbar,{command:{id:new RevertHunkOrSelection().desc.id,title:localize("revertHunk","Revert Block"),icon:n.icon},when:ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable,n.key),order:5,group:"primary"}),MenuRegistry.appendMenuItem(MenuId.DiffEditorSelectionToolbar,{command:{id:new RevertHunkOrSelection().desc.id,title:localize("revertSelection","Revert Selection"),icon:n.icon},when:ContextKeyExpr.and(EditorContextKeys.diffEditorModifiedWritable,n.key),order:5,group:"primary"});registerAction2(SwitchSide);registerAction2(ExitCompareMove);registerAction2(CollapseAllUnchangedRegions);registerAction2(ShowAllUnchangedRegions);MenuRegistry.appendMenuItem(MenuId.EditorTitle,{command:{id:AccessibleDiffViewerNext.id,title:localize("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:ContextKeyExpr.has("isInDiffEditor")},order:10,group:"2_diff",when:ContextKeyExpr.and(EditorContextKeys.accessibleDiffViewerVisible.negate(),ContextKeyExpr.has("isInDiffEditor"))});CommandsRegistry.registerCommandAlias("editor.action.diffReview.next",AccessibleDiffViewerNext.id);registerAction2(AccessibleDiffViewerNext);CommandsRegistry.registerCommandAlias("editor.action.diffReview.prev",AccessibleDiffViewerPrev.id);registerAction2(AccessibleDiffViewerPrev);var __decorate$1x=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1t=function(n,e){return function(t,i){e(t,i,n)}},SelectionAnchorController_1;const SelectionAnchorSet=new RawContextKey("selectionAnchorSet",!1);let SelectionAnchorController=SelectionAnchorController_1=class{static get(e){return e.getContribution(SelectionAnchorController_1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=SelectionAnchorSet.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(Selection$1.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new MarkdownString().appendText(localize("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),alert(localize("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(Selection$1.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}};SelectionAnchorController.ID="editor.contrib.selectionAnchorController";SelectionAnchorController=SelectionAnchorController_1=__decorate$1x([__param$1t(1,IContextKeyService)],SelectionAnchorController);class SetSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.setSelectionAnchor",label:localize("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2080),weight:100}})}async run(e,t){var i;(i=SelectionAnchorController.get(t))===null||i===void 0||i.setSelectionAnchor()}}class GoToSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.goToSelectionAnchor",label:localize("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:SelectionAnchorSet})}async run(e,t){var i;(i=SelectionAnchorController.get(t))===null||i===void 0||i.goToSelectionAnchor()}}class SelectFromAnchorToCursor extends EditorAction{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:localize("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2089),weight:100}})}async run(e,t){var i;(i=SelectionAnchorController.get(t))===null||i===void 0||i.selectFromAnchorToCursor()}}class CancelSelectionAnchor extends EditorAction{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:localize("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:SelectionAnchorSet,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=SelectionAnchorController.get(t))===null||i===void 0||i.cancelSelectionAnchor()}}registerEditorContribution(SelectionAnchorController.ID,SelectionAnchorController,4);registerEditorAction(SetSelectionAnchor);registerEditorAction(GoToSelectionAnchor);registerEditorAction(SelectFromAnchorToCursor);registerEditorAction(CancelSelectionAnchor);const overviewRulerBracketMatchForeground=registerColor("editorOverviewRuler.bracketMatchForeground",{dark:"#A0A0A0",light:"#A0A0A0",hcDark:"#A0A0A0",hcLight:"#A0A0A0"},localize("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class JumpToBracketAction extends EditorAction{constructor(){super({id:"editor.action.jumpToBracket",label:localize("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=BracketMatchingController.get(t))===null||i===void 0||i.jumpToBracket()}}class SelectToBracketAction extends EditorAction{constructor(){super({id:"editor.action.selectToBracket",label:localize("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:localize2("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var r;let g=!0;i&&i.selectBrackets===!1&&(g=!1),(r=BracketMatchingController.get(t))===null||r===void 0||r.selectToBracket(g)}}class RemoveBracketsAction extends EditorAction{constructor(){super({id:"editor.action.removeBrackets",label:localize("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=BracketMatchingController.get(t))===null||i===void 0||i.removeBrackets(this.id)}}class BracketsData{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}class BracketMatchingController extends Disposable{static get(e){return e.getContribution(BracketMatchingController.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new RunOnceScheduler(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const r=i.getStartPosition(),g=e.bracketPairs.matchBracket(r);let y=null;if(g)g[0].containsPosition(r)&&!g[1].containsPosition(r)?y=g[1].getStartPosition():g[1].containsPosition(r)&&(y=g[0].getStartPosition());else{const k=e.bracketPairs.findEnclosingBrackets(r);if(k)y=k[1].getStartPosition();else{const L=e.bracketPairs.findNextBracket(r);L&&L.range&&(y=L.range.getStartPosition())}}return y?new Selection$1(y.lineNumber,y.column,y.lineNumber,y.column):new Selection$1(r.lineNumber,r.column,r.lineNumber,r.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(r=>{const g=r.getStartPosition();let y=t.bracketPairs.matchBracket(g);if(!y&&(y=t.bracketPairs.findEnclosingBrackets(g),!y)){const V=t.bracketPairs.findNextBracket(g);V&&V.range&&(y=t.bracketPairs.matchBracket(V.range.getStartPosition()))}let k=null,L=null;if(y){y.sort(Range$2.compareRangesUsingStarts);const[V,z]=y;if(k=e?V.getStartPosition():V.getEndPosition(),L=e?z.getEndPosition():z.getStartPosition(),z.containsPosition(g)){const j=k;k=L,L=j}}k&&L&&i.push(new Selection$1(k.lineNumber,k.column,L.lineNumber,L.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const r=i.getPosition();let g=t.bracketPairs.matchBracket(r);g||(g=t.bracketPairs.findEnclosingBrackets(r)),g&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:g[0],text:""},{range:g[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const r=i.brackets;r&&(e[t++]={range:r[0],options:i.options},e[t++]={range:r[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let r=[];this._lastVersionId===i&&(r=this._lastBracketsData);const g=[];let y=0;for(let j=0,ie=e.length;j1&&g.sort(Position$1.compare);const k=[];let L=0,V=0;const z=r.length;for(let j=0,ie=g.length;j0&&(t.pushUndoStop(),t.executeCommands(this.id,r),t.pushUndoStop())}}registerEditorAction(TransposeLettersAction);const generateUuid=function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let n;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?n=crypto.getRandomValues.bind(crypto):n=function(i){for(let r=0;rn,asFile:()=>{},value:typeof n=="string"?n:void 0}}function createFileDataTransferItem(n,e,t){const i={id:generateUuid(),name:n,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class VSDataTransfer{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return Iterable.some(this,([i,r])=>r.asFile())&&t.push("files"),matchesMimeType_normalized(normalizeMimeType(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))===null||t===void 0?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return normalizeMimeType(e)}}function normalizeMimeType(n){return n.toLowerCase()}function matchesMimeType(n,e){return matchesMimeType_normalized(normalizeMimeType(n),e.map(normalizeMimeType))}function matchesMimeType_normalized(n,e){if(n==="*/*")return e.length>0;if(e.includes(n))return!0;const t=n.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,r,g]=t;return g==="*"?e.some(y=>y.startsWith(r+"/")):!1}const UriList=Object.freeze({create:n=>distinct(n.map(e=>e.toString())).join("\r\n"),split:n=>n.split("\r\n"),parse:n=>UriList.split(n).filter(e=>!e.startsWith("#"))});class HierarchicalKind{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+HierarchicalKind.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new HierarchicalKind((this.value?[this.value,...e]:e).join(HierarchicalKind.sep))}}HierarchicalKind.sep=".";HierarchicalKind.None=new HierarchicalKind("@@none@@");HierarchicalKind.Empty=new HierarchicalKind("");const CodeDataTransfers={EDITORS:"CodeEditors",FILES:"CodeFiles"};class DragAndDropContributionRegistry{}const Extensions={DragAndDropContribution:"workbench.contributions.dragAndDrop"};Registry.add(Extensions.DragAndDropContribution,new DragAndDropContributionRegistry);class LocalSelectionTransfer{constructor(){}static getInstance(){return LocalSelectionTransfer.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}}LocalSelectionTransfer.INSTANCE=new LocalSelectionTransfer;function toVSDataTransfer(n){const e=new VSDataTransfer;for(const t of n.items){const i=t.type;if(t.kind==="string"){const r=new Promise(g=>t.getAsString(g));e.append(i,createStringDataTransferItem(r))}else if(t.kind==="file"){const r=t.getAsFile();r&&e.append(i,createFileDataTransferItemFromFile(r))}}return e}function createFileDataTransferItemFromFile(n){const e=n.path?URI.parse(n.path):void 0;return createFileDataTransferItem(n.name,e,async()=>new Uint8Array(await n.arrayBuffer()))}const INTERNAL_DND_MIME_TYPES=Object.freeze([CodeDataTransfers.EDITORS,CodeDataTransfers.FILES,DataTransfers.RESOURCES,DataTransfers.INTERNAL_URI_LIST]);function toExternalVSDataTransfer(n,e=!1){const t=toVSDataTransfer(n),i=t.get(DataTransfers.INTERNAL_URI_LIST);if(i)t.replace(Mimes.uriList,i);else if(e||!t.has(Mimes.uriList)){const r=[];for(const g of n.items){const y=g.getAsFile();if(y){const k=y.path;try{k?r.push(URI.file(k).toString()):r.push(URI.parse(y.name,!0).toString())}catch(L){}}}r.length&&t.replace(Mimes.uriList,createStringDataTransferItem(UriList.create(r)))}for(const r of INTERNAL_DND_MIME_TYPES)t.delete(r);return t}var __decorate$1w=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1s=function(n,e){return function(t,i){e(t,i,n)}};class SimplePasteAndDropProvider{async provideDocumentPasteEdits(e,t,i,r,g){const y=await this.getEdit(i,g);if(y)return{dispose(){},edits:[{insertText:y.insertText,title:y.title,kind:y.kind,handledMimeType:y.handledMimeType,yieldTo:y.yieldTo}]}}async provideDocumentOnDropEdits(e,t,i,r){const g=await this.getEdit(i,r);return g?[{insertText:g.insertText,title:g.title,kind:g.kind,handledMimeType:g.handledMimeType,yieldTo:g.yieldTo}]:void 0}}class DefaultTextPasteOrDropEditProvider extends SimplePasteAndDropProvider{constructor(){super(...arguments),this.kind=DefaultTextPasteOrDropEditProvider.kind,this.dropMimeTypes=[Mimes.text],this.pasteMimeTypes=[Mimes.text]}async getEdit(e,t){const i=e.get(Mimes.text);if(!i||e.has(Mimes.uriList))return;const r=await i.asString();return{handledMimeType:Mimes.text,title:localize("text.label","Insert Plain Text"),insertText:r,kind:this.kind}}}DefaultTextPasteOrDropEditProvider.id="text";DefaultTextPasteOrDropEditProvider.kind=new HierarchicalKind("text.plain");class PathProvider extends SimplePasteAndDropProvider{constructor(){super(...arguments),this.kind=new HierarchicalKind("uri.absolute"),this.dropMimeTypes=[Mimes.uriList],this.pasteMimeTypes=[Mimes.uriList]}async getEdit(e,t){const i=await extractUriList(e);if(!i.length||t.isCancellationRequested)return;let r=0;const g=i.map(({uri:k,originalText:L})=>k.scheme===Schemas.file?k.fsPath:(r++,L)).join(" ");let y;return r>0?y=i.length>1?localize("defaultDropProvider.uriList.uris","Insert Uris"):localize("defaultDropProvider.uriList.uri","Insert Uri"):y=i.length>1?localize("defaultDropProvider.uriList.paths","Insert Paths"):localize("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Mimes.uriList,insertText:g,title:y,kind:this.kind}}}let RelativePathProvider=class extends SimplePasteAndDropProvider{constructor(e){super(),this._workspaceContextService=e,this.kind=new HierarchicalKind("uri.relative"),this.dropMimeTypes=[Mimes.uriList],this.pasteMimeTypes=[Mimes.uriList]}async getEdit(e,t){const i=await extractUriList(e);if(!i.length||t.isCancellationRequested)return;const r=coalesce(i.map(({uri:g})=>{const y=this._workspaceContextService.getWorkspaceFolder(g);return y?relativePath(y.uri,g):void 0}));if(r.length)return{handledMimeType:Mimes.uriList,insertText:r.join(" "),title:i.length>1?localize("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):localize("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};RelativePathProvider=__decorate$1w([__param$1s(0,IWorkspaceContextService)],RelativePathProvider);class PasteHtmlProvider{constructor(){this.kind=new HierarchicalKind("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Mimes.text}]}async provideDocumentPasteEdits(e,t,i,r,g){var y;if(r.triggerKind!==DocumentPasteTriggerKind.PasteAs&&!(!((y=r.only)===null||y===void 0)&&y.contains(this.kind)))return;const k=i.get("text/html"),L=await(k==null?void 0:k.asString());if(!(!L||g.isCancellationRequested))return{dispose(){},edits:[{insertText:L,yieldTo:this._yieldTo,title:localize("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function extractUriList(n){const e=n.get(Mimes.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const r of UriList.parse(t))try{i.push({uri:URI.parse(r),originalText:r})}catch(g){}return i}let DefaultDropProvidersFeature=class extends Disposable{constructor(e,t){super(),this._register(e.documentOnDropEditProvider.register("*",new DefaultTextPasteOrDropEditProvider)),this._register(e.documentOnDropEditProvider.register("*",new PathProvider)),this._register(e.documentOnDropEditProvider.register("*",new RelativePathProvider(t)))}};DefaultDropProvidersFeature=__decorate$1w([__param$1s(0,ILanguageFeaturesService),__param$1s(1,IWorkspaceContextService)],DefaultDropProvidersFeature);let DefaultPasteProvidersFeature=class extends Disposable{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new DefaultTextPasteOrDropEditProvider)),this._register(e.documentPasteEditProvider.register("*",new PathProvider)),this._register(e.documentPasteEditProvider.register("*",new RelativePathProvider(t))),this._register(e.documentPasteEditProvider.register("*",new PasteHtmlProvider))}};DefaultPasteProvidersFeature=__decorate$1w([__param$1s(0,ILanguageFeaturesService),__param$1s(1,IWorkspaceContextService)],DefaultPasteProvidersFeature);class Scanner{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),r;if(r=Scanner._table[i],typeof r=="number")return this.pos+=1,{type:r,pos:e,len:1};if(Scanner.isDigitCharacter(i)){r=8;do t+=1,i=this.value.charCodeAt(e+t);while(Scanner.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}if(Scanner.isVariableCharacter(i)){r=9;do i=this.value.charCodeAt(e+ ++t);while(Scanner.isVariableCharacter(i)||Scanner.isDigitCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}r=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof Scanner._table[i]>"u"&&!Scanner.isDigitCharacter(i)&&!Scanner.isVariableCharacter(i));return this.pos+=t,{type:r,pos:e,len:t}}}Scanner._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};class Marker{constructor(){this._children=[]}appendChild(e){return e instanceof Text&&this._children[this._children.length-1]instanceof Text?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,r=i.children.indexOf(e),g=i.children.slice(0);g.splice(r,1,...t),i._children=g,function y(k,L){for(const V of k)V.parent=L,y(V.children,V)}(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof TextmateSnippet)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}class Text extends Marker{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new Text(this.value)}}class TransformableMarker extends Marker{}class Placeholder extends TransformableMarker{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.indext.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Choice?this._children[0]:void 0}clone(){const e=new Placeholder(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Choice extends Marker{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Text&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Choice;return this.options.forEach(e.appendChild,e),e}}class Transform extends Marker{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,r=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(g=>g instanceof FormatString&&!!g.elseValue)&&(r=this._replace([])),r}_replace(e){let t="";for(const i of this._children)if(i instanceof FormatString){let r=e[i.index]||"";r=i.resolve(r),t+=r}else t+=i.toString();return t}toString(){return""}clone(){const e=new Transform;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class FormatString extends Marker{constructor(e,t,i,r){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=r}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,r)=>r===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new FormatString(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Variable extends TransformableMarker{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Text(t)],!0):!1}clone(){const e=new Variable(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function walk(n,e){const t=[...n];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class TextmateSnippet extends Marker{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof Placeholder&&(e.push(i),t=!t||t.indexr===e?(i=!0,!1):(t+=r.len(),!0)),i?t:-1}fullLen(e){let t=0;return walk([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof Placeholder&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Variable&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new TextmateSnippet;return this._children=this.children.map(t=>t.clone()),e}walk(e){walk(this.children,e)}}class SnippetParser{constructor(){this._scanner=new Scanner,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const r=new TextmateSnippet;return this.parseFragment(e,r),this.ensureFinalTabstop(r,i!=null?i:!1,t!=null?t:!1),r}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const r=new Map,g=[];t.walk(L=>(L instanceof Placeholder&&(L.isFinalTabstop?r.set(0,void 0):!r.has(L.index)&&L.children.length>0?r.set(L.index,L.children):g.push(L)),!0));const y=(L,V)=>{const z=r.get(L.index);if(!z)return;const j=new Placeholder(L.index);j.transform=L.transform;for(const ie of z){const oe=ie.clone();j.appendChild(oe),oe instanceof Placeholder&&r.has(oe.index)&&!V.has(oe.index)&&(V.add(oe.index),y(oe,V),V.delete(oe.index))}t.replace(L,[j])},k=new Set;for(const L of g)y(L,k);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(g=>g.index===0)||e.appendChild(new Placeholder(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const r=this._scanner.next();if(r.type!==0&&r.type!==4&&r.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Text(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new Placeholder(Number(t)):new Variable(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const g=new Placeholder(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(g),!0;if(!this._parse(g))return e.appendChild(new Text("${"+t+":")),g.children.forEach(e.appendChild,e),!0}else if(g.index>0&&this._accept(7)){const y=new Choice;for(;;){if(this._parseChoiceElement(y)){if(this._accept(2))continue;if(this._accept(7)&&(g.appendChild(y),this._accept(4)))return e.appendChild(g),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(g)?(e.appendChild(g),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(g),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let r;if((r=this._accept(5,!0))?r=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||r:r=this._accept(void 0,!0),!r)return this._backTo(t),!1;i.push(r)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Text(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const g=new Variable(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(g),!0;if(!this._parse(g))return e.appendChild(new Text("${"+t+":")),g.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(g)?(e.appendChild(g),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(g),!0):this._backTo(i)}_parseTransform(e){const t=new Transform;let i="",r="";for(;!this._accept(6);){let g;if(g=this._accept(5,!0)){g=this._accept(6,!0)||g,i+=g;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let g;if(g=this._accept(5,!0)){g=this._accept(5,!0)||this._accept(6,!0)||g,t.appendChild(new Text(g));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){r+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,r)}catch(g){return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const r=this._accept(8,!0);if(r)if(i){if(this._accept(4))return e.appendChild(new FormatString(Number(r))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new FormatString(Number(r))),!0;else return this._backTo(t),!1;if(this._accept(6)){const g=this._accept(9,!0);return!g||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new FormatString(Number(r),g)),!0)}else if(this._accept(11)){const g=this._until(4);if(g)return e.appendChild(new FormatString(Number(r),void 0,g,void 0)),!0}else if(this._accept(12)){const g=this._until(4);if(g)return e.appendChild(new FormatString(Number(r),void 0,void 0,g)),!0}else if(this._accept(13)){const g=this._until(1);if(g){const y=this._until(4);if(y)return e.appendChild(new FormatString(Number(r),void 0,g,y)),!0}}else{const g=this._until(4);if(g)return e.appendChild(new FormatString(Number(r),void 0,void 0,g)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Text(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function createCombinedWorkspaceEdit(n,e,t){var i,r,g,y;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:(r=(i=t.additionalEdit)===null||i===void 0?void 0:i.edits)!==null&&r!==void 0?r:[]}:{edits:[...e.map(k=>new ResourceTextEdit(n,{range:k,text:typeof t.insertText=="string"?SnippetParser.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...(y=(g=t.additionalEdit)===null||g===void 0?void 0:g.edits)!==null&&y!==void 0?y:[]]}}function sortEditsByYieldTo(n){var e;function t(k,L){return"mimeType"in k?k.mimeType===L.handledMimeType:!!L.kind&&k.kind.contains(L.kind)}const i=new Map;for(const k of n)for(const L of(e=k.yieldTo)!==null&&e!==void 0?e:[])for(const V of n)if(V!==k&&t(L,V)){let z=i.get(k);z||(z=[],i.set(k,z)),z.push(V)}if(!i.size)return Array.from(n);const r=new Set,g=[];function y(k){if(!k.length)return[];const L=k[0];if(g.includes(L))return console.warn("Yield to cycle detected",L),k;if(r.has(L))return y(k.slice(1));let V=[];const z=i.get(L);return z&&(g.push(L),V=y(z),g.pop()),r.add(L),[...V,L,...y(k.slice(1))]}return y(Array.from(n))}var __decorate$1v=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1r=function(n,e){return function(t,i){e(t,i,n)}};const inlineProgressDecoration=ModelDecorationOptions.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:noBreakWhitespace,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}});class InlineProgressWidget extends Disposable{constructor(e,t,i,r,g){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=g,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(r),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=$$f(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=$$f("span.icon");this.domNode.append(t),t.classList.add(...ThemeIcon.asClassNameArray(Codicon.loading),"codicon-modifier-spin");const i=()=>{const r=this.editor.getOption(67);this.domNode.style.height="".concat(r,"px"),this.domNode.style.width="".concat(Math.ceil(.8*r),"px")};i(),this._register(this.editor.onDidChangeConfiguration(r=>{(r.hasChanged(52)||r.hasChanged(67))&&i()})),this._register(addDisposableListener(this.domNode,EventType$1.CLICK,r=>{this.delegate.cancel()}))}getId(){return InlineProgressWidget.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}}InlineProgressWidget.baseId="editor.widget.inlineProgressWidget";let InlineProgressManager=class extends Disposable{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new MutableDisposable),this._currentWidget=new MutableDisposable,this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}async showWhile(e,t,i){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=disposableTimeout(()=>{const g=Range$2.fromPositions(e);this._currentDecorations.set([{range:g,options:inlineProgressDecoration}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(InlineProgressWidget,this.id,this._editor,g,t,i))},this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};InlineProgressManager=__decorate$1v([__param$1r(2,IInstantiationService)],InlineProgressManager);var __decorate$1u=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1q=function(n,e){return function(t,i){e(t,i,n)}},MessageController_1;let MessageController=MessageController_1=class{static get(e){return e.getContribution(MessageController_1.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new MutableDisposable,this._messageListeners=new DisposableStore,this._mouseOverMessage=!1,this._editor=e,this._visible=MessageController_1.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)===null||e===void 0||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){alert(isMarkdownString(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=isMarkdownString(e)?renderMarkdown(e,{actionHandler:{callback:r=>{this.closeMessage(),openLinkFromMarkdown(this._openerService,r,isMarkdownString(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new MessageWidget$1(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Event$1.debounce(this._editor.onDidBlurEditorText,(r,g)=>g,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&isAncestor$1(getActiveElement(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(addDisposableListener(this._messageWidget.value.getDomNode(),EventType$1.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(addDisposableListener(this._messageWidget.value.getDomNode(),EventType$1.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(r=>{r.target.position&&(i?i.containsPosition(r.target.position)||this.closeMessage():i=new Range$2(t.lineNumber-3,1,r.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(MessageWidget$1.fadeOut(this._messageWidget.value))}};MessageController.ID="editor.contrib.messageController";MessageController.MESSAGE_VISIBLE=new RawContextKey("messageVisible",!1,localize("messageVisible","Whether the editor is currently showing an inline message"));MessageController=MessageController_1=__decorate$1u([__param$1q(1,IContextKeyService),__param$1q(2,IOpenerService)],MessageController);const MessageCommand=EditorCommand.bindToContribution(MessageController.get);registerEditorCommand(new MessageCommand({id:"leaveEditorMessage",precondition:MessageController.MESSAGE_VISIBLE,handler:n=>n.closeMessage(),kbOpts:{weight:130,primary:9}}));let MessageWidget$1=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},r){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const g=document.createElement("div");g.classList.add("anchor","top"),this._domNode.appendChild(g);const y=document.createElement("div");typeof r=="string"?(y.classList.add("message"),y.textContent=r):(r.classList.add("message"),y.appendChild(r)),this._domNode.appendChild(y);const k=document.createElement("div");k.classList.add("anchor","below"),this._domNode.appendChild(k),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};registerEditorContribution(MessageController.ID,MessageController,4);var __decorate$1t=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1p=function(n,e){return function(t,i){e(t,i,n)}},PostEditWidget_1;let PostEditWidget=PostEditWidget_1=class extends Disposable{constructor(e,t,i,r,g,y,k,L,V,z){super(),this.typeId=e,this.editor=t,this.showCommand=r,this.range=g,this.edits=y,this.onSelectNewEdit=k,this._contextMenuService=L,this._keybindingService=z,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(V),this.visibleContext.set(!0),this._register(toDisposable(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(toDisposable(()=>this.editor.removeContentWidget(this))),this._register(this.editor.onDidChangeCursorPosition(j=>{g.containsPosition(j.position)||this.dispose()})),this._register(Event$1.runAndSubscribe(z.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var e;const t=(e=this._keybindingService.lookupKeybinding(this.showCommand.id))===null||e===void 0?void 0:e.getLabel();this.button.element.title=this.showCommand.label+(t?" (".concat(t,")"):"")}create(){this.domNode=$$f(".post-edit-widget"),this.button=this._register(new Button$1(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(addDisposableListener(this.domNode,EventType$1.CLICK,()=>this.showSelector()))}getId(){return PostEditWidget_1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=getDomNodePagePosition(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>toAction({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}};PostEditWidget.baseId="editor.widget.postEditWidget";PostEditWidget=PostEditWidget_1=__decorate$1t([__param$1p(7,IContextMenuService),__param$1p(8,IContextKeyService),__param$1p(9,IKeybindingService)],PostEditWidget);let PostEditWidgetManager=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=r,this._instantiationService=g,this._bulkEditService=y,this._currentWidget=this._register(new MutableDisposable),this._register(Event$1.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,r,g){const y=this._editor.getModel();if(!y||!e.length)return;const k=t.allEdits.at(t.activeEditIndex);if(!k)return;const L=await r(k,g),V=createCombinedWorkspaceEdit(y.uri,e,L),z=e[0],j=y.deltaDecorations([],[{range:z,options:{description:"paste-line-suffix",stickiness:0}}]);let ie,oe;try{ie=await this._bulkEditService.apply(V,{editor:this._editor,token:g}),oe=y.getDecorationRange(j[0])}finally{y.deltaDecorations(j,[])}i&&ie.isApplied&&t.allEdits.length>1&&this.show(oe!=null?oe:z,t,async re=>{const ae=this._editor.getModel();ae&&(await ae.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:re,allEdits:t.allEdits},i,r,g))})}show(e,t,i){this.clear(),this._editor.hasModel()&&(this._currentWidget.value=this._instantiationService.createInstance(PostEditWidget,this._id,this._editor,this._visibleContext,this._showCommand,e,t,i))}clear(){this._currentWidget.clear()}tryShowSelector(){var e;(e=this._currentWidget.value)===null||e===void 0||e.showSelector()}};PostEditWidgetManager=__decorate$1t([__param$1p(4,IInstantiationService),__param$1p(5,IBulkEditService)],PostEditWidgetManager);var __decorate$1s=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1o=function(n,e){return function(t,i){e(t,i,n)}},CopyPasteController_1;const changePasteTypeCommandId="editor.changePasteType",pasteWidgetVisibleCtx=new RawContextKey("pasteWidgetVisible",!1,localize("pasteWidgetVisible","Whether the paste widget is showing")),vscodeClipboardMime="application/vnd.code.copyMetadata";let CopyPasteController=CopyPasteController_1=class extends Disposable{static get(e){return e.getContribution(CopyPasteController_1.ID)}constructor(e,t,i,r,g,y,k){super(),this._bulkEditService=i,this._clipboardService=r,this._languageFeaturesService=g,this._quickInputService=y,this._progressService=k,this._editor=e;const L=e.getContainerDomNode();this._register(addDisposableListener(L,"copy",V=>this.handleCopy(V))),this._register(addDisposableListener(L,"cut",V=>this.handleCopy(V))),this._register(addDisposableListener(L,"paste",V=>this.handlePaste(V),!0)),this._pasteProgressManager=this._register(new InlineProgressManager("pasteIntoEditor",e,t)),this._postPasteWidgetManager=this._register(t.createInstance(PostEditWidgetManager,"pasteIntoEditor",e,pasteWidgetVisibleCtx,{id:changePasteTypeCommandId,label:localize("postPasteWidgetTitle","Show paste options...")}))}changePasteType(){this._postPasteWidgetManager.tryShowSelector()}pasteAs(e){this._editor.focus();try{this._pasteAsActionContext={preferred:e},getActiveDocument().execCommand("paste")}finally{this._pasteAsActionContext=void 0}}clearWidgets(){this._postPasteWidgetManager.clear()}isPasteAsEnabled(){return this._editor.getOption(85).enabled&&!this._editor.getOption(91)}async finishedPaste(){await this._currentPasteOperation}handleCopy(e){var t,i;if(!this._editor.hasTextFocus()||(isWeb&&this._clipboardService.writeResources([]),!e.clipboardData||!this.isPasteAsEnabled()))return;const r=this._editor.getModel(),g=this._editor.getSelections();if(!r||!(g!=null&&g.length))return;const y=this._editor.getOption(37);let k=g;const L=g.length===1&&g[0].isEmpty();if(L){if(!y)return;k=[new Range$2(k[0].startLineNumber,1,k[0].startLineNumber,1+r.getLineLength(k[0].startLineNumber))]}const V=(t=this._editor._getViewModel())===null||t===void 0?void 0:t.getPlainTextToCopy(g,y,isWindows),j={multicursorText:Array.isArray(V)?V:null,pasteOnNewLine:L,mode:null},ie=this._languageFeaturesService.documentPasteEditProvider.ordered(r).filter(de=>!!de.prepareDocumentPaste);if(!ie.length){this.setCopyMetadata(e.clipboardData,{defaultPastePayload:j});return}const oe=toVSDataTransfer(e.clipboardData),re=ie.flatMap(de=>{var ue;return(ue=de.copyMimeTypes)!==null&&ue!==void 0?ue:[]}),ae=generateUuid();this.setCopyMetadata(e.clipboardData,{id:ae,providerCopyMimeTypes:re,defaultPastePayload:j});const le=createCancelablePromise(async de=>{const ue=coalesce(await Promise.all(ie.map(async he=>{try{return await he.prepareDocumentPaste(r,k,oe,de)}catch(pe){console.error(pe);return}})));ue.reverse();for(const he of ue)for(const[pe,Ce]of he)oe.replace(pe,Ce);return oe});(i=CopyPasteController_1._currentCopyOperation)===null||i===void 0||i.dataTransferPromise.cancel(),CopyPasteController_1._currentCopyOperation={handle:ae,dataTransferPromise:le}}async handlePaste(e){var t,i,r,g;if(!e.clipboardData||!this._editor.hasTextFocus())return;(t=MessageController.get(this._editor))===null||t===void 0||t.closeMessage(),(i=this._currentPasteOperation)===null||i===void 0||i.cancel(),this._currentPasteOperation=void 0;const y=this._editor.getModel(),k=this._editor.getSelections();if(!(k!=null&&k.length)||!y||!this.isPasteAsEnabled()&&!this._pasteAsActionContext)return;const L=this.fetchCopyMetadata(e),V=toExternalVSDataTransfer(e.clipboardData);V.delete(vscodeClipboardMime);const z=[...e.clipboardData.types,...(r=L==null?void 0:L.providerCopyMimeTypes)!==null&&r!==void 0?r:[],Mimes.uriList],j=this._languageFeaturesService.documentPasteEditProvider.ordered(y).filter(ie=>{var oe,re;const ae=(oe=this._pasteAsActionContext)===null||oe===void 0?void 0:oe.preferred;return ae&&ie.providedPasteEditKinds&&!this.providerMatchesPreference(ie,ae)?!1:(re=ie.pasteMimeTypes)===null||re===void 0?void 0:re.some(le=>matchesMimeType(le,z))});if(!j.length){!((g=this._pasteAsActionContext)===null||g===void 0)&&g.preferred&&this.showPasteAsNoEditMessage(k,this._pasteAsActionContext.preferred);return}e.preventDefault(),e.stopImmediatePropagation(),this._pasteAsActionContext?this.showPasteAsPick(this._pasteAsActionContext.preferred,j,k,V,L):this.doPasteInline(j,k,V,L,e)}showPasteAsNoEditMessage(e,t){var i;(i=MessageController.get(this._editor))===null||i===void 0||i.showMessage(localize("pasteAsError","No paste edits for '{0}' found",t instanceof HierarchicalKind?t.value:t.providerId),e[0].getStartPosition())}doPasteInline(e,t,i,r,g){const y=createCancelablePromise(async k=>{const L=this._editor;if(!L.hasModel())return;const V=L.getModel(),z=new EditorStateCancellationTokenSource(L,3,void 0,k);try{if(await this.mergeInDataFromCopy(i,r,z.token),z.token.isCancellationRequested)return;const j=e.filter(re=>this.isSupportedPasteProvider(re,i));if(!j.length||j.length===1&&j[0]instanceof DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(i,r,z.token,g);const ie={triggerKind:DocumentPasteTriggerKind.Automatic},oe=await this.getPasteEdits(j,i,V,t,ie,z.token);if(z.token.isCancellationRequested)return;if(oe.length===1&&oe[0].provider instanceof DefaultTextPasteOrDropEditProvider)return this.applyDefaultPasteHandler(i,r,z.token,g);if(oe.length){const re=L.getOption(85).showPasteSelector==="afterPaste";return this._postPasteWidgetManager.applyEditAndShowIfNeeded(t,{activeEditIndex:0,allEdits:oe},re,async(ae,le)=>{var de,ue;const he=await((ue=(de=ae.provider).resolveDocumentPasteEdit)===null||ue===void 0?void 0:ue.call(de,ae,le));return he&&(ae.additionalEdit=he.additionalEdit),ae},z.token)}await this.applyDefaultPasteHandler(i,r,z.token,g)}finally{z.dispose(),this._currentPasteOperation===y&&(this._currentPasteOperation=void 0)}});this._pasteProgressManager.showWhile(t[0].getEndPosition(),localize("pasteIntoEditorProgress","Running paste handlers. Click to cancel"),y),this._currentPasteOperation=y}showPasteAsPick(e,t,i,r,g){const y=createCancelablePromise(async k=>{const L=this._editor;if(!L.hasModel())return;const V=L.getModel(),z=new EditorStateCancellationTokenSource(L,3,void 0,k);try{if(await this.mergeInDataFromCopy(r,g,z.token),z.token.isCancellationRequested)return;let j=t.filter(le=>this.isSupportedPasteProvider(le,r,e));e&&(j=j.filter(le=>this.providerMatchesPreference(le,e)));const ie={triggerKind:DocumentPasteTriggerKind.PasteAs,only:e&&e instanceof HierarchicalKind?e:void 0};let oe=await this.getPasteEdits(j,r,V,i,ie,z.token);if(z.token.isCancellationRequested)return;if(e&&(oe=oe.filter(le=>e instanceof HierarchicalKind?e.contains(le.kind):e.providerId===le.provider.id)),!oe.length){ie.only&&this.showPasteAsNoEditMessage(i,ie.only);return}let re;if(e)re=oe.at(0);else{const le=await this._quickInputService.pick(oe.map(de=>{var ue;return{label:de.title,description:(ue=de.kind)===null||ue===void 0?void 0:ue.value,edit:de}}),{placeHolder:localize("pasteAsPickerPlaceholder","Select Paste Action")});re=le==null?void 0:le.edit}if(!re)return;const ae=createCombinedWorkspaceEdit(V.uri,i,re);await this._bulkEditService.apply(ae,{editor:this._editor})}finally{z.dispose(),this._currentPasteOperation===y&&(this._currentPasteOperation=void 0)}});this._progressService.withProgress({location:10,title:localize("pasteAsProgress","Running paste handlers")},()=>y)}setCopyMetadata(e,t){e.setData(vscodeClipboardMime,JSON.stringify(t))}fetchCopyMetadata(e){var t;if(!e.clipboardData)return;const i=e.clipboardData.getData(vscodeClipboardMime);if(i)try{return JSON.parse(i)}catch(y){return}const[r,g]=ClipboardEventUtils.getTextData(e.clipboardData);if(g)return{defaultPastePayload:{mode:g.mode,multicursorText:(t=g.multicursorText)!==null&&t!==void 0?t:null,pasteOnNewLine:!!g.isFromEmptySelection}}}async mergeInDataFromCopy(e,t,i){var r;if(t!=null&&t.id&&((r=CopyPasteController_1._currentCopyOperation)===null||r===void 0?void 0:r.handle)===t.id){const g=await CopyPasteController_1._currentCopyOperation.dataTransferPromise;if(i.isCancellationRequested)return;for(const[y,k]of g)e.replace(y,k)}if(!e.has(Mimes.uriList)){const g=await this._clipboardService.readResources();if(i.isCancellationRequested)return;g.length&&e.append(Mimes.uriList,createStringDataTransferItem(UriList.create(g)))}}async getPasteEdits(e,t,i,r,g,y){const k=await raceCancellation(Promise.all(e.map(async V=>{var z,j;try{const ie=await((z=V.provideDocumentPasteEdits)===null||z===void 0?void 0:z.call(V,i,r,t,g,y));return(j=ie==null?void 0:ie.edits)===null||j===void 0?void 0:j.map(oe=>({...oe,provider:V}))}catch(ie){console.error(ie)}})),y),L=coalesce(k!=null?k:[]).flat().filter(V=>!g.only||g.only.contains(V.kind));return sortEditsByYieldTo(L)}async applyDefaultPasteHandler(e,t,i,r){var g,y,k,L;const V=(g=e.get(Mimes.text))!==null&&g!==void 0?g:e.get("text"),z=(y=await(V==null?void 0:V.asString()))!==null&&y!==void 0?y:"";if(i.isCancellationRequested)return;const j={clipboardEvent:r,text:z,pasteOnNewLine:(k=t==null?void 0:t.defaultPastePayload.pasteOnNewLine)!==null&&k!==void 0?k:!1,multicursorText:(L=t==null?void 0:t.defaultPastePayload.multicursorText)!==null&&L!==void 0?L:null,mode:null};this._editor.trigger("keyboard","paste",j)}isSupportedPasteProvider(e,t,i){var r;return!((r=e.pasteMimeTypes)===null||r===void 0)&&r.some(g=>t.matches(g))?!i||this.providerMatchesPreference(e,i):!1}providerMatchesPreference(e,t){return t instanceof HierarchicalKind?e.providedPasteEditKinds?e.providedPasteEditKinds.some(i=>t.contains(i)):!0:e.id===t.providerId}};CopyPasteController.ID="editor.contrib.copyPasteActionController";CopyPasteController=CopyPasteController_1=__decorate$1s([__param$1o(1,IInstantiationService),__param$1o(2,IBulkEditService),__param$1o(3,IClipboardService),__param$1o(4,ILanguageFeaturesService),__param$1o(5,IQuickInputService),__param$1o(6,IProgressService)],CopyPasteController);const CLIPBOARD_CONTEXT_MENU_GROUP="9_cutcopypaste",supportsCut=isNative||document.queryCommandSupported("cut"),supportsCopy=isNative||document.queryCommandSupported("copy"),supportsPaste=typeof navigator.clipboard>"u"||isFirefox$1?document.queryCommandSupported("paste"):!0;function registerCommand(n){return n.register(),n}const CutAction=supportsCut?registerCommand(new MultiCommand({id:"editor.action.clipboardCutAction",precondition:void 0,kbOpts:isNative?{primary:2102,win:{primary:2102,secondary:[1044]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({},"Cu&&t"),order:1},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.cutLabel","Cut"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.cutLabel","Cut"),when:EditorContextKeys.writable,order:1}]})):void 0,CopyAction=supportsCopy?registerCommand(new MultiCommand({id:"editor.action.clipboardCopyAction",precondition:void 0,kbOpts:isNative?{primary:2081,win:{primary:2081,secondary:[2067]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({},"&&Copy"),order:2},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.copyLabel","Copy"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.copyLabel","Copy"),order:2}]})):void 0;MenuRegistry.appendMenuItem(MenuId.MenubarEditMenu,{submenu:MenuId.MenubarCopy,title:localize2("copy as","Copy As"),group:"2_ccp",order:3});MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextCopy,title:localize2("copy as","Copy As"),group:CLIPBOARD_CONTEXT_MENU_GROUP,order:3});MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextShare,title:localize2("share","Share"),group:"11_share",order:-1,when:ContextKeyExpr.and(ContextKeyExpr.notEquals("resourceScheme","output"),EditorContextKeys.editorTextFocus)});MenuRegistry.appendMenuItem(MenuId.EditorTitleContext,{submenu:MenuId.EditorTitleContextShare,title:localize2("share","Share"),group:"11_share",order:-1});MenuRegistry.appendMenuItem(MenuId.ExplorerContext,{submenu:MenuId.ExplorerContextShare,title:localize2("share","Share"),group:"11_share",order:-1});const PasteAction=supportsPaste?registerCommand(new MultiCommand({id:"editor.action.clipboardPasteAction",precondition:void 0,kbOpts:isNative?{primary:2100,win:{primary:2100,secondary:[1043]},linux:{primary:2100,secondary:[1043]},weight:100}:void 0,menuOpts:[{menuId:MenuId.MenubarEditMenu,group:"2_ccp",title:localize({},"&&Paste"),order:4},{menuId:MenuId.EditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4},{menuId:MenuId.CommandPalette,group:"",title:localize("actions.clipboard.pasteLabel","Paste"),order:1},{menuId:MenuId.SimpleEditorContext,group:CLIPBOARD_CONTEXT_MENU_GROUP,title:localize("actions.clipboard.pasteLabel","Paste"),when:EditorContextKeys.writable,order:4}]})):void 0;class ExecCommandCopyWithSyntaxHighlightingAction extends EditorAction{constructor(){super({id:"editor.action.clipboardCopyWithSyntaxHighlightingAction",label:localize("actions.clipboard.copyWithSyntaxHighlightingLabel","Copy With Syntax Highlighting"),alias:"Copy With Syntax Highlighting",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,weight:100}})}run(e,t){!t.hasModel()||!t.getOption(37)&&t.getSelection().isEmpty()||(CopyOptions.forceCopyWithSyntaxHighlighting=!0,t.focus(),t.getContainerDomNode().ownerDocument.execCommand("copy"),CopyOptions.forceCopyWithSyntaxHighlighting=!1)}}function registerExecCommandImpl(n,e){n&&(n.addImplementation(1e4,"code-editor",(t,i)=>{const r=t.get(ICodeEditorService).getFocusedCodeEditor();if(r&&r.hasTextFocus()){const g=r.getOption(37),y=r.getSelection();return y&&y.isEmpty()&&!g||r.getContainerDomNode().ownerDocument.execCommand(e),!0}return!1}),n.addImplementation(0,"generic-dom",(t,i)=>(getActiveDocument().execCommand(e),!0)))}registerExecCommandImpl(CutAction,"cut");registerExecCommandImpl(CopyAction,"copy");PasteAction&&(PasteAction.addImplementation(1e4,"code-editor",(n,e)=>{var t,i;const r=n.get(ICodeEditorService),g=n.get(IClipboardService),y=r.getFocusedCodeEditor();return y&&y.hasTextFocus()?y.getContainerDomNode().ownerDocument.execCommand("paste")?(i=(t=CopyPasteController.get(y))===null||t===void 0?void 0:t.finishedPaste())!==null&&i!==void 0?i:Promise.resolve():isWeb?(async()=>{const L=await g.readText();if(L!==""){const V=InMemoryClipboardMetadataManager.INSTANCE.get(L);let z=!1,j=null,ie=null;V&&(z=y.getOption(37)&&!!V.isFromEmptySelection,j=typeof V.multicursorText<"u"?V.multicursorText:null,ie=V.mode),y.trigger("keyboard","paste",{text:L,pasteOnNewLine:z,multicursorText:j,mode:ie})}})():!0:!1}),PasteAction.addImplementation(0,"generic-dom",(n,e)=>(getActiveDocument().execCommand("paste"),!0)));supportsCopy&®isterEditorAction(ExecCommandCopyWithSyntaxHighlightingAction);const CodeActionKind=new class{constructor(){this.QuickFix=new HierarchicalKind("quickfix"),this.Refactor=new HierarchicalKind("refactor"),this.RefactorExtract=this.Refactor.append("extract"),this.RefactorInline=this.Refactor.append("inline"),this.RefactorMove=this.Refactor.append("move"),this.RefactorRewrite=this.Refactor.append("rewrite"),this.Notebook=new HierarchicalKind("notebook"),this.Source=new HierarchicalKind("source"),this.SourceOrganizeImports=this.Source.append("organizeImports"),this.SourceFixAll=this.Source.append("fixAll"),this.SurroundWith=this.Refactor.append("surround")}};var CodeActionTriggerSource;(function(n){n.Refactor="refactor",n.RefactorPreview="refactor preview",n.Lightbulb="lightbulb",n.Default="other (default)",n.SourceAction="source action",n.QuickFix="quick fix action",n.FixAll="fix all",n.OrganizeImports="organize imports",n.AutoFix="auto fix",n.QuickFixHover="quick fix hover window",n.OnSave="save participants",n.ProblemsView="problems view"})(CodeActionTriggerSource||(CodeActionTriggerSource={}));function mayIncludeActionsOfKind(n,e){return!(n.include&&!n.include.intersects(e)||n.excludes&&n.excludes.some(t=>excludesAction(e,t,n.include))||!n.includeSourceActions&&CodeActionKind.Source.contains(e))}function filtersAction(n,e){const t=e.kind?new HierarchicalKind(e.kind):void 0;return!(n.include&&(!t||!n.include.contains(t))||n.excludes&&t&&n.excludes.some(i=>excludesAction(t,i,n.include))||!n.includeSourceActions&&t&&CodeActionKind.Source.contains(t)||n.onlyIncludePreferredActions&&!e.isPreferred)}function excludesAction(n,e,t){return!(!e.contains(n)||t&&e.contains(t))}class CodeActionCommandArgs{static fromUser(e,t){return!e||typeof e!="object"?new CodeActionCommandArgs(t.kind,t.apply,!1):new CodeActionCommandArgs(CodeActionCommandArgs.getKindFromUser(e,t.kind),CodeActionCommandArgs.getApplyFromUser(e,t.apply),CodeActionCommandArgs.getPreferredUser(e))}static getApplyFromUser(e,t){switch(typeof e.apply=="string"?e.apply.toLowerCase():""){case"first":return"first";case"never":return"never";case"ifsingle":return"ifSingle";default:return t}}static getKindFromUser(e,t){return typeof e.kind=="string"?new HierarchicalKind(e.kind):t}static getPreferredUser(e){return typeof e.preferred=="boolean"?e.preferred:!1}constructor(e,t,i){this.kind=e,this.apply=t,this.preferred=i}}class CodeActionItem{constructor(e,t,i){this.action=e,this.provider=t,this.highlightRange=i}async resolve(e){var t;if(!((t=this.provider)===null||t===void 0)&&t.resolveCodeAction&&!this.action.edit){let i;try{i=await this.provider.resolveCodeAction(this.action,e)}catch(r){onUnexpectedExternalError(r)}i&&(this.action.edit=i.edit)}return this}}const codeActionCommandId="editor.action.codeAction",quickFixCommandId="editor.action.quickFix",autoFixCommandId="editor.action.autoFix",refactorCommandId="editor.action.refactor",sourceActionCommandId="editor.action.sourceAction",organizeImportsCommandId="editor.action.organizeImports",fixAllCommandId="editor.action.fixAll";class ManagedCodeActionSet extends Disposable{static codeActionsPreferredComparator(e,t){return e.isPreferred&&!t.isPreferred?-1:!e.isPreferred&&t.isPreferred?1:0}static codeActionsComparator({action:e},{action:t}){return e.isAI&&!t.isAI?1:!e.isAI&&t.isAI?-1:isNonEmptyArray(e.diagnostics)?isNonEmptyArray(t.diagnostics)?ManagedCodeActionSet.codeActionsPreferredComparator(e,t):-1:isNonEmptyArray(t.diagnostics)?1:ManagedCodeActionSet.codeActionsPreferredComparator(e,t)}constructor(e,t,i){super(),this.documentation=t,this._register(i),this.allActions=[...e].sort(ManagedCodeActionSet.codeActionsComparator),this.validActions=this.allActions.filter(({action:r})=>!r.disabled)}get hasAutoFix(){return this.validActions.some(({action:e})=>!!e.kind&&CodeActionKind.QuickFix.contains(new HierarchicalKind(e.kind))&&!!e.isPreferred)}get hasAIFix(){return this.validActions.some(({action:e})=>!!e.isAI)}get allAIFixes(){return this.validActions.every(({action:e})=>!!e.isAI)}}const emptyCodeActionsResponse={actions:[],documentation:void 0};async function getCodeActions(n,e,t,i,r,g){var y;const k=i.filter||{},L={...k,excludes:[...k.excludes||[],CodeActionKind.Notebook]},V={only:(y=k.include)===null||y===void 0?void 0:y.value,trigger:i.type},z=new TextModelCancellationTokenSource(e,g),j=i.type===2,ie=getCodeActionProviders(n,e,j?L:k),oe=new DisposableStore,re=ie.map(async le=>{try{r.report(le);const de=await le.provideCodeActions(e,t,V,z.token);if(de&&oe.add(de),z.token.isCancellationRequested)return emptyCodeActionsResponse;const ue=((de==null?void 0:de.actions)||[]).filter(pe=>pe&&filtersAction(k,pe)),he=getDocumentationFromProvider(le,ue,k.include);return{actions:ue.map(pe=>new CodeActionItem(pe,le)),documentation:he}}catch(de){if(isCancellationError(de))throw de;return onUnexpectedExternalError(de),emptyCodeActionsResponse}}),ae=n.onDidChange(()=>{const le=n.all(e);equals$3(le,ie)||z.cancel()});try{const le=await Promise.all(re),de=le.map(he=>he.actions).flat(),ue=[...coalesce(le.map(he=>he.documentation)),...getAdditionalDocumentationForShowingActions(n,e,i,de)];return new ManagedCodeActionSet(de,ue,oe)}finally{ae.dispose(),z.dispose()}}function getCodeActionProviders(n,e,t){return n.all(e).filter(i=>i.providedCodeActionKinds?i.providedCodeActionKinds.some(r=>mayIncludeActionsOfKind(t,new HierarchicalKind(r))):!0)}function*getAdditionalDocumentationForShowingActions(n,e,t,i){var r,g,y;if(e&&i.length)for(const k of n.all(e))k._getAdditionalMenuItems&&(yield*(r=k._getAdditionalMenuItems)===null||r===void 0?void 0:r.call(k,{trigger:t.type,only:(y=(g=t.filter)===null||g===void 0?void 0:g.include)===null||y===void 0?void 0:y.value},i.map(L=>L.action)))}function getDocumentationFromProvider(n,e,t){if(!n.documentation)return;const i=n.documentation.map(r=>({kind:new HierarchicalKind(r.kind),command:r.command}));if(t){let r;for(const g of i)g.kind.contains(t)&&(r?r.kind.contains(g.kind)&&(r=g):r=g);if(r)return r==null?void 0:r.command}for(const r of e)if(r.kind){for(const g of i)if(g.kind.contains(new HierarchicalKind(r.kind)))return g.command}}var ApplyCodeActionReason;(function(n){n.OnSave="onSave",n.FromProblemsView="fromProblemsView",n.FromCodeActions="fromCodeActions",n.FromAILightbulb="fromAILightbulb"})(ApplyCodeActionReason||(ApplyCodeActionReason={}));async function applyCodeAction(n,e,t,i,r=CancellationToken.None){var g;const y=n.get(IBulkEditService),k=n.get(ICommandService),L=n.get(ITelemetryService),V=n.get(INotificationService);if(L.publicLog2("codeAction.applyCodeAction",{codeActionTitle:e.action.title,codeActionKind:e.action.kind,codeActionIsPreferred:!!e.action.isPreferred,reason:t}),await e.resolve(r),!r.isCancellationRequested&&!(!((g=e.action.edit)===null||g===void 0)&&g.edits.length&&!(await y.apply(e.action.edit,{editor:i==null?void 0:i.editor,label:e.action.title,quotableLabel:e.action.title,code:"undoredo.codeAction",respectAutoSaveConfig:t!==ApplyCodeActionReason.OnSave,showPreview:i==null?void 0:i.preview})).isApplied)&&e.action.command)try{await k.executeCommand(e.action.command.id,...e.action.command.arguments||[])}catch(z){const j=asMessage(z);V.error(typeof j=="string"?j:localize("applyCodeActionFailed","An unknown error occurred while applying the code action"))}}function asMessage(n){return typeof n=="string"?n:n instanceof Error&&typeof n.message=="string"?n.message:void 0}CommandsRegistry.registerCommand("_executeCodeActionProvider",async function(n,e,t,i,r){if(!(e instanceof URI))throw illegalArgument();const{codeActionProvider:g}=n.get(ILanguageFeaturesService),y=n.get(IModelService).getModel(e);if(!y)throw illegalArgument();const k=Selection$1.isISelection(t)?Selection$1.liftSelection(t):Range$2.isIRange(t)?y.validateRange(t):void 0;if(!k)throw illegalArgument();const L=typeof i=="string"?new HierarchicalKind(i):void 0,V=await getCodeActions(g,y,k,{type:1,triggerAction:CodeActionTriggerSource.Default,filter:{includeSourceActions:!0,include:L}},Progress$1.None,CancellationToken.None),z=[],j=Math.min(V.validActions.length,typeof r=="number"?r:0);for(let ie=0;ieie.action)}finally{setTimeout(()=>V.dispose(),100)}});var __decorate$1r=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1n=function(n,e){return function(t,i){e(t,i,n)}},CodeActionKeybindingResolver_1;let CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=class{constructor(e){this.keybindingService=e}getResolver(){const e=new Lazy(()=>this.keybindingService.getKeybindings().filter(t=>CodeActionKeybindingResolver_1.codeActionCommands.indexOf(t.command)>=0).filter(t=>t.resolvedKeybinding).map(t=>{let i=t.commandArgs;return t.command===organizeImportsCommandId?i={kind:CodeActionKind.SourceOrganizeImports.value}:t.command===fixAllCommandId&&(i={kind:CodeActionKind.SourceFixAll.value}),{resolvedKeybinding:t.resolvedKeybinding,...CodeActionCommandArgs.fromUser(i,{kind:HierarchicalKind.None,apply:"never"})}}));return t=>{if(t.kind){const i=this.bestKeybindingForCodeAction(t,e.value);return i==null?void 0:i.resolvedKeybinding}}}bestKeybindingForCodeAction(e,t){if(!e.kind)return;const i=new HierarchicalKind(e.kind);return t.filter(r=>r.kind.contains(i)).filter(r=>r.preferred?e.isPreferred:!0).reduceRight((r,g)=>r?r.kind.contains(g.kind)?g:r:g,void 0)}};CodeActionKeybindingResolver.codeActionCommands=[refactorCommandId,codeActionCommandId,sourceActionCommandId,organizeImportsCommandId,fixAllCommandId];CodeActionKeybindingResolver=CodeActionKeybindingResolver_1=__decorate$1r([__param$1n(0,IKeybindingService)],CodeActionKeybindingResolver);registerColor("symbolIcon.arrayForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.arrayForeground","The foreground color for array symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.booleanForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.booleanForeground","The foreground color for boolean symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.classForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.classForeground","The foreground color for class symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.colorForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.colorForeground","The foreground color for color symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.constantForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.constantForeground","The foreground color for constant symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.constructorForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.constructorForeground","The foreground color for constructor symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.enumeratorForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.enumeratorForeground","The foreground color for enumerator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.enumeratorMemberForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.enumeratorMemberForeground","The foreground color for enumerator member symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.eventForeground",{dark:"#EE9D28",light:"#D67E00",hcDark:"#EE9D28",hcLight:"#D67E00"},localize("symbolIcon.eventForeground","The foreground color for event symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.fieldForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.fieldForeground","The foreground color for field symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.fileForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.fileForeground","The foreground color for file symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.folderForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.folderForeground","The foreground color for folder symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.functionForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.functionForeground","The foreground color for function symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.interfaceForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.interfaceForeground","The foreground color for interface symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.keyForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.keyForeground","The foreground color for key symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.keywordForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.keywordForeground","The foreground color for keyword symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.methodForeground",{dark:"#B180D7",light:"#652D90",hcDark:"#B180D7",hcLight:"#652D90"},localize("symbolIcon.methodForeground","The foreground color for method symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.moduleForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.moduleForeground","The foreground color for module symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.namespaceForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.namespaceForeground","The foreground color for namespace symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.nullForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.nullForeground","The foreground color for null symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.numberForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.numberForeground","The foreground color for number symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.objectForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.objectForeground","The foreground color for object symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.operatorForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.operatorForeground","The foreground color for operator symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.packageForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.packageForeground","The foreground color for package symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.propertyForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.propertyForeground","The foreground color for property symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.referenceForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.referenceForeground","The foreground color for reference symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.snippetForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.snippetForeground","The foreground color for snippet symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.stringForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.stringForeground","The foreground color for string symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.structForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.structForeground","The foreground color for struct symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.textForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.textForeground","The foreground color for text symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.typeParameterForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.typeParameterForeground","The foreground color for type parameter symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.unitForeground",{dark:foreground,light:foreground,hcDark:foreground,hcLight:foreground},localize("symbolIcon.unitForeground","The foreground color for unit symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));registerColor("symbolIcon.variableForeground",{dark:"#75BEFF",light:"#007ACC",hcDark:"#75BEFF",hcLight:"#007ACC"},localize("symbolIcon.variableForeground","The foreground color for variable symbols. These symbols appear in the outline, breadcrumb, and suggest widget."));const uncategorizedCodeActionGroup=Object.freeze({kind:HierarchicalKind.Empty,title:localize("codeAction.widget.id.more","More Actions...")}),codeActionGroups=Object.freeze([{kind:CodeActionKind.QuickFix,title:localize("codeAction.widget.id.quickfix","Quick Fix")},{kind:CodeActionKind.RefactorExtract,title:localize("codeAction.widget.id.extract","Extract"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorInline,title:localize("codeAction.widget.id.inline","Inline"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorRewrite,title:localize("codeAction.widget.id.convert","Rewrite"),icon:Codicon.wrench},{kind:CodeActionKind.RefactorMove,title:localize("codeAction.widget.id.move","Move"),icon:Codicon.wrench},{kind:CodeActionKind.SurroundWith,title:localize("codeAction.widget.id.surround","Surround With"),icon:Codicon.surroundWith},{kind:CodeActionKind.Source,title:localize("codeAction.widget.id.source","Source Action"),icon:Codicon.symbolFile},uncategorizedCodeActionGroup]);function toMenuItems(n,e,t){if(!e)return n.map(g=>{var y;return{kind:"action",item:g,group:uncategorizedCodeActionGroup,disabled:!!g.action.disabled,label:g.action.disabled||g.action.title,canPreview:!!(!((y=g.action.edit)===null||y===void 0)&&y.edits.length)}});const i=codeActionGroups.map(g=>({group:g,actions:[]}));for(const g of n){const y=g.action.kind?new HierarchicalKind(g.action.kind):HierarchicalKind.None;for(const k of i)if(k.group.kind.contains(y)){k.actions.push(g);break}}const r=[];for(const g of i)if(g.actions.length){r.push({kind:"header",group:g.group});for(const y of g.actions){const k=g.group;r.push({kind:"action",item:y,group:y.action.isAI?{title:k.title,kind:k.kind,icon:Codicon.sparkle}:k,label:y.action.title,disabled:!!y.action.disabled,keybinding:t(y.action)})}}return r}var __decorate$1q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1m=function(n,e){return function(t,i){e(t,i,n)}},LightBulbWidget_1,LightBulbState;(function(n){n.Hidden={type:0};class e{constructor(i,r,g,y){this.actions=i,this.trigger=r,this.editorPosition=g,this.widgetPosition=y,this.type=1}}n.Showing=e})(LightBulbState||(LightBulbState={}));let LightBulbWidget=LightBulbWidget_1=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._keybindingService=t,this._onClick=this._register(new Emitter$1),this.onClick=this._onClick.event,this._state=LightBulbState.Hidden,this._iconClasses=[],this._domNode=$$f("div.lightBulbWidget"),this._register(Gesture.ignoreTarget(this._domNode)),this._editor.addContentWidget(this),this._register(this._editor.onDidChangeModelContent(r=>{const g=this._editor.getModel();(this.state.type!==1||!g||this.state.editorPosition.lineNumber>=g.getLineCount())&&this.hide()})),this._register(addStandardDisposableGenericMouseDownListener(this._domNode,r=>{if(this.state.type!==1)return;this._editor.focus(),r.preventDefault();const{top:g,height:y}=getDomNodePagePosition(this._domNode),k=this._editor.getOption(67);let L=Math.floor(k/3);this.state.widgetPosition.position!==null&&this.state.widgetPosition.position.lineNumber{(r.buttons&1)===1&&this.hide()})),this._register(Event$1.runAndSubscribe(this._keybindingService.onDidUpdateKeybindings,()=>{var r,g,y,k;this._preferredKbLabel=(g=(r=this._keybindingService.lookupKeybinding(autoFixCommandId))===null||r===void 0?void 0:r.getLabel())!==null&&g!==void 0?g:void 0,this._quickFixKbLabel=(k=(y=this._keybindingService.lookupKeybinding(quickFixCommandId))===null||y===void 0?void 0:y.getLabel())!==null&&k!==void 0?k:void 0,this._updateLightBulbTitleAndIcon()}))}dispose(){super.dispose(),this._editor.removeContentWidget(this)}getId(){return"LightBulbWidget"}getDomNode(){return this._domNode}getPosition(){return this._state.type===1?this._state.widgetPosition:null}update(e,t,i){if(e.validActions.length<=0)return this.hide();if(!this._editor.getOptions().get(65).enabled)return this.hide();const g=this._editor.getModel();if(!g)return this.hide();const{lineNumber:y,column:k}=g.validatePosition(i),L=g.getOptions().tabSize,V=this._editor.getOptions().get(50),z=g.getLineContent(y),j=computeIndentLevel(z,L),ie=V.spaceWidth*j>22,oe=le=>le>2&&this._editor.getTopForLineNumber(le)===this._editor.getTopForLineNumber(le-1);let re=y,ae=1;if(!ie){if(y>1&&!oe(y-1))re-=1;else if(y=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1l=function(n,e){return function(t,i){e(t,i,n)}};const acceptSelectedActionCommand="acceptSelectedCodeAction",previewSelectedActionCommand="previewSelectedCodeAction";class HeaderRenderer{get templateId(){return"header"}renderTemplate(e){e.classList.add("group-header");const t=document.createElement("span");return e.append(t),{container:e,text:t}}renderElement(e,t,i){var r,g;i.text.textContent=(g=(r=e.group)===null||r===void 0?void 0:r.title)!==null&&g!==void 0?g:""}disposeTemplate(e){}}let ActionItemRenderer=class{get templateId(){return"action"}constructor(e,t){this._supportsPreview=e,this._keybindingService=t}renderTemplate(e){e.classList.add(this.templateId);const t=document.createElement("div");t.className="icon",e.append(t);const i=document.createElement("span");i.className="title",e.append(i);const r=new KeybindingLabel(e,OS);return{container:e,icon:t,text:i,keybinding:r}}renderElement(e,t,i){var r,g,y;if(!((r=e.group)===null||r===void 0)&&r.icon?(i.icon.className=ThemeIcon.asClassName(e.group.icon),e.group.icon.color&&(i.icon.style.color=asCssVariable(e.group.icon.color.id))):(i.icon.className=ThemeIcon.asClassName(Codicon.lightBulb),i.icon.style.color="var(--vscode-editorLightBulb-foreground)"),!e.item||!e.label)return;i.text.textContent=stripNewlines(e.label),i.keybinding.set(e.keybinding),setVisibility(!!e.keybinding,i.keybinding.element);const k=(g=this._keybindingService.lookupKeybinding(acceptSelectedActionCommand))===null||g===void 0?void 0:g.getLabel(),L=(y=this._keybindingService.lookupKeybinding(previewSelectedActionCommand))===null||y===void 0?void 0:y.getLabel();i.container.classList.toggle("option-disabled",e.disabled),e.disabled?i.container.title=e.label:k&&L?this._supportsPreview&&e.canPreview?i.container.title=localize({},"{0} to Apply, {1} to Preview",k,L):i.container.title=localize({},"{0} to Apply",k):i.container.title=""}disposeTemplate(e){e.keybinding.dispose()}};ActionItemRenderer=__decorate$1p([__param$1l(1,IKeybindingService)],ActionItemRenderer);class AcceptSelectedEvent extends UIEvent{constructor(){super("acceptSelectedAction")}}class PreviewSelectedEvent extends UIEvent{constructor(){super("previewSelectedAction")}}function getKeyboardNavigationLabel(n){if(n.kind==="action")return n.label}let ActionList=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._delegate=r,this._contextViewService=g,this._keybindingService=y,this._actionLineHeight=24,this._headerLineHeight=26,this.cts=this._register(new CancellationTokenSource$1),this.domNode=document.createElement("div"),this.domNode.classList.add("actionList");const k={getHeight:L=>L.kind==="header"?this._headerLineHeight:this._actionLineHeight,getTemplateId:L=>L.kind};this._list=this._register(new List(e,this.domNode,k,[new ActionItemRenderer(t,this._keybindingService),new HeaderRenderer],{keyboardSupport:!1,typeNavigationEnabled:!0,keyboardNavigationLabelProvider:{getKeyboardNavigationLabel},accessibilityProvider:{getAriaLabel:L=>{if(L.kind==="action"){let V=L.label?stripNewlines(L==null?void 0:L.label):"";return L.disabled&&(V=localize({},"{0}, Disabled Reason: {1}",V,L.disabled)),V}return null},getWidgetAriaLabel:()=>localize({},"Action Widget"),getRole:L=>L.kind==="action"?"option":"separator",getWidgetRole:()=>"listbox"}})),this._list.style(defaultListStyles),this._register(this._list.onMouseClick(L=>this.onListClick(L))),this._register(this._list.onMouseOver(L=>this.onListHover(L))),this._register(this._list.onDidChangeFocus(()=>this.onFocus())),this._register(this._list.onDidChangeSelection(L=>this.onListSelection(L))),this._allMenuItems=i,this._list.splice(0,this._list.length,this._allMenuItems),this._list.length&&this.focusNext()}focusCondition(e){return!e.disabled&&e.kind==="action"}hide(e){this._delegate.onHide(e),this.cts.cancel(),this._contextViewService.hideContextView()}layout(e){const t=this._allMenuItems.filter(L=>L.kind==="header").length,r=this._allMenuItems.length*this._actionLineHeight+t*this._headerLineHeight-t*this._actionLineHeight;this._list.layout(r);let g=e;if(this._allMenuItems.length>=50)g=380;else{const L=this._allMenuItems.map((V,z)=>{const j=this.domNode.ownerDocument.getElementById(this._list.getElementID(z));if(j){j.style.width="auto";const ie=j.getBoundingClientRect().width;return j.style.width="",ie}return 0});g=Math.max(...L,e)}const k=Math.min(r,this.domNode.ownerDocument.body.clientHeight*.7);return this._list.layout(k,g),this.domNode.style.height="".concat(k,"px"),this._list.domFocus(),g}focusPrevious(){this._list.focusPrevious(1,!0,void 0,this.focusCondition)}focusNext(){this._list.focusNext(1,!0,void 0,this.focusCondition)}acceptSelected(e){const t=this._list.getFocus();if(t.length===0)return;const i=t[0],r=this._list.element(i);if(!this.focusCondition(r))return;const g=e?new PreviewSelectedEvent:new AcceptSelectedEvent;this._list.setSelection([i],g)}onListSelection(e){if(!e.elements.length)return;const t=e.elements[0];t.item&&this.focusCondition(t)?this._delegate.onSelect(t.item,e.browserEvent instanceof PreviewSelectedEvent):this._list.setSelection([])}onFocus(){var e,t;const i=this._list.getFocus();if(i.length===0)return;const r=i[0],g=this._list.element(r);(t=(e=this._delegate).onFocus)===null||t===void 0||t.call(e,g.item)}async onListHover(e){const t=e.element;if(t&&t.item&&this.focusCondition(t)){if(this._delegate.onHover&&!t.disabled&&t.kind==="action"){const i=await this._delegate.onHover(t.item,this.cts.token);t.canPreview=i?i.canPreview:void 0}e.index&&this._list.splice(e.index,1,[t])}this._list.setFocus(typeof e.index=="number"?[e.index]:[])}onListClick(e){e.element&&this.focusCondition(e.element)&&this._list.setFocus([])}};ActionList=__decorate$1p([__param$1l(4,IContextViewService),__param$1l(5,IKeybindingService)],ActionList);function stripNewlines(n){return n.replace(/\r\n|\r|\n/g," ")}var __decorate$1o=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1k=function(n,e){return function(t,i){e(t,i,n)}};registerColor("actionBar.toggledBackground",{dark:inputActiveOptionBackground,light:inputActiveOptionBackground,hcDark:inputActiveOptionBackground,hcLight:inputActiveOptionBackground},localize("actionBar.toggledBackground","Background color for toggled action items in action bar."));const ActionWidgetContextKeys={Visible:new RawContextKey("codeActionMenuVisible",!1,localize("codeActionMenuVisible","Whether the action widget list is visible"))},IActionWidgetService=createDecorator("actionWidgetService");let ActionWidgetService=class extends Disposable{get isVisible(){return ActionWidgetContextKeys.Visible.getValue(this._contextKeyService)||!1}constructor(e,t,i){super(),this._contextViewService=e,this._contextKeyService=t,this._instantiationService=i,this._list=this._register(new MutableDisposable)}show(e,t,i,r,g,y,k){const L=ActionWidgetContextKeys.Visible.bindTo(this._contextKeyService),V=this._instantiationService.createInstance(ActionList,e,t,i,r);this._contextViewService.showContextView({getAnchor:()=>g,render:z=>(L.set(!0),this._renderWidget(z,V,k!=null?k:[])),onHide:z=>{L.reset(),this._onWidgetClosed(z)}},y,!1)}acceptSelected(e){var t;(t=this._list.value)===null||t===void 0||t.acceptSelected(e)}focusPrevious(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusPrevious()}focusNext(){var e,t;(t=(e=this._list)===null||e===void 0?void 0:e.value)===null||t===void 0||t.focusNext()}hide(){var e;(e=this._list.value)===null||e===void 0||e.hide(),this._list.clear()}_renderWidget(e,t,i){var r;const g=document.createElement("div");if(g.classList.add("action-widget"),e.appendChild(g),this._list.value=t,this._list.value)g.appendChild(this._list.value.domNode);else throw new Error("List has no value");const y=new DisposableStore,k=document.createElement("div"),L=e.appendChild(k);L.classList.add("context-view-block"),y.add(addDisposableListener(L,EventType$1.MOUSE_DOWN,re=>re.stopPropagation()));const V=document.createElement("div"),z=e.appendChild(V);z.classList.add("context-view-pointerBlock"),y.add(addDisposableListener(z,EventType$1.POINTER_MOVE,()=>z.remove())),y.add(addDisposableListener(z,EventType$1.MOUSE_DOWN,()=>z.remove()));let j=0;if(i.length){const re=this._createActionBar(".action-widget-action-bar",i);re&&(g.appendChild(re.getContainer().parentElement),y.add(re),j=re.getContainer().offsetWidth)}const ie=(r=this._list.value)===null||r===void 0?void 0:r.layout(j);g.style.width="".concat(ie,"px");const oe=y.add(trackFocus(e));return y.add(oe.onDidBlur(()=>this.hide())),y}_createActionBar(e,t){if(!t.length)return;const i=$$f(e),r=new ActionBar(i);return r.push(t,{icon:!1,label:!0}),r}_onWidgetClosed(e){var t;(t=this._list.value)===null||t===void 0||t.hide(e)}};ActionWidgetService=__decorate$1o([__param$1k(0,IContextViewService),__param$1k(1,IContextKeyService),__param$1k(2,IInstantiationService)],ActionWidgetService);registerSingleton(IActionWidgetService,ActionWidgetService,1);const weight$3=1100;registerAction2(class extends Action2{constructor(){super({id:"hideCodeActionWidget",title:localize2("hideCodeActionWidget.title","Hide action widget"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:9,secondary:[1033]}})}run(n){n.get(IActionWidgetService).hide()}});registerAction2(class extends Action2{constructor(){super({id:"selectPrevCodeAction",title:localize2("selectPrevCodeAction.title","Select previous action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})}run(n){const e=n.get(IActionWidgetService);e instanceof ActionWidgetService&&e.focusPrevious()}});registerAction2(class extends Action2{constructor(){super({id:"selectNextCodeAction",title:localize2("selectNextCodeAction.title","Select next action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})}run(n){const e=n.get(IActionWidgetService);e instanceof ActionWidgetService&&e.focusNext()}});registerAction2(class extends Action2{constructor(){super({id:acceptSelectedActionCommand,title:localize2("acceptSelected.title","Accept selected action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:3,secondary:[2137]}})}run(n){const e=n.get(IActionWidgetService);e instanceof ActionWidgetService&&e.acceptSelected()}});registerAction2(class extends Action2{constructor(){super({id:previewSelectedActionCommand,title:localize2("previewSelected.title","Preview selected action"),precondition:ActionWidgetContextKeys.Visible,keybinding:{weight:weight$3,primary:2051}})}run(n){const e=n.get(IActionWidgetService);e instanceof ActionWidgetService&&e.acceptSelected(!0)}});const SUPPORTED_CODE_ACTIONS=new RawContextKey("supportedCodeAction",""),APPLY_FIX_ALL_COMMAND_ID="_typescript.applyFixAllCodeAction";class CodeActionOracle extends Disposable{constructor(e,t,i,r=250){super(),this._editor=e,this._markerService=t,this._signalChange=i,this._delay=r,this._autoTriggerTimer=this._register(new TimeoutTimer),this._register(this._markerService.onMarkerChanged(g=>this._onMarkerChanges(g))),this._register(this._editor.onDidChangeCursorPosition(()=>this._tryAutoTrigger()))}trigger(e){const t=this._getRangeOfSelectionUnlessWhitespaceEnclosed(e);this._signalChange(t?{trigger:e,selection:t}:void 0)}_onMarkerChanges(e){const t=this._editor.getModel();t&&e.some(i=>isEqual(i,t.uri))&&this._tryAutoTrigger()}_tryAutoTrigger(){this._autoTriggerTimer.cancelAndSet(()=>{this.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})},this._delay)}_getRangeOfSelectionUnlessWhitespaceEnclosed(e){if(!this._editor.hasModel())return;const t=this._editor.getSelection();if(e.type===1)return t;const i=this._editor.getOption(65).enabled;if(i!==ShowLightbulbIconMode$1.Off){{if(i===ShowLightbulbIconMode$1.On)return t;if(i===ShowLightbulbIconMode$1.OnCode){if(!t.isEmpty())return t;const g=this._editor.getModel(),{lineNumber:y,column:k}=t.getPosition(),L=g.getLineContent(y);if(L.length===0)return;if(k===1){if(/\s/.test(L[0]))return}else if(k===g.getLineMaxColumn(y)){if(/\s/.test(L[L.length-1]))return}else if(/\s/.test(L[k-2])&&/\s/.test(L[k-1]))return}}return t}}}var CodeActionsState;(function(n){n.Empty={type:0};class e{constructor(i,r,g){this.trigger=i,this.position=r,this._cancellablePromise=g,this.type=1,this.actions=g.catch(y=>{if(isCancellationError(y))return emptyCodeActionSet;throw y})}cancel(){this._cancellablePromise.cancel()}}n.Triggered=e})(CodeActionsState||(CodeActionsState={}));const emptyCodeActionSet=Object.freeze({allActions:[],validActions:[],dispose:()=>{},documentation:[],hasAutoFix:!1,hasAIFix:!1,allAIFixes:!1});class CodeActionModel extends Disposable{constructor(e,t,i,r,g,y){super(),this._editor=e,this._registry=t,this._markerService=i,this._progressService=g,this._configurationService=y,this._codeActionOracle=this._register(new MutableDisposable),this._state=CodeActionsState.Empty,this._onDidChangeState=this._register(new Emitter$1),this.onDidChangeState=this._onDidChangeState.event,this._disposed=!1,this._supportedCodeActions=SUPPORTED_CODE_ACTIONS.bindTo(r),this._register(this._editor.onDidChangeModel(()=>this._update())),this._register(this._editor.onDidChangeModelLanguage(()=>this._update())),this._register(this._registry.onDidChange(()=>this._update())),this._register(this._editor.onDidChangeConfiguration(k=>{k.hasChanged(65)&&this._update()})),this._update()}dispose(){this._disposed||(this._disposed=!0,super.dispose(),this.setState(CodeActionsState.Empty,!0))}_settingEnabledNearbyQuickfixes(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService?this._configurationService.getValue("editor.codeActionWidget.includeNearbyQuickFixes",{resource:t==null?void 0:t.uri}):!1}_update(){if(this._disposed)return;this._codeActionOracle.value=void 0,this.setState(CodeActionsState.Empty);const e=this._editor.getModel();if(e&&this._registry.has(e)&&!this._editor.getOption(91)){const t=this._registry.all(e).flatMap(i=>{var r;return(r=i.providedCodeActionKinds)!==null&&r!==void 0?r:[]});this._supportedCodeActions.set(t.join(" ")),this._codeActionOracle.value=new CodeActionOracle(this._editor,this._markerService,i=>{var r;if(!i){this.setState(CodeActionsState.Empty);return}const g=i.selection.getStartPosition(),y=createCancelablePromise(async V=>{var z,j,ie,oe,re,ae,le,de,ue,he;if(this._settingEnabledNearbyQuickfixes()&&i.trigger.type===1&&(i.trigger.triggerAction===CodeActionTriggerSource.QuickFix||!((j=(z=i.trigger.filter)===null||z===void 0?void 0:z.include)===null||j===void 0)&&j.contains(CodeActionKind.QuickFix))){const pe=await getCodeActions(this._registry,e,i.selection,i.trigger,Progress$1.None,V),Ce=[...pe.allActions];if(V.isCancellationRequested)return emptyCodeActionSet;const $e=(ie=pe.validActions)===null||ie===void 0?void 0:ie.some(Ie=>Ie.action.kind?CodeActionKind.QuickFix.contains(new HierarchicalKind(Ie.action.kind)):!1),xe=this._markerService.read({resource:e.uri});if($e){for(const Ie of pe.validActions)!((re=(oe=Ie.action.command)===null||oe===void 0?void 0:oe.arguments)===null||re===void 0)&&re.some(Ne=>typeof Ne=="string"&&Ne.includes(APPLY_FIX_ALL_COMMAND_ID))&&(Ie.action.diagnostics=[...xe.filter(Ne=>Ne.relatedInformation)]);return{validActions:pe.validActions,allActions:Ce,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}else if(!$e&&xe.length>0){const Ie=i.selection.getPosition();let Ne=Ie,Fe=Number.MAX_VALUE;const Ve=[...pe.validActions];for(const ze of xe){const qe=ze.endColumn,Ue=ze.endLineNumber,Et=ze.startLineNumber;if(Ue===Ie.lineNumber||Et===Ie.lineNumber){Ne=new Position$1(Ue,qe);const At={type:i.trigger.type,triggerAction:i.trigger.triggerAction,filter:{include:!((ae=i.trigger.filter)===null||ae===void 0)&&ae.include?(le=i.trigger.filter)===null||le===void 0?void 0:le.include:CodeActionKind.QuickFix},autoApply:i.trigger.autoApply,context:{notAvailableMessage:((de=i.trigger.context)===null||de===void 0?void 0:de.notAvailableMessage)||"",position:Ne}},Lt=new Selection$1(Ne.lineNumber,Ne.column,Ne.lineNumber,Ne.column),kt=await getCodeActions(this._registry,e,Lt,At,Progress$1.None,V);if(kt.validActions.length!==0){for(const ei of kt.validActions)!((he=(ue=ei.action.command)===null||ue===void 0?void 0:ue.arguments)===null||he===void 0)&&he.some(jt=>typeof jt=="string"&&jt.includes(APPLY_FIX_ALL_COMMAND_ID))&&(ei.action.diagnostics=[...xe.filter(jt=>jt.relatedInformation)]);pe.allActions.length===0&&Ce.push(...kt.allActions),Math.abs(Ie.column-qe)Ue.findIndex(Et=>Et.action.title===ze.action.title)===qe);return Oe.sort((ze,qe)=>ze.action.isPreferred&&!qe.action.isPreferred?-1:!ze.action.isPreferred&&qe.action.isPreferred||ze.action.isAI&&!qe.action.isAI?1:!ze.action.isAI&&qe.action.isAI?-1:0),{validActions:Oe,allActions:Ce,documentation:pe.documentation,hasAutoFix:pe.hasAutoFix,hasAIFix:pe.hasAIFix,allAIFixes:pe.allAIFixes,dispose:()=>{pe.dispose()}}}}return getCodeActions(this._registry,e,i.selection,i.trigger,Progress$1.None,V)});i.trigger.type===1&&((r=this._progressService)===null||r===void 0||r.showWhile(y,250));const k=new CodeActionsState.Triggered(i.trigger,g,y);let L=!1;this._state.type===1&&(L=this._state.trigger.type===1&&k.type===1&&k.trigger.type===2&&this._state.position!==k.position),L||this.setState(k)},void 0),this._codeActionOracle.value.trigger({type:2,triggerAction:CodeActionTriggerSource.Default})}else this._supportedCodeActions.reset()}trigger(e){var t;(t=this._codeActionOracle.value)===null||t===void 0||t.trigger(e)}setState(e,t){e!==this._state&&(this._state.type===1&&this._state.cancel(),this._state=e,!t&&!this._disposed&&this._onDidChangeState.fire(e))}}var __decorate$1n=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1j=function(n,e){return function(t,i){e(t,i,n)}},CodeActionController_1;const DECORATION_CLASS_NAME$1="quickfix-edit-highlight";let CodeActionController=CodeActionController_1=class extends Disposable{static get(e){return e.getContribution(CodeActionController_1.ID)}constructor(e,t,i,r,g,y,k,L,V,z){super(),this._commandService=k,this._configurationService=L,this._actionWidgetService=V,this._instantiationService=z,this._activeCodeActions=this._register(new MutableDisposable),this._showDisabled=!1,this._disposed=!1,this._editor=e,this._model=this._register(new CodeActionModel(this._editor,g.codeActionProvider,t,i,y,L)),this._register(this._model.onDidChangeState(j=>this.update(j))),this._lightBulbWidget=new Lazy(()=>{const j=this._editor.getContribution(LightBulbWidget.ID);return j&&this._register(j.onClick(ie=>this.showCodeActionsFromLightbulb(ie.actions,ie))),j}),this._resolver=r.createInstance(CodeActionKeybindingResolver),this._register(this._editor.onDidLayoutChange(()=>this._actionWidgetService.hide()))}dispose(){this._disposed=!0,super.dispose()}async showCodeActionsFromLightbulb(e,t){if(e.allAIFixes&&e.validActions.length===1){const i=e.validActions[0],r=i.action.command;r&&r.id==="inlineChat.start"&&r.arguments&&r.arguments.length>=1&&(r.arguments[0]={...r.arguments[0],autoSend:!1}),await this._applyCodeAction(i,!1,!1,ApplyCodeActionReason.FromAILightbulb);return}await this.showCodeActionList(e,t,{includeDisabledActions:!1,fromLightbulb:!0})}showCodeActions(e,t,i){return this.showCodeActionList(t,i,{includeDisabledActions:!1,fromLightbulb:!1})}manualTriggerAtCurrentPosition(e,t,i,r){var g;if(!this._editor.hasModel())return;(g=MessageController.get(this._editor))===null||g===void 0||g.closeMessage();const y=this._editor.getPosition();this._trigger({type:1,triggerAction:t,filter:i,autoApply:r,context:{notAvailableMessage:e,position:y}})}_trigger(e){return this._model.trigger(e)}async _applyCodeAction(e,t,i,r){try{await this._instantiationService.invokeFunction(applyCodeAction,e,r,{preview:i,editor:this._editor})}finally{t&&this._trigger({type:2,triggerAction:CodeActionTriggerSource.QuickFix,filter:{}})}}async update(e){var t,i,r,g,y,k,L;if(e.type!==1){(t=this._lightBulbWidget.rawValue)===null||t===void 0||t.hide();return}let V;try{V=await e.actions}catch(z){onUnexpectedError(z);return}if(!this._disposed)if((i=this._lightBulbWidget.value)===null||i===void 0||i.update(V,e.trigger,e.position),e.trigger.type===1){if(!((r=e.trigger.filter)===null||r===void 0)&&r.include){const j=this.tryGetValidActionToApply(e.trigger,V);if(j){try{(g=this._lightBulbWidget.value)===null||g===void 0||g.hide(),await this._applyCodeAction(j,!1,!1,ApplyCodeActionReason.FromCodeActions)}finally{V.dispose()}return}if(e.trigger.context){const ie=this.getInvalidActionThatWouldHaveBeenApplied(e.trigger,V);if(ie&&ie.action.disabled){(y=MessageController.get(this._editor))===null||y===void 0||y.showMessage(ie.action.disabled,e.trigger.context.position),V.dispose();return}}}const z=!!(!((k=e.trigger.filter)===null||k===void 0)&&k.include);if(e.trigger.context&&(!V.allActions.length||!z&&!V.validActions.length)){(L=MessageController.get(this._editor))===null||L===void 0||L.showMessage(e.trigger.context.notAvailableMessage,e.trigger.context.position),this._activeCodeActions.value=V,V.dispose();return}this._activeCodeActions.value=V,this.showCodeActionList(V,this.toCoords(e.position),{includeDisabledActions:z,fromLightbulb:!1})}else this._actionWidgetService.isVisible?V.dispose():this._activeCodeActions.value=V}getInvalidActionThatWouldHaveBeenApplied(e,t){if(t.allActions.length&&(e.autoApply==="first"&&t.validActions.length===0||e.autoApply==="ifSingle"&&t.allActions.length===1))return t.allActions.find(({action:i})=>i.disabled)}tryGetValidActionToApply(e,t){if(t.validActions.length&&(e.autoApply==="first"&&t.validActions.length>0||e.autoApply==="ifSingle"&&t.validActions.length===1))return t.validActions[0]}async showCodeActionList(e,t,i){const r=this._editor.createDecorationsCollection(),g=this._editor.getDomNode();if(!g)return;const y=i.includeDisabledActions&&(this._showDisabled||e.validActions.length===0)?e.allActions:e.validActions;if(!y.length)return;const k=Position$1.isIPosition(t)?this.toCoords(t):t,L={onSelect:async(V,z)=>{this._applyCodeAction(V,!0,!!z,ApplyCodeActionReason.FromCodeActions),this._actionWidgetService.hide(),r.clear()},onHide:()=>{var V;(V=this._editor)===null||V===void 0||V.focus(),r.clear()},onHover:async(V,z)=>{var j;if(z.isCancellationRequested)return;let ie=!1;const oe=V.action.kind;if(oe){const re=new HierarchicalKind(oe);ie=[CodeActionKind.RefactorExtract,CodeActionKind.RefactorInline,CodeActionKind.RefactorRewrite].some(le=>le.contains(re))}return{canPreview:ie||!!(!((j=V.action.edit)===null||j===void 0)&&j.edits.length)}},onFocus:V=>{var z,j;if(V&&V.action){const ie=V.action.ranges,oe=V.action.diagnostics;if(r.clear(),ie&&ie.length>0){const re=oe&&(oe==null?void 0:oe.length)>1?oe.map(ae=>({range:ae,options:CodeActionController_1.DECORATION})):ie.map(ae=>({range:ae,options:CodeActionController_1.DECORATION}));r.set(re)}else if(oe&&oe.length>0){const re=oe.map(le=>({range:le,options:CodeActionController_1.DECORATION}));r.set(re);const ae=oe[0];if(ae.startLineNumber&&ae.startColumn){const le=(j=(z=this._editor.getModel())===null||z===void 0?void 0:z.getWordAtPosition({lineNumber:ae.startLineNumber,column:ae.startColumn}))===null||j===void 0?void 0:j.word;status(localize("editingNewSelection","Context: {0} at line {1} and column {2}.",le,ae.startLineNumber,ae.startColumn))}}}else r.clear()}};this._actionWidgetService.show("codeActionWidget",!0,toMenuItems(y,this._shouldShowHeaders(),this._resolver.getResolver()),L,k,g,this._getActionBarActions(e,t,i))}toCoords(e){if(!this._editor.hasModel())return{x:0,y:0};this._editor.revealPosition(e,1),this._editor.render();const t=this._editor.getScrolledVisiblePosition(e),i=getDomNodePagePosition(this._editor.getDomNode()),r=i.left+t.left,g=i.top+t.top+t.height;return{x:r,y:g}}_shouldShowHeaders(){var e;const t=(e=this._editor)===null||e===void 0?void 0:e.getModel();return this._configurationService.getValue("editor.codeActionWidget.showHeaders",{resource:t==null?void 0:t.uri})}_getActionBarActions(e,t,i){if(i.fromLightbulb)return[];const r=e.documentation.map(g=>{var y;return{id:g.id,label:g.title,tooltip:(y=g.tooltip)!==null&&y!==void 0?y:"",class:void 0,enabled:!0,run:()=>{var k;return this._commandService.executeCommand(g.id,...(k=g.arguments)!==null&&k!==void 0?k:[])}}});return i.includeDisabledActions&&e.validActions.length>0&&e.allActions.length!==e.validActions.length&&r.push(this._showDisabled?{id:"hideMoreActions",label:localize("hideMoreActions","Hide Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!1,this.showCodeActionList(e,t,i))}:{id:"showMoreActions",label:localize("showMoreActions","Show Disabled"),enabled:!0,tooltip:"",class:void 0,run:()=>(this._showDisabled=!0,this.showCodeActionList(e,t,i))}),r}};CodeActionController.ID="editor.contrib.codeActionController";CodeActionController.DECORATION=ModelDecorationOptions.register({description:"quickfix-highlight",className:DECORATION_CLASS_NAME$1});CodeActionController=CodeActionController_1=__decorate$1n([__param$1j(1,IMarkerService),__param$1j(2,IContextKeyService),__param$1j(3,IInstantiationService),__param$1j(4,ILanguageFeaturesService),__param$1j(5,IEditorProgressService),__param$1j(6,ICommandService),__param$1j(7,IConfigurationService),__param$1j(8,IActionWidgetService),__param$1j(9,IInstantiationService)],CodeActionController);registerThemingParticipant((n,e)=>{((r,g)=>{g&&e.addRule(".monaco-editor ".concat(r," { background-color: ").concat(g,"; }"))})(".quickfix-edit-highlight",n.getColor(editorFindMatchHighlight));const i=n.getColor(editorFindMatchHighlightBorder);i&&e.addRule(".monaco-editor .quickfix-edit-highlight { border: 1px ".concat(isHighContrast(n.type)?"dotted":"solid"," ").concat(i,"; box-sizing: border-box; }"))});function contextKeyForSupportedActions(n){return ContextKeyExpr.regex(SUPPORTED_CODE_ACTIONS.keys()[0],new RegExp("(\\s|^)"+escapeRegExpCharacters(n.value)+"\\b"))}const argsSchema={type:"object",defaultSnippets:[{body:{kind:""}}],properties:{kind:{type:"string",description:localize("args.schema.kind","Kind of the code action to run.")},apply:{type:"string",description:localize("args.schema.apply","Controls when the returned actions are applied."),default:"ifSingle",enum:["first","ifSingle","never"],enumDescriptions:[localize("args.schema.apply.first","Always apply the first returned code action."),localize("args.schema.apply.ifSingle","Apply the first returned code action if it is the only one."),localize("args.schema.apply.never","Do not apply the returned code actions.")]},preferred:{type:"boolean",default:!1,description:localize("args.schema.preferred","Controls if only preferred code actions should be returned.")}}};function triggerCodeActionsForEditorSelection(n,e,t,i,r=CodeActionTriggerSource.Default){if(n.hasModel()){const g=CodeActionController.get(n);g==null||g.manualTriggerAtCurrentPosition(e,r,t,i)}}class QuickFixAction extends EditorAction{constructor(){super({id:quickFixCommandId,label:localize("quickfix.trigger.label","Quick Fix..."),alias:"Quick Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2137,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.quickFix.noneMessage","No code actions available"),void 0,void 0,CodeActionTriggerSource.QuickFix)}}class CodeActionCommand extends EditorCommand{constructor(){super({id:codeActionCommandId,precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),metadata:{description:"Trigger a code action",args:[{name:"args",schema:argsSchema}]}})}runEditorCommand(e,t,i){const r=CodeActionCommandArgs.fromUser(i,{kind:HierarchicalKind.Empty,apply:"ifSingle"});return triggerCodeActionsForEditorSelection(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize("editor.action.codeAction.noneMessage.preferred.kind","No preferred code actions for '{0}' available",i.kind):localize("editor.action.codeAction.noneMessage.kind","No code actions for '{0}' available",i.kind):r.preferred?localize("editor.action.codeAction.noneMessage.preferred","No preferred code actions available"):localize("editor.action.codeAction.noneMessage","No code actions available"),{include:r.kind,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply)}}class RefactorAction extends EditorAction{constructor(){super({id:refactorCommandId,label:localize("refactor.label","Refactor..."),alias:"Refactor...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:3120,mac:{primary:1328},weight:100},contextMenuOpts:{group:"1_modification",order:2,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.Refactor))},metadata:{description:"Refactor...",args:[{name:"args",schema:argsSchema}]}})}run(e,t,i){const r=CodeActionCommandArgs.fromUser(i,{kind:CodeActionKind.Refactor,apply:"never"});return triggerCodeActionsForEditorSelection(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize("editor.action.refactor.noneMessage.preferred.kind","No preferred refactorings for '{0}' available",i.kind):localize("editor.action.refactor.noneMessage.kind","No refactorings for '{0}' available",i.kind):r.preferred?localize("editor.action.refactor.noneMessage.preferred","No preferred refactorings available"):localize("editor.action.refactor.noneMessage","No refactorings available"),{include:CodeActionKind.Refactor.contains(r.kind)?r.kind:HierarchicalKind.None,onlyIncludePreferredActions:r.preferred},r.apply,CodeActionTriggerSource.Refactor)}}class SourceAction extends EditorAction{constructor(){super({id:sourceActionCommandId,label:localize("source.label","Source Action..."),alias:"Source Action...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCodeActionsProvider),contextMenuOpts:{group:"1_modification",order:2.1,when:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.Source))},metadata:{description:"Source Action...",args:[{name:"args",schema:argsSchema}]}})}run(e,t,i){const r=CodeActionCommandArgs.fromUser(i,{kind:CodeActionKind.Source,apply:"never"});return triggerCodeActionsForEditorSelection(t,typeof(i==null?void 0:i.kind)=="string"?r.preferred?localize("editor.action.source.noneMessage.preferred.kind","No preferred source actions for '{0}' available",i.kind):localize("editor.action.source.noneMessage.kind","No source actions for '{0}' available",i.kind):r.preferred?localize("editor.action.source.noneMessage.preferred","No preferred source actions available"):localize("editor.action.source.noneMessage","No source actions available"),{include:CodeActionKind.Source.contains(r.kind)?r.kind:HierarchicalKind.None,includeSourceActions:!0,onlyIncludePreferredActions:r.preferred},r.apply,CodeActionTriggerSource.SourceAction)}}class OrganizeImportsAction extends EditorAction{constructor(){super({id:organizeImportsCommandId,label:localize("organizeImports.label","Organize Imports"),alias:"Organize Imports",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.SourceOrganizeImports)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1581,weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.organize.noneMessage","No organize imports action available"),{include:CodeActionKind.SourceOrganizeImports,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource.OrganizeImports)}}class FixAllAction extends EditorAction{constructor(){super({id:fixAllCommandId,label:localize("fixAll.label","Fix All"),alias:"Fix All",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.SourceFixAll))})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("fixAll.noneMessage","No fix all action available"),{include:CodeActionKind.SourceFixAll,includeSourceActions:!0},"ifSingle",CodeActionTriggerSource.FixAll)}}class AutoFixAction extends EditorAction{constructor(){super({id:autoFixCommandId,label:localize("autoFix.label","Auto Fix..."),alias:"Auto Fix...",precondition:ContextKeyExpr.and(EditorContextKeys.writable,contextKeyForSupportedActions(CodeActionKind.QuickFix)),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1625,mac:{primary:2649},weight:100}})}run(e,t){return triggerCodeActionsForEditorSelection(t,localize("editor.action.autoFix.noneMessage","No auto fixes available"),{include:CodeActionKind.QuickFix,onlyIncludePreferredActions:!0},"ifSingle",CodeActionTriggerSource.AutoFix)}}registerEditorContribution(CodeActionController.ID,CodeActionController,3);registerEditorContribution(LightBulbWidget.ID,LightBulbWidget,4);registerEditorAction(QuickFixAction);registerEditorAction(RefactorAction);registerEditorAction(SourceAction);registerEditorAction(OrganizeImportsAction);registerEditorAction(AutoFixAction);registerEditorAction(FixAllAction);registerEditorCommand(new CodeActionCommand);Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActionWidget.showHeaders":{type:"boolean",scope:5,description:localize("showCodeActionHeaders","Enable/disable showing group headers in the Code Action menu."),default:!0}}});Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{"editor.codeActionWidget.includeNearbyQuickFixes":{type:"boolean",scope:5,description:localize("includeNearbyQuickFixes","Enable/disable showing nearest Quick Fix within a line when not currently on a diagnostic."),default:!0}}});class CodeLensModel{constructor(){this.lenses=[],this._disposables=new DisposableStore}dispose(){this._disposables.dispose()}get isDisposed(){return this._disposables.isDisposed}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}async function getCodeLensModel(n,e,t){const i=n.ordered(e),r=new Map,g=new CodeLensModel,y=i.map(async(k,L)=>{r.set(k,L);try{const V=await Promise.resolve(k.provideCodeLenses(e,t));V&&g.add(V,k)}catch(V){onUnexpectedExternalError(V)}});return await Promise.all(y),g.lenses=g.lenses.sort((k,L)=>k.symbol.range.startLineNumberL.symbol.range.startLineNumber?1:r.get(k.provider)r.get(L.provider)?1:k.symbol.range.startColumnL.symbol.range.startColumn?1:0),g}CommandsRegistry.registerCommand("_executeCodeLensProvider",function(n,...e){let[t,i]=e;assertType(URI.isUri(t)),assertType(typeof i=="number"||!i);const{codeLensProvider:r}=n.get(ILanguageFeaturesService),g=n.get(IModelService).getModel(t);if(!g)throw illegalArgument();const y=[],k=new DisposableStore;return getCodeLensModel(r,g,CancellationToken.None).then(L=>{k.add(L);const V=[];for(const z of L.lenses)i==null||z.symbol.command?y.push(z.symbol):i-- >0&&z.provider.resolveCodeLens&&V.push(Promise.resolve(z.provider.resolveCodeLens(g,z.symbol,CancellationToken.None)).then(j=>y.push(j||z.symbol)));return Promise.all(V)}).then(()=>y).finally(()=>{setTimeout(()=>k.dispose(),100)})});var __decorate$1m=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1i=function(n,e){return function(t,i){e(t,i,n)}};const ICodeLensCache=createDecorator("ICodeLensCache");class CacheItem{constructor(e,t){this.lineCount=e,this.data=t}}let CodeLensCache=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new LRUCache(20,.75);const t="codelens/cache";runWhenWindowIdle(mainWindow,()=>e.remove(t,1));const i="codelens/cache2",r=e.get(i,1,"{}");this._deserialize(r),Event$1.once(e.onWillSaveState)(g=>{g.reason===WillSaveStateReason.SHUTDOWN&&e.store(i,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(y=>{var k;return{range:y.symbol.range,command:y.symbol.command&&{id:"",title:(k=y.symbol.command)===null||k===void 0?void 0:k.title}}}),r=new CodeLensModel;r.add({lenses:i,dispose:()=>{}},this._fakeProvider);const g=new CacheItem(e.getLineCount(),r);this._cache.set(e.uri.toString(),g)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const r=new Set;for(const g of i.data.lenses)r.add(g.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...r.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const i in t){const r=t[i],g=[];for(const k of r.lines)g.push({range:new Range$2(k,1,k,11)});const y=new CodeLensModel;y.add({lenses:g,dispose(){}},this._fakeProvider),this._cache.set(i,new CacheItem(r.lineCount,y))}}catch(t){}}};CodeLensCache=__decorate$1m([__param$1i(0,IStorageService)],CodeLensCache);registerSingleton(ICodeLensCache,CodeLensCache,1);class CodeLensViewZone{constructor(e,t,i){this.afterColumn=1073741824,this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){this._lastHeight===void 0?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}isVisible(){return this._lastHeight!==0&&this.domNode.hasAttribute("monaco-visible-view-zone")}}class CodeLensContentWidget{constructor(e,t){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-".concat(CodeLensContentWidget._idPool++),this.updatePosition(t),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration"}withCommands(e,t){this._commands.clear();const i=[];let r=!1;for(let g=0;g{V.symbol.command&&L.push(V.symbol),i.addDecoration({range:V.symbol.range,options:codeLensDecorationOptions},j=>this._decorationIds[z]=j),k?k=Range$2.plusRange(k,V.symbol.range):k=Range$2.lift(V.symbol.range)}),this._viewZone=new CodeLensViewZone(k.startLineNumber-1,g,y),this._viewZoneId=r.addZone(this._viewZone),L.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(L,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new CodeLensContentWidget(this._editor,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t==null||t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),r=this._data[t].symbol;return!!(i&&Range$2.isEmpty(r.range)===i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((i,r)=>{t.addDecoration({range:i.symbol.range,options:codeLensDecorationOptions},g=>this._decorationIds[r]=g)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.isVisible())return null;for(let t=0;t=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1h=function(n,e){return function(t,i){e(t,i,n)}};let CodeLensContribution=class{constructor(e,t,i,r,g,y){this._editor=e,this._languageFeaturesService=t,this._commandService=r,this._notificationService=g,this._codeLensCache=y,this._disposables=new DisposableStore,this._localToDispose=new DisposableStore,this._lenses=[],this._oldCodeLensModels=new DisposableStore,this._provideCodeLensDebounce=i.for(t.codeLensProvider,"CodeLensProvide",{min:250}),this._resolveCodeLensesDebounce=i.for(t.codeLensProvider,"CodeLensResolve",{min:250,salt:"resolve"}),this._resolveCodeLensesScheduler=new RunOnceScheduler(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDebounce.default()),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(k=>{(k.hasChanged(50)||k.hasChanged(19)||k.hasChanged(18))&&this._updateLensStyle(),k.hasChanged(17)&&this._onModelChange()})),this._disposables.add(t.codeLensProvider.onDidChange(this._onModelChange,this)),this._onModelChange(),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),(e=this._currentCodeLensModel)===null||e===void 0||e.dispose()}_getLayoutInfo(){const e=Math.max(1.3,this._editor.getOption(67)/this._editor.getOption(52));let t=this._editor.getOption(19);return(!t||t<5)&&(t=this._editor.getOption(52)*.9|0),{fontSize:t,codeLensHeight:t*e|0}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(18),r=this._editor.getOption(50),{style:g}=this._editor.getContainerDomNode();g.setProperty("--vscode-editorCodeLens-lineHeight","".concat(e,"px")),g.setProperty("--vscode-editorCodeLens-fontSize","".concat(t,"px")),g.setProperty("--vscode-editorCodeLens-fontFeatureSettings",r.fontFeatureSettings),i&&(g.setProperty("--vscode-editorCodeLens-fontFamily",i),g.setProperty("--vscode-editorCodeLens-fontFamilyDefault",EDITOR_FONT_DEFAULTS.fontFamily)),this._editor.changeViewZones(y=>{for(const k of this._lenses)k.updateHeight(e,y)})}_localDispose(){var e,t,i;(e=this._getCodeLensModelPromise)===null||e===void 0||e.cancel(),this._getCodeLensModelPromise=void 0,(t=this._resolveCodeLensesPromise)===null||t===void 0||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),(i=this._currentCodeLensModel)===null||i===void 0||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e||!this._editor.getOption(17)||e.isTooLargeForTokenization())return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!this._languageFeaturesService.codeLensProvider.has(e)){t&&disposableTimeout(()=>{const r=this._codeLensCache.get(e);t===r&&(this._codeLensCache.delete(e),this._onModelChange())},30*1e3,this._localToDispose);return}for(const r of this._languageFeaturesService.codeLensProvider.all(e))if(typeof r.onDidChange=="function"){const g=r.onDidChange(()=>i.schedule());this._localToDispose.add(g)}const i=new RunOnceScheduler(()=>{var r;const g=Date.now();(r=this._getCodeLensModelPromise)===null||r===void 0||r.cancel(),this._getCodeLensModelPromise=createCancelablePromise(y=>getCodeLensModel(this._languageFeaturesService.codeLensProvider,e,y)),this._getCodeLensModelPromise.then(y=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=y,this._codeLensCache.put(e,y);const k=this._provideCodeLensDebounce.update(e,Date.now()-g);i.delay=k,this._renderCodeLensSymbols(y),this._resolveCodeLensesInViewportSoon()},onUnexpectedError)},this._provideCodeLensDebounce.get(e));this._localToDispose.add(i),this._localToDispose.add(toDisposable(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{var r;this._editor.changeDecorations(g=>{this._editor.changeViewZones(y=>{const k=[];let L=-1;this._lenses.forEach(z=>{!z.isValid()||L===z.getLineNumber()?k.push(z):(z.update(y),L=z.getLineNumber())});const V=new CodeLensHelper;k.forEach(z=>{z.dispose(V,y),this._lenses.splice(this._lenses.indexOf(z),1)}),V.commit(g)})}),i.schedule(),this._resolveCodeLensesScheduler.cancel(),(r=this._resolveCodeLensesPromise)===null||r===void 0||r.cancel(),this._resolveCodeLensesPromise=void 0})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidBlurEditorText(()=>{i.cancel()})),this._localToDispose.add(this._editor.onDidScrollChange(r=>{r.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(toDisposable(()=>{if(this._editor.getModel()){const r=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(g=>{this._editor.changeViewZones(y=>{this._disposeAllLenses(g,y)})}),r.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(r=>{if(r.target.type!==9)return;let g=r.target.element;if((g==null?void 0:g.tagName)==="SPAN"&&(g=g.parentElement),(g==null?void 0:g.tagName)==="A")for(const y of this._lenses){const k=y.getCommand(g);if(k){this._commandService.executeCommand(k.id,...k.arguments||[]).catch(L=>this._notificationService.error(L));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new CodeLensHelper;for(const r of this._lenses)r.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;const t=this._editor.getModel().getLineCount(),i=[];let r;for(const k of e.lenses){const L=k.symbol.range.startLineNumber;L<1||L>t||(r&&r[r.length-1].symbol.range.startLineNumber===L?r.push(k):(r=[k],i.push(r)))}if(!i.length&&!this._lenses.length)return;const g=StableEditorScrollState.capture(this._editor),y=this._getLayoutInfo();this._editor.changeDecorations(k=>{this._editor.changeViewZones(L=>{const V=new CodeLensHelper;let z=0,j=0;for(;jthis._resolveCodeLensesInViewportSoon())),z++,j++)}for(;zthis._resolveCodeLensesInViewportSoon())),j++;V.commit(k)})}),g.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;(e=this._resolveCodeLensesPromise)===null||e===void 0||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],r=[];if(this._lenses.forEach(k=>{const L=k.computeIfNecessary(t);L&&(i.push(L),r.push(k))}),i.length===0)return;const g=Date.now(),y=createCancelablePromise(k=>{const L=i.map((V,z)=>{const j=new Array(V.length),ie=V.map((oe,re)=>!oe.symbol.command&&typeof oe.provider.resolveCodeLens=="function"?Promise.resolve(oe.provider.resolveCodeLens(t,oe.symbol,k)).then(ae=>{j[re]=ae},onUnexpectedExternalError):(j[re]=oe.symbol,Promise.resolve(void 0)));return Promise.all(ie).then(()=>{!k.isCancellationRequested&&!r[z].isDisposed()&&r[z].updateCommands(j)})});return Promise.all(L)});this._resolveCodeLensesPromise=y,this._resolveCodeLensesPromise.then(()=>{const k=this._resolveCodeLensesDebounce.update(t,Date.now()-g);this._resolveCodeLensesScheduler.delay=k,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},k=>{onUnexpectedError(k),y===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}async getModel(){var e;return await this._getCodeLensModelPromise,await this._resolveCodeLensesPromise,!((e=this._currentCodeLensModel)===null||e===void 0)&&e.isDisposed?void 0:this._currentCodeLensModel}};CodeLensContribution.ID="css.editor.codeLens";CodeLensContribution=__decorate$1l([__param$1h(1,ILanguageFeaturesService),__param$1h(2,ILanguageFeatureDebounceService),__param$1h(3,ICommandService),__param$1h(4,INotificationService),__param$1h(5,ICodeLensCache)],CodeLensContribution);registerEditorContribution(CodeLensContribution.ID,CodeLensContribution,1);registerEditorAction(class extends EditorAction{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:EditorContextKeys.hasCodeLensProvider,label:localize("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}async run(e,t){if(!t.hasModel())return;const i=e.get(IQuickInputService),r=e.get(ICommandService),g=e.get(INotificationService),y=t.getSelection().positionLineNumber,k=t.getContribution(CodeLensContribution.ID);if(!k)return;const L=await k.getModel();if(!L)return;const V=[];for(const ie of L.lenses)ie.symbol.command&&ie.symbol.range.startLineNumber===y&&V.push({label:ie.symbol.command.title,command:ie.symbol.command});if(V.length===0)return;const z=await i.pick(V,{canPickMany:!1,placeHolder:localize("placeHolder","Select a command")});if(!z)return;let j=z.command;if(L.isDisposed){const ie=await k.getModel(),oe=ie==null?void 0:ie.lenses.find(re=>{var ae;return re.symbol.range.startLineNumber===y&&((ae=re.symbol.command)===null||ae===void 0?void 0:ae.title)===j.title});if(!oe||!oe.symbol.command)return;j=oe.symbol.command}try{await r.executeCommand(j.id,...j.arguments||[])}catch(ie){g.error(ie)}}});var __decorate$1k=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1g=function(n,e){return function(t,i){e(t,i,n)}};class DefaultDocumentColorProvider{constructor(e,t){this._editorWorkerClient=new EditorWorkerClient(e,!1,"editorWorkerService",t)}async provideDocumentColors(e,t){return this._editorWorkerClient.computeDefaultDocumentColors(e.uri)}provideColorPresentations(e,t,i){const r=t.range,g=t.color,y=g.alpha,k=new Color$1(new RGBA$1(Math.round(255*g.red),Math.round(255*g.green),Math.round(255*g.blue),y)),L=y?Color$1.Format.CSS.formatRGB(k):Color$1.Format.CSS.formatRGBA(k),V=y?Color$1.Format.CSS.formatHSL(k):Color$1.Format.CSS.formatHSLA(k),z=y?Color$1.Format.CSS.formatHex(k):Color$1.Format.CSS.formatHexA(k),j=[];return j.push({label:L,textEdit:{range:r,text:L}}),j.push({label:V,textEdit:{range:r,text:V}}),j.push({label:z,textEdit:{range:r,text:z}}),j}}let DefaultDocumentColorProviderFeature=class extends Disposable{constructor(e,t,i){super(),this._register(i.colorProvider.register("*",new DefaultDocumentColorProvider(e,t)))}};DefaultDocumentColorProviderFeature=__decorate$1k([__param$1g(0,IModelService),__param$1g(1,ILanguageConfigurationService),__param$1g(2,ILanguageFeaturesService)],DefaultDocumentColorProviderFeature);registerEditorFeature(DefaultDocumentColorProviderFeature);async function getColors(n,e,t,i=!0){return _findColorData(new ColorDataCollector,n,e,t,i)}function getColorPresentations(n,e,t,i){return Promise.resolve(t.provideColorPresentations(n,e,i))}class ColorDataCollector{constructor(){}async compute(e,t,i,r){const g=await e.provideDocumentColors(t,i);if(Array.isArray(g))for(const y of g)r.push({colorInfo:y,provider:e});return Array.isArray(g)}}class ExtColorDataCollector{constructor(){}async compute(e,t,i,r){const g=await e.provideDocumentColors(t,i);if(Array.isArray(g))for(const y of g)r.push({range:y.range,color:[y.color.red,y.color.green,y.color.blue,y.color.alpha]});return Array.isArray(g)}}class ColorPresentationsCollector{constructor(e){this.colorInfo=e}async compute(e,t,i,r){const g=await e.provideColorPresentations(t,this.colorInfo,CancellationToken.None);return Array.isArray(g)&&r.push(...g),Array.isArray(g)}}async function _findColorData(n,e,t,i,r){let g=!1,y;const k=[],L=e.ordered(t);for(let V=L.length-1;V>=0;V--){const z=L[V];if(z instanceof DefaultDocumentColorProvider)y=z;else try{await n.compute(z,t,i,k)&&(g=!0)}catch(j){onUnexpectedExternalError(j)}}return g?k:y&&r?(await n.compute(y,t,i,k),k):[]}function _setupColorCommand(n,e){const{colorProvider:t}=n.get(ILanguageFeaturesService),i=n.get(IModelService).getModel(e);if(!i)throw illegalArgument();const r=n.get(IConfigurationService).getValue("editor.defaultColorDecorators",{resource:e});return{model:i,colorProviderRegistry:t,isDefaultColorDecoratorsEnabled:r}}CommandsRegistry.registerCommand("_executeDocumentColorProvider",function(n,...e){const[t]=e;if(!(t instanceof URI))throw illegalArgument();const{model:i,colorProviderRegistry:r,isDefaultColorDecoratorsEnabled:g}=_setupColorCommand(n,t);return _findColorData(new ExtColorDataCollector,r,i,CancellationToken.None,g)});CommandsRegistry.registerCommand("_executeColorPresentationProvider",function(n,...e){const[t,i]=e,{uri:r,range:g}=i;if(!(r instanceof URI)||!Array.isArray(t)||t.length!==4||!Range$2.isIRange(g))throw illegalArgument();const{model:y,colorProviderRegistry:k,isDefaultColorDecoratorsEnabled:L}=_setupColorCommand(n,r),[V,z,j,ie]=t;return _findColorData(new ColorPresentationsCollector({range:g,color:{red:V,green:z,blue:j,alpha:ie}}),k,y,CancellationToken.None,L)});var __decorate$1j=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1f=function(n,e){return function(t,i){e(t,i,n)}},ColorDetector_1;const ColorDecorationInjectedTextMarker=Object.create({});let ColorDetector=ColorDetector_1=class extends Disposable{constructor(e,t,i,r){super(),this._editor=e,this._configurationService=t,this._languageFeaturesService=i,this._localToDispose=this._register(new DisposableStore),this._decorationsIds=[],this._colorDatas=new Map,this._colorDecoratorIds=this._editor.createDecorationsCollection(),this._ruleFactory=new DynamicCssRules(this._editor),this._decoratorLimitReporter=new DecoratorLimitReporter,this._colorDecorationClassRefs=this._register(new DisposableStore),this._debounceInformation=r.for(i.colorProvider,"Document Colors",{min:ColorDetector_1.RECOMPUTE_TIME}),this._register(e.onDidChangeModel(()=>{this._isColorDecoratorsEnabled=this.isEnabled(),this.updateColors()})),this._register(e.onDidChangeModelLanguage(()=>this.updateColors())),this._register(i.colorProvider.onDidChange(()=>this.updateColors())),this._register(e.onDidChangeConfiguration(g=>{const y=this._isColorDecoratorsEnabled;this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147);const k=y!==this._isColorDecoratorsEnabled||g.hasChanged(21),L=g.hasChanged(147);(k||L)&&(this._isColorDecoratorsEnabled?this.updateColors():this.removeAllDecorations())})),this._timeoutTimer=null,this._computePromise=null,this._isColorDecoratorsEnabled=this.isEnabled(),this._isDefaultColorDecoratorsEnabled=this._editor.getOption(147),this.updateColors()}isEnabled(){const e=this._editor.getModel();if(!e)return!1;const t=e.getLanguageId(),i=this._configurationService.getValue(t);if(i&&typeof i=="object"){const r=i.colorDecorators;if(r&&r.enable!==void 0&&!r.enable)return r.enable}return this._editor.getOption(20)}static get(e){return e.getContribution(this.ID)}dispose(){this.stop(),this.removeAllDecorations(),super.dispose()}updateColors(){if(this.stop(),!this._isColorDecoratorsEnabled)return;const e=this._editor.getModel();!e||!this._languageFeaturesService.colorProvider.has(e)||(this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._timeoutTimer||(this._timeoutTimer=new TimeoutTimer,this._timeoutTimer.cancelAndSet(()=>{this._timeoutTimer=null,this.beginCompute()},this._debounceInformation.get(e)))})),this.beginCompute())}async beginCompute(){this._computePromise=createCancelablePromise(async e=>{const t=this._editor.getModel();if(!t)return[];const i=new StopWatch(!1),r=await getColors(this._languageFeaturesService.colorProvider,t,e,this._isDefaultColorDecoratorsEnabled);return this._debounceInformation.update(t,i.elapsed()),r});try{const e=await this._computePromise;this.updateDecorations(e),this.updateColorDecorators(e),this._computePromise=null}catch(e){onUnexpectedError(e)}}stop(){this._timeoutTimer&&(this._timeoutTimer.cancel(),this._timeoutTimer=null),this._computePromise&&(this._computePromise.cancel(),this._computePromise=null),this._localToDispose.clear()}updateDecorations(e){const t=e.map(i=>({range:{startLineNumber:i.colorInfo.range.startLineNumber,startColumn:i.colorInfo.range.startColumn,endLineNumber:i.colorInfo.range.endLineNumber,endColumn:i.colorInfo.range.endColumn},options:ModelDecorationOptions.EMPTY}));this._editor.changeDecorations(i=>{this._decorationsIds=i.deltaDecorations(this._decorationsIds,t),this._colorDatas=new Map,this._decorationsIds.forEach((r,g)=>this._colorDatas.set(r,e[g]))})}updateColorDecorators(e){this._colorDecorationClassRefs.clear();const t=[],i=this._editor.getOption(21);for(let g=0;gthis._colorDatas.has(r.id));return i.length===0?null:this._colorDatas.get(i[0].id)}isColorDecoration(e){return this._colorDecoratorIds.has(e)}};ColorDetector.ID="editor.contrib.colorDetector";ColorDetector.RECOMPUTE_TIME=1e3;ColorDetector=ColorDetector_1=__decorate$1j([__param$1f(1,IConfigurationService),__param$1f(2,ILanguageFeaturesService),__param$1f(3,ILanguageFeatureDebounceService)],ColorDetector);class DecoratorLimitReporter{constructor(){this._onDidChange=new Emitter$1,this._computed=0,this._limited=!1}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}registerEditorContribution(ColorDetector.ID,ColorDetector,1);class ColorPickerModel{get color(){return this._color}set color(e){this._color.equals(e)||(this._color=e,this._onDidChangeColor.fire(e))}get presentation(){return this.colorPresentations[this.presentationIndex]}get colorPresentations(){return this._colorPresentations}set colorPresentations(e){this._colorPresentations=e,this.presentationIndex>e.length-1&&(this.presentationIndex=0),this._onDidChangePresentation.fire(this.presentation)}constructor(e,t,i){this.presentationIndex=i,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,this._onDidChangeColor=new Emitter$1,this.onDidChangeColor=this._onDidChangeColor.event,this._onDidChangePresentation=new Emitter$1,this.onDidChangePresentation=this._onDidChangePresentation.event,this.originalColor=e,this._color=e,this._colorPresentations=t}selectNextColorPresentation(){this.presentationIndex=(this.presentationIndex+1)%this.colorPresentations.length,this.flushColor(),this._onDidChangePresentation.fire(this.presentation)}guessColorPresentation(e,t){let i=-1;for(let r=0;r{this.backgroundColor=y.getColor(editorHoverBackground)||Color$1.white})),this._register(addDisposableListener(this._pickedColorNode,EventType$1.CLICK,()=>this.model.selectNextColorPresentation())),this._register(addDisposableListener(this._originalColorNode,EventType$1.CLICK,()=>{this.model.color=this.model.originalColor,this.model.flushColor()})),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this._register(t.onDidChangePresentation(this.onDidChangePresentation,this)),this._pickedColorNode.style.backgroundColor=Color$1.Format.CSS.format(t.color)||"",this._pickedColorNode.classList.toggle("light",t.color.rgba.a<.5?this.backgroundColor.isLighter():t.color.isLighter()),this.onDidChangeColor(this.model.color),this.showingStandaloneColorPicker&&(this._domNode.classList.add("standalone-colorpicker"),this._closeButton=this._register(new CloseButton(this._domNode)))}get closeButton(){return this._closeButton}get pickedColorNode(){return this._pickedColorNode}get originalColorNode(){return this._originalColorNode}onDidChangeColor(e){this._pickedColorNode.style.backgroundColor=Color$1.Format.CSS.format(e)||"",this._pickedColorNode.classList.toggle("light",e.rgba.a<.5?this.backgroundColor.isLighter():e.isLighter()),this.onDidChangePresentation()}onDidChangePresentation(){this._pickedColorPresentation.textContent=this.model.presentation?this.model.presentation.label:""}}class CloseButton extends Disposable{constructor(e){super(),this._onClicked=this._register(new Emitter$1),this.onClicked=this._onClicked.event,this._button=document.createElement("div"),this._button.classList.add("close-button"),append$1(e,this._button);const t=document.createElement("div");t.classList.add("close-button-inner-div"),append$1(this._button,t),append$1(t,$$6(".button"+ThemeIcon.asCSSSelector(registerIcon("color-picker-close",Codicon.close,localize("closeIcon","Icon to close the color picker"))))).classList.add("close-icon"),this._register(addDisposableListener(this._button,EventType$1.CLICK,()=>{this._onClicked.fire()}))}}class ColorPickerBody extends Disposable{constructor(e,t,i,r=!1){super(),this.model=t,this.pixelRatio=i,this._insertButton=null,this._domNode=$$6(".colorpicker-body"),append$1(e,this._domNode),this._saturationBox=new SaturationBox(this._domNode,this.model,this.pixelRatio),this._register(this._saturationBox),this._register(this._saturationBox.onDidChange(this.onDidSaturationValueChange,this)),this._register(this._saturationBox.onColorFlushed(this.flushColor,this)),this._opacityStrip=new OpacityStrip(this._domNode,this.model,r),this._register(this._opacityStrip),this._register(this._opacityStrip.onDidChange(this.onDidOpacityChange,this)),this._register(this._opacityStrip.onColorFlushed(this.flushColor,this)),this._hueStrip=new HueStrip(this._domNode,this.model,r),this._register(this._hueStrip),this._register(this._hueStrip.onDidChange(this.onDidHueChange,this)),this._register(this._hueStrip.onColorFlushed(this.flushColor,this)),r&&(this._insertButton=this._register(new InsertButton(this._domNode)),this._domNode.classList.add("standalone-colorpicker"))}flushColor(){this.model.flushColor()}onDidSaturationValueChange({s:e,v:t}){const i=this.model.color.hsva;this.model.color=new Color$1(new HSVA(i.h,e,t,i.a))}onDidOpacityChange(e){const t=this.model.color.hsva;this.model.color=new Color$1(new HSVA(t.h,t.s,t.v,e))}onDidHueChange(e){const t=this.model.color.hsva,i=(1-e)*360;this.model.color=new Color$1(new HSVA(i===360?0:i,t.s,t.v,t.a))}get domNode(){return this._domNode}get saturationBox(){return this._saturationBox}get enterButton(){return this._insertButton}layout(){this._saturationBox.layout(),this._opacityStrip.layout(),this._hueStrip.layout()}}class SaturationBox extends Disposable{constructor(e,t,i){super(),this.model=t,this.pixelRatio=i,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,this._domNode=$$6(".saturation-wrap"),append$1(e,this._domNode),this._canvas=document.createElement("canvas"),this._canvas.className="saturation-box",append$1(this._domNode,this._canvas),this.selection=$$6(".saturation-selection"),append$1(this._domNode,this.selection),this.layout(),this._register(addDisposableListener(this._domNode,EventType$1.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(this.model.onDidChangeColor(this.onDidChangeColor,this)),this.monitor=null}get domNode(){return this._domNode}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;this.monitor=this._register(new GlobalPointerMoveMonitor);const t=getDomNodePagePosition(this._domNode);e.target!==this.selection&&this.onDidChangePosition(e.offsetX,e.offsetY),this.monitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>this.onDidChangePosition(r.pageX-t.left,r.pageY-t.top),()=>null);const i=addDisposableListener(e.target.ownerDocument,EventType$1.POINTER_UP,()=>{this._onColorFlushed.fire(),i.dispose(),this.monitor&&(this.monitor.stopMonitoring(!0),this.monitor=null)},!0)}onDidChangePosition(e,t){const i=Math.max(0,Math.min(1,e/this.width)),r=Math.max(0,Math.min(1,1-t/this.height));this.paintSelection(i,r),this._onDidChange.fire({s:i,v:r})}layout(){this.width=this._domNode.offsetWidth,this.height=this._domNode.offsetHeight,this._canvas.width=this.width*this.pixelRatio,this._canvas.height=this.height*this.pixelRatio,this.paint();const e=this.model.color.hsva;this.paintSelection(e.s,e.v)}paint(){const e=this.model.color.hsva,t=new Color$1(new HSVA(e.h,1,1,1)),i=this._canvas.getContext("2d"),r=i.createLinearGradient(0,0,this._canvas.width,0);r.addColorStop(0,"rgba(255, 255, 255, 1)"),r.addColorStop(.5,"rgba(255, 255, 255, 0.5)"),r.addColorStop(1,"rgba(255, 255, 255, 0)");const g=i.createLinearGradient(0,0,0,this._canvas.height);g.addColorStop(0,"rgba(0, 0, 0, 0)"),g.addColorStop(1,"rgba(0, 0, 0, 1)"),i.rect(0,0,this._canvas.width,this._canvas.height),i.fillStyle=Color$1.Format.CSS.format(t),i.fill(),i.fillStyle=r,i.fill(),i.fillStyle=g,i.fill()}paintSelection(e,t){this.selection.style.left="".concat(e*this.width,"px"),this.selection.style.top="".concat(this.height-t*this.height,"px")}onDidChangeColor(e){if(this.monitor&&this.monitor.isMonitoring())return;this.paint();const t=e.hsva;this.paintSelection(t.s,t.v)}}class Strip extends Disposable{constructor(e,t,i=!1){super(),this.model=t,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._onColorFlushed=new Emitter$1,this.onColorFlushed=this._onColorFlushed.event,i?(this.domNode=append$1(e,$$6(".standalone-strip")),this.overlay=append$1(this.domNode,$$6(".standalone-overlay"))):(this.domNode=append$1(e,$$6(".strip")),this.overlay=append$1(this.domNode,$$6(".overlay"))),this.slider=append$1(this.domNode,$$6(".slider")),this.slider.style.top="0px",this._register(addDisposableListener(this.domNode,EventType$1.POINTER_DOWN,r=>this.onPointerDown(r))),this._register(t.onDidChangeColor(this.onDidChangeColor,this)),this.layout()}layout(){this.height=this.domNode.offsetHeight-this.slider.offsetHeight;const e=this.getValue(this.model.color);this.updateSliderPosition(e)}onDidChangeColor(e){const t=this.getValue(e);this.updateSliderPosition(t)}onPointerDown(e){if(!e.target||!(e.target instanceof Element))return;const t=this._register(new GlobalPointerMoveMonitor),i=getDomNodePagePosition(this.domNode);this.domNode.classList.add("grabbing"),e.target!==this.slider&&this.onDidChangeTop(e.offsetY),t.startMonitoring(e.target,e.pointerId,e.buttons,g=>this.onDidChangeTop(g.pageY-i.top),()=>null);const r=addDisposableListener(e.target.ownerDocument,EventType$1.POINTER_UP,()=>{this._onColorFlushed.fire(),r.dispose(),t.stopMonitoring(!0),this.domNode.classList.remove("grabbing")},!0)}onDidChangeTop(e){const t=Math.max(0,Math.min(1,1-e/this.height));this.updateSliderPosition(t),this._onDidChange.fire(t)}updateSliderPosition(e){this.slider.style.top="".concat((1-e)*this.height,"px")}}class OpacityStrip extends Strip{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("opacity-strip"),this.onDidChangeColor(this.model.color)}onDidChangeColor(e){super.onDidChangeColor(e);const{r:t,g:i,b:r}=e.rgba,g=new Color$1(new RGBA$1(t,i,r,1)),y=new Color$1(new RGBA$1(t,i,r,0));this.overlay.style.background="linear-gradient(to bottom, ".concat(g," 0%, ").concat(y," 100%)")}getValue(e){return e.hsva.a}}class HueStrip extends Strip{constructor(e,t,i=!1){super(e,t,i),this.domNode.classList.add("hue-strip")}getValue(e){return 1-e.hsva.h/360}}class InsertButton extends Disposable{constructor(e){super(),this._onClicked=this._register(new Emitter$1),this.onClicked=this._onClicked.event,this._button=append$1(e,document.createElement("button")),this._button.classList.add("insert-button"),this._button.textContent="Insert",this._register(addDisposableListener(this._button,EventType$1.CLICK,()=>{this._onClicked.fire()}))}get button(){return this._button}}class ColorPickerWidget extends Widget$1{constructor(e,t,i,r,g=!1){super(),this.model=t,this.pixelRatio=i,this._register(PixelRatio.getInstance(getWindow$1(e)).onDidChange(()=>this.layout()));const y=$$6(".colorpicker-widget");e.appendChild(y),this.header=this._register(new ColorPickerHeader(y,this.model,r,g)),this.body=this._register(new ColorPickerBody(y,this.model,this.pixelRatio,g))}layout(){this.body.layout()}}var __decorate$1i=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1e=function(n,e){return function(t,i){e(t,i,n)}};class ColorHover{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r,this.forceShowAtRange=!0}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let ColorHoverParticipant=class{constructor(e,t){this._editor=e,this._themeService=t,this.hoverOrdinal=2}computeSync(e,t){return[]}computeAsync(e,t,i){return AsyncIterableObject.fromPromise(this._computeAsync(e,t,i))}async _computeAsync(e,t,i){if(!this._editor.hasModel())return[];const r=ColorDetector.get(this._editor);if(!r)return[];for(const g of t){if(!r.isColorDecoration(g))continue;const y=r.getColorData(g.range.getStartPosition());if(y)return[await _createColorHover(this,this._editor.getModel(),y.colorInfo,y.provider)]}return[]}renderHoverParts(e,t){return renderHoverParts(this,this._editor,this._themeService,t,e)}};ColorHoverParticipant=__decorate$1i([__param$1e(1,IThemeService)],ColorHoverParticipant);class StandaloneColorPickerHover{constructor(e,t,i,r){this.owner=e,this.range=t,this.model=i,this.provider=r}}let StandaloneColorPickerParticipant=class{constructor(e,t){this._editor=e,this._themeService=t,this._color=null}async createColorHover(e,t,i){if(!this._editor.hasModel()||!ColorDetector.get(this._editor))return null;const g=await getColors(i,this._editor.getModel(),CancellationToken.None);let y=null,k=null;for(const j of g){const ie=j.colorInfo;Range$2.containsRange(ie.range,e.range)&&(y=ie,k=j.provider)}const L=y!=null?y:e,V=k!=null?k:t,z=!!y;return{colorHover:await _createColorHover(this,this._editor.getModel(),L,V),foundInEditor:z}}async updateEditorModel(e){if(!this._editor.hasModel())return;const t=e.model;let i=new Range$2(e.range.startLineNumber,e.range.startColumn,e.range.endLineNumber,e.range.endColumn);this._color&&(await _updateColorPresentations(this._editor.getModel(),t,this._color,i,e),i=_updateEditorModel(this._editor,i,t))}renderHoverParts(e,t){return renderHoverParts(this,this._editor,this._themeService,t,e)}set color(e){this._color=e}get color(){return this._color}};StandaloneColorPickerParticipant=__decorate$1i([__param$1e(1,IThemeService)],StandaloneColorPickerParticipant);async function _createColorHover(n,e,t,i){const r=e.getValueInRange(t.range),{red:g,green:y,blue:k,alpha:L}=t.color,V=new RGBA$1(Math.round(g*255),Math.round(y*255),Math.round(k*255),L),z=new Color$1(V),j=await getColorPresentations(e,t,i,CancellationToken.None),ie=new ColorPickerModel(z,[],0);return ie.colorPresentations=j||[],ie.guessColorPresentation(z,r),n instanceof ColorHoverParticipant?new ColorHover(n,Range$2.lift(t.range),ie,i):new StandaloneColorPickerHover(n,Range$2.lift(t.range),ie,i)}function renderHoverParts(n,e,t,i,r){if(i.length===0||!e.hasModel())return Disposable.None;if(r.setMinimumDimensions){const ie=e.getOption(67)+8;r.setMinimumDimensions(new Dimension(302,ie))}const g=new DisposableStore,y=i[0],k=e.getModel(),L=y.model,V=g.add(new ColorPickerWidget(r.fragment,L,e.getOption(143),t,n instanceof StandaloneColorPickerParticipant));r.setColorPicker(V);let z=!1,j=new Range$2(y.range.startLineNumber,y.range.startColumn,y.range.endLineNumber,y.range.endColumn);if(n instanceof StandaloneColorPickerParticipant){const ie=i[0].model.color;n.color=ie,_updateColorPresentations(k,L,ie,j,y),g.add(L.onColorFlushed(oe=>{n.color=oe}))}else g.add(L.onColorFlushed(async ie=>{await _updateColorPresentations(k,L,ie,j,y),z=!0,j=_updateEditorModel(e,j,L)}));return g.add(L.onDidChangeColor(ie=>{_updateColorPresentations(k,L,ie,j,y)})),g.add(e.onDidChangeModelContent(ie=>{z?z=!1:(r.hide(),e.focus())})),g}function _updateEditorModel(n,e,t){var i,r;const g=[],y=(i=t.presentation.textEdit)!==null&&i!==void 0?i:{range:e,text:t.presentation.label,forceMoveMarkers:!1};g.push(y),t.presentation.additionalTextEdits&&g.push(...t.presentation.additionalTextEdits);const k=Range$2.lift(y.range),L=n.getModel()._setTrackedRange(null,k,3);return n.executeEdits("colorpicker",g),n.pushUndoStop(),(r=n.getModel()._getTrackedRange(L))!==null&&r!==void 0?r:k}async function _updateColorPresentations(n,e,t,i,r){const g=await getColorPresentations(n,{range:i,color:{red:t.rgba.r/255,green:t.rgba.g/255,blue:t.rgba.b/255,alpha:t.rgba.a}},r.provider,CancellationToken.None);e.colorPresentations=g||[]}function hasModifier(n,e){return!!n[e]}class ClickLinkMouseEvent{constructor(e,t){this.target=e.target,this.isLeftClick=e.event.leftButton,this.isMiddleClick=e.event.middleButton,this.isRightClick=e.event.rightButton,this.hasTriggerModifier=hasModifier(e.event,t.triggerModifier),this.hasSideBySideModifier=hasModifier(e.event,t.triggerSideBySideModifier),this.isNoneOrSingleMouseDown=e.event.detail<=1}}class ClickLinkKeyboardEvent{constructor(e,t){this.keyCodeIsTriggerKey=e.keyCode===t.triggerKey,this.keyCodeIsSideBySideKey=e.keyCode===t.triggerSideBySideKey,this.hasTriggerModifier=hasModifier(e,t.triggerModifier)}}class ClickLinkOptions{constructor(e,t,i,r){this.triggerKey=e,this.triggerModifier=t,this.triggerSideBySideKey=i,this.triggerSideBySideModifier=r}equals(e){return this.triggerKey===e.triggerKey&&this.triggerModifier===e.triggerModifier&&this.triggerSideBySideKey===e.triggerSideBySideKey&&this.triggerSideBySideModifier===e.triggerSideBySideModifier}}function createOptions(n){return n==="altKey"?isMacintosh?new ClickLinkOptions(57,"metaKey",6,"altKey"):new ClickLinkOptions(5,"ctrlKey",6,"altKey"):isMacintosh?new ClickLinkOptions(6,"altKey",57,"metaKey"):new ClickLinkOptions(6,"altKey",5,"ctrlKey")}class ClickLinkGesture extends Disposable{constructor(e,t){var i;super(),this._onMouseMoveOrRelevantKeyDown=this._register(new Emitter$1),this.onMouseMoveOrRelevantKeyDown=this._onMouseMoveOrRelevantKeyDown.event,this._onExecute=this._register(new Emitter$1),this.onExecute=this._onExecute.event,this._onCancel=this._register(new Emitter$1),this.onCancel=this._onCancel.event,this._editor=e,this._extractLineNumberFromMouseEvent=(i=t==null?void 0:t.extractLineNumberFromMouseEvent)!==null&&i!==void 0?i:r=>r.target.position?r.target.position.lineNumber:0,this._opts=createOptions(this._editor.getOption(78)),this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._register(this._editor.onDidChangeConfiguration(r=>{if(r.hasChanged(78)){const g=createOptions(this._editor.getOption(78));if(this._opts.equals(g))return;this._opts=g,this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._lineNumberOnMouseDown=0,this._onCancel.fire()}})),this._register(this._editor.onMouseMove(r=>this._onEditorMouseMove(new ClickLinkMouseEvent(r,this._opts)))),this._register(this._editor.onMouseDown(r=>this._onEditorMouseDown(new ClickLinkMouseEvent(r,this._opts)))),this._register(this._editor.onMouseUp(r=>this._onEditorMouseUp(new ClickLinkMouseEvent(r,this._opts)))),this._register(this._editor.onKeyDown(r=>this._onEditorKeyDown(new ClickLinkKeyboardEvent(r,this._opts)))),this._register(this._editor.onKeyUp(r=>this._onEditorKeyUp(new ClickLinkKeyboardEvent(r,this._opts)))),this._register(this._editor.onMouseDrag(()=>this._resetHandler())),this._register(this._editor.onDidChangeCursorSelection(r=>this._onDidChangeCursorSelection(r))),this._register(this._editor.onDidChangeModel(r=>this._resetHandler())),this._register(this._editor.onDidChangeModelContent(()=>this._resetHandler())),this._register(this._editor.onDidScrollChange(r=>{(r.scrollTopChanged||r.scrollLeftChanged)&&this._resetHandler()}))}_onDidChangeCursorSelection(e){e.selection&&e.selection.startColumn!==e.selection.endColumn&&this._resetHandler()}_onEditorMouseMove(e){this._lastMouseMoveEvent=e,this._onMouseMoveOrRelevantKeyDown.fire([e,null])}_onEditorMouseDown(e){this._hasTriggerKeyOnMouseDown=e.hasTriggerModifier,this._lineNumberOnMouseDown=this._extractLineNumberFromMouseEvent(e)}_onEditorMouseUp(e){const t=this._extractLineNumberFromMouseEvent(e);this._hasTriggerKeyOnMouseDown&&this._lineNumberOnMouseDown&&this._lineNumberOnMouseDown===t&&this._onExecute.fire(e)}_onEditorKeyDown(e){this._lastMouseMoveEvent&&(e.keyCodeIsTriggerKey||e.keyCodeIsSideBySideKey&&e.hasTriggerModifier)?this._onMouseMoveOrRelevantKeyDown.fire([this._lastMouseMoveEvent,e]):e.hasTriggerModifier&&this._onCancel.fire()}_onEditorKeyUp(e){e.keyCodeIsTriggerKey&&this._onCancel.fire()}_resetHandler(){this._lastMouseMoveEvent=null,this._hasTriggerKeyOnMouseDown=!1,this._onCancel.fire()}}var __decorate$1h=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1d=function(n,e){return function(t,i){e(t,i,n)}};let EmbeddedCodeEditorWidget=class extends CodeEditorWidget{constructor(e,t,i,r,g,y,k,L,V,z,j,ie,oe){super(e,{...r.getRawOptions(),overflowWidgetsDomNode:r.getOverflowWidgetsDomNode()},i,g,y,k,L,V,z,j,ie,oe),this._parentEditor=r,this._overwriteOptions=t,super.updateOptions(this._overwriteOptions),this._register(r.onDidChangeConfiguration(re=>this._onParentConfigurationChanged(re)))}getParentEditor(){return this._parentEditor}_onParentConfigurationChanged(e){super.updateOptions(this._parentEditor.getRawOptions()),super.updateOptions(this._overwriteOptions)}updateOptions(e){mixin(this._overwriteOptions,e,!0),super.updateOptions(this._overwriteOptions)}};EmbeddedCodeEditorWidget=__decorate$1h([__param$1d(4,IInstantiationService),__param$1d(5,ICodeEditorService),__param$1d(6,ICommandService),__param$1d(7,IContextKeyService),__param$1d(8,IThemeService),__param$1d(9,INotificationService),__param$1d(10,IAccessibilityService),__param$1d(11,ILanguageConfigurationService),__param$1d(12,ILanguageFeaturesService)],EmbeddedCodeEditorWidget);const defaultColor=new Color$1(new RGBA$1(0,122,204)),defaultOptions$1={showArrow:!0,showFrame:!0,className:"",frameColor:defaultColor,arrowColor:defaultColor,keepEditorSelection:!1},WIDGET_ID="vs.editor.contrib.zoneWidget";class ViewZoneDelegate{constructor(e,t,i,r,g,y,k,L){this.id="",this.domNode=e,this.afterLineNumber=t,this.afterColumn=i,this.heightInLines=r,this.showInHiddenAreas=k,this.ordinal=L,this._onDomNodeTop=g,this._onComputedHeight=y}onDomNodeTop(e){this._onDomNodeTop(e)}onComputedHeight(e){this._onComputedHeight(e)}}class OverlayWidgetDelegate{constructor(e,t){this._id=e,this._domNode=t}getId(){return this._id}getDomNode(){return this._domNode}getPosition(){return null}}class Arrow{constructor(e){this._editor=e,this._ruleName=Arrow._IdGenerator.nextId(),this._decorations=this._editor.createDecorationsCollection(),this._color=null,this._height=-1}dispose(){this.hide(),removeCSSRulesContainingSelector(this._ruleName)}set color(e){this._color!==e&&(this._color=e,this._updateStyle())}set height(e){this._height!==e&&(this._height=e,this._updateStyle())}_updateStyle(){removeCSSRulesContainingSelector(this._ruleName),createCSSRule(".monaco-editor ".concat(this._ruleName),"border-style: solid; border-color: transparent; border-bottom-color: ".concat(this._color,"; border-width: ").concat(this._height,"px; bottom: -").concat(this._height,"px !important; margin-left: -").concat(this._height,"px; "))}show(e){e.column===1&&(e={lineNumber:e.lineNumber,column:2}),this._decorations.set([{range:Range$2.fromPositions(e),options:{description:"zone-widget-arrow",className:this._ruleName,stickiness:1}}])}hide(){this._decorations.clear()}}Arrow._IdGenerator=new IdGenerator(".arrow-decoration-");class ZoneWidget{constructor(e,t={}){this._arrow=null,this._overlayWidget=null,this._resizeSash=null,this._viewZone=null,this._disposables=new DisposableStore,this.container=null,this._isShowing=!1,this.editor=e,this._positionMarkerId=this.editor.createDecorationsCollection(),this.options=deepClone(t),mixin(this.options,defaultOptions$1,!1),this.domNode=document.createElement("div"),this.options.isAccessible||(this.domNode.setAttribute("aria-hidden","true"),this.domNode.setAttribute("role","presentation")),this._disposables.add(this.editor.onDidLayoutChange(i=>{const r=this._getWidth(i);this.domNode.style.width=r+"px",this.domNode.style.left=this._getLeft(i)+"px",this._onWidth(r)}))}dispose(){this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this._viewZone&&this.editor.changeViewZones(e=>{this._viewZone&&e.removeZone(this._viewZone.id),this._viewZone=null}),this._positionMarkerId.clear(),this._disposables.dispose()}create(){this.domNode.classList.add("zone-widget"),this.options.className&&this.domNode.classList.add(this.options.className),this.container=document.createElement("div"),this.container.classList.add("zone-widget-container"),this.domNode.appendChild(this.container),this.options.showArrow&&(this._arrow=new Arrow(this.editor),this._disposables.add(this._arrow)),this._fillContainer(this.container),this._initSash(),this._applyStyles()}style(e){e.frameColor&&(this.options.frameColor=e.frameColor),e.arrowColor&&(this.options.arrowColor=e.arrowColor),this._applyStyles()}_applyStyles(){if(this.container&&this.options.frameColor){const e=this.options.frameColor.toString();this.container.style.borderTopColor=e,this.container.style.borderBottomColor=e}if(this._arrow&&this.options.arrowColor){const e=this.options.arrowColor.toString();this._arrow.color=e}}_getWidth(e){return e.width-e.minimap.minimapWidth-e.verticalScrollbarWidth}_getLeft(e){return e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?e.minimap.minimapWidth:0}_onViewZoneTop(e){this.domNode.style.top=e+"px"}_onViewZoneHeight(e){var t;if(this.domNode.style.height="".concat(e,"px"),this.container){const i=e-this._decoratingElementsHeight();this.container.style.height="".concat(i,"px");const r=this.editor.getLayoutInfo();this._doLayout(i,this._getWidth(r))}(t=this._resizeSash)===null||t===void 0||t.layout()}get position(){const e=this._positionMarkerId.getRange(0);if(e)return e.getStartPosition()}show(e,t){const i=Range$2.isIRange(e)?Range$2.lift(e):Range$2.fromPositions(e);this._isShowing=!0,this._showImpl(i,t),this._isShowing=!1,this._positionMarkerId.set([{range:i,options:ModelDecorationOptions.EMPTY}])}hide(){var e;this._viewZone&&(this.editor.changeViewZones(t=>{this._viewZone&&t.removeZone(this._viewZone.id)}),this._viewZone=null),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),(e=this._arrow)===null||e===void 0||e.hide(),this._positionMarkerId.clear()}_decoratingElementsHeight(){const e=this.editor.getOption(67);let t=0;if(this.options.showArrow){const i=Math.round(e/3);t+=2*i}if(this.options.showFrame){const i=Math.round(e/9);t+=2*i}return t}_showImpl(e,t){const i=e.getStartPosition(),r=this.editor.getLayoutInfo(),g=this._getWidth(r);this.domNode.style.width="".concat(g,"px"),this.domNode.style.left=this._getLeft(r)+"px";const y=document.createElement("div");y.style.overflow="hidden";const k=this.editor.getOption(67);if(!this.options.allowUnlimitedHeight){const ie=Math.max(12,this.editor.getLayoutInfo().height/k*.8);t=Math.min(t,ie)}let L=0,V=0;if(this._arrow&&this.options.showArrow&&(L=Math.round(k/3),this._arrow.height=L,this._arrow.show(i)),this.options.showFrame&&(V=Math.round(k/9)),this.editor.changeViewZones(ie=>{this._viewZone&&ie.removeZone(this._viewZone.id),this._overlayWidget&&(this.editor.removeOverlayWidget(this._overlayWidget),this._overlayWidget=null),this.domNode.style.top="-1000px",this._viewZone=new ViewZoneDelegate(y,i.lineNumber,i.column,t,oe=>this._onViewZoneTop(oe),oe=>this._onViewZoneHeight(oe),this.options.showInHiddenAreas,this.options.ordinal),this._viewZone.id=ie.addZone(this._viewZone),this._overlayWidget=new OverlayWidgetDelegate(WIDGET_ID+this._viewZone.id,this.domNode),this.editor.addOverlayWidget(this._overlayWidget)}),this.container&&this.options.showFrame){const ie=this.options.frameWidth?this.options.frameWidth:V;this.container.style.borderTopWidth=ie+"px",this.container.style.borderBottomWidth=ie+"px"}const z=t*k-this._decoratingElementsHeight();this.container&&(this.container.style.top=L+"px",this.container.style.height=z+"px",this.container.style.overflow="hidden"),this._doLayout(z,g),this.options.keepEditorSelection||this.editor.setSelection(e);const j=this.editor.getModel();if(j){const ie=j.validateRange(new Range$2(e.startLineNumber,1,e.endLineNumber+1,1));this.revealRange(ie,ie.startLineNumber===j.getLineCount())}}revealRange(e,t){t?this.editor.revealLineNearTop(e.endLineNumber,0):this.editor.revealRange(e,0)}setCssClass(e,t){this.container&&(t&&this.container.classList.remove(t),this.container.classList.add(e))}_onWidth(e){}_doLayout(e,t){}_relayout(e){this._viewZone&&this._viewZone.heightInLines!==e&&this.editor.changeViewZones(t=>{this._viewZone&&(this._viewZone.heightInLines=e,t.layoutZone(this._viewZone.id))})}_initSash(){if(this._resizeSash)return;this._resizeSash=this._disposables.add(new Sash(this.domNode,this,{orientation:1})),this.options.isResizeable||(this._resizeSash.state=0);let e;this._disposables.add(this._resizeSash.onDidStart(t=>{this._viewZone&&(e={startY:t.startY,heightInLines:this._viewZone.heightInLines})})),this._disposables.add(this._resizeSash.onDidEnd(()=>{e=void 0})),this._disposables.add(this._resizeSash.onDidChange(t=>{if(e){const i=(t.currentY-e.startY)/this.editor.getOption(67),r=i<0?Math.ceil(i):Math.floor(i),g=e.heightInLines+r;g>5&&g<35&&this._relayout(g)}}))}getHorizontalSashLeft(){return 0}getHorizontalSashTop(){return(this.domNode.style.height===null?0:parseInt(this.domNode.style.height))-this._decoratingElementsHeight()/2}getHorizontalSashWidth(){const e=this.editor.getLayoutInfo();return e.width-e.minimap.minimapWidth}}var __decorate$1g=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1c=function(n,e){return function(t,i){e(t,i,n)}};const IPeekViewService=createDecorator("IPeekViewService");registerSingleton(IPeekViewService,class{constructor(){this._widgets=new Map}addExclusiveWidget(n,e){const t=this._widgets.get(n);t&&(t.listener.dispose(),t.widget.dispose());const i=()=>{const r=this._widgets.get(n);r&&r.widget===e&&(r.listener.dispose(),this._widgets.delete(n))};this._widgets.set(n,{widget:e,listener:e.onDidClose(i)})}},1);var PeekContext;(function(n){n.inPeekEditor=new RawContextKey("inReferenceSearchEditor",!0,localize("inReferenceSearchEditor","Whether the current code editor is embedded inside peek")),n.notInPeekEditor=n.inPeekEditor.toNegated()})(PeekContext||(PeekContext={}));let PeekContextController=class{constructor(e,t){e instanceof EmbeddedCodeEditorWidget&&PeekContext.inPeekEditor.bindTo(t)}dispose(){}};PeekContextController.ID="editor.contrib.referenceController";PeekContextController=__decorate$1g([__param$1c(1,IContextKeyService)],PeekContextController);registerEditorContribution(PeekContextController.ID,PeekContextController,0);function getOuterEditor(n){const e=n.get(ICodeEditorService).getFocusedCodeEditor();return e instanceof EmbeddedCodeEditorWidget?e.getParentEditor():e}const defaultOptions={headerBackgroundColor:Color$1.white,primaryHeadingColor:Color$1.fromHex("#333333"),secondaryHeadingColor:Color$1.fromHex("#6c6c6cb3")};let PeekViewWidget=class extends ZoneWidget{constructor(e,t,i){super(e,t),this.instantiationService=i,this._onDidClose=new Emitter$1,this.onDidClose=this._onDidClose.event,mixin(this.options,defaultOptions,!1)}dispose(){this.disposed||(this.disposed=!0,super.dispose(),this._onDidClose.fire(this))}style(e){const t=this.options;e.headerBackgroundColor&&(t.headerBackgroundColor=e.headerBackgroundColor),e.primaryHeadingColor&&(t.primaryHeadingColor=e.primaryHeadingColor),e.secondaryHeadingColor&&(t.secondaryHeadingColor=e.secondaryHeadingColor),super.style(e)}_applyStyles(){super._applyStyles();const e=this.options;this._headElement&&e.headerBackgroundColor&&(this._headElement.style.backgroundColor=e.headerBackgroundColor.toString()),this._primaryHeading&&e.primaryHeadingColor&&(this._primaryHeading.style.color=e.primaryHeadingColor.toString()),this._secondaryHeading&&e.secondaryHeadingColor&&(this._secondaryHeading.style.color=e.secondaryHeadingColor.toString()),this._bodyElement&&e.frameColor&&(this._bodyElement.style.borderColor=e.frameColor.toString())}_fillContainer(e){this.setCssClass("peekview-widget"),this._headElement=$$f(".head"),this._bodyElement=$$f(".body"),this._fillHead(this._headElement),this._fillBody(this._bodyElement),e.appendChild(this._headElement),e.appendChild(this._bodyElement)}_fillHead(e,t){this._titleElement=$$f(".peekview-title"),this.options.supportOnTitleClick&&(this._titleElement.classList.add("clickable"),addStandardDisposableListener(this._titleElement,"click",g=>this._onTitleClick(g))),append$1(this._headElement,this._titleElement),this._fillTitleIcon(this._titleElement),this._primaryHeading=$$f("span.filename"),this._secondaryHeading=$$f("span.dirname"),this._metaHeading=$$f("span.meta"),append$1(this._titleElement,this._primaryHeading,this._secondaryHeading,this._metaHeading);const i=$$f(".peekview-actions");append$1(this._headElement,i);const r=this._getActionBarOptions();this._actionbarWidget=new ActionBar(i,r),this._disposables.add(this._actionbarWidget),t||this._actionbarWidget.push(new Action("peekview.close",localize("label.close","Close"),ThemeIcon.asClassName(Codicon.close),!0,()=>(this.dispose(),Promise.resolve())),{label:!1,icon:!0})}_fillTitleIcon(e){}_getActionBarOptions(){return{actionViewItemProvider:createActionViewItem.bind(void 0,this.instantiationService),orientation:0}}_onTitleClick(e){}setTitle(e,t){this._primaryHeading&&this._secondaryHeading&&(this._primaryHeading.innerText=e,this._primaryHeading.setAttribute("title",e),t?this._secondaryHeading.innerText=t:clearNode(this._secondaryHeading))}setMetaTitle(e){this._metaHeading&&(e?(this._metaHeading.innerText=e,show(this._metaHeading)):hide(this._metaHeading))}_doLayout(e,t){if(!this._isShowing&&e<0){this.dispose();return}const i=Math.ceil(this.editor.getOption(67)*1.2),r=Math.round(e-(i+2));this._doLayoutHead(i,t),this._doLayoutBody(r,t)}_doLayoutHead(e,t){this._headElement&&(this._headElement.style.height="".concat(e,"px"),this._headElement.style.lineHeight=this._headElement.style.height)}_doLayoutBody(e,t){this._bodyElement&&(this._bodyElement.style.height="".concat(e,"px"))}};PeekViewWidget=__decorate$1g([__param$1c(2,IInstantiationService)],PeekViewWidget);const peekViewTitleBackground=registerColor("peekViewTitle.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewTitleBackground","Background color of the peek view title area.")),peekViewTitleForeground=registerColor("peekViewTitleLabel.foreground",{dark:Color$1.white,light:Color$1.black,hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewTitleForeground","Color of the peek view title.")),peekViewTitleInfoForeground=registerColor("peekViewTitleDescription.foreground",{dark:"#ccccccb3",light:"#616161",hcDark:"#FFFFFF99",hcLight:"#292929"},localize("peekViewTitleInfoForeground","Color of the peek view title info.")),peekViewBorder=registerColor("peekView.border",{dark:editorInfoForeground,light:editorInfoForeground,hcDark:contrastBorder,hcLight:contrastBorder},localize("peekViewBorder","Color of the peek view borders and arrow.")),peekViewResultsBackground=registerColor("peekViewResult.background",{dark:"#252526",light:"#F3F3F3",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewResultsBackground","Background color of the peek view result list."));registerColor("peekViewResult.lineForeground",{dark:"#bbbbbb",light:"#646465",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsMatchForeground","Foreground color for line nodes in the peek view result list."));registerColor("peekViewResult.fileForeground",{dark:Color$1.white,light:"#1E1E1E",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsFileForeground","Foreground color for file nodes in the peek view result list."));registerColor("peekViewResult.selectionBackground",{dark:"#3399ff33",light:"#3399ff33",hcDark:null,hcLight:null},localize("peekViewResultsSelectionBackground","Background color of the selected entry in the peek view result list."));registerColor("peekViewResult.selectionForeground",{dark:Color$1.white,light:"#6C6C6C",hcDark:Color$1.white,hcLight:editorForeground},localize("peekViewResultsSelectionForeground","Foreground color of the selected entry in the peek view result list."));const peekViewEditorBackground=registerColor("peekViewEditor.background",{dark:"#001F33",light:"#F2F8FC",hcDark:Color$1.black,hcLight:Color$1.white},localize("peekViewEditorBackground","Background color of the peek view editor."));registerColor("peekViewEditorGutter.background",{dark:peekViewEditorBackground,light:peekViewEditorBackground,hcDark:peekViewEditorBackground,hcLight:peekViewEditorBackground},localize("peekViewEditorGutterBackground","Background color of the gutter in the peek view editor."));registerColor("peekViewEditorStickyScroll.background",{dark:peekViewEditorBackground,light:peekViewEditorBackground,hcDark:peekViewEditorBackground,hcLight:peekViewEditorBackground},localize("peekViewEditorStickScrollBackground","Background color of sticky scroll in the peek view editor."));registerColor("peekViewResult.matchHighlightBackground",{dark:"#ea5c004d",light:"#ea5c004d",hcDark:null,hcLight:null},localize("peekViewResultsMatchHighlight","Match highlight color in the peek view result list."));registerColor("peekViewEditor.matchHighlightBackground",{dark:"#ff8f0099",light:"#f5d802de",hcDark:null,hcLight:null},localize("peekViewEditorMatchHighlight","Match highlight color in the peek view editor."));registerColor("peekViewEditor.matchHighlightBorder",{dark:null,light:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("peekViewEditorMatchHighlightBorder","Match highlight border in the peek view editor."));class OneReference{constructor(e,t,i,r){this.isProviderFirst=e,this.parent=t,this.link=i,this._rangeCallback=r,this.id=defaultGenerator.nextId()}get uri(){return this.link.uri}get range(){var e,t;return(t=(e=this._range)!==null&&e!==void 0?e:this.link.targetSelectionRange)!==null&&t!==void 0?t:this.link.range}set range(e){this._range=e,this._rangeCallback(this)}get ariaMessage(){var e;const t=(e=this.parent.getPreview(this))===null||e===void 0?void 0:e.preview(this.range);return t?localize({},"{0} in {1} on line {2} at column {3}",t.value,basename(this.uri),this.range.startLineNumber,this.range.startColumn):localize("aria.oneReference","in {0} on line {1} at column {2}",basename(this.uri),this.range.startLineNumber,this.range.startColumn)}}class FilePreview{constructor(e){this._modelReference=e}dispose(){this._modelReference.dispose()}preview(e,t=8){const i=this._modelReference.object.textEditorModel;if(!i)return;const{startLineNumber:r,startColumn:g,endLineNumber:y,endColumn:k}=e,L=i.getWordUntilPosition({lineNumber:r,column:g-t}),V=new Range$2(r,L.startColumn,r,g),z=new Range$2(y,k,y,1073741824),j=i.getValueInRange(V).replace(/^\s+/,""),ie=i.getValueInRange(e),oe=i.getValueInRange(z).replace(/\s+$/,"");return{value:j+ie+oe,highlight:{start:j.length,end:j.length+ie.length}}}}class FileReferences{constructor(e,t){this.parent=e,this.uri=t,this.children=[],this._previews=new ResourceMap}dispose(){dispose(this._previews.values()),this._previews.clear()}getPreview(e){return this._previews.get(e.uri)}get ariaMessage(){const e=this.children.length;return e===1?localize("aria.fileReferences.1","1 symbol in {0}, full path {1}",basename(this.uri),this.uri.fsPath):localize("aria.fileReferences.N","{0} symbols in {1}, full path {2}",e,basename(this.uri),this.uri.fsPath)}async resolve(e){if(this._previews.size!==0)return this;for(const t of this.children)if(!this._previews.has(t.uri))try{const i=await e.createModelReference(t.uri);this._previews.set(t.uri,new FilePreview(i))}catch(i){onUnexpectedError(i)}return this}}class ReferencesModel{constructor(e,t){this.groups=[],this.references=[],this._onDidChangeReferenceRange=new Emitter$1,this.onDidChangeReferenceRange=this._onDidChangeReferenceRange.event,this._links=e,this._title=t;const[i]=e;e.sort(ReferencesModel._compareReferences);let r;for(const g of e)if((!r||!extUri.isEqual(r.uri,g.uri,!0))&&(r=new FileReferences(this,g.uri),this.groups.push(r)),r.children.length===0||ReferencesModel._compareReferences(g,r.children[r.children.length-1])!==0){const y=new OneReference(i===g,r,g,k=>this._onDidChangeReferenceRange.fire(k));this.references.push(y),r.children.push(y)}}dispose(){dispose(this.groups),this._onDidChangeReferenceRange.dispose(),this.groups.length=0}clone(){return new ReferencesModel(this._links,this._title)}get title(){return this._title}get isEmpty(){return this.groups.length===0}get ariaMessage(){return this.isEmpty?localize("aria.result.0","No results found"):this.references.length===1?localize("aria.result.1","Found 1 symbol in {0}",this.references[0].uri.fsPath):this.groups.length===1?localize("aria.result.n1","Found {0} symbols in {1}",this.references.length,this.groups[0].uri.fsPath):localize("aria.result.nm","Found {0} symbols in {1} files",this.references.length,this.groups.length)}nextOrPreviousReference(e,t){const{parent:i}=e;let r=i.children.indexOf(e);const g=i.children.length,y=i.parent.groups.length;return y===1||t&&r+10?(t?r=(r+1)%g:r=(r+g-1)%g,i.children[r]):(r=i.parent.groups.indexOf(i),t?(r=(r+1)%y,i.parent.groups[r].children[0]):(r=(r+y-1)%y,i.parent.groups[r].children[i.parent.groups[r].children.length-1]))}nearestReference(e,t){const i=this.references.map((r,g)=>({idx:g,prefixLen:commonPrefixLength(r.uri.toString(),e.toString()),offsetDist:Math.abs(r.range.startLineNumber-t.lineNumber)*100+Math.abs(r.range.startColumn-t.column)})).sort((r,g)=>r.prefixLen>g.prefixLen?-1:r.prefixLeng.offsetDist?1:0)[0];if(i)return this.references[i.idx]}referenceAt(e,t){for(const i of this.references)if(i.uri.toString()===e.toString()&&Range$2.containsPosition(i.range,t))return i}firstReference(){for(const e of this.references)if(e.isProviderFirst)return e;return this.references[0]}static _compareReferences(e,t){return extUri.compare(e.uri,t.uri)||Range$2.compareRangesUsingStarts(e.range,t.range)}}var __decorate$1f=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1b=function(n,e){return function(t,i){e(t,i,n)}},FileReferencesRenderer_1;let DataSource$2=class{constructor(e){this._resolverService=e}hasChildren(e){return e instanceof ReferencesModel||e instanceof FileReferences}getChildren(e){if(e instanceof ReferencesModel)return e.groups;if(e instanceof FileReferences)return e.resolve(this._resolverService).then(t=>t.children);throw new Error("bad tree")}};DataSource$2=__decorate$1f([__param$1b(0,ITextModelService)],DataSource$2);class Delegate{getHeight(){return 23}getTemplateId(e){return e instanceof FileReferences?FileReferencesRenderer.id:OneReferenceRenderer.id}}let StringRepresentationProvider=class{constructor(e){this._keybindingService=e}getKeyboardNavigationLabel(e){var t;if(e instanceof OneReference){const i=(t=e.parent.getPreview(e))===null||t===void 0?void 0:t.preview(e.range);if(i)return i.value}return basename(e.uri)}};StringRepresentationProvider=__decorate$1f([__param$1b(0,IKeybindingService)],StringRepresentationProvider);class IdentityProvider{getId(e){return e instanceof OneReference?e.id:e.uri}}let FileReferencesTemplate=class extends Disposable{constructor(e,t){super(),this._labelService=t;const i=document.createElement("div");i.classList.add("reference-file"),this.file=this._register(new IconLabel(i,{supportHighlights:!0})),this.badge=new CountBadge(append$1(i,$$f(".count")),{},defaultCountBadgeStyles),e.appendChild(i)}set(e,t){const i=dirname(e.uri);this.file.setLabel(this._labelService.getUriBasenameLabel(e.uri),this._labelService.getUriLabel(i,{relative:!0}),{title:this._labelService.getUriLabel(e.uri),matches:t});const r=e.children.length;this.badge.setCount(r),r>1?this.badge.setTitleFormat(localize("referencesCount","{0} references",r)):this.badge.setTitleFormat(localize("referenceCount","{0} reference",r))}};FileReferencesTemplate=__decorate$1f([__param$1b(1,ILabelService)],FileReferencesTemplate);let FileReferencesRenderer=FileReferencesRenderer_1=class{constructor(e){this._instantiationService=e,this.templateId=FileReferencesRenderer_1.id}renderTemplate(e){return this._instantiationService.createInstance(FileReferencesTemplate,e)}renderElement(e,t,i){i.set(e.element,createMatches(e.filterData))}disposeTemplate(e){e.dispose()}};FileReferencesRenderer.id="FileReferencesRenderer";FileReferencesRenderer=FileReferencesRenderer_1=__decorate$1f([__param$1b(0,IInstantiationService)],FileReferencesRenderer);class OneReferenceTemplate extends Disposable{constructor(e){super(),this.label=this._register(new HighlightedLabel(e))}set(e,t){var i;const r=(i=e.parent.getPreview(e))===null||i===void 0?void 0:i.preview(e.range);if(!r||!r.value)this.label.set("".concat(basename(e.uri),":").concat(e.range.startLineNumber+1,":").concat(e.range.startColumn+1));else{const{value:g,highlight:y}=r;t&&!FuzzyScore.isDefault(t)?(this.label.element.classList.toggle("referenceMatch",!1),this.label.set(g,createMatches(t))):(this.label.element.classList.toggle("referenceMatch",!0),this.label.set(g,[y]))}}}class OneReferenceRenderer{constructor(){this.templateId=OneReferenceRenderer.id}renderTemplate(e){return new OneReferenceTemplate(e)}renderElement(e,t,i){i.set(e.element,e.filterData)}disposeTemplate(e){e.dispose()}}OneReferenceRenderer.id="OneReferenceRenderer";class AccessibilityProvider{getWidgetAriaLabel(){return localize("treeAriaLabel","References")}getAriaLabel(e){return e.ariaMessage}}var __decorate$1e=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1a=function(n,e){return function(t,i){e(t,i,n)}};class DecorationsManager{constructor(e,t){this._editor=e,this._model=t,this._decorations=new Map,this._decorationIgnoreSet=new Set,this._callOnDispose=new DisposableStore,this._callOnModelChange=new DisposableStore,this._callOnDispose.add(this._editor.onDidChangeModel(()=>this._onModelChanged())),this._onModelChanged()}dispose(){this._callOnModelChange.dispose(),this._callOnDispose.dispose(),this.removeDecorations()}_onModelChanged(){this._callOnModelChange.clear();const e=this._editor.getModel();if(e){for(const t of this._model.references)if(t.uri.toString()===e.uri.toString()){this._addDecorations(t.parent);return}}}_addDecorations(e){if(!this._editor.hasModel())return;this._callOnModelChange.add(this._editor.getModel().onDidChangeDecorations(()=>this._onDecorationChanged()));const t=[],i=[];for(let r=0,g=e.children.length;r{const g=r.deltaDecorations([],t);for(let y=0;y{g.equals(9)&&(this._keybindingService.dispatchEvent(g,g.target),g.stopPropagation())},!0)),this._tree=this._instantiationService.createInstance(ReferencesTree,"ReferencesWidget",this._treeContainer,new Delegate,[this._instantiationService.createInstance(FileReferencesRenderer),this._instantiationService.createInstance(OneReferenceRenderer)],this._instantiationService.createInstance(DataSource$2),i),this._splitView.addView({onDidChange:Event$1.None,element:this._previewContainer,minimumSize:200,maximumSize:Number.MAX_VALUE,layout:g=>{this._preview.layout({height:this._dim.height,width:g})}},Sizing.Distribute),this._splitView.addView({onDidChange:Event$1.None,element:this._treeContainer,minimumSize:100,maximumSize:Number.MAX_VALUE,layout:g=>{this._treeContainer.style.height="".concat(this._dim.height,"px"),this._treeContainer.style.width="".concat(g,"px"),this._tree.layout(this._dim.height,g)}},Sizing.Distribute),this._disposables.add(this._splitView.onDidSashChange(()=>{this._dim.width&&(this.layoutData.ratio=this._splitView.getViewSize(0)/this._dim.width)},void 0));const r=(g,y)=>{g instanceof OneReference&&(y==="show"&&this._revealReference(g,!1),this._onDidSelectReference.fire({element:g,kind:y,source:"tree"}))};this._tree.onDidOpen(g=>{g.sideBySide?r(g.element,"side"):g.editorOptions.pinned?r(g.element,"goto"):r(g.element,"show")}),hide(this._treeContainer)}_onWidth(e){this._dim&&this._doLayoutBody(this._dim.height,e)}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._dim=new Dimension(t,e),this.layoutData.heightInLines=this._viewZone?this._viewZone.heightInLines:this.layoutData.heightInLines,this._splitView.layout(t),this._splitView.resizeView(0,t*this.layoutData.ratio)}setSelection(e){return this._revealReference(e,!0).then(()=>{this._model&&(this._tree.setSelection([e]),this._tree.setFocus([e]))})}setModel(e){return this._disposeOnNewModel.clear(),this._model=e,this._model?this._onNewModel():Promise.resolve()}_onNewModel(){return this._model?this._model.isEmpty?(this.setTitle(""),this._messageContainer.innerText=localize("noResults","No results"),show(this._messageContainer),Promise.resolve(void 0)):(hide(this._messageContainer),this._decorationsManager=new DecorationsManager(this._preview,this._model),this._disposeOnNewModel.add(this._decorationsManager),this._disposeOnNewModel.add(this._model.onDidChangeReferenceRange(e=>this._tree.rerender(e))),this._disposeOnNewModel.add(this._preview.onMouseDown(e=>{const{event:t,target:i}=e;if(t.detail!==2)return;const r=this._getFocusedReference();r&&this._onDidSelectReference.fire({element:{uri:r.uri,range:i.range},kind:t.ctrlKey||t.metaKey||t.altKey?"side":"open",source:"editor"})})),this.container.classList.add("results-loaded"),show(this._treeContainer),show(this._previewContainer),this._splitView.layout(this._dim.width),this.focusOnReferenceTree(),this._tree.setInput(this._model.groups.length===1?this._model.groups[0]:this._model)):Promise.resolve(void 0)}_getFocusedReference(){const[e]=this._tree.getFocus();if(e instanceof OneReference)return e;if(e instanceof FileReferences&&e.children.length>0)return e.children[0]}async revealReference(e){await this._revealReference(e,!1),this._onDidSelectReference.fire({element:e,kind:"goto",source:"tree"})}async _revealReference(e,t){if(this._revealedReference===e)return;this._revealedReference=e,e.uri.scheme!==Schemas.inMemory?this.setTitle(basenameOrAuthority(e.uri),this._uriLabel.getUriLabel(dirname(e.uri))):this.setTitle(localize("peekView.alternateTitle","References"));const i=this._textModelResolverService.createModelReference(e.uri);this._tree.getInput()===e.parent?this._tree.reveal(e):(t&&this._tree.reveal(e.parent),await this._tree.expand(e.parent),this._tree.reveal(e));const r=await i;if(!this._model){r.dispose();return}dispose(this._previewModelReference);const g=r.object;if(g){const y=this._preview.getModel()===g.textEditorModel?0:1,k=Range$2.lift(e.range).collapseToStart();this._previewModelReference=r,this._preview.setModel(g.textEditorModel),this._preview.setSelection(k),this._preview.revealRangeInCenter(k,y)}else this._preview.setModel(this._previewNotAvailableMessage),r.dispose()}};ReferenceWidget=__decorate$1e([__param$1a(3,IThemeService),__param$1a(4,ITextModelService),__param$1a(5,IInstantiationService),__param$1a(6,IPeekViewService),__param$1a(7,ILabelService),__param$1a(8,IUndoRedoService),__param$1a(9,IKeybindingService),__param$1a(10,ILanguageService),__param$1a(11,ILanguageConfigurationService)],ReferenceWidget);var __decorate$1d=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$19=function(n,e){return function(t,i){e(t,i,n)}},ReferencesController_1;const ctxReferenceSearchVisible=new RawContextKey("referenceSearchVisible",!1,localize("referenceSearchVisible","Whether reference peek is visible, like 'Peek References' or 'Peek Definition'"));let ReferencesController=ReferencesController_1=class{static get(e){return e.getContribution(ReferencesController_1.ID)}constructor(e,t,i,r,g,y,k,L){this._defaultTreeKeyboardSupport=e,this._editor=t,this._editorService=r,this._notificationService=g,this._instantiationService=y,this._storageService=k,this._configurationService=L,this._disposables=new DisposableStore,this._requestIdPool=0,this._ignoreModelChangeEvent=!1,this._referenceSearchVisible=ctxReferenceSearchVisible.bindTo(i)}dispose(){var e,t;this._referenceSearchVisible.reset(),this._disposables.dispose(),(e=this._widget)===null||e===void 0||e.dispose(),(t=this._model)===null||t===void 0||t.dispose(),this._widget=void 0,this._model=void 0}toggleWidget(e,t,i){let r;if(this._widget&&(r=this._widget.position),this.closeWidget(),r&&e.containsPosition(r))return;this._peekMode=i,this._referenceSearchVisible.set(!0),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>{this.closeWidget()})),this._disposables.add(this._editor.onDidChangeModel(()=>{this._ignoreModelChangeEvent||this.closeWidget()}));const g="peekViewLayout",y=LayoutData.fromJSON(this._storageService.get(g,0,"{}"));this._widget=this._instantiationService.createInstance(ReferenceWidget,this._editor,this._defaultTreeKeyboardSupport,y),this._widget.setTitle(localize("labelLoading","Loading...")),this._widget.show(e),this._disposables.add(this._widget.onDidClose(()=>{t.cancel(),this._widget&&(this._storageService.store(g,JSON.stringify(this._widget.layoutData),0,1),this._widget=void 0),this.closeWidget()})),this._disposables.add(this._widget.onDidSelectReference(L=>{const{element:V,kind:z}=L;if(V)switch(z){case"open":(L.source!=="editor"||!this._configurationService.getValue("editor.stablePeek"))&&this.openReference(V,!1,!1);break;case"side":this.openReference(V,!0,!1);break;case"goto":i?this._gotoReference(V,!0):this.openReference(V,!1,!0);break}}));const k=++this._requestIdPool;t.then(L=>{var V;if(k!==this._requestIdPool||!this._widget){L.dispose();return}return(V=this._model)===null||V===void 0||V.dispose(),this._model=L,this._widget.setModel(this._model).then(()=>{if(this._widget&&this._model&&this._editor.hasModel()){this._model.isEmpty?this._widget.setMetaTitle(""):this._widget.setMetaTitle(localize("metaTitle.N","{0} ({1})",this._model.title,this._model.references.length));const z=this._editor.getModel().uri,j=new Position$1(e.startLineNumber,e.startColumn),ie=this._model.nearestReference(z,j);if(ie)return this._widget.setSelection(ie).then(()=>{this._widget&&this._editor.getOption(87)==="editor"&&this._widget.focusOnPreviewEditor()})}})},L=>{this._notificationService.error(L)})}changeFocusBetweenPreviewAndReferences(){this._widget&&(this._widget.isPreviewEditorFocused()?this._widget.focusOnReferenceTree():this._widget.focusOnPreviewEditor())}async goToNextOrPreviousReference(e){if(!this._editor.hasModel()||!this._model||!this._widget)return;const t=this._widget.position;if(!t)return;const i=this._model.nearestReference(this._editor.getModel().uri,t);if(!i)return;const r=this._model.nextOrPreviousReference(i,e),g=this._editor.hasTextFocus(),y=this._widget.isPreviewEditorFocused();await this._widget.setSelection(r),await this._gotoReference(r,!1),g?this._editor.focus():this._widget&&y&&this._widget.focusOnPreviewEditor()}async revealReference(e){!this._editor.hasModel()||!this._model||!this._widget||await this._widget.revealReference(e)}closeWidget(e=!0){var t,i;(t=this._widget)===null||t===void 0||t.dispose(),(i=this._model)===null||i===void 0||i.dispose(),this._referenceSearchVisible.reset(),this._disposables.clear(),this._widget=void 0,this._model=void 0,e&&this._editor.focus(),this._requestIdPool+=1}_gotoReference(e,t){var i;(i=this._widget)===null||i===void 0||i.hide(),this._ignoreModelChangeEvent=!0;const r=Range$2.lift(e.range).collapseToStart();return this._editorService.openCodeEditor({resource:e.uri,options:{selection:r,selectionSource:"code.jump",pinned:t}},this._editor).then(g=>{var y;if(this._ignoreModelChangeEvent=!1,!g||!this._widget){this.closeWidget();return}if(this._editor===g)this._widget.show(r),this._widget.focusOnReferenceTree();else{const k=ReferencesController_1.get(g),L=this._model.clone();this.closeWidget(),g.focus(),k==null||k.toggleWidget(r,createCancelablePromise(V=>Promise.resolve(L)),(y=this._peekMode)!==null&&y!==void 0?y:!1)}},g=>{this._ignoreModelChangeEvent=!1,onUnexpectedError(g)})}openReference(e,t,i){t||this.closeWidget();const{uri:r,range:g}=e;this._editorService.openCodeEditor({resource:r,options:{selection:g,selectionSource:"code.jump",pinned:i}},this._editor,t)}};ReferencesController.ID="editor.contrib.referencesController";ReferencesController=ReferencesController_1=__decorate$1d([__param$19(2,IContextKeyService),__param$19(3,ICodeEditorService),__param$19(4,INotificationService),__param$19(5,IInstantiationService),__param$19(6,IStorageService),__param$19(7,IConfigurationService)],ReferencesController);function withController(n,e){const t=getOuterEditor(n);if(!t)return;const i=ReferencesController.get(t);i&&e(i)}KeybindingsRegistry.registerCommandAndKeybindingRule({id:"togglePeekWidgetFocus",weight:100,primary:KeyChord(2089,60),when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(n){withController(n,e=>{e.changeFocusBetweenPreviewAndReferences()})}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToNextReference",weight:90,primary:62,secondary:[70],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(n){withController(n,e=>{e.goToNextOrPreviousReference(!0)})}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"goToPreviousReference",weight:90,primary:1086,secondary:[1094],when:ContextKeyExpr.or(ctxReferenceSearchVisible,PeekContext.inPeekEditor),handler(n){withController(n,e=>{e.goToNextOrPreviousReference(!1)})}});CommandsRegistry.registerCommandAlias("goToNextReferenceFromEmbeddedEditor","goToNextReference");CommandsRegistry.registerCommandAlias("goToPreviousReferenceFromEmbeddedEditor","goToPreviousReference");CommandsRegistry.registerCommandAlias("closeReferenceSearchEditor","closeReferenceSearch");CommandsRegistry.registerCommand("closeReferenceSearch",n=>withController(n,e=>e.closeWidget()));KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:-1,primary:9,secondary:[1033],when:ContextKeyExpr.and(PeekContext.inPeekEditor,ContextKeyExpr.not("config.editor.stablePeek"))});KeybindingsRegistry.registerKeybindingRule({id:"closeReferenceSearch",weight:250,primary:9,secondary:[1033],when:ContextKeyExpr.and(ctxReferenceSearchVisible,ContextKeyExpr.not("config.editor.stablePeek"),ContextKeyExpr.or(EditorContextKeys.editorTextFocus,InputFocusedContext.negate()))});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"revealReference",weight:200,primary:3,mac:{primary:3,secondary:[2066]},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(n){var e;const i=(e=n.get(IListService).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(n,r=>r.revealReference(i[0]))}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"openReferenceToSide",weight:100,primary:2051,mac:{primary:259},when:ContextKeyExpr.and(ctxReferenceSearchVisible,WorkbenchListFocusContextKey,WorkbenchTreeElementCanCollapse.negate(),WorkbenchTreeElementCanExpand.negate()),handler(n){var e;const i=(e=n.get(IListService).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(n,r=>r.openReference(i[0],!0,!0))}});CommandsRegistry.registerCommand("openReference",n=>{var e;const i=(e=n.get(IListService).lastFocusedList)===null||e===void 0?void 0:e.getFocus();Array.isArray(i)&&i[0]instanceof OneReference&&withController(n,r=>r.openReference(i[0],!1,!0))});var __decorate$1c=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$18=function(n,e){return function(t,i){e(t,i,n)}};const ctxHasSymbols=new RawContextKey("hasSymbols",!1,localize("hasSymbols","Whether there are symbol locations that can be navigated via keyboard-only.")),ISymbolNavigationService=createDecorator("ISymbolNavigationService");let SymbolNavigationService=class{constructor(e,t,i,r){this._editorService=t,this._notificationService=i,this._keybindingService=r,this._currentModel=void 0,this._currentIdx=-1,this._ignoreEditorChange=!1,this._ctxHasSymbols=ctxHasSymbols.bindTo(e)}reset(){var e,t;this._ctxHasSymbols.reset(),(e=this._currentState)===null||e===void 0||e.dispose(),(t=this._currentMessage)===null||t===void 0||t.dispose(),this._currentModel=void 0,this._currentIdx=-1}put(e){const t=e.parent.parent;if(t.references.length<=1){this.reset();return}this._currentModel=t,this._currentIdx=t.references.indexOf(e),this._ctxHasSymbols.set(!0),this._showMessage();const i=new EditorState(this._editorService),r=i.onDidChange(g=>{if(this._ignoreEditorChange)return;const y=this._editorService.getActiveCodeEditor();if(!y)return;const k=y.getModel(),L=y.getPosition();if(!k||!L)return;let V=!1,z=!1;for(const j of t.references)if(isEqual(j.uri,k.uri))V=!0,z=z||Range$2.containsPosition(j.range,L);else if(V)break;(!V||!z)&&this.reset()});this._currentState=combinedDisposable(i,r)}revealNext(e){if(!this._currentModel)return Promise.resolve();this._currentIdx+=1,this._currentIdx%=this._currentModel.references.length;const t=this._currentModel.references[this._currentIdx];return this._showMessage(),this._ignoreEditorChange=!0,this._editorService.openCodeEditor({resource:t.uri,options:{selection:Range$2.collapseToStart(t.range),selectionRevealType:3}},e).finally(()=>{this._ignoreEditorChange=!1})}_showMessage(){var e;(e=this._currentMessage)===null||e===void 0||e.dispose();const t=this._keybindingService.lookupKeybinding("editor.gotoNextSymbolFromResult"),i=t?localize("location.kb","Symbol {0} of {1}, {2} for next",this._currentIdx+1,this._currentModel.references.length,t.getLabel()):localize("location","Symbol {0} of {1}",this._currentIdx+1,this._currentModel.references.length);this._currentMessage=this._notificationService.status(i)}};SymbolNavigationService=__decorate$1c([__param$18(0,IContextKeyService),__param$18(1,ICodeEditorService),__param$18(2,INotificationService),__param$18(3,IKeybindingService)],SymbolNavigationService);registerSingleton(ISymbolNavigationService,SymbolNavigationService,1);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.gotoNextSymbolFromResult",precondition:ctxHasSymbols,kbOpts:{weight:100,primary:70}})}runEditorCommand(n,e){return n.get(ISymbolNavigationService).revealNext(e)}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"editor.gotoNextSymbolFromResult.cancel",weight:100,when:ctxHasSymbols,primary:9,handler(n){n.get(ISymbolNavigationService).reset()}});let EditorState=class{constructor(e){this._listener=new Map,this._disposables=new DisposableStore,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._disposables.add(e.onCodeEditorRemove(this._onDidRemoveEditor,this)),this._disposables.add(e.onCodeEditorAdd(this._onDidAddEditor,this)),e.listCodeEditors().forEach(this._onDidAddEditor,this)}dispose(){this._disposables.dispose(),this._onDidChange.dispose(),dispose(this._listener.values())}_onDidAddEditor(e){this._listener.set(e,combinedDisposable(e.onDidChangeCursorPosition(t=>this._onDidChange.fire({editor:e})),e.onDidChangeModelContent(t=>this._onDidChange.fire({editor:e}))))}_onDidRemoveEditor(e){var t;(t=this._listener.get(e))===null||t===void 0||t.dispose(),this._listener.delete(e)}};EditorState=__decorate$1c([__param$18(0,ICodeEditorService)],EditorState);async function getLocationLinks(n,e,t,i){const g=t.ordered(n).map(k=>Promise.resolve(i(k,n,e)).then(void 0,L=>{onUnexpectedExternalError(L)})),y=await Promise.all(g);return coalesce(y.flat())}function getDefinitionsAtPosition(n,e,t,i){return getLocationLinks(e,t,n,(r,g,y)=>r.provideDefinition(g,y,i))}function getDeclarationsAtPosition(n,e,t,i){return getLocationLinks(e,t,n,(r,g,y)=>r.provideDeclaration(g,y,i))}function getImplementationsAtPosition(n,e,t,i){return getLocationLinks(e,t,n,(r,g,y)=>r.provideImplementation(g,y,i))}function getTypeDefinitionsAtPosition(n,e,t,i){return getLocationLinks(e,t,n,(r,g,y)=>r.provideTypeDefinition(g,y,i))}function getReferencesAtPosition(n,e,t,i,r){return getLocationLinks(e,t,n,async(g,y,k)=>{const L=await g.provideReferences(y,k,{includeDeclaration:!0},r);if(!i||!L||L.length!==2)return L;const V=await g.provideReferences(y,k,{includeDeclaration:!1},r);return V&&V.length===1?V:L})}async function _sortedAndDeduped(n){const e=await n(),t=new ReferencesModel(e,""),i=t.references.map(r=>r.link);return t.dispose(),i}registerModelAndPositionCommand("_executeDefinitionProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getDefinitionsAtPosition(i.definitionProvider,e,t,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeTypeDefinitionProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getTypeDefinitionsAtPosition(i.typeDefinitionProvider,e,t,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeDeclarationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getDeclarationsAtPosition(i.declarationProvider,e,t,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeReferenceProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getReferencesAtPosition(i.referenceProvider,e,t,!1,CancellationToken.None);return _sortedAndDeduped(()=>r)});registerModelAndPositionCommand("_executeImplementationProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=getImplementationsAtPosition(i.implementationProvider,e,t,CancellationToken.None);return _sortedAndDeduped(()=>r)});var _a$4,_b,_c,_d,_e,_f,_g,_h;MenuRegistry.appendMenuItem(MenuId.EditorContext,{submenu:MenuId.EditorContextPeek,title:localize("peek.submenu","Peek"),group:"navigation",order:100});class SymbolNavigationAnchor{static is(e){return!e||typeof e!="object"?!1:!!(e instanceof SymbolNavigationAnchor||Position$1.isIPosition(e.position)&&e.model)}constructor(e,t){this.model=e,this.position=t}}class SymbolNavigationAction extends EditorAction2{static all(){return SymbolNavigationAction._allSymbolNavigationCommands.values()}static _patchConfig(e){const t={...e,f1:!0};if(t.menu)for(const i of Iterable.wrap(t.menu))(i.id===MenuId.EditorContext||i.id===MenuId.EditorContextPeek)&&(i.when=ContextKeyExpr.and(e.precondition,i.when));return t}constructor(e,t){super(SymbolNavigationAction._patchConfig(t)),this.configuration=e,SymbolNavigationAction._allSymbolNavigationCommands.set(t.id,this)}runEditorCommand(e,t,i,r){if(!t.hasModel())return Promise.resolve(void 0);const g=e.get(INotificationService),y=e.get(ICodeEditorService),k=e.get(IEditorProgressService),L=e.get(ISymbolNavigationService),V=e.get(ILanguageFeaturesService),z=e.get(IInstantiationService),j=t.getModel(),ie=t.getPosition(),oe=SymbolNavigationAnchor.is(i)?i:new SymbolNavigationAnchor(j,ie),re=new EditorStateCancellationTokenSource(t,5),ae=raceCancellation(this._getLocationModel(V,oe.model,oe.position,re.token),re.token).then(async le=>{var de;if(!le||re.token.isCancellationRequested)return;alert(le.ariaMessage);let ue;if(le.referenceAt(j.uri,ie)){const pe=this._getAlternativeCommand(t);!SymbolNavigationAction._activeAlternativeCommands.has(pe)&&SymbolNavigationAction._allSymbolNavigationCommands.has(pe)&&(ue=SymbolNavigationAction._allSymbolNavigationCommands.get(pe))}const he=le.references.length;if(he===0){if(!this.configuration.muteMessage){const pe=j.getWordAtPosition(ie);(de=MessageController.get(t))===null||de===void 0||de.showMessage(this._getNoResultFoundMessage(pe),ie)}}else if(he===1&&ue)SymbolNavigationAction._activeAlternativeCommands.add(this.desc.id),z.invokeFunction(pe=>ue.runEditorCommand(pe,t,i,r).finally(()=>{SymbolNavigationAction._activeAlternativeCommands.delete(this.desc.id)}));else return this._onResult(y,L,t,le,r)},le=>{g.error(le)}).finally(()=>{re.dispose()});return k.showWhile(ae,250),ae}async _onResult(e,t,i,r,g){const y=this._getGoToPreference(i);if(!(i instanceof EmbeddedCodeEditorWidget)&&(this.configuration.openInPeek||y==="peek"&&r.references.length>1))this._openInPeek(i,r,g);else{const k=r.firstReference(),L=r.references.length>1&&y==="gotoAndPeek",V=await this._openReference(i,e,k,this.configuration.openToSide,!L);L&&V?this._openInPeek(V,r,g):r.dispose(),y==="goto"&&t.put(k)}}async _openReference(e,t,i,r,g){let y;if(isLocationLink(i)&&(y=i.targetSelectionRange),y||(y=i.range),!y)return;const k=await t.openCodeEditor({resource:i.uri,options:{selection:Range$2.collapseToStart(y),selectionRevealType:3,selectionSource:"code.jump"}},e,r);if(k){if(g){const L=k.getModel(),V=k.createDecorationsCollection([{range:y,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{k.getModel()===L&&V.clear()},350)}return k}}_openInPeek(e,t,i){const r=ReferencesController.get(e);r&&e.hasModel()?r.toggleWidget(i!=null?i:e.getSelection(),createCancelablePromise(g=>Promise.resolve(t)),this.configuration.openInPeek):t.dispose()}}SymbolNavigationAction._allSymbolNavigationCommands=new Map;SymbolNavigationAction._activeAlternativeCommands=new Set;class DefinitionAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getDefinitionsAtPosition(e.definitionProvider,t,i,r),localize("def.title","Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize("noResultWord","No definition found for '{0}'",e.word):localize("generic.noResults","No definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleDefinitions}}registerAction2((_a$4=class extends DefinitionAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_a$4.id,title:{...localize2("actions.goToDecl.label","Go to Definition"),mnemonicTitle:localize({},"Go to &&Definition")},precondition:EditorContextKeys.hasDefinitionProvider,keybinding:[{when:EditorContextKeys.editorTextFocus,primary:70,weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:2118,weight:100}],menu:[{id:MenuId.EditorContext,group:"navigation",order:1.1},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:2}]}),CommandsRegistry.registerCommandAlias("editor.action.goToDeclaration",_a$4.id)}},_a$4.id="editor.action.revealDefinition",_a$4));registerAction2((_b=class extends DefinitionAction{constructor(){super({openToSide:!0,openInPeek:!1,muteMessage:!1},{id:_b.id,title:localize2("actions.goToDeclToSide.label","Open Definition to the Side"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:[{when:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,70),weight:100},{when:ContextKeyExpr.and(EditorContextKeys.editorTextFocus,IsWebContext),primary:KeyChord(2089,2118),weight:100}]}),CommandsRegistry.registerCommandAlias("editor.action.openDeclarationToTheSide",_b.id)}},_b.id="editor.action.revealDefinitionAside",_b));registerAction2((_c=class extends DefinitionAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:_c.id,title:localize2("actions.previewDecl.label","Peek Definition"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:582,linux:{primary:3140},weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:2}}),CommandsRegistry.registerCommandAlias("editor.action.previewDeclaration",_c.id)}},_c.id="editor.action.peekDefinition",_c));class DeclarationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getDeclarationsAtPosition(e.declarationProvider,t,i,r),localize("decl.title","Declarations"))}_getNoResultFoundMessage(e){return e&&e.word?localize("decl.noResultWord","No declaration found for '{0}'",e.word):localize("decl.generic.noResults","No declaration found")}_getAlternativeCommand(e){return e.getOption(58).alternativeDeclarationCommand}_getGoToPreference(e){return e.getOption(58).multipleDeclarations}}registerAction2((_d=class extends DeclarationAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_d.id,title:{...localize2("actions.goToDeclaration.label","Go to Declaration"),mnemonicTitle:localize({},"Go to &&Declaration")},precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:[{id:MenuId.EditorContext,group:"navigation",order:1.3},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}_getNoResultFoundMessage(e){return e&&e.word?localize("decl.noResultWord","No declaration found for '{0}'",e.word):localize("decl.generic.noResults","No declaration found")}},_d.id="editor.action.revealDeclaration",_d));registerAction2(class extends DeclarationAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.peekDeclaration",title:localize2("actions.peekDecl.label","Peek Declaration"),precondition:ContextKeyExpr.and(EditorContextKeys.hasDeclarationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:3}})}});class TypeDefinitionAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getTypeDefinitionsAtPosition(e.typeDefinitionProvider,t,i,r),localize("typedef.title","Type Definitions"))}_getNoResultFoundMessage(e){return e&&e.word?localize("goToTypeDefinition.noResultWord","No type definition found for '{0}'",e.word):localize("goToTypeDefinition.generic.noResults","No type definition found")}_getAlternativeCommand(e){return e.getOption(58).alternativeTypeDefinitionCommand}_getGoToPreference(e){return e.getOption(58).multipleTypeDefinitions}}registerAction2((_e=class extends TypeDefinitionAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_e.ID,title:{...localize2("actions.goToTypeDefinition.label","Go to Type Definition"),mnemonicTitle:localize({},"Go to &&Type Definition")},precondition:EditorContextKeys.hasTypeDefinitionProvider,keybinding:{when:EditorContextKeys.editorTextFocus,primary:0,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.4},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:3}]})}},_e.ID="editor.action.goToTypeDefinition",_e));registerAction2((_f=class extends TypeDefinitionAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:_f.ID,title:localize2("actions.peekTypeDefinition.label","Peek Type Definition"),precondition:ContextKeyExpr.and(EditorContextKeys.hasTypeDefinitionProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:4}})}},_f.ID="editor.action.peekTypeDefinition",_f));class ImplementationAction extends SymbolNavigationAction{async _getLocationModel(e,t,i,r){return new ReferencesModel(await getImplementationsAtPosition(e.implementationProvider,t,i,r),localize("impl.title","Implementations"))}_getNoResultFoundMessage(e){return e&&e.word?localize("goToImplementation.noResultWord","No implementation found for '{0}'",e.word):localize("goToImplementation.generic.noResults","No implementation found")}_getAlternativeCommand(e){return e.getOption(58).alternativeImplementationCommand}_getGoToPreference(e){return e.getOption(58).multipleImplementations}}registerAction2((_g=class extends ImplementationAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:_g.ID,title:{...localize2("actions.goToImplementation.label","Go to Implementations"),mnemonicTitle:localize({},"Go to &&Implementations")},precondition:EditorContextKeys.hasImplementationProvider,keybinding:{when:EditorContextKeys.editorTextFocus,primary:2118,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:4}]})}},_g.ID="editor.action.goToImplementation",_g));registerAction2((_h=class extends ImplementationAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:_h.ID,title:localize2("actions.peekImplementation.label","Peek Implementations"),precondition:ContextKeyExpr.and(EditorContextKeys.hasImplementationProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:3142,weight:100},menu:{id:MenuId.EditorContextPeek,group:"peek",order:5}})}},_h.ID="editor.action.peekImplementation",_h));class ReferencesAction extends SymbolNavigationAction{_getNoResultFoundMessage(e){return e?localize("references.no","No references found for '{0}'",e.word):localize("references.noGeneric","No references found")}_getAlternativeCommand(e){return e.getOption(58).alternativeReferenceCommand}_getGoToPreference(e){return e.getOption(58).multipleReferences}}registerAction2(class extends ReferencesAction{constructor(){super({openToSide:!1,openInPeek:!1,muteMessage:!1},{id:"editor.action.goToReferences",title:{...localize2("goToReferences.label","Go to References"),mnemonicTitle:localize({},"Go to &&References")},precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),keybinding:{when:EditorContextKeys.editorTextFocus,primary:1094,weight:100},menu:[{id:MenuId.EditorContext,group:"navigation",order:1.45},{id:MenuId.MenubarGoMenu,precondition:null,group:"4_symbol_nav",order:5}]})}async _getLocationModel(e,t,i,r){return new ReferencesModel(await getReferencesAtPosition(e.referenceProvider,t,i,!0,r),localize("ref.title","References"))}});registerAction2(class extends ReferencesAction{constructor(){super({openToSide:!1,openInPeek:!0,muteMessage:!1},{id:"editor.action.referenceSearch.trigger",title:localize2("references.action.label","Peek References"),precondition:ContextKeyExpr.and(EditorContextKeys.hasReferenceProvider,PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated()),menu:{id:MenuId.EditorContextPeek,group:"peek",order:6}})}async _getLocationModel(e,t,i,r){return new ReferencesModel(await getReferencesAtPosition(e.referenceProvider,t,i,!1,r),localize("ref.title","References"))}});class GenericGoToLocationAction extends SymbolNavigationAction{constructor(e,t,i){super(e,{id:"editor.action.goToLocation",title:localize2("label.generic","Go to Any Symbol"),precondition:ContextKeyExpr.and(PeekContext.notInPeekEditor,EditorContextKeys.isInEmbeddedEditor.toNegated())}),this._references=t,this._gotoMultipleBehaviour=i}async _getLocationModel(e,t,i,r){return new ReferencesModel(this._references,localize("generic.title","Locations"))}_getNoResultFoundMessage(e){return e&&localize("generic.noResult","No results for '{0}'",e.word)||""}_getGoToPreference(e){var t;return(t=this._gotoMultipleBehaviour)!==null&&t!==void 0?t:e.getOption(58).multipleReferences}_getAlternativeCommand(){return""}}CommandsRegistry.registerCommand({id:"editor.action.goToLocations",metadata:{description:"Go to locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI},{name:"position",description:"The position at which to start",constraint:Position$1.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"},{name:"noResultsMessage",description:"Human readable message that shows when locations is empty."}]},handler:async(n,e,t,i,r,g,y)=>{assertType(URI.isUri(e)),assertType(Position$1.isIPosition(t)),assertType(Array.isArray(i)),assertType(typeof r>"u"||typeof r=="string"),assertType(typeof y>"u"||typeof y=="boolean");const k=n.get(ICodeEditorService),L=await k.openCodeEditor({resource:e},k.getFocusedCodeEditor());if(isCodeEditor(L))return L.setPosition(t),L.revealPositionInCenterIfOutsideViewport(t,0),L.invokeWithinContext(V=>{const z=new class extends GenericGoToLocationAction{_getNoResultFoundMessage(j){return g||super._getNoResultFoundMessage(j)}}({muteMessage:!g,openInPeek:!!y,openToSide:!1},i,r);V.get(IInstantiationService).invokeFunction(z.run.bind(z),L)})}});CommandsRegistry.registerCommand({id:"editor.action.peekLocations",metadata:{description:"Peek locations from a position in a file",args:[{name:"uri",description:"The text document in which to start",constraint:URI},{name:"position",description:"The position at which to start",constraint:Position$1.isIPosition},{name:"locations",description:"An array of locations.",constraint:Array},{name:"multiple",description:"Define what to do when having multiple results, either `peek`, `gotoAndPeek`, or `goto`"}]},handler:async(n,e,t,i,r)=>{n.get(ICommandService).executeCommand("editor.action.goToLocations",e,t,i,r,void 0,!0)}});CommandsRegistry.registerCommand({id:"editor.action.findReferences",handler:(n,e,t)=>{assertType(URI.isUri(e)),assertType(Position$1.isIPosition(t));const i=n.get(ILanguageFeaturesService),r=n.get(ICodeEditorService);return r.openCodeEditor({resource:e},r.getFocusedCodeEditor()).then(g=>{if(!isCodeEditor(g)||!g.hasModel())return;const y=ReferencesController.get(g);if(!y)return;const k=createCancelablePromise(V=>getReferencesAtPosition(i.referenceProvider,g.getModel(),Position$1.lift(t),!1,V).then(z=>new ReferencesModel(z,localize("ref.title","References")))),L=new Range$2(t.lineNumber,t.column,t.lineNumber,t.column);return Promise.resolve(y.toggleWidget(L,k,!1))})}});CommandsRegistry.registerCommandAlias("editor.action.showReferences","editor.action.peekLocations");var __decorate$1b=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$17=function(n,e){return function(t,i){e(t,i,n)}},GotoDefinitionAtPositionEditorContribution_1;let GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=class{constructor(e,t,i,r){this.textModelResolverService=t,this.languageService=i,this.languageFeaturesService=r,this.toUnhook=new DisposableStore,this.toUnhookForKeyboard=new DisposableStore,this.currentWordAtPosition=null,this.previousPromise=null,this.editor=e,this.linkDecorations=this.editor.createDecorationsCollection();const g=new ClickLinkGesture(e);this.toUnhook.add(g),this.toUnhook.add(g.onMouseMoveOrRelevantKeyDown(([y,k])=>{this.startFindDefinitionFromMouse(y,k!=null?k:void 0)})),this.toUnhook.add(g.onExecute(y=>{this.isEnabled(y)&&this.gotoDefinition(y.target.position,y.hasSideBySideModifier).catch(k=>{onUnexpectedError(k)}).finally(()=>{this.removeLinkDecorations()})})),this.toUnhook.add(g.onCancel(()=>{this.removeLinkDecorations(),this.currentWordAtPosition=null}))}static get(e){return e.getContribution(GotoDefinitionAtPositionEditorContribution_1.ID)}async startFindDefinitionFromCursor(e){await this.startFindDefinition(e),this.toUnhookForKeyboard.add(this.editor.onDidChangeCursorPosition(()=>{this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear()})),this.toUnhookForKeyboard.add(this.editor.onKeyDown(t=>{t&&(this.currentWordAtPosition=null,this.removeLinkDecorations(),this.toUnhookForKeyboard.clear())}))}startFindDefinitionFromMouse(e,t){if(e.target.type===9&&this.linkDecorations.length>0)return;if(!this.editor.hasModel()||!this.isEnabled(e,t)){this.currentWordAtPosition=null,this.removeLinkDecorations();return}const i=e.target.position;this.startFindDefinition(i)}async startFindDefinition(e){var t;this.toUnhookForKeyboard.clear();const i=e?(t=this.editor.getModel())===null||t===void 0?void 0:t.getWordAtPosition(e):null;if(!i){this.currentWordAtPosition=null,this.removeLinkDecorations();return}if(this.currentWordAtPosition&&this.currentWordAtPosition.startColumn===i.startColumn&&this.currentWordAtPosition.endColumn===i.endColumn&&this.currentWordAtPosition.word===i.word)return;this.currentWordAtPosition=i;const r=new EditorState$1(this.editor,15);this.previousPromise&&(this.previousPromise.cancel(),this.previousPromise=null),this.previousPromise=createCancelablePromise(k=>this.findDefinition(e,k));let g;try{g=await this.previousPromise}catch(k){onUnexpectedError(k);return}if(!g||!g.length||!r.validate(this.editor)){this.removeLinkDecorations();return}const y=g[0].originSelectionRange?Range$2.lift(g[0].originSelectionRange):new Range$2(e.lineNumber,i.startColumn,e.lineNumber,i.endColumn);if(g.length>1){let k=y;for(const{originSelectionRange:L}of g)L&&(k=Range$2.plusRange(k,L));this.addDecoration(k,new MarkdownString().appendText(localize("multipleResults","Click to show {0} definitions.",g.length)))}else{const k=g[0];if(!k.uri)return;this.textModelResolverService.createModelReference(k.uri).then(L=>{if(!L.object||!L.object.textEditorModel){L.dispose();return}const{object:{textEditorModel:V}}=L,{startLineNumber:z}=k.range;if(z<1||z>V.getLineCount()){L.dispose();return}const j=this.getPreviewValue(V,z,k),ie=this.languageService.guessLanguageIdByFilepathOrFirstLine(V.uri);this.addDecoration(y,j?new MarkdownString().appendCodeblock(ie||"",j):void 0),L.dispose()})}}getPreviewValue(e,t,i){let r=i.range;return r.endLineNumber-r.startLineNumber>=GotoDefinitionAtPositionEditorContribution_1.MAX_SOURCE_PREVIEW_LINES&&(r=this.getPreviewRangeBasedOnIndentation(e,t)),this.stripIndentationFromPreviewRange(e,t,r)}stripIndentationFromPreviewRange(e,t,i){let g=e.getLineFirstNonWhitespaceColumn(t);for(let k=t+1;k{const r=!t&&this.editor.getOption(88)&&!this.isInPeekEditor(i);return new DefinitionAction({openToSide:t,openInPeek:r,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(i)})}isInPeekEditor(e){const t=e.get(IContextKeyService);return PeekContext.inPeekEditor.getValue(t)}dispose(){this.toUnhook.dispose(),this.toUnhookForKeyboard.dispose()}};GotoDefinitionAtPositionEditorContribution.ID="editor.contrib.gotodefinitionatposition";GotoDefinitionAtPositionEditorContribution.MAX_SOURCE_PREVIEW_LINES=8;GotoDefinitionAtPositionEditorContribution=GotoDefinitionAtPositionEditorContribution_1=__decorate$1b([__param$17(1,ITextModelService),__param$17(2,ILanguageService),__param$17(3,ILanguageFeaturesService)],GotoDefinitionAtPositionEditorContribution);registerEditorContribution(GotoDefinitionAtPositionEditorContribution.ID,GotoDefinitionAtPositionEditorContribution,2);let HoverResult$1=class{constructor(e,t,i){this.value=e,this.isComplete=t,this.hasLoadingMessage=i}};class HoverOperation extends Disposable{constructor(e,t){super(),this._editor=e,this._computer=t,this._onResult=this._register(new Emitter$1),this.onResult=this._onResult.event,this._firstWaitScheduler=this._register(new RunOnceScheduler(()=>this._triggerAsyncComputation(),0)),this._secondWaitScheduler=this._register(new RunOnceScheduler(()=>this._triggerSyncComputation(),0)),this._loadingMessageScheduler=this._register(new RunOnceScheduler(()=>this._triggerLoadingMessage(),0)),this._state=0,this._asyncIterable=null,this._asyncIterableDone=!1,this._result=[]}dispose(){this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),super.dispose()}get _hoverTime(){return this._editor.getOption(60).delay}get _firstWaitTime(){return this._hoverTime/2}get _secondWaitTime(){return this._hoverTime-this._firstWaitTime}get _loadingMessageTime(){return 3*this._hoverTime}_setState(e,t=!0){this._state=e,t&&this._fireResult()}_triggerAsyncComputation(){this._setState(2),this._secondWaitScheduler.schedule(this._secondWaitTime),this._computer.computeAsync?(this._asyncIterableDone=!1,this._asyncIterable=createCancelableAsyncIterable(e=>this._computer.computeAsync(e)),(async()=>{try{for await(const e of this._asyncIterable)e&&(this._result.push(e),this._fireResult());this._asyncIterableDone=!0,(this._state===3||this._state===4)&&this._setState(0)}catch(e){onUnexpectedError(e)}})()):this._asyncIterableDone=!0}_triggerSyncComputation(){this._computer.computeSync&&(this._result=this._result.concat(this._computer.computeSync())),this._setState(this._asyncIterableDone?0:3)}_triggerLoadingMessage(){this._state===3&&this._setState(4)}_fireResult(){if(this._state===1||this._state===2)return;const e=this._state===0,t=this._state===4;this._onResult.fire(new HoverResult$1(this._result.slice(0),e,t))}start(e){if(e===0)this._state===0&&(this._setState(1),this._firstWaitScheduler.schedule(this._firstWaitTime),this._loadingMessageScheduler.schedule(this._loadingMessageTime));else switch(this._state){case 0:this._triggerAsyncComputation(),this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break;case 2:this._secondWaitScheduler.cancel(),this._triggerSyncComputation();break}}cancel(){this._firstWaitScheduler.cancel(),this._secondWaitScheduler.cancel(),this._loadingMessageScheduler.cancel(),this._asyncIterable&&(this._asyncIterable.cancel(),this._asyncIterable=null),this._result=[],this._setState(0,!1)}}class HoverRangeAnchor{constructor(e,t,i,r){this.priority=e,this.range=t,this.initialMousePosX=i,this.initialMousePosY=r,this.type=1}equals(e){return e.type===1&&this.range.equalsRange(e.range)}canAdoptVisibleHover(e,t){return e.type===1&&t.lineNumber===this.range.startLineNumber}}class HoverForeignElementAnchor{constructor(e,t,i,r,g,y){this.priority=e,this.owner=t,this.range=i,this.initialMousePosX=r,this.initialMousePosY=g,this.supportsMarkerHover=y,this.type=2}equals(e){return e.type===2&&this.owner===e.owner}canAdoptVisibleHover(e,t){return e.type===2&&this.owner===e.owner}}const HoverParticipantRegistry=new class{constructor(){this._participants=[]}register(e){this._participants.push(e)}getAll(){return this._participants}};class ResizableHTMLElement{constructor(){this._onDidWillResize=new Emitter$1,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new Emitter$1,this.onDidResize=this._onDidResize.event,this._sashListener=new DisposableStore,this._size=new Dimension(0,0),this._minSize=new Dimension(0,0),this._maxSize=new Dimension(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new Sash(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new Sash(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new Sash(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:OrthogonalEdge.North}),this._southSash=new Sash(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:OrthogonalEdge.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let e,t=0,i=0;this._sashListener.add(Event$1.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{e===void 0&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(Event$1.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{e!==void 0&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(r=>{e&&(i=r.currentX-r.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(r=>{e&&(i=-(r.currentX-r.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(r=>{e&&(t=-(r.currentY-r.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(r=>{e&&(t=r.currentY-r.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(Event$1.any(this._eastSash.onDidReset,this._westSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(Event$1.any(this._northSash.onDidReset,this._southSash.onDidReset)(r=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this._onDidResize.dispose(),this._onDidWillResize.dispose(),this.domNode.remove()}enableSashes(e,t,i,r){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=r?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:r}=this._minSize,{height:g,width:y}=this._maxSize;e=Math.max(i,Math.min(g,e)),t=Math.max(r,Math.min(y,t));const k=new Dimension(t,e);Dimension.equals(k,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=k,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}clearSashHoverState(){this._eastSash.clearSashHoverState(),this._westSash.clearSashHoverState(),this._northSash.clearSashHoverState(),this._southSash.clearSashHoverState()}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}const TOP_HEIGHT=30,BOTTOM_HEIGHT=24;class ResizableContentWidget extends Disposable{constructor(e,t=new Dimension(10,10)){super(),this._editor=e,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._resizableNode=this._register(new ResizableHTMLElement),this._contentPosition=null,this._isResizing=!1,this._resizableNode.domNode.style.position="absolute",this._resizableNode.minSize=Dimension.lift(t),this._resizableNode.layout(t.height,t.width),this._resizableNode.enableSashes(!0,!0,!0,!0),this._register(this._resizableNode.onDidResize(i=>{this._resize(new Dimension(i.dimension.width,i.dimension.height)),i.done&&(this._isResizing=!1)})),this._register(this._resizableNode.onDidWillResize(()=>{this._isResizing=!0}))}get isResizing(){return this._isResizing}getDomNode(){return this._resizableNode.domNode}getPosition(){return this._contentPosition}get position(){var e;return!((e=this._contentPosition)===null||e===void 0)&&e.position?Position$1.lift(this._contentPosition.position):void 0}_availableVerticalSpaceAbove(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);return!t||!i?void 0:getDomNodePagePosition(t).top+i.top-TOP_HEIGHT}_availableVerticalSpaceBelow(e){const t=this._editor.getDomNode(),i=this._editor.getScrolledVisiblePosition(e);if(!t||!i)return;const r=getDomNodePagePosition(t),g=getClientArea(t.ownerDocument.body),y=r.top+i.top+i.height;return g.height-y-BOTTOM_HEIGHT}_findPositionPreference(e,t){var i,r;const g=Math.min((i=this._availableVerticalSpaceBelow(t))!==null&&i!==void 0?i:1/0,e),y=Math.min((r=this._availableVerticalSpaceAbove(t))!==null&&r!==void 0?r:1/0,e),k=Math.min(Math.max(y,g),e),L=Math.min(e,k);let V;return this._editor.getOption(60).above?V=L<=y?1:2:V=L<=g?2:1,V===1?this._resizableNode.enableSashes(!0,!0,!1,!1):this._resizableNode.enableSashes(!1,!0,!0,!1),V}_resize(e){this._resizableNode.layout(e.height,e.width)}}var __decorate$1a=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$16=function(n,e){return function(t,i){e(t,i,n)}},ContentHoverController_1,ContentHoverWidget_1;const $$5=$$f;let ContentHoverController=ContentHoverController_1=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._instantiationService=t,this._keybindingService=i,this._currentResult=null,this._widget=this._register(this._instantiationService.createInstance(ContentHoverWidget,this._editor)),this._participants=[];for(const r of HoverParticipantRegistry.getAll())this._participants.push(this._instantiationService.createInstance(r,this._editor));this._participants.sort((r,g)=>r.hoverOrdinal-g.hoverOrdinal),this._computer=new ContentHoverComputer(this._editor,this._participants),this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{if(!this._computer.anchor)return;const g=r.hasLoadingMessage?this._addLoadingMessage(r.value):r.value;this._withResult(new HoverResult(this._computer.anchor,g,r.isComplete))})),this._register(addStandardDisposableListener(this._widget.getDomNode(),"keydown",r=>{r.equals(9)&&this.hide()})),this._register(TokenizationRegistry.onDidChange(()=>{this._widget.position&&this._currentResult&&this._setCurrentResult(this._currentResult)}))}_startShowingOrUpdateHover(e,t,i,r,g){return!this._widget.position||!this._currentResult?e?(this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):!1:this._editor.getOption(60).sticky&&g&&this._widget.isMouseGettingCloser(g.event.posx,g.event.posy)?(e&&this._startHoverOperationIfNecessary(e,t,i,r,!0),!0):e?e&&this._currentResult.anchor.equals(e)?!0:e.canAdoptVisibleHover(this._currentResult.anchor,this._widget.position)?(this._setCurrentResult(this._currentResult.filter(e)),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),this._startHoverOperationIfNecessary(e,t,i,r,!1),!0):(this._setCurrentResult(null),!1)}_startHoverOperationIfNecessary(e,t,i,r,g){this._computer.anchor&&this._computer.anchor.equals(e)||(this._hoverOperation.cancel(),this._computer.anchor=e,this._computer.shouldFocus=r,this._computer.source=i,this._computer.insistOnKeepingHoverVisible=g,this._hoverOperation.start(t))}_setCurrentResult(e){this._currentResult!==e&&(e&&e.messages.length===0&&(e=null),this._currentResult=e,this._currentResult?this._renderMessages(this._currentResult.anchor,this._currentResult.messages):this._widget.hide())}_addLoadingMessage(e){if(this._computer.anchor){for(const t of this._participants)if(t.createLoadingMessage){const i=t.createLoadingMessage(this._computer.anchor);if(i)return e.slice(0).concat([i])}}return e}_withResult(e){this._widget.position&&this._currentResult&&this._currentResult.isComplete&&(!e.isComplete||this._computer.insistOnKeepingHoverVisible&&e.messages.length===0)||this._setCurrentResult(e)}_renderMessages(e,t){const{showAtPosition:i,showAtSecondaryPosition:r,highlightRange:g}=ContentHoverController_1.computeHoverRanges(this._editor,e.range,t),y=new DisposableStore,k=y.add(new EditorHoverStatusBar(this._keybindingService)),L=document.createDocumentFragment();let V=null;const z={fragment:L,statusBar:k,setColorPicker:ie=>V=ie,onContentsChanged:()=>this._widget.onContentsChanged(),setMinimumDimensions:ie=>this._widget.setMinimumDimensions(ie),hide:()=>this.hide()};for(const ie of this._participants){const oe=t.filter(re=>re.owner===ie);oe.length>0&&y.add(ie.renderHoverParts(z,oe))}const j=t.some(ie=>ie.isBeforeContent);if(k.hasContent&&L.appendChild(k.hoverElement),L.hasChildNodes()){if(g){const ie=this._editor.createDecorationsCollection();ie.set([{range:g,options:ContentHoverController_1._DECORATION_OPTIONS}]),y.add(toDisposable(()=>{ie.clear()}))}this._widget.showAt(L,new ContentHoverVisibleData(e.initialMousePosX,e.initialMousePosY,V,i,r,this._editor.getOption(60).above,this._computer.shouldFocus,this._computer.source,j,y))}else y.dispose()}static computeHoverRanges(e,t,i){let r=1;if(e.hasModel()){const j=e._getViewModel(),ie=j.coordinatesConverter,oe=ie.convertModelRangeToViewRange(t),re=new Position$1(oe.startLineNumber,j.getLineMinColumn(oe.startLineNumber));r=ie.convertViewPositionToModelPosition(re).column}const g=t.startLineNumber;let y=t.startColumn,k=i[0].range,L=null;for(const j of i)k=Range$2.plusRange(k,j.range),j.range.startLineNumber===g&&j.range.endLineNumber===g&&(y=Math.max(Math.min(y,j.range.startColumn),r)),j.forceShowAtRange&&(L=j.range);const V=L?L.getStartPosition():new Position$1(g,t.startColumn),z=L?L.getStartPosition():new Position$1(g,y);return{showAtPosition:V,showAtSecondaryPosition:z,highlightRange:k}}showsOrWillShow(e){if(this._widget.isResizing)return!0;const t=[];for(const r of this._participants)if(r.suggestHoverAnchor){const g=r.suggestHoverAnchor(e);g&&t.push(g)}const i=e.target;if(i.type===6&&t.push(new HoverRangeAnchor(0,i.range,e.event.posx,e.event.posy)),i.type===7){const r=this._editor.getOption(50).typicalHalfwidthCharacterWidth/2;!i.detail.isAfterLines&&typeof i.detail.horizontalDistanceToText=="number"&&i.detail.horizontalDistanceToTextg.priority-r.priority),this._startShowingOrUpdateHover(t[0],0,0,!1,e))}startShowingAtRange(e,t,i,r){this._startShowingOrUpdateHover(new HoverRangeAnchor(0,e,void 0,void 0),t,i,r,null)}containsNode(e){return e?this._widget.getDomNode().contains(e):!1}focus(){this._widget.focus()}scrollUp(){this._widget.scrollUp()}scrollDown(){this._widget.scrollDown()}scrollLeft(){this._widget.scrollLeft()}scrollRight(){this._widget.scrollRight()}pageUp(){this._widget.pageUp()}pageDown(){this._widget.pageDown()}goToTop(){this._widget.goToTop()}goToBottom(){this._widget.goToBottom()}hide(){this._computer.anchor=null,this._hoverOperation.cancel(),this._setCurrentResult(null)}get isColorPickerVisible(){return this._widget.isColorPickerVisible}get isVisibleFromKeyboard(){return this._widget.isVisibleFromKeyboard}get isVisible(){return this._widget.isVisible}get isFocused(){return this._widget.isFocused}get isResizing(){return this._widget.isResizing}get widget(){return this._widget}};ContentHoverController._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"content-hover-highlight",className:"hoverHighlight"});ContentHoverController=ContentHoverController_1=__decorate$1a([__param$16(1,IInstantiationService),__param$16(2,IKeybindingService)],ContentHoverController);class HoverResult{constructor(e,t,i){this.anchor=e,this.messages=t,this.isComplete=i}filter(e){const t=this.messages.filter(i=>i.isValidForHoverAnchor(e));return t.length===this.messages.length?this:new FilteredHoverResult(this,this.anchor,t,this.isComplete)}}class FilteredHoverResult extends HoverResult{constructor(e,t,i,r){super(t,i,r),this.original=e}filter(e){return this.original.filter(e)}}class ContentHoverVisibleData{constructor(e,t,i,r,g,y,k,L,V,z){this.initialMousePosX=e,this.initialMousePosY=t,this.colorPicker=i,this.showAtPosition=r,this.showAtSecondaryPosition=g,this.preferAbove=y,this.stoleFocus=k,this.source=L,this.isBeforeContent=V,this.disposables=z,this.closestMouseDistance=void 0}}const HORIZONTAL_SCROLLING_BY=30,SCROLLBAR_WIDTH=10,CONTAINER_HEIGHT_PADDING=6;let ContentHoverWidget=ContentHoverWidget_1=class extends ResizableContentWidget{get isColorPickerVisible(){var e;return!!(!((e=this._visibleData)===null||e===void 0)&&e.colorPicker)}get isVisibleFromKeyboard(){var e;return((e=this._visibleData)===null||e===void 0?void 0:e.source)===1}get isVisible(){var e;return(e=this._hoverVisibleKey.get())!==null&&e!==void 0?e:!1}get isFocused(){var e;return(e=this._hoverFocusedKey.get())!==null&&e!==void 0?e:!1}constructor(e,t,i,r,g){const y=e.getOption(67)+8,k=150,L=new Dimension(k,y);super(e,L),this._configurationService=i,this._accessibilityService=r,this._keybindingService=g,this._hover=this._register(new HoverWidget$1),this._minimumSize=L,this._hoverVisibleKey=EditorContextKeys.hoverVisible.bindTo(t),this._hoverFocusedKey=EditorContextKeys.hoverFocused.bindTo(t),append$1(this._resizableNode.domNode,this._hover.containerDomNode),this._resizableNode.domNode.style.zIndex="50",this._register(this._editor.onDidLayoutChange(()=>{this.isVisible&&this._updateMaxDimensions()})),this._register(this._editor.onDidChangeConfiguration(z=>{z.hasChanged(50)&&this._updateFont()}));const V=this._register(trackFocus(this._resizableNode.domNode));this._register(V.onDidFocus(()=>{this._hoverFocusedKey.set(!0)})),this._register(V.onDidBlur(()=>{this._hoverFocusedKey.set(!1)})),this._setHoverData(void 0),this._editor.addContentWidget(this)}dispose(){var e;super.dispose(),(e=this._visibleData)===null||e===void 0||e.disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return ContentHoverWidget_1.ID}static _applyDimensions(e,t,i){const r=typeof t=="number"?"".concat(t,"px"):t,g=typeof i=="number"?"".concat(i,"px"):i;e.style.width=r,e.style.height=g}_setContentsDomNodeDimensions(e,t){const i=this._hover.contentsDomNode;return ContentHoverWidget_1._applyDimensions(i,e,t)}_setContainerDomNodeDimensions(e,t){const i=this._hover.containerDomNode;return ContentHoverWidget_1._applyDimensions(i,e,t)}_setHoverWidgetDimensions(e,t){this._setContentsDomNodeDimensions(e,t),this._setContainerDomNodeDimensions(e,t),this._layoutContentWidget()}static _applyMaxDimensions(e,t,i){const r=typeof t=="number"?"".concat(t,"px"):t,g=typeof i=="number"?"".concat(i,"px"):i;e.style.maxWidth=r,e.style.maxHeight=g}_setHoverWidgetMaxDimensions(e,t){ContentHoverWidget_1._applyMaxDimensions(this._hover.contentsDomNode,e,t),ContentHoverWidget_1._applyMaxDimensions(this._hover.containerDomNode,e,t),this._hover.containerDomNode.style.setProperty("--vscode-hover-maxWidth",typeof e=="number"?"".concat(e,"px"):e),this._layoutContentWidget()}_hasHorizontalScrollbar(){const e=this._hover.scrollbar.getScrollDimensions();return e.scrollWidth>e.width}_adjustContentsBottomPadding(){const e=this._hover.contentsDomNode,t="".concat(this._hover.scrollbar.options.horizontalScrollbarSize,"px");e.style.paddingBottom!==t&&(e.style.paddingBottom=t)}_setAdjustedHoverWidgetDimensions(e){this._setHoverWidgetMaxDimensions("none","none");const t=e.width,i=e.height;this._setHoverWidgetDimensions(t,i),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._setContentsDomNodeDimensions(t,i-SCROLLBAR_WIDTH))}_updateResizableNodeMaxDimensions(){var e,t;const i=(e=this._findMaximumRenderingWidth())!==null&&e!==void 0?e:1/0,r=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._resizableNode.maxSize=new Dimension(i,r),this._setHoverWidgetMaxDimensions(i,r)}_resize(e){var t,i;ContentHoverWidget_1._lastDimensions=new Dimension(e.width,e.height),this._setAdjustedHoverWidgetDimensions(e),this._resizableNode.layout(e.height,e.width),this._updateResizableNodeMaxDimensions(),this._hover.scrollbar.scanDomNode(),this._editor.layoutContentWidget(this),(i=(t=this._visibleData)===null||t===void 0?void 0:t.colorPicker)===null||i===void 0||i.layout()}_findAvailableSpaceVertically(){var e;const t=(e=this._visibleData)===null||e===void 0?void 0:e.showAtPosition;if(t)return this._positionPreference===1?this._availableVerticalSpaceAbove(t):this._availableVerticalSpaceBelow(t)}_findMaximumRenderingHeight(){const e=this._findAvailableSpaceVertically();if(!e)return;let t=CONTAINER_HEIGHT_PADDING;return Array.from(this._hover.contentsDomNode.children).forEach(i=>{t+=i.clientHeight}),this._hasHorizontalScrollbar()&&(t+=SCROLLBAR_WIDTH),Math.min(e,t)}_isHoverTextOverflowing(){this._hover.containerDomNode.style.setProperty("--vscode-hover-whiteSpace","nowrap"),this._hover.containerDomNode.style.setProperty("--vscode-hover-sourceWhiteSpace","nowrap");const e=Array.from(this._hover.contentsDomNode.children).some(t=>t.scrollWidth>t.clientWidth);return this._hover.containerDomNode.style.removeProperty("--vscode-hover-whiteSpace"),this._hover.containerDomNode.style.removeProperty("--vscode-hover-sourceWhiteSpace"),e}_findMaximumRenderingWidth(){if(!this._editor||!this._editor.hasModel())return;const e=this._isHoverTextOverflowing(),t=typeof this._contentWidth>"u"?0:this._contentWidth-2;return e||this._hover.containerDomNode.clientWidth"u"||typeof this._visibleData.initialMousePosY>"u")return this._visibleData.initialMousePosX=e,this._visibleData.initialMousePosY=t,!1;const i=getDomNodePagePosition(this.getDomNode());typeof this._visibleData.closestMouseDistance>"u"&&(this._visibleData.closestMouseDistance=computeDistanceFromPointToRectangle(this._visibleData.initialMousePosX,this._visibleData.initialMousePosY,i.left,i.top,i.width,i.height));const r=computeDistanceFromPointToRectangle(e,t,i.left,i.top,i.width,i.height);return r>this._visibleData.closestMouseDistance+4?!1:(this._visibleData.closestMouseDistance=Math.min(this._visibleData.closestMouseDistance,r),!0)}_setHoverData(e){var t;(t=this._visibleData)===null||t===void 0||t.disposables.dispose(),this._visibleData=e,this._hoverVisibleKey.set(!!e),this._hover.containerDomNode.classList.toggle("hidden",!e)}_updateFont(){const{fontSize:e,lineHeight:t}=this._editor.getOption(50),i=this._hover.contentsDomNode;i.style.fontSize="".concat(e,"px"),i.style.lineHeight="".concat(t/e),Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(g=>this._editor.applyFontInfo(g))}_updateContent(e){const t=this._hover.contentsDomNode;t.style.paddingBottom="",t.textContent="",t.appendChild(e)}_layoutContentWidget(){this._editor.layoutContentWidget(this),this._hover.onContentsChanged()}_updateMaxDimensions(){const e=Math.max(this._editor.getLayoutInfo().height/4,250,ContentHoverWidget_1._lastDimensions.height),t=Math.max(this._editor.getLayoutInfo().width*.66,500,ContentHoverWidget_1._lastDimensions.width);this._setHoverWidgetMaxDimensions(t,e)}_render(e,t){this._setHoverData(t),this._updateFont(),this._updateContent(e),this._updateMaxDimensions(),this.onContentsChanged(),this._editor.render()}getPosition(){var e;return this._visibleData?{position:this._visibleData.showAtPosition,secondaryPosition:this._visibleData.showAtSecondaryPosition,positionAffinity:this._visibleData.isBeforeContent?3:void 0,preference:[(e=this._positionPreference)!==null&&e!==void 0?e:1]}:null}showAt(e,t){var i,r,g,y;if(!this._editor||!this._editor.hasModel())return;this._render(e,t);const k=getTotalHeight(this._hover.containerDomNode),L=t.showAtPosition;this._positionPreference=(i=this._findPositionPreference(k,L))!==null&&i!==void 0?i:1,this.onContentsChanged(),t.stoleFocus&&this._hover.containerDomNode.focus(),(r=t.colorPicker)===null||r===void 0||r.layout();const z=this._hover.containerDomNode.ownerDocument.activeElement===this._hover.containerDomNode&&getHoverAccessibleViewHint(this._configurationService.getValue("accessibility.verbosity.hover")===!0&&this._accessibilityService.isScreenReaderOptimized(),(y=(g=this._keybindingService.lookupKeybinding("editor.action.accessibleView"))===null||g===void 0?void 0:g.getAriaLabel())!==null&&y!==void 0?y:"");z&&(this._hover.contentsDomNode.ariaLabel=this._hover.contentsDomNode.textContent+", "+z)}hide(){if(!this._visibleData)return;const e=this._visibleData.stoleFocus||this._hoverFocusedKey.get();this._setHoverData(void 0),this._resizableNode.maxSize=new Dimension(1/0,1/0),this._resizableNode.clearSashHoverState(),this._hoverFocusedKey.set(!1),this._editor.layoutContentWidget(this),e&&this._editor.focus()}_removeConstraintsRenderNormally(){const e=this._editor.getLayoutInfo();this._resizableNode.layout(e.height,e.width),this._setHoverWidgetDimensions("auto","auto")}_adjustHoverHeightForScrollbar(e){var t;const i=this._hover.containerDomNode,r=this._hover.contentsDomNode,g=(t=this._findMaximumRenderingHeight())!==null&&t!==void 0?t:1/0;this._setContainerDomNodeDimensions(getTotalWidth(i),Math.min(g,e)),this._setContentsDomNodeDimensions(getTotalWidth(r),Math.min(g,e-SCROLLBAR_WIDTH))}setMinimumDimensions(e){this._minimumSize=new Dimension(Math.max(this._minimumSize.width,e.width),Math.max(this._minimumSize.height,e.height)),this._updateMinimumWidth()}_updateMinimumWidth(){const e=typeof this._contentWidth>"u"?this._minimumSize.width:Math.min(this._contentWidth,this._minimumSize.width);this._resizableNode.minSize=new Dimension(e,this._minimumSize.height)}onContentsChanged(){var e;this._removeConstraintsRenderNormally();const t=this._hover.containerDomNode;let i=getTotalHeight(t),r=getTotalWidth(t);if(this._resizableNode.layout(i,r),this._setHoverWidgetDimensions(r,i),i=getTotalHeight(t),r=getTotalWidth(t),this._contentWidth=r,this._updateMinimumWidth(),this._resizableNode.layout(i,r),this._hasHorizontalScrollbar()&&(this._adjustContentsBottomPadding(),this._adjustHoverHeightForScrollbar(i)),!((e=this._visibleData)===null||e===void 0)&&e.showAtPosition){const g=getTotalHeight(this._hover.containerDomNode);this._positionPreference=this._findPositionPreference(g,this._visibleData.showAtPosition)}this._layoutContentWidget()}focus(){this._hover.containerDomNode.focus()}scrollUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e-t.lineHeight})}scrollDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._editor.getOption(50);this._hover.scrollbar.setScrollPosition({scrollTop:e+t.lineHeight})}scrollLeft(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e-HORIZONTAL_SCROLLING_BY})}scrollRight(){const e=this._hover.scrollbar.getScrollPosition().scrollLeft;this._hover.scrollbar.setScrollPosition({scrollLeft:e+HORIZONTAL_SCROLLING_BY})}pageUp(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e-t})}pageDown(){const e=this._hover.scrollbar.getScrollPosition().scrollTop,t=this._hover.scrollbar.getScrollDimensions().height;this._hover.scrollbar.setScrollPosition({scrollTop:e+t})}goToTop(){this._hover.scrollbar.setScrollPosition({scrollTop:0})}goToBottom(){this._hover.scrollbar.setScrollPosition({scrollTop:this._hover.scrollbar.getScrollDimensions().scrollHeight})}};ContentHoverWidget.ID="editor.contrib.resizableContentHoverWidget";ContentHoverWidget._lastDimensions=new Dimension(0,0);ContentHoverWidget=ContentHoverWidget_1=__decorate$1a([__param$16(1,IContextKeyService),__param$16(2,IConfigurationService),__param$16(3,IAccessibilityService),__param$16(4,IKeybindingService)],ContentHoverWidget);let EditorHoverStatusBar=class extends Disposable{get hasContent(){return this._hasContent}constructor(e){super(),this._keybindingService=e,this._hasContent=!1,this.hoverElement=$$5("div.hover-row.status-bar"),this.actionsElement=append$1(this.hoverElement,$$5("div.actions"))}addAction(e){const t=this._keybindingService.lookupKeybinding(e.commandId),i=t?t.getLabel():null;return this._hasContent=!0,this._register(HoverAction.render(this.actionsElement,e,i))}append(e){const t=append$1(this.actionsElement,e);return this._hasContent=!0,t}};EditorHoverStatusBar=__decorate$1a([__param$16(0,IKeybindingService)],EditorHoverStatusBar);class ContentHoverComputer{get anchor(){return this._anchor}set anchor(e){this._anchor=e}get shouldFocus(){return this._shouldFocus}set shouldFocus(e){this._shouldFocus=e}get source(){return this._source}set source(e){this._source=e}get insistOnKeepingHoverVisible(){return this._insistOnKeepingHoverVisible}set insistOnKeepingHoverVisible(e){this._insistOnKeepingHoverVisible=e}constructor(e,t){this._editor=e,this._participants=t,this._anchor=null,this._shouldFocus=!1,this._source=0,this._insistOnKeepingHoverVisible=!1}static _getLineDecorations(e,t){if(t.type!==1&&!t.supportsMarkerHover)return[];const i=e.getModel(),r=t.range.startLineNumber;if(r>i.getLineCount())return[];const g=i.getLineMaxColumn(r);return e.getLineDecorations(r).filter(y=>{if(y.options.isWholeLine)return!0;const k=y.range.startLineNumber===r?y.range.startColumn:1,L=y.range.endLineNumber===r?y.range.endColumn:g;if(y.options.showIfCollapsed){if(k>t.range.startColumn+1||t.range.endColumn-1>L)return!1}else if(k>t.range.startColumn||t.range.endColumn>L)return!1;return!0})}computeAsync(e){const t=this._anchor;if(!this._editor.hasModel()||!t)return AsyncIterableObject.EMPTY;const i=ContentHoverComputer._getLineDecorations(this._editor,t);return AsyncIterableObject.merge(this._participants.map(r=>r.computeAsync?r.computeAsync(t,i,e):AsyncIterableObject.EMPTY))}computeSync(){if(!this._editor.hasModel()||!this._anchor)return[];const e=ContentHoverComputer._getLineDecorations(this._editor,this._anchor);let t=[];for(const i of this._participants)t=t.concat(i.computeSync(this._anchor,e));return coalesce(t)}}function computeDistanceFromPointToRectangle(n,e,t,i,r,g){const y=t+r/2,k=i+g/2,L=Math.max(Math.abs(n-y)-r/2,0),V=Math.max(Math.abs(e-k)-g/2,0);return Math.sqrt(L*L+V*V)}const $$4=$$f;class MarginHoverWidget extends Disposable{constructor(e,t,i){super(),this._renderDisposeables=this._register(new DisposableStore),this._editor=e,this._isVisible=!1,this._messages=[],this._hover=this._register(new HoverWidget$1),this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible),this._markdownRenderer=this._register(new MarkdownRenderer({editor:this._editor},t,i)),this._computer=new MarginHoverComputer(this._editor),this._hoverOperation=this._register(new HoverOperation(this._editor,this._computer)),this._register(this._hoverOperation.onResult(r=>{this._withResult(r.value)})),this._register(this._editor.onDidChangeModelDecorations(()=>this._onModelDecorationsChanged())),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(50)&&this._updateFont()})),this._editor.addOverlayWidget(this)}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return MarginHoverWidget.ID}getDomNode(){return this._hover.containerDomNode}getPosition(){return null}_updateFont(){Array.prototype.slice.call(this._hover.contentsDomNode.getElementsByClassName("code")).forEach(t=>this._editor.applyFontInfo(t))}_onModelDecorationsChanged(){this._isVisible&&(this._hoverOperation.cancel(),this._hoverOperation.start(0))}startShowingAt(e,t){this._computer.lineNumber===e&&this._computer.lane===t||(this._hoverOperation.cancel(),this.hide(),this._computer.lineNumber=e,this._computer.lane=t,this._hoverOperation.start(0))}hide(){this._computer.lineNumber=-1,this._hoverOperation.cancel(),this._isVisible&&(this._isVisible=!1,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible))}_withResult(e){this._messages=e,this._messages.length>0?this._renderMessages(this._computer.lineNumber,this._messages):this.hide()}_renderMessages(e,t){this._renderDisposeables.clear();const i=document.createDocumentFragment();for(const r of t){const g=$$4("div.hover-row.markdown-hover"),y=append$1(g,$$4("div.hover-contents")),k=this._renderDisposeables.add(this._markdownRenderer.render(r.value));y.appendChild(k.element),i.appendChild(g)}this._updateContents(i),this._showAt(e)}_updateContents(e){this._hover.contentsDomNode.textContent="",this._hover.contentsDomNode.appendChild(e),this._updateFont()}_showAt(e){this._isVisible||(this._isVisible=!0,this._hover.containerDomNode.classList.toggle("hidden",!this._isVisible));const t=this._editor.getLayoutInfo(),i=this._editor.getTopForLineNumber(e),r=this._editor.getScrollTop(),g=this._editor.getOption(67),y=this._hover.containerDomNode.clientHeight,k=i-r-(y-g)/2,L=t.glyphMarginLeft+t.glyphMarginWidth+(this._computer.lane==="lineNo"?t.lineNumbersWidth:0);this._hover.containerDomNode.style.left="".concat(L,"px"),this._hover.containerDomNode.style.top="".concat(Math.max(Math.round(k),0),"px")}}MarginHoverWidget.ID="editor.contrib.modesGlyphHoverWidget";class MarginHoverComputer{get lineNumber(){return this._lineNumber}set lineNumber(e){this._lineNumber=e}get lane(){return this._laneOrLine}set lane(e){this._laneOrLine=e}constructor(e){this._editor=e,this._lineNumber=-1,this._laneOrLine=GlyphMarginLane.Center}computeSync(){var e,t;const i=k=>({value:k}),r=this._editor.getLineDecorations(this._lineNumber),g=[],y=this._laneOrLine==="lineNo";if(!r)return g;for(const k of r){const L=(t=(e=k.options.glyphMargin)===null||e===void 0?void 0:e.position)!==null&&t!==void 0?t:GlyphMarginLane.Center;if(!y&&L!==this._laneOrLine)continue;const V=y?k.options.lineNumberHoverMessage:k.options.glyphMarginHoverMessage;!V||isEmptyMarkdownString(V)||g.push(...asArray(V).map(i))}return g}}class HoverProviderResult{constructor(e,t,i){this.provider=e,this.hover=t,this.ordinal=i}}async function executeProvider(n,e,t,i,r){try{const g=await Promise.resolve(n.provideHover(t,i,r));if(g&&isValid(g))return new HoverProviderResult(n,g,e)}catch(g){onUnexpectedExternalError(g)}}function getHover(n,e,t,i){const g=n.ordered(e).map((y,k)=>executeProvider(y,k,e,t,i));return AsyncIterableObject.fromPromises(g).coalesce()}function getHoverPromise(n,e,t,i){return getHover(n,e,t,i).map(r=>r.hover).toPromise()}registerModelAndPositionCommand("_executeHoverProvider",(n,e,t)=>{const i=n.get(ILanguageFeaturesService);return getHoverPromise(i.hoverProvider,e,t,CancellationToken.None)});function isValid(n){const e=typeof n.range<"u",t=typeof n.contents<"u"&&n.contents&&n.contents.length>0;return e&&t}var __decorate$19=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$15=function(n,e){return function(t,i){e(t,i,n)}};const $$3=$$f;class MarkdownHover{constructor(e,t,i,r,g){this.owner=e,this.range=t,this.contents=i,this.isBeforeContent=r,this.ordinal=g}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let MarkdownHoverParticipant=class{constructor(e,t,i,r,g){this._editor=e,this._languageService=t,this._openerService=i,this._configurationService=r,this._languageFeaturesService=g,this.hoverOrdinal=3}createLoadingMessage(e){return new MarkdownHover(this,e.range,[new MarkdownString().appendText(localize("modesContentHover.loading","Loading..."))],!1,2e3)}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,g=i.getLineMaxColumn(r),y=[];let k=1e3;const L=i.getLineLength(r),V=i.getLanguageIdAtPosition(e.range.startLineNumber,e.range.startColumn),z=this._editor.getOption(117),j=this._configurationService.getValue("editor.maxTokenizationLineLength",{overrideIdentifier:V});let ie=!1;z>=0&&L>z&&e.range.startColumn>=z&&(ie=!0,y.push(new MarkdownHover(this,e.range,[{value:localize("stopped rendering","Rendering paused for long line for performance reasons. This can be configured via `editor.stopRenderingLineAfter`.")}],!1,k++))),!ie&&typeof j=="number"&&L>=j&&y.push(new MarkdownHover(this,e.range,[{value:localize("too many characters","Tokenization is skipped for long lines for performance reasons. This can be configured via `editor.maxTokenizationLineLength`.")}],!1,k++));let oe=!1;for(const re of t){const ae=re.range.startLineNumber===r?re.range.startColumn:1,le=re.range.endLineNumber===r?re.range.endColumn:g,de=re.options.hoverMessage;if(!de||isEmptyMarkdownString(de))continue;re.options.beforeContentClassName&&(oe=!0);const ue=new Range$2(e.range.startLineNumber,ae,e.range.startLineNumber,le);y.push(new MarkdownHover(this,ue,asArray(de),oe,k++))}return y}computeAsync(e,t,i){if(!this._editor.hasModel()||e.type!==1)return AsyncIterableObject.EMPTY;const r=this._editor.getModel();if(!this._languageFeaturesService.hoverProvider.has(r))return AsyncIterableObject.EMPTY;const g=new Position$1(e.range.startLineNumber,e.range.startColumn);return getHover(this._languageFeaturesService.hoverProvider,r,g,i).filter(y=>!isEmptyMarkdownString(y.hover.contents)).map(y=>{const k=y.hover.range?Range$2.lift(y.hover.range):e.range;return new MarkdownHover(this,k,y.hover.contents,!1,y.ordinal)})}renderHoverParts(e,t){return renderMarkdownHovers(e,t,this._editor,this._languageService,this._openerService)}};MarkdownHoverParticipant=__decorate$19([__param$15(1,ILanguageService),__param$15(2,IOpenerService),__param$15(3,IConfigurationService),__param$15(4,ILanguageFeaturesService)],MarkdownHoverParticipant);function renderMarkdownHovers(n,e,t,i,r){e.sort((y,k)=>y.ordinal-k.ordinal);const g=new DisposableStore;for(const y of e)for(const k of y.contents){if(isEmptyMarkdownString(k))continue;const L=$$3("div.hover-row.markdown-hover"),V=append$1(L,$$3("div.hover-contents")),z=g.add(new MarkdownRenderer({editor:t},i,r));g.add(z.onDidRenderAsync(()=>{V.className="hover-contents code-hover-contents",n.onContentsChanged()}));const j=g.add(z.render(k));V.appendChild(j.element),n.fragment.appendChild(L)}return g}var __decorate$18=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$14=function(n,e){return function(t,i){e(t,i,n)}};class MarkerCoordinate{constructor(e,t,i){this.marker=e,this.index=t,this.total=i}}let MarkerList=class{constructor(e,t,i){this._markerService=t,this._configService=i,this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._dispoables=new DisposableStore,this._markers=[],this._nextIdx=-1,URI.isUri(e)?this._resourceFilter=k=>k.toString()===e.toString():e&&(this._resourceFilter=e);const r=this._configService.getValue("problems.sortOrder"),g=(k,L)=>{let V=compare(k.resource.toString(),L.resource.toString());return V===0&&(r==="position"?V=Range$2.compareRangesUsingStarts(k,L)||MarkerSeverity$1.compare(k.severity,L.severity):V=MarkerSeverity$1.compare(k.severity,L.severity)||Range$2.compareRangesUsingStarts(k,L)),V},y=()=>{this._markers=this._markerService.read({resource:URI.isUri(e)?e:void 0,severities:MarkerSeverity$1.Error|MarkerSeverity$1.Warning|MarkerSeverity$1.Info}),typeof e=="function"&&(this._markers=this._markers.filter(k=>this._resourceFilter(k.resource))),this._markers.sort(g)};y(),this._dispoables.add(t.onMarkerChanged(k=>{(!this._resourceFilter||k.some(L=>this._resourceFilter(L)))&&(y(),this._nextIdx=-1,this._onDidChange.fire())}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}matches(e){return!this._resourceFilter&&!e?!0:!this._resourceFilter||!e?!1:this._resourceFilter(e)}get selected(){const e=this._markers[this._nextIdx];return e&&new MarkerCoordinate(e,this._nextIdx+1,this._markers.length)}_initIdx(e,t,i){let r=!1,g=this._markers.findIndex(y=>y.resource.toString()===e.uri.toString());g<0&&(g=binarySearch(this._markers,{resource:e.uri},(y,k)=>compare(y.resource.toString(),k.resource.toString())),g<0&&(g=~g));for(let y=g;yr.resource.toString()===e.toString());if(!(i<0)){for(;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$13=function(n,e){return function(t,i){e(t,i,n)}},MarkerNavigationWidget_1;class MessageWidget{constructor(e,t,i,r,g){this._openerService=r,this._labelService=g,this._lines=0,this._longestLineLength=0,this._relatedDiagnostics=new WeakMap,this._disposables=new DisposableStore,this._editor=t;const y=document.createElement("div");y.className="descriptioncontainer",this._messageBlock=document.createElement("div"),this._messageBlock.classList.add("message"),this._messageBlock.setAttribute("aria-live","assertive"),this._messageBlock.setAttribute("role","alert"),y.appendChild(this._messageBlock),this._relatedBlock=document.createElement("div"),y.appendChild(this._relatedBlock),this._disposables.add(addStandardDisposableListener(this._relatedBlock,"click",k=>{k.preventDefault();const L=this._relatedDiagnostics.get(k.target);L&&i(L)})),this._scrollable=new ScrollableElement(y,{horizontal:1,vertical:1,useShadows:!1,horizontalScrollbarSize:6,verticalScrollbarSize:6}),e.appendChild(this._scrollable.getDomNode()),this._disposables.add(this._scrollable.onScroll(k=>{y.style.left="-".concat(k.scrollLeft,"px"),y.style.top="-".concat(k.scrollTop,"px")})),this._disposables.add(this._scrollable)}dispose(){dispose(this._disposables)}update(e){const{source:t,message:i,relatedInformation:r,code:g}=e;let y=((t==null?void 0:t.length)||0)+2;g&&(typeof g=="string"?y+=g.length:y+=g.value.length);const k=splitLines(i);this._lines=k.length,this._longestLineLength=0;for(const ie of k)this._longestLineLength=Math.max(ie.length+y,this._longestLineLength);clearNode(this._messageBlock),this._messageBlock.setAttribute("aria-label",this.getAriaLabel(e)),this._editor.applyFontInfo(this._messageBlock);let L=this._messageBlock;for(const ie of k)L=document.createElement("div"),L.innerText=ie,ie===""&&(L.style.height=this._messageBlock.style.lineHeight),this._messageBlock.appendChild(L);if(t||g){const ie=document.createElement("span");if(ie.classList.add("details"),L.appendChild(ie),t){const oe=document.createElement("span");oe.innerText=t,oe.classList.add("source"),ie.appendChild(oe)}if(g)if(typeof g=="string"){const oe=document.createElement("span");oe.innerText="(".concat(g,")"),oe.classList.add("code"),ie.appendChild(oe)}else{this._codeLink=$$f("a.code-link"),this._codeLink.setAttribute("href","".concat(g.target.toString())),this._codeLink.onclick=re=>{this._openerService.open(g.target,{allowCommands:!0}),re.preventDefault(),re.stopPropagation()};const oe=append$1(this._codeLink,$$f("span"));oe.innerText=g.value,ie.appendChild(this._codeLink)}}if(clearNode(this._relatedBlock),this._editor.applyFontInfo(this._relatedBlock),isNonEmptyArray(r)){const ie=this._relatedBlock.appendChild(document.createElement("div"));ie.style.paddingTop="".concat(Math.floor(this._editor.getOption(67)*.66),"px"),this._lines+=1;for(const oe of r){const re=document.createElement("div"),ae=document.createElement("a");ae.classList.add("filename"),ae.innerText="".concat(this._labelService.getUriBasenameLabel(oe.resource),"(").concat(oe.startLineNumber,", ").concat(oe.startColumn,"): "),ae.title=this._labelService.getUriLabel(oe.resource),this._relatedDiagnostics.set(ae,oe);const le=document.createElement("span");le.innerText=oe.message,re.appendChild(ae),re.appendChild(le),this._lines+=1,ie.appendChild(re)}}const V=this._editor.getOption(50),z=Math.ceil(V.typicalFullwidthCharacterWidth*this._longestLineLength*.75),j=V.lineHeight*this._lines;this._scrollable.setScrollDimensions({scrollWidth:z,scrollHeight:j})}layout(e,t){this._scrollable.getDomNode().style.height="".concat(e,"px"),this._scrollable.getDomNode().style.width="".concat(t,"px"),this._scrollable.setScrollDimensions({width:t,height:e})}getHeightInLines(){return Math.min(17,this._lines)}getAriaLabel(e){let t="";switch(e.severity){case MarkerSeverity$1.Error:t=localize("Error","Error");break;case MarkerSeverity$1.Warning:t=localize("Warning","Warning");break;case MarkerSeverity$1.Info:t=localize("Info","Info");break;case MarkerSeverity$1.Hint:t=localize("Hint","Hint");break}let i=localize("marker aria","{0} at {1}. ",t,e.startLineNumber+":"+e.startColumn);const r=this._editor.getModel();if(r&&e.startLineNumber<=r.getLineCount()&&e.startLineNumber>=1){const g=r.getLineContent(e.startLineNumber);i="".concat(g,", ").concat(i)}return i}}let MarkerNavigationWidget=MarkerNavigationWidget_1=class extends PeekViewWidget{constructor(e,t,i,r,g,y,k){super(e,{showArrow:!0,showFrame:!0,isAccessible:!0,frameWidth:1},g),this._themeService=t,this._openerService=i,this._menuService=r,this._contextKeyService=y,this._labelService=k,this._callOnDispose=new DisposableStore,this._onDidSelectRelatedInformation=new Emitter$1,this.onDidSelectRelatedInformation=this._onDidSelectRelatedInformation.event,this._severity=MarkerSeverity$1.Warning,this._backgroundColor=Color$1.white,this._applyTheme(t.getColorTheme()),this._callOnDispose.add(t.onDidColorThemeChange(this._applyTheme.bind(this))),this.create()}_applyTheme(e){this._backgroundColor=e.getColor(editorMarkerNavigationBackground);let t=editorMarkerNavigationError,i=editorMarkerNavigationErrorHeader;this._severity===MarkerSeverity$1.Warning?(t=editorMarkerNavigationWarning,i=editorMarkerNavigationWarningHeader):this._severity===MarkerSeverity$1.Info&&(t=editorMarkerNavigationInfo,i=editorMarkerNavigationInfoHeader);const r=e.getColor(t),g=e.getColor(i);this.style({arrowColor:r,frameColor:r,headerBackgroundColor:g,primaryHeadingColor:e.getColor(peekViewTitleForeground),secondaryHeadingColor:e.getColor(peekViewTitleInfoForeground)})}_applyStyles(){this._parentContainer&&(this._parentContainer.style.backgroundColor=this._backgroundColor?this._backgroundColor.toString():""),super._applyStyles()}dispose(){this._callOnDispose.dispose(),super.dispose()}_fillHead(e){super._fillHead(e),this._disposables.add(this._actionbarWidget.actionRunner.onWillRun(r=>this.editor.focus()));const t=[],i=this._menuService.createMenu(MarkerNavigationWidget_1.TitleMenu,this._contextKeyService);createAndFillInActionBarActions(i,void 0,t),this._actionbarWidget.push(t,{label:!1,icon:!0,index:0}),i.dispose()}_fillTitleIcon(e){this._icon=append$1(e,$$f(""))}_fillBody(e){this._parentContainer=e,e.classList.add("marker-widget"),this._parentContainer.tabIndex=0,this._parentContainer.setAttribute("role","tooltip"),this._container=document.createElement("div"),e.appendChild(this._container),this._message=new MessageWidget(this._container,this.editor,t=>this._onDidSelectRelatedInformation.fire(t),this._openerService,this._labelService),this._disposables.add(this._message)}show(){throw new Error("call showAtMarker")}showAtMarker(e,t,i){this._container.classList.remove("stale"),this._message.update(e),this._severity=e.severity,this._applyTheme(this._themeService.getColorTheme());const r=Range$2.lift(e),g=this.editor.getPosition(),y=g&&r.containsPosition(g)?g:r.getStartPosition();super.show(y,this.computeRequiredHeight());const k=this.editor.getModel();if(k){const L=i>1?localize("problems","{0} of {1} problems",t,i):localize("change","{0} of {1} problem",t,i);this.setTitle(basename(k.uri),L)}this._icon.className="codicon ".concat(SeverityIcon.className(MarkerSeverity$1.toSeverity(this._severity))),this.editor.revealPositionNearTop(y,0),this.editor.focus()}updateMarker(e){this._container.classList.remove("stale"),this._message.update(e)}showStale(){this._container.classList.add("stale"),this._relayout()}_doLayoutBody(e,t){super._doLayoutBody(e,t),this._heightInPixel=e,this._message.layout(e,t),this._container.style.height="".concat(e,"px")}_onWidth(e){this._message.layout(this._heightInPixel,e)}_relayout(){super._relayout(this.computeRequiredHeight())}computeRequiredHeight(){return 3+this._message.getHeightInLines()}};MarkerNavigationWidget.TitleMenu=new MenuId("gotoErrorTitleMenu");MarkerNavigationWidget=MarkerNavigationWidget_1=__decorate$17([__param$13(1,IThemeService),__param$13(2,IOpenerService),__param$13(3,IMenuService),__param$13(4,IInstantiationService),__param$13(5,IContextKeyService),__param$13(6,ILabelService)],MarkerNavigationWidget);const errorDefault=oneOf(editorErrorForeground,editorErrorBorder),warningDefault=oneOf(editorWarningForeground,editorWarningBorder),infoDefault=oneOf(editorInfoForeground,editorInfoBorder),editorMarkerNavigationError=registerColor("editorMarkerNavigationError.background",{dark:errorDefault,light:errorDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationError","Editor marker navigation widget error color.")),editorMarkerNavigationErrorHeader=registerColor("editorMarkerNavigationError.headerBackground",{dark:transparent(editorMarkerNavigationError,.1),light:transparent(editorMarkerNavigationError,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationErrorHeaderBackground","Editor marker navigation widget error heading background.")),editorMarkerNavigationWarning=registerColor("editorMarkerNavigationWarning.background",{dark:warningDefault,light:warningDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationWarning","Editor marker navigation widget warning color.")),editorMarkerNavigationWarningHeader=registerColor("editorMarkerNavigationWarning.headerBackground",{dark:transparent(editorMarkerNavigationWarning,.1),light:transparent(editorMarkerNavigationWarning,.1),hcDark:"#0C141F",hcLight:transparent(editorMarkerNavigationWarning,.2)},localize("editorMarkerNavigationWarningBackground","Editor marker navigation widget warning heading background.")),editorMarkerNavigationInfo=registerColor("editorMarkerNavigationInfo.background",{dark:infoDefault,light:infoDefault,hcDark:contrastBorder,hcLight:contrastBorder},localize("editorMarkerNavigationInfo","Editor marker navigation widget info color.")),editorMarkerNavigationInfoHeader=registerColor("editorMarkerNavigationInfo.headerBackground",{dark:transparent(editorMarkerNavigationInfo,.1),light:transparent(editorMarkerNavigationInfo,.1),hcDark:null,hcLight:null},localize("editorMarkerNavigationInfoHeaderBackground","Editor marker navigation widget info heading background.")),editorMarkerNavigationBackground=registerColor("editorMarkerNavigation.background",{dark:editorBackground,light:editorBackground,hcDark:editorBackground,hcLight:editorBackground},localize("editorMarkerNavigationBackground","Editor marker navigation widget background."));var __decorate$16=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$12=function(n,e){return function(t,i){e(t,i,n)}},MarkerController_1;let MarkerController=MarkerController_1=class{static get(e){return e.getContribution(MarkerController_1.ID)}constructor(e,t,i,r,g){this._markerNavigationService=t,this._contextKeyService=i,this._editorService=r,this._instantiationService=g,this._sessionDispoables=new DisposableStore,this._editor=e,this._widgetVisible=CONTEXT_MARKERS_NAVIGATION_VISIBLE.bindTo(this._contextKeyService)}dispose(){this._cleanUp(),this._sessionDispoables.dispose()}_cleanUp(){this._widgetVisible.reset(),this._sessionDispoables.clear(),this._widget=void 0,this._model=void 0}_getOrCreateModel(e){if(this._model&&this._model.matches(e))return this._model;let t=!1;return this._model&&(t=!0,this._cleanUp()),this._model=this._markerNavigationService.getMarkerList(e),t&&this._model.move(!0,this._editor.getModel(),this._editor.getPosition()),this._widget=this._instantiationService.createInstance(MarkerNavigationWidget,this._editor),this._widget.onDidClose(()=>this.close(),this,this._sessionDispoables),this._widgetVisible.set(!0),this._sessionDispoables.add(this._model),this._sessionDispoables.add(this._widget),this._sessionDispoables.add(this._editor.onDidChangeCursorPosition(i=>{var r,g,y;(!(!((r=this._model)===null||r===void 0)&&r.selected)||!Range$2.containsPosition((g=this._model)===null||g===void 0?void 0:g.selected.marker,i.position))&&((y=this._model)===null||y===void 0||y.resetIndex())})),this._sessionDispoables.add(this._model.onDidChange(()=>{if(!this._widget||!this._widget.position||!this._model)return;const i=this._model.find(this._editor.getModel().uri,this._widget.position);i?this._widget.updateMarker(i.marker):this._widget.showStale()})),this._sessionDispoables.add(this._widget.onDidSelectRelatedInformation(i=>{this._editorService.openCodeEditor({resource:i.resource,options:{pinned:!0,revealIfOpened:!0,selection:Range$2.lift(i).collapseToStart()}},this._editor),this.close(!1)})),this._sessionDispoables.add(this._editor.onDidChangeModel(()=>this._cleanUp())),this._model}close(e=!0){this._cleanUp(),e&&this._editor.focus()}showAtMarker(e){if(this._editor.hasModel()){const t=this._getOrCreateModel(this._editor.getModel().uri);t.resetIndex(),t.move(!0,this._editor.getModel(),new Position$1(e.startLineNumber,e.startColumn)),t.selected&&this._widget.showAtMarker(t.selected.marker,t.selected.index,t.selected.total)}}async nagivate(e,t){var i,r;if(this._editor.hasModel()){const g=this._getOrCreateModel(t?void 0:this._editor.getModel().uri);if(g.move(e,this._editor.getModel(),this._editor.getPosition()),!g.selected)return;if(g.selected.marker.resource.toString()!==this._editor.getModel().uri.toString()){this._cleanUp();const y=await this._editorService.openCodeEditor({resource:g.selected.marker.resource,options:{pinned:!1,revealIfOpened:!0,selectionRevealType:2,selection:g.selected.marker}},this._editor);y&&((i=MarkerController_1.get(y))===null||i===void 0||i.close(),(r=MarkerController_1.get(y))===null||r===void 0||r.nagivate(e,t))}else this._widget.showAtMarker(g.selected.marker,g.selected.index,g.selected.total)}}};MarkerController.ID="editor.contrib.markerController";MarkerController=MarkerController_1=__decorate$16([__param$12(1,IMarkerNavigationService),__param$12(2,IContextKeyService),__param$12(3,ICodeEditorService),__param$12(4,IInstantiationService)],MarkerController);class MarkerNavigationAction extends EditorAction{constructor(e,t,i){super(i),this._next=e,this._multiFile=t}async run(e,t){var i;t.hasModel()&&((i=MarkerController.get(t))===null||i===void 0||i.nagivate(this._next,this._multiFile))}}class NextMarkerAction extends MarkerNavigationAction{constructor(){super(!0,!1,{id:NextMarkerAction.ID,label:NextMarkerAction.LABEL,alias:"Go to Next Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:578,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:NextMarkerAction.LABEL,icon:registerIcon("marker-navigation-next",Codicon.arrowDown,localize("nextMarkerIcon","Icon for goto next marker.")),group:"navigation",order:1}})}}NextMarkerAction.ID="editor.action.marker.next";NextMarkerAction.LABEL=localize("markerAction.next.label","Go to Next Problem (Error, Warning, Info)");class PrevMarkerAction extends MarkerNavigationAction{constructor(){super(!1,!1,{id:PrevMarkerAction.ID,label:PrevMarkerAction.LABEL,alias:"Go to Previous Problem (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:1602,weight:100},menuOpts:{menuId:MarkerNavigationWidget.TitleMenu,title:PrevMarkerAction.LABEL,icon:registerIcon("marker-navigation-previous",Codicon.arrowUp,localize("previousMarkerIcon","Icon for goto previous marker.")),group:"navigation",order:2}})}}PrevMarkerAction.ID="editor.action.marker.prev";PrevMarkerAction.LABEL=localize("markerAction.previous.label","Go to Previous Problem (Error, Warning, Info)");class NextMarkerInFilesAction extends MarkerNavigationAction{constructor(){super(!0,!0,{id:"editor.action.marker.nextInFiles",label:localize("markerAction.nextInFiles.label","Go to Next Problem in Files (Error, Warning, Info)"),alias:"Go to Next Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:66,weight:100},menuOpts:{menuId:MenuId.MenubarGoMenu,title:localize({},"Next &&Problem"),group:"6_problem_nav",order:1}})}}class PrevMarkerInFilesAction extends MarkerNavigationAction{constructor(){super(!1,!0,{id:"editor.action.marker.prevInFiles",label:localize("markerAction.previousInFiles.label","Go to Previous Problem in Files (Error, Warning, Info)"),alias:"Go to Previous Problem in Files (Error, Warning, Info)",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:1090,weight:100},menuOpts:{menuId:MenuId.MenubarGoMenu,title:localize({},"Previous &&Problem"),group:"6_problem_nav",order:2}})}}registerEditorContribution(MarkerController.ID,MarkerController,4);registerEditorAction(NextMarkerAction);registerEditorAction(PrevMarkerAction);registerEditorAction(NextMarkerInFilesAction);registerEditorAction(PrevMarkerInFilesAction);const CONTEXT_MARKERS_NAVIGATION_VISIBLE=new RawContextKey("markersNavigationVisible",!1),MarkerCommand=EditorCommand.bindToContribution(MarkerController.get);registerEditorCommand(new MarkerCommand({id:"closeMarkersNavigation",precondition:CONTEXT_MARKERS_NAVIGATION_VISIBLE,handler:n=>n.close(),kbOpts:{weight:150,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}}));var __decorate$15=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$11=function(n,e){return function(t,i){e(t,i,n)}};const $$2=$$f;class MarkerHover{constructor(e,t,i){this.owner=e,this.range=t,this.marker=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}const markerCodeActionTrigger={type:1,filter:{include:CodeActionKind.QuickFix},triggerAction:CodeActionTriggerSource.QuickFixHover};let MarkerHoverParticipant=class{constructor(e,t,i,r){this._editor=e,this._markerDecorationsService=t,this._openerService=i,this._languageFeaturesService=r,this.hoverOrdinal=1,this.recentMarkerCodeActionsInfo=void 0}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1&&!e.supportsMarkerHover)return[];const i=this._editor.getModel(),r=e.range.startLineNumber,g=i.getLineMaxColumn(r),y=[];for(const k of t){const L=k.range.startLineNumber===r?k.range.startColumn:1,V=k.range.endLineNumber===r?k.range.endColumn:g,z=this._markerDecorationsService.getMarker(i.uri,k);if(!z)continue;const j=new Range$2(e.range.startLineNumber,L,e.range.startLineNumber,V);y.push(new MarkerHover(this,j,z))}return y}renderHoverParts(e,t){if(!t.length)return Disposable.None;const i=new DisposableStore;t.forEach(g=>e.fragment.appendChild(this.renderMarkerHover(g,i)));const r=t.length===1?t[0]:t.sort((g,y)=>MarkerSeverity$1.compare(g.marker.severity,y.marker.severity))[0];return this.renderMarkerStatusbar(e,r,i),i}renderMarkerHover(e,t){const i=$$2("div.hover-row"),r=append$1(i,$$2("div.marker.hover-contents")),{source:g,message:y,code:k,relatedInformation:L}=e.marker;this._editor.applyFontInfo(r);const V=append$1(r,$$2("span"));if(V.style.whiteSpace="pre-wrap",V.innerText=y,g||k)if(k&&typeof k!="string"){const z=$$2("span");if(g){const re=append$1(z,$$2("span"));re.innerText=g}const j=append$1(z,$$2("a.code-link"));j.setAttribute("href",k.target.toString()),t.add(addDisposableListener(j,"click",re=>{this._openerService.open(k.target,{allowCommands:!0}),re.preventDefault(),re.stopPropagation()}));const ie=append$1(j,$$2("span"));ie.innerText=k.value;const oe=append$1(r,z);oe.style.opacity="0.6",oe.style.paddingLeft="6px"}else{const z=append$1(r,$$2("span"));z.style.opacity="0.6",z.style.paddingLeft="6px",z.innerText=g&&k?"".concat(g,"(").concat(k,")"):g||"(".concat(k,")")}if(isNonEmptyArray(L))for(const{message:z,resource:j,startLineNumber:ie,startColumn:oe}of L){const re=append$1(r,$$2("div"));re.style.marginTop="8px";const ae=append$1(re,$$2("a"));ae.innerText="".concat(basename(j),"(").concat(ie,", ").concat(oe,"): "),ae.style.cursor="pointer",t.add(addDisposableListener(ae,"click",de=>{de.stopPropagation(),de.preventDefault(),this._openerService&&this._openerService.open(j,{fromUserGesture:!0,editorOptions:{selection:{startLineNumber:ie,startColumn:oe}}}).catch(onUnexpectedError)}));const le=append$1(re,$$2("span"));le.innerText=z,this._editor.applyFontInfo(le)}return i}renderMarkerStatusbar(e,t,i){if(t.marker.severity===MarkerSeverity$1.Error||t.marker.severity===MarkerSeverity$1.Warning||t.marker.severity===MarkerSeverity$1.Info){const r=MarkerController.get(this._editor);r&&e.statusBar.addAction({label:localize("view problem","View Problem"),commandId:NextMarkerAction.ID,run:()=>{e.hide(),r.showAtMarker(t.marker),this._editor.focus()}})}if(!this._editor.getOption(91)){const r=e.statusBar.append($$2("div"));this.recentMarkerCodeActionsInfo&&(IMarkerData.makeKey(this.recentMarkerCodeActionsInfo.marker)===IMarkerData.makeKey(t.marker)?this.recentMarkerCodeActionsInfo.hasCodeActions||(r.textContent=localize("noQuickFixes","No quick fixes available")):this.recentMarkerCodeActionsInfo=void 0);const g=this.recentMarkerCodeActionsInfo&&!this.recentMarkerCodeActionsInfo.hasCodeActions?Disposable.None:disposableTimeout(()=>r.textContent=localize("checkingForQuickFixes","Checking for quick fixes..."),200,i);r.textContent||(r.textContent=" ");const y=this.getCodeActions(t.marker);i.add(toDisposable(()=>y.cancel())),y.then(k=>{if(g.dispose(),this.recentMarkerCodeActionsInfo={marker:t.marker,hasCodeActions:k.validActions.length>0},!this.recentMarkerCodeActionsInfo.hasCodeActions){k.dispose(),r.textContent=localize("noQuickFixes","No quick fixes available");return}r.style.display="none";let L=!1;i.add(toDisposable(()=>{L||k.dispose()})),e.statusBar.addAction({label:localize("quick fixes","Quick Fix..."),commandId:quickFixCommandId,run:V=>{L=!0;const z=CodeActionController.get(this._editor),j=getDomNodePagePosition(V);e.hide(),z==null||z.showCodeActions(markerCodeActionTrigger,k,{x:j.left,y:j.top,width:j.width,height:j.height})}})},onUnexpectedError)}}getCodeActions(e){return createCancelablePromise(t=>getCodeActions(this._languageFeaturesService.codeActionProvider,this._editor.getModel(),new Range$2(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),markerCodeActionTrigger,Progress$1.None,t))}};MarkerHoverParticipant=__decorate$15([__param$11(1,IMarkerDecorationsService),__param$11(2,IOpenerService),__param$11(3,ILanguageFeaturesService)],MarkerHoverParticipant);const inlineSuggestCommitId="editor.action.inlineSuggest.commit",showPreviousInlineSuggestionActionId="editor.action.inlineSuggest.showPrevious",showNextInlineSuggestionActionId="editor.action.inlineSuggest.showNext";var __decorate$14=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$10=function(n,e){return function(t,i){e(t,i,n)}},InlineSuggestionHintsContentWidget_1;let InlineCompletionsHintsWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived(this,r=>{var g,y,k;const L=(g=this.model.read(r))===null||g===void 0?void 0:g.primaryGhostText.read(r);if(!this.alwaysShowToolbar.read(r)||!L||L.parts.length===0)return this.sessionPosition=void 0,null;const V=L.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==L.lineNumber&&(this.sessionPosition=void 0);const z=new Position$1(L.lineNumber,Math.min(V,(k=(y=this.sessionPosition)===null||y===void 0?void 0:y.column)!==null&&k!==void 0?k:Number.MAX_SAFE_INTEGER));return this.sessionPosition=z,z}),this._register(autorunWithStore((r,g)=>{const y=this.model.read(r);if(!y||!this.alwaysShowToolbar.read(r))return;const k=g.add(this.instantiationService.createInstance(InlineSuggestionHintsContentWidget,this.editor,!0,this.position,y.selectedInlineCompletionIndex,y.inlineCompletionsCount,y.selectedInlineCompletion.map(L=>{var V;return(V=L==null?void 0:L.inlineCompletion.source.inlineCompletions.commands)!==null&&V!==void 0?V:[]})));e.addContentWidget(k),g.add(toDisposable(()=>e.removeContentWidget(k))),g.add(autorun(L=>{this.position.read(L)&&y.lastTriggerKind.read(L)!==InlineCompletionTriggerKind$1.Explicit&&y.triggerExplicitly()}))}))}};InlineCompletionsHintsWidget=__decorate$14([__param$10(2,IInstantiationService)],InlineCompletionsHintsWidget);const inlineSuggestionHintsNextIcon=registerIcon("inline-suggestion-hints-next",Codicon.chevronRight,localize("parameterHintsNextIcon","Icon for show next parameter hint.")),inlineSuggestionHintsPreviousIcon=registerIcon("inline-suggestion-hints-previous",Codicon.chevronLeft,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=class extends Disposable{static get dropDownVisible(){return this._dropDownVisible}createCommandAction(e,t,i){const r=new Action(e,t,i,!0,()=>this._commandService.executeCommand(e)),g=this.keybindingService.lookupKeybinding(e,this._contextKeyService);let y=t;return g&&(y=localize({},"{0} ({1})",t,g.getLabel())),r.tooltip=y,r}constructor(e,t,i,r,g,y,k,L,V,z,j){super(),this.editor=e,this.withBorder=t,this._position=i,this._currentSuggestionIdx=r,this._suggestionCount=g,this._extraCommands=y,this._commandService=k,this.keybindingService=V,this._contextKeyService=z,this._menuService=j,this.id="InlineSuggestionHintsContentWidget".concat(InlineSuggestionHintsContentWidget_1.id++),this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h("div.inlineSuggestionsHints",{className:this.withBorder?".withBorder":""},[h("div@toolBar")]),this.previousAction=this.createCommandAction(showPreviousInlineSuggestionActionId,localize("previous","Previous"),ThemeIcon.asClassName(inlineSuggestionHintsPreviousIcon)),this.availableSuggestionCountAction=new Action("inlineSuggestionHints.availableSuggestionCount","",void 0,!1),this.nextAction=this.createCommandAction(showNextInlineSuggestionActionId,localize("next","Next"),ThemeIcon.asClassName(inlineSuggestionHintsNextIcon)),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId.InlineCompletionsActions,this._contextKeyService)),this.clearAvailableSuggestionCountLabelDebounced=this._register(new RunOnceScheduler(()=>{this.availableSuggestionCountAction.label=""},100)),this.disableButtonsDebounced=this._register(new RunOnceScheduler(()=>{this.previousAction.enabled=this.nextAction.enabled=!1},100)),this.lastCommands=[],this.toolBar=this._register(L.createInstance(CustomizedMenuWorkbenchToolBar$1,this.nodes.toolBar,MenuId.InlineSuggestionToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:ie=>ie.startsWith("primary")},actionViewItemProvider:(ie,oe)=>{if(ie instanceof MenuItemAction)return L.createInstance(StatusBarViewItem$2,ie,void 0);if(ie===this.availableSuggestionCountAction){const re=new ActionViewItemWithClassName(void 0,ie,{label:!0,icon:!1});return re.setClass("availableSuggestionCount"),re}},telemetrySource:"InlineSuggestionToolbar"})),this.toolBar.setPrependedPrimaryActions([this.previousAction,this.availableSuggestionCountAction,this.nextAction]),this._register(this.toolBar.onDidChangeDropdownVisibility(ie=>{InlineSuggestionHintsContentWidget_1._dropDownVisible=ie})),this._register(autorun(ie=>{this._position.read(ie),this.editor.layoutContentWidget(this)})),this._register(autorun(ie=>{const oe=this._suggestionCount.read(ie),re=this._currentSuggestionIdx.read(ie);oe!==void 0?(this.clearAvailableSuggestionCountLabelDebounced.cancel(),this.availableSuggestionCountAction.label="".concat(re+1,"/").concat(oe)):this.clearAvailableSuggestionCountLabelDebounced.schedule(),oe!==void 0&&oe>1?(this.disableButtonsDebounced.cancel(),this.previousAction.enabled=this.nextAction.enabled=!0):this.disableButtonsDebounced.schedule()})),this._register(autorun(ie=>{const oe=this._extraCommands.read(ie);if(equals$3(this.lastCommands,oe))return;this.lastCommands=oe;const re=oe.map(ae=>({class:void 0,id:ae.id,enabled:!0,tooltip:ae.tooltip||"",label:ae.title,run:le=>this._commandService.executeCommand(ae.id)}));for(const[ae,le]of this.inlineCompletionsActionsMenus.getActions())for(const de of le)de instanceof MenuItemAction&&re.push(de);re.length>0&&re.unshift(new Separator),this.toolBar.setAdditionalSecondaryActions(re)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};InlineSuggestionHintsContentWidget._dropDownVisible=!1;InlineSuggestionHintsContentWidget.id=0;InlineSuggestionHintsContentWidget=InlineSuggestionHintsContentWidget_1=__decorate$14([__param$10(6,ICommandService),__param$10(7,IInstantiationService),__param$10(8,IKeybindingService),__param$10(9,IContextKeyService),__param$10(10,IMenuService)],InlineSuggestionHintsContentWidget);class ActionViewItemWithClassName extends ActionViewItem{constructor(){super(...arguments),this._className=void 0}setClass(e){this._className=e}render(e){super.render(e),this._className&&e.classList.add(this._className)}updateTooltip(){}}let StatusBarViewItem$2=class extends MenuEntryActionViewItem{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h("div.keybinding").root;this._register(new KeybindingLabel(t,OS,{disableTitle:!0,...unthemedKeybindingLabelOptions})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineSuggestionStatusBarItemLabel")}}updateTooltip(){}},CustomizedMenuWorkbenchToolBar$1=class extends WorkbenchToolBar{constructor(e,t,i,r,g,y,k,L){super(e,{resetMenu:t,...i},r,g,y,k,L),this.menuId=t,this.options2=i,this.menuService=r,this.contextKeyService=g,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,g,y,k;const L=[],V=[];createAndFillInActionBarActions(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:L,secondary:V},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(g=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||g===void 0?void 0:g.shouldInlineSubmenu,(k=(y=this.options2)===null||y===void 0?void 0:y.toolbarOptions)===null||k===void 0?void 0:k.useSeparatorsInPrimaryActions),V.push(...this.additionalActions),L.unshift(...this.prependedPrimaryActions),this.setActions(L,V)}setPrependedPrimaryActions(e){equals$3(this.prependedPrimaryActions,e,(t,i)=>t===i)||(this.prependedPrimaryActions=e,this.updateToolbar())}setAdditionalSecondaryActions(e){equals$3(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar$1=__decorate$14([__param$10(3,IMenuService),__param$10(4,IContextKeyService),__param$10(5,IContextMenuService),__param$10(6,IKeybindingService),__param$10(7,ITelemetryService)],CustomizedMenuWorkbenchToolBar$1);var __decorate$13=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$$=function(n,e){return function(t,i){e(t,i,n)}},HoverController_1;let HoverController=HoverController_1=class extends Disposable{constructor(e,t,i,r,g){super(),this._editor=e,this._instantiationService=t,this._openerService=i,this._languageService=r,this._keybindingService=g,this._listenersStore=new DisposableStore,this._hoverState={mouseDown:!1,contentHoverFocused:!1,activatedByDecoratorClick:!1},this._reactToEditorMouseMoveRunner=this._register(new RunOnceScheduler(()=>this._reactToEditorMouseMove(this._mouseMoveEvent),0)),this._hookListeners(),this._register(this._editor.onDidChangeConfiguration(y=>{y.hasChanged(60)&&(this._unhookListeners(),this._hookListeners())}))}static get(e){return e.getContribution(HoverController_1.ID)}_hookListeners(){const e=this._editor.getOption(60);this._hoverSettings={enabled:e.enabled,sticky:e.sticky,hidingDelay:e.delay},e.enabled?(this._listenersStore.add(this._editor.onMouseDown(t=>this._onEditorMouseDown(t))),this._listenersStore.add(this._editor.onMouseUp(()=>this._onEditorMouseUp())),this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))):(this._listenersStore.add(this._editor.onMouseMove(t=>this._onEditorMouseMove(t))),this._listenersStore.add(this._editor.onKeyDown(t=>this._onKeyDown(t)))),this._listenersStore.add(this._editor.onMouseLeave(t=>this._onEditorMouseLeave(t))),this._listenersStore.add(this._editor.onDidChangeModel(()=>{this._cancelScheduler(),this._hideWidgets()})),this._listenersStore.add(this._editor.onDidChangeModelContent(()=>this._cancelScheduler())),this._listenersStore.add(this._editor.onDidScrollChange(t=>this._onEditorScrollChanged(t)))}_unhookListeners(){this._listenersStore.clear()}_cancelScheduler(){this._mouseMoveEvent=void 0,this._reactToEditorMouseMoveRunner.cancel()}_onEditorScrollChanged(e){(e.scrollTopChanged||e.scrollLeftChanged)&&this._hideWidgets()}_onEditorMouseDown(e){var t;this._hoverState.mouseDown=!0;const i=e.target;if(i.type===9&&i.detail===ContentHoverWidget.ID){this._hoverState.contentHoverFocused=!0;return}i.type===12&&i.detail===MarginHoverWidget.ID||(i.type!==12&&(this._hoverState.contentHoverFocused=!1),!(!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing)&&this._hideWidgets())}_onEditorMouseUp(){this._hoverState.mouseDown=!1}_onEditorMouseLeave(e){var t,i;this._cancelScheduler();const r=e.event.browserEvent.relatedTarget;!((t=this._contentWidget)===null||t===void 0)&&t.widget.isResizing||!((i=this._contentWidget)===null||i===void 0)&&i.containsNode(r)||this._hideWidgets()}_isMouseOverWidget(e){var t,i,r,g,y;const k=e.target,L=this._hoverSettings.sticky;return!!(L&&k.type===9&&k.detail===ContentHoverWidget.ID||L&&(!((t=this._contentWidget)===null||t===void 0)&&t.containsNode((i=e.event.browserEvent.view)===null||i===void 0?void 0:i.document.activeElement))&&!(!((g=(r=e.event.browserEvent.view)===null||r===void 0?void 0:r.getSelection())===null||g===void 0)&&g.isCollapsed)||!L&&k.type===9&&k.detail===ContentHoverWidget.ID&&(!((y=this._contentWidget)===null||y===void 0)&&y.isColorPickerVisible)||L&&k.type===12&&k.detail===MarginHoverWidget.ID)}_onEditorMouseMove(e){var t,i,r,g;if(this._mouseMoveEvent=e,!((t=this._contentWidget)===null||t===void 0)&&t.isFocused||!((i=this._contentWidget)===null||i===void 0)&&i.isResizing||this._hoverState.mouseDown&&this._hoverState.contentHoverFocused)return;const y=this._hoverSettings.sticky;if(y&&(!((r=this._contentWidget)===null||r===void 0)&&r.isVisibleFromKeyboard))return;if(this._isMouseOverWidget(e)){this._reactToEditorMouseMoveRunner.cancel();return}const L=this._hoverSettings.hidingDelay;if(!((g=this._contentWidget)===null||g===void 0)&&g.isVisible&&y&&L>0){this._reactToEditorMouseMoveRunner.isScheduled()||this._reactToEditorMouseMoveRunner.schedule(L);return}this._reactToEditorMouseMove(e)}_reactToEditorMouseMove(e){var t,i,r,g;if(!e)return;const y=e.target,k=(t=y.element)===null||t===void 0?void 0:t.classList.contains("colorpicker-color-decoration"),L=this._editor.getOption(148),V=this._hoverSettings.enabled,z=this._hoverState.activatedByDecoratorClick;if(k&&(L==="click"&&!z||L==="hover"&&!V||L==="clickAndHover"&&!V&&!z)||!k&&!V&&!z){this._hideWidgets();return}if(this._getOrCreateContentWidget().showsOrWillShow(e)){(i=this._glyphWidget)===null||i===void 0||i.hide();return}if(y.type===2&&y.position&&y.detail.glyphMarginLane){(r=this._contentWidget)===null||r===void 0||r.hide(),this._getOrCreateGlyphWidget().startShowingAt(y.position.lineNumber,y.detail.glyphMarginLane);return}if(y.type===3&&y.position){(g=this._contentWidget)===null||g===void 0||g.hide(),this._getOrCreateGlyphWidget().startShowingAt(y.position.lineNumber,"lineNo");return}this._hideWidgets()}_onKeyDown(e){var t;if(!this._editor.hasModel())return;const i=this._keybindingService.softDispatch(e,this._editor.getDomNode()),r=i.kind===1||i.kind===2&&i.commandId==="editor.action.showHover"&&((t=this._contentWidget)===null||t===void 0?void 0:t.isVisible);e.keyCode===5||e.keyCode===6||e.keyCode===57||e.keyCode===4||r||this._hideWidgets()}_hideWidgets(){var e,t,i;this._hoverState.mouseDown&&this._hoverState.contentHoverFocused&&(!((e=this._contentWidget)===null||e===void 0)&&e.isColorPickerVisible)||InlineSuggestionHintsContentWidget.dropDownVisible||(this._hoverState.activatedByDecoratorClick=!1,this._hoverState.contentHoverFocused=!1,(t=this._glyphWidget)===null||t===void 0||t.hide(),(i=this._contentWidget)===null||i===void 0||i.hide())}_getOrCreateContentWidget(){return this._contentWidget||(this._contentWidget=this._instantiationService.createInstance(ContentHoverController,this._editor)),this._contentWidget}_getOrCreateGlyphWidget(){return this._glyphWidget||(this._glyphWidget=new MarginHoverWidget(this._editor,this._languageService,this._openerService)),this._glyphWidget}showContentHover(e,t,i,r,g=!1){this._hoverState.activatedByDecoratorClick=g,this._getOrCreateContentWidget().startShowingAtRange(e,t,i,r)}focus(){var e;(e=this._contentWidget)===null||e===void 0||e.focus()}scrollUp(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollUp()}scrollDown(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollDown()}scrollLeft(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollLeft()}scrollRight(){var e;(e=this._contentWidget)===null||e===void 0||e.scrollRight()}pageUp(){var e;(e=this._contentWidget)===null||e===void 0||e.pageUp()}pageDown(){var e;(e=this._contentWidget)===null||e===void 0||e.pageDown()}goToTop(){var e;(e=this._contentWidget)===null||e===void 0||e.goToTop()}goToBottom(){var e;(e=this._contentWidget)===null||e===void 0||e.goToBottom()}get isColorPickerVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isColorPickerVisible}get isHoverVisible(){var e;return(e=this._contentWidget)===null||e===void 0?void 0:e.isVisible}dispose(){var e,t;super.dispose(),this._unhookListeners(),this._listenersStore.dispose(),(e=this._glyphWidget)===null||e===void 0||e.dispose(),(t=this._contentWidget)===null||t===void 0||t.dispose()}};HoverController.ID="editor.contrib.hover";HoverController=HoverController_1=__decorate$13([__param$$(1,IInstantiationService),__param$$(2,IOpenerService),__param$$(3,ILanguageService),__param$$(4,IKeybindingService)],HoverController);var HoverFocusBehavior;(function(n){n.NoAutoFocus="noAutoFocus",n.FocusIfVisible="focusIfVisible",n.AutoFocusImmediately="autoFocusImmediately"})(HoverFocusBehavior||(HoverFocusBehavior={}));class ShowOrFocusHoverAction extends EditorAction{constructor(){super({id:"editor.action.showHover",label:localize({},"Show or Focus Hover"),metadata:{description:"Show or Focus Hover",args:[{name:"args",schema:{type:"object",properties:{focus:{description:"Controls if and when the hover should take focus upon being triggered by this action.",enum:[HoverFocusBehavior.NoAutoFocus,HoverFocusBehavior.FocusIfVisible,HoverFocusBehavior.AutoFocusImmediately],enumDescriptions:[localize("showOrFocusHover.focus.noAutoFocus","The hover will not automatically take focus."),localize("showOrFocusHover.focus.focusIfVisible","The hover will take focus only if it is already visible."),localize("showOrFocusHover.focus.autoFocusImmediately","The hover will automatically take focus when it appears.")],default:HoverFocusBehavior.FocusIfVisible}}}}]},alias:"Show or Focus Hover",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2087),weight:100}})}run(e,t,i){if(!t.hasModel())return;const r=HoverController.get(t);if(!r)return;const g=i==null?void 0:i.focus;let y=HoverFocusBehavior.FocusIfVisible;Object.values(HoverFocusBehavior).includes(g)?y=g:typeof g=="boolean"&&g&&(y=HoverFocusBehavior.AutoFocusImmediately);const k=V=>{const z=t.getPosition(),j=new Range$2(z.lineNumber,z.column,z.lineNumber,z.column);r.showContentHover(j,1,1,V)},L=t.getOption(2)===2;r.isHoverVisible?y!==HoverFocusBehavior.NoAutoFocus?r.focus():k(L):k(L||y===HoverFocusBehavior.AutoFocusImmediately)}}class ShowDefinitionPreviewHoverAction extends EditorAction{constructor(){super({id:"editor.action.showDefinitionPreviewHover",label:localize({},"Show Definition Preview Hover"),alias:"Show Definition Preview Hover",precondition:void 0})}run(e,t){const i=HoverController.get(t);if(!i)return;const r=t.getPosition();if(!r)return;const g=new Range$2(r.lineNumber,r.column,r.lineNumber,r.column),y=GotoDefinitionAtPositionEditorContribution.get(t);if(!y)return;y.startFindDefinitionFromCursor(r).then(()=>{i.showContentHover(g,1,1,!0)})}}class ScrollUpHoverAction extends EditorAction{constructor(){super({id:"editor.action.scrollUpHover",label:localize({},"Scroll Up Hover"),alias:"Scroll Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:16,weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.scrollUp()}}class ScrollDownHoverAction extends EditorAction{constructor(){super({id:"editor.action.scrollDownHover",label:localize({},"Scroll Down Hover"),alias:"Scroll Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:18,weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.scrollDown()}}class ScrollLeftHoverAction extends EditorAction{constructor(){super({id:"editor.action.scrollLeftHover",label:localize({},"Scroll Left Hover"),alias:"Scroll Left Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:15,weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.scrollLeft()}}class ScrollRightHoverAction extends EditorAction{constructor(){super({id:"editor.action.scrollRightHover",label:localize({},"Scroll Right Hover"),alias:"Scroll Right Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:17,weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.scrollRight()}}class PageUpHoverAction extends EditorAction{constructor(){super({id:"editor.action.pageUpHover",label:localize({},"Page Up Hover"),alias:"Page Up Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:11,secondary:[528],weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.pageUp()}}class PageDownHoverAction extends EditorAction{constructor(){super({id:"editor.action.pageDownHover",label:localize({},"Page Down Hover"),alias:"Page Down Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:12,secondary:[530],weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.pageDown()}}class GoToTopHoverAction extends EditorAction{constructor(){super({id:"editor.action.goToTopHover",label:localize({},"Go To Top Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:14,secondary:[2064],weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.goToTop()}}class GoToBottomHoverAction extends EditorAction{constructor(){super({id:"editor.action.goToBottomHover",label:localize({},"Go To Bottom Hover"),alias:"Go To Bottom Hover",precondition:EditorContextKeys.hoverFocused,kbOpts:{kbExpr:EditorContextKeys.hoverFocused,primary:13,secondary:[2066],weight:100}})}run(e,t){const i=HoverController.get(t);i&&i.goToBottom()}}registerEditorContribution(HoverController.ID,HoverController,2);registerEditorAction(ShowOrFocusHoverAction);registerEditorAction(ShowDefinitionPreviewHoverAction);registerEditorAction(ScrollUpHoverAction);registerEditorAction(ScrollDownHoverAction);registerEditorAction(ScrollLeftHoverAction);registerEditorAction(ScrollRightHoverAction);registerEditorAction(PageUpHoverAction);registerEditorAction(PageDownHoverAction);registerEditorAction(GoToTopHoverAction);registerEditorAction(GoToBottomHoverAction);HoverParticipantRegistry.register(MarkdownHoverParticipant);HoverParticipantRegistry.register(MarkerHoverParticipant);registerThemingParticipant((n,e)=>{const t=n.getColor(editorHoverBorder);t&&(e.addRule(".monaco-editor .monaco-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-editor .monaco-hover hr { border-top: 1px solid ".concat(t.transparent(.5),"; }")),e.addRule(".monaco-editor .monaco-hover hr { border-bottom: 0px solid ".concat(t.transparent(.5),"; }")))});class ColorContribution extends Disposable{constructor(e){super(),this._editor=e,this._register(e.onMouseDown(t=>this.onMouseDown(t)))}dispose(){super.dispose()}onMouseDown(e){const t=this._editor.getOption(148);if(t!=="click"&&t!=="clickAndHover")return;const i=e.target;if(i.type!==6||!i.detail.injectedText||i.detail.injectedText.options.attachedData!==ColorDecorationInjectedTextMarker||!i.range)return;const r=this._editor.getContribution(HoverController.ID);if(r&&!r.isColorPickerVisible){const g=new Range$2(i.range.startLineNumber,i.range.startColumn+1,i.range.endLineNumber,i.range.endColumn+1);r.showContentHover(g,1,0,!1,!0)}}}ColorContribution.ID="editor.contrib.colorContribution";registerEditorContribution(ColorContribution.ID,ColorContribution,2);HoverParticipantRegistry.register(ColorHoverParticipant);var __decorate$12=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$_=function(n,e){return function(t,i){e(t,i,n)}},StandaloneColorPickerController_1,StandaloneColorPickerWidget_1;let StandaloneColorPickerController=StandaloneColorPickerController_1=class extends Disposable{constructor(e,t,i,r,g,y,k){super(),this._editor=e,this._modelService=i,this._keybindingService=r,this._instantiationService=g,this._languageFeatureService=y,this._languageConfigurationService=k,this._standaloneColorPickerWidget=null,this._standaloneColorPickerVisible=EditorContextKeys.standaloneColorPickerVisible.bindTo(t),this._standaloneColorPickerFocused=EditorContextKeys.standaloneColorPickerFocused.bindTo(t)}showOrFocus(){var e;this._editor.hasModel()&&(this._standaloneColorPickerVisible.get()?this._standaloneColorPickerFocused.get()||(e=this._standaloneColorPickerWidget)===null||e===void 0||e.focus():this._standaloneColorPickerWidget=new StandaloneColorPickerWidget(this._editor,this._standaloneColorPickerVisible,this._standaloneColorPickerFocused,this._instantiationService,this._modelService,this._keybindingService,this._languageFeatureService,this._languageConfigurationService))}hide(){var e;this._standaloneColorPickerFocused.set(!1),this._standaloneColorPickerVisible.set(!1),(e=this._standaloneColorPickerWidget)===null||e===void 0||e.hide(),this._editor.focus()}insertColor(){var e;(e=this._standaloneColorPickerWidget)===null||e===void 0||e.updateEditor(),this.hide()}static get(e){return e.getContribution(StandaloneColorPickerController_1.ID)}};StandaloneColorPickerController.ID="editor.contrib.standaloneColorPickerController";StandaloneColorPickerController=StandaloneColorPickerController_1=__decorate$12([__param$_(1,IContextKeyService),__param$_(2,IModelService),__param$_(3,IKeybindingService),__param$_(4,IInstantiationService),__param$_(5,ILanguageFeaturesService),__param$_(6,ILanguageConfigurationService)],StandaloneColorPickerController);registerEditorContribution(StandaloneColorPickerController.ID,StandaloneColorPickerController,1);const PADDING=8,CLOSE_BUTTON_WIDTH=22;let StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=class extends Disposable{constructor(e,t,i,r,g,y,k,L){var V;super(),this._editor=e,this._standaloneColorPickerVisible=t,this._standaloneColorPickerFocused=i,this._modelService=g,this._keybindingService=y,this._languageFeaturesService=k,this._languageConfigurationService=L,this.allowEditorOverflow=!0,this._position=void 0,this._body=document.createElement("div"),this._colorHover=null,this._selectionSetInEditor=!1,this._onResult=this._register(new Emitter$1),this.onResult=this._onResult.event,this._standaloneColorPickerVisible.set(!0),this._standaloneColorPickerParticipant=r.createInstance(StandaloneColorPickerParticipant,this._editor),this._position=(V=this._editor._getViewModel())===null||V===void 0?void 0:V.getPrimaryCursorState().modelState.position;const z=this._editor.getSelection(),j=z?{startLineNumber:z.startLineNumber,startColumn:z.startColumn,endLineNumber:z.endLineNumber,endColumn:z.endColumn}:{startLineNumber:0,endLineNumber:0,endColumn:0,startColumn:0},ie=this._register(trackFocus(this._body));this._register(ie.onDidBlur(oe=>{this.hide()})),this._register(ie.onDidFocus(oe=>{this.focus()})),this._register(this._editor.onDidChangeCursorPosition(()=>{this._selectionSetInEditor?this._selectionSetInEditor=!1:this.hide()})),this._register(this._editor.onMouseMove(oe=>{var re;const ae=(re=oe.target.element)===null||re===void 0?void 0:re.classList;ae&&ae.contains("colorpicker-color-decoration")&&this.hide()})),this._register(this.onResult(oe=>{this._render(oe.value,oe.foundInEditor)})),this._start(j),this._body.style.zIndex="50",this._editor.addContentWidget(this)}updateEditor(){this._colorHover&&this._standaloneColorPickerParticipant.updateEditorModel(this._colorHover)}getId(){return StandaloneColorPickerWidget_1.ID}getDomNode(){return this._body}getPosition(){if(!this._position)return null;const e=this._editor.getOption(60).above;return{position:this._position,secondaryPosition:this._position,preference:e?[1,2]:[2,1],positionAffinity:2}}hide(){this.dispose(),this._standaloneColorPickerVisible.set(!1),this._standaloneColorPickerFocused.set(!1),this._editor.removeContentWidget(this),this._editor.focus()}focus(){this._standaloneColorPickerFocused.set(!0),this._body.focus()}async _start(e){const t=await this._computeAsync(e);t&&this._onResult.fire(new StandaloneColorPickerResult(t.result,t.foundInEditor))}async _computeAsync(e){if(!this._editor.hasModel())return null;const t={range:e,color:{red:0,green:0,blue:0,alpha:1}},i=await this._standaloneColorPickerParticipant.createColorHover(t,new DefaultDocumentColorProvider(this._modelService,this._languageConfigurationService),this._languageFeaturesService.colorProvider);return i?{result:i.colorHover,foundInEditor:i.foundInEditor}:null}_render(e,t){const i=document.createDocumentFragment(),r=this._register(new EditorHoverStatusBar(this._keybindingService));let g;const y={fragment:i,statusBar:r,setColorPicker:ae=>g=ae,onContentsChanged:()=>{},hide:()=>this.hide()};if(this._colorHover=e,this._register(this._standaloneColorPickerParticipant.renderHoverParts(y,[e])),g===void 0)return;this._body.classList.add("standalone-colorpicker-body"),this._body.style.maxHeight=Math.max(this._editor.getLayoutInfo().height/4,250)+"px",this._body.style.maxWidth=Math.max(this._editor.getLayoutInfo().width*.66,500)+"px",this._body.tabIndex=0,this._body.appendChild(i),g.layout();const k=g.body,L=k.saturationBox.domNode.clientWidth,V=k.domNode.clientWidth-L-CLOSE_BUTTON_WIDTH-PADDING,z=g.body.enterButton;z==null||z.onClicked(()=>{this.updateEditor(),this.hide()});const j=g.header,ie=j.pickedColorNode;ie.style.width=L+PADDING+"px";const oe=j.originalColorNode;oe.style.width=V+"px";const re=g.header.closeButton;re==null||re.onClicked(()=>{this.hide()}),t&&(z&&(z.button.textContent="Replace"),this._selectionSetInEditor=!0,this._editor.setSelection(e.range)),this._editor.layoutContentWidget(this)}};StandaloneColorPickerWidget.ID="editor.contrib.standaloneColorPickerWidget";StandaloneColorPickerWidget=StandaloneColorPickerWidget_1=__decorate$12([__param$_(3,IInstantiationService),__param$_(4,IModelService),__param$_(5,IKeybindingService),__param$_(6,ILanguageFeaturesService),__param$_(7,ILanguageConfigurationService)],StandaloneColorPickerWidget);class StandaloneColorPickerResult{constructor(e,t){this.value=e,this.foundInEditor=t}}class ShowOrFocusStandaloneColorPicker extends EditorAction2{constructor(){super({id:"editor.action.showOrFocusStandaloneColorPicker",title:{...localize2("showOrFocusStandaloneColorPicker","Show or Focus Standalone Color Picker"),mnemonicTitle:localize({},"&&Show or Focus Standalone Color Picker")},precondition:void 0,menu:[{id:MenuId.CommandPalette}]})}runEditorCommand(e,t){var i;(i=StandaloneColorPickerController.get(t))===null||i===void 0||i.showOrFocus()}}class HideStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.hideColorPicker",label:localize({},"Hide the Color Picker"),alias:"Hide the Color Picker",precondition:EditorContextKeys.standaloneColorPickerVisible.isEqualTo(!0),kbOpts:{primary:9,weight:100}})}run(e,t){var i;(i=StandaloneColorPickerController.get(t))===null||i===void 0||i.hide()}}class InsertColorWithStandaloneColorPicker extends EditorAction{constructor(){super({id:"editor.action.insertColorWithStandaloneColorPicker",label:localize({},"Insert Color with Standalone Color Picker"),alias:"Insert Color with Standalone Color Picker",precondition:EditorContextKeys.standaloneColorPickerFocused.isEqualTo(!0),kbOpts:{primary:3,weight:100}})}run(e,t){var i;(i=StandaloneColorPickerController.get(t))===null||i===void 0||i.insertColor()}}registerEditorAction(HideStandaloneColorPicker);registerEditorAction(InsertColorWithStandaloneColorPicker);registerAction2(ShowOrFocusStandaloneColorPicker);class BlockCommentCommand{constructor(e,t,i){this.languageConfigurationService=i,this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const r=t.length,g=e.length;if(i+r>g)return!1;for(let y=0;y=65&&k<=90&&k+32===L)&&!(L>=65&&L<=90&&L+32===k))return!1}return!0}_createOperationsForBlockComment(e,t,i,r,g,y){const k=e.startLineNumber,L=e.startColumn,V=e.endLineNumber,z=e.endColumn,j=g.getLineContent(k),ie=g.getLineContent(V);let oe=j.lastIndexOf(t,L-1+t.length),re=ie.indexOf(i,z-1-i.length);if(oe!==-1&&re!==-1)if(k===V)j.substring(oe+t.length,re).indexOf(i)>=0&&(oe=-1,re=-1);else{const le=j.substring(oe+t.length),de=ie.substring(0,re);(le.indexOf(i)>=0||de.indexOf(i)>=0)&&(oe=-1,re=-1)}let ae;oe!==-1&&re!==-1?(r&&oe+t.length0&&ie.charCodeAt(re-1)===32&&(i=" "+i,re-=1),ae=BlockCommentCommand._createRemoveBlockCommentOperations(new Range$2(k,oe+t.length+1,V,re+1),t,i)):(ae=BlockCommentCommand._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=ae.length===1?i:null);for(const le of ae)y.addTrackedEditOperation(le.range,le.text)}static _createRemoveBlockCommentOperations(e,t,i){const r=[];return Range$2.isEmpty(e)?r.push(EditOperation.delete(new Range$2(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(r.push(EditOperation.delete(new Range$2(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),r.push(EditOperation.delete(new Range$2(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),r}static _createAddBlockCommentOperations(e,t,i,r){const g=[];return Range$2.isEmpty(e)?g.push(EditOperation.replace(new Range$2(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(g.push(EditOperation.insert(new Position$1(e.startLineNumber,e.startColumn),t+(r?" ":""))),g.push(EditOperation.insert(new Position$1(e.endLineNumber,e.endColumn),(r?" ":"")+i))),g}getEditOperations(e,t){const i=this._selection.startLineNumber,r=this._selection.startColumn;e.tokenization.tokenizeIfCheap(i);const g=e.getLanguageIdAtPosition(i,r),y=this.languageConfigurationService.getLanguageConfiguration(g).comments;!y||!y.blockCommentStartToken||!y.blockCommentEndToken||this._createOperationsForBlockComment(this._selection,y.blockCommentStartToken,y.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(i.length===2){const r=i[0],g=i[1];return new Selection$1(r.range.endLineNumber,r.range.endColumn,g.range.startLineNumber,g.range.startColumn)}else{const r=i[0].range,g=this._usedEndToken?-this._usedEndToken.length-1:0;return new Selection$1(r.endLineNumber,r.endColumn+g,r.endLineNumber,r.endColumn+g)}}}class LineCommentCommand{constructor(e,t,i,r,g,y,k){this.languageConfigurationService=e,this._selection=t,this._indentSize=i,this._type=r,this._insertSpace=g,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=y,this._ignoreFirstLine=k||!1}static _gatherPreflightCommentStrings(e,t,i,r){e.tokenization.tokenizeIfCheap(t);const g=e.getLanguageIdAtPosition(t,1),y=r.getLanguageConfiguration(g).comments,k=y?y.lineCommentToken:null;if(!k)return null;const L=[];for(let V=0,z=i-t+1;Vg?t[L].commentStrOffset=y-1:t[L].commentStrOffset=y}}}class CommentLineAction extends EditorAction{constructor(e,t){super(t),this._type=e}run(e,t){const i=e.get(ILanguageConfigurationService);if(!t.hasModel())return;const r=t.getModel(),g=[],y=r.getOptions(),k=t.getOption(23),L=t.getSelections().map((z,j)=>({selection:z,index:j,ignoreFirstLine:!1}));L.sort((z,j)=>Range$2.compareRangesUsingStarts(z.selection,j.selection));let V=L[0];for(let z=1;z=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$Z=function(n,e){return function(t,i){e(t,i,n)}},ContextMenuController_1;let ContextMenuController=ContextMenuController_1=class{static get(e){return e.getContribution(ContextMenuController_1.ID)}constructor(e,t,i,r,g,y,k,L){this._contextMenuService=t,this._contextViewService=i,this._contextKeyService=r,this._keybindingService=g,this._menuService=y,this._configurationService=k,this._workspaceContextService=L,this._toDispose=new DisposableStore,this._contextMenuIsBeingShownCount=0,this._editor=e,this._toDispose.add(this._editor.onContextMenu(V=>this._onContextMenu(V))),this._toDispose.add(this._editor.onMouseWheel(V=>{if(this._contextMenuIsBeingShownCount>0){const z=this._contextViewService.getContextViewElement(),j=V.srcElement;j.shadowRoot&&getShadowRoot$2(z)===j.shadowRoot||this._contextViewService.hideContextView()}})),this._toDispose.add(this._editor.onKeyDown(V=>{this._editor.getOption(24)&&V.keyCode===58&&(V.preventDefault(),V.stopPropagation(),this.showContextMenu())}))}_onContextMenu(e){if(!this._editor.hasModel())return;if(!this._editor.getOption(24)){this._editor.focus(),e.target.position&&!this._editor.getSelection().containsPosition(e.target.position)&&this._editor.setPosition(e.target.position);return}if(e.target.type===12||e.target.type===6&&e.target.detail.injectedText)return;if(e.event.preventDefault(),e.event.stopPropagation(),e.target.type===11)return this._showScrollbarContextMenu(e.event);if(e.target.type!==6&&e.target.type!==7&&e.target.type!==1)return;if(this._editor.focus(),e.target.position){let i=!1;for(const r of this._editor.getSelections())if(r.containsPosition(e.target.position)){i=!0;break}i||this._editor.setPosition(e.target.position)}let t=null;e.target.type!==1&&(t=e.event),this.showContextMenu(t)}showContextMenu(e){if(!this._editor.getOption(24)||!this._editor.hasModel())return;const t=this._getMenuActions(this._editor.getModel(),this._editor.isSimpleWidget?MenuId.SimpleEditorContext:MenuId.EditorContext);t.length>0&&this._doShowContextMenu(t,e)}_getMenuActions(e,t){const i=[],r=this._menuService.createMenu(t,this._contextKeyService),g=r.getActions({arg:e.uri});r.dispose();for(const y of g){const[,k]=y;let L=0;for(const V of k)if(V instanceof SubmenuItemAction){const z=this._getMenuActions(e,V.item.submenu);z.length>0&&(i.push(new SubmenuAction(V.id,V.label,z)),L++)}else i.push(V),L++;L&&i.push(new Separator)}return i.length&&i.pop(),i}_doShowContextMenu(e,t=null){if(!this._editor.hasModel())return;const i=this._editor.getOption(60);this._editor.updateOptions({hover:{enabled:!1}});let r=t;if(!r){this._editor.revealPosition(this._editor.getPosition(),1),this._editor.render();const y=this._editor.getScrolledVisiblePosition(this._editor.getPosition()),k=getDomNodePagePosition(this._editor.getDomNode()),L=k.left+y.left,V=k.top+y.top+y.height;r={x:L,y:V}}const g=this._editor.getOption(127)&&!isIOS$1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:g?this._editor.getDomNode():void 0,getAnchor:()=>r,getActions:()=>e,getActionViewItem:y=>{const k=this._keybindingFor(y);if(k)return new ActionViewItem(y,y,{label:!0,keybinding:k.getLabel(),isMenu:!0});const L=y;return typeof L.getActionViewItem=="function"?L.getActionViewItem():new ActionViewItem(y,y,{icon:!0,label:!0,isMenu:!0})},getKeyBinding:y=>this._keybindingFor(y),onHide:y=>{this._contextMenuIsBeingShownCount--,this._editor.updateOptions({hover:i})}})}_showScrollbarContextMenu(e){if(!this._editor.hasModel()||isStandaloneEditorWorkspace(this._workspaceContextService.getWorkspace()))return;const t=this._editor.getOption(73);let i=0;const r=V=>({id:"menu-action-".concat(++i),label:V.label,tooltip:"",class:void 0,enabled:typeof V.enabled>"u"?!0:V.enabled,checked:V.checked,run:V.run}),g=(V,z)=>new SubmenuAction("menu-action-".concat(++i),V,z,void 0),y=(V,z,j,ie,oe)=>{if(!z)return r({label:V,enabled:z,run:()=>{}});const re=le=>()=>{this._configurationService.updateValue(j,le)},ae=[];for(const le of oe)ae.push(r({label:le.label,checked:ie===le.value,run:re(le.value)}));return g(V,ae)},k=[];k.push(r({label:localize("context.minimap.minimap","Minimap"),checked:t.enabled,run:()=>{this._configurationService.updateValue("editor.minimap.enabled",!t.enabled)}})),k.push(new Separator),k.push(r({label:localize("context.minimap.renderCharacters","Render Characters"),enabled:t.enabled,checked:t.renderCharacters,run:()=>{this._configurationService.updateValue("editor.minimap.renderCharacters",!t.renderCharacters)}})),k.push(y(localize("context.minimap.size","Vertical size"),t.enabled,"editor.minimap.size",t.size,[{label:localize("context.minimap.size.proportional","Proportional"),value:"proportional"},{label:localize("context.minimap.size.fill","Fill"),value:"fill"},{label:localize("context.minimap.size.fit","Fit"),value:"fit"}])),k.push(y(localize("context.minimap.slider","Slider"),t.enabled,"editor.minimap.showSlider",t.showSlider,[{label:localize("context.minimap.slider.mouseover","Mouse Over"),value:"mouseover"},{label:localize("context.minimap.slider.always","Always"),value:"always"}]));const L=this._editor.getOption(127)&&!isIOS$1;this._contextMenuIsBeingShownCount++,this._contextMenuService.showContextMenu({domForShadowRoot:L?this._editor.getDomNode():void 0,getAnchor:()=>e,getActions:()=>k,onHide:V=>{this._contextMenuIsBeingShownCount--,this._editor.focus()}})}_keybindingFor(e){return this._keybindingService.lookupKeybinding(e.id)}dispose(){this._contextMenuIsBeingShownCount>0&&this._contextViewService.hideContextView(),this._toDispose.dispose()}};ContextMenuController.ID="editor.contrib.contextmenu";ContextMenuController=ContextMenuController_1=__decorate$11([__param$Z(1,IContextMenuService),__param$Z(2,IContextViewService),__param$Z(3,IContextKeyService),__param$Z(4,IKeybindingService),__param$Z(5,IMenuService),__param$Z(6,IConfigurationService),__param$Z(7,IWorkspaceContextService)],ContextMenuController);class ShowContextMenu extends EditorAction{constructor(){super({id:"editor.action.showContextMenu",label:localize("action.showContextMenu.label","Show Editor Context Menu"),alias:"Show Editor Context Menu",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:1092,weight:100}})}run(e,t){var i;(i=ContextMenuController.get(t))===null||i===void 0||i.showContextMenu()}}registerEditorContribution(ContextMenuController.ID,ContextMenuController,2);registerEditorAction(ShowContextMenu);class CursorState{constructor(e){this.selections=e}equals(e){const t=this.selections.length,i=e.selections.length;if(t!==i)return!1;for(let r=0;r{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeModelContent(t=>{this._undoStack=[],this._redoStack=[]})),this._register(e.onDidChangeCursorSelection(t=>{if(this._isCursorUndoRedo||!t.oldSelections||t.oldModelVersionId!==t.modelVersionId)return;const i=new CursorState(t.oldSelections);this._undoStack.length>0&&this._undoStack[this._undoStack.length-1].cursorState.equals(i)||(this._undoStack.push(new StackElement(i,e.getScrollTop(),e.getScrollLeft())),this._redoStack=[],this._undoStack.length>50&&this._undoStack.shift())}))}cursorUndo(){!this._editor.hasModel()||this._undoStack.length===0||(this._redoStack.push(new StackElement(new CursorState(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._undoStack.pop()))}cursorRedo(){!this._editor.hasModel()||this._redoStack.length===0||(this._undoStack.push(new StackElement(new CursorState(this._editor.getSelections()),this._editor.getScrollTop(),this._editor.getScrollLeft())),this._applyState(this._redoStack.pop()))}_applyState(e){this._isCursorUndoRedo=!0,this._editor.setSelections(e.cursorState.selections),this._editor.setScrollPosition({scrollTop:e.scrollTop,scrollLeft:e.scrollLeft}),this._isCursorUndoRedo=!1}}CursorUndoRedoController.ID="editor.contrib.cursorUndoRedoController";class CursorUndo extends EditorAction{constructor(){super({id:"cursorUndo",label:localize("cursor.undo","Cursor Undo"),alias:"Cursor Undo",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2099,weight:100}})}run(e,t,i){var r;(r=CursorUndoRedoController.get(t))===null||r===void 0||r.cursorUndo()}}class CursorRedo extends EditorAction{constructor(){super({id:"cursorRedo",label:localize("cursor.redo","Cursor Redo"),alias:"Cursor Redo",precondition:void 0})}run(e,t,i){var r;(r=CursorUndoRedoController.get(t))===null||r===void 0||r.cursorRedo()}}registerEditorContribution(CursorUndoRedoController.ID,CursorUndoRedoController,0);registerEditorAction(CursorUndo);registerEditorAction(CursorRedo);class DragAndDropCommand{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){const i=e.getValueInRange(this.selection);if(this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new Range$2(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),this.selection.containsPosition(this.targetPosition)&&!(this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition)))){this.targetSelection=this.selection;return}if(this.copy){this.targetSelection=new Selection$1(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumber>this.selection.endLineNumber){this.targetSelection=new Selection$1(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn);return}if(this.targetPosition.lineNumberthis._onEditorMouseDown(t))),this._register(this._editor.onMouseUp(t=>this._onEditorMouseUp(t))),this._register(this._editor.onMouseDrag(t=>this._onEditorMouseDrag(t))),this._register(this._editor.onMouseDrop(t=>this._onEditorMouseDrop(t))),this._register(this._editor.onMouseDropCanceled(()=>this._onEditorMouseDropCanceled())),this._register(this._editor.onKeyDown(t=>this.onEditorKeyDown(t))),this._register(this._editor.onKeyUp(t=>this.onEditorKeyUp(t))),this._register(this._editor.onDidBlurEditorWidget(()=>this.onEditorBlur())),this._register(this._editor.onDidBlurEditorText(()=>this.onEditorBlur())),this._mouseDown=!1,this._modifierPressed=!1,this._dragSelection=null}onEditorBlur(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1}onEditorKeyDown(e){!this._editor.getOption(35)||this._editor.getOption(22)||(hasTriggerModifier(e)&&(this._modifierPressed=!0),this._mouseDown&&hasTriggerModifier(e)&&this._editor.updateOptions({mouseStyle:"copy"}))}onEditorKeyUp(e){!this._editor.getOption(35)||this._editor.getOption(22)||(hasTriggerModifier(e)&&(this._modifierPressed=!1),this._mouseDown&&e.keyCode===DragAndDropController.TRIGGER_KEY_VALUE&&this._editor.updateOptions({mouseStyle:"default"}))}_onEditorMouseDown(e){this._mouseDown=!0}_onEditorMouseUp(e){this._mouseDown=!1,this._editor.updateOptions({mouseStyle:"text"})}_onEditorMouseDrag(e){const t=e.target;if(this._dragSelection===null){const r=(this._editor.getSelections()||[]).filter(g=>t.position&&g.containsPosition(t.position));if(r.length===1)this._dragSelection=r[0];else return}hasTriggerModifier(e.event)?this._editor.updateOptions({mouseStyle:"copy"}):this._editor.updateOptions({mouseStyle:"default"}),t.position&&(this._dragSelection.containsPosition(t.position)?this._removeDecoration():this.showAt(t.position))}_onEditorMouseDropCanceled(){this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}_onEditorMouseDrop(e){if(e.target&&(this._hitContent(e.target)||this._hitMargin(e.target))&&e.target.position){const t=new Position$1(e.target.position.lineNumber,e.target.position.column);if(this._dragSelection===null){let i=null;if(e.event.shiftKey){const r=this._editor.getSelection();if(r){const{selectionStartLineNumber:g,selectionStartColumn:y}=r;i=[new Selection$1(g,y,t.lineNumber,t.column)]}}else i=(this._editor.getSelections()||[]).map(r=>r.containsPosition(t)?new Selection$1(t.lineNumber,t.column,t.lineNumber,t.column):r);this._editor.setSelections(i||[],"mouse",3)}else(!this._dragSelection.containsPosition(t)||(hasTriggerModifier(e.event)||this._modifierPressed)&&(this._dragSelection.getEndPosition().equals(t)||this._dragSelection.getStartPosition().equals(t)))&&(this._editor.pushUndoStop(),this._editor.executeCommand(DragAndDropController.ID,new DragAndDropCommand(this._dragSelection,t,hasTriggerModifier(e.event)||this._modifierPressed)),this._editor.pushUndoStop())}this._editor.updateOptions({mouseStyle:"text"}),this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1}showAt(e){this._dndDecorationIds.set([{range:new Range$2(e.lineNumber,e.column,e.lineNumber,e.column),options:DragAndDropController._DECORATION_OPTIONS}]),this._editor.revealPosition(e,1)}_removeDecoration(){this._dndDecorationIds.clear()}_hitContent(e){return e.type===6||e.type===7}_hitMargin(e){return e.type===2||e.type===3||e.type===4}dispose(){this._removeDecoration(),this._dragSelection=null,this._mouseDown=!1,this._modifierPressed=!1,super.dispose()}}DragAndDropController.ID="editor.contrib.dragAndDrop";DragAndDropController.TRIGGER_KEY_VALUE=isMacintosh?6:5;DragAndDropController._DECORATION_OPTIONS=ModelDecorationOptions.register({description:"dnd-target",className:"dnd-target"});registerEditorContribution(DragAndDropController.ID,DragAndDropController,2);var _a$3;registerEditorContribution(CopyPasteController.ID,CopyPasteController,0);registerEditorFeature(DefaultPasteProvidersFeature);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changePasteTypeCommandId,precondition:pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e){var t;return(t=CopyPasteController.get(e))===null||t===void 0?void 0:t.changePasteType()}});registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.hidePasteWidget",precondition:pasteWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e){var t;(t=CopyPasteController.get(e))===null||t===void 0||t.clearWidgets()}});registerEditorAction((_a$3=class extends EditorAction{constructor(){super({id:"editor.action.pasteAs",label:localize("pasteAs","Paste As..."),alias:"Paste As...",precondition:EditorContextKeys.writable,metadata:{description:"Paste as",args:[{name:"args",schema:_a$3.argsSchema}]}})}run(e,t,i){var r;let g=typeof(i==null?void 0:i.kind)=="string"?i.kind:void 0;return!g&&i&&(g=typeof i.id=="string"?i.id:void 0),(r=CopyPasteController.get(t))===null||r===void 0?void 0:r.pasteAs(g?new HierarchicalKind(g):void 0)}},_a$3.argsSchema={type:"object",properties:{kind:{type:"string",description:localize("pasteAs.kind","The kind of the paste edit to try applying. If not provided or there are multiple edits for this kind, the editor will show a picker.")}}},_a$3));registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.pasteAsText",label:localize("pasteAsText","Paste as Text"),alias:"Paste as Text",precondition:EditorContextKeys.writable})}run(n,e){var t;return(t=CopyPasteController.get(e))===null||t===void 0?void 0:t.pasteAs({providerId:DefaultTextPasteOrDropEditProvider.id})}});class TreeViewsDnDService{constructor(){this._dragOperations=new Map}removeDragOperationTransfer(e){if(e&&this._dragOperations.has(e)){const t=this._dragOperations.get(e);return this._dragOperations.delete(e),t}}}class DraggedTreeItemsIdentifier{constructor(e){this.identifier=e}}const ITreeViewsDnDService=createDecorator("treeViewsDndService");registerSingleton(ITreeViewsDnDService,TreeViewsDnDService,1);var __decorate$10=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$Y=function(n,e){return function(t,i){e(t,i,n)}},DropIntoEditorController_1;const defaultProviderConfig="editor.experimental.dropIntoEditor.defaultProvider",changeDropTypeCommandId="editor.changeDropType",dropWidgetVisibleCtx=new RawContextKey("dropWidgetVisible",!1,localize("dropWidgetVisible","Whether the drop widget is showing"));let DropIntoEditorController=DropIntoEditorController_1=class extends Disposable{static get(e){return e.getContribution(DropIntoEditorController_1.ID)}constructor(e,t,i,r,g){super(),this._configService=i,this._languageFeaturesService=r,this._treeViewsDragAndDropService=g,this.treeItemsTransfer=LocalSelectionTransfer.getInstance(),this._dropProgressManager=this._register(t.createInstance(InlineProgressManager,"dropIntoEditor",e)),this._postDropWidgetManager=this._register(t.createInstance(PostEditWidgetManager,"dropIntoEditor",e,dropWidgetVisibleCtx,{id:changeDropTypeCommandId,label:localize("postDropWidgetTitle","Show drop options...")})),this._register(e.onDropIntoEditor(y=>this.onDropIntoEditor(e,y.position,y.event)))}clearWidgets(){this._postDropWidgetManager.clear()}changeDropType(){this._postDropWidgetManager.tryShowSelector()}async onDropIntoEditor(e,t,i){var r;if(!i.dataTransfer||!e.hasModel())return;(r=this._currentOperation)===null||r===void 0||r.cancel(),e.focus(),e.setPosition(t);const g=createCancelablePromise(async y=>{const k=new EditorStateCancellationTokenSource(e,1,void 0,y);try{const L=await this.extractDataTransferData(i);if(L.size===0||k.token.isCancellationRequested)return;const V=e.getModel();if(!V)return;const z=this._languageFeaturesService.documentOnDropEditProvider.ordered(V).filter(ie=>ie.dropMimeTypes?ie.dropMimeTypes.some(oe=>L.matches(oe)):!0),j=await this.getDropEdits(z,V,t,L,k);if(k.token.isCancellationRequested)return;if(j.length){const ie=this.getInitialActiveEditIndex(V,j),oe=e.getOption(36).showDropSelector==="afterDrop";await this._postDropWidgetManager.applyEditAndShowIfNeeded([Range$2.fromPositions(t)],{activeEditIndex:ie,allEdits:j},oe,async re=>re,y)}}finally{k.dispose(),this._currentOperation===g&&(this._currentOperation=void 0)}});this._dropProgressManager.showWhile(t,localize("dropIntoEditorProgress","Running drop handlers. Click to cancel"),g),this._currentOperation=g}async getDropEdits(e,t,i,r,g){const y=await raceCancellation(Promise.all(e.map(async L=>{try{const V=await L.provideDocumentOnDropEdits(t,i,r,g.token);return V==null?void 0:V.map(z=>({...z,providerId:L.id}))}catch(V){console.error(V)}})),g.token),k=coalesce(y!=null?y:[]).flat();return sortEditsByYieldTo(k)}getInitialActiveEditIndex(e,t){const i=this._configService.getValue(defaultProviderConfig,{resource:e.uri});for(const[r,g]of Object.entries(i)){const y=new HierarchicalKind(g),k=t.findIndex(L=>y.value===L.providerId&&L.handledMimeType&&matchesMimeType(r,[L.handledMimeType]));if(k>=0)return k}return 0}async extractDataTransferData(e){if(!e.dataTransfer)return new VSDataTransfer;const t=toExternalVSDataTransfer(e.dataTransfer);if(this.treeItemsTransfer.hasData(DraggedTreeItemsIdentifier.prototype)){const i=this.treeItemsTransfer.getData(DraggedTreeItemsIdentifier.prototype);if(Array.isArray(i))for(const r of i){const g=await this._treeViewsDragAndDropService.removeDragOperationTransfer(r.identifier);if(g)for(const[y,k]of g)t.replace(y,k)}}return t}};DropIntoEditorController.ID="editor.contrib.dropIntoEditorController";DropIntoEditorController=DropIntoEditorController_1=__decorate$10([__param$Y(1,IInstantiationService),__param$Y(2,IConfigurationService),__param$Y(3,ILanguageFeaturesService),__param$Y(4,ITreeViewsDnDService)],DropIntoEditorController);registerEditorContribution(DropIntoEditorController.ID,DropIntoEditorController,2);registerEditorFeature(DefaultDropProvidersFeature);registerEditorCommand(new class extends EditorCommand{constructor(){super({id:changeDropTypeCommandId,precondition:dropWidgetVisibleCtx,kbOpts:{weight:100,primary:2137}})}runEditorCommand(n,e,t){var i;(i=DropIntoEditorController.get(e))===null||i===void 0||i.changeDropType()}});registerEditorCommand(new class extends EditorCommand{constructor(){super({id:"editor.hideDropWidget",precondition:dropWidgetVisibleCtx,kbOpts:{weight:100,primary:9}})}runEditorCommand(n,e,t){var i;(i=DropIntoEditorController.get(e))===null||i===void 0||i.clearWidgets()}});Registry.as(Extensions$6.Configuration).registerConfiguration({...editorConfigurationBaseNode,properties:{[defaultProviderConfig]:{type:"object",scope:5,description:localize("defaultProviderDescription","Configures the default drop provider to use for content of a given mime type."),default:{},additionalProperties:{type:"string"}}}});class FindDecorations{constructor(e){this._editor=e,this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null,this._startPosition=this._editor.getPosition()}dispose(){this._editor.removeDecorations(this._allDecorations()),this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}reset(){this._decorations=[],this._overviewRulerApproximateDecorations=[],this._findScopeDecorationIds=[],this._rangeHighlightDecorationId=null,this._highlightedDecorationId=null}getCount(){return this._decorations.length}getFindScope(){return this._findScopeDecorationIds[0]?this._editor.getModel().getDecorationRange(this._findScopeDecorationIds[0]):null}getFindScopes(){if(this._findScopeDecorationIds.length){const e=this._findScopeDecorationIds.map(t=>this._editor.getModel().getDecorationRange(t)).filter(t=>!!t);if(e.length)return e}return null}getStartPosition(){return this._startPosition}setStartPosition(e){this._startPosition=e,this.setCurrentFindMatch(null)}_getDecorationIndex(e){const t=this._decorations.indexOf(e);return t>=0?t+1:1}getDecorationRangeAt(e){const t=e{if(this._highlightedDecorationId!==null&&(r.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._FIND_MATCH_DECORATION),this._highlightedDecorationId=null),t!==null&&(this._highlightedDecorationId=t,r.changeDecorationOptions(this._highlightedDecorationId,FindDecorations._CURRENT_FIND_MATCH_DECORATION)),this._rangeHighlightDecorationId!==null&&(r.removeDecoration(this._rangeHighlightDecorationId),this._rangeHighlightDecorationId=null),t!==null){let g=this._editor.getModel().getDecorationRange(t);if(g.startLineNumber!==g.endLineNumber&&g.endColumn===1){const y=g.endLineNumber-1,k=this._editor.getModel().getLineMaxColumn(y);g=new Range$2(g.startLineNumber,g.startColumn,y,k)}this._rangeHighlightDecorationId=r.addDecoration(g,FindDecorations._RANGE_HIGHLIGHT_DECORATION)}}),i}set(e,t){this._editor.changeDecorations(i=>{let r=FindDecorations._FIND_MATCH_DECORATION;const g=[];if(e.length>1e3){r=FindDecorations._FIND_MATCH_NO_OVERVIEW_DECORATION;const k=this._editor.getModel().getLineCount(),V=this._editor.getLayoutInfo().height/k,z=Math.max(2,Math.ceil(3/V));let j=e[0].range.startLineNumber,ie=e[0].range.endLineNumber;for(let oe=1,re=e.length;oe=ae.startLineNumber?ae.endLineNumber>ie&&(ie=ae.endLineNumber):(g.push({range:new Range$2(j,1,ie,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION}),j=ae.startLineNumber,ie=ae.endLineNumber)}g.push({range:new Range$2(j,1,ie,1),options:FindDecorations._FIND_MATCH_ONLY_OVERVIEW_DECORATION})}const y=new Array(e.length);for(let k=0,L=e.length;ki.removeDecoration(k)),this._findScopeDecorationIds=[]),t!=null&&t.length&&(this._findScopeDecorationIds=t.map(k=>i.addDecoration(k,FindDecorations._FIND_SCOPE_DECORATION)))})}matchBeforePosition(e){if(this._decorations.length===0)return null;for(let t=this._decorations.length-1;t>=0;t--){const i=this._decorations[t],r=this._editor.getModel().getDecorationRange(i);if(!(!r||r.endLineNumber>e.lineNumber)){if(r.endLineNumbere.column))return r}}return this._editor.getModel().getDecorationRange(this._decorations[this._decorations.length-1])}matchAfterPosition(e){if(this._decorations.length===0)return null;for(let t=0,i=this._decorations.length;te.lineNumber)return g;if(!(g.startColumn0){const i=[];for(let y=0;yRange$2.compareRangesUsingStarts(y.range,k.range));const r=[];let g=i[0];for(let y=1;y0?e[0].toUpperCase()+e.substr(1):n[0][0].toUpperCase()!==n[0][0]&&e.length>0?e[0].toLowerCase()+e.substr(1):e}else return e}function validateSpecificSpecialCharacter(n,e,t){return n[0].indexOf(t)!==-1&&e.indexOf(t)!==-1&&n[0].split(t).length===e.split(t).length}function buildReplaceStringForSpecificSpecialCharacter(n,e,t){const i=e.split(t),r=n[0].split(t);let g="";return i.forEach((y,k)=>{g+=buildReplaceStringWithCasePreserved([r[k]],y)+t}),g.slice(0,-1)}class StaticValueReplacePattern{constructor(e){this.staticValue=e,this.kind=0}}class DynamicPiecesReplacePattern{constructor(e){this.pieces=e,this.kind=1}}class ReplacePattern{static fromStaticValue(e){return new ReplacePattern([ReplacePiece.staticValue(e)])}get hasReplacementPatterns(){return this._state.kind===1}constructor(e){!e||e.length===0?this._state=new StaticValueReplacePattern(""):e.length===1&&e[0].staticValue!==null?this._state=new StaticValueReplacePattern(e[0].staticValue):this._state=new DynamicPiecesReplacePattern(e)}buildReplaceString(e,t){if(this._state.kind===0)return t?buildReplaceStringWithCasePreserved(e,this._state.staticValue):this._state.staticValue;let i="";for(let r=0,g=this._state.pieces.length;r0){const L=[],V=y.caseOps.length;let z=0;for(let j=0,ie=k.length;j=V){L.push(k.slice(j));break}switch(y.caseOps[z]){case"U":L.push(k[j].toUpperCase());break;case"u":L.push(k[j].toUpperCase()),z++;break;case"L":L.push(k[j].toLowerCase());break;case"l":L.push(k[j].toLowerCase()),z++;break;default:L.push(k[j])}}k=L.join("")}i+=k}return i}static _substitute(e,t){if(t===null)return"";if(e===0)return t[0];let i="";for(;e>0;){if(e=r)break;const y=n.charCodeAt(i);switch(y){case 92:t.emitUnchanged(i-1),t.emitStatic("\\",i+1);break;case 110:t.emitUnchanged(i-1),t.emitStatic("\n",i+1);break;case 116:t.emitUnchanged(i-1),t.emitStatic(" ",i+1);break;case 117:case 85:case 108:case 76:t.emitUnchanged(i-1),t.emitStatic("",i+1),e.push(String.fromCharCode(y));break}continue}if(g===36){if(i++,i>=r)break;const y=n.charCodeAt(i);if(y===36){t.emitUnchanged(i-1),t.emitStatic("$",i+1);continue}if(y===48||y===38){t.emitUnchanged(i-1),t.emitMatchIndex(0,i+1,e),e.length=0;continue}if(49<=y&&y<=57){let k=y-48;if(i+1this.research(!1),100),this._toDispose.add(this._updateDecorationsScheduler),this._toDispose.add(this._editor.onDidChangeCursorPosition(i=>{(i.reason===3||i.reason===5||i.reason===6)&&this._decorations.setStartPosition(this._editor.getPosition())})),this._ignoreModelContentChanged=!1,this._toDispose.add(this._editor.onDidChangeModelContent(i=>{this._ignoreModelContentChanged||(i.isFlush&&this._decorations.reset(),this._decorations.setStartPosition(this._editor.getPosition()),this._updateDecorationsScheduler.schedule())})),this._toDispose.add(this._state.onFindReplaceStateChange(i=>this._onStateChanged(i))),this.research(!1,this._state.searchScope)}dispose(){this._isDisposed=!0,dispose(this._startSearchingTimer),this._toDispose.dispose()}_onStateChanged(e){this._isDisposed||this._editor.hasModel()&&(e.searchString||e.isReplaceRevealed||e.isRegex||e.wholeWord||e.matchCase||e.searchScope)&&(this._editor.getModel().isTooLargeForSyncing()?(this._startSearchingTimer.cancel(),this._startSearchingTimer.setIfNotSet(()=>{e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor)},RESEARCH_DELAY)):e.searchScope?this.research(e.moveCursor,this._state.searchScope):this.research(e.moveCursor))}static _getSearchRange(e,t){return t||e.getFullModelRange()}research(e,t){let i=null;typeof t<"u"?t!==null&&(Array.isArray(t)?i=t:i=[t]):i=this._decorations.getFindScopes(),i!==null&&(i=i.map(k=>{if(k.startLineNumber!==k.endLineNumber){let L=k.endLineNumber;return k.endColumn===1&&(L=L-1),new Range$2(k.startLineNumber,1,L,this._editor.getModel().getLineMaxColumn(L))}return k}));const r=this._findMatches(i,!1,MATCHES_LIMIT);this._decorations.set(r,i);const g=this._editor.getSelection();let y=this._decorations.getCurrentMatchesPosition(g);if(y===0&&r.length>0){const k=findFirstIdxMonotonousOrArrLen(r.map(L=>L.range),L=>Range$2.compareRangesUsingStarts(L,g)>=0);y=k>0?k-1+1:y}this._state.changeMatchInfo(y,this._decorations.getCount(),void 0),e&&this._editor.getOption(41).cursorMoveOnType&&this._moveToNextMatch(this._decorations.getStartPosition())}_hasMatches(){return this._state.matchesCount>0}_cannotFind(){if(!this._hasMatches()){const e=this._decorations.getFindScope();return e&&this._editor.revealRangeInCenterIfOutsideViewport(e,0),!0}return!1}_setCurrentFindMatch(e){const t=this._decorations.setCurrentFindMatch(e);this._state.changeMatchInfo(t,this._decorations.getCount(),e),this._editor.setSelection(e),this._editor.revealRangeInCenterIfOutsideViewport(e,0)}_prevSearchPosition(e){const t=this._state.isRegex&&(this._state.searchString.indexOf("^")>=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const g=this._editor.getModel();return t||r===1?(i===1?i=g.getLineCount():i--,r=g.getLineMaxColumn(i)):r--,new Position$1(i,r)}_moveToPrevMatch(e,t=!1){if(!this._state.canNavigateBack()){const z=this._decorations.matchAfterPosition(e);z&&this._setCurrentFindMatch(z);return}if(this._decorations.getCount()=0||this._state.searchString.indexOf("$")>=0);let{lineNumber:i,column:r}=e;const g=this._editor.getModel();return t||r===g.getLineMaxColumn(i)?(i===g.getLineCount()?i=1:i++,r=1):r++,new Position$1(i,r)}_moveToNextMatch(e){if(!this._state.canNavigateForward()){const i=this._decorations.matchBeforePosition(e);i&&this._setCurrentFindMatch(i);return}if(this._decorations.getCount()FindModelBoundToEditorModel._getSearchRange(this._editor.getModel(),g));return this._editor.getModel().findMatches(this._state.searchString,r,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null,t,i)}replaceAll(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();e===null&&this._state.matchesCount>=MATCHES_LIMIT?this._largeReplaceAll():this._regularReplaceAll(e),this.research(!1)}_largeReplaceAll(){const t=new SearchParams(this._state.searchString,this._state.isRegex,this._state.matchCase,this._state.wholeWord?this._editor.getOption(131):null).parseSearchRequest();if(!t)return;let i=t.regex;if(!i.multiline){let j="mu";i.ignoreCase&&(j+="i"),i.global&&(j+="g"),i=new RegExp(i.source,j)}const r=this._editor.getModel(),g=r.getValue(1),y=r.getFullModelRange(),k=this._getReplacePattern();let L;const V=this._state.preserveCase;k.hasReplacementPatterns||V?L=g.replace(i,function(){return k.buildReplaceString(arguments,V)}):L=g.replace(i,k.buildReplaceString(null,V));const z=new ReplaceCommandThatPreservesSelection(y,L,this._editor.getSelection());this._executeEditorCommand("replaceAll",z)}_regularReplaceAll(e){const t=this._getReplacePattern(),i=this._findMatches(e,t.hasReplacementPatterns||this._state.preserveCase,1073741824),r=[];for(let y=0,k=i.length;yy.range),r);this._executeEditorCommand("replaceAll",g)}selectAllMatches(){if(!this._hasMatches())return;const e=this._decorations.getFindScopes();let i=this._findMatches(e,!1,1073741824).map(g=>new Selection$1(g.range.startLineNumber,g.range.startColumn,g.range.endLineNumber,g.range.endColumn));const r=this._editor.getSelection();for(let g=0,y=i.length;gthis._hide(),2e3)),this._isVisible=!1,this._editor=e,this._state=t,this._keybindingService=i,this._domNode=document.createElement("div"),this._domNode.className="findOptionsWidget",this._domNode.style.display="none",this._domNode.style.top="10px",this._domNode.style.zIndex="12",this._domNode.setAttribute("role","presentation"),this._domNode.setAttribute("aria-hidden","true");const r={inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground),inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground)},g=this._register(createInstantHoverDelegate());this.caseSensitive=this._register(new CaseSensitiveToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),isChecked:this._state.matchCase,hoverDelegate:g,...r})),this._domNode.appendChild(this.caseSensitive.domNode),this._register(this.caseSensitive.onChange(()=>{this._state.change({matchCase:this.caseSensitive.checked},!1)})),this.wholeWords=this._register(new WholeWordsToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),isChecked:this._state.wholeWord,hoverDelegate:g,...r})),this._domNode.appendChild(this.wholeWords.domNode),this._register(this.wholeWords.onChange(()=>{this._state.change({wholeWord:this.wholeWords.checked},!1)})),this.regex=this._register(new RegexToggle({appendTitle:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),isChecked:this._state.isRegex,hoverDelegate:g,...r})),this._domNode.appendChild(this.regex.domNode),this._register(this.regex.onChange(()=>{this._state.change({isRegex:this.regex.checked},!1)})),this._editor.addOverlayWidget(this),this._register(this._state.onFindReplaceStateChange(y=>{let k=!1;y.isRegex&&(this.regex.checked=this._state.isRegex,k=!0),y.wholeWord&&(this.wholeWords.checked=this._state.wholeWord,k=!0),y.matchCase&&(this.caseSensitive.checked=this._state.matchCase,k=!0),!this._state.isRevealed&&k&&this._revealTemporarily()})),this._register(addDisposableListener(this._domNode,EventType$1.MOUSE_LEAVE,y=>this._onMouseLeave())),this._register(addDisposableListener(this._domNode,"mouseover",y=>this._onMouseOver()))}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?" (".concat(t.getLabel(),")"):""}dispose(){this._editor.removeOverlayWidget(this),super.dispose()}getId(){return FindOptionsWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:0}}highlightFindOptions(){this._revealTemporarily()}_revealTemporarily(){this._show(),this._hideSoon.schedule()}_onMouseLeave(){this._hideSoon.schedule()}_onMouseOver(){this._hideSoon.cancel()}_show(){this._isVisible||(this._isVisible=!0,this._domNode.style.display="block")}_hide(){this._isVisible&&(this._isVisible=!1,this._domNode.style.display="none")}}FindOptionsWidget.ID="editor.contrib.findOptionsWidget";function effectiveOptionValue(n,e){return n===1?!0:n===2?!1:e}class FindReplaceState extends Disposable{get searchString(){return this._searchString}get replaceString(){return this._replaceString}get isRevealed(){return this._isRevealed}get isReplaceRevealed(){return this._isReplaceRevealed}get isRegex(){return effectiveOptionValue(this._isRegexOverride,this._isRegex)}get wholeWord(){return effectiveOptionValue(this._wholeWordOverride,this._wholeWord)}get matchCase(){return effectiveOptionValue(this._matchCaseOverride,this._matchCase)}get preserveCase(){return effectiveOptionValue(this._preserveCaseOverride,this._preserveCase)}get actualIsRegex(){return this._isRegex}get actualWholeWord(){return this._wholeWord}get actualMatchCase(){return this._matchCase}get actualPreserveCase(){return this._preserveCase}get searchScope(){return this._searchScope}get matchesPosition(){return this._matchesPosition}get matchesCount(){return this._matchesCount}get currentMatch(){return this._currentMatch}constructor(){super(),this._onFindReplaceStateChange=this._register(new Emitter$1),this.onFindReplaceStateChange=this._onFindReplaceStateChange.event,this._searchString="",this._replaceString="",this._isRevealed=!1,this._isReplaceRevealed=!1,this._isRegex=!1,this._isRegexOverride=0,this._wholeWord=!1,this._wholeWordOverride=0,this._matchCase=!1,this._matchCaseOverride=0,this._preserveCase=!1,this._preserveCaseOverride=0,this._searchScope=null,this._matchesPosition=0,this._matchesCount=0,this._currentMatch=null,this._loop=!0,this._isSearching=!1,this._filters=null}changeMatchInfo(e,t,i){const r={moveCursor:!1,updateHistory:!1,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let g=!1;t===0&&(e=0),e>t&&(e=t),this._matchesPosition!==e&&(this._matchesPosition=e,r.matchesPosition=!0,g=!0),this._matchesCount!==t&&(this._matchesCount=t,r.matchesCount=!0,g=!0),typeof i<"u"&&(Range$2.equalsRange(this._currentMatch,i)||(this._currentMatch=i,r.currentMatch=!0,g=!0)),g&&this._onFindReplaceStateChange.fire(r)}change(e,t,i=!0){var r;const g={moveCursor:t,updateHistory:i,searchString:!1,replaceString:!1,isRevealed:!1,isReplaceRevealed:!1,isRegex:!1,wholeWord:!1,matchCase:!1,preserveCase:!1,searchScope:!1,matchesPosition:!1,matchesCount:!1,currentMatch:!1,loop:!1,isSearching:!1,filters:!1};let y=!1;const k=this.isRegex,L=this.wholeWord,V=this.matchCase,z=this.preserveCase;typeof e.searchString<"u"&&this._searchString!==e.searchString&&(this._searchString=e.searchString,g.searchString=!0,y=!0),typeof e.replaceString<"u"&&this._replaceString!==e.replaceString&&(this._replaceString=e.replaceString,g.replaceString=!0,y=!0),typeof e.isRevealed<"u"&&this._isRevealed!==e.isRevealed&&(this._isRevealed=e.isRevealed,g.isRevealed=!0,y=!0),typeof e.isReplaceRevealed<"u"&&this._isReplaceRevealed!==e.isReplaceRevealed&&(this._isReplaceRevealed=e.isReplaceRevealed,g.isReplaceRevealed=!0,y=!0),typeof e.isRegex<"u"&&(this._isRegex=e.isRegex),typeof e.wholeWord<"u"&&(this._wholeWord=e.wholeWord),typeof e.matchCase<"u"&&(this._matchCase=e.matchCase),typeof e.preserveCase<"u"&&(this._preserveCase=e.preserveCase),typeof e.searchScope<"u"&&(!((r=e.searchScope)===null||r===void 0)&&r.every(j=>{var ie;return(ie=this._searchScope)===null||ie===void 0?void 0:ie.some(oe=>!Range$2.equalsRange(oe,j))})||(this._searchScope=e.searchScope,g.searchScope=!0,y=!0)),typeof e.loop<"u"&&this._loop!==e.loop&&(this._loop=e.loop,g.loop=!0,y=!0),typeof e.isSearching<"u"&&this._isSearching!==e.isSearching&&(this._isSearching=e.isSearching,g.isSearching=!0,y=!0),typeof e.filters<"u"&&(this._filters?this._filters.update(e.filters):this._filters=e.filters,g.filters=!0,y=!0),this._isRegexOverride=typeof e.isRegexOverride<"u"?e.isRegexOverride:0,this._wholeWordOverride=typeof e.wholeWordOverride<"u"?e.wholeWordOverride:0,this._matchCaseOverride=typeof e.matchCaseOverride<"u"?e.matchCaseOverride:0,this._preserveCaseOverride=typeof e.preserveCaseOverride<"u"?e.preserveCaseOverride:0,k!==this.isRegex&&(y=!0,g.isRegex=!0),L!==this.wholeWord&&(y=!0,g.wholeWord=!0),V!==this.matchCase&&(y=!0,g.matchCase=!0),z!==this.preserveCase&&(y=!0,g.preserveCase=!0),y&&this._onFindReplaceStateChange.fire(g)}canNavigateBack(){return this.canNavigateInLoop()||this.matchesPosition!==1}canNavigateForward(){return this.canNavigateInLoop()||this.matchesPosition=MATCHES_LIMIT}}const NLS_DEFAULT_LABEL=localize("defaultLabel","input"),NLS_PRESERVE_CASE_LABEL=localize("label.preserveCaseToggle","Preserve Case");class PreserveCaseToggle extends Toggle{constructor(e){var t;super({icon:Codicon.preserveCase,title:NLS_PRESERVE_CASE_LABEL+e.appendTitle,isChecked:e.isChecked,hoverDelegate:(t=e.hoverDelegate)!==null&&t!==void 0?t:getDefaultHoverDelegate("element"),inputActiveOptionBorder:e.inputActiveOptionBorder,inputActiveOptionForeground:e.inputActiveOptionForeground,inputActiveOptionBackground:e.inputActiveOptionBackground})}}class ReplaceInput extends Widget$1{constructor(e,t,i,r){super(),this._showOptionButtons=i,this.fixFocusOnOptionClickEnabled=!0,this.cachedOptionsWidth=0,this._onDidOptionChange=this._register(new Emitter$1),this.onDidOptionChange=this._onDidOptionChange.event,this._onKeyDown=this._register(new Emitter$1),this.onKeyDown=this._onKeyDown.event,this._onMouseDown=this._register(new Emitter$1),this._onInput=this._register(new Emitter$1),this._onKeyUp=this._register(new Emitter$1),this._onPreserveCaseKeyDown=this._register(new Emitter$1),this.onPreserveCaseKeyDown=this._onPreserveCaseKeyDown.event,this.contextViewProvider=t,this.placeholder=r.placeholder||"",this.validation=r.validation,this.label=r.label||NLS_DEFAULT_LABEL;const g=r.appendPreserveCaseLabel||"",y=r.history||[],k=!!r.flexibleHeight,L=!!r.flexibleWidth,V=r.flexibleMaxHeight;this.domNode=document.createElement("div"),this.domNode.classList.add("monaco-findInput"),this.inputBox=this._register(new HistoryInputBox(this.domNode,this.contextViewProvider,{ariaLabel:this.label||"",placeholder:this.placeholder||"",validationOptions:{validation:this.validation},history:y,showHistoryHint:r.showHistoryHint,flexibleHeight:k,flexibleWidth:L,flexibleMaxHeight:V,inputBoxStyles:r.inputBoxStyles})),this.preserveCase=this._register(new PreserveCaseToggle({appendTitle:g,isChecked:!1,...r.toggleStyles})),this._register(this.preserveCase.onChange(ie=>{this._onDidOptionChange.fire(ie),!ie&&this.fixFocusOnOptionClickEnabled&&this.inputBox.focus(),this.validate()})),this._register(this.preserveCase.onKeyDown(ie=>{this._onPreserveCaseKeyDown.fire(ie)})),this._showOptionButtons?this.cachedOptionsWidth=this.preserveCase.width():this.cachedOptionsWidth=0;const z=[this.preserveCase.domNode];this.onkeydown(this.domNode,ie=>{if(ie.equals(15)||ie.equals(17)||ie.equals(9)){const oe=z.indexOf(this.domNode.ownerDocument.activeElement);if(oe>=0){let re=-1;ie.equals(17)?re=(oe+1)%z.length:ie.equals(15)&&(oe===0?re=z.length-1:re=oe-1),ie.equals(9)?(z[oe].blur(),this.inputBox.focus()):re>=0&&z[re].focus(),EventHelper$1.stop(ie,!0)}}});const j=document.createElement("div");j.className="controls",j.style.display=this._showOptionButtons?"block":"none",j.appendChild(this.preserveCase.domNode),this.domNode.appendChild(j),e==null||e.appendChild(this.domNode),this.onkeydown(this.inputBox.inputElement,ie=>this._onKeyDown.fire(ie)),this.onkeyup(this.inputBox.inputElement,ie=>this._onKeyUp.fire(ie)),this.oninput(this.inputBox.inputElement,ie=>this._onInput.fire()),this.onmousedown(this.inputBox.inputElement,ie=>this._onMouseDown.fire(ie))}enable(){this.domNode.classList.remove("disabled"),this.inputBox.enable(),this.preserveCase.enable()}disable(){this.domNode.classList.add("disabled"),this.inputBox.disable(),this.preserveCase.disable()}setEnabled(e){e?this.enable():this.disable()}select(){this.inputBox.select()}focus(){this.inputBox.focus()}getPreserveCase(){return this.preserveCase.checked}setPreserveCase(e){this.preserveCase.checked=e}focusOnPreserve(){this.preserveCase.focus()}validate(){var e;(e=this.inputBox)===null||e===void 0||e.validate()}set width(e){this.inputBox.paddingRight=this.cachedOptionsWidth,this.domNode.style.width=e+"px"}dispose(){super.dispose()}}var __decorate$$=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$X=function(n,e){return function(t,i){e(t,i,n)}};const historyNavigationVisible=new RawContextKey("suggestWidgetVisible",!1,localize("suggestWidgetVisible","Whether suggestion are visible")),HistoryNavigationWidgetFocusContext="historyNavigationWidgetFocus",HistoryNavigationForwardsEnablementContext="historyNavigationForwardsEnabled",HistoryNavigationBackwardsEnablementContext="historyNavigationBackwardsEnabled";let lastFocusedWidget;const widgets=[];function registerAndCreateHistoryNavigationContext(n,e){if(widgets.includes(e))throw new Error("Cannot register the same widget multiple times");widgets.push(e);const t=new DisposableStore,i=new RawContextKey(HistoryNavigationWidgetFocusContext,!1).bindTo(n),r=new RawContextKey(HistoryNavigationForwardsEnablementContext,!0).bindTo(n),g=new RawContextKey(HistoryNavigationBackwardsEnablementContext,!0).bindTo(n),y=()=>{i.set(!0),lastFocusedWidget=e},k=()=>{i.set(!1),lastFocusedWidget===e&&(lastFocusedWidget=void 0)};return isActiveElement(e.element)&&y(),t.add(e.onDidFocus(()=>y())),t.add(e.onDidBlur(()=>k())),t.add(toDisposable(()=>{widgets.splice(widgets.indexOf(e),1),k()})),{historyNavigationForwardsEnablement:r,historyNavigationBackwardsEnablement:g,dispose(){t.dispose()}}}let ContextScopedFindInput=class extends FindInput{constructor(e,t,i,r){super(e,t,i);const g=this._register(r.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(g,this.inputBox))}};ContextScopedFindInput=__decorate$$([__param$X(3,IContextKeyService)],ContextScopedFindInput);let ContextScopedReplaceInput=class extends ReplaceInput{constructor(e,t,i,r,g=!1){super(e,t,g,i);const y=this._register(r.createScoped(this.inputBox.element));this._register(registerAndCreateHistoryNavigationContext(y,this.inputBox))}};ContextScopedReplaceInput=__decorate$$([__param$X(3,IContextKeyService)],ContextScopedReplaceInput);KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showPrevious",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationBackwardsEnablementContext,!0),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(!1)),primary:16,secondary:[528],handler:n=>{lastFocusedWidget==null||lastFocusedWidget.showPreviousValue()}});KeybindingsRegistry.registerCommandAndKeybindingRule({id:"history.showNext",weight:200,when:ContextKeyExpr.and(ContextKeyExpr.has(HistoryNavigationWidgetFocusContext),ContextKeyExpr.equals(HistoryNavigationForwardsEnablementContext,!0),ContextKeyExpr.not("isComposing"),historyNavigationVisible.isEqualTo(!1)),primary:18,secondary:[530],handler:n=>{lastFocusedWidget==null||lastFocusedWidget.showNextValue()}});function showHistoryKeybindingHint(n){var e,t;return((e=n.lookupKeybinding("history.showPrevious"))===null||e===void 0?void 0:e.getElectronAccelerator())==="Up"&&((t=n.lookupKeybinding("history.showNext"))===null||t===void 0?void 0:t.getElectronAccelerator())==="Down"}const findSelectionIcon=registerIcon("find-selection",Codicon.selection,localize("findSelectionIcon","Icon for 'Find in Selection' in the editor find widget.")),findCollapsedIcon=registerIcon("find-collapsed",Codicon.chevronRight,localize("findCollapsedIcon","Icon to indicate that the editor find widget is collapsed.")),findExpandedIcon=registerIcon("find-expanded",Codicon.chevronDown,localize("findExpandedIcon","Icon to indicate that the editor find widget is expanded.")),findReplaceIcon=registerIcon("find-replace",Codicon.replace,localize("findReplaceIcon","Icon for 'Replace' in the editor find widget.")),findReplaceAllIcon=registerIcon("find-replace-all",Codicon.replaceAll,localize("findReplaceAllIcon","Icon for 'Replace All' in the editor find widget.")),findPreviousMatchIcon=registerIcon("find-previous-match",Codicon.arrowUp,localize("findPreviousMatchIcon","Icon for 'Find Previous' in the editor find widget.")),findNextMatchIcon=registerIcon("find-next-match",Codicon.arrowDown,localize("findNextMatchIcon","Icon for 'Find Next' in the editor find widget.")),NLS_FIND_DIALOG_LABEL=localize("label.findDialog","Find / Replace"),NLS_FIND_INPUT_LABEL=localize("label.find","Find"),NLS_FIND_INPUT_PLACEHOLDER=localize("placeholder.find","Find"),NLS_PREVIOUS_MATCH_BTN_LABEL=localize("label.previousMatchButton","Previous Match"),NLS_NEXT_MATCH_BTN_LABEL=localize("label.nextMatchButton","Next Match"),NLS_TOGGLE_SELECTION_FIND_TITLE=localize("label.toggleSelectionFind","Find in Selection"),NLS_CLOSE_BTN_LABEL=localize("label.closeButton","Close"),NLS_REPLACE_INPUT_LABEL=localize("label.replace","Replace"),NLS_REPLACE_INPUT_PLACEHOLDER=localize("placeholder.replace","Replace"),NLS_REPLACE_BTN_LABEL=localize("label.replaceButton","Replace"),NLS_REPLACE_ALL_BTN_LABEL=localize("label.replaceAllButton","Replace All"),NLS_TOGGLE_REPLACE_MODE_BTN_LABEL=localize("label.toggleReplaceButton","Toggle Replace"),NLS_MATCHES_COUNT_LIMIT_TITLE=localize("title.matchesCountLimit","Only the first {0} results are highlighted, but all find operations work on the entire text.",MATCHES_LIMIT),NLS_MATCHES_LOCATION=localize("label.matchesLocation","{0} of {1}"),NLS_NO_RESULTS=localize("label.noResults","No results"),FIND_WIDGET_INITIAL_WIDTH=419,PART_WIDTH=275,FIND_INPUT_AREA_WIDTH=PART_WIDTH-54;let MAX_MATCHES_COUNT_WIDTH=69;const FIND_INPUT_AREA_HEIGHT=33,ctrlEnterReplaceAllWarningPromptedKey="ctrlEnterReplaceAll.windows.donotask",ctrlKeyMod=isMacintosh?256:2048;class FindWidgetViewZone{constructor(e){this.afterLineNumber=e,this.heightInPx=FIND_INPUT_AREA_HEIGHT,this.suppressMouseDown=!1,this.domNode=document.createElement("div"),this.domNode.className="dock-find-viewzone"}}function stopPropagationForMultiLineUpwards(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionStart>0){n.stopPropagation();return}}function stopPropagationForMultiLineDownwards(n,e,t){const i=!!e.match(/\n/);if(t&&i&&t.selectionEndthis._updateHistoryDelayer.cancel())),this._register(this._state.onFindReplaceStateChange(z=>this._onStateChanged(z))),this._buildDomNode(),this._updateButtons(),this._tryUpdateWidgetWidth(),this._findInput.inputBox.layout(),this._register(this._codeEditor.onDidChangeConfiguration(z=>{if(z.hasChanged(91)&&(this._codeEditor.getOption(91)&&this._state.change({isReplaceRevealed:!1},!1),this._updateButtons()),z.hasChanged(145)&&this._tryUpdateWidgetWidth(),z.hasChanged(2)&&this.updateAccessibilitySupport(),z.hasChanged(41)){const j=this._codeEditor.getOption(41).loop;this._state.change({loop:j},!1);const ie=this._codeEditor.getOption(41).addExtraSpaceOnTop;ie&&!this._viewZone&&(this._viewZone=new FindWidgetViewZone(0),this._showViewZone()),!ie&&this._viewZone&&this._removeViewZone()}})),this.updateAccessibilitySupport(),this._register(this._codeEditor.onDidChangeCursorSelection(()=>{this._isVisible&&this._updateToggleSelectionFindButton()})),this._register(this._codeEditor.onDidFocusEditorWidget(async()=>{if(this._isVisible){const z=await this._controller.getGlobalBufferTerm();z&&z!==this._state.searchString&&(this._state.change({searchString:z},!1),this._findInput.select())}})),this._findInputFocused=CONTEXT_FIND_INPUT_FOCUSED.bindTo(y),this._findFocusTracker=this._register(trackFocus(this._findInput.inputBox.inputElement)),this._register(this._findFocusTracker.onDidFocus(()=>{this._findInputFocused.set(!0),this._updateSearchScope()})),this._register(this._findFocusTracker.onDidBlur(()=>{this._findInputFocused.set(!1)})),this._replaceInputFocused=CONTEXT_REPLACE_INPUT_FOCUSED.bindTo(y),this._replaceFocusTracker=this._register(trackFocus(this._replaceInput.inputBox.inputElement)),this._register(this._replaceFocusTracker.onDidFocus(()=>{this._replaceInputFocused.set(!0),this._updateSearchScope()})),this._register(this._replaceFocusTracker.onDidBlur(()=>{this._replaceInputFocused.set(!1)})),this._codeEditor.addOverlayWidget(this),this._codeEditor.getOption(41).addExtraSpaceOnTop&&(this._viewZone=new FindWidgetViewZone(0)),this._register(this._codeEditor.onDidChangeModel(()=>{this._isVisible&&(this._viewZoneId=void 0)})),this._register(this._codeEditor.onDidScrollChange(z=>{if(z.scrollTopChanged){this._layoutViewZone();return}setTimeout(()=>{this._layoutViewZone()},0)}))}getId(){return FindWidget.ID}getDomNode(){return this._domNode}getPosition(){return this._isVisible?{preference:0}:null}_onStateChanged(e){if(e.searchString){try{this._ignoreChangeEvent=!0,this._findInput.setValue(this._state.searchString)}finally{this._ignoreChangeEvent=!1}this._updateButtons()}if(e.replaceString&&(this._replaceInput.inputBox.value=this._state.replaceString),e.isRevealed&&(this._state.isRevealed?this._reveal():this._hide(!0)),e.isReplaceRevealed&&(this._state.isReplaceRevealed?!this._codeEditor.getOption(91)&&!this._isReplaceVisible&&(this._isReplaceVisible=!0,this._replaceInput.width=getTotalWidth(this._findInput.domNode),this._updateButtons(),this._replaceInput.inputBox.layout()):this._isReplaceVisible&&(this._isReplaceVisible=!1,this._updateButtons())),(e.isRevealed||e.isReplaceRevealed)&&(this._state.isRevealed||this._state.isReplaceRevealed)&&this._tryUpdateHeight()&&this._showViewZone(),e.isRegex&&this._findInput.setRegex(this._state.isRegex),e.wholeWord&&this._findInput.setWholeWords(this._state.wholeWord),e.matchCase&&this._findInput.setCaseSensitive(this._state.matchCase),e.preserveCase&&this._replaceInput.setPreserveCase(this._state.preserveCase),e.searchScope&&(this._state.searchScope?this._toggleSelectionFind.checked=!0:this._toggleSelectionFind.checked=!1,this._updateToggleSelectionFindButton()),e.searchString||e.matchesCount||e.matchesPosition){const t=this._state.searchString.length>0&&this._state.matchesCount===0;this._domNode.classList.toggle("no-results",t),this._updateMatchesCount(),this._updateButtons()}(e.searchString||e.currentMatch)&&this._layoutViewZone(),e.updateHistory&&this._delayedUpdateHistory(),e.loop&&this._updateButtons()}_delayedUpdateHistory(){this._updateHistoryDelayer.trigger(this._updateHistory.bind(this)).then(void 0,onUnexpectedError)}_updateHistory(){this._state.searchString&&this._findInput.inputBox.addToHistory(),this._state.replaceString&&this._replaceInput.inputBox.addToHistory()}_updateMatchesCount(){this._matchesCount.style.minWidth=MAX_MATCHES_COUNT_WIDTH+"px",this._state.matchesCount>=MATCHES_LIMIT?this._matchesCount.title=NLS_MATCHES_COUNT_LIMIT_TITLE:this._matchesCount.title="",this._matchesCount.firstChild&&this._matchesCount.removeChild(this._matchesCount.firstChild);let e;if(this._state.matchesCount>0){let t=String(this._state.matchesCount);this._state.matchesCount>=MATCHES_LIMIT&&(t+="+");let i=String(this._state.matchesPosition);i==="0"&&(i="?"),e=format(NLS_MATCHES_LOCATION,i,t)}else e=NLS_NO_RESULTS;this._matchesCount.appendChild(document.createTextNode(e)),alert(this._getAriaLabel(e,this._state.currentMatch,this._state.searchString)),MAX_MATCHES_COUNT_WIDTH=Math.max(MAX_MATCHES_COUNT_WIDTH,this._matchesCount.clientWidth)}_getAriaLabel(e,t,i){if(e===NLS_NO_RESULTS)return i===""?localize("ariaSearchNoResultEmpty","{0} found",e):localize("ariaSearchNoResult","{0} found for '{1}'",e,i);if(t){const r=localize("ariaSearchNoResultWithLineNum","{0} found for '{1}', at {2}",e,i,t.startLineNumber+":"+t.startColumn),g=this._codeEditor.getModel();if(g&&t.startLineNumber<=g.getLineCount()&&t.startLineNumber>=1){const y=g.getLineContent(t.startLineNumber);return"".concat(y,", ").concat(r)}return r}return localize("ariaSearchNoResultWithLineNumNoCurrentMatch","{0} found for '{1}'",e,i)}_updateToggleSelectionFindButton(){const e=this._codeEditor.getSelection(),t=e?e.startLineNumber!==e.endLineNumber||e.startColumn!==e.endColumn:!1,i=this._toggleSelectionFind.checked;this._isVisible&&(i||t)?this._toggleSelectionFind.enable():this._toggleSelectionFind.disable()}_updateButtons(){this._findInput.setEnabled(this._isVisible),this._replaceInput.setEnabled(this._isVisible&&this._isReplaceVisible),this._updateToggleSelectionFindButton(),this._closeBtn.setEnabled(this._isVisible);const e=this._state.searchString.length>0,t=!!this._state.matchesCount;this._prevBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateBack()),this._nextBtn.setEnabled(this._isVisible&&e&&t&&this._state.canNavigateForward()),this._replaceBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._replaceAllBtn.setEnabled(this._isVisible&&this._isReplaceVisible&&e),this._domNode.classList.toggle("replaceToggled",this._isReplaceVisible),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible);const i=!this._codeEditor.getOption(91);this._toggleReplaceBtn.setEnabled(this._isVisible&&i)}_reveal(){if(this._revealTimeouts.forEach(e=>{clearTimeout(e)}),this._revealTimeouts=[],!this._isVisible){this._isVisible=!0;const e=this._codeEditor.getSelection();switch(this._codeEditor.getOption(41).autoFindInSelection){case"always":this._toggleSelectionFind.checked=!0;break;case"never":this._toggleSelectionFind.checked=!1;break;case"multiline":{const i=!!e&&e.startLineNumber!==e.endLineNumber;this._toggleSelectionFind.checked=i;break}}this._tryUpdateWidgetWidth(),this._updateButtons(),this._revealTimeouts.push(setTimeout(()=>{this._domNode.classList.add("visible"),this._domNode.setAttribute("aria-hidden","false")},0)),this._revealTimeouts.push(setTimeout(()=>{this._findInput.validate()},200)),this._codeEditor.layoutOverlayWidget(this);let t=!0;if(this._codeEditor.getOption(41).seedSearchStringFromSelection&&e){const i=this._codeEditor.getDomNode();if(i){const r=getDomNodePagePosition(i),g=this._codeEditor.getScrolledVisiblePosition(e.getStartPosition()),y=r.left+(g?g.left:0),k=g?g.top:0;if(this._viewZone&&ke.startLineNumber&&(t=!1);const L=getTopLeftOffset(this._domNode).left;y>L&&(t=!1);const V=this._codeEditor.getScrolledVisiblePosition(e.getEndPosition());r.left+(V?V.left:0)>L&&(t=!1)}}}this._showViewZone(t)}}_hide(e){this._revealTimeouts.forEach(t=>{clearTimeout(t)}),this._revealTimeouts=[],this._isVisible&&(this._isVisible=!1,this._updateButtons(),this._domNode.classList.remove("visible"),this._domNode.setAttribute("aria-hidden","true"),this._findInput.clearMessage(),e&&this._codeEditor.focus(),this._codeEditor.layoutOverlayWidget(this),this._removeViewZone())}_layoutViewZone(e){if(!this._codeEditor.getOption(41).addExtraSpaceOnTop){this._removeViewZone();return}if(!this._isVisible)return;const i=this._viewZone;this._viewZoneId!==void 0||!i||this._codeEditor.changeViewZones(r=>{i.heightInPx=this._getHeight(),this._viewZoneId=r.addZone(i),this._codeEditor.setScrollTop(e||this._codeEditor.getScrollTop()+i.heightInPx)})}_showViewZone(e=!0){if(!this._isVisible||!this._codeEditor.getOption(41).addExtraSpaceOnTop)return;this._viewZone===void 0&&(this._viewZone=new FindWidgetViewZone(0));const i=this._viewZone;this._codeEditor.changeViewZones(r=>{if(this._viewZoneId!==void 0){const g=this._getHeight();if(g===i.heightInPx)return;const y=g-i.heightInPx;i.heightInPx=g,r.layoutZone(this._viewZoneId),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+y);return}else{let g=this._getHeight();if(g-=this._codeEditor.getOption(84).top,g<=0)return;i.heightInPx=g,this._viewZoneId=r.addZone(i),e&&this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()+g)}})}_removeViewZone(){this._codeEditor.changeViewZones(e=>{this._viewZoneId!==void 0&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0,this._viewZone&&(this._codeEditor.setScrollTop(this._codeEditor.getScrollTop()-this._viewZone.heightInPx),this._viewZone=void 0))})}_tryUpdateWidgetWidth(){if(!this._isVisible||!this._domNode.isConnected)return;const e=this._codeEditor.getLayoutInfo();if(e.contentWidth<=0){this._domNode.classList.add("hiddenEditor");return}else this._domNode.classList.contains("hiddenEditor")&&this._domNode.classList.remove("hiddenEditor");const i=e.width,r=e.minimap.minimapWidth;let g=!1,y=!1,k=!1;if(this._resized&&getTotalWidth(this._domNode)>FIND_WIDGET_INITIAL_WIDTH){this._domNode.style.maxWidth="".concat(i-28-r-15,"px"),this._replaceInput.width=getTotalWidth(this._findInput.domNode);return}if(FIND_WIDGET_INITIAL_WIDTH+28+r>=i&&(y=!0),FIND_WIDGET_INITIAL_WIDTH+28+r-MAX_MATCHES_COUNT_WIDTH>=i&&(k=!0),FIND_WIDGET_INITIAL_WIDTH+28+r-MAX_MATCHES_COUNT_WIDTH>=i+50&&(g=!0),this._domNode.classList.toggle("collapsed-find-widget",g),this._domNode.classList.toggle("narrow-find-widget",k),this._domNode.classList.toggle("reduced-find-widget",y),!k&&!g&&(this._domNode.style.maxWidth="".concat(i-28-r-15,"px")),this._findInput.layout({collapsedFindWidget:g,narrowFindWidget:k,reducedFindWidget:y}),this._resized){const L=this._findInput.inputBox.element.clientWidth;L>0&&(this._replaceInput.width=L)}else this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth(this._findInput.domNode))}_getHeight(){let e=0;return e+=4,e+=this._findInput.inputBox.height+2,this._isReplaceVisible&&(e+=4,e+=this._replaceInput.inputBox.height+2),e+=4,e}_tryUpdateHeight(){const e=this._getHeight();return this._cachedHeight!==null&&this._cachedHeight===e?!1:(this._cachedHeight=e,this._domNode.style.height="".concat(e,"px"),!0)}focusFindInput(){this._findInput.select(),this._findInput.focus()}focusReplaceInput(){this._replaceInput.select(),this._replaceInput.focus()}highlightFindOptions(){this._findInput.highlightFindOptions()}_updateSearchScope(){if(this._codeEditor.hasModel()&&this._toggleSelectionFind.checked){const e=this._codeEditor.getSelections();e.map(t=>{t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(t.endLineNumber-1)));const i=this._state.currentMatch;return t.startLineNumber!==t.endLineNumber&&!Range$2.equalsRange(t,i)?t:null}).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}_onFindInputMouseDown(e){e.middleButton&&e.stopPropagation()}_onFindInputKeyDown(e){if(e.equals(ctrlKeyMod|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{this._findInput.inputBox.insertAtCursor("\n"),e.preventDefault();return}if(e.equals(2)){this._isReplaceVisible?this._replaceInput.focus():this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return stopPropagationForMultiLineUpwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"));if(e.equals(18))return stopPropagationForMultiLineDownwards(e,this._findInput.getValue(),this._findInput.domNode.querySelector("textarea"))}_onReplaceInputKeyDown(e){if(e.equals(ctrlKeyMod|3))if(this._keybindingService.dispatchEvent(e,e.target)){e.preventDefault();return}else{isWindows&&isNative&&!this._ctrlEnterReplaceAllWarningPrompted&&(this._notificationService.info(localize("ctrlEnter.keybindingChanged","Ctrl+Enter now inserts line break instead of replacing all. You can modify the keybinding for editor.action.replaceAll to override this behavior.")),this._ctrlEnterReplaceAllWarningPrompted=!0,this._storageService.store(ctrlEnterReplaceAllWarningPromptedKey,!0,0,0)),this._replaceInput.inputBox.insertAtCursor("\n"),e.preventDefault();return}if(e.equals(2)){this._findInput.focusOnCaseSensitive(),e.preventDefault();return}if(e.equals(1026)){this._findInput.focus(),e.preventDefault();return}if(e.equals(2066)){this._codeEditor.focus(),e.preventDefault();return}if(e.equals(16))return stopPropagationForMultiLineUpwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"));if(e.equals(18))return stopPropagationForMultiLineDownwards(e,this._replaceInput.inputBox.value,this._replaceInput.inputBox.element.querySelector("textarea"))}getVerticalSashLeft(e){return 0}_keybindingLabelFor(e){const t=this._keybindingService.lookupKeybinding(e);return t?" (".concat(t.getLabel(),")"):""}_buildDomNode(){this._findInput=this._register(new ContextScopedFindInput(null,this._contextViewProvider,{width:FIND_INPUT_AREA_WIDTH,label:NLS_FIND_INPUT_LABEL,placeholder:NLS_FIND_INPUT_PLACEHOLDER,appendCaseSensitiveLabel:this._keybindingLabelFor(FIND_IDS.ToggleCaseSensitiveCommand),appendWholeWordsLabel:this._keybindingLabelFor(FIND_IDS.ToggleWholeWordCommand),appendRegexLabel:this._keybindingLabelFor(FIND_IDS.ToggleRegexCommand),validation:z=>{if(z.length===0||!this._findInput.getRegex())return null;try{return new RegExp(z,"gu"),null}catch(j){return{content:j.message}}},flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showCommonFindToggles:!0,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},this._contextKeyService)),this._findInput.setRegex(!!this._state.isRegex),this._findInput.setCaseSensitive(!!this._state.matchCase),this._findInput.setWholeWords(!!this._state.wholeWord),this._register(this._findInput.onKeyDown(z=>this._onFindInputKeyDown(z))),this._register(this._findInput.inputBox.onDidChange(()=>{this._ignoreChangeEvent||this._state.change({searchString:this._findInput.getValue()},!0)})),this._register(this._findInput.onDidOptionChange(()=>{this._state.change({isRegex:this._findInput.getRegex(),wholeWord:this._findInput.getWholeWords(),matchCase:this._findInput.getCaseSensitive()},!0)})),this._register(this._findInput.onCaseSensitiveKeyDown(z=>{z.equals(1026)&&this._isReplaceVisible&&(this._replaceInput.focus(),z.preventDefault())})),this._register(this._findInput.onRegexKeyDown(z=>{z.equals(2)&&this._isReplaceVisible&&(this._replaceInput.focusOnPreserve(),z.preventDefault())})),this._register(this._findInput.inputBox.onDidHeightChange(z=>{this._tryUpdateHeight()&&this._showViewZone()})),isLinux&&this._register(this._findInput.onMouseDown(z=>this._onFindInputMouseDown(z))),this._matchesCount=document.createElement("div"),this._matchesCount.className="matchesCount",this._updateMatchesCount();const i=this._register(createInstantHoverDelegate());this._prevBtn=this._register(new SimpleButton({label:NLS_PREVIOUS_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.PreviousMatchFindAction),icon:findPreviousMatchIcon,hoverDelegate:i,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.PreviousMatchFindAction)).run().then(void 0,onUnexpectedError)}})),this._nextBtn=this._register(new SimpleButton({label:NLS_NEXT_MATCH_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.NextMatchFindAction),icon:findNextMatchIcon,hoverDelegate:i,onTrigger:()=>{assertIsDefined(this._codeEditor.getAction(FIND_IDS.NextMatchFindAction)).run().then(void 0,onUnexpectedError)}}));const r=document.createElement("div");r.className="find-part",r.appendChild(this._findInput.domNode);const g=document.createElement("div");g.className="find-actions",r.appendChild(g),g.appendChild(this._matchesCount),g.appendChild(this._prevBtn.domNode),g.appendChild(this._nextBtn.domNode),this._toggleSelectionFind=this._register(new Toggle({icon:findSelectionIcon,title:NLS_TOGGLE_SELECTION_FIND_TITLE+this._keybindingLabelFor(FIND_IDS.ToggleSearchScopeCommand),isChecked:!1,hoverDelegate:i,inputActiveOptionBackground:asCssVariable(inputActiveOptionBackground),inputActiveOptionBorder:asCssVariable(inputActiveOptionBorder),inputActiveOptionForeground:asCssVariable(inputActiveOptionForeground)})),this._register(this._toggleSelectionFind.onChange(()=>{if(this._toggleSelectionFind.checked){if(this._codeEditor.hasModel()){let z=this._codeEditor.getSelections();z=z.map(j=>(j.endColumn===1&&j.endLineNumber>j.startLineNumber&&(j=j.setEndPosition(j.endLineNumber-1,this._codeEditor.getModel().getLineMaxColumn(j.endLineNumber-1))),j.isEmpty()?null:j)).filter(j=>!!j),z.length&&this._state.change({searchScope:z},!0)}}else this._state.change({searchScope:null},!0)})),g.appendChild(this._toggleSelectionFind.domNode),this._closeBtn=this._register(new SimpleButton({label:NLS_CLOSE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.CloseFindWidgetCommand),icon:widgetClose,hoverDelegate:i,onTrigger:()=>{this._state.change({isRevealed:!1,searchScope:null},!1)},onKeyDown:z=>{z.equals(2)&&this._isReplaceVisible&&(this._replaceBtn.isEnabled()?this._replaceBtn.focus():this._codeEditor.focus(),z.preventDefault())}})),this._replaceInput=this._register(new ContextScopedReplaceInput(null,void 0,{label:NLS_REPLACE_INPUT_LABEL,placeholder:NLS_REPLACE_INPUT_PLACEHOLDER,appendPreserveCaseLabel:this._keybindingLabelFor(FIND_IDS.TogglePreserveCaseCommand),history:[],flexibleHeight:!0,flexibleWidth:!0,flexibleMaxHeight:118,showHistoryHint:()=>showHistoryKeybindingHint(this._keybindingService),inputBoxStyles:defaultInputBoxStyles,toggleStyles:defaultToggleStyles},this._contextKeyService,!0)),this._replaceInput.setPreserveCase(!!this._state.preserveCase),this._register(this._replaceInput.onKeyDown(z=>this._onReplaceInputKeyDown(z))),this._register(this._replaceInput.inputBox.onDidChange(()=>{this._state.change({replaceString:this._replaceInput.inputBox.value},!1)})),this._register(this._replaceInput.inputBox.onDidHeightChange(z=>{this._isReplaceVisible&&this._tryUpdateHeight()&&this._showViewZone()})),this._register(this._replaceInput.onDidOptionChange(()=>{this._state.change({preserveCase:this._replaceInput.getPreserveCase()},!0)})),this._register(this._replaceInput.onPreserveCaseKeyDown(z=>{z.equals(2)&&(this._prevBtn.isEnabled()?this._prevBtn.focus():this._nextBtn.isEnabled()?this._nextBtn.focus():this._toggleSelectionFind.enabled?this._toggleSelectionFind.focus():this._closeBtn.isEnabled()&&this._closeBtn.focus(),z.preventDefault())}));const y=this._register(createInstantHoverDelegate());this._replaceBtn=this._register(new SimpleButton({label:NLS_REPLACE_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceOneAction),icon:findReplaceIcon,hoverDelegate:y,onTrigger:()=>{this._controller.replace()},onKeyDown:z=>{z.equals(1026)&&(this._closeBtn.focus(),z.preventDefault())}})),this._replaceAllBtn=this._register(new SimpleButton({label:NLS_REPLACE_ALL_BTN_LABEL+this._keybindingLabelFor(FIND_IDS.ReplaceAllAction),icon:findReplaceAllIcon,hoverDelegate:y,onTrigger:()=>{this._controller.replaceAll()}}));const k=document.createElement("div");k.className="replace-part",k.appendChild(this._replaceInput.domNode);const L=document.createElement("div");L.className="replace-actions",k.appendChild(L),L.appendChild(this._replaceBtn.domNode),L.appendChild(this._replaceAllBtn.domNode),this._toggleReplaceBtn=this._register(new SimpleButton({label:NLS_TOGGLE_REPLACE_MODE_BTN_LABEL,className:"codicon toggle left",onTrigger:()=>{this._state.change({isReplaceRevealed:!this._isReplaceVisible},!1),this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth(this._findInput.domNode),this._replaceInput.inputBox.layout()),this._showViewZone()}})),this._toggleReplaceBtn.setExpanded(this._isReplaceVisible),this._domNode=document.createElement("div"),this._domNode.className="editor-widget find-widget",this._domNode.setAttribute("aria-hidden","true"),this._domNode.ariaLabel=NLS_FIND_DIALOG_LABEL,this._domNode.role="dialog",this._domNode.style.width="".concat(FIND_WIDGET_INITIAL_WIDTH,"px"),this._domNode.appendChild(this._toggleReplaceBtn.domNode),this._domNode.appendChild(r),this._domNode.appendChild(this._closeBtn.domNode),this._domNode.appendChild(k),this._resizeSash=this._register(new Sash(this._domNode,this,{orientation:0,size:2})),this._resized=!1;let V=FIND_WIDGET_INITIAL_WIDTH;this._register(this._resizeSash.onDidStart(()=>{V=getTotalWidth(this._domNode)})),this._register(this._resizeSash.onDidChange(z=>{this._resized=!0;const j=V+z.startX-z.currentX;if(jie||(this._domNode.style.width="".concat(j,"px"),this._isReplaceVisible&&(this._replaceInput.width=getTotalWidth(this._findInput.domNode)),this._findInput.inputBox.layout(),this._tryUpdateHeight())})),this._register(this._resizeSash.onDidReset(()=>{const z=getTotalWidth(this._domNode);if(z{this._opts.onTrigger(),r.preventDefault()}),this.onkeydown(this._domNode,r=>{var g,y;if(r.equals(10)||r.equals(3)){this._opts.onTrigger(),r.preventDefault();return}(y=(g=this._opts).onKeyDown)===null||y===void 0||y.call(g,r)})}get domNode(){return this._domNode}isEnabled(){return this._domNode.tabIndex>=0}focus(){this._domNode.focus()}setEnabled(e){this._domNode.classList.toggle("disabled",!e),this._domNode.setAttribute("aria-disabled",String(!e)),this._domNode.tabIndex=e?0:-1}setExpanded(e){this._domNode.setAttribute("aria-expanded",String(!!e)),e?(this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findCollapsedIcon)),this._domNode.classList.add(...ThemeIcon.asClassNameArray(findExpandedIcon))):(this._domNode.classList.remove(...ThemeIcon.asClassNameArray(findExpandedIcon)),this._domNode.classList.add(...ThemeIcon.asClassNameArray(findCollapsedIcon)))}}registerThemingParticipant((n,e)=>{const t=n.getColor(editorFindMatchHighlightBorder);t&&e.addRule(".monaco-editor .findMatch { border: 1px ".concat(isHighContrast(n.type)?"dotted":"solid"," ").concat(t,"; box-sizing: border-box; }"));const i=n.getColor(editorFindRangeHighlightBorder);i&&e.addRule(".monaco-editor .findScope { border: 1px ".concat(isHighContrast(n.type)?"dashed":"solid"," ").concat(i,"; }"));const r=n.getColor(contrastBorder);r&&e.addRule(".monaco-editor .find-widget { border: 1px solid ".concat(r,"; }"))});var __decorate$_=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$W=function(n,e){return function(t,i){e(t,i,n)}},CommonFindController_1;const SEARCH_STRING_MAX_LENGTH=524288;function getSelectionSearchString(n,e="single",t=!1){if(!n.hasModel())return null;const i=n.getSelection();if(e==="single"&&i.startLineNumber===i.endLineNumber||e==="multiple"){if(i.isEmpty()){const r=n.getConfiguredWordAtPosition(i.getStartPosition());if(r&&t===!1)return r.word}else if(n.getModel().getValueLengthInRange(i)this._onStateChanged(y))),this._model=null,this._register(this._editor.onDidChangeModel(()=>{const y=this._editor.getModel()&&this._state.isRevealed;this.disposeModel(),this._state.change({searchScope:null,matchCase:this._storageService.getBoolean("editor.matchCase",1,!1),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,!1),isRegex:this._storageService.getBoolean("editor.isRegex",1,!1),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,!1)},!1),y&&this._start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!1,updateSearchScope:!1,loop:this._editor.getOption(41).loop})}))}dispose(){this.disposeModel(),super.dispose()}disposeModel(){this._model&&(this._model.dispose(),this._model=null)}_onStateChanged(e){this.saveQueryState(e),e.isRevealed&&(this._state.isRevealed?this._findWidgetVisible.set(!0):(this._findWidgetVisible.reset(),this.disposeModel())),e.searchString&&this.setGlobalBufferTerm(this._state.searchString)}saveQueryState(e){e.isRegex&&this._storageService.store("editor.isRegex",this._state.actualIsRegex,1,1),e.wholeWord&&this._storageService.store("editor.wholeWord",this._state.actualWholeWord,1,1),e.matchCase&&this._storageService.store("editor.matchCase",this._state.actualMatchCase,1,1),e.preserveCase&&this._storageService.store("editor.preserveCase",this._state.actualPreserveCase,1,1)}loadQueryState(){this._state.change({matchCase:this._storageService.getBoolean("editor.matchCase",1,this._state.matchCase),wholeWord:this._storageService.getBoolean("editor.wholeWord",1,this._state.wholeWord),isRegex:this._storageService.getBoolean("editor.isRegex",1,this._state.isRegex),preserveCase:this._storageService.getBoolean("editor.preserveCase",1,this._state.preserveCase)},!1)}isFindInputFocused(){return!!CONTEXT_FIND_INPUT_FOCUSED.getValue(this._contextKeyService)}getState(){return this._state}closeFindWidget(){this._state.change({isRevealed:!1,searchScope:null},!1),this._editor.focus()}toggleCaseSensitive(){this._state.change({matchCase:!this._state.matchCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleWholeWords(){this._state.change({wholeWord:!this._state.wholeWord},!1),this._state.isRevealed||this.highlightFindOptions()}toggleRegex(){this._state.change({isRegex:!this._state.isRegex},!1),this._state.isRevealed||this.highlightFindOptions()}togglePreserveCase(){this._state.change({preserveCase:!this._state.preserveCase},!1),this._state.isRevealed||this.highlightFindOptions()}toggleSearchScope(){if(this._state.searchScope)this._state.change({searchScope:null},!0);else if(this._editor.hasModel()){let e=this._editor.getSelections();e=e.map(t=>(t.endColumn===1&&t.endLineNumber>t.startLineNumber&&(t=t.setEndPosition(t.endLineNumber-1,this._editor.getModel().getLineMaxColumn(t.endLineNumber-1))),t.isEmpty()?null:t)).filter(t=>!!t),e.length&&this._state.change({searchScope:e},!0)}}setSearchString(e){this._state.isRegex&&(e=escapeRegExpCharacters(e)),this._state.change({searchString:e},!1)}highlightFindOptions(e=!1){}async _start(e,t){if(this.disposeModel(),!this._editor.hasModel())return;const i={...t,isRevealed:!0};if(e.seedSearchStringFromSelection==="single"){const r=getSelectionSearchString(this._editor,e.seedSearchStringFromSelection,e.seedSearchStringFromNonEmptySelection);r&&(this._state.isRegex?i.searchString=escapeRegExpCharacters(r):i.searchString=r)}else if(e.seedSearchStringFromSelection==="multiple"&&!e.updateSearchScope){const r=getSelectionSearchString(this._editor,e.seedSearchStringFromSelection);r&&(i.searchString=r)}if(!i.searchString&&e.seedSearchStringFromGlobalClipboard){const r=await this.getGlobalBufferTerm();if(!this._editor.hasModel())return;r&&(i.searchString=r)}if(e.forceRevealReplace||i.isReplaceRevealed?i.isReplaceRevealed=!0:this._findWidgetVisible.get()||(i.isReplaceRevealed=!1),e.updateSearchScope){const r=this._editor.getSelections();r.some(g=>!g.isEmpty())&&(i.searchScope=r)}i.loop=e.loop,this._state.change(i,!1),this._model||(this._model=new FindModelBoundToEditorModel(this._editor,this._state))}start(e,t){return this._start(e,t)}moveToNextMatch(){return this._model?(this._model.moveToNextMatch(),!0):!1}moveToPrevMatch(){return this._model?(this._model.moveToPrevMatch(),!0):!1}goToMatch(e){return this._model?(this._model.moveToMatch(e),!0):!1}replace(){return this._model?(this._model.replace(),!0):!1}replaceAll(){var e;return this._model?!((e=this._editor.getModel())===null||e===void 0)&&e.isTooLargeForHeapOperation()?(this._notificationService.warn(localize("too.large.for.replaceall","The file is too large to perform a replace all operation.")),!1):(this._model.replaceAll(),!0):!1}selectAllMatches(){return this._model?(this._model.selectAllMatches(),this._editor.focus(),!0):!1}async getGlobalBufferTerm(){return this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()?this._clipboardService.readFindText():""}setGlobalBufferTerm(e){this._editor.getOption(41).globalFindClipboard&&this._editor.hasModel()&&!this._editor.getModel().isTooLargeForSyncing()&&this._clipboardService.writeFindText(e)}};CommonFindController.ID="editor.contrib.findController";CommonFindController=CommonFindController_1=__decorate$_([__param$W(1,IContextKeyService),__param$W(2,IStorageService),__param$W(3,IClipboardService),__param$W(4,INotificationService)],CommonFindController);let FindController=class extends CommonFindController{constructor(e,t,i,r,g,y,k,L){super(e,i,k,L,y),this._contextViewService=t,this._keybindingService=r,this._themeService=g,this._widget=null,this._findOptionsWidget=null}async _start(e,t){this._widget||this._createFindWidget();const i=this._editor.getSelection();let r=!1;switch(this._editor.getOption(41).autoFindInSelection){case"always":r=!0;break;case"never":r=!1;break;case"multiline":{r=!!i&&i.startLineNumber!==i.endLineNumber;break}}e.updateSearchScope=e.updateSearchScope||r,await super._start(e,t),this._widget&&(e.shouldFocus===2?this._widget.focusReplaceInput():e.shouldFocus===1&&this._widget.focusFindInput())}highlightFindOptions(e=!1){this._widget||this._createFindWidget(),this._state.isRevealed&&!e?this._widget.highlightFindOptions():this._findOptionsWidget.highlightFindOptions()}_createFindWidget(){this._widget=this._register(new FindWidget(this._editor,this,this._state,this._contextViewService,this._keybindingService,this._contextKeyService,this._themeService,this._storageService,this._notificationService)),this._findOptionsWidget=this._register(new FindOptionsWidget(this._editor,this._state,this._keybindingService))}};FindController=__decorate$_([__param$W(1,IContextViewService),__param$W(2,IContextKeyService),__param$W(3,IKeybindingService),__param$W(4,IThemeService),__param$W(5,INotificationService),__param$W(6,IStorageService),__param$W(7,IClipboardService)],FindController);const StartFindAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindAction,label:localize("startFindAction","Find"),alias:"Find",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2084,weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({},"&&Find"),order:1}}));StartFindAction.addImplementation(0,(n,e,t)=>{const i=CommonFindController.get(e);return i?i.start({forceRevealReplace:!1,seedSearchStringFromSelection:e.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).globalFindClipboard,shouldFocus:1,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop}):!1});const findArgDescription={description:"Open a new In-Editor Find Widget.",args:[{name:"Open a new In-Editor Find Widget args",schema:{properties:{searchString:{type:"string"},replaceString:{type:"string"},isRegex:{type:"boolean"},matchWholeWord:{type:"boolean"},isCaseSensitive:{type:"boolean"},preserveCase:{type:"boolean"},findInSelection:{type:"boolean"}}}}]};class StartFindWithArgsAction extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithArgs,label:localize("startFindWithArgsAction","Find With Arguments"),alias:"Find With Arguments",precondition:void 0,kbOpts:{kbExpr:null,primary:0,weight:100},metadata:findArgDescription})}async run(e,t,i){const r=CommonFindController.get(t);if(r){const g=i?{searchString:i.searchString,replaceString:i.replaceString,isReplaceRevealed:i.replaceString!==void 0,isRegex:i.isRegex,wholeWord:i.matchWholeWord,matchCase:i.isCaseSensitive,preserveCase:i.preserveCase}:{};await r.start({forceRevealReplace:!1,seedSearchStringFromSelection:r.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:1,shouldAnimate:!0,updateSearchScope:(i==null?void 0:i.findInSelection)||!1,loop:t.getOption(41).loop},g),r.setGlobalBufferTerm(r.getState().searchString)}}}class StartFindWithSelectionAction extends EditorAction{constructor(){super({id:FIND_IDS.StartFindWithSelection,label:localize("startFindWithSelectionAction","Find With Selection"),alias:"Find With Selection",precondition:void 0,kbOpts:{kbExpr:null,primary:0,mac:{primary:2083},weight:100}})}async run(e,t){const i=CommonFindController.get(t);i&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"multiple",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),i.setGlobalBufferTerm(i.getState().searchString))}}class MatchFindAction extends EditorAction{async run(e,t){const i=CommonFindController.get(t);i&&!this._run(i)&&(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:i.getState().searchString.length===0&&t.getOption(41).seedSearchStringFromSelection!=="never"?"single":"none",seedSearchStringFromNonEmptySelection:t.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:!0,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class NextMatchFindAction extends MatchFindAction{constructor(){super({id:FIND_IDS.NextMatchFindAction,label:localize("findNextMatchAction","Find Next"),alias:"Find Next",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:61,mac:{primary:2085,secondary:[61]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:3,weight:100}]})}_run(e){return e.moveToNextMatch()?(e.editor.pushUndoStop(),!0):!1}}class PreviousMatchFindAction extends MatchFindAction{constructor(){super({id:FIND_IDS.PreviousMatchFindAction,label:localize("findPreviousMatchAction","Find Previous"),alias:"Find Previous",precondition:void 0,kbOpts:[{kbExpr:EditorContextKeys.focus,primary:1085,mac:{primary:3109,secondary:[1085]},weight:100},{kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_FIND_INPUT_FOCUSED),primary:1027,weight:100}]})}_run(e){return e.moveToPrevMatch()}}class MoveToMatchFindAction extends EditorAction{constructor(){super({id:FIND_IDS.GoToMatchFindAction,label:localize("findMatchAction.goToMatch","Go to Match..."),alias:"Go to Match...",precondition:CONTEXT_FIND_WIDGET_VISIBLE}),this._highlightDecorations=[]}run(e,t,i){const r=CommonFindController.get(t);if(!r)return;const g=r.getState().matchesCount;if(g<1){e.get(INotificationService).notify({severity:Severity.Warning,message:localize("findMatchAction.noResults","No matches. Try searching for something else.")});return}const k=e.get(IQuickInputService).createInputBox();k.placeholder=localize("findMatchAction.inputPlaceHolder","Type a number to go to a specific match (between 1 and {0})",g);const L=z=>{const j=parseInt(z);if(isNaN(j))return;const ie=r.getState().matchesCount;if(j>0&&j<=ie)return j-1;if(j<0&&j>=-ie)return ie+j},V=z=>{const j=L(z);if(typeof j=="number"){k.validationMessage=void 0,r.goToMatch(j);const ie=r.getState().currentMatch;ie&&this.addDecorations(t,ie)}else k.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount),this.clearDecorations(t)};k.onDidChangeValue(z=>{V(z)}),k.onDidAccept(()=>{const z=L(k.value);typeof z=="number"?(r.goToMatch(z),k.hide()):k.validationMessage=localize("findMatchAction.inputValidationMessage","Please type a number between 1 and {0}",r.getState().matchesCount)}),k.onDidHide(()=>{this.clearDecorations(t),k.dispose()}),k.show()}clearDecorations(e){e.changeDecorations(t=>{this._highlightDecorations=t.deltaDecorations(this._highlightDecorations,[])})}addDecorations(e,t){e.changeDecorations(i=>{this._highlightDecorations=i.deltaDecorations(this._highlightDecorations,[{range:t,options:{description:"find-match-quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"find-match-quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane.Full}}}])})}}class SelectionMatchFindAction extends EditorAction{async run(e,t){const i=CommonFindController.get(t);if(!i)return;const r=getSelectionSearchString(t,"single",!1);r&&i.setSearchString(r),this._run(i)||(await i.start({forceRevealReplace:!1,seedSearchStringFromSelection:"none",seedSearchStringFromNonEmptySelection:!1,seedSearchStringFromGlobalClipboard:!1,shouldFocus:0,shouldAnimate:!0,updateSearchScope:!1,loop:t.getOption(41).loop}),this._run(i))}}class NextSelectionMatchFindAction extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.NextSelectionMatchFindAction,label:localize("nextSelectionMatchFindAction","Find Next Selection"),alias:"Find Next Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2109,weight:100}})}_run(e){return e.moveToNextMatch()}}class PreviousSelectionMatchFindAction extends SelectionMatchFindAction{constructor(){super({id:FIND_IDS.PreviousSelectionMatchFindAction,label:localize("previousSelectionMatchFindAction","Find Previous Selection"),alias:"Find Previous Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3133,weight:100}})}_run(e){return e.moveToPrevMatch()}}const StartFindReplaceAction=registerMultiEditorAction(new MultiEditorAction({id:FIND_IDS.StartFindReplaceAction,label:localize("startReplace","Replace"),alias:"Replace",precondition:ContextKeyExpr.or(EditorContextKeys.focus,ContextKeyExpr.has("editorIsOpen")),kbOpts:{kbExpr:null,primary:2086,mac:{primary:2596},weight:100},menuOpts:{menuId:MenuId.MenubarEditMenu,group:"3_find",title:localize({},"&&Replace"),order:2}}));StartFindReplaceAction.addImplementation(0,(n,e,t)=>{if(!e.hasModel()||e.getOption(91))return!1;const i=CommonFindController.get(e);if(!i)return!1;const r=e.getSelection(),g=i.isFindInputFocused(),y=!r.isEmpty()&&r.startLineNumber===r.endLineNumber&&e.getOption(41).seedSearchStringFromSelection!=="never"&&!g,k=g||y?2:1;return i.start({forceRevealReplace:!0,seedSearchStringFromSelection:y?"single":"none",seedSearchStringFromNonEmptySelection:e.getOption(41).seedSearchStringFromSelection==="selection",seedSearchStringFromGlobalClipboard:e.getOption(41).seedSearchStringFromSelection!=="never",shouldFocus:k,shouldAnimate:!0,updateSearchScope:!1,loop:e.getOption(41).loop})});registerEditorContribution(CommonFindController.ID,FindController,0);registerEditorAction(StartFindWithArgsAction);registerEditorAction(StartFindWithSelectionAction);registerEditorAction(NextMatchFindAction);registerEditorAction(PreviousMatchFindAction);registerEditorAction(MoveToMatchFindAction);registerEditorAction(NextSelectionMatchFindAction);registerEditorAction(PreviousSelectionMatchFindAction);const FindCommand=EditorCommand.bindToContribution(CommonFindController.get);registerEditorCommand(new FindCommand({id:FIND_IDS.CloseFindWidgetCommand,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.closeFindWidget(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:9,secondary:[1033]}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleCaseSensitiveCommand,precondition:void 0,handler:n=>n.toggleCaseSensitive(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleCaseSensitiveKeybinding.primary,mac:ToggleCaseSensitiveKeybinding.mac,win:ToggleCaseSensitiveKeybinding.win,linux:ToggleCaseSensitiveKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleWholeWordCommand,precondition:void 0,handler:n=>n.toggleWholeWords(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleWholeWordKeybinding.primary,mac:ToggleWholeWordKeybinding.mac,win:ToggleWholeWordKeybinding.win,linux:ToggleWholeWordKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleRegexCommand,precondition:void 0,handler:n=>n.toggleRegex(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleRegexKeybinding.primary,mac:ToggleRegexKeybinding.mac,win:ToggleRegexKeybinding.win,linux:ToggleRegexKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ToggleSearchScopeCommand,precondition:void 0,handler:n=>n.toggleSearchScope(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:ToggleSearchScopeKeybinding.primary,mac:ToggleSearchScopeKeybinding.mac,win:ToggleSearchScopeKeybinding.win,linux:ToggleSearchScopeKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.TogglePreserveCaseCommand,precondition:void 0,handler:n=>n.togglePreserveCase(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:TogglePreserveCaseKeybinding.primary,mac:TogglePreserveCaseKeybinding.mac,win:TogglePreserveCaseKeybinding.win,linux:TogglePreserveCaseKeybinding.linux}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:3094}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceOneAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.replace(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:3}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:2563}}));registerEditorCommand(new FindCommand({id:FIND_IDS.ReplaceAllAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.replaceAll(),kbOpts:{weight:105,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,CONTEXT_REPLACE_INPUT_FOCUSED),primary:void 0,mac:{primary:2051}}}));registerEditorCommand(new FindCommand({id:FIND_IDS.SelectAllMatchesAction,precondition:CONTEXT_FIND_WIDGET_VISIBLE,handler:n=>n.selectAllMatches(),kbOpts:{weight:105,kbExpr:EditorContextKeys.focus,primary:515}}));const foldSourceAbbr={0:" ",1:"u",2:"r"},MAX_FOLDING_REGIONS=65535,MAX_LINE_NUMBER=16777215,MASK_INDENT=4278190080;class BitField{constructor(e){const t=Math.ceil(e/32);this._states=new Uint32Array(t)}get(e){const t=e/32|0,i=e%32;return(this._states[t]&1<MAX_FOLDING_REGIONS)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new BitField(e.length),this._userDefinedStates=new BitField(e.length),this._recoveredStates=new BitField(e.length),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;const e=[],t=(i,r)=>{const g=e[e.length-1];return this.getStartLineNumber(g)<=i&&this.getEndLineNumber(g)>=r};for(let i=0,r=this._startIndexes.length;iMAX_LINE_NUMBER||y>MAX_LINE_NUMBER)throw new Error("startLineNumber or endLineNumber must not exceed "+MAX_LINE_NUMBER);for(;e.length>0&&!t(g,y);)e.pop();const k=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=g+((k&255)<<24),this._endIndexes[i]=y+((k&65280)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return this._startIndexes[e]&MAX_LINE_NUMBER}getEndLineNumber(e){return this._endIndexes[e]&MAX_LINE_NUMBER}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){return this._collapseStates.get(e)}setCollapsed(e,t){this._collapseStates.set(e,t)}isUserDefined(e){return this._userDefinedStates.get(e)}setUserDefined(e,t){return this._userDefinedStates.set(e,t)}isRecovered(e){return this._recoveredStates.get(e)}setRecovered(e,t){return this._recoveredStates.set(e,t)}getSource(e){return this.isUserDefined(e)?1:this.isRecovered(e)?2:0}setSource(e,t){t===1?(this.setUserDefined(e,!0),this.setRecovered(e,!1)):t===2?(this.setUserDefined(e,!1),this.setRecovered(e,!0)):(this.setUserDefined(e,!1),this.setRecovered(e,!1))}setCollapsedAllOfType(e,t){let i=!1;if(this._types)for(let r=0;r>>24)+((this._endIndexes[e]&MASK_INDENT)>>>16);return t===MAX_FOLDING_REGIONS?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(i===0)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);t!==-1;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){const e=[];for(let t=0;tArray.isArray(ae)?de=>dede=z.startLineNumber))V&&V.startLineNumber===z.startLineNumber?(z.source===1?ae=z:(ae=V,ae.isCollapsed=z.isCollapsed&&V.endLineNumber===z.endLineNumber,ae.source=0),V=g(++k)):(ae=z,z.isCollapsed&&z.source===0&&(ae.source=2)),z=y(++L);else{let le=L,de=z;for(;;){if(!de||de.startLineNumber>V.endLineNumber){ae=V;break}if(de.source===1&&de.endLineNumber>V.endLineNumber)break;de=y(++le)}V=g(++k)}if(ae){for(;ie&&ie.endLineNumberae.startLineNumber&&ae.startLineNumber>oe&&ae.endLineNumber<=i&&(!ie||ie.endLineNumber>=ae.endLineNumber)&&(re.push(ae),oe=ae.startLineNumber,ie&&j.push(ie),ie=ae)}}return re}}class FoldingRegion{constructor(e,t){this.ranges=e,this.index=t}get startLineNumber(){return this.ranges.getStartLineNumber(this.index)}get endLineNumber(){return this.ranges.getEndLineNumber(this.index)}get regionIndex(){return this.index}get parentIndex(){return this.ranges.getParentIndex(this.index)}get isCollapsed(){return this.ranges.isCollapsed(this.index)}containedBy(e){return e.startLineNumber<=this.startLineNumber&&e.endLineNumber>=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class FoldingModel{get regions(){return this._regions}get textModel(){return this._textModel}constructor(e,t){this._updateEventEmitter=new Emitter$1,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new FoldingRegions(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[]}toggleCollapseState(e){if(!e.length)return;e=e.sort((i,r)=>i.regionIndex-r.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let r=0,g=-1,y=-1;const k=L=>{for(;ry&&(y=V),r++}};for(const L of e){const V=L.regionIndex,z=this._editorDecorationIds[V];if(z&&!t[z]){t[z]=!0,k(V);const j=!this._regions.isCollapsed(V);this._regions.setCollapsed(V,j),g=Math.max(g,this._regions.getEndLineNumber(V))}}k(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}removeManualRanges(e){const t=new Array,i=r=>{for(const g of e)if(!(g.startLineNumber>r.endLineNumber||r.startLineNumber>g.endLineNumber))return!0;return!1};for(let r=0;ri&&(i=k)}this._decorationProvider.changeDecorations(r=>this._editorDecorationIds=r.deltaDecorations(this._editorDecorationIds,t)),this._regions=e,this._updateEventEmitter.fire({model:this})}_currentFoldedOrManualRanges(e=[]){const t=(r,g)=>{for(const y of e)if(r=y.endLineNumber||y.startLineNumber<1||y.endLineNumber>i)continue;const k=this._getLinesChecksum(y.startLineNumber+1,y.endLineNumber);t.push({startLineNumber:y.startLineNumber,endLineNumber:y.endLineNumber,isCollapsed:y.isCollapsed,source:y.source,checksum:k})}return t.length>0?t:void 0}applyMemento(e){var t,i;if(!Array.isArray(e))return;const r=[],g=this._textModel.getLineCount();for(const k of e){if(k.startLineNumber>=k.endLineNumber||k.startLineNumber<1||k.endLineNumber>g)continue;const L=this._getLinesChecksum(k.startLineNumber+1,k.endLineNumber);(!k.checksum||L===k.checksum)&&r.push({startLineNumber:k.startLineNumber,endLineNumber:k.endLineNumber,type:void 0,isCollapsed:(t=k.isCollapsed)!==null&&t!==void 0?t:!0,source:(i=k.source)!==null&&i!==void 0?i:0})}const y=FoldingRegions.sanitizeAndMerge(this._regions,r,g);this.updatePost(FoldingRegions.fromFoldRanges(y))}_getLinesChecksum(e,t){return hash$1(this._textModel.getLineContent(e)+this._textModel.getLineContent(t))%1e6}dispose(){this._decorationProvider.removeDecorations(this._editorDecorationIds)}getAllRegionsAtLine(e,t){const i=[];if(this._regions){let r=this._regions.findRange(e),g=1;for(;r>=0;){const y=this._regions.toRegion(r);(!t||t(y,g))&&i.push(y),g++,r=y.parentIndex}}return i}getRegionAtLine(e){if(this._regions){const t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){const i=[],r=e?e.regionIndex+1:0,g=e?e.endLineNumber:Number.MAX_VALUE;if(t&&t.length===2){const y=[];for(let k=r,L=this._regions.length;k0&&!V.containedBy(y[y.length-1]);)y.pop();y.push(V),t(V,y.length)&&i.push(V)}else break}}else for(let y=r,k=this._regions.length;y1){const k=n.getRegionsInside(g,(L,V)=>L.isCollapsed!==y&&V0)for(const g of i){const y=n.getRegionAtLine(g);if(y&&(y.isCollapsed!==e&&r.push(y),t>1)){const k=n.getRegionsInside(y,(L,V)=>L.isCollapsed!==e&&Vy.isCollapsed!==e&&kk.isCollapsed!==e&&L<=t);r.push(...y)}n.toggleCollapseState(r)}function setCollapseStateUp(n,e,t){const i=[];for(const r of t){const g=n.getAllRegionsAtLine(r,y=>y.isCollapsed!==e);g.length>0&&i.push(g[0])}n.toggleCollapseState(i)}function setCollapseStateAtLevel(n,e,t,i){const r=(y,k)=>k===e&&y.isCollapsed!==t&&!i.some(L=>y.containsLine(L)),g=n.getRegionsInside(null,r);n.toggleCollapseState(g)}function setCollapseStateForRest(n,e,t){const i=[];for(const y of t){const k=n.getAllRegionsAtLine(y,void 0);k.length>0&&i.push(k[0])}const r=y=>i.every(k=>!k.containedBy(y)&&!y.containedBy(k))&&y.isCollapsed!==e,g=n.getRegionsInside(null,r);n.toggleCollapseState(g)}function setCollapseStateForMatchingLines(n,e,t){const i=n.textModel,r=n.regions,g=[];for(let y=r.length-1;y>=0;y--)if(t!==r.isCollapsed(y)){const k=r.getStartLineNumber(y);e.test(i.getLineContent(k))&&g.push(r.toRegion(y))}n.toggleCollapseState(g)}function setCollapseStateForType(n,e,t){const i=n.regions,r=[];for(let g=i.length-1;g>=0;g--)t!==i.isCollapsed(g)&&e===i.getType(g)&&r.push(i.toRegion(g));n.toggleCollapseState(r)}function getParentFoldLine(n,e){let t=null;const i=e.getRegionAtLine(n);if(i!==null&&(t=i.startLineNumber,n===t)){const r=i.parentIndex;r!==-1?t=e.regions.getStartLineNumber(r):t=null}return t}function getPreviousFoldLine(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){if(n!==t.startLineNumber)return t.startLineNumber;{const i=t.parentIndex;let r=0;for(i!==-1&&(r=e.regions.getStartLineNumber(t.parentIndex));t!==null;)if(t.regionIndex>0){if(t=e.regions.toRegion(t.regionIndex-1),t.startLineNumber<=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}}else if(e.regions.length>0)for(t=e.regions.toRegion(e.regions.length-1);t!==null;){if(t.startLineNumber0?t=e.regions.toRegion(t.regionIndex-1):t=null}return null}function getNextFoldLine(n,e){let t=e.getRegionAtLine(n);if(t!==null&&t.startLineNumber===n){const i=t.parentIndex;let r=0;if(i!==-1)r=e.regions.getEndLineNumber(t.parentIndex);else{if(e.regions.length===0)return null;r=e.regions.getEndLineNumber(e.regions.length-1)}for(;t!==null;)if(t.regionIndex=r)return null;if(t.parentIndex===i)return t.startLineNumber}else return null}else if(e.regions.length>0)for(t=e.regions.toRegion(0);t!==null;){if(t.startLineNumber>n)return t.startLineNumber;t.regionIndexthis.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}notifyChangeModelContent(e){this._hiddenRanges.length&&!this._hasLineChanges&&(this._hasLineChanges=e.changes.some(t=>t.range.endLineNumber!==t.range.startLineNumber||countEOL(t.text)[0]!==0))}updateHiddenRanges(){let e=!1;const t=[];let i=0,r=0,g=Number.MAX_VALUE,y=-1;const k=this._foldingModel.regions;for(;i0}isHidden(e){return findRange(this._hiddenRanges,e)!==null}adjustSelections(e){let t=!1;const i=this._foldingModel.textModel;let r=null;const g=y=>((!r||!isInside$1(y,r))&&(r=findRange(this._hiddenRanges,y)),r?r.startLineNumber-1:null);for(let y=0,k=e.length;y0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function isInside$1(n,e){return n>=e.startLineNumber&&n<=e.endLineNumber}function findRange(n,e){const t=findFirstIdxMonotonousOrArrLen(n,i=>e=0&&n[t].endLineNumber>=e?n[t]:null}const MAX_FOLDING_REGIONS_FOR_INDENT_DEFAULT=5e3,ID_INDENT_PROVIDER="indent";class IndentRangeProvider{constructor(e,t,i){this.editorModel=e,this.languageConfigurationService=t,this.foldingRangesLimit=i,this.id=ID_INDENT_PROVIDER}dispose(){}compute(e){const t=this.languageConfigurationService.getLanguageConfiguration(this.editorModel.getLanguageId()).foldingRules,i=t&&!!t.offSide,r=t&&t.markers;return Promise.resolve(computeRanges(this.editorModel,i,r,this.foldingRangesLimit))}}let RangesCollector$1=class{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>MAX_LINE_NUMBER||t>MAX_LINE_NUMBER)return;const r=this._length;this._startIndexes[r]=e,this._endIndexes[r]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){const t=this._foldingRangesLimit.limit;if(this._length<=t){this._foldingRangesLimit.update(this._length,!1);const i=new Uint32Array(this._length),r=new Uint32Array(this._length);for(let g=this._length-1,y=0;g>=0;g--,y++)i[y]=this._startIndexes[g],r[y]=this._endIndexes[g];return new FoldingRegions(i,r)}else{this._foldingRangesLimit.update(this._length,t);let i=0,r=this._indentOccurrences.length;for(let L=0;Lt){r=L;break}i+=V}}const g=e.getOptions().tabSize,y=new Uint32Array(t),k=new Uint32Array(t);for(let L=this._length-1,V=0;L>=0;L--){const z=this._startIndexes[L],j=e.getLineContent(z),ie=computeIndentLevel(j,g);(ie{}};function computeRanges(n,e,t,i=foldingRangesLimitDefault){const r=n.getOptions().tabSize,g=new RangesCollector$1(i);let y;t&&(y=new RegExp("(".concat(t.start.source,")|(?:").concat(t.end.source,")")));const k=[],L=n.getLineCount()+1;k.push({indent:-1,endAbove:L,line:L});for(let V=n.getLineCount();V>0;V--){const z=n.getLineContent(V),j=computeIndentLevel(z,r);let ie=k[k.length-1];if(j===-1){e&&(ie.endAbove=V);continue}let oe;if(y&&(oe=z.match(y)))if(oe[1]){let re=k.length-1;for(;re>0&&k[re].indent!==-2;)re--;if(re>0){k.length=re+1,ie=k[re],g.insertFirst(V,ie.line,j),ie.line=V,ie.indent=j,ie.endAbove=V;continue}}else{k.push({indent:-2,endAbove:V,line:V});continue}if(ie.indent>j){do k.pop(),ie=k[k.length-1];while(ie.indent>j);const re=ie.endAbove-1;re-V>=1&&g.insertFirst(V,re,j)}ie.indent===j?ie.endAbove=V:k.push({indent:j,endAbove:V,line:V})}return g.toIndentRanges(n)}const foldBackground=registerColor("editor.foldBackground",{light:transparent(editorSelectionBackground,.3),dark:transparent(editorSelectionBackground,.3),hcDark:null,hcLight:null},localize("foldBackgroundBackground","Background color behind folded ranges. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editorGutter.foldingControlForeground",{dark:iconForeground,light:iconForeground,hcDark:iconForeground,hcLight:iconForeground},localize("editorGutter.foldingControlForeground","Color of the folding control in the editor gutter."));const foldingExpandedIcon=registerIcon("folding-expanded",Codicon.chevronDown,localize("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),foldingCollapsedIcon=registerIcon("folding-collapsed",Codicon.chevronRight,localize("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin.")),foldingManualCollapsedIcon=registerIcon("folding-manual-collapsed",foldingCollapsedIcon,localize("foldingManualCollapedIcon","Icon for manually collapsed ranges in the editor glyph margin.")),foldingManualExpandedIcon=registerIcon("folding-manual-expanded",foldingExpandedIcon,localize("foldingManualExpandedIcon","Icon for manually expanded ranges in the editor glyph margin.")),foldedBackgroundMinimap={color:themeColorFromId(foldBackground),position:1},collapsed=localize("linesCollapsed","Click to expand the range."),expanded=localize("linesExpanded","Click to collapse the range.");class FoldingDecorationProvider{constructor(e){this.editor=e,this.showFoldingControls="mouseover",this.showFoldingHighlights=!0}getDecorationOption(e,t,i){return t?FoldingDecorationProvider.HIDDEN_RANGE_DECORATION:this.showFoldingControls==="never"?e?this.showFoldingHighlights?FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION:FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION:FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION:e?i?this.showFoldingHighlights?FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION:this.showFoldingHighlights?FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION:this.showFoldingControls==="mouseover"?i?FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:i?FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION:FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION}changeDecorations(e){return this.editor.changeDecorations(e)}removeDecorations(e){this.editor.removeDecorations(e)}}FoldingDecorationProvider.COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)});FoldingDecorationProvider.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingCollapsedIcon)});FoldingDecorationProvider.MANUALLY_COLLAPSED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)});FoldingDecorationProvider.MANUALLY_COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-collapsed-highlighted-visual-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualCollapsedIcon)});FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",isWholeLine:!0,linesDecorationsTooltip:collapsed});FoldingDecorationProvider.NO_CONTROLS_COLLAPSED_HIGHLIGHTED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,afterContentClassName:"inline-folded",className:"folded-background",minimap:foldedBackgroundMinimap,isWholeLine:!0,linesDecorationsTooltip:collapsed});FoldingDecorationProvider.EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded});FoldingDecorationProvider.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-expanded-auto-hide-visual-decoration",stickiness:1,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon.asClassName(foldingExpandedIcon),linesDecorationsTooltip:expanded});FoldingDecorationProvider.MANUALLY_EXPANDED_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+ThemeIcon.asClassName(foldingManualExpandedIcon),linesDecorationsTooltip:expanded});FoldingDecorationProvider.MANUALLY_EXPANDED_AUTO_HIDE_VISUAL_DECORATION=ModelDecorationOptions.register({description:"folding-manually-expanded-auto-hide-visual-decoration",stickiness:0,isWholeLine:!0,firstLineDecorationClassName:ThemeIcon.asClassName(foldingManualExpandedIcon),linesDecorationsTooltip:expanded});FoldingDecorationProvider.NO_CONTROLS_EXPANDED_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-no-controls-range-decoration",stickiness:0,isWholeLine:!0});FoldingDecorationProvider.HIDDEN_RANGE_DECORATION=ModelDecorationOptions.register({description:"folding-hidden-range-decoration",stickiness:1});const foldingContext={},ID_SYNTAX_PROVIDER="syntax";class SyntaxRangeProvider{constructor(e,t,i,r,g){this.editorModel=e,this.providers=t,this.handleFoldingRangesChange=i,this.foldingRangesLimit=r,this.fallbackRangeProvider=g,this.id=ID_SYNTAX_PROVIDER,this.disposables=new DisposableStore,g&&this.disposables.add(g);for(const y of t)typeof y.onDidChange=="function"&&this.disposables.add(y.onDidChange(i))}compute(e){return collectSyntaxRanges(this.providers,this.editorModel,e).then(t=>{var i,r;return t?sanitizeRanges(t,this.foldingRangesLimit):(r=(i=this.fallbackRangeProvider)===null||i===void 0?void 0:i.compute(e))!==null&&r!==void 0?r:null})}dispose(){this.disposables.dispose()}}function collectSyntaxRanges(n,e,t){let i=null;const r=n.map((g,y)=>Promise.resolve(g.provideFoldingRanges(e,foldingContext,t)).then(k=>{if(!t.isCancellationRequested&&Array.isArray(k)){Array.isArray(i)||(i=[]);const L=e.getLineCount();for(const V of k)V.start>0&&V.end>V.start&&V.end<=L&&i.push({start:V.start,end:V.end,rank:y,kind:V.kind})}},onUnexpectedExternalError));return Promise.all(r).then(g=>i)}class RangesCollector{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,r){if(e>MAX_LINE_NUMBER||t>MAX_LINE_NUMBER)return;const g=this._length;this._startIndexes[g]=e,this._endIndexes[g]=t,this._nestingLevels[g]=r,this._types[g]=i,this._length++,r<30&&(this._nestingLevelCounts[r]=(this._nestingLevelCounts[r]||0)+1)}toIndentRanges(){const e=this._foldingRangesLimit.limit;if(this._length<=e){this._foldingRangesLimit.update(this._length,!1);const t=new Uint32Array(this._length),i=new Uint32Array(this._length);for(let r=0;re){i=k;break}t+=L}}const r=new Uint32Array(e),g=new Uint32Array(e),y=[];for(let k=0,L=0;k{let L=y.start-k.start;return L===0&&(L=y.rank-k.rank),L}),i=new RangesCollector(e);let r;const g=[];for(const y of t)if(!r)r=y,i.add(y.start,y.end,y.kind&&y.kind.value,g.length);else if(y.start>r.start)if(y.end<=r.end)g.push(r),r=y,i.add(y.start,y.end,y.kind&&y.kind.value,g.length);else{if(y.start>r.end){do r=g.pop();while(r&&y.start>r.end);r&&g.push(r),r=y}i.add(y.start,y.end,y.kind&&y.kind.value,g.length)}return i.toIndentRanges()}var __decorate$Z=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$V=function(n,e){return function(t,i){e(t,i,n)}},FoldingController_1;const CONTEXT_FOLDING_ENABLED=new RawContextKey("foldingEnabled",!1);let FoldingController=FoldingController_1=class extends Disposable{static get(e){return e.getContribution(FoldingController_1.ID)}static getFoldingRangeProviders(e,t){var i,r;const g=e.foldingRangeProvider.ordered(t);return(r=(i=FoldingController_1._foldingRangeSelector)===null||i===void 0?void 0:i.call(FoldingController_1,g,t))!==null&&r!==void 0?r:g}constructor(e,t,i,r,g,y){super(),this.contextKeyService=t,this.languageConfigurationService=i,this.languageFeaturesService=y,this.localToDispose=this._register(new DisposableStore),this.editor=e,this._foldingLimitReporter=new RangesLimitReporter(e);const k=this.editor.getOptions();this._isEnabled=k.get(43),this._useFoldingProviders=k.get(44)!=="indentation",this._unfoldOnClickAfterEndOfLine=k.get(48),this._restoringViewState=!1,this._currentModelHasFoldedImports=!1,this._foldingImportsByDefault=k.get(46),this.updateDebounceInfo=g.for(y.foldingRangeProvider,"Folding",{min:200}),this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new FoldingDecorationProvider(e),this.foldingDecorationProvider.showFoldingControls=k.get(110),this.foldingDecorationProvider.showFoldingHighlights=k.get(45),this.foldingEnabled=CONTEXT_FOLDING_ENABLED.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(L=>{if(L.hasChanged(43)&&(this._isEnabled=this.editor.getOptions().get(43),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),L.hasChanged(47)&&this.onModelChanged(),L.hasChanged(110)||L.hasChanged(45)){const V=this.editor.getOptions();this.foldingDecorationProvider.showFoldingControls=V.get(110),this.foldingDecorationProvider.showFoldingHighlights=V.get(45),this.triggerFoldingModelChanged()}L.hasChanged(44)&&(this._useFoldingProviders=this.editor.getOptions().get(44)!=="indentation",this.onFoldingStrategyChanged()),L.hasChanged(48)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(48)),L.hasChanged(46)&&(this._foldingImportsByDefault=this.editor.getOptions().get(46))})),this.onModelChanged()}saveViewState(){const e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){const t=this.foldingModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i,foldedImports:this._currentModelHasFoldedImports}}}restoreViewState(e){const t=this.editor.getModel();if(!(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)&&e&&(this._currentModelHasFoldedImports=!!e.foldedImports,e.collapsedRegions&&e.collapsedRegions.length>0&&this.foldingModel)){this._restoringViewState=!0;try{this.foldingModel.applyMemento(e.collapsedRegions)}finally{this._restoringViewState=!1}}}onModelChanged(){this.localToDispose.clear();const e=this.editor.getModel();!this._isEnabled||!e||e.isTooLargeForTokenization()||(this._currentModelHasFoldedImports=!1,this.foldingModel=new FoldingModel(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new HiddenRangeModel(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(t=>this.onHiddenRangesChanges(t))),this.updateScheduler=new Delayer(this.updateDebounceInfo.get(e)),this.cursorChangedScheduler=new RunOnceScheduler(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(this.languageFeaturesService.foldingRangeProvider.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(t=>this.onDidChangeModelContent(t))),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(t=>this.onEditorMouseDown(t))),this.localToDispose.add(this.editor.onMouseUp(t=>this.onEditorMouseUp(t))),this.localToDispose.add({dispose:()=>{var t,i;this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),(t=this.updateScheduler)===null||t===void 0||t.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,(i=this.rangeProvider)===null||i===void 0||i.dispose(),this.rangeProvider=null}}),this.triggerFoldingModelChanged())}onFoldingStrategyChanged(){var e;(e=this.rangeProvider)===null||e===void 0||e.dispose(),this.rangeProvider=null,this.triggerFoldingModelChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;const t=new IndentRangeProvider(e,this.languageConfigurationService,this._foldingLimitReporter);if(this.rangeProvider=t,this._useFoldingProviders&&this.foldingModel){const i=FoldingController_1.getFoldingRangeProviders(this.languageFeaturesService,e);i.length>0&&(this.rangeProvider=new SyntaxRangeProvider(e,i,()=>this.triggerFoldingModelChanged(),this._foldingLimitReporter,t))}return this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onDidChangeModelContent(e){var t;(t=this.hiddenRangeModel)===null||t===void 0||t.notifyChangeModelContent(e),this.triggerFoldingModelChanged()}triggerFoldingModelChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;const t=new StopWatch,i=this.getRangeProvider(e.textModel),r=this.foldingRegionPromise=createCancelablePromise(g=>i.compute(g));return r.then(g=>{if(g&&r===this.foldingRegionPromise){let y;if(this._foldingImportsByDefault&&!this._currentModelHasFoldedImports){const z=g.setCollapsedAllOfType(FoldingRangeKind.Imports.value,!0);z&&(y=StableEditorScrollState.capture(this.editor),this._currentModelHasFoldedImports=z)}const k=this.editor.getSelections(),L=k?k.map(z=>z.startLineNumber):[];e.update(g,L),y==null||y.restore(this.editor);const V=this.updateDebounceInfo.update(e.textModel,t.elapsed());this.updateScheduler&&(this.updateScheduler.defaultDelay=V)}return e})}).then(void 0,e=>(onUnexpectedError(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){const t=this.editor.getSelections();t&&this.hiddenRangeModel.adjustSelections(t)&&this.editor.setSelections(t)}this.editor.setHiddenAreas(e,this)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(t=>{if(t){const i=this.editor.getSelections();if(i&&i.length>0){const r=[];for(const g of i){const y=g.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(y)&&r.push(...t.getAllRegionsAtLine(y,k=>k.isCollapsed&&y>k.startLineNumber))}r.length&&(t.toggleCollapseState(r),this.reveal(i[0].getPosition()))}}}).then(void 0,onUnexpectedError)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range||!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:{const r=e.target.detail,g=e.target.element.offsetLeft;if(r.offsetX-g<4)return;i=!0;break}case 7:{if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()&&!e.target.detail.isAfterLines)break;return}case 6:{if(this.hiddenRangeModel.hasRanges()){const r=this.editor.getModel();if(r&&t.startColumn===r.getLineMaxColumn(t.startLineNumber))break}return}default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.foldingModel;if(!t||!this.mouseDownInfo||!e.target)return;const i=this.mouseDownInfo.lineNumber,r=this.mouseDownInfo.iconClicked,g=e.target.range;if(!g||g.startLineNumber!==i)return;if(r){if(e.target.type!==4)return}else{const k=this.editor.getModel();if(!k||g.startColumn!==k.getLineMaxColumn(i))return}const y=t.getRegionAtLine(i);if(y&&y.startLineNumber===i){const k=y.isCollapsed;if(r||k){const L=e.event.altKey;let V=[];if(L){const z=ie=>!ie.containedBy(y)&&!y.containedBy(ie),j=t.getRegionsInside(null,z);for(const ie of j)ie.isCollapsed&&V.push(ie);V.length===0&&(V=j)}else{const z=e.event.middleButton||e.event.shiftKey;if(z)for(const j of t.getRegionsInside(y))j.isCollapsed===k&&V.push(j);(k||!z||V.length===0)&&V.push(y)}t.toggleCollapseState(V),this.reveal({lineNumber:i,column:1})}}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};FoldingController.ID="editor.contrib.folding";FoldingController=FoldingController_1=__decorate$Z([__param$V(1,IContextKeyService),__param$V(2,ILanguageConfigurationService),__param$V(3,INotificationService),__param$V(4,ILanguageFeatureDebounceService),__param$V(5,ILanguageFeaturesService)],FoldingController);class RangesLimitReporter{constructor(e){this.editor=e,this._onDidChange=new Emitter$1,this._computed=0,this._limited=!1}get limit(){return this.editor.getOptions().get(47)}update(e,t){(e!==this._computed||t!==this._limited)&&(this._computed=e,this._limited=t,this._onDidChange.fire())}}class FoldingAction extends EditorAction{runEditorCommand(e,t,i){const r=e.get(ILanguageConfigurationService),g=FoldingController.get(t);if(!g)return;const y=g.getFoldingModel();if(y)return this.reportTelemetry(e,t),y.then(k=>{if(k){this.invoke(g,k,t,i,r);const L=t.getSelection();L&&g.reveal(L.getStartPosition())}})}getSelectedLines(e){const t=e.getSelections();return t?t.map(i=>i.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(i=>i+1):this.getSelectedLines(t)}run(e,t){}}function foldingArgumentsConstraint(n){if(!isUndefined$3(n)){if(!isObject$3(n))return!1;const e=n;if(!isUndefined$3(e.levels)&&!isNumber$3(e.levels)||!isUndefined$3(e.direction)&&!isString$3(e.direction)||!isUndefined$3(e.selectionLines)&&(!Array.isArray(e.selectionLines)||!e.selectionLines.every(isNumber$3)))return!1}return!0}class UnfoldAction extends FoldingAction{constructor(){super({id:"editor.unfold",label:localize("unfoldAction.label","Unfold"),alias:"Unfold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3166,mac:{primary:2654},weight:100},metadata:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n * 'levels': Number of levels to unfold. If not set, defaults to 1.\n * 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n ",constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const g=r&&r.levels||1,y=this.getLineNumbers(r,i);r&&r.direction==="up"?setCollapseStateLevelsUp(t,!1,g,y):setCollapseStateLevelsDown(t,!1,g,y)}}class UnFoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.unfoldRecursively",label:localize("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2142),weight:100}})}invoke(e,t,i,r){setCollapseStateLevelsDown(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}class FoldAction extends FoldingAction{constructor(){super({id:"editor.fold",label:localize("foldAction.label","Fold"),alias:"Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3164,mac:{primary:2652},weight:100},metadata:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n * 'levels': Number of levels to fold.\n * 'direction': If 'up', folds given number of levels up otherwise folds down.\n * 'selectionLines': Array of the start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n If no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n ",constraint:foldingArgumentsConstraint,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,r){const g=this.getLineNumbers(r,i),y=r&&r.levels,k=r&&r.direction;typeof y!="number"&&typeof k!="string"?setCollapseStateUp(t,!0,g):k==="up"?setCollapseStateLevelsUp(t,!0,y||1,g):setCollapseStateLevelsDown(t,!0,y||1,g)}}class ToggleFoldAction extends FoldingAction{constructor(){super({id:"editor.toggleFold",label:localize("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2090),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);toggleCollapseState(t,1,r)}}class FoldRecursivelyAction extends FoldingAction{constructor(){super({id:"editor.foldRecursively",label:localize("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2140),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateLevelsDown(t,!0,Number.MAX_VALUE,r)}}class FoldAllBlockCommentsAction extends FoldingAction{constructor(){super({id:"editor.foldAllBlockComments",label:localize("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2138),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Comment.value,!0);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).comments;if(k&&k.blockCommentStartToken){const L=new RegExp("^\\s*"+escapeRegExpCharacters(k.blockCommentStartToken));setCollapseStateForMatchingLines(t,L,!0)}}}}class FoldAllRegionsAction extends FoldingAction{constructor(){super({id:"editor.foldAllMarkerRegions",label:localize("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2077),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Region.value,!0);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(k&&k.markers&&k.markers.start){const L=new RegExp(k.markers.start);setCollapseStateForMatchingLines(t,L,!0)}}}}class UnfoldAllRegionsAction extends FoldingAction{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:localize("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2078),weight:100}})}invoke(e,t,i,r,g){if(t.regions.hasTypes())setCollapseStateForType(t,FoldingRangeKind.Region.value,!1);else{const y=i.getModel();if(!y)return;const k=g.getLanguageConfiguration(y.getLanguageId()).foldingRules;if(k&&k.markers&&k.markers.start){const L=new RegExp(k.markers.start);setCollapseStateForMatchingLines(t,L,!1)}}}}class FoldAllExceptAction extends FoldingAction{constructor(){super({id:"editor.foldAllExcept",label:localize("foldAllExcept.label","Fold All Except Selected"),alias:"Fold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2136),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateForRest(t,!0,r)}}class UnfoldAllExceptAction extends FoldingAction{constructor(){super({id:"editor.unfoldAllExcept",label:localize("unfoldAllExcept.label","Unfold All Except Selected"),alias:"Unfold All Except Selected",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2134),weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);setCollapseStateForRest(t,!1,r)}}class FoldAllAction extends FoldingAction{constructor(){super({id:"editor.foldAll",label:localize("foldAllAction.label","Fold All"),alias:"Fold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2069),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown(t,!0)}}class UnfoldAllAction extends FoldingAction{constructor(){super({id:"editor.unfoldAll",label:localize("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2088),weight:100}})}invoke(e,t,i){setCollapseStateLevelsDown(t,!1)}}class FoldLevelAction extends FoldingAction{getFoldingLevel(){return parseInt(this.id.substr(FoldLevelAction.ID_PREFIX.length))}invoke(e,t,i){setCollapseStateAtLevel(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}FoldLevelAction.ID_PREFIX="editor.foldLevel";FoldLevelAction.ID=n=>FoldLevelAction.ID_PREFIX+n;class GotoParentFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoParentFold",label:localize("gotoParentFold.label","Go to Parent Fold"),alias:"Go to Parent Fold",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getParentFoldLine(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}}class GotoPreviousFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoPreviousFold",label:localize("gotoPreviousFold.label","Go to Previous Folding Range"),alias:"Go to Previous Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getPreviousFoldLine(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}}class GotoNextFoldAction extends FoldingAction{constructor(){super({id:"editor.gotoNextFold",label:localize("gotoNextFold.label","Go to Next Folding Range"),alias:"Go to Next Folding Range",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:100}})}invoke(e,t,i){const r=this.getSelectedLines(i);if(r.length>0){const g=getNextFoldLine(r[0],t);g!==null&&i.setSelection({startLineNumber:g,startColumn:1,endLineNumber:g,endColumn:1})}}}class FoldRangeFromSelectionAction extends FoldingAction{constructor(){super({id:"editor.createFoldingRangeFromSelection",label:localize("createManualFoldRange.label","Create Folding Range from Selection"),alias:"Create Folding Range from Selection",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2135),weight:100}})}invoke(e,t,i){var r;const g=[],y=i.getSelections();if(y){for(const k of y){let L=k.endLineNumber;k.endColumn===1&&--L,L>k.startLineNumber&&(g.push({startLineNumber:k.startLineNumber,endLineNumber:L,type:void 0,isCollapsed:!0,source:1}),i.setSelection({startLineNumber:k.startLineNumber,startColumn:1,endLineNumber:k.startLineNumber,endColumn:1}))}if(g.length>0){g.sort((L,V)=>L.startLineNumber-V.startLineNumber);const k=FoldingRegions.sanitizeAndMerge(t.regions,g,(r=i.getModel())===null||r===void 0?void 0:r.getLineCount());t.updatePost(FoldingRegions.fromFoldRanges(k))}}}}class RemoveFoldRangeFromSelectionAction extends FoldingAction{constructor(){super({id:"editor.removeManualFoldingRanges",label:localize("removeManualFoldingRanges.label","Remove Manual Folding Ranges"),alias:"Remove Manual Folding Ranges",precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2137),weight:100}})}invoke(e,t,i){const r=i.getSelections();if(r){const g=[];for(const y of r){const{startLineNumber:k,endLineNumber:L}=y;g.push(L>=k?{startLineNumber:k,endLineNumber:L}:{endLineNumber:L,startLineNumber:k})}t.removeManualRanges(g),e.triggerFoldingModelChanged()}}}registerEditorContribution(FoldingController.ID,FoldingController,0);registerEditorAction(UnfoldAction);registerEditorAction(UnFoldRecursivelyAction);registerEditorAction(FoldAction);registerEditorAction(FoldRecursivelyAction);registerEditorAction(FoldAllAction);registerEditorAction(UnfoldAllAction);registerEditorAction(FoldAllBlockCommentsAction);registerEditorAction(FoldAllRegionsAction);registerEditorAction(UnfoldAllRegionsAction);registerEditorAction(FoldAllExceptAction);registerEditorAction(UnfoldAllExceptAction);registerEditorAction(ToggleFoldAction);registerEditorAction(GotoParentFoldAction);registerEditorAction(GotoPreviousFoldAction);registerEditorAction(GotoNextFoldAction);registerEditorAction(FoldRangeFromSelectionAction);registerEditorAction(RemoveFoldRangeFromSelectionAction);for(let n=1;n<=7;n++)registerInstantiatedEditorAction(new FoldLevelAction({id:FoldLevelAction.ID(n),label:localize("foldLevelAction.label","Fold Level {0}",n),alias:"Fold Level ".concat(n),precondition:CONTEXT_FOLDING_ENABLED,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2048|21+n),weight:100}}));CommandsRegistry.registerCommand("_executeFoldingRangeProvider",async function(n,...e){const[t]=e;if(!(t instanceof URI))throw illegalArgument();const i=n.get(ILanguageFeaturesService),r=n.get(IModelService).getModel(t);if(!r)throw illegalArgument();const g=n.get(IConfigurationService);if(!g.getValue("editor.folding",{resource:t}))return[];const y=n.get(ILanguageConfigurationService),k=g.getValue("editor.foldingStrategy",{resource:t}),L={get limit(){return g.getValue("editor.foldingMaximumRegions",{resource:t})},update:(oe,re)=>{}},V=new IndentRangeProvider(r,y,L);let z=V;if(k!=="indentation"){const oe=FoldingController.getFoldingRangeProviders(i,r);oe.length&&(z=new SyntaxRangeProvider(r,oe,()=>{},L,V))}const j=await z.compute(CancellationToken.None),ie=[];try{if(j)for(let oe=0;oe=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$U=function(n,e){return function(t,i){e(t,i,n)}};let FormatOnType=class{constructor(e,t,i,r){this._editor=e,this._languageFeaturesService=t,this._workerService=i,this._accessibilitySignalService=r,this._disposables=new DisposableStore,this._sessionDisposables=new DisposableStore,this._disposables.add(t.onTypeFormattingEditProvider.onDidChange(this._update,this)),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(g=>{g.hasChanged(56)&&this._update()})),this._update()}dispose(){this._disposables.dispose(),this._sessionDisposables.dispose()}_update(){if(this._sessionDisposables.clear(),!this._editor.getOption(56)||!this._editor.hasModel())return;const e=this._editor.getModel(),[t]=this._languageFeaturesService.onTypeFormattingEditProvider.ordered(e);if(!t||!t.autoFormatTriggerCharacters)return;const i=new CharacterSet;for(const r of t.autoFormatTriggerCharacters)i.add(r.charCodeAt(0));this._sessionDisposables.add(this._editor.onDidType(r=>{const g=r.charCodeAt(r.length-1);i.has(g)&&this._trigger(String.fromCharCode(g))}))}_trigger(e){if(!this._editor.hasModel()||this._editor.getSelections().length>1||!this._editor.getSelection().isEmpty())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=new CancellationTokenSource$1,g=this._editor.onDidChangeModelContent(y=>{if(y.isFlush){r.cancel(),g.dispose();return}for(let k=0,L=y.changes.length;k{r.token.isCancellationRequested||isNonEmptyArray(y)&&(this._accessibilitySignalService.playSignal(AccessibilitySignal.format,{userGesture:!1}),FormattingEdit.execute(this._editor,y,!0))}).finally(()=>{g.dispose()})}};FormatOnType.ID="editor.contrib.autoFormat";FormatOnType=__decorate$Y([__param$U(1,ILanguageFeaturesService),__param$U(2,IEditorWorkerService),__param$U(3,IAccessibilitySignalService)],FormatOnType);let FormatOnPaste=class{constructor(e,t,i){this.editor=e,this._languageFeaturesService=t,this._instantiationService=i,this._callOnDispose=new DisposableStore,this._callOnModel=new DisposableStore,this._callOnDispose.add(e.onDidChangeConfiguration(()=>this._update())),this._callOnDispose.add(e.onDidChangeModel(()=>this._update())),this._callOnDispose.add(e.onDidChangeModelLanguage(()=>this._update())),this._callOnDispose.add(t.documentRangeFormattingEditProvider.onDidChange(this._update,this))}dispose(){this._callOnDispose.dispose(),this._callOnModel.dispose()}_update(){this._callOnModel.clear(),this.editor.getOption(55)&&this.editor.hasModel()&&this._languageFeaturesService.documentRangeFormattingEditProvider.has(this.editor.getModel())&&this._callOnModel.add(this.editor.onDidPaste(({range:e})=>this._trigger(e)))}_trigger(e){this.editor.hasModel()&&(this.editor.getSelections().length>1||this._instantiationService.invokeFunction(formatDocumentRangesWithSelectedProvider,this.editor,e,2,Progress$1.None,CancellationToken.None,!1).catch(onUnexpectedError))}};FormatOnPaste.ID="editor.contrib.formatOnPaste";FormatOnPaste=__decorate$Y([__param$U(1,ILanguageFeaturesService),__param$U(2,IInstantiationService)],FormatOnPaste);class FormatDocumentAction extends EditorAction{constructor(){super({id:"editor.action.formatDocument",label:localize("formatDocument.label","Format Document"),alias:"Format Document",precondition:ContextKeyExpr.and(EditorContextKeys.notInCompositeEditor,EditorContextKeys.writable,EditorContextKeys.hasDocumentFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1572,linux:{primary:3111},weight:100},contextMenuOpts:{group:"1_modification",order:1.3}})}async run(e,t){if(t.hasModel()){const i=e.get(IInstantiationService);await e.get(IEditorProgressService).showWhile(i.invokeFunction(formatDocumentWithSelectedProvider,t,1,Progress$1.None,CancellationToken.None,!0),250)}}}class FormatSelectionAction extends EditorAction{constructor(){super({id:"editor.action.formatSelection",label:localize("formatSelection.label","Format Selection"),alias:"Format Selection",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasDocumentSelectionFormattingProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:KeyChord(2089,2084),weight:100},contextMenuOpts:{when:EditorContextKeys.hasNonEmptySelection,group:"1_modification",order:1.31}})}async run(e,t){if(!t.hasModel())return;const i=e.get(IInstantiationService),r=t.getModel(),g=t.getSelections().map(k=>k.isEmpty()?new Range$2(k.startLineNumber,1,k.startLineNumber,r.getLineMaxColumn(k.startLineNumber)):k);await e.get(IEditorProgressService).showWhile(i.invokeFunction(formatDocumentRangesWithSelectedProvider,t,g,1,Progress$1.None,CancellationToken.None,!0),250)}}registerEditorContribution(FormatOnType.ID,FormatOnType,2);registerEditorContribution(FormatOnPaste.ID,FormatOnPaste,2);registerEditorAction(FormatDocumentAction);registerEditorAction(FormatSelectionAction);CommandsRegistry.registerCommand("editor.action.format",async n=>{const e=n.get(ICodeEditorService).getFocusedCodeEditor();if(!e||!e.hasModel())return;const t=n.get(ICommandService);e.getSelection().isEmpty()?await t.executeCommand("editor.action.formatDocument"):await t.executeCommand("editor.action.formatSelection")});var __decorate$X=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$T=function(n,e){return function(t,i){e(t,i,n)}};class TreeElement{remove(){var e;(e=this.parent)===null||e===void 0||e.children.delete(this.id)}static findId(e,t){let i;typeof e=="string"?i="".concat(t.id,"/").concat(e):(i="".concat(t.id,"/").concat(e.name),t.children.get(i)!==void 0&&(i="".concat(t.id,"/").concat(e.name,"_").concat(e.range.startLineNumber,"_").concat(e.range.startColumn)));let r=i;for(let g=0;t.children.get(r)!==void 0;g++)r="".concat(i,"_").concat(g);return r}static empty(e){return e.children.size===0}}class OutlineElement extends TreeElement{constructor(e,t,i){super(),this.id=e,this.parent=t,this.symbol=i,this.children=new Map}}class OutlineGroup extends TreeElement{constructor(e,t,i,r){super(),this.id=e,this.parent=t,this.label=i,this.order=r,this.children=new Map}}class OutlineModel extends TreeElement{static create(e,t,i){const r=new CancellationTokenSource$1(i),g=new OutlineModel(t.uri),y=e.ordered(t),k=y.map((V,z)=>{var j;const ie=TreeElement.findId("provider_".concat(z),g),oe=new OutlineGroup(ie,g,(j=V.displayName)!==null&&j!==void 0?j:"Unknown Outline Provider",z);return Promise.resolve(V.provideDocumentSymbols(t,r.token)).then(re=>{for(const ae of re||[])OutlineModel._makeOutlineElement(ae,oe);return oe},re=>(onUnexpectedExternalError(re),oe)).then(re=>{TreeElement.empty(re)?re.remove():g._groups.set(ie,re)})}),L=e.onDidChange(()=>{const V=e.ordered(t);equals$3(V,y)||r.cancel()});return Promise.all(k).then(()=>r.token.isCancellationRequested&&!i.isCancellationRequested?OutlineModel.create(e,t,i):g._compact()).finally(()=>{r.dispose(),L.dispose(),r.dispose()})}static _makeOutlineElement(e,t){const i=TreeElement.findId(e,t),r=new OutlineElement(i,t,e);if(e.children)for(const g of e.children)OutlineModel._makeOutlineElement(g,r);t.children.set(r.id,r)}constructor(e){super(),this.uri=e,this.id="root",this.parent=void 0,this._groups=new Map,this.children=new Map,this.id="root",this.parent=void 0}_compact(){let e=0;for(const[t,i]of this._groups)i.children.size===0?this._groups.delete(t):e+=1;if(e!==1)this.children=this._groups;else{const t=Iterable.first(this._groups.values());for(const[,i]of t.children)i.parent=this,this.children.set(i.id,i)}return this}getTopLevelSymbols(){const e=[];for(const t of this.children.values())t instanceof OutlineElement?e.push(t.symbol):e.push(...Iterable.map(t.children.values(),i=>i.symbol));return e.sort((t,i)=>Range$2.compareRangesUsingStarts(t.range,i.range))}asListOfDocumentSymbols(){const e=this.getTopLevelSymbols(),t=[];return OutlineModel._flattenDocumentSymbols(t,e,""),t.sort((i,r)=>Position$1.compare(Range$2.getStartPosition(i.range),Range$2.getStartPosition(r.range))||Position$1.compare(Range$2.getEndPosition(r.range),Range$2.getEndPosition(i.range)))}static _flattenDocumentSymbols(e,t,i){for(const r of t)e.push({kind:r.kind,tags:r.tags,name:r.name,detail:r.detail,containerName:r.containerName||i,range:r.range,selectionRange:r.selectionRange,children:void 0}),r.children&&OutlineModel._flattenDocumentSymbols(e,r.children,r.name)}}const IOutlineModelService=createDecorator("IOutlineModelService");let OutlineModelService=class{constructor(e,t,i){this._languageFeaturesService=e,this._disposables=new DisposableStore,this._cache=new LRUCache(10,.7),this._debounceInformation=t.for(e.documentSymbolProvider,"DocumentSymbols",{min:350}),this._disposables.add(i.onModelRemoved(r=>{this._cache.delete(r.id)}))}dispose(){this._disposables.dispose()}async getOrCreate(e,t){const i=this._languageFeaturesService.documentSymbolProvider,r=i.ordered(e);let g=this._cache.get(e.id);if(!g||g.versionId!==e.getVersionId()||!equals$3(g.provider,r)){const k=new CancellationTokenSource$1;g={versionId:e.getVersionId(),provider:r,promiseCnt:0,source:k,promise:OutlineModel.create(i,e,k.token),model:void 0},this._cache.set(e.id,g);const L=Date.now();g.promise.then(V=>{g.model=V,this._debounceInformation.update(e,Date.now()-L)}).catch(V=>{this._cache.delete(e.id)})}if(g.model)return g.model;g.promiseCnt+=1;const y=t.onCancellationRequested(()=>{--g.promiseCnt===0&&(g.source.cancel(),this._cache.delete(e.id))});try{return await g.promise}finally{y.dispose()}}};OutlineModelService=__decorate$X([__param$T(0,ILanguageFeaturesService),__param$T(1,ILanguageFeatureDebounceService),__param$T(2,IModelService)],OutlineModelService);registerSingleton(IOutlineModelService,OutlineModelService,1);CommandsRegistry.registerCommand("_executeDocumentSymbolProvider",async function(n,...e){const[t]=e;assertType(URI.isUri(t));const i=n.get(IOutlineModelService),g=await n.get(ITextModelService).createModelReference(t);try{return(await i.getOrCreate(g.object.textEditorModel,CancellationToken.None)).getTopLevelSymbols()}finally{g.dispose()}});class InlineCompletionContextKeys extends Disposable{constructor(e,t){super(),this.contextKeyService=e,this.model=t,this.inlineCompletionVisible=InlineCompletionContextKeys.inlineSuggestionVisible.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentation=InlineCompletionContextKeys.inlineSuggestionHasIndentation.bindTo(this.contextKeyService),this.inlineCompletionSuggestsIndentationLessThanTabSize=InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize.bindTo(this.contextKeyService),this.suppressSuggestions=InlineCompletionContextKeys.suppressSuggestions.bindTo(this.contextKeyService),this._register(autorun(i=>{const r=this.model.read(i),g=r==null?void 0:r.state.read(i),y=!!(g!=null&&g.inlineCompletion)&&(g==null?void 0:g.primaryGhostText)!==void 0&&!(g!=null&&g.primaryGhostText.isEmpty());this.inlineCompletionVisible.set(y),g!=null&&g.primaryGhostText&&(g!=null&&g.inlineCompletion)&&this.suppressSuggestions.set(g.inlineCompletion.inlineCompletion.source.inlineCompletions.suppressSuggestions)})),this._register(autorun(i=>{const r=this.model.read(i);let g=!1,y=!0;const k=r==null?void 0:r.primaryGhostText.read(i);if(r!=null&&r.selectedSuggestItem&&k&&k.parts.length>0){const{column:L,lines:V}=k.parts[0],z=V[0],j=r.textModel.getLineIndentColumn(k.lineNumber);if(L<=j){let oe=firstNonWhitespaceIndex(z);oe===-1&&(oe=z.length-1),g=oe>0;const re=r.textModel.getOptions().tabSize;y=CursorColumns.visibleColumnFromColumn(z,oe+1,re)t.equals(e.parts[i]))}renderForScreenReader(e){if(this.parts.length===0)return"";const t=this.parts[this.parts.length-1],i=e.substr(0,t.column-1);return new TextEdit([...this.parts.map(g=>new SingleTextEdit(Range$2.fromPositions(new Position$1(1,g.column)),g.lines.join("\n")))]).applyToString(i).substring(this.parts[0].column-1)}isEmpty(){return this.parts.every(e=>e.lines.length===0)}get lineCount(){return 1+this.parts.reduce((e,t)=>e+t.lines.length-1,0)}}class GhostTextPart{constructor(e,t,i){this.column=e,this.text=t,this.preview=i,this.lines=splitLines(this.text)}equals(e){return this.column===e.column&&this.lines.length===e.lines.length&&this.lines.every((t,i)=>t===e.lines[i])}}class GhostTextReplacement{constructor(e,t,i,r=0){this.lineNumber=e,this.columnRange=t,this.text=i,this.additionalReservedLineCount=r,this.parts=[new GhostTextPart(this.columnRange.endColumnExclusive,this.text,!1)],this.newLines=splitLines(this.text)}renderForScreenReader(e){return this.newLines.join("\n")}get lineCount(){return this.newLines.length}isEmpty(){return this.parts.every(e=>e.lines.length===0)}equals(e){return this.lineNumber===e.lineNumber&&this.columnRange.equals(e.columnRange)&&this.newLines.length===e.newLines.length&&this.newLines.every((t,i)=>t===e.newLines[i])&&this.additionalReservedLineCount===e.additionalReservedLineCount}}function ghostTextsOrReplacementsEqual(n,e){return equals$3(n,e,ghostTextOrReplacementEquals)}function ghostTextOrReplacementEquals(n,e){return n===e?!0:!n||!e?!1:n instanceof GhostText&&e instanceof GhostText||n instanceof GhostTextReplacement&&e instanceof GhostTextReplacement?n.equals(e):!1}const array=[];function getReadonlyEmptyArray(){return array}class ColumnRange{constructor(e,t){if(this.startColumn=e,this.endColumnExclusive=t,e>t)throw new BugIndicatingError("startColumn ".concat(e," cannot be after endColumnExclusive ").concat(t))}toRange(e){return new Range$2(e,this.startColumn,e,this.endColumnExclusive)}equals(e){return this.startColumn===e.startColumn&&this.endColumnExclusive===e.endColumnExclusive}}function applyObservableDecorations(n,e){const t=new DisposableStore,i=n.createDecorationsCollection();return t.add(autorunOpts({debugName:()=>"Apply decorations from ".concat(e.debugName)},r=>{const g=e.read(r);i.set(g)})),t.add({dispose:()=>{i.clear()}}),t}function addPositions(n,e){return new Position$1(n.lineNumber+e.lineNumber-1,e.lineNumber===1?n.column+e.column-1:e.column)}function subtractPositions(n,e){return new Position$1(n.lineNumber-e.lineNumber+1,n.lineNumber-e.lineNumber===0?n.column-e.column+1:n.column)}var __decorate$W=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$S=function(n,e){return function(t,i){e(t,i,n)}};const GHOST_TEXT_DESCRIPTION="ghost-text";let GhostTextWidget$1=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue(this,!1),this.currentTextModel=observableFromEvent(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived(this,r=>{if(this.isDisposed.read(r))return;const g=this.currentTextModel.read(r);if(g!==this.model.targetTextModel.read(r))return;const y=this.model.ghostText.read(r);if(!y)return;const k=y instanceof GhostTextReplacement?y.columnRange:void 0,L=[],V=[];function z(ae,le){if(V.length>0){const de=V[V.length-1];le&&de.decorations.push(new LineDecoration(de.content.length+1,de.content.length+1+ae[0].length,le,0)),de.content+=ae[0],ae=ae.slice(1)}for(const de of ae)V.push({content:de,decorations:le?[new LineDecoration(1,de.length+1,le,0)]:[]})}const j=g.getLineContent(y.lineNumber);let ie,oe=0;for(const ae of y.parts){let le=ae.lines;ie===void 0?(L.push({column:ae.column,text:le[0],preview:ae.preview}),le=le.slice(1)):z([j.substring(oe,ae.column-1)],void 0),le.length>0&&(z(le,GHOST_TEXT_DESCRIPTION),ie===void 0&&ae.column<=j.length&&(ie=ae.column)),oe=ae.column-1}ie!==void 0&&z([j.substring(oe)],void 0);const re=ie!==void 0?new ColumnRange(ie,j.length+1):void 0;return{replacedRange:k,inlineTexts:L,additionalLines:V,hiddenRange:re,lineNumber:y.lineNumber,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:g}}),this.decorations=derived(this,r=>{const g=this.uiState.read(r);if(!g)return[];const y=[];g.replacedRange&&y.push({range:g.replacedRange.toRange(g.lineNumber),options:{inlineClassName:"inline-completion-text-to-replace",description:"GhostTextReplacement"}}),g.hiddenRange&&y.push({range:g.hiddenRange.toRange(g.lineNumber),options:{inlineClassName:"ghost-text-hidden",description:"ghost-text-hidden"}});for(const k of g.inlineTexts)y.push({range:Range$2.fromPositions(new Position$1(g.lineNumber,k.column)),options:{description:GHOST_TEXT_DESCRIPTION,after:{content:k.text,inlineClassName:k.preview?"ghost-text-decoration-preview":"ghost-text-decoration",cursorStops:InjectedTextCursorStops.Left},showIfCollapsed:!0}});return y}),this.additionalLinesWidget=this._register(new AdditionalLinesWidget(this.editor,this.languageService.languageIdCodec,derived(r=>{const g=this.uiState.read(r);return g?{lineNumber:g.lineNumber,additionalLines:g.additionalLines,minReservedLineCount:g.additionalReservedLineCount,targetTextModel:g.targetTextModel}:void 0}))),this._register(toDisposable(()=>{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};GhostTextWidget$1=__decorate$W([__param$S(2,ILanguageService)],GhostTextWidget$1);class AdditionalLinesWidget extends Disposable{get viewZoneId(){return this._viewZoneId}constructor(e,t,i){super(),this.editor=e,this.languageIdCodec=t,this.lines=i,this._viewZoneId=void 0,this.editorOptionsChanged=observableSignalFromEvent("editorOptionChanged",Event$1.filter(this.editor.onDidChangeConfiguration,r=>r.hasChanged(33)||r.hasChanged(117)||r.hasChanged(99)||r.hasChanged(94)||r.hasChanged(51)||r.hasChanged(50)||r.hasChanged(67))),this._register(autorun(r=>{const g=this.lines.read(r);this.editorOptionsChanged.read(r),g?this.updateLines(g.lineNumber,g.additionalLines,g.minReservedLineCount):this.clear()}))}dispose(){super.dispose(),this.clear()}clear(){this.editor.changeViewZones(e=>{this._viewZoneId&&(e.removeZone(this._viewZoneId),this._viewZoneId=void 0)})}updateLines(e,t,i){const r=this.editor.getModel();if(!r)return;const{tabSize:g}=r.getOptions();this.editor.changeViewZones(y=>{this._viewZoneId&&(y.removeZone(this._viewZoneId),this._viewZoneId=void 0);const k=Math.max(t.length,i);if(k>0){const L=document.createElement("div");renderLines(L,g,t,this.editor.getOptions(),this.languageIdCodec),this._viewZoneId=y.addZone({afterLineNumber:e,heightInLines:k,domNode:L,afterColumnAffinity:1})}})}}function renderLines(n,e,t,i,r){const g=i.get(33),y=i.get(117),k="none",L=i.get(94),V=i.get(51),z=i.get(50),j=i.get(67),ie=new StringBuilder(1e4);ie.appendString('
    ');for(let ae=0,le=t.length;ae');const he=isBasicASCII(ue),pe=containsRTL(ue),Ce=LineTokens.createEmpty(ue,r);renderViewLine(new RenderLineInput(z.isMonospace&&!g,z.canUseHalfwidthRightwardsArrow,ue,!1,he,pe,0,Ce,de.decorations,e,0,z.spaceWidth,z.middotWidth,z.wsmiddotWidth,y,k,L,V!==EditorFontLigatures.OFF,null),ie),ie.appendString("
    ")}ie.appendString(""),applyFontInfo(n,z);const oe=ie.build(),re=ttPolicy?ttPolicy.createHTML(oe):oe;n.innerHTML=re}const ttPolicy=createTrustedTypesPolicy("editorGhostText",{createHTML:n=>n});function fixBracketsInLine(n,e){const t=new DenseKeyProvider,i=new LanguageAgnosticBracketTokens(t,V=>e.getLanguageConfiguration(V)),r=new TextBufferTokenizer(new StaticTokenizerSource([n]),i),g=parseDocument(r,[],void 0,!0);let y="";const k=n.getLineContent();function L(V,z){if(V.kind===2)if(L(V.openingBracket,z),z=lengthAdd(z,V.openingBracket.length),V.child&&(L(V.child,z),z=lengthAdd(z,V.child.length)),V.closingBracket)L(V.closingBracket,z),z=lengthAdd(z,V.closingBracket.length);else{const ie=i.getSingleLanguageBracketTokens(V.openingBracket.languageId).findClosingTokenText(V.openingBracket.bracketIds);y+=ie}else if(V.kind!==3){if(V.kind===0||V.kind===1)y+=k.substring(z,lengthAdd(z,V.length));else if(V.kind===4)for(const j of V.children)L(j,z),z=lengthAdd(z,j.length)}}return L(g,lengthZero),y}class StaticTokenizerSource{constructor(e){this.lines=e,this.tokenization={getLineTokens:t=>this.lines[t-1]}}getLineCount(){return this.lines.length}getLineLength(e){return this.lines[e-1].getLineContent().length}}async function provideInlineCompletions(n,e,t,i,r=CancellationToken.None,g){const y=getDefaultRange(e,t),k=n.all(t),L=new SetMap;for(const de of k)de.groupId&&L.add(de.groupId,de);function V(de){if(!de.yieldsToGroupIds)return[];const ue=[];for(const he of de.yieldsToGroupIds||[]){const pe=L.get(he);for(const Ce of pe)ue.push(Ce)}return ue}const z=new Map,j=new Set;function ie(de,ue){if(ue=[...ue,de],j.has(de))return ue;j.add(de);try{const he=V(de);for(const pe of he){const Ce=ie(pe,ue);if(Ce)return Ce}}finally{j.delete(de)}}function oe(de){const ue=z.get(de);if(ue)return ue;const he=ie(de,[]);he&&onUnexpectedExternalError(new Error("Inline completions: cyclic yield-to dependency detected. Path: ".concat(he.map(Ce=>Ce.toString?Ce.toString():""+Ce).join(" -> "))));const pe=new DeferredPromise;return z.set(de,pe.p),(async()=>{if(!he){const Ce=V(de);for(const $e of Ce){const xe=await oe($e);if(xe&&xe.items.length>0)return}}try{return await de.provideInlineCompletions(t,e,i,r)}catch(Ce){onUnexpectedExternalError(Ce);return}})().then(Ce=>pe.complete(Ce),Ce=>pe.error(Ce)),pe.p}const re=await Promise.all(k.map(async de=>({provider:de,completions:await oe(de)}))),ae=new Map,le=[];for(const de of re){const ue=de.completions;if(!ue)continue;const he=new InlineCompletionList(ue,de.provider);le.push(he);for(const pe of ue.items){const Ce=InlineCompletionItem.from(pe,he,y,t,g);ae.set(Ce.hash(),Ce)}}return new InlineCompletionProviderResult(Array.from(ae.values()),new Set(ae.keys()),le)}class InlineCompletionProviderResult{constructor(e,t,i){this.completions=e,this.hashs=t,this.providerResults=i}has(e){return this.hashs.has(e.hash())}dispose(){for(const e of this.providerResults)e.removeRef()}}class InlineCompletionList{constructor(e,t){this.inlineCompletions=e,this.provider=t,this.refCount=1}addRef(){this.refCount++}removeRef(){this.refCount--,this.refCount===0&&this.provider.freeInlineCompletions(this.inlineCompletions)}}class InlineCompletionItem{static from(e,t,i,r,g){let y,k,L=e.range?Range$2.lift(e.range):i;if(typeof e.insertText=="string"){if(y=e.insertText,g&&e.completeBracketPairs){y=closeBrackets(y,L.getStartPosition(),r,g);const V=y.length-e.insertText.length;V!==0&&(L=new Range$2(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+V))}k=void 0}else if("snippet"in e.insertText){const V=e.insertText.snippet.length;if(g&&e.completeBracketPairs){e.insertText.snippet=closeBrackets(e.insertText.snippet,L.getStartPosition(),r,g);const j=e.insertText.snippet.length-V;j!==0&&(L=new Range$2(L.startLineNumber,L.startColumn,L.endLineNumber,L.endColumn+j))}const z=new SnippetParser().parse(e.insertText.snippet);z.children.length===1&&z.children[0]instanceof Text?(y=z.children[0].value,k=void 0):(y=z.toString(),k={snippet:e.insertText.snippet,range:L})}else assertNever(e.insertText);return new InlineCompletionItem(y,e.command,L,y,k,e.additionalTextEdits||getReadonlyEmptyArray(),e,t)}constructor(e,t,i,r,g,y,k,L){this.filterText=e,this.command=t,this.range=i,this.insertText=r,this.snippetInfo=g,this.additionalTextEdits=y,this.sourceInlineCompletion=k,this.source=L,e=e.replace(/\r\n|\r/g,"\n"),r=e.replace(/\r\n|\r/g,"\n")}withRange(e){return new InlineCompletionItem(this.filterText,this.command,e,this.insertText,this.snippetInfo,this.additionalTextEdits,this.sourceInlineCompletion,this.source)}hash(){return JSON.stringify({insertText:this.insertText,range:this.range.toString()})}}function getDefaultRange(n,e){const t=e.getWordAtPosition(n),i=e.getLineMaxColumn(n.lineNumber);return t?new Range$2(n.lineNumber,t.startColumn,n.lineNumber,i):Range$2.fromPositions(n,n.with(void 0,i))}function closeBrackets(n,e,t,i){const g=t.getLineContent(e.lineNumber).substring(0,e.column-1)+n,y=t.tokenization.tokenizeLineWithEdit(e,g.length-(e.column-1),n),k=y==null?void 0:y.sliceAndInflate(e.column-1,g.length,0);return k?fixBracketsInLine(k,i):n}function singleTextRemoveCommonPrefix(n,e,t){const i=t?n.range.intersectRanges(t):n.range;if(!i)return n;const r=e.getValueInRange(i,1),g=commonPrefixLength(r,n.text),y=TextLength.ofText(r.substring(0,g)).addToPosition(n.range.getStartPosition()),k=n.text.substring(g),L=Range$2.fromPositions(y,n.range.getEndPosition());return new SingleTextEdit(L,k)}function singleTextEditAugments(n,e){return n.text.startsWith(e.text)&&rangeExtends(n.range,e.range)}function computeGhostText(n,e,t,i,r=0){let g=singleTextRemoveCommonPrefix(n,e);if(g.range.endLineNumber!==g.range.startLineNumber)return;const y=e.getLineContent(g.range.startLineNumber),k=getLeadingWhitespace(y).length;if(g.range.startColumn-1<=k){const re=getLeadingWhitespace(g.text).length,ae=y.substring(g.range.startColumn-1,k),[le,de]=[g.range.getStartPosition(),g.range.getEndPosition()],ue=le.column+ae.length<=de.column?le.delta(0,ae.length):de,he=Range$2.fromPositions(ue,de),pe=g.text.startsWith(ae)?g.text.substring(ae.length):g.text.substring(re);g=new SingleTextEdit(he,pe)}const V=e.getValueInRange(g.range),z=cachingDiff(V,g.text);if(!z)return;const j=g.range.startLineNumber,ie=new Array;if(t==="prefix"){const re=z.filter(ae=>ae.originalLength===0);if(re.length>1||re.length===1&&re[0].originalStart!==V.length)return}const oe=g.text.length-r;for(const re of z){const ae=g.range.startColumn+re.originalStart+re.originalLength;if(t==="subwordSmart"&&i&&i.lineNumber===g.range.startLineNumber&&ae0)return;if(re.modifiedLength===0)continue;const le=re.modifiedStart+re.modifiedLength,de=Math.max(re.modifiedStart,Math.min(le,oe)),ue=g.text.substring(re.modifiedStart,de),he=g.text.substring(de,Math.max(re.modifiedStart,le));ue.length>0&&ie.push(new GhostTextPart(ae,ue,!1)),he.length>0&&ie.push(new GhostTextPart(ae,he,!0))}return new GhostText(j,ie)}function rangeExtends(n,e){return e.getStartPosition().equals(n.getStartPosition())&&e.getEndPosition().isBeforeOrEqual(n.getEndPosition())}let lastRequest;function cachingDiff(n,e){if((lastRequest==null?void 0:lastRequest.originalValue)===n&&(lastRequest==null?void 0:lastRequest.newValue)===e)return lastRequest==null?void 0:lastRequest.changes;{let t=smartDiff(n,e,!0);if(t){const i=deletedCharacters(t);if(i>0){const r=smartDiff(n,e,!1);r&&deletedCharacters(r)5e3||e.length>5e3)return;function i(V){let z=0;for(let j=0,ie=V.length;jz&&(z=oe)}return z}const r=Math.max(i(n),i(e));function g(V){if(V<0)throw new Error("unexpected");return r+V+1}function y(V){let z=0,j=0;const ie=new Int32Array(V.length);for(let oe=0,re=V.length;oek},{getElements:()=>L}).ComputeDiff(!1).changes}var __decorate$V=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$R=function(n,e){return function(t,i){e(t,i,n)}};let InlineCompletionsSource=class extends Disposable{constructor(e,t,i,r,g){super(),this.textModel=e,this.versionId=t,this._debounceValue=i,this.languageFeaturesService=r,this.languageConfigurationService=g,this._updateOperation=this._register(new MutableDisposable),this.inlineCompletions=disposableObservableValue("inlineCompletions",void 0),this.suggestWidgetInlineCompletions=disposableObservableValue("suggestWidgetInlineCompletions",void 0),this._register(this.textModel.onDidChangeContent(()=>{this._updateOperation.clear()}))}fetch(e,t,i){var r,g;const y=new UpdateRequest(e,t,this.textModel.getVersionId()),k=t.selectedSuggestionInfo?this.suggestWidgetInlineCompletions:this.inlineCompletions;if(!((r=this._updateOperation.value)===null||r===void 0)&&r.request.satisfies(y))return this._updateOperation.value.promise;if(!((g=k.get())===null||g===void 0)&&g.request.satisfies(y))return Promise.resolve(!0);const L=!!this._updateOperation.value;this._updateOperation.clear();const V=new CancellationTokenSource$1,z=(async()=>{if((L||t.triggerKind===InlineCompletionTriggerKind$1.Automatic)&&await wait$1(this._debounceValue.get(this.textModel),V.token),V.token.isCancellationRequested||this.textModel.getVersionId()!==y.versionId)return!1;const oe=new Date,re=await provideInlineCompletions(this.languageFeaturesService.inlineCompletionsProvider,e,this.textModel,t,V.token,this.languageConfigurationService);if(V.token.isCancellationRequested||this.textModel.getVersionId()!==y.versionId)return!1;const ae=new Date;this._debounceValue.update(this.textModel,ae.getTime()-oe.getTime());const le=new UpToDateInlineCompletions(re,y,this.textModel,this.versionId);if(i){const de=i.toInlineCompletion(void 0);i.canBeReused(this.textModel,e)&&!re.has(de)&&le.prepend(i.inlineCompletion,de.range,!0)}return this._updateOperation.clear(),transaction(de=>{k.set(le,de)}),!0})(),j=new UpdateOperation(y,V,z);return this._updateOperation.value=j,z}clear(e){this._updateOperation.clear(),this.inlineCompletions.set(void 0,e),this.suggestWidgetInlineCompletions.set(void 0,e)}clearSuggestWidgetInlineCompletions(e){var t;!((t=this._updateOperation.value)===null||t===void 0)&&t.request.context.selectedSuggestionInfo&&this._updateOperation.clear(),this.suggestWidgetInlineCompletions.set(void 0,e)}cancelUpdate(){this._updateOperation.clear()}};InlineCompletionsSource=__decorate$V([__param$R(3,ILanguageFeaturesService),__param$R(4,ILanguageConfigurationService)],InlineCompletionsSource);function wait$1(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class UpdateRequest{constructor(e,t,i){this.position=e,this.context=t,this.versionId=i}satisfies(e){return this.position.equals(e.position)&&equals$1(this.context.selectedSuggestionInfo,e.context.selectedSuggestionInfo,(t,i)=>t.equals(i))&&(e.context.triggerKind===InlineCompletionTriggerKind$1.Automatic||this.context.triggerKind===InlineCompletionTriggerKind$1.Explicit)&&this.versionId===e.versionId}}function equals$1(n,e,t){return!n||!e?n===e:t(n,e)}class UpdateOperation{constructor(e,t,i){this.request=e,this.cancellationTokenSource=t,this.promise=i}dispose(){this.cancellationTokenSource.cancel()}}class UpToDateInlineCompletions{get inlineCompletions(){return this._inlineCompletions}constructor(e,t,i,r){this.inlineCompletionProviderResult=e,this.request=t,this.textModel=i,this.versionId=r,this._refCount=1,this._prependedInlineCompletionItems=[],this._rangeVersionIdValue=0,this._rangeVersionId=derived(this,y=>{this.versionId.read(y);let k=!1;for(const L of this._inlineCompletions)k=k||L._updateRange(this.textModel);return k&&this._rangeVersionIdValue++,this._rangeVersionIdValue});const g=i.deltaDecorations([],e.completions.map(y=>({range:y.range,options:{description:"inline-completion-tracking-range"}})));this._inlineCompletions=e.completions.map((y,k)=>new InlineCompletionWithUpdatedRange(y,g[k],this._rangeVersionId))}clone(){return this._refCount++,this}dispose(){if(this._refCount--,this._refCount===0){setTimeout(()=>{this.textModel.isDisposed()||this.textModel.deltaDecorations(this._inlineCompletions.map(e=>e.decorationId),[])},0),this.inlineCompletionProviderResult.dispose();for(const e of this._prependedInlineCompletionItems)e.source.removeRef()}}prepend(e,t,i){i&&e.source.addRef();const r=this.textModel.deltaDecorations([],[{range:t,options:{description:"inline-completion-tracking-range"}}])[0];this._inlineCompletions.unshift(new InlineCompletionWithUpdatedRange(e,r,this._rangeVersionId,t)),this._prependedInlineCompletionItems.push(e)}}class InlineCompletionWithUpdatedRange{get forwardStable(){var e;return(e=this.inlineCompletion.source.inlineCompletions.enableForwardStability)!==null&&e!==void 0?e:!1}constructor(e,t,i,r){this.inlineCompletion=e,this.decorationId=t,this.rangeVersion=i,this.semanticId=JSON.stringify([this.inlineCompletion.filterText,this.inlineCompletion.insertText,this.inlineCompletion.range.getStartPosition().toString()]),this._isValid=!0,this._updatedRange=r!=null?r:e.range}toInlineCompletion(e){return this.inlineCompletion.withRange(this._getUpdatedRange(e))}toSingleTextEdit(e){return new SingleTextEdit(this._getUpdatedRange(e),this.inlineCompletion.insertText)}isVisible(e,t,i){const r=singleTextRemoveCommonPrefix(this._toFilterTextReplacement(i),e);if(!this._isValid||!this.inlineCompletion.range.getStartPosition().equals(this._getUpdatedRange(i).getStartPosition())||t.lineNumber!==r.range.startLineNumber)return!1;const g=e.getValueInRange(r.range,1),y=r.text,k=Math.max(0,t.column-r.range.startColumn);let L=y.substring(0,k),V=y.substring(k),z=g.substring(0,k),j=g.substring(k);const ie=e.getLineIndentColumn(r.range.startLineNumber);return r.range.startColumn<=ie&&(z=z.trimStart(),z.length===0&&(j=j.trimStart()),L=L.trimStart(),L.length===0&&(V=V.trimStart())),L.startsWith(z)&&!!matchesSubString(j,V)}canBeReused(e,t){return this._isValid&&this._getUpdatedRange(void 0).containsPosition(t)&&this.isVisible(e,t,void 0)&&!this._isSmallerThanOriginal(void 0)}_toFilterTextReplacement(e){return new SingleTextEdit(this._getUpdatedRange(e),this.inlineCompletion.filterText)}_isSmallerThanOriginal(e){return length(this._getUpdatedRange(e)).isBefore(length(this.inlineCompletion.range))}_getUpdatedRange(e){return this.rangeVersion.read(e),this._updatedRange}_updateRange(e){const t=e.getDecorationRange(this.decorationId);return t?this._updatedRange.equalsRange(t)?!1:(this._updatedRange=t,!0):(this._isValid=!1,!0)}}function length(n){return n.startLineNumber===n.endLineNumber?new Position$1(1,1+n.endColumn-n.startColumn):new Position$1(1+n.endLineNumber-n.startLineNumber,n.endColumn)}const Context$1={Visible:historyNavigationVisible,HasFocusedSuggestion:new RawContextKey("suggestWidgetHasFocusedSuggestion",!1,localize("suggestWidgetHasSelection","Whether any suggestion is focused")),DetailsVisible:new RawContextKey("suggestWidgetDetailsVisible",!1,localize("suggestWidgetDetailsVisible","Whether suggestion details are visible")),MultipleSuggestions:new RawContextKey("suggestWidgetMultipleSuggestions",!1,localize("suggestWidgetMultipleSuggestions","Whether there are multiple suggestions to pick from")),MakesTextEdit:new RawContextKey("suggestionMakesTextEdit",!0,localize("suggestionMakesTextEdit","Whether inserting the current suggestion yields in a change or has everything already been typed")),AcceptSuggestionsOnEnter:new RawContextKey("acceptSuggestionOnEnter",!0,localize("acceptSuggestionOnEnter","Whether suggestions are inserted when pressing Enter")),HasInsertAndReplaceRange:new RawContextKey("suggestionHasInsertAndReplaceRange",!1,localize("suggestionHasInsertAndReplaceRange","Whether the current suggestion has insert and replace behaviour")),InsertMode:new RawContextKey("suggestionInsertMode",void 0,{type:"string",description:localize("suggestionInsertMode","Whether the default behaviour is to insert or replace")}),CanResolve:new RawContextKey("suggestionCanResolve",!1,localize("suggestionCanResolve","Whether the current suggestion supports to resolve further details"))},suggestWidgetStatusbarMenu=new MenuId("suggestWidgetStatusBar");class CompletionItem{constructor(e,t,i,r){var g;this.position=e,this.completion=t,this.container=i,this.provider=r,this.isInvalid=!1,this.score=FuzzyScore.Default,this.distance=0,this.textLabel=typeof t.label=="string"?t.label:(g=t.label)===null||g===void 0?void 0:g.label,this.labelLow=this.textLabel.toLowerCase(),this.isInvalid=!this.textLabel,this.sortTextLow=t.sortText&&t.sortText.toLowerCase(),this.filterTextLow=t.filterText&&t.filterText.toLowerCase(),this.extensionId=t.extensionId,Range$2.isIRange(t.range)?(this.editStart=new Position$1(t.range.startLineNumber,t.range.startColumn),this.editInsertEnd=new Position$1(t.range.endLineNumber,t.range.endColumn),this.editReplaceEnd=new Position$1(t.range.endLineNumber,t.range.endColumn),this.isInvalid=this.isInvalid||Range$2.spansMultipleLines(t.range)||t.range.startLineNumber!==e.lineNumber):(this.editStart=new Position$1(t.range.insert.startLineNumber,t.range.insert.startColumn),this.editInsertEnd=new Position$1(t.range.insert.endLineNumber,t.range.insert.endColumn),this.editReplaceEnd=new Position$1(t.range.replace.endLineNumber,t.range.replace.endColumn),this.isInvalid=this.isInvalid||Range$2.spansMultipleLines(t.range.insert)||Range$2.spansMultipleLines(t.range.replace)||t.range.insert.startLineNumber!==e.lineNumber||t.range.replace.startLineNumber!==e.lineNumber||t.range.insert.startColumn!==t.range.replace.startColumn),typeof r.resolveCompletionItem!="function"&&(this._resolveCache=Promise.resolve(),this._resolveDuration=0)}get isResolved(){return this._resolveDuration!==void 0}get resolveDuration(){return this._resolveDuration!==void 0?this._resolveDuration:-1}async resolve(e){if(!this._resolveCache){const t=e.onCancellationRequested(()=>{this._resolveCache=void 0,this._resolveDuration=void 0}),i=new StopWatch(!0);this._resolveCache=Promise.resolve(this.provider.resolveCompletionItem(this.completion,e)).then(r=>{Object.assign(this.completion,r),this._resolveDuration=i.elapsed()},r=>{isCancellationError(r)&&(this._resolveCache=void 0,this._resolveDuration=void 0)}).finally(()=>{t.dispose()})}return this._resolveCache}}class CompletionOptions{constructor(e=2,t=new Set,i=new Set,r=new Map,g=!0){this.snippetSortOrder=e,this.kindFilter=t,this.providerFilter=i,this.providerItemsToReuse=r,this.showDeprecated=g}}CompletionOptions.default=new CompletionOptions;let _snippetSuggestSupport;function getSnippetSuggestSupport(){return _snippetSuggestSupport}class CompletionItemModel{constructor(e,t,i,r){this.items=e,this.needsClipboard=t,this.durations=i,this.disposable=r}}async function provideSuggestionItems(n,e,t,i=CompletionOptions.default,r={triggerKind:0},g=CancellationToken.None){const y=new StopWatch;t=t.clone();const k=e.getWordAtPosition(t),L=k?new Range$2(t.lineNumber,k.startColumn,t.lineNumber,k.endColumn):Range$2.fromPositions(t),V={replace:L,insert:L.setEndPosition(t.lineNumber,t.column)},z=[],j=new DisposableStore,ie=[];let oe=!1;const re=(le,de,ue)=>{var he,pe,Ce;let $e=!1;if(!de)return $e;for(const xe of de.suggestions)if(!i.kindFilter.has(xe.kind)){if(!i.showDeprecated&&(!((he=xe==null?void 0:xe.tags)===null||he===void 0)&&he.includes(1)))continue;xe.range||(xe.range=V),xe.sortText||(xe.sortText=typeof xe.label=="string"?xe.label:xe.label.label),!oe&&xe.insertTextRules&&xe.insertTextRules&4&&(oe=SnippetParser.guessNeedsClipboard(xe.insertText)),z.push(new CompletionItem(t,xe,de,le)),$e=!0}return isDisposable(de)&&j.add(de),ie.push({providerName:(pe=le._debugDisplayName)!==null&&pe!==void 0?pe:"unknown_provider",elapsedProvider:(Ce=de.duration)!==null&&Ce!==void 0?Ce:-1,elapsedOverall:ue.elapsed()}),$e},ae=(async()=>{})();for(const le of n.orderedGroups(e)){let de=!1;if(await Promise.all(le.map(async ue=>{if(i.providerItemsToReuse.has(ue)){const he=i.providerItemsToReuse.get(ue);he.forEach(pe=>z.push(pe)),de=de||he.length>0;return}if(!(i.providerFilter.size>0&&!i.providerFilter.has(ue)))try{const he=new StopWatch,pe=await ue.provideCompletionItems(e,t,r,g);de=re(ue,pe,he)||de}catch(he){onUnexpectedExternalError(he)}})),de||g.isCancellationRequested)break}return await ae,g.isCancellationRequested?(j.dispose(),Promise.reject(new CancellationError)):new CompletionItemModel(z.sort(getSuggestionComparator(i.snippetSortOrder)),oe,{entries:ie,elapsed:y.elapsed()},j)}function defaultComparator(n,e){if(n.sortTextLow&&e.sortTextLow){if(n.sortTextLowe.sortTextLow)return 1}return n.textLabele.textLabel?1:n.completion.kind-e.completion.kind}function snippetUpComparator(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return-1;if(e.completion.kind===27)return 1}return defaultComparator(n,e)}function snippetDownComparator(n,e){if(n.completion.kind!==e.completion.kind){if(n.completion.kind===27)return 1;if(e.completion.kind===27)return-1}return defaultComparator(n,e)}const _snippetComparators=new Map;_snippetComparators.set(0,snippetUpComparator);_snippetComparators.set(2,snippetDownComparator);_snippetComparators.set(1,defaultComparator);function getSuggestionComparator(n){return _snippetComparators.get(n)}CommandsRegistry.registerCommand("_executeCompletionItemProvider",async(n,...e)=>{const[t,i,r,g]=e;assertType(URI.isUri(t)),assertType(Position$1.isIPosition(i)),assertType(typeof r=="string"||!r),assertType(typeof g=="number"||!g);const{completionProvider:y}=n.get(ILanguageFeaturesService),k=await n.get(ITextModelService).createModelReference(t);try{const L={incomplete:!1,suggestions:[]},V=[],z=k.object.textEditorModel.validatePosition(i),j=await provideSuggestionItems(y,k.object.textEditorModel,z,void 0,{triggerCharacter:r!=null?r:void 0,triggerKind:r?1:0});for(const ie of j.items)V.length<(g!=null?g:0)&&V.push(ie.resolve(CancellationToken.None)),L.incomplete=L.incomplete||ie.container.incomplete,L.suggestions.push(ie.completion);try{return await Promise.all(V),L}finally{setTimeout(()=>j.disposable.dispose(),100)}}finally{k.dispose()}});function showSimpleSuggestions(n,e){var t;(t=n.getContribution("editor.contrib.suggestController"))===null||t===void 0||t.triggerSuggest(new Set().add(e),void 0,!0)}class QuickSuggestionsOptions{static isAllOff(e){return e.other==="off"&&e.comments==="off"&&e.strings==="off"}static isAllOn(e){return e.other==="on"&&e.comments==="on"&&e.strings==="on"}static valueFor(e,t){switch(t){case 1:return e.comments;case 2:return e.strings;default:return e.other}}}function normalizeDriveLetter(n,e=isWindows){return hasDriveLetter(n,e)?n.charAt(0).toUpperCase()+n.slice(1):n}var __decorate$U=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$Q=function(n,e){return function(t,i){e(t,i,n)}};class CompositeSnippetVariableResolver{constructor(e){this._delegates=e}resolve(e){for(const t of this._delegates){const i=t.resolve(e);if(i!==void 0)return i}}}class SelectionBasedVariableResolver{constructor(e,t,i,r){this._model=e,this._selection=t,this._selectionIdx=i,this._overtypingCapturer=r}resolve(e){const{name:t}=e;if(t==="SELECTION"||t==="TM_SELECTED_TEXT"){let i=this._model.getValueInRange(this._selection)||void 0,r=this._selection.startLineNumber!==this._selection.endLineNumber;if(!i&&this._overtypingCapturer){const g=this._overtypingCapturer.getLastOvertypedInfo(this._selectionIdx);g&&(i=g.value,r=g.multiline)}if(i&&r&&e.snippet){const g=this._model.getLineContent(this._selection.startLineNumber),y=getLeadingWhitespace(g,0,this._selection.startColumn-1);let k=y;e.snippet.walk(V=>V===e?!1:(V instanceof Text&&(k=getLeadingWhitespace(splitLines(V.value).pop())),!0));const L=commonPrefixLength(k,y);i=i.replace(/(\r\n|\r|\n)(.*)/g,(V,z,j)=>"".concat(z).concat(k.substr(L)).concat(j))}return i}else{if(t==="TM_CURRENT_LINE")return this._model.getLineContent(this._selection.positionLineNumber);if(t==="TM_CURRENT_WORD"){const i=this._model.getWordAtPosition({lineNumber:this._selection.positionLineNumber,column:this._selection.positionColumn});return i&&i.word||void 0}else{if(t==="TM_LINE_INDEX")return String(this._selection.positionLineNumber-1);if(t==="TM_LINE_NUMBER")return String(this._selection.positionLineNumber);if(t==="CURSOR_INDEX")return String(this._selectionIdx);if(t==="CURSOR_NUMBER")return String(this._selectionIdx+1)}}}}class ModelBasedVariableResolver{constructor(e,t){this._labelService=e,this._model=t}resolve(e){const{name:t}=e;if(t==="TM_FILENAME")return basename$1(this._model.uri.fsPath);if(t==="TM_FILENAME_BASE"){const i=basename$1(this._model.uri.fsPath),r=i.lastIndexOf(".");return r<=0?i:i.slice(0,r)}else{if(t==="TM_DIRECTORY")return dirname$1(this._model.uri.fsPath)==="."?"":this._labelService.getUriLabel(dirname(this._model.uri));if(t==="TM_FILEPATH")return this._labelService.getUriLabel(this._model.uri);if(t==="RELATIVE_FILEPATH")return this._labelService.getUriLabel(this._model.uri,{relative:!0,noPrefix:!0})}}}class ClipboardBasedVariableResolver{constructor(e,t,i,r){this._readClipboardText=e,this._selectionIdx=t,this._selectionCount=i,this._spread=r}resolve(e){if(e.name!=="CLIPBOARD")return;const t=this._readClipboardText();if(t){if(this._spread){const i=t.split(/\r\n|\n|\r/).filter(r=>!isFalsyOrWhitespace(r));if(i.length===this._selectionCount)return i[this._selectionIdx]}return t}}}let CommentBasedVariableResolver=class{constructor(e,t,i){this._model=e,this._selection=t,this._languageConfigurationService=i}resolve(e){const{name:t}=e,i=this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber,this._selection.selectionStartColumn),r=this._languageConfigurationService.getLanguageConfiguration(i).comments;if(r){if(t==="LINE_COMMENT")return r.lineCommentToken||void 0;if(t==="BLOCK_COMMENT_START")return r.blockCommentStartToken||void 0;if(t==="BLOCK_COMMENT_END")return r.blockCommentEndToken||void 0}}};CommentBasedVariableResolver=__decorate$U([__param$Q(2,ILanguageConfigurationService)],CommentBasedVariableResolver);class TimeBasedVariableResolver{constructor(){this._date=new Date}resolve(e){const{name:t}=e;if(t==="CURRENT_YEAR")return String(this._date.getFullYear());if(t==="CURRENT_YEAR_SHORT")return String(this._date.getFullYear()).slice(-2);if(t==="CURRENT_MONTH")return String(this._date.getMonth().valueOf()+1).padStart(2,"0");if(t==="CURRENT_DATE")return String(this._date.getDate().valueOf()).padStart(2,"0");if(t==="CURRENT_HOUR")return String(this._date.getHours().valueOf()).padStart(2,"0");if(t==="CURRENT_MINUTE")return String(this._date.getMinutes().valueOf()).padStart(2,"0");if(t==="CURRENT_SECOND")return String(this._date.getSeconds().valueOf()).padStart(2,"0");if(t==="CURRENT_DAY_NAME")return TimeBasedVariableResolver.dayNames[this._date.getDay()];if(t==="CURRENT_DAY_NAME_SHORT")return TimeBasedVariableResolver.dayNamesShort[this._date.getDay()];if(t==="CURRENT_MONTH_NAME")return TimeBasedVariableResolver.monthNames[this._date.getMonth()];if(t==="CURRENT_MONTH_NAME_SHORT")return TimeBasedVariableResolver.monthNamesShort[this._date.getMonth()];if(t==="CURRENT_SECONDS_UNIX")return String(Math.floor(this._date.getTime()/1e3));if(t==="CURRENT_TIMEZONE_OFFSET"){const i=this._date.getTimezoneOffset(),r=i>0?"-":"+",g=Math.trunc(Math.abs(i/60)),y=g<10?"0"+g:g,k=Math.abs(i)-g*60,L=k<10?"0"+k:k;return r+y+":"+L}}}TimeBasedVariableResolver.dayNames=[localize("Sunday","Sunday"),localize("Monday","Monday"),localize("Tuesday","Tuesday"),localize("Wednesday","Wednesday"),localize("Thursday","Thursday"),localize("Friday","Friday"),localize("Saturday","Saturday")];TimeBasedVariableResolver.dayNamesShort=[localize("SundayShort","Sun"),localize("MondayShort","Mon"),localize("TuesdayShort","Tue"),localize("WednesdayShort","Wed"),localize("ThursdayShort","Thu"),localize("FridayShort","Fri"),localize("SaturdayShort","Sat")];TimeBasedVariableResolver.monthNames=[localize("January","January"),localize("February","February"),localize("March","March"),localize("April","April"),localize("May","May"),localize("June","June"),localize("July","July"),localize("August","August"),localize("September","September"),localize("October","October"),localize("November","November"),localize("December","December")];TimeBasedVariableResolver.monthNamesShort=[localize("JanuaryShort","Jan"),localize("FebruaryShort","Feb"),localize("MarchShort","Mar"),localize("AprilShort","Apr"),localize("MayShort","May"),localize("JuneShort","Jun"),localize("JulyShort","Jul"),localize("AugustShort","Aug"),localize("SeptemberShort","Sep"),localize("OctoberShort","Oct"),localize("NovemberShort","Nov"),localize("DecemberShort","Dec")];class WorkspaceBasedVariableResolver{constructor(e){this._workspaceService=e}resolve(e){if(!this._workspaceService)return;const t=toWorkspaceIdentifier(this._workspaceService.getWorkspace());if(!isEmptyWorkspaceIdentifier(t)){if(e.name==="WORKSPACE_NAME")return this._resolveWorkspaceName(t);if(e.name==="WORKSPACE_FOLDER")return this._resoveWorkspacePath(t)}}_resolveWorkspaceName(e){if(isSingleFolderWorkspaceIdentifier(e))return basename$1(e.uri.path);let t=basename$1(e.configPath.path);return t.endsWith(WORKSPACE_EXTENSION)&&(t=t.substr(0,t.length-WORKSPACE_EXTENSION.length-1)),t}_resoveWorkspacePath(e){if(isSingleFolderWorkspaceIdentifier(e))return normalizeDriveLetter(e.uri.fsPath);const t=basename$1(e.configPath.path);let i=e.configPath.fsPath;return i.endsWith(t)&&(i=i.substr(0,i.length-t.length-1)),i?normalizeDriveLetter(i):"/"}}class RandomBasedVariableResolver{resolve(e){const{name:t}=e;if(t==="RANDOM")return Math.random().toString().slice(-6);if(t==="RANDOM_HEX")return Math.random().toString(16).slice(-6);if(t==="UUID")return generateUuid()}}var __decorate$T=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$P=function(n,e){return function(t,i){e(t,i,n)}},SnippetSession_1;class OneSnippet{constructor(e,t,i){this._editor=e,this._snippet=t,this._snippetLineLeadingWhitespace=i,this._offset=-1,this._nestingLevel=1,this._placeholderGroups=groupBy$1(t.placeholders,Placeholder.compareByIndex),this._placeholderGroupsIdx=-1}initialize(e){this._offset=e.newPosition}dispose(){this._placeholderDecorations&&this._editor.removeDecorations([...this._placeholderDecorations.values()]),this._placeholderGroups.length=0}_initDecorations(){if(this._offset===-1)throw new Error("Snippet not initialized!");if(this._placeholderDecorations)return;this._placeholderDecorations=new Map;const e=this._editor.getModel();this._editor.changeDecorations(t=>{for(const i of this._snippet.placeholders){const r=this._snippet.offset(i),g=this._snippet.fullLen(i),y=Range$2.fromPositions(e.getPositionAt(this._offset+r),e.getPositionAt(this._offset+r+g)),k=i.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive,L=t.addDecoration(y,k);this._placeholderDecorations.set(i,L)}})}move(e){if(!this._editor.hasModel())return[];if(this._initDecorations(),this._placeholderGroupsIdx>=0){const r=[];for(const g of this._placeholderGroups[this._placeholderGroupsIdx])if(g.transform){const y=this._placeholderDecorations.get(g),k=this._editor.getModel().getDecorationRange(y),L=this._editor.getModel().getValueInRange(k),V=g.transform.resolve(L).split(/\r\n|\r|\n/);for(let z=1;z0&&this._editor.executeEdits("snippet.placeholderTransform",r)}let t=!1;e===!0&&this._placeholderGroupsIdx0&&(this._placeholderGroupsIdx-=1,t=!0);const i=this._editor.getModel().changeDecorations(r=>{const g=new Set,y=[];for(const k of this._placeholderGroups[this._placeholderGroupsIdx]){const L=this._placeholderDecorations.get(k),V=this._editor.getModel().getDecorationRange(L);y.push(new Selection$1(V.startLineNumber,V.startColumn,V.endLineNumber,V.endColumn)),t=t&&this._hasPlaceholderBeenCollapsed(k),r.changeDecorationOptions(L,k.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active),g.add(k);for(const z of this._snippet.enclosingPlaceholders(k)){const j=this._placeholderDecorations.get(z);r.changeDecorationOptions(j,z.isFinalTabstop?OneSnippet._decor.activeFinal:OneSnippet._decor.active),g.add(z)}}for(const[k,L]of this._placeholderDecorations)g.has(k)||r.changeDecorationOptions(L,k.isFinalTabstop?OneSnippet._decor.inactiveFinal:OneSnippet._decor.inactive);return y});return t?this.move(e):i!=null?i:[]}_hasPlaceholderBeenCollapsed(e){let t=e;for(;t;){if(t instanceof Placeholder){const i=this._placeholderDecorations.get(t);if(this._editor.getModel().getDecorationRange(i).isEmpty()&&t.toString().length>0)return!0}t=t.parent}return!1}get isAtFirstPlaceholder(){return this._placeholderGroupsIdx<=0||this._placeholderGroups.length===0}get isAtLastPlaceholder(){return this._placeholderGroupsIdx===this._placeholderGroups.length-1}get hasPlaceholder(){return this._snippet.placeholders.length>0}get isTrivialSnippet(){if(this._snippet.placeholders.length===0)return!0;if(this._snippet.placeholders.length===1){const[e]=this._snippet.placeholders;if(e.isFinalTabstop&&this._snippet.rightMostDescendant===e)return!0}return!1}computePossibleSelections(){const e=new Map;for(const t of this._placeholderGroups){let i;for(const r of t){if(r.isFinalTabstop)break;i||(i=[],e.set(r.index,i));const g=this._placeholderDecorations.get(r),y=this._editor.getModel().getDecorationRange(g);if(!y){e.delete(r.index);break}i.push(y)}}return e}get activeChoice(){if(!this._placeholderDecorations)return;const e=this._placeholderGroups[this._placeholderGroupsIdx][0];if(!(e!=null&&e.choice))return;const t=this._placeholderDecorations.get(e);if(!t)return;const i=this._editor.getModel().getDecorationRange(t);if(i)return{range:i,choice:e.choice}}get hasChoice(){let e=!1;return this._snippet.walk(t=>(e=t instanceof Choice,!e)),e}merge(e){const t=this._editor.getModel();this._nestingLevel*=10,this._editor.changeDecorations(i=>{for(const r of this._placeholderGroups[this._placeholderGroupsIdx]){const g=e.shift();console.assert(g._offset!==-1),console.assert(!g._placeholderDecorations);const y=g._snippet.placeholderInfo.last.index;for(const L of g._snippet.placeholderInfo.all)L.isFinalTabstop?L.index=r.index+(y+1)/this._nestingLevel:L.index=r.index+L.index/this._nestingLevel;this._snippet.replace(r,g._snippet.children);const k=this._placeholderDecorations.get(r);i.removeDecoration(k),this._placeholderDecorations.delete(r);for(const L of g._snippet.placeholders){const V=g._snippet.offset(L),z=g._snippet.fullLen(L),j=Range$2.fromPositions(t.getPositionAt(g._offset+V),t.getPositionAt(g._offset+V+z)),ie=i.addDecoration(j,OneSnippet._decor.inactive);this._placeholderDecorations.set(L,ie)}}this._placeholderGroups=groupBy$1(this._snippet.placeholders,Placeholder.compareByIndex)})}}OneSnippet._decor={active:ModelDecorationOptions.register({description:"snippet-placeholder-1",stickiness:0,className:"snippet-placeholder"}),inactive:ModelDecorationOptions.register({description:"snippet-placeholder-2",stickiness:1,className:"snippet-placeholder"}),activeFinal:ModelDecorationOptions.register({description:"snippet-placeholder-3",stickiness:1,className:"finish-snippet-placeholder"}),inactiveFinal:ModelDecorationOptions.register({description:"snippet-placeholder-4",stickiness:1,className:"finish-snippet-placeholder"})};const _defaultOptions$1={overwriteBefore:0,overwriteAfter:0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let SnippetSession=SnippetSession_1=class{static adjustWhitespace(e,t,i,r,g){const y=e.getLineContent(t.lineNumber),k=getLeadingWhitespace(y,0,t.column-1);let L;return r.walk(V=>{if(!(V instanceof Text)||V.parent instanceof Choice||g&&!g.has(V))return!0;const z=V.value.split(/\r\n|\r|\n/);if(i){const ie=r.offset(V);if(ie===0)z[0]=e.normalizeIndentation(z[0]);else{L=L!=null?L:r.toString();const oe=L.charCodeAt(ie-1);(oe===10||oe===13)&&(z[0]=e.normalizeIndentation(k+z[0]))}for(let oe=1;oepe.get(IWorkspaceContextService)),re=e.invokeWithinContext(pe=>new ModelBasedVariableResolver(pe.get(ILabelService),ie)),ae=()=>k,le=ie.getValueInRange(SnippetSession_1.adjustSelection(ie,e.getSelection(),i,0)),de=ie.getValueInRange(SnippetSession_1.adjustSelection(ie,e.getSelection(),0,r)),ue=ie.getLineFirstNonWhitespaceColumn(e.getSelection().positionLineNumber),he=e.getSelections().map((pe,Ce)=>({selection:pe,idx:Ce})).sort((pe,Ce)=>Range$2.compareRangesUsingStarts(pe.selection,Ce.selection));for(const{selection:pe,idx:Ce}of he){let $e=SnippetSession_1.adjustSelection(ie,pe,i,0),xe=SnippetSession_1.adjustSelection(ie,pe,0,r);le!==ie.getValueInRange($e)&&($e=pe),de!==ie.getValueInRange(xe)&&(xe=pe);const Ie=pe.setStartPosition($e.startLineNumber,$e.startColumn).setEndPosition(xe.endLineNumber,xe.endColumn),Ne=new SnippetParser().parse(t,!0,g),Fe=Ie.getStartPosition(),Ve=SnippetSession_1.adjustWhitespace(ie,Fe,y||Ce>0&&ue!==ie.getLineFirstNonWhitespaceColumn(pe.positionLineNumber),Ne);Ne.resolveVariables(new CompositeSnippetVariableResolver([re,new ClipboardBasedVariableResolver(ae,Ce,he.length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver(ie,pe,Ce,L),new CommentBasedVariableResolver(ie,pe,V),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(oe),new RandomBasedVariableResolver])),z[Ce]=EditOperation.replace(Ie,Ne.toString()),z[Ce].identifier={major:Ce,minor:0},z[Ce]._isTracked=!0,j[Ce]=new OneSnippet(e,Ne,Ve)}return{edits:z,snippets:j}}static createEditsAndSnippetsFromEdits(e,t,i,r,g,y,k){if(!e.hasModel()||t.length===0)return{edits:[],snippets:[]};const L=[],V=e.getModel(),z=new SnippetParser,j=new TextmateSnippet,ie=new CompositeSnippetVariableResolver([e.invokeWithinContext(re=>new ModelBasedVariableResolver(re.get(ILabelService),V)),new ClipboardBasedVariableResolver(()=>g,0,e.getSelections().length,e.getOption(79)==="spread"),new SelectionBasedVariableResolver(V,e.getSelection(),0,y),new CommentBasedVariableResolver(V,e.getSelection(),k),new TimeBasedVariableResolver,new WorkspaceBasedVariableResolver(e.invokeWithinContext(re=>re.get(IWorkspaceContextService))),new RandomBasedVariableResolver]);t=t.sort((re,ae)=>Range$2.compareRangesUsingStarts(re.range,ae.range));let oe=0;for(let re=0;re0){const Ce=t[re-1].range,$e=Range$2.fromPositions(Ce.getEndPosition(),ae.getStartPosition()),xe=new Text(V.getValueInRange($e));j.appendChild(xe),oe+=xe.value.length}const de=z.parseFragment(le,j);SnippetSession_1.adjustWhitespace(V,ae.getStartPosition(),!0,j,new Set(de)),j.resolveVariables(ie);const ue=j.toString(),he=ue.slice(oe);oe=ue.length;const pe=EditOperation.replace(ae,he);pe.identifier={major:re,minor:0},pe._isTracked=!0,L.push(pe)}return z.ensureFinalTabstop(j,i,!0),{edits:L,snippets:[new OneSnippet(e,j,"")]}}constructor(e,t,i=_defaultOptions$1,r){this._editor=e,this._template=t,this._options=i,this._languageConfigurationService=r,this._templateMerges=[],this._snippets=[]}dispose(){dispose(this._snippets)}_logInfo(){return'template="'.concat(this._template,'", merged_templates="').concat(this._templateMerges.join(" -> "),'"')}insert(){if(!this._editor.hasModel())return;const{edits:e,snippets:t}=typeof this._template=="string"?SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,this._template,this._options.overwriteBefore,this._options.overwriteAfter,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService):SnippetSession_1.createEditsAndSnippetsFromEdits(this._editor,this._template,!1,this._options.adjustWhitespace,this._options.clipboardText,this._options.overtypingCapturer,this._languageConfigurationService);this._snippets=t,this._editor.executeEdits("snippet",e,i=>{const r=i.filter(g=>!!g.identifier);for(let g=0;gSelection$1.fromPositions(g.range.getEndPosition()))}),this._editor.revealRange(this._editor.getSelections()[0])}merge(e,t=_defaultOptions$1){if(!this._editor.hasModel())return;this._templateMerges.push([this._snippets[0]._nestingLevel,this._snippets[0]._placeholderGroupsIdx,e]);const{edits:i,snippets:r}=SnippetSession_1.createEditsAndSnippetsFromSelections(this._editor,e,t.overwriteBefore,t.overwriteAfter,!0,t.adjustWhitespace,t.clipboardText,t.overtypingCapturer,this._languageConfigurationService);this._editor.executeEdits("snippet",i,g=>{const y=g.filter(L=>!!L.identifier);for(let L=0;LSelection$1.fromPositions(L.range.getEndPosition()))})}next(){const e=this._move(!0);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}prev(){const e=this._move(!1);this._editor.setSelections(e),this._editor.revealPositionInCenterIfOutsideViewport(e[0].getPosition())}_move(e){const t=[];for(const i of this._snippets){const r=i.move(e);t.push(...r)}return t}get isAtFirstPlaceholder(){return this._snippets[0].isAtFirstPlaceholder}get isAtLastPlaceholder(){return this._snippets[0].isAtLastPlaceholder}get hasPlaceholder(){return this._snippets[0].hasPlaceholder}get hasChoice(){return this._snippets[0].hasChoice}get activeChoice(){return this._snippets[0].activeChoice}isSelectionWithinPlaceholders(){if(!this.hasPlaceholder)return!1;const e=this._editor.getSelections();if(e.length{g.push(...r.get(y))})}e.sort(Range$2.compareRangesUsingStarts);for(const[i,r]of t){if(r.length!==e.length){t.delete(i);continue}r.sort(Range$2.compareRangesUsingStarts);for(let g=0;g0}};SnippetSession=SnippetSession_1=__decorate$T([__param$P(3,ILanguageConfigurationService)],SnippetSession);var __decorate$S=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$O=function(n,e){return function(t,i){e(t,i,n)}},SnippetController2_1;const _defaultOptions={overwriteBefore:0,overwriteAfter:0,undoStopBefore:!0,undoStopAfter:!0,adjustWhitespace:!0,clipboardText:void 0,overtypingCapturer:void 0};let SnippetController2=SnippetController2_1=class{static get(e){return e.getContribution(SnippetController2_1.ID)}constructor(e,t,i,r,g){this._editor=e,this._logService=t,this._languageFeaturesService=i,this._languageConfigurationService=g,this._snippetListener=new DisposableStore,this._modelVersionId=-1,this._inSnippet=SnippetController2_1.InSnippetMode.bindTo(r),this._hasNextTabstop=SnippetController2_1.HasNextTabstop.bindTo(r),this._hasPrevTabstop=SnippetController2_1.HasPrevTabstop.bindTo(r)}dispose(){var e;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),(e=this._session)===null||e===void 0||e.dispose(),this._snippetListener.dispose()}insert(e,t){try{this._doInsert(e,typeof t>"u"?_defaultOptions:{..._defaultOptions,...t})}catch(i){this.cancel(),this._logService.error(i),this._logService.error("snippet_error"),this._logService.error("insert_template=",e),this._logService.error("existing_template=",this._session?this._session._logInfo():"")}}_doInsert(e,t){var i;if(this._editor.hasModel()){if(this._snippetListener.clear(),t.undoStopBefore&&this._editor.getModel().pushStackElement(),this._session&&typeof e!="string"&&this.cancel(),this._session?(assertType(typeof e=="string"),this._session.merge(e,t)):(this._modelVersionId=this._editor.getModel().getAlternativeVersionId(),this._session=new SnippetSession(this._editor,e,t,this._languageConfigurationService),this._session.insert()),t.undoStopAfter&&this._editor.getModel().pushStackElement(),!((i=this._session)===null||i===void 0)&&i.hasChoice){const r={_debugDisplayName:"snippetChoiceCompletions",provideCompletionItems:(z,j)=>{if(!this._session||z!==this._editor.getModel()||!Position$1.equals(this._editor.getPosition(),j))return;const{activeChoice:ie}=this._session;if(!ie||ie.choice.options.length===0)return;const oe=z.getValueInRange(ie.range),re=!!ie.choice.options.find(le=>le.value===oe),ae=[];for(let le=0;le{y==null||y.dispose(),k=!1},V=()=>{k||(y=this._languageFeaturesService.completionProvider.register({language:g.getLanguageId(),pattern:g.uri.fsPath,scheme:g.uri.scheme,exclusive:!0},r),this._snippetListener.add(y),k=!0)};this._choiceCompletions={provider:r,enable:V,disable:L}}this._updateState(),this._snippetListener.add(this._editor.onDidChangeModelContent(r=>r.isFlush&&this.cancel())),this._snippetListener.add(this._editor.onDidChangeModel(()=>this.cancel())),this._snippetListener.add(this._editor.onDidChangeCursorSelection(()=>this._updateState()))}}_updateState(){if(!(!this._session||!this._editor.hasModel())){if(this._modelVersionId===this._editor.getModel().getAlternativeVersionId())return this.cancel();if(!this._session.hasPlaceholder)return this.cancel();if(this._session.isAtLastPlaceholder||!this._session.isSelectionWithinPlaceholders())return this._editor.getModel().pushStackElement(),this.cancel();this._inSnippet.set(!0),this._hasPrevTabstop.set(!this._session.isAtFirstPlaceholder),this._hasNextTabstop.set(!this._session.isAtLastPlaceholder),this._handleChoice()}}_handleChoice(){var e;if(!this._session||!this._editor.hasModel()){this._currentChoice=void 0;return}const{activeChoice:t}=this._session;if(!t||!this._choiceCompletions){(e=this._choiceCompletions)===null||e===void 0||e.disable(),this._currentChoice=void 0;return}this._currentChoice!==t.choice&&(this._currentChoice=t.choice,this._choiceCompletions.enable(),queueMicrotask(()=>{showSimpleSuggestions(this._editor,this._choiceCompletions.provider)}))}finish(){for(;this._inSnippet.get();)this.next()}cancel(e=!1){var t;this._inSnippet.reset(),this._hasPrevTabstop.reset(),this._hasNextTabstop.reset(),this._snippetListener.clear(),this._currentChoice=void 0,(t=this._session)===null||t===void 0||t.dispose(),this._session=void 0,this._modelVersionId=-1,e&&this._editor.setSelections([this._editor.getSelection()])}prev(){var e;(e=this._session)===null||e===void 0||e.prev(),this._updateState()}next(){var e;(e=this._session)===null||e===void 0||e.next(),this._updateState()}isInSnippet(){return!!this._inSnippet.get()}};SnippetController2.ID="snippetController2";SnippetController2.InSnippetMode=new RawContextKey("inSnippetMode",!1,localize("inSnippetMode","Whether the editor in current in snippet mode"));SnippetController2.HasNextTabstop=new RawContextKey("hasNextTabstop",!1,localize("hasNextTabstop","Whether there is a next tab stop when in snippet mode"));SnippetController2.HasPrevTabstop=new RawContextKey("hasPrevTabstop",!1,localize("hasPrevTabstop","Whether there is a previous tab stop when in snippet mode"));SnippetController2=SnippetController2_1=__decorate$S([__param$O(1,ILogService),__param$O(2,ILanguageFeaturesService),__param$O(3,IContextKeyService),__param$O(4,ILanguageConfigurationService)],SnippetController2);registerEditorContribution(SnippetController2.ID,SnippetController2,4);const CommandCtor=EditorCommand.bindToContribution(SnippetController2.get);registerEditorCommand(new CommandCtor({id:"jumpToNextSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasNextTabstop),handler:n=>n.next(),kbOpts:{weight:130,kbExpr:EditorContextKeys.editorTextFocus,primary:2}}));registerEditorCommand(new CommandCtor({id:"jumpToPrevSnippetPlaceholder",precondition:ContextKeyExpr.and(SnippetController2.InSnippetMode,SnippetController2.HasPrevTabstop),handler:n=>n.prev(),kbOpts:{weight:130,kbExpr:EditorContextKeys.editorTextFocus,primary:1026}}));registerEditorCommand(new CommandCtor({id:"leaveSnippet",precondition:SnippetController2.InSnippetMode,handler:n=>n.cancel(!0),kbOpts:{weight:130,kbExpr:EditorContextKeys.editorTextFocus,primary:9,secondary:[1033]}}));registerEditorCommand(new CommandCtor({id:"acceptSnippet",precondition:SnippetController2.InSnippetMode,handler:n=>n.finish()}));var __decorate$R=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$N=function(n,e){return function(t,i){e(t,i,n)}},VersionIdChangeReason;(function(n){n[n.Undo=0]="Undo",n[n.Redo=1]="Redo",n[n.AcceptWord=2]="AcceptWord",n[n.Other=3]="Other"})(VersionIdChangeReason||(VersionIdChangeReason={}));let InlineCompletionsModel=class extends Disposable{get isAcceptingPartially(){return this._isAcceptingPartially}constructor(e,t,i,r,g,y,k,L,V,z,j,ie){super(),this.textModel=e,this.selectedSuggestItem=t,this.textModelVersionId=i,this._positions=r,this._debounceValue=g,this._suggestPreviewEnabled=y,this._suggestPreviewMode=k,this._inlineSuggestMode=L,this._enabled=V,this._instantiationService=z,this._commandService=j,this._languageConfigurationService=ie,this._source=this._register(this._instantiationService.createInstance(InlineCompletionsSource,this.textModel,this.textModelVersionId,this._debounceValue)),this._isActive=observableValue(this,!1),this._forceUpdateSignal=observableSignal("forceUpdate"),this._selectedInlineCompletionId=observableValue(this,void 0),this._primaryPosition=derived(this,re=>{var ae;return(ae=this._positions.read(re)[0])!==null&&ae!==void 0?ae:new Position$1(1,1)}),this._isAcceptingPartially=!1,this._preserveCurrentCompletionReasons=new Set([VersionIdChangeReason.Redo,VersionIdChangeReason.Undo,VersionIdChangeReason.AcceptWord]),this._fetchInlineCompletions=derivedHandleChanges({owner:this,createEmptyChangeSummary:()=>({preserveCurrentCompletion:!1,inlineCompletionTriggerKind:InlineCompletionTriggerKind$1.Automatic}),handleChange:(re,ae)=>(re.didChange(this.textModelVersionId)&&this._preserveCurrentCompletionReasons.has(re.change)?ae.preserveCurrentCompletion=!0:re.didChange(this._forceUpdateSignal)&&(ae.inlineCompletionTriggerKind=re.change),!0)},(re,ae)=>{if(this._forceUpdateSignal.read(re),!(this._enabled.read(re)&&this.selectedSuggestItem.read(re)||this._isActive.read(re))){this._source.cancelUpdate();return}this.textModelVersionId.read(re);const de=this.selectedInlineCompletion.get(),ue=ae.preserveCurrentCompletion||de!=null&&de.forwardStable?de:void 0,he=this._source.suggestWidgetInlineCompletions.get(),pe=this.selectedSuggestItem.read(re);if(he&&!pe){const xe=this._source.inlineCompletions.get();transaction(Ie=>{(!xe||he.request.versionId>xe.request.versionId)&&this._source.inlineCompletions.set(he.clone(),Ie),this._source.clearSuggestWidgetInlineCompletions(Ie)})}const Ce=this._primaryPosition.read(re),$e={triggerKind:ae.inlineCompletionTriggerKind,selectedSuggestionInfo:pe==null?void 0:pe.toSelectedSuggestionInfo()};return this._source.fetch(Ce,$e,ue)}),this._filteredInlineCompletionItems=derived(this,re=>{const ae=this._source.inlineCompletions.read(re);if(!ae)return[];const le=this._primaryPosition.read(re);return ae.inlineCompletions.filter(ue=>ue.isVisible(this.textModel,le,re))}),this.selectedInlineCompletionIndex=derived(this,re=>{const ae=this._selectedInlineCompletionId.read(re),le=this._filteredInlineCompletionItems.read(re),de=this._selectedInlineCompletionId===void 0?-1:le.findIndex(ue=>ue.semanticId===ae);return de===-1?(this._selectedInlineCompletionId.set(void 0,void 0),0):de}),this.selectedInlineCompletion=derived(this,re=>{const ae=this._filteredInlineCompletionItems.read(re),le=this.selectedInlineCompletionIndex.read(re);return ae[le]}),this.lastTriggerKind=this._source.inlineCompletions.map(this,re=>re==null?void 0:re.request.context.triggerKind),this.inlineCompletionsCount=derived(this,re=>{if(this.lastTriggerKind.read(re)===InlineCompletionTriggerKind$1.Explicit)return this._filteredInlineCompletionItems.read(re).length}),this.state=derivedOpts({owner:this,equalityComparer:(re,ae)=>!re||!ae?re===ae:ghostTextsOrReplacementsEqual(re.ghostTexts,ae.ghostTexts)&&re.inlineCompletion===ae.inlineCompletion&&re.suggestItem===ae.suggestItem},re=>{var ae,le;const de=this.textModel,ue=this.selectedSuggestItem.read(re);if(ue){const he=singleTextRemoveCommonPrefix(ue.toSingleTextEdit(),de),pe=this._computeAugmentation(he,re);if(!this._suggestPreviewEnabled.read(re)&&!pe)return;const $e=(ae=pe==null?void 0:pe.edit)!==null&&ae!==void 0?ae:he,xe=pe?pe.edit.text.length-he.text.length:0,Ie=this._suggestPreviewMode.read(re),Ne=this._positions.read(re),Fe=[$e,...getSecondaryEdits(this.textModel,Ne,$e)],Ve=Fe.map((ze,qe)=>computeGhostText(ze,de,Ie,Ne[qe],xe)).filter(isDefined),Oe=(le=Ve[0])!==null&&le!==void 0?le:new GhostText($e.range.endLineNumber,[]);return{edits:Fe,primaryGhostText:Oe,ghostTexts:Ve,inlineCompletion:pe==null?void 0:pe.completion,suggestItem:ue}}else{if(!this._isActive.read(re))return;const he=this.selectedInlineCompletion.read(re);if(!he)return;const pe=he.toSingleTextEdit(re),Ce=this._inlineSuggestMode.read(re),$e=this._positions.read(re),xe=[pe,...getSecondaryEdits(this.textModel,$e,pe)],Ie=xe.map((Ne,Fe)=>computeGhostText(Ne,de,Ce,$e[Fe],0)).filter(isDefined);return Ie[0]?{edits:xe,primaryGhostText:Ie[0],ghostTexts:Ie,inlineCompletion:he,suggestItem:void 0}:void 0}}),this.ghostTexts=derivedOpts({owner:this,equalityComparer:ghostTextsOrReplacementsEqual},re=>{const ae=this.state.read(re);if(ae)return ae.ghostTexts}),this.primaryGhostText=derivedOpts({owner:this,equalityComparer:ghostTextOrReplacementEquals},re=>{const ae=this.state.read(re);if(ae)return ae==null?void 0:ae.primaryGhostText}),this._register(recomputeInitiallyAndOnChange(this._fetchInlineCompletions));let oe;this._register(autorun(re=>{var ae,le;const de=this.state.read(re),ue=de==null?void 0:de.inlineCompletion;if((ue==null?void 0:ue.semanticId)!==(oe==null?void 0:oe.semanticId)&&(oe=ue,ue)){const he=ue.inlineCompletion,pe=he.source;(le=(ae=pe.provider).handleItemDidShow)===null||le===void 0||le.call(ae,pe.inlineCompletions,he.sourceInlineCompletion,he.insertText)}}))}async trigger(e){this._isActive.set(!0,e),await this._fetchInlineCompletions.get()}async triggerExplicitly(e){subtransaction(e,t=>{this._isActive.set(!0,t),this._forceUpdateSignal.trigger(t,InlineCompletionTriggerKind$1.Explicit)}),await this._fetchInlineCompletions.get()}stop(e){subtransaction(e,t=>{this._isActive.set(!1,t),this._source.clear(t)})}_computeAugmentation(e,t){const i=this.textModel,r=this._source.suggestWidgetInlineCompletions.read(t),g=r?r.inlineCompletions:[this.selectedInlineCompletion.read(t)].filter(isDefined);return mapFindFirst(g,k=>{let L=k.toSingleTextEdit(t);return L=singleTextRemoveCommonPrefix(L,i,Range$2.fromPositions(L.range.getStartPosition(),e.range.getEndPosition())),singleTextEditAugments(L,e)?{completion:k,edit:L}:void 0})}async _deltaSelectedInlineCompletionIndex(e){await this.triggerExplicitly();const t=this._filteredInlineCompletionItems.get()||[];if(t.length>0){const i=(this.selectedInlineCompletionIndex.get()+e+t.length)%t.length;this._selectedInlineCompletionId.set(t[i].semanticId,void 0)}else this._selectedInlineCompletionId.set(void 0,void 0)}async next(){await this._deltaSelectedInlineCompletionIndex(1)}async previous(){await this._deltaSelectedInlineCompletionIndex(-1)}async accept(e){var t;if(e.getModel()!==this.textModel)throw new BugIndicatingError;const i=this.state.get();if(!i||i.primaryGhostText.isEmpty()||!i.inlineCompletion)return;const r=i.inlineCompletion.toInlineCompletion(void 0);if(e.pushUndoStop(),r.snippetInfo)e.executeEdits("inlineSuggestion.accept",[EditOperation.replaceMove(r.range,""),...r.additionalTextEdits]),e.setPosition(r.snippetInfo.range.getStartPosition(),"inlineCompletionAccept"),(t=SnippetController2.get(e))===null||t===void 0||t.insert(r.snippetInfo.snippet,{undoStopBefore:!1});else{const g=i.edits,y=getEndPositionsAfterApplying(g).map(k=>Selection$1.fromPositions(k));e.executeEdits("inlineSuggestion.accept",[...g.map(k=>EditOperation.replaceMove(k.range,k.text)),...r.additionalTextEdits]),e.setSelections(y,"inlineCompletionAccept")}r.command&&r.source.addRef(),transaction(g=>{this._source.clear(g),this._isActive.set(!1,g)}),r.command&&(await this._commandService.executeCommand(r.command.id,...r.command.arguments||[]).then(void 0,onUnexpectedExternalError),r.source.removeRef())}async acceptNextWord(e){await this._acceptNext(e,(t,i)=>{const r=this.textModel.getLanguageIdAtPosition(t.lineNumber,t.column),g=this._languageConfigurationService.getLanguageConfiguration(r),y=new RegExp(g.wordDefinition.source,g.wordDefinition.flags.replace("g","")),k=i.match(y);let L=0;k&&k.index!==void 0?k.index===0?L=k[0].length:L=k.index:L=i.length;const z=/\s+/g.exec(i);return z&&z.index!==void 0&&z.index+z[0].length{const r=i.match(/\n/);return r&&r.index!==void 0?r.index+1:i.length},1)}async _acceptNext(e,t,i){if(e.getModel()!==this.textModel)throw new BugIndicatingError;const r=this.state.get();if(!r||r.primaryGhostText.isEmpty()||!r.inlineCompletion)return;const g=r.primaryGhostText,y=r.inlineCompletion.toInlineCompletion(void 0);if(y.snippetInfo||y.filterText!==y.insertText){await this.accept(e);return}const k=g.parts[0],L=new Position$1(g.lineNumber,k.column),V=k.text,z=t(L,V);if(z===V.length&&g.parts.length===1){this.accept(e);return}const j=V.substring(0,z),ie=this._positions.get(),oe=ie[0];y.source.addRef();try{this._isAcceptingPartially=!0;try{e.pushUndoStop();const re=Range$2.fromPositions(oe,L),ae=e.getModel().getValueInRange(re)+j,le=new SingleTextEdit(re,ae),de=[le,...getSecondaryEdits(this.textModel,ie,le)],ue=getEndPositionsAfterApplying(de).map(he=>Selection$1.fromPositions(he));e.executeEdits("inlineSuggestion.accept",de.map(he=>EditOperation.replaceMove(he.range,he.text))),e.setSelections(ue,"inlineCompletionPartialAccept")}finally{this._isAcceptingPartially=!1}if(y.source.provider.handlePartialAccept){const re=Range$2.fromPositions(y.range.getStartPosition(),TextLength.ofText(j).addToPosition(L)),ae=e.getModel().getValueInRange(re,1);y.source.provider.handlePartialAccept(y.source.inlineCompletions,y.sourceInlineCompletion,ae.length,{kind:i})}}finally{y.source.removeRef()}}handleSuggestAccepted(e){var t,i;const r=singleTextRemoveCommonPrefix(e.toSingleTextEdit(),this.textModel),g=this._computeAugmentation(r,void 0);if(!g)return;const y=g.completion.inlineCompletion;(i=(t=y.source.provider).handlePartialAccept)===null||i===void 0||i.call(t,y.source.inlineCompletions,y.sourceInlineCompletion,r.text.length,{kind:2})}};InlineCompletionsModel=__decorate$R([__param$N(9,IInstantiationService),__param$N(10,ICommandService),__param$N(11,ILanguageConfigurationService)],InlineCompletionsModel);function getSecondaryEdits(n,e,t){if(e.length===1)return[];const i=e[0],r=e.slice(1),g=t.range.getStartPosition(),y=t.range.getEndPosition(),k=n.getValueInRange(Range$2.fromPositions(i,y)),L=subtractPositions(i,g);if(L.lineNumber<1)return onUnexpectedError(new BugIndicatingError("positionWithinTextEdit line number should be bigger than 0.\n Invalid subtraction between ".concat(i.toString()," and ").concat(g.toString()))),[];const V=substringPos(t.text,L);return r.map(z=>{const j=addPositions(subtractPositions(z,g),y),ie=n.getValueInRange(Range$2.fromPositions(z,j)),oe=commonPrefixLength(k,ie),re=Range$2.fromPositions(z,z.delta(0,oe));return new SingleTextEdit(re,V)})}function substringPos(n,e){let t="";const i=splitLinesIncludeSeparators(n);for(let r=e.lineNumber-1;rRange$2.compareRangesUsingStarts(g.range,y.range)),i=new TextEdit(e.apply(n)).getNewRanges();return e.inverse().apply(i).map(g=>g.getEndPosition())}var __decorate$Q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$M=function(n,e){return function(t,i){e(t,i,n)}},SuggestMemoryService_1;class Memory{constructor(e){this.name=e}select(e,t,i){if(i.length===0)return 0;const r=i[0].score[0];for(let g=0;gL&&j.type===i[V].completion.kind&&j.insertText===i[V].completion.insertText&&(L=j.touch,k=V),i[V].completion.preselect&&y===-1)return y=V}return k!==-1?k:y!==-1?y:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();const t=0;for(const[i,r]of e)r.touch=t,r.type=typeof r.type=="number"?r.type:CompletionItemKinds.fromString(r.type),this._cache.set(i,r);this._seq=this._cache.size}}class PrefixMemory extends Memory{constructor(){super("recentlyUsedByPrefix"),this._trie=TernarySearchTree.forStrings(),this._seq=0}memorize(e,t,i){const{word:r}=e.getWordUntilPosition(t),g="".concat(e.getLanguageId(),"/").concat(r);this._trie.set(g,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){const{word:r}=e.getWordUntilPosition(t);if(!r)return super.select(e,t,i);const g="".concat(e.getLanguageId(),"/").concat(r);let y=this._trie.get(g);if(y||(y=this._trie.findSubstr(g)),y)for(let k=0;ke.push([i,t])),e.sort((t,i)=>-(t[1].touch-i[1].touch)).forEach((t,i)=>t[1].touch=i),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type=typeof i.type=="number"?i.type:CompletionItemKinds.fromString(i.type),this._trie.set(t,i)}}}let SuggestMemoryService=SuggestMemoryService_1=class{constructor(e,t){this._storageService=e,this._configService=t,this._disposables=new DisposableStore,this._persistSoon=new RunOnceScheduler(()=>this._saveState(),500),this._disposables.add(e.onWillSaveState(i=>{i.reason===WillSaveStateReason.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(e,t){var i;const r=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:e.getLanguageIdAtPosition(t.lineNumber,t.column),resource:e.uri});if(((i=this._strategy)===null||i===void 0?void 0:i.name)!==r){this._saveState();const g=SuggestMemoryService_1._strategyCtors.get(r)||NoMemory;this._strategy=new g;try{const k=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,L=this._storageService.get("".concat(SuggestMemoryService_1._storagePrefix,"/").concat(r),k);L&&this._strategy.fromJSON(JSON.parse(L))}catch(y){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store("".concat(SuggestMemoryService_1._storagePrefix,"/").concat(this._strategy.name),i,t,1)}}};SuggestMemoryService._strategyCtors=new Map([["recentlyUsedByPrefix",PrefixMemory],["recentlyUsed",LRUMemory],["first",NoMemory]]);SuggestMemoryService._storagePrefix="suggest/memories";SuggestMemoryService=SuggestMemoryService_1=__decorate$Q([__param$M(0,IStorageService),__param$M(1,IConfigurationService)],SuggestMemoryService);const ISuggestMemoryService=createDecorator("ISuggestMemories");registerSingleton(ISuggestMemoryService,SuggestMemoryService,1);var __decorate$P=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$L=function(n,e){return function(t,i){e(t,i,n)}},WordContextKey_1;let WordContextKey=WordContextKey_1=class{constructor(e,t){this._editor=e,this._enabled=!1,this._ckAtEnd=WordContextKey_1.AtEnd.bindTo(t),this._configListener=this._editor.onDidChangeConfiguration(i=>i.hasChanged(123)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),(e=this._selectionListener)===null||e===void 0||e.dispose(),this._ckAtEnd.reset()}_update(){const e=this._editor.getOption(123)==="on";if(this._enabled!==e)if(this._enabled=e,this._enabled){const t=()=>{if(!this._editor.hasModel()){this._ckAtEnd.set(!1);return}const i=this._editor.getModel(),r=this._editor.getSelection(),g=i.getWordAtPosition(r.getStartPosition());if(!g){this._ckAtEnd.set(!1);return}this._ckAtEnd.set(g.endColumn===r.getStartPosition().column)};this._selectionListener=this._editor.onDidChangeCursorSelection(t),t()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};WordContextKey.AtEnd=new RawContextKey("atEndOfWord",!1);WordContextKey=WordContextKey_1=__decorate$P([__param$L(1,IContextKeyService)],WordContextKey);var __decorate$O=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$K=function(n,e){return function(t,i){e(t,i,n)}},SuggestAlternatives_1;let SuggestAlternatives=SuggestAlternatives_1=class{constructor(e,t){this._editor=e,this._index=0,this._ckOtherSuggestions=SuggestAlternatives_1.OtherSuggestions.bindTo(t)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),(e=this._listener)===null||e===void 0||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:e,index:t},i){if(e.items.length===0){this.reset();return}if(SuggestAlternatives_1._moveIndex(!0,e,t)===t){this.reset();return}this._acceptNext=i,this._model=e,this._index=t,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)}static _moveIndex(e,t,i){let r=i;for(let g=t.items.length;g>0&&(r=(r+t.items.length+(e?1:-1))%t.items.length,!(r===i||!t.items[r].completion.additionalTextEdits));g--);return r}next(){this._move(!0)}prev(){this._move(!1)}_move(e){if(this._model)try{this._ignore=!0,this._index=SuggestAlternatives_1._moveIndex(e,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};SuggestAlternatives.OtherSuggestions=new RawContextKey("hasOtherSuggestions",!1);SuggestAlternatives=SuggestAlternatives_1=__decorate$O([__param$K(1,IContextKeyService)],SuggestAlternatives);class CommitCharacterController{constructor(e,t,i,r){this._disposables=new DisposableStore,this._disposables.add(i.onDidSuggest(g=>{g.completionModel.items.length===0&&this.reset()})),this._disposables.add(i.onDidCancel(g=>{this.reset()})),this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(g=>{if(this._active&&!t.isFrozen()&&i.state!==0){const y=g.charCodeAt(g.length-1);this._active.acceptCharacters.has(y)&&e.getOption(0)&&r(this._active.item)}}))}_onItem(e){if(!e||!isNonEmptyArray(e.item.completion.commitCharacters)){this.reset();return}if(this._active&&this._active.item.item===e.item)return;const t=new CharacterSet;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class BracketSelectionRangeProvider{async provideSelectionRanges(e,t){const i=[];for(const r of t){const g=[];i.push(g);const y=new Map;await new Promise(k=>BracketSelectionRangeProvider._bracketsRightYield(k,0,e,r,y)),await new Promise(k=>BracketSelectionRangeProvider._bracketsLeftYield(k,0,e,r,y,g))}return i}static _bracketsRightYield(e,t,i,r,g){const y=new Map,k=Date.now();for(;;){if(t>=BracketSelectionRangeProvider._maxRounds){e();break}if(!r){e();break}const L=i.bracketPairs.findNextBracket(r);if(!L){e();break}if(Date.now()-k>BracketSelectionRangeProvider._maxDuration){setTimeout(()=>BracketSelectionRangeProvider._bracketsRightYield(e,t+1,i,r,g));break}if(L.bracketInfo.isOpeningBracket){const z=L.bracketInfo.bracketText,j=y.has(z)?y.get(z):0;y.set(z,j+1)}else{const z=L.bracketInfo.getOpeningBrackets()[0].bracketText;let j=y.has(z)?y.get(z):0;if(j-=1,y.set(z,Math.max(0,j)),j<0){let ie=g.get(z);ie||(ie=new LinkedList,g.set(z,ie)),ie.push(L.range)}}r=L.range.getEndPosition()}}static _bracketsLeftYield(e,t,i,r,g,y){const k=new Map,L=Date.now();for(;;){if(t>=BracketSelectionRangeProvider._maxRounds&&g.size===0){e();break}if(!r){e();break}const V=i.bracketPairs.findPrevBracket(r);if(!V){e();break}if(Date.now()-L>BracketSelectionRangeProvider._maxDuration){setTimeout(()=>BracketSelectionRangeProvider._bracketsLeftYield(e,t+1,i,r,g,y));break}if(V.bracketInfo.isOpeningBracket){const j=V.bracketInfo.bracketText;let ie=k.has(j)?k.get(j):0;if(ie-=1,k.set(j,Math.max(0,ie)),ie<0){const oe=g.get(j);if(oe){const re=oe.shift();oe.size===0&&g.delete(j);const ae=Range$2.fromPositions(V.range.getEndPosition(),re.getStartPosition()),le=Range$2.fromPositions(V.range.getStartPosition(),re.getEndPosition());y.push({range:ae}),y.push({range:le}),BracketSelectionRangeProvider._addBracketLeading(i,le,y)}}}else{const j=V.bracketInfo.getOpeningBrackets()[0].bracketText,ie=k.has(j)?k.get(j):0;k.set(j,ie+1)}r=V.range.getStartPosition()}}static _addBracketLeading(e,t,i){if(t.startLineNumber===t.endLineNumber)return;const r=t.startLineNumber,g=e.getLineFirstNonWhitespaceColumn(r);g!==0&&g!==t.startColumn&&(i.push({range:Range$2.fromPositions(new Position$1(r,g),t.getEndPosition())}),i.push({range:Range$2.fromPositions(new Position$1(r,1),t.getEndPosition())}));const y=r-1;if(y>0){const k=e.getLineFirstNonWhitespaceColumn(y);k===t.startColumn&&k!==e.getLineLastNonWhitespaceColumn(y)&&(i.push({range:Range$2.fromPositions(new Position$1(y,k),t.getEndPosition())}),i.push({range:Range$2.fromPositions(new Position$1(y,1),t.getEndPosition())}))}}}BracketSelectionRangeProvider._maxDuration=30;BracketSelectionRangeProvider._maxRounds=2;class WordDistance{static async create(e,t){if(!t.getOption(118).localityBonus||!t.hasModel())return WordDistance.None;const i=t.getModel(),r=t.getPosition();if(!e.canComputeWordRanges(i.uri))return WordDistance.None;const[g]=await new BracketSelectionRangeProvider().provideSelectionRanges(i,[r]);if(g.length===0)return WordDistance.None;const y=await e.computeWordRanges(i.uri,g[0].range);if(!y)return WordDistance.None;const k=i.getWordUntilPosition(r);return delete y[k.word],new class extends WordDistance{distance(L,V){if(!r.equals(t.getPosition()))return 0;if(V.kind===17)return 2<<20;const z=typeof V.label=="string"?V.label:V.label.label,j=y[z];if(isFalsyOrEmpty(j))return 2<<20;const ie=binarySearch(j,Range$2.fromPositions(L),Range$2.compareRangesUsingStarts),oe=ie>=0?j[ie]:j[Math.max(0,~ie-1)];let re=g.length;for(const ae of g){if(!Range$2.containsRange(ae.range,oe))break;re-=1}return re}}}}WordDistance.None=new class extends WordDistance{distance(){return 0}};let LineContext$1=class{constructor(e,t){this.leadingLineContent=e,this.characterCountDelta=t}};class CompletionModel{constructor(e,t,i,r,g,y,k=FuzzyScoreOptions.default,L=void 0){this.clipboardText=L,this._snippetCompareFn=CompletionModel._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=r,this._options=g,this._refilterKind=1,this._lineContext=i,this._fuzzyScoreOptions=k,y==="top"?this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsUp:y==="bottom"&&(this._snippetCompareFn=CompletionModel._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){(this._lineContext.leadingLineContent!==e.leadingLineContent||this._lineContext.characterCountDelta!==e.characterCountDelta)&&(this._refilterKind=this._lineContext.characterCountDelta0&&i[0].container.incomplete&&e.add(t);return e}get stats(){return this._ensureCachedState(),this._stats}_ensureCachedState(){this._refilterKind!==0&&this._createCachedState()}_createCachedState(){this._itemsByProvider=new Map;const e=[],{leadingLineContent:t,characterCountDelta:i}=this._lineContext;let r="",g="";const y=this._refilterKind===1?this._items:this._filteredItems,k=[],L=!this._options.filterGraceful||y.length>2e3?fuzzyScore:fuzzyScoreGracefulAggressive;for(let V=0;V=oe)z.score=FuzzyScore.Default;else if(typeof z.completion.filterText=="string"){const ae=L(r,g,re,z.completion.filterText,z.filterTextLow,0,this._fuzzyScoreOptions);if(!ae)continue;compareIgnoreCase(z.completion.filterText,z.textLabel)===0?z.score=ae:(z.score=anyScore(r,g,re,z.textLabel,z.labelLow,0),z.score[0]=ae[0])}else{const ae=L(r,g,re,z.textLabel,z.labelLow,0,this._fuzzyScoreOptions);if(!ae)continue;z.score=ae}}z.idx=V,z.distance=this._wordDistance.distance(z.position,z.completion),k.push(z),e.push(z.textLabel.length)}this._filteredItems=k.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?quickSelect(e.length-.85,e,(V,z)=>V-z):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return 1;if(t.completion.kind===27)return-1}return CompletionModel._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(e.completion.kind===27)return-1;if(t.completion.kind===27)return 1}return CompletionModel._compareCompletionItems(e,t)}}var __decorate$N=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$J=function(n,e){return function(t,i){e(t,i,n)}},SuggestModel_1;class LineContext{static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenization.tokenizeIfCheap(i.lineNumber);const r=t.getWordAtPosition(i);return!(!r||r.endColumn!==i.column&&r.startColumn+1!==i.column||!isNaN(Number(r.word)))}constructor(e,t,i){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.triggerOptions=i}}function canShowQuickSuggest(n,e,t){if(!e.getContextKeyValue(InlineCompletionContextKeys.inlineSuggestionVisible.key))return!0;const i=e.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}function canShowSuggestOnTriggerCharacters(n,e,t){if(!e.getContextKeyValue("inlineSuggestionVisible"))return!0;const i=e.getContextKeyValue(InlineCompletionContextKeys.suppressSuggestions.key);return i!==void 0?!i:!n.getOption(62).suppressSuggestions}let SuggestModel=SuggestModel_1=class{constructor(e,t,i,r,g,y,k,L,V){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=r,this._logService=g,this._contextKeyService=y,this._configurationService=k,this._languageFeaturesService=L,this._envService=V,this._toDispose=new DisposableStore,this._triggerCharacterListener=new DisposableStore,this._triggerQuickSuggest=new TimeoutTimer,this._triggerState=void 0,this._completionDisposables=new DisposableStore,this._onDidCancel=new Emitter$1,this._onDidTrigger=new Emitter$1,this._onDidSuggest=new Emitter$1,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new Selection$1(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters()})),this._toDispose.add(this._languageFeaturesService.completionProvider.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()}));let z=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{z=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{z=!1,this._onCompositionEnd()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(j=>{z||this._onCursorChange(j)})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{!z&&this._triggerState!==void 0&&this._refilterCompletionItems()})),this._updateTriggerCharacters()}dispose(){dispose(this._triggerCharacterListener),dispose([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(91)||!this._editor.hasModel()||!this._editor.getOption(121))return;const e=new Map;for(const i of this._languageFeaturesService.completionProvider.all(this._editor.getModel()))for(const r of i.triggerCharacters||[]){let g=e.get(r);g||(g=new Set,g.add(getSnippetSuggestSupport()),e.set(r,g)),g.add(i)}const t=i=>{var r;if(!canShowSuggestOnTriggerCharacters(this._editor,this._contextKeyService,this._configurationService)||LineContext.shouldAutoTrigger(this._editor))return;if(!i){const k=this._editor.getPosition();i=this._editor.getModel().getLineContent(k.lineNumber).substr(0,k.column-1)}let g="";isLowSurrogate(i.charCodeAt(i.length-1))?isHighSurrogate(i.charCodeAt(i.length-2))&&(g=i.substr(i.length-2)):g=i.charAt(i.length-1);const y=e.get(g);if(y){const k=new Map;if(this._completionModel)for(const[L,V]of this._completionModel.getItemsByProvider())y.has(L)||k.set(L,V);this.trigger({auto:!0,triggerKind:1,triggerCharacter:g,retrigger:!!this._completionModel,clipboardText:(r=this._completionModel)===null||r===void 0?void 0:r.clipboardText,completionOptions:{providerFilter:y,providerItemsToReuse:k}})}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(()=>t()))}get state(){return this._triggerState?this._triggerState.auto?2:1:0}cancel(e=!1){var t;this._triggerState!==void 0&&(this._triggerQuickSuggest.cancel(),(t=this._requestToken)===null||t===void 0||t.cancel(),this._requestToken=void 0,this._triggerState=void 0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){this._triggerState!==void 0&&(!this._editor.hasModel()||!this._languageFeaturesService.completionProvider.has(this._editor.getModel())?this.cancel():this.trigger({auto:this._triggerState.auto,retrigger:!0}))}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||e.reason!==0&&e.reason!==3||e.source!=="keyboard"&&e.source!=="deleteLeft"){this.cancel();return}this._triggerState===void 0&&e.reason===0?(t.containsRange(this._currentSelection)||t.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))&&this._doTriggerQuickSuggest():this._triggerState!==void 0&&e.reason===3&&this._refilterCompletionItems()}_onCompositionEnd(){this._triggerState===void 0?this._doTriggerQuickSuggest():this._refilterCompletionItems()}_doTriggerQuickSuggest(){var e;QuickSuggestionsOptions.isAllOff(this._editor.getOption(89))||this._editor.getOption(118).snippetsPreventQuickSuggestions&&(!((e=SnippetController2.get(this._editor))===null||e===void 0)&&e.isInSnippet())||(this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(this._triggerState!==void 0||!LineContext.shouldAutoTrigger(this._editor)||!this._editor.hasModel()||!this._editor.hasWidgetFocus())return;const t=this._editor.getModel(),i=this._editor.getPosition(),r=this._editor.getOption(89);if(!QuickSuggestionsOptions.isAllOff(r)){if(!QuickSuggestionsOptions.isAllOn(r)){t.tokenization.tokenizeIfCheap(i.lineNumber);const g=t.tokenization.getLineTokens(i.lineNumber),y=g.getStandardTokenType(g.findTokenIndexAtOffset(Math.max(i.column-1-1,0)));if(QuickSuggestionsOptions.valueFor(r,y)!=="on")return}canShowQuickSuggest(this._editor,this._contextKeyService,this._configurationService)&&this._languageFeaturesService.completionProvider.has(t)&&this.trigger({auto:!0})}},this._editor.getOption(90)))}_refilterCompletionItems(){assertType(this._editor.hasModel()),assertType(this._triggerState!==void 0);const e=this._editor.getModel(),t=this._editor.getPosition(),i=new LineContext(e,t,{...this._triggerState,refilter:!0});this._onNewContext(i)}trigger(e){var t,i,r,g,y,k;if(!this._editor.hasModel())return;const L=this._editor.getModel(),V=new LineContext(L,this._editor.getPosition(),e);this.cancel(e.retrigger),this._triggerState=e,this._onDidTrigger.fire({auto:e.auto,shy:(t=e.shy)!==null&&t!==void 0?t:!1,position:this._editor.getPosition()}),this._context=V;let z={triggerKind:(i=e.triggerKind)!==null&&i!==void 0?i:0};e.triggerCharacter&&(z={triggerKind:1,triggerCharacter:e.triggerCharacter}),this._requestToken=new CancellationTokenSource$1;const j=this._editor.getOption(112);let ie=1;switch(j){case"top":ie=0;break;case"bottom":ie=2;break}const{itemKind:oe,showDeprecated:re}=SuggestModel_1.createSuggestFilter(this._editor),ae=new CompletionOptions(ie,(g=(r=e.completionOptions)===null||r===void 0?void 0:r.kindFilter)!==null&&g!==void 0?g:oe,(y=e.completionOptions)===null||y===void 0?void 0:y.providerFilter,(k=e.completionOptions)===null||k===void 0?void 0:k.providerItemsToReuse,re),le=WordDistance.create(this._editorWorkerService,this._editor),de=provideSuggestionItems(this._languageFeaturesService.completionProvider,L,this._editor.getPosition(),ae,z,this._requestToken.token);Promise.all([de,le]).then(async([ue,he])=>{var pe;if((pe=this._requestToken)===null||pe===void 0||pe.dispose(),!this._editor.hasModel())return;let Ce=e==null?void 0:e.clipboardText;if(!Ce&&ue.needsClipboard&&(Ce=await this._clipboardService.readText()),this._triggerState===void 0)return;const $e=this._editor.getModel(),xe=new LineContext($e,this._editor.getPosition(),e),Ie={...FuzzyScoreOptions.default,firstMatchCanBeWeak:!this._editor.getOption(118).matchOnWordStartOnly};if(this._completionModel=new CompletionModel(ue.items,this._context.column,{leadingLineContent:xe.leadingLineContent,characterCountDelta:xe.column-this._context.column},he,this._editor.getOption(118),this._editor.getOption(112),Ie,Ce),this._completionDisposables.add(ue.disposable),this._onNewContext(xe),this._reportDurationsTelemetry(ue.durations),!this._envService.isBuilt||this._envService.isExtensionDevelopment)for(const Ne of ue.items)Ne.isInvalid&&this._logService.warn("[suggest] did IGNORE invalid completion item from ".concat(Ne.provider._debugDisplayName),Ne.completion)}).catch(onUnexpectedError)}_reportDurationsTelemetry(e){this._telemetryGate++%230===0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static createSuggestFilter(e){const t=new Set;e.getOption(112)==="none"&&t.add(27);const r=e.getOption(118);return r.showMethods||t.add(0),r.showFunctions||t.add(1),r.showConstructors||t.add(2),r.showFields||t.add(3),r.showVariables||t.add(4),r.showClasses||t.add(5),r.showStructs||t.add(6),r.showInterfaces||t.add(7),r.showModules||t.add(8),r.showProperties||t.add(9),r.showEvents||t.add(10),r.showOperators||t.add(11),r.showUnits||t.add(12),r.showValues||t.add(13),r.showConstants||t.add(14),r.showEnums||t.add(15),r.showEnumMembers||t.add(16),r.showKeywords||t.add(17),r.showWords||t.add(18),r.showColors||t.add(19),r.showFiles||t.add(20),r.showReferences||t.add(21),r.showColors||t.add(22),r.showFolders||t.add(23),r.showTypeParameters||t.add(24),r.showSnippets||t.add(27),r.showUsers||t.add(25),r.showIssues||t.add(26),{itemKind:t,showDeprecated:r.showDeprecated}}_onNewContext(e){if(this._context){if(e.lineNumber!==this._context.lineNumber){this.cancel();return}if(getLeadingWhitespace(e.leadingLineContent)!==getLeadingWhitespace(this._context.leadingLineContent)){this.cancel();return}if(e.columnthis._context.leadingWord.startColumn){if(LineContext.shouldAutoTrigger(this._editor)&&this._context){const i=this._completionModel.getItemsByProvider();this.trigger({auto:this._context.triggerOptions.auto,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerItemsToReuse:i}})}return}if(e.column>this._context.column&&this._completionModel.getIncompleteProvider().size>0&&e.leadingWord.word.length!==0){const t=new Map,i=new Set;for(const[r,g]of this._completionModel.getItemsByProvider())g.length>0&&g[0].container.incomplete?i.add(r):t.set(r,g);this.trigger({auto:this._context.triggerOptions.auto,triggerKind:2,retrigger:!0,clipboardText:this._completionModel.clipboardText,completionOptions:{providerFilter:i,providerItemsToReuse:t}})}else{const t=this._completionModel.lineContext;let i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},this._completionModel.items.length===0){const r=LineContext.shouldAutoTrigger(this._editor);if(!this._context){this.cancel();return}if(r&&this._context.leadingWord.endColumn0,i&&e.leadingWord.word.length===0){this.cancel();return}}this._onDidSuggest.fire({completionModel:this._completionModel,triggerOptions:e.triggerOptions,isFrozen:i})}}}}};SuggestModel=SuggestModel_1=__decorate$N([__param$J(1,IEditorWorkerService),__param$J(2,IClipboardService),__param$J(3,ITelemetryService),__param$J(4,ILogService),__param$J(5,IContextKeyService),__param$J(6,IConfigurationService),__param$J(7,ILanguageFeaturesService),__param$J(8,IEnvironmentService)],SuggestModel);class OvertypingCapturer{constructor(e,t){this._disposables=new DisposableStore,this._lastOvertyped=[],this._locked=!1,this._disposables.add(e.onWillType(()=>{if(this._locked||!e.hasModel())return;const i=e.getSelections(),r=i.length;let g=!1;for(let k=0;kOvertypingCapturer._maxSelectionLength)return;this._lastOvertyped[k]={value:y.getValueInRange(L),multiline:L.startLineNumber!==L.endLineNumber}}})),this._disposables.add(t.onDidTrigger(i=>{this._locked=!0})),this._disposables.add(t.onDidCancel(i=>{this._locked=!1}))}getLastOvertypedInfo(e){if(e>=0&&e=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$I=function(n,e){return function(t,i){e(t,i,n)}};let StatusBarViewItem$1=class Xh extends MenuEntryActionViewItem{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();this.label&&(this.label.textContent=localize({},"{0} ({1})",this._action.label,Xh.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return(t=e.getLabel())===null||t===void 0?void 0:t.replace(/\benter\b/gi,"⏎")}},SuggestWidgetStatus=class{constructor(e,t,i,r,g){this._menuId=t,this._menuService=r,this._contextKeyService=g,this._menuDisposables=new DisposableStore,this.element=append$1(e,$$f(".suggest-status-bar"));const y=k=>k instanceof MenuItemAction?i.createInstance(StatusBarViewItem$1,k,void 0):void 0;this._leftActions=new ActionBar(this.element,{actionViewItemProvider:y}),this._rightActions=new ActionBar(this.element,{actionViewItemProvider:y}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this._leftActions.dispose(),this._rightActions.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(this._menuId,this._contextKeyService),t=()=>{const i=[],r=[];for(const[g,y]of e.getActions())g==="left"?i.push(...y):r.push(...y);this._leftActions.clear(),this._leftActions.push(i),this._rightActions.clear(),this._rightActions.push(r)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};SuggestWidgetStatus=__decorate$M([__param$I(2,IInstantiationService),__param$I(3,IMenuService),__param$I(4,IContextKeyService)],SuggestWidgetStatus);var __decorate$L=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$H=function(n,e){return function(t,i){e(t,i,n)}};function canExpandCompletionItem(n){return!!n&&!!(n.completion.documentation||n.completion.detail&&n.completion.detail!==n.completion.label)}let SuggestDetailsWidget=class{constructor(e,t){this._editor=e,this._onDidClose=new Emitter$1,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new Emitter$1,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new DisposableStore,this._renderDisposeable=new DisposableStore,this._borderWidth=1,this._size=new Dimension(330,0),this.domNode=$$f(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(MarkdownRenderer,{editor:e}),this._body=$$f(".body"),this._scrollbar=new DomScrollableElement(this._body,{alwaysConsumeMouseWheel:!0}),append$1(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=append$1(this._body,$$f(".header")),this._close=append$1(this._header,$$f("span"+ThemeIcon.asCSSSelector(Codicon.close))),this._close.title=localize("details.close","Close"),this._type=append$1(this._header,$$f("p.type")),this._docs=append$1(this._body,$$f("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(50)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(50),i=t.getMassagedFontFamily(),r=e.get(119)||t.fontSize,g=e.get(120)||t.lineHeight,y=t.fontWeight,k="".concat(r,"px"),L="".concat(g,"px");this.domNode.style.fontSize=k,this.domNode.style.lineHeight="".concat(g/r),this.domNode.style.fontWeight=y,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=L,this._close.style.width=L}getLayoutInfo(){const e=this._editor.getOption(120)||this._editor.getOption(50).lineHeight,t=this._borderWidth,i=t*2;return{lineHeight:e,borderWidth:t,borderHeight:i,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=localize("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,this.getLayoutInfo().lineHeight*2),this._onDidChangeContents.fire(this)}renderItem(e,t){var i,r;this._renderDisposeable.clear();let{detail:g,documentation:y}=e.completion;if(t){let k="";k+="score: ".concat(e.score[0],"\n"),k+="prefix: ".concat((i=e.word)!==null&&i!==void 0?i:"(no prefix)","\n"),k+="word: ".concat(e.completion.filterText?e.completion.filterText+" (filterText)":e.textLabel,"\n"),k+="distance: ".concat(e.distance," (localityBonus-setting)\n"),k+="index: ".concat(e.idx,", based on ").concat(e.completion.sortText&&'sortText: "'.concat(e.completion.sortText,'"')||"label","\n"),k+="commit_chars: ".concat((r=e.completion.commitCharacters)===null||r===void 0?void 0:r.join(""),"\n"),y=new MarkdownString().appendCodeblock("empty",k),g="Provider: ".concat(e.provider._debugDisplayName)}if(!t&&!canExpandCompletionItem(e)){this.clearContents();return}if(this.domNode.classList.remove("no-docs","no-type"),g){const k=g.length>1e5?"".concat(g.substr(0,1e5),"…"):g;this._type.textContent=k,this._type.title=k,show(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gmi.test(k))}else clearNode(this._type),this._type.title="",hide(this._type),this.domNode.classList.add("no-type");if(clearNode(this._docs),typeof y=="string")this._docs.classList.remove("markdown-docs"),this._docs.textContent=y;else if(y){this._docs.classList.add("markdown-docs"),clearNode(this._docs);const k=this._markdownRenderer.render(y);this._docs.appendChild(k.element),this._renderDisposeable.add(k),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=k=>{k.preventDefault(),k.stopPropagation()},this._close.onclick=k=>{k.preventDefault(),k.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get isEmpty(){return this.domNode.classList.contains("no-docs")}get size(){return this._size}layout(e,t){const i=new Dimension(e,t);Dimension.equals(i,this._size)||(this._size=i,size(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};SuggestDetailsWidget=__decorate$L([__param$H(1,IInstantiationService)],SuggestDetailsWidget);class SuggestDetailsOverlay{constructor(e,t){this.widget=e,this._editor=t,this.allowEditorOverflow=!0,this._disposables=new DisposableStore,this._added=!1,this._preferAlignAtTop=!0,this._resizable=new ResizableHTMLElement,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let i,r,g=0,y=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,r=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(k=>{if(i&&r){this.widget.layout(k.dimension.width,k.dimension.height);let L=!1;k.west&&(y=r.width-k.dimension.width,L=!0),k.north&&(g=r.height-k.dimension.height,L=!0),L&&this._applyTopLeft({top:i.top+g,left:i.left+y})}k.done&&(i=void 0,r=void 0,g=0,y=0,this._userSize=k.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var k;this._anchorBox&&this._placeAtAnchor(this._anchorBox,(k=this._userSize)!==null&&k!==void 0?k:this.widget.size,this._preferAlignAtTop)}))}dispose(){this._resizable.dispose(),this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return this._topLeft?{preference:this._topLeft}:null}show(){this._added||(this._editor.addOverlayWidget(this),this._added=!0)}hide(e=!1){this._resizable.clearSashHoverState(),this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e,t){var i;const r=e.getBoundingClientRect();this._anchorBox=r,this._preferAlignAtTop=t,this._placeAtAnchor(this._anchorBox,(i=this._userSize)!==null&&i!==void 0?i:this.widget.size,t)}_placeAtAnchor(e,t,i){var r;const g=getClientArea(this.getDomNode().ownerDocument.body),y=this.widget.getLayoutInfo(),k=new Dimension(220,2*y.lineHeight),L=e.top,V=function(){const $e=g.width-(e.left+e.width+y.borderWidth+y.horizontalPadding),xe=-y.borderWidth+e.left+e.width,Ie=new Dimension($e,g.height-e.top-y.borderHeight-y.verticalPadding),Ne=Ie.with(void 0,e.top+e.height-y.borderHeight-y.verticalPadding);return{top:L,left:xe,fit:$e-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:k.with(Math.min($e,k.width))}}(),z=function(){const $e=e.left-y.borderWidth-y.horizontalPadding,xe=Math.max(y.horizontalPadding,e.left-t.width-y.borderWidth),Ie=new Dimension($e,g.height-e.top-y.borderHeight-y.verticalPadding),Ne=Ie.with(void 0,e.top+e.height-y.borderHeight-y.verticalPadding);return{top:L,left:xe,fit:$e-t.width,maxSizeTop:Ie,maxSizeBottom:Ne,minSize:k.with(Math.min($e,k.width))}}(),j=function(){const $e=e.left,xe=-y.borderWidth+e.top+e.height,Ie=new Dimension(e.width-y.borderHeight,g.height-e.top-e.height-y.verticalPadding);return{top:xe,left:$e,fit:Ie.height-t.height,maxSizeBottom:Ie,maxSizeTop:Ie,minSize:k.with(Ie.width)}}(),ie=[V,z,j],oe=(r=ie.find($e=>$e.fit>=0))!==null&&r!==void 0?r:ie.sort(($e,xe)=>xe.fit-$e.fit)[0],re=e.top+e.height-y.borderHeight;let ae,le=t.height;const de=Math.max(oe.maxSizeTop.height,oe.maxSizeBottom.height);le>de&&(le=de);let ue;i?le<=oe.maxSizeTop.height?(ae=!0,ue=oe.maxSizeTop):(ae=!1,ue=oe.maxSizeBottom):le<=oe.maxSizeBottom.height?(ae=!1,ue=oe.maxSizeBottom):(ae=!0,ue=oe.maxSizeTop);let{top:he,left:pe}=oe;!ae&&le>e.height&&(he=re-le);const Ce=this._editor.getDomNode();if(Ce){const $e=Ce.getBoundingClientRect();he-=$e.top,pe-=$e.left}this._applyTopLeft({left:pe,top:he}),this._resizable.enableSashes(!ae,oe===V,ae,oe!==V),this._resizable.minSize=oe.minSize,this._resizable.maxSize=ue,this._resizable.layout(le,Math.min(ue.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this._editor.layoutOverlayWidget(this)}}var FileKind;(function(n){n[n.FILE=0]="FILE",n[n.FOLDER=1]="FOLDER",n[n.ROOT_FOLDER=2]="ROOT_FOLDER"})(FileKind||(FileKind={}));const fileIconDirectoryRegex=/(?:\/|^)(?:([^\/]+)\/)?([^\/]+)$/;function getIconClasses(n,e,t,i,r){const g=i===FileKind.ROOT_FOLDER?["rootfolder-icon"]:i===FileKind.FOLDER?["folder-icon"]:["file-icon"];if(t){let y;if(t.scheme===Schemas.data)y=DataUri.parseMetaData(t).get(DataUri.META_DATA_LABEL);else{const k=t.path.match(fileIconDirectoryRegex);k?(y=cssEscape(k[2].toLowerCase()),k[1]&&g.push("".concat(cssEscape(k[1].toLowerCase()),"-name-dir-icon"))):y=cssEscape(t.authority.toLowerCase())}if(i===FileKind.ROOT_FOLDER)g.push("".concat(y,"-root-name-folder-icon"));else if(i===FileKind.FOLDER)g.push("".concat(y,"-name-folder-icon"));else{if(y){if(g.push("".concat(y,"-name-file-icon")),g.push("name-file-icon"),y.length<=255){const L=y.split(".");for(let V=1;V=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$G=function(n,e){return function(t,i){e(t,i,n)}},_a$2;function getAriaId(n){return"suggest-aria-id:".concat(n)}const suggestMoreInfoIcon=registerIcon("suggest-more-info",Codicon.chevronRight,localize("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),_completionItemColor=new(_a$2=class{extract(e,t){if(e.textLabel.match(_a$2._regexStrict))return t[0]=e.textLabel,!0;if(e.completion.detail&&e.completion.detail.match(_a$2._regexStrict))return t[0]=e.completion.detail,!0;if(e.completion.documentation){const i=typeof e.completion.documentation=="string"?e.completion.documentation:e.completion.documentation.value,r=_a$2._regexRelaxed.exec(i);if(r&&(r.index===0||r.index+r[0].length===i.length))return t[0]=r[0],!0}return!1}},_a$2._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,_a$2._regexStrict=new RegExp("^".concat(_a$2._regexRelaxed.source,"$"),"i"),_a$2);let ItemRenderer=class{constructor(e,t,i,r){this._editor=e,this._modelService=t,this._languageService=i,this._themeService=r,this._onDidToggleDetails=new Emitter$1,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=new DisposableStore,i=e;i.classList.add("show-file-icons");const r=append$1(e,$$f(".icon")),g=append$1(r,$$f("span.colorspan")),y=append$1(e,$$f(".contents")),k=append$1(y,$$f(".main")),L=append$1(k,$$f(".icon-label.codicon")),V=append$1(k,$$f("span.left")),z=append$1(k,$$f("span.right")),j=new IconLabel(V,{supportHighlights:!0,supportIcons:!0});t.add(j);const ie=append$1(V,$$f("span.signature-label")),oe=append$1(V,$$f("span.qualifier-label")),re=append$1(z,$$f("span.details-label")),ae=append$1(z,$$f("span.readMore"+ThemeIcon.asCSSSelector(suggestMoreInfoIcon)));return ae.title=localize("readMore","Read More"),{root:i,left:V,right:z,icon:r,colorspan:g,iconLabel:j,iconContainer:L,parametersLabel:ie,qualifierLabel:oe,detailsLabel:re,readMore:ae,disposables:t,configureFont:()=>{const de=this._editor.getOptions(),ue=de.get(50),he=ue.getMassagedFontFamily(),pe=ue.fontFeatureSettings,Ce=de.get(119)||ue.fontSize,$e=de.get(120)||ue.lineHeight,xe=ue.fontWeight,Ie=ue.letterSpacing,Ne="".concat(Ce,"px"),Fe="".concat($e,"px"),Ve="".concat(Ie,"px");i.style.fontSize=Ne,i.style.fontWeight=xe,i.style.letterSpacing=Ve,k.style.fontFamily=he,k.style.fontFeatureSettings=pe,k.style.lineHeight=Fe,r.style.height=Fe,r.style.width=Fe,ae.style.height=Fe,ae.style.width=Fe}}}renderElement(e,t,i){i.configureFont();const{completion:r}=e;i.root.id=getAriaId(t),i.colorspan.style.backgroundColor="";const g={labelEscapeNewLines:!0,matches:createMatches(e.score)},y=[];if(r.kind===19&&_completionItemColor.extract(e,y))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=y[0];else if(r.kind===20&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const k=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:e.textLabel}),FileKind.FILE),L=getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:r.detail}),FileKind.FILE);g.extraClasses=k.length>L.length?k:L}else r.kind===23&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",g.extraClasses=[getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:e.textLabel}),FileKind.FOLDER),getIconClasses(this._modelService,this._languageService,URI.from({scheme:"fake",path:r.detail}),FileKind.FOLDER)].flat()):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...ThemeIcon.asClassNameArray(CompletionItemKinds.toIcon(r.kind))));r.tags&&r.tags.indexOf(1)>=0&&(g.extraClasses=(g.extraClasses||[]).concat(["deprecated"]),g.matches=[]),i.iconLabel.setLabel(e.textLabel,void 0,g),typeof r.label=="string"?(i.parametersLabel.textContent="",i.detailsLabel.textContent=stripNewLines(r.detail||""),i.root.classList.add("string-label")):(i.parametersLabel.textContent=stripNewLines(r.label.detail||""),i.detailsLabel.textContent=stripNewLines(r.label.description||""),i.root.classList.remove("string-label")),this._editor.getOption(118).showInlineDetails?show(i.detailsLabel):hide(i.detailsLabel),canExpandCompletionItem(e)?(i.right.classList.add("can-expand-details"),show(i.readMore),i.readMore.onmousedown=k=>{k.stopPropagation(),k.preventDefault()},i.readMore.onclick=k=>{k.stopPropagation(),k.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),hide(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};ItemRenderer=__decorate$K([__param$G(1,IModelService),__param$G(2,ILanguageService),__param$G(3,IThemeService)],ItemRenderer);function stripNewLines(n){return n.replace(/\r\n|\r|\n/g,"")}var __decorate$J=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$F=function(n,e){return function(t,i){e(t,i,n)}},SuggestWidget_1;registerColor("editorSuggestWidget.background",{dark:editorWidgetBackground,light:editorWidgetBackground,hcDark:editorWidgetBackground,hcLight:editorWidgetBackground},localize("editorSuggestWidgetBackground","Background color of the suggest widget."));registerColor("editorSuggestWidget.border",{dark:editorWidgetBorder,light:editorWidgetBorder,hcDark:editorWidgetBorder,hcLight:editorWidgetBorder},localize("editorSuggestWidgetBorder","Border color of the suggest widget."));const editorSuggestWidgetForeground=registerColor("editorSuggestWidget.foreground",{dark:editorForeground,light:editorForeground,hcDark:editorForeground,hcLight:editorForeground},localize("editorSuggestWidgetForeground","Foreground color of the suggest widget."));registerColor("editorSuggestWidget.selectedForeground",{dark:quickInputListFocusForeground,light:quickInputListFocusForeground,hcDark:quickInputListFocusForeground,hcLight:quickInputListFocusForeground},localize("editorSuggestWidgetSelectedForeground","Foreground color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.selectedIconForeground",{dark:quickInputListFocusIconForeground,light:quickInputListFocusIconForeground,hcDark:quickInputListFocusIconForeground,hcLight:quickInputListFocusIconForeground},localize("editorSuggestWidgetSelectedIconForeground","Icon foreground color of the selected entry in the suggest widget."));const editorSuggestWidgetSelectedBackground=registerColor("editorSuggestWidget.selectedBackground",{dark:quickInputListFocusBackground,light:quickInputListFocusBackground,hcDark:quickInputListFocusBackground,hcLight:quickInputListFocusBackground},localize("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget."));registerColor("editorSuggestWidget.highlightForeground",{dark:listHighlightForeground,light:listHighlightForeground,hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));registerColor("editorSuggestWidget.focusHighlightForeground",{dark:listFocusHighlightForeground,light:listFocusHighlightForeground,hcDark:listFocusHighlightForeground,hcLight:listFocusHighlightForeground},localize("editorSuggestWidgetFocusHighlightForeground","Color of the match highlights in the suggest widget when an item is focused."));registerColor("editorSuggestWidgetStatus.foreground",{dark:transparent(editorSuggestWidgetForeground,.5),light:transparent(editorSuggestWidgetForeground,.5),hcDark:transparent(editorSuggestWidgetForeground,.5),hcLight:transparent(editorSuggestWidgetForeground,.5)},localize("editorSuggestWidgetStatusForeground","Foreground color of the suggest widget status."));class PersistedWidgetSize{constructor(e,t){this._service=e,this._key="suggestWidget.size/".concat(t.getEditorType(),"/").concat(t instanceof EmbeddedCodeEditorWidget)}restore(){var e;const t=(e=this._service.get(this._key,0))!==null&&e!==void 0?e:"";try{const i=JSON.parse(t);if(Dimension.is(i))return Dimension.lift(i)}catch(i){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let SuggestWidget=SuggestWidget_1=class{constructor(e,t,i,r,g){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._pendingLayout=new MutableDisposable,this._pendingShowDetails=new MutableDisposable,this._ignoreFocusEvents=!1,this._forceRenderingAbove=!1,this._explainMode=!1,this._showTimeout=new TimeoutTimer,this._disposables=new DisposableStore,this._onDidSelect=new PauseableEmitter,this._onDidFocus=new PauseableEmitter,this._onDidHide=new Emitter$1,this._onDidShow=new Emitter$1,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new Emitter$1,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new ResizableHTMLElement,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new SuggestContentWidget(this,e),this._persistedSize=new PersistedWidgetSize(t,e);class y{constructor(oe,re,ae=!1,le=!1){this.persistedSize=oe,this.currentSize=re,this.persistHeight=ae,this.persistWidth=le}}let k;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),k=new y(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(ie=>{var oe,re,ae,le;if(this._resize(ie.dimension.width,ie.dimension.height),k&&(k.persistHeight=k.persistHeight||!!ie.north||!!ie.south,k.persistWidth=k.persistWidth||!!ie.east||!!ie.west),!!ie.done){if(k){const{itemHeight:de,defaultSize:ue}=this.getLayoutInfo(),he=Math.round(de/2);let{width:pe,height:Ce}=this.element.size;(!k.persistHeight||Math.abs(k.currentSize.height-Ce)<=he)&&(Ce=(re=(oe=k.persistedSize)===null||oe===void 0?void 0:oe.height)!==null&&re!==void 0?re:ue.height),(!k.persistWidth||Math.abs(k.currentSize.width-pe)<=he)&&(pe=(le=(ae=k.persistedSize)===null||ae===void 0?void 0:ae.width)!==null&&le!==void 0?le:ue.width),this._persistedSize.store(new Dimension(pe,Ce))}this._contentWidget.unlockPreference(),k=void 0}})),this._messageElement=append$1(this.element.domNode,$$f(".message")),this._listElement=append$1(this.element.domNode,$$f(".tree"));const L=this._disposables.add(g.createInstance(SuggestDetailsWidget,this.editor));L.onDidClose(this.toggleDetails,this,this._disposables),this._details=new SuggestDetailsOverlay(L,this.editor);const V=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(118).showIcons);V();const z=g.createInstance(ItemRenderer,this.editor);this._disposables.add(z),this._disposables.add(z.onDidToggleDetails(()=>this.toggleDetails())),this._list=new List("SuggestWidget",this._listElement,{getHeight:ie=>this.getLayoutInfo().itemHeight,getTemplateId:ie=>"suggestion"},[z],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,multipleSelectionSupport:!1,accessibilityProvider:{getRole:()=>"option",getWidgetAriaLabel:()=>localize("suggest","Suggest"),getWidgetRole:()=>"listbox",getAriaLabel:ie=>{let oe=ie.textLabel;if(typeof ie.completion.label!="string"){const{detail:de,description:ue}=ie.completion.label;de&&ue?oe=localize("label.full","{0} {1}, {2}",oe,de,ue):de?oe=localize("label.detail","{0} {1}",oe,de):ue&&(oe=localize("label.desc","{0}, {1}",oe,ue))}if(!ie.isResolved||!this._isDetailsVisible())return oe;const{documentation:re,detail:ae}=ie.completion,le=format("{0}{1}",ae||"",re?typeof re=="string"?re:re.value:"");return localize("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",oe,le)}}}),this._list.style(getListStyles({listInactiveFocusBackground:editorSuggestWidgetSelectedBackground,listInactiveFocusOutline:activeContrastBorder})),this._status=g.createInstance(SuggestWidgetStatus,this.element.domNode,suggestWidgetStatusbarMenu);const j=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(118).showStatusBar);j(),this._disposables.add(r.onDidColorThemeChange(ie=>this._onThemeChange(ie))),this._onThemeChange(r.getColorTheme()),this._disposables.add(this._list.onMouseDown(ie=>this._onListMouseDownOrTap(ie))),this._disposables.add(this._list.onTap(ie=>this._onListMouseDownOrTap(ie))),this._disposables.add(this._list.onDidChangeSelection(ie=>this._onListSelection(ie))),this._disposables.add(this._list.onDidChangeFocus(ie=>this._onListFocus(ie))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(ie=>{ie.hasChanged(118)&&(j(),V()),this._completionModel&&(ie.hasChanged(50)||ie.hasChanged(119)||ie.hasChanged(120))&&this._list.splice(0,this._list.length,this._completionModel.items)})),this._ctxSuggestWidgetVisible=Context$1.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=Context$1.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=Context$1.MultipleSuggestions.bindTo(i),this._ctxSuggestWidgetHasFocusedSuggestion=Context$1.HasFocusedSuggestion.bindTo(i),this._disposables.add(addStandardDisposableListener(this._details.widget.domNode,"keydown",ie=>{this._onDetailsKeydown.fire(ie)})),this._disposables.add(this.editor.onMouseDown(ie=>this._onEditorMouseDown(ie)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._pendingLayout.dispose(),this._pendingShowDetails.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){this._state!==0&&this._contentWidget.layout()}_onListMouseDownOrTap(e){typeof e.element>"u"||typeof e.index>"u"||(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){this._details.widget.borderWidth=isHighContrast(e.type)?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length){this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),this.editor.setAriaOptions({activeDescendant:void 0}),this._ctxSuggestWidgetHasFocusedSuggestion.set(!1);return}if(!this._completionModel)return;this._ctxSuggestWidgetHasFocusedSuggestion.set(!0);const i=e.elements[0],r=e.indexes[0];i!==this._focusedItem&&((t=this._currentSuggestionDetails)===null||t===void 0||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(r),this._currentSuggestionDetails=createCancelablePromise(async g=>{const y=disposableTimeout(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250),k=g.onCancellationRequested(()=>y.dispose());try{return await i.resolve(g)}finally{y.dispose(),k.dispose()}}),this._currentSuggestionDetails.then(()=>{r>=this._list.length||i!==this._list.element(r)||(this._ignoreFocusEvents=!0,this._list.splice(r,1,[i]),this._list.setFocus([r]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:getAriaId(r)}))}).catch(onUnexpectedError)),this._onDidFocus.fire({item:i,index:r,model:this._completionModel})}_setState(e){if(this._state!==e)switch(this._state=e,this.element.domNode.classList.toggle("frozen",e===4),this.element.domNode.classList.remove("message"),e){case 0:hide(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this._ctxSuggestWidgetHasFocusedSuggestion.reset(),this._showTimeout.cancel(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=SuggestWidget_1.LOADING_MESSAGE,hide(this._listElement,this._status.element),show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status(SuggestWidget_1.LOADING_MESSAGE);break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=SuggestWidget_1.NO_SUGGESTIONS_MESSAGE,hide(this._listElement,this._status.element),show(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0,status(SuggestWidget_1.NO_SUGGESTIONS_MESSAGE);break;case 3:hide(this._messageElement),show(this._listElement,this._status.element),this._show();break;case 4:hide(this._messageElement),show(this._listElement,this._status.element),this._show();break;case 5:hide(this._messageElement),show(this._listElement,this._status.element),this._details.show(),this._show();break}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){this._state===0&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=disposableTimeout(()=>this._setState(1),t)))}showSuggestions(e,t,i,r,g){var y,k;if(this._contentWidget.setPosition(this.editor.getPosition()),(y=this._loadingTimeout)===null||y===void 0||y.dispose(),(k=this._currentSuggestionDetails)===null||k===void 0||k.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&this._state!==2&&this._state!==0){this._setState(4);return}const L=this._completionModel.items.length,V=L===0;if(this._ctxSuggestWidgetMultipleSuggestions.set(L>1),V){this._setState(r?0:2),this._completionModel=void 0;return}this._focusedItem=void 0,this._onDidFocus.pause(),this._onDidSelect.pause();try{this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus(g?[]:[t])}finally{this._onDidFocus.resume(),this._onDidSelect.resume()}this._pendingLayout.value=runAtThisOrScheduleAtNextAnimationFrame(getWindow$1(this.element.domNode),()=>{this._pendingLayout.clear(),this._layout(this.element.size),this._details.widget.domNode.classList.remove("focused")})}focusSelected(){this._list.length>0&&this._list.setFocus([0])}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(this._state!==0&&this._state!==2&&this._state!==1&&this._completionModel&&this._list.getFocus().length>0)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){this._state===5?(this._setState(3),this._details.widget.domNode.classList.remove("focused")):this._state===3&&this._isDetailsVisible()&&(this._setState(5),this._details.widget.domNode.classList.add("focused"))}toggleDetails(){this._isDetailsVisible()?(this._pendingShowDetails.clear(),this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):(canExpandCompletionItem(this._list.getFocusedElements()[0])||this._explainMode)&&(this._state===3||this._state===5||this._state===4)&&(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._pendingShowDetails.value=runAtThisOrScheduleAtNextAnimationFrame(getWindow$1(this.element.domNode),()=>{this._pendingShowDetails.clear(),this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._details.widget.isEmpty?this._details.hide():(this._positionDetails(),this.element.domNode.classList.add("shows-details")),this.editor.focus()})}toggleExplainMode(){this._list.getFocusedElements()[0]&&(this._explainMode=!this._explainMode,this._isDetailsVisible()?this.showDetails(!1):this.toggleDetails())}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;this._pendingLayout.clear(),this._pendingShowDetails.clear(),(e=this._loadingTimeout)===null||e===void 0||e.dispose(),this._setState(0),this._onDidHide.fire(this),this.element.clearSashHoverState();const t=this._persistedSize.restore(),i=Math.ceil(this.getLayoutInfo().itemHeight*4.3);t&&t.heightV&&(L=V);const z=this._completionModel?this._completionModel.stats.pLabelLen*y.typicalHalfwidthCharacterWidth:L,j=y.statusBarHeight+this._list.contentHeight+y.borderHeight,ie=y.itemHeight+y.statusBarHeight,oe=getDomNodePagePosition(this.editor.getDomNode()),re=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),ae=oe.top+re.top+re.height,le=Math.min(g.height-ae-y.verticalPadding,j),de=oe.top+re.top-y.verticalPadding,ue=Math.min(de,j);let he=Math.min(Math.max(ue,le)+y.borderHeight,j);k===((t=this._cappedHeight)===null||t===void 0?void 0:t.capped)&&(k=this._cappedHeight.wanted),khe&&(k=he),k>le||this._forceRenderingAbove&&de>150?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),he=ue):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),he=le),this.element.preferredSize=new Dimension(z,y.defaultSize.height),this.element.maxSize=new Dimension(V,he),this.element.minSize=new Dimension(220,ie),this._cappedHeight=k===j?{wanted:(r=(i=this._cappedHeight)===null||i===void 0?void 0:i.wanted)!==null&&r!==void 0?r:e.height,capped:k}:void 0}this._resize(L,k)}_resize(e,t){const{width:i,height:r}=this.element.maxSize;e=Math.min(i,e),t=Math.min(r,t);const{statusBarHeight:g}=this.getLayoutInfo();this._list.layout(t-g,e),this._listElement.style.height="".concat(t-g,"px"),this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){var e;this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode,((e=this._contentWidget.getPosition())===null||e===void 0?void 0:e.preference[0])===2)}getLayoutInfo(){const e=this.editor.getOption(50),t=clamp(this.editor.getOption(120)||e.lineHeight,8,1e3),i=!this.editor.getOption(118).showStatusBar||this._state===2||this._state===1?0:t,r=this._details.widget.borderWidth,g=2*r;return{itemHeight:t,statusBarHeight:i,borderWidth:r,borderHeight:g,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new Dimension(430,i+12*t+g)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}forceRenderingAbove(){this._forceRenderingAbove||(this._forceRenderingAbove=!0,this._layout(this._persistedSize.restore()))}stopForceRenderingAbove(){this._forceRenderingAbove=!1}};SuggestWidget.LOADING_MESSAGE=localize("suggestWidget.loading","Loading...");SuggestWidget.NO_SUGGESTIONS_MESSAGE=localize("suggestWidget.noSuggestions","No suggestions.");SuggestWidget=SuggestWidget_1=__decorate$J([__param$F(1,IStorageService),__param$F(2,IContextKeyService),__param$F(3,IThemeService),__param$F(4,IInstantiationService)],SuggestWidget);class SuggestContentWidget{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return this._hidden||!this._position||!this._preference?null:{position:this._position,preference:[this._preference]}}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:r}=this._widget.getLayoutInfo();return new Dimension(t+2*i+r,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}var __decorate$I=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$E=function(n,e){return function(t,i){e(t,i,n)}},SuggestController_1;class LineSuffix{constructor(e,t){if(this._model=e,this._position=t,this._decorationOptions=ModelDecorationOptions.register({description:"suggest-line-suffix",stickiness:1}),e.getLineMaxColumn(t.lineNumber)!==t.column){const r=e.getOffsetAt(t),g=e.getPositionAt(r+1);e.changeDecorations(y=>{this._marker&&y.removeDecoration(this._marker),this._marker=y.addDecoration(Range$2.fromPositions(t,g),this._decorationOptions)})}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.changeDecorations(e=>{e.removeDecoration(this._marker),this._marker=void 0})}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}else return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let SuggestController=SuggestController_1=class{static get(e){return e.getContribution(SuggestController_1.ID)}constructor(e,t,i,r,g,y,k){this._memoryService=t,this._commandService=i,this._contextKeyService=r,this._instantiationService=g,this._logService=y,this._telemetryService=k,this._lineSuffix=new MutableDisposable,this._toDispose=new DisposableStore,this._selectors=new PriorityRegistry(j=>j.priority),this._onWillInsertSuggestItem=new Emitter$1,this.onWillInsertSuggestItem=this._onWillInsertSuggestItem.event,this.editor=e,this.model=g.createInstance(SuggestModel,this.editor),this._selectors.register({priority:0,select:(j,ie,oe)=>this._memoryService.select(j,ie,oe)});const L=Context$1.InsertMode.bindTo(r);L.set(e.getOption(118).insertMode),this._toDispose.add(this.model.onDidTrigger(()=>L.set(e.getOption(118).insertMode))),this.widget=this._toDispose.add(new WindowIdleValue(getWindow$1(e.getDomNode()),()=>{const j=this._instantiationService.createInstance(SuggestWidget,this.editor);this._toDispose.add(j),this._toDispose.add(j.onDidSelect(le=>this._insertSuggestion(le,0),this));const ie=new CommitCharacterController(this.editor,j,this.model,le=>this._insertSuggestion(le,2));this._toDispose.add(ie);const oe=Context$1.MakesTextEdit.bindTo(this._contextKeyService),re=Context$1.HasInsertAndReplaceRange.bindTo(this._contextKeyService),ae=Context$1.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(toDisposable(()=>{oe.reset(),re.reset(),ae.reset()})),this._toDispose.add(j.onDidFocus(({item:le})=>{const de=this.editor.getPosition(),ue=le.editStart.column,he=de.column;let pe=!0;this.editor.getOption(1)==="smart"&&this.model.state===2&&!le.completion.additionalTextEdits&&!(le.completion.insertTextRules&4)&&he-ue===le.completion.insertText.length&&(pe=this.editor.getModel().getValueInRange({startLineNumber:de.lineNumber,startColumn:ue,endLineNumber:de.lineNumber,endColumn:he})!==le.completion.insertText),oe.set(pe),re.set(!Position$1.equals(le.editInsertEnd,le.editReplaceEnd)),ae.set(!!le.provider.resolveCompletionItem||!!le.completion.documentation||le.completion.detail!==le.completion.label)})),this._toDispose.add(j.onDetailsKeyDown(le=>{if(le.toKeyCodeChord().equals(new KeyCodeChord(!0,!1,!1,!1,33))||isMacintosh&&le.toKeyCodeChord().equals(new KeyCodeChord(!1,!1,!1,!0,33))){le.stopPropagation();return}le.toKeyCodeChord().isModifierKey()||this.editor.focus()})),j})),this._overtypingCapturer=this._toDispose.add(new WindowIdleValue(getWindow$1(e.getDomNode()),()=>this._toDispose.add(new OvertypingCapturer(this.editor,this.model)))),this._alternatives=this._toDispose.add(new WindowIdleValue(getWindow$1(e.getDomNode()),()=>this._toDispose.add(new SuggestAlternatives(this.editor,this._contextKeyService)))),this._toDispose.add(g.createInstance(WordContextKey,e)),this._toDispose.add(this.model.onDidTrigger(j=>{this.widget.value.showTriggered(j.auto,j.shy?250:50),this._lineSuffix.value=new LineSuffix(this.editor.getModel(),j.position)})),this._toDispose.add(this.model.onDidSuggest(j=>{if(j.triggerOptions.shy)return;let ie=-1;for(const re of this._selectors.itemsOrderedByPriorityDesc)if(ie=re.select(this.editor.getModel(),this.editor.getPosition(),j.completionModel.items),ie!==-1)break;if(ie===-1&&(ie=0),this.model.state===0)return;let oe=!1;if(j.triggerOptions.auto){const re=this.editor.getOption(118);re.selectionMode==="never"||re.selectionMode==="always"?oe=re.selectionMode==="never":re.selectionMode==="whenTriggerCharacter"?oe=j.triggerOptions.triggerKind!==1:re.selectionMode==="whenQuickSuggestion"&&(oe=j.triggerOptions.triggerKind===1&&!j.triggerOptions.refilter)}this.widget.value.showSuggestions(j.completionModel,ie,j.isFrozen,j.triggerOptions.auto,oe)})),this._toDispose.add(this.model.onDidCancel(j=>{j.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));const V=Context$1.AcceptSuggestionsOnEnter.bindTo(r),z=()=>{const j=this.editor.getOption(1);V.set(j==="on"||j==="smart")};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>z())),z()}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose(),this._onWillInsertSuggestItem.dispose()}_insertSuggestion(e,t){if(!e||!e.item){this._alternatives.value.reset(),this.model.cancel(),this.model.clear();return}if(!this.editor.hasModel())return;const i=SnippetController2.get(this.editor);if(!i)return;this._onWillInsertSuggestItem.fire({item:e.item});const r=this.editor.getModel(),g=r.getAlternativeVersionId(),{item:y}=e,k=[],L=new CancellationTokenSource$1;t&1||this.editor.pushUndoStop();const V=this.getOverwriteInfo(y,!!(t&8));this._memoryService.memorize(r,this.editor.getPosition(),y);const z=y.isResolved;let j=-1,ie=-1;if(Array.isArray(y.completion.additionalTextEdits)){this.model.cancel();const re=StableEditorScrollState.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",y.completion.additionalTextEdits.map(ae=>{let le=Range$2.lift(ae.range);if(le.startLineNumber===y.position.lineNumber&&le.startColumn>y.position.column){const de=this.editor.getPosition().column-y.position.column,ue=de,he=Range$2.spansMultipleLines(le)?0:de;le=new Range$2(le.startLineNumber,le.startColumn+ue,le.endLineNumber,le.endColumn+he)}return EditOperation.replaceMove(le,ae.text)})),re.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!z){const re=new StopWatch;let ae;const le=r.onDidChangeContent(pe=>{if(pe.isFlush){L.cancel(),le.dispose();return}for(const Ce of pe.changes){const $e=Range$2.getEndPosition(Ce.range);(!ae||Position$1.isBefore($e,ae))&&(ae=$e)}}),de=t;t|=2;let ue=!1;const he=this.editor.onWillType(()=>{he.dispose(),ue=!0,de&2||this.editor.pushUndoStop()});k.push(y.resolve(L.token).then(()=>{if(!y.completion.additionalTextEdits||L.token.isCancellationRequested)return;if(ae&&y.completion.additionalTextEdits.some(Ce=>Position$1.isBefore(ae,Range$2.getStartPosition(Ce.range))))return!1;ue&&this.editor.pushUndoStop();const pe=StableEditorScrollState.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",y.completion.additionalTextEdits.map(Ce=>EditOperation.replaceMove(Range$2.lift(Ce.range),Ce.text))),pe.restoreRelativeVerticalPositionOfCursor(this.editor),(ue||!(de&2))&&this.editor.pushUndoStop(),!0}).then(pe=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",re.elapsed(),pe),ie=pe===!0?1:pe===!1?0:-2}).finally(()=>{le.dispose(),he.dispose()}))}let{insertText:oe}=y.completion;if(y.completion.insertTextRules&4||(oe=SnippetParser.escape(oe)),this.model.cancel(),i.insert(oe,{overwriteBefore:V.overwriteBefore,overwriteAfter:V.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(y.completion.insertTextRules&1),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),t&2||this.editor.pushUndoStop(),y.completion.command)if(y.completion.command.id===TriggerSuggestAction.id)this.model.trigger({auto:!0,retrigger:!0});else{const re=new StopWatch;k.push(this._commandService.executeCommand(y.completion.command.id,...y.completion.command.arguments?[...y.completion.command.arguments]:[]).catch(ae=>{y.completion.extensionId?onUnexpectedExternalError(ae):onUnexpectedError(ae)}).finally(()=>{j=re.elapsed()}))}t&4&&this._alternatives.value.set(e,re=>{for(L.cancel();r.canUndo();){g!==r.getAlternativeVersionId()&&r.undo(),this._insertSuggestion(re,3|(t&8?8:0));break}}),this._alertCompletionItem(y),Promise.all(k).finally(()=>{this._reportSuggestionAcceptedTelemetry(y,r,z,j,ie),this.model.clear(),L.dispose()})}_reportSuggestionAcceptedTelemetry(e,t,i,r,g){var y,k,L;Math.floor(Math.random()*100)!==0&&this._telemetryService.publicLog2("suggest.acceptedSuggestion",{extensionId:(k=(y=e.extensionId)===null||y===void 0?void 0:y.value)!==null&&k!==void 0?k:"unknown",providerId:(L=e.provider._debugDisplayName)!==null&&L!==void 0?L:"unknown",kind:e.completion.kind,basenameHash:hash$1(basename(t.uri)).toString(16),languageId:t.getLanguageId(),fileExtension:extname(t.uri),resolveInfo:e.provider.resolveCompletionItem?i?1:0:-1,resolveDuration:e.resolveDuration,commandDuration:r,additionalEditsAsync:g})}getOverwriteInfo(e,t){assertType(this.editor.hasModel());let i=this.editor.getOption(118).insertMode==="replace";t&&(i=!i);const r=e.position.column-e.editStart.column,g=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column,y=this.editor.getPosition().column-e.position.column,k=this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0;return{overwriteBefore:r+y,overwriteAfter:g+k}}_alertCompletionItem(e){if(isNonEmptyArray(e.completion.additionalTextEdits)){const t=localize("aria.alert.snippet","Accepting '{0}' made {1} additional edits",e.textLabel,e.completion.additionalTextEdits.length);alert(t)}}triggerSuggest(e,t,i){this.editor.hasModel()&&(this.model.trigger({auto:t!=null?t:!1,completionOptions:{providerFilter:e,kindFilter:i?new Set:void 0}}),this.editor.revealPosition(this.editor.getPosition(),0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},r=g=>{if(g.completion.insertTextRules&4||g.completion.additionalTextEdits)return!0;const y=this.editor.getPosition(),k=g.editStart.column,L=y.column;return L-k!==g.completion.insertText.length?!0:this.editor.getModel().getValueInRange({startLineNumber:y.lineNumber,startColumn:k,endLineNumber:y.lineNumber,endColumn:L})!==g.completion.insertText};Event$1.once(this.model.onDidTrigger)(g=>{const y=[];Event$1.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{dispose(y),i()},void 0,y),this.model.onDidSuggest(({completionModel:k})=>{if(dispose(y),k.items.length===0){i();return}const L=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),k.items),V=k.items[L];if(!r(V)){i();return}this.editor.pushUndoStop(),this._insertSuggestion({index:L,item:V,model:k},7)},void 0,y)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealPosition(t,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let r=0;e&&(r|=4),t&&(r|=8),this._insertSuggestion(i,r)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}focusSuggestion(){this.widget.value.focusSelected()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}forceRenderingAbove(){this.widget.value.forceRenderingAbove()}stopForceRenderingAbove(){this.widget.isInitialized&&this.widget.value.stopForceRenderingAbove()}registerSelector(e){return this._selectors.register(e)}};SuggestController.ID="editor.contrib.suggestController";SuggestController=SuggestController_1=__decorate$I([__param$E(1,ISuggestMemoryService),__param$E(2,ICommandService),__param$E(3,IContextKeyService),__param$E(4,IInstantiationService),__param$E(5,ILogService),__param$E(6,ITelemetryService)],SuggestController);class PriorityRegistry{constructor(e){this.prioritySelector=e,this._items=new Array}register(e){if(this._items.indexOf(e)!==-1)throw new Error("Value is already registered");return this._items.push(e),this._items.sort((t,i)=>this.prioritySelector(i)-this.prioritySelector(t)),{dispose:()=>{const t=this._items.indexOf(e);t>=0&&this._items.splice(t,1)}}}get itemsOrderedByPriorityDesc(){return this._items}}class TriggerSuggestAction extends EditorAction{constructor(){super({id:TriggerSuggestAction.id,label:localize("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasCompletionItemProvider,Context$1.Visible.toNegated()),kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t,i){const r=SuggestController.get(t);if(!r)return;let g;i&&typeof i=="object"&&i.auto===!0&&(g=!0),r.triggerSuggest(void 0,g,void 0)}}TriggerSuggestAction.id="editor.action.triggerSuggest";registerEditorContribution(SuggestController.ID,SuggestController,2);registerEditorAction(TriggerSuggestAction);const weight$2=190,SuggestCommand=EditorCommand.bindToContribution(SuggestController.get);registerEditorCommand(new SuggestCommand({id:"acceptSelectedSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion),handler(n){n.acceptSelectedSuggestion(!0,!1)},kbOpts:[{primary:2,kbExpr:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus),weight:weight$2},{primary:3,kbExpr:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus,Context$1.AcceptSuggestionsOnEnter,Context$1.MakesTextEdit),weight:weight$2}],menuOpts:[{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:Context$1.HasInsertAndReplaceRange.toNegated()},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.insert","Insert"),group:"left",order:1,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("insert"))},{menuId:suggestWidgetStatusbarMenu,title:localize("accept.replace","Replace"),group:"left",order:1,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("replace"))}]}));registerEditorCommand(new SuggestCommand({id:"acceptAlternativeSelectedSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,EditorContextKeys.textInputFocus,Context$1.HasFocusedSuggestion),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:1027,secondary:[1026]},handler(n){n.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("insert")),title:localize("accept.replace","Replace")},{menuId:suggestWidgetStatusbarMenu,group:"left",order:2,when:ContextKeyExpr.and(Context$1.HasInsertAndReplaceRange,Context$1.InsertMode.isEqualTo("replace")),title:localize("accept.insert","Insert")}]}));CommandsRegistry.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion");registerEditorCommand(new SuggestCommand({id:"hideSuggestWidget",precondition:Context$1.Visible,handler:n=>n.cancelSuggestWidget(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:9,secondary:[1033]}}));registerEditorCommand(new SuggestCommand({id:"selectNextSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectNextSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}}));registerEditorCommand(new SuggestCommand({id:"selectNextPageSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectNextPageSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:12,secondary:[2060]}}));registerEditorCommand(new SuggestCommand({id:"selectLastSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectLastSuggestion()}));registerEditorCommand(new SuggestCommand({id:"selectPrevSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}}));registerEditorCommand(new SuggestCommand({id:"selectPrevPageSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectPrevPageSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:11,secondary:[2059]}}));registerEditorCommand(new SuggestCommand({id:"selectFirstSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,ContextKeyExpr.or(Context$1.MultipleSuggestions,Context$1.HasFocusedSuggestion.negate())),handler:n=>n.selectFirstSuggestion()}));registerEditorCommand(new SuggestCommand({id:"focusSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion.negate()),handler:n=>n.focusSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}}}));registerEditorCommand(new SuggestCommand({id:"focusAndAcceptSuggestion",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion.negate()),handler:n=>{n.focusSuggestion(),n.acceptSelectedSuggestion(!0,!1)}}));registerEditorCommand(new SuggestCommand({id:"toggleSuggestionDetails",precondition:ContextKeyExpr.and(Context$1.Visible,Context$1.HasFocusedSuggestion),handler:n=>n.toggleSuggestionDetails(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[2087]}},menuOpts:[{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context$1.DetailsVisible,Context$1.CanResolve),title:localize("detail.more","show less")},{menuId:suggestWidgetStatusbarMenu,group:"right",order:1,when:ContextKeyExpr.and(Context$1.DetailsVisible.toNegated(),Context$1.CanResolve),title:localize("detail.less","show more")}]}));registerEditorCommand(new SuggestCommand({id:"toggleExplainMode",precondition:Context$1.Visible,handler:n=>n.toggleExplainMode(),kbOpts:{weight:100,primary:2138}}));registerEditorCommand(new SuggestCommand({id:"toggleSuggestionFocus",precondition:Context$1.Visible,handler:n=>n.toggleSuggestionFocus(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2570,mac:{primary:778}}}));registerEditorCommand(new SuggestCommand({id:"insertBestCompletion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),WordContextKey.AtEnd,Context$1.Visible.toNegated(),SuggestAlternatives.OtherSuggestions.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:(n,e)=>{n.triggerSuggestAndAcceptBest(isObject$3(e)?{fallback:"tab",...e}:{fallback:"tab"})},kbOpts:{weight:weight$2,primary:2}}));registerEditorCommand(new SuggestCommand({id:"insertNextSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context$1.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:n=>n.acceptNextSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:2}}));registerEditorCommand(new SuggestCommand({id:"insertPrevSuggestion",precondition:ContextKeyExpr.and(EditorContextKeys.textInputFocus,ContextKeyExpr.equals("config.editor.tabCompletion","on"),SuggestAlternatives.OtherSuggestions,Context$1.Visible.toNegated(),SnippetController2.InSnippetMode.toNegated()),handler:n=>n.acceptPrevSuggestion(),kbOpts:{weight:weight$2,kbExpr:EditorContextKeys.textInputFocus,primary:1026}}));registerEditorAction(class extends EditorAction{constructor(){super({id:"editor.action.resetSuggestSize",label:localize("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(n,e){var t;(t=SuggestController.get(e))===null||t===void 0||t.resetWidgetSize()}});class SuggestWidgetAdaptor extends Disposable{get selectedItem(){return this._selectedItem}constructor(e,t,i,r){super(),this.editor=e,this.suggestControllerPreselector=t,this.checkModelVersion=i,this.onWillAccept=r,this.isSuggestWidgetVisible=!1,this.isShiftKeyPressed=!1,this._isActive=!1,this._currentSuggestItemInfo=void 0,this._selectedItem=observableValue(this,void 0),this._register(e.onKeyDown(y=>{y.shiftKey&&!this.isShiftKeyPressed&&(this.isShiftKeyPressed=!0,this.update(this._isActive))})),this._register(e.onKeyUp(y=>{y.shiftKey&&this.isShiftKeyPressed&&(this.isShiftKeyPressed=!1,this.update(this._isActive))}));const g=SuggestController.get(this.editor);if(g){this._register(g.registerSelector({priority:100,select:(L,V,z)=>{transaction(de=>this.checkModelVersion(de));const j=this.editor.getModel();if(!j)return-1;const ie=this.suggestControllerPreselector(),oe=ie?singleTextRemoveCommonPrefix(ie,j):void 0;if(!oe)return-1;const re=Position$1.lift(V),ae=z.map((de,ue)=>{const he=SuggestItemInfo.fromSuggestion(g,j,re,de,this.isShiftKeyPressed),pe=singleTextRemoveCommonPrefix(he.toSingleTextEdit(),j),Ce=singleTextEditAugments(oe,pe);return{index:ue,valid:Ce,prefixLength:pe.text.length,suggestItem:de}}).filter(de=>de&&de.valid&&de.prefixLength>0),le=findFirstMaxBy(ae,compareBy(de=>de.prefixLength,numberComparator));return le?le.index:-1}}));let y=!1;const k=()=>{y||(y=!0,this._register(g.widget.value.onDidShow(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})),this._register(g.widget.value.onDidHide(()=>{this.isSuggestWidgetVisible=!1,this.update(!1)})),this._register(g.widget.value.onDidFocus(()=>{this.isSuggestWidgetVisible=!0,this.update(!0)})))};this._register(Event$1.once(g.model.onDidTrigger)(L=>{k()})),this._register(g.onWillInsertSuggestItem(L=>{const V=this.editor.getPosition(),z=this.editor.getModel();if(!V||!z)return;const j=SuggestItemInfo.fromSuggestion(g,z,V,L.item,this.isShiftKeyPressed);this.onWillAccept(j)}))}this.update(this._isActive)}update(e){const t=this.getSuggestItemInfo();(this._isActive!==e||!suggestItemInfoEquals(this._currentSuggestItemInfo,t))&&(this._isActive=e,this._currentSuggestItemInfo=t,transaction(i=>{this.checkModelVersion(i),this._selectedItem.set(this._isActive?this._currentSuggestItemInfo:void 0,i)}))}getSuggestItemInfo(){const e=SuggestController.get(this.editor);if(!e||!this.isSuggestWidgetVisible)return;const t=e.widget.value.getFocusedItem(),i=this.editor.getPosition(),r=this.editor.getModel();if(!(!t||!i||!r))return SuggestItemInfo.fromSuggestion(e,r,i,t.item,this.isShiftKeyPressed)}stopForceRenderingAbove(){const e=SuggestController.get(this.editor);e==null||e.stopForceRenderingAbove()}forceRenderingAbove(){const e=SuggestController.get(this.editor);e==null||e.forceRenderingAbove()}}class SuggestItemInfo{static fromSuggestion(e,t,i,r,g){let{insertText:y}=r.completion,k=!1;if(r.completion.insertTextRules&4){const V=new SnippetParser().parse(y);V.children.length<100&&SnippetSession.adjustWhitespace(t,i,!0,V),y=V.toString(),k=!0}const L=e.getOverwriteInfo(r,g);return new SuggestItemInfo(Range$2.fromPositions(i.delta(0,-L.overwriteBefore),i.delta(0,Math.max(L.overwriteAfter,0))),y,r.completion.kind,k)}constructor(e,t,i,r){this.range=e,this.insertText=t,this.completionItemKind=i,this.isSnippetText=r}equals(e){return this.range.equalsRange(e.range)&&this.insertText===e.insertText&&this.completionItemKind===e.completionItemKind&&this.isSnippetText===e.isSnippetText}toSelectedSuggestionInfo(){return new SelectedSuggestionInfo(this.range,this.insertText,this.completionItemKind,this.isSnippetText)}toSingleTextEdit(){return new SingleTextEdit(this.range,this.insertText)}}function suggestItemInfoEquals(n,e){return n===e?!0:!n||!e?!1:n.equals(e)}var __decorate$H=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$D=function(n,e){return function(t,i){e(t,i,n)}},InlineCompletionsController_1;let InlineCompletionsController=InlineCompletionsController_1=class extends Disposable{static get(e){return e.getContribution(InlineCompletionsController_1.ID)}constructor(e,t,i,r,g,y,k,L,V){super(),this.editor=e,this._instantiationService=t,this._contextKeyService=i,this._configurationService=r,this._commandService=g,this._debounceService=y,this._languageFeaturesService=k,this._accessibilitySignalService=L,this._keybindingService=V,this.model=this._register(disposableObservableValue("inlineCompletionModel",void 0)),this._textModelVersionId=observableValue(this,-1),this._positions=observableValue(this,[new Position$1(1,1)]),this._suggestWidgetAdaptor=this._register(new SuggestWidgetAdaptor(this.editor,()=>{var oe,re;return(re=(oe=this.model.get())===null||oe===void 0?void 0:oe.selectedInlineCompletion.get())===null||re===void 0?void 0:re.toSingleTextEdit(void 0)},oe=>this.updateObservables(oe,VersionIdChangeReason.Other),oe=>{transaction(re=>{var ae;this.updateObservables(re,VersionIdChangeReason.Other),(ae=this.model.get())===null||ae===void 0||ae.handleSuggestAccepted(oe)})})),this._enabled=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).enabled),this._fontFamily=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(62).fontFamily),this._ghostTexts=derived(this,oe=>{var re;const ae=this.model.read(oe);return(re=ae==null?void 0:ae.ghostTexts.read(oe))!==null&&re!==void 0?re:[]}),this._stablizedGhostTexts=convertItemsToStableObservables(this._ghostTexts,this._store),this._ghostTextWidgets=mapObservableArrayCached(this,this._stablizedGhostTexts,(oe,re)=>re.add(this._instantiationService.createInstance(GhostTextWidget$1,this.editor,{ghostText:oe,minReservedLineCount:constObservable(0),targetTextModel:this.model.map(ae=>ae==null?void 0:ae.textModel)}))).recomputeInitiallyAndOnChange(this._store),this._debounceValue=this._debounceService.for(this._languageFeaturesService.inlineCompletionsProvider,"InlineCompletionsDebounce",{min:50,max:50}),this._playAccessibilitySignal=observableSignal(this),this._isReadonly=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(91)),this._textModel=observableFromEvent(this.editor.onDidChangeModel,()=>this.editor.getModel()),this._textModelIfWritable=derived(oe=>this._isReadonly.read(oe)?void 0:this._textModel.read(oe)),this._register(new InlineCompletionContextKeys(this._contextKeyService,this.model)),this._register(autorun(oe=>{const re=this._textModelIfWritable.read(oe);transaction(ae=>{if(this.model.set(void 0,ae),this.updateObservables(ae,VersionIdChangeReason.Other),re){const le=t.createInstance(InlineCompletionsModel,re,this._suggestWidgetAdaptor.selectedItem,this._textModelVersionId,this._positions,this._debounceValue,observableFromEvent(e.onDidChangeConfiguration,()=>e.getOption(118).preview),observableFromEvent(e.onDidChangeConfiguration,()=>e.getOption(118).previewMode),observableFromEvent(e.onDidChangeConfiguration,()=>e.getOption(62).mode),this._enabled);this.model.set(le,ae)}})}));const z=this._register(createStyleSheet2());this._register(autorun(oe=>{const re=this._fontFamily.read(oe);z.setStyle(re===""||re==="default"?"":"\n.monaco-editor .ghost-text-decoration,\n.monaco-editor .ghost-text-decoration-preview,\n.monaco-editor .ghost-text {\n font-family: ".concat(re,";\n}"))}));const j=oe=>{var re;return oe.isUndoing?VersionIdChangeReason.Undo:oe.isRedoing?VersionIdChangeReason.Redo:!((re=this.model.get())===null||re===void 0)&&re.isAcceptingPartially?VersionIdChangeReason.AcceptWord:VersionIdChangeReason.Other};this._register(e.onDidChangeModelContent(oe=>transaction(re=>this.updateObservables(re,j(oe))))),this._register(e.onDidChangeCursorPosition(oe=>transaction(re=>{var ae;this.updateObservables(re,VersionIdChangeReason.Other),(oe.reason===3||oe.source==="api")&&((ae=this.model.get())===null||ae===void 0||ae.stop(re))}))),this._register(e.onDidType(()=>transaction(oe=>{var re;this.updateObservables(oe,VersionIdChangeReason.Other),this._enabled.get()&&((re=this.model.get())===null||re===void 0||re.trigger(oe))}))),this._register(this._commandService.onDidExecuteCommand(oe=>{new Set([CoreEditingCommands.Tab.id,CoreEditingCommands.DeleteLeft.id,CoreEditingCommands.DeleteRight.id,inlineSuggestCommitId,"acceptSelectedSuggestion"]).has(oe.commandId)&&e.hasTextFocus()&&this._enabled.get()&&transaction(ae=>{var le;(le=this.model.get())===null||le===void 0||le.trigger(ae)})})),this._register(this.editor.onDidBlurEditorWidget(()=>{this._contextKeyService.getContextKeyValue("accessibleViewIsShown")||this._configurationService.getValue("editor.inlineSuggest.keepOnBlur")||e.getOption(62).keepOnBlur||InlineSuggestionHintsContentWidget.dropDownVisible||transaction(oe=>{var re;(re=this.model.get())===null||re===void 0||re.stop(oe)})})),this._register(autorun(oe=>{var re;const ae=(re=this.model.read(oe))===null||re===void 0?void 0:re.state.read(oe);ae!=null&&ae.suggestItem?ae.primaryGhostText.lineCount>=2&&this._suggestWidgetAdaptor.forceRenderingAbove():this._suggestWidgetAdaptor.stopForceRenderingAbove()})),this._register(toDisposable(()=>{this._suggestWidgetAdaptor.stopForceRenderingAbove()}));let ie;this._register(autorunHandleChanges({handleChange:(oe,re)=>(oe.didChange(this._playAccessibilitySignal)&&(ie=void 0),!0)},async oe=>{this._playAccessibilitySignal.read(oe);const re=this.model.read(oe),ae=re==null?void 0:re.state.read(oe);if(!re||!ae||!ae.inlineCompletion){ie=void 0;return}if(ae.inlineCompletion.semanticId!==ie){ie=ae.inlineCompletion.semanticId;const le=re.textModel.getLineContent(ae.primaryGhostText.lineNumber);this._accessibilitySignalService.playSignal(AccessibilitySignal.inlineSuggestion).then(()=>{this.editor.getOption(8)&&this.provideScreenReaderUpdate(ae.primaryGhostText.renderForScreenReader(le))})}})),this._register(new InlineCompletionsHintsWidget(this.editor,this.model,this._instantiationService)),this._register(this._configurationService.onDidChangeConfiguration(oe=>{oe.affectsConfiguration("accessibility.verbosity.inlineCompletions")&&this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})})),this.editor.updateOptions({inlineCompletionsAccessibilityVerbose:this._configurationService.getValue("accessibility.verbosity.inlineCompletions")})}playAccessibilitySignal(e){this._playAccessibilitySignal.trigger(e)}provideScreenReaderUpdate(e){const t=this._contextKeyService.getContextKeyValue("accessibleViewIsShown"),i=this._keybindingService.lookupKeybinding("editor.action.accessibleView");let r;!t&&i&&this.editor.getOption(149)&&(r=localize("showAccessibleViewHint","Inspect this in the accessible view ({0})",i.getAriaLabel())),alert(r?e+", "+r:e)}updateObservables(e,t){var i,r,g;const y=this.editor.getModel();this._textModelVersionId.set((i=y==null?void 0:y.getVersionId())!==null&&i!==void 0?i:-1,e,t),this._positions.set((g=(r=this.editor.getSelections())===null||r===void 0?void 0:r.map(k=>k.getPosition()))!==null&&g!==void 0?g:[new Position$1(1,1)],e)}shouldShowHoverAt(e){var t;const i=(t=this.model.get())===null||t===void 0?void 0:t.primaryGhostText.get();return i?i.parts.some(r=>e.containsPosition(new Position$1(i.lineNumber,r.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._ghostTextWidgets.get()[0])===null||t===void 0?void 0:t.ownsViewZone(e))!==null&&i!==void 0?i:!1}};InlineCompletionsController.ID="editor.contrib.inlineCompletionsController";InlineCompletionsController=InlineCompletionsController_1=__decorate$H([__param$D(1,IInstantiationService),__param$D(2,IContextKeyService),__param$D(3,IConfigurationService),__param$D(4,ICommandService),__param$D(5,ILanguageFeatureDebounceService),__param$D(6,ILanguageFeaturesService),__param$D(7,IAccessibilitySignalService),__param$D(8,IKeybindingService)],InlineCompletionsController);function convertItemsToStableObservables(n,e){const t=observableValue("result",[]),i=[];return e.add(autorun(r=>{const g=n.read(r);transaction(y=>{if(g.length!==i.length){i.length=g.length;for(let k=0;kk.set(g[L],y))})})),t}class ShowNextInlineSuggestionAction extends EditorAction{constructor(){super({id:ShowNextInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showNext","Show Next Inline Suggestion"),alias:"Show Next Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:606}})}async run(e,t){var i;const r=InlineCompletionsController.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.next()}}ShowNextInlineSuggestionAction.ID=showNextInlineSuggestionActionId;class ShowPreviousInlineSuggestionAction extends EditorAction{constructor(){super({id:ShowPreviousInlineSuggestionAction.ID,label:localize("action.inlineSuggest.showPrevious","Show Previous Inline Suggestion"),alias:"Show Previous Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:100,primary:604}})}async run(e,t){var i;const r=InlineCompletionsController.get(t);(i=r==null?void 0:r.model.get())===null||i===void 0||i.previous()}}ShowPreviousInlineSuggestionAction.ID=showPreviousInlineSuggestionActionId;class TriggerInlineSuggestionAction extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.trigger",label:localize("action.inlineSuggest.trigger","Trigger Inline Suggestion"),alias:"Trigger Inline Suggestion",precondition:EditorContextKeys.writable})}async run(e,t){const i=InlineCompletionsController.get(t);await asyncTransaction(async r=>{var g;await((g=i==null?void 0:i.model.get())===null||g===void 0?void 0:g.triggerExplicitly(r)),i==null||i.playAccessibilitySignal(r)})}}class AcceptNextWordOfInlineCompletion extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextWord",label:localize("action.inlineSuggest.acceptNextWord","Accept Next Word Of Inline Suggestion"),alias:"Accept Next Word Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101,primary:2065,kbExpr:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible)},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptWord","Accept Word"),group:"primary",order:2}]})}async run(e,t){var i;const r=InlineCompletionsController.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextWord(r.editor))}}class AcceptNextLineOfInlineCompletion extends EditorAction{constructor(){super({id:"editor.action.inlineSuggest.acceptNextLine",label:localize("action.inlineSuggest.acceptNextLine","Accept Next Line Of Inline Suggestion"),alias:"Accept Next Line Of Inline Suggestion",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineCompletionContextKeys.inlineSuggestionVisible),kbOpts:{weight:101},menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("acceptLine","Accept Line"),group:"secondary",order:2}]})}async run(e,t){var i;const r=InlineCompletionsController.get(t);await((i=r==null?void 0:r.model.get())===null||i===void 0?void 0:i.acceptNextLine(r.editor))}}class AcceptInlineCompletion extends EditorAction{constructor(){super({id:inlineSuggestCommitId,label:localize("action.inlineSuggest.accept","Accept Inline Suggestion"),alias:"Accept Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,menuOpts:[{menuId:MenuId.InlineSuggestionToolbar,title:localize("accept","Accept"),group:"primary",order:1}],kbOpts:{primary:2,weight:200,kbExpr:ContextKeyExpr.and(InlineCompletionContextKeys.inlineSuggestionVisible,EditorContextKeys.tabMovesFocus.toNegated(),InlineCompletionContextKeys.inlineSuggestionHasIndentationLessThanTabSize,Context$1.Visible.toNegated(),EditorContextKeys.hoverFocused.toNegated())}})}async run(e,t){var i;const r=InlineCompletionsController.get(t);r&&((i=r.model.get())===null||i===void 0||i.accept(r.editor),r.editor.focus())}}class HideInlineCompletion extends EditorAction{constructor(){super({id:HideInlineCompletion.ID,label:localize("action.inlineSuggest.hide","Hide Inline Suggestion"),alias:"Hide Inline Suggestion",precondition:InlineCompletionContextKeys.inlineSuggestionVisible,kbOpts:{weight:100,primary:9}})}async run(e,t){const i=InlineCompletionsController.get(t);transaction(r=>{var g;(g=i==null?void 0:i.model.get())===null||g===void 0||g.stop(r)})}}HideInlineCompletion.ID="editor.action.inlineSuggest.hide";class ToggleAlwaysShowInlineSuggestionToolbar extends Action2{constructor(){super({id:ToggleAlwaysShowInlineSuggestionToolbar.ID,title:localize("action.inlineSuggest.alwaysShowToolbar","Always Show Toolbar"),f1:!1,precondition:void 0,menu:[{id:MenuId.InlineSuggestionToolbar,group:"secondary",order:10}],toggled:ContextKeyExpr.equals("config.editor.inlineSuggest.showToolbar","always")})}async run(e,t){const i=e.get(IConfigurationService),g=i.getValue("editor.inlineSuggest.showToolbar")==="always"?"onHover":"always";i.updateValue("editor.inlineSuggest.showToolbar",g)}}ToggleAlwaysShowInlineSuggestionToolbar.ID="editor.action.inlineSuggest.toggleAlwaysShowToolbar";var __decorate$G=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$C=function(n,e){return function(t,i){e(t,i,n)}};class InlineCompletionsHover{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let InlineCompletionsHoverParticipant=class{constructor(e,t,i,r,g,y){this._editor=e,this._languageService=t,this._openerService=i,this.accessibilityService=r,this._instantiationService=g,this._telemetryService=y,this.hoverOrdinal=4}suggestHoverAnchor(e){const t=InlineCompletionsController.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId))return new HoverForeignElementAnchor(1e3,this,Range$2.fromPositions(this._editor.getModel().validatePosition(r.positionBefore||r.position)),e.event.posx,e.event.posy,!1)}return i.type===7&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(62).showToolbar!=="onHover")return[];const i=InlineCompletionsController.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new InlineCompletionsHover(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new DisposableStore,r=t[0];this._telemetryService.publicLog2("inlineCompletionHover.shown"),this.accessibilityService.isScreenReaderOptimized()&&!this._editor.getOption(8)&&this.renderScreenReaderText(e,r,i);const g=r.controller.model.get(),y=this._instantiationService.createInstance(InlineSuggestionHintsContentWidget,this._editor,!1,constObservable(null),g.selectedInlineCompletionIndex,g.inlineCompletionsCount,g.selectedInlineCompletion.map(k=>{var L;return(L=k==null?void 0:k.inlineCompletion.source.inlineCompletions.commands)!==null&&L!==void 0?L:[]}));return e.fragment.appendChild(y.getDomNode()),g.triggerExplicitly(),i.add(y),i}renderScreenReaderText(e,t,i){const r=$$f,g=r("div.hover-row.markdown-hover"),y=append$1(g,r("div.hover-contents",{"aria-live":"assertive"})),k=i.add(new MarkdownRenderer({editor:this._editor},this._languageService,this._openerService)),L=V=>{i.add(k.onDidRenderAsync(()=>{y.className="hover-contents code-hover-contents",e.onContentsChanged()}));const z=localize("inlineSuggestionFollows","Suggestion:"),j=i.add(k.render(new MarkdownString().appendText(z).appendCodeblock("text",V)));y.replaceChildren(j.element)};i.add(autorun(V=>{var z;const j=(z=t.controller.model.read(V))===null||z===void 0?void 0:z.primaryGhostText.read(V);if(j){const ie=this._editor.getModel().getLineContent(j.lineNumber);L(j.renderForScreenReader(ie))}else reset(y)})),e.fragment.appendChild(g)}};InlineCompletionsHoverParticipant=__decorate$G([__param$C(1,ILanguageService),__param$C(2,IOpenerService),__param$C(3,IAccessibilityService),__param$C(4,IInstantiationService),__param$C(5,ITelemetryService)],InlineCompletionsHoverParticipant);registerEditorContribution(InlineCompletionsController.ID,InlineCompletionsController,3);registerEditorAction(TriggerInlineSuggestionAction);registerEditorAction(ShowNextInlineSuggestionAction);registerEditorAction(ShowPreviousInlineSuggestionAction);registerEditorAction(AcceptNextWordOfInlineCompletion);registerEditorAction(AcceptNextLineOfInlineCompletion);registerEditorAction(AcceptInlineCompletion);registerEditorAction(HideInlineCompletion);registerAction2(ToggleAlwaysShowInlineSuggestionToolbar);HoverParticipantRegistry.register(InlineCompletionsHoverParticipant);function getSpaceCnt(n,e){let t=0;for(let i=0;ii-1)return[];const{tabSize:y,indentSize:k,insertSpaces:L}=n.getOptions(),V=(le,de)=>(de=de||1,ShiftCommand.shiftIndent(le,le.length+de,y,k,L)),z=(le,de)=>(de=de||1,ShiftCommand.unshiftIndent(le,le.length+de,y,k,L)),j=[];let ie;const oe=n.getLineContent(t);let re=oe;ie=getLeadingWhitespace(oe);let ae=ie;g.increaseIndentPattern&&g.increaseIndentPattern.test(re)?(ae=V(ae),ie=V(ie)):g.indentNextLinePattern&&g.indentNextLinePattern.test(re)&&(ae=V(ae)),t++;for(let le=t;le<=i;le++){const de=n.getLineContent(le),ue=getLeadingWhitespace(de),he=ae+de.substring(ue.length);g.decreaseIndentPattern&&g.decreaseIndentPattern.test(he)&&(ae=z(ae),ie=z(ie)),ue!==ae&&j.push(EditOperation.replaceMove(new Selection$1(le,1,le,ue.length+1),normalizeIndentation(ae,k,L))),!(g.unIndentedLinePattern&&g.unIndentedLinePattern.test(de))&&(g.increaseIndentPattern&&g.increaseIndentPattern.test(he)?(ie=V(ie),ae=ie):g.indentNextLinePattern&&g.indentNextLinePattern.test(he)?ae=V(ae):ae=ie)}return j}var __decorate$F=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$B=function(n,e){return function(t,i){e(t,i,n)}};class IndentationToSpacesAction extends EditorAction{constructor(){super({id:IndentationToSpacesAction.ID,label:localize("indentationToSpaces","Convert Indentation to Spaces"),alias:"Convert Indentation to Spaces",precondition:EditorContextKeys.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),g=t.getSelection();if(!g)return;const y=new IndentationToSpacesCommand(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!0})}}IndentationToSpacesAction.ID="editor.action.indentationToSpaces";class IndentationToTabsAction extends EditorAction{constructor(){super({id:IndentationToTabsAction.ID,label:localize("indentationToTabs","Convert Indentation to Tabs"),alias:"Convert Indentation to Tabs",precondition:EditorContextKeys.writable})}run(e,t){const i=t.getModel();if(!i)return;const r=i.getOptions(),g=t.getSelection();if(!g)return;const y=new IndentationToTabsCommand(g,r.tabSize);t.pushUndoStop(),t.executeCommands(this.id,[y]),t.pushUndoStop(),i.updateOptions({insertSpaces:!1})}}IndentationToTabsAction.ID="editor.action.indentationToTabs";class ChangeIndentationSizeAction extends EditorAction{constructor(e,t,i){super(i),this.insertSpaces=e,this.displaySizeOnly=t}run(e,t){const i=e.get(IQuickInputService),r=e.get(IModelService),g=t.getModel();if(!g)return;const y=r.getCreationOptions(g.getLanguageId(),g.uri,g.isForSimpleWidget),k=g.getOptions(),L=[1,2,3,4,5,6,7,8].map(z=>({id:z.toString(),label:z.toString(),description:z===y.tabSize&&z===k.tabSize?localize("configuredTabSize","Configured Tab Size"):z===y.tabSize?localize("defaultTabSize","Default Tab Size"):z===k.tabSize?localize("currentTabSize","Current Tab Size"):void 0})),V=Math.min(g.getOptions().tabSize-1,7);setTimeout(()=>{i.pick(L,{placeHolder:localize({},"Select Tab Size for Current File"),activeItem:L[V]}).then(z=>{if(z&&g&&!g.isDisposed()){const j=parseInt(z.label,10);this.displaySizeOnly?g.updateOptions({tabSize:j}):g.updateOptions({tabSize:j,indentSize:j,insertSpaces:this.insertSpaces})}})},50)}}class IndentUsingTabs extends ChangeIndentationSizeAction{constructor(){super(!1,!1,{id:IndentUsingTabs.ID,label:localize("indentUsingTabs","Indent Using Tabs"),alias:"Indent Using Tabs",precondition:void 0})}}IndentUsingTabs.ID="editor.action.indentUsingTabs";class IndentUsingSpaces extends ChangeIndentationSizeAction{constructor(){super(!0,!1,{id:IndentUsingSpaces.ID,label:localize("indentUsingSpaces","Indent Using Spaces"),alias:"Indent Using Spaces",precondition:void 0})}}IndentUsingSpaces.ID="editor.action.indentUsingSpaces";class ChangeTabDisplaySize extends ChangeIndentationSizeAction{constructor(){super(!0,!0,{id:ChangeTabDisplaySize.ID,label:localize("changeTabDisplaySize","Change Tab Display Size"),alias:"Change Tab Display Size",precondition:void 0})}}ChangeTabDisplaySize.ID="editor.action.changeTabDisplaySize";class DetectIndentation extends EditorAction{constructor(){super({id:DetectIndentation.ID,label:localize("detectIndentation","Detect Indentation from Content"),alias:"Detect Indentation from Content",precondition:void 0})}run(e,t){const i=e.get(IModelService),r=t.getModel();if(!r)return;const g=i.getCreationOptions(r.getLanguageId(),r.uri,r.isForSimpleWidget);r.detectIndentation(g.insertSpaces,g.tabSize)}}DetectIndentation.ID="editor.action.detectIndentation";class ReindentLinesAction extends EditorAction{constructor(){super({id:"editor.action.reindentlines",label:localize("editor.reindentlines","Reindent Lines"),alias:"Reindent Lines",precondition:EditorContextKeys.writable})}run(e,t){const i=e.get(ILanguageConfigurationService),r=t.getModel();if(!r)return;const g=getReindentEditOperations(r,i,1,r.getLineCount());g.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,g),t.pushUndoStop())}}class ReindentSelectedLinesAction extends EditorAction{constructor(){super({id:"editor.action.reindentselectedlines",label:localize("editor.reindentselectedlines","Reindent Selected Lines"),alias:"Reindent Selected Lines",precondition:EditorContextKeys.writable})}run(e,t){const i=e.get(ILanguageConfigurationService),r=t.getModel();if(!r)return;const g=t.getSelections();if(g===null)return;const y=[];for(const k of g){let L=k.startLineNumber,V=k.endLineNumber;if(L!==V&&k.endColumn===1&&V--,L===1){if(L===V)continue}else L--;const z=getReindentEditOperations(r,i,L,V);y.push(...z)}y.length>0&&(t.pushUndoStop(),t.executeEdits(this.id,y),t.pushUndoStop())}}class AutoIndentOnPasteCommand{constructor(e,t){this._initialSelection=t,this._edits=[],this._selectionId=null;for(const i of e)i.range&&typeof i.text=="string"&&this._edits.push(i)}getEditOperations(e,t){for(const r of this._edits)t.addEditOperation(Range$2.lift(r.range),r.text);let i=!1;Array.isArray(this._edits)&&this._edits.length===1&&this._initialSelection.isEmpty()&&(this._edits[0].range.startColumn===this._initialSelection.endColumn&&this._edits[0].range.startLineNumber===this._initialSelection.endLineNumber?(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!0)):this._edits[0].range.endColumn===this._initialSelection.startColumn&&this._edits[0].range.endLineNumber===this._initialSelection.startLineNumber&&(i=!0,this._selectionId=t.trackSelection(this._initialSelection,!1))),i||(this._selectionId=t.trackSelection(this._initialSelection))}computeCursorState(e,t){return t.getTrackedSelection(this._selectionId)}}let AutoIndentOnPaste=class{constructor(e,t){this.editor=e,this._languageConfigurationService=t,this.callOnDispose=new DisposableStore,this.callOnModel=new DisposableStore,this.callOnDispose.add(e.onDidChangeConfiguration(()=>this.update())),this.callOnDispose.add(e.onDidChangeModel(()=>this.update())),this.callOnDispose.add(e.onDidChangeModelLanguage(()=>this.update()))}update(){this.callOnModel.clear(),!(this.editor.getOption(12)<4||this.editor.getOption(55))&&this.editor.hasModel()&&this.callOnModel.add(this.editor.onDidPaste(({range:e})=>{this.trigger(e)}))}trigger(e){const t=this.editor.getSelections();if(t===null||t.length>1)return;const i=this.editor.getModel();if(!i||!i.tokenization.isCheapToTokenize(e.getStartPosition().lineNumber))return;const r=this.editor.getOption(12),{tabSize:g,indentSize:y,insertSpaces:k}=i.getOptions(),L=[],V={shiftIndent:oe=>ShiftCommand.shiftIndent(oe,oe.length+1,g,y,k),unshiftIndent:oe=>ShiftCommand.unshiftIndent(oe,oe.length+1,g,y,k)};let z=e.startLineNumber;for(;z<=e.endLineNumber;){if(this.shouldIgnoreLine(i,z)){z++;continue}break}if(z>e.endLineNumber)return;let j=i.getLineContent(z);if(!/\S/.test(j.substring(0,e.startColumn-1))){const oe=getGoodIndentForLine(r,i,i.getLanguageId(),z,V,this._languageConfigurationService);if(oe!==null){const re=getLeadingWhitespace(j),ae=getSpaceCnt(oe,g),le=getSpaceCnt(re,g);if(ae!==le){const de=generateIndent(ae,g,k);L.push({range:new Range$2(z,1,z,re.length+1),text:de}),j=de+j.substr(re.length)}else{const de=getIndentMetadata(i,z,this._languageConfigurationService);if(de===0||de===8)return}}}const ie=z;for(;zi.tokenization.getLineTokens(ae),getLanguageId:()=>i.getLanguageId(),getLanguageIdAtPosition:(ae,le)=>i.getLanguageIdAtPosition(ae,le)},getLineContent:ae=>ae===ie?j:i.getLineContent(ae)},i.getLanguageId(),z+1,V,this._languageConfigurationService);if(re!==null){const ae=getSpaceCnt(re,g),le=getSpaceCnt(getLeadingWhitespace(i.getLineContent(z+1)),g);if(ae!==le){const de=ae-le;for(let ue=z+1;ue<=e.endLineNumber;ue++){const he=i.getLineContent(ue),pe=getLeadingWhitespace(he),$e=getSpaceCnt(pe,g)+de,xe=generateIndent($e,g,k);xe!==pe&&L.push({range:new Range$2(ue,1,ue,pe.length+1),text:xe})}}}}if(L.length>0){this.editor.pushUndoStop();const oe=new AutoIndentOnPasteCommand(L,this.editor.getSelection());this.editor.executeCommand("autoIndentOnPaste",oe),this.editor.pushUndoStop()}}shouldIgnoreLine(e,t){e.tokenization.forceTokenization(t);const i=e.getLineFirstNonWhitespaceColumn(t);if(i===0)return!0;const r=e.tokenization.getLineTokens(t);if(r.getCount()>0){const g=r.findTokenIndexAtOffset(i);if(g>=0&&r.getStandardTokenType(g)===1)return!0}return!1}dispose(){this.callOnDispose.dispose(),this.callOnModel.dispose()}};AutoIndentOnPaste.ID="editor.contrib.autoIndentOnPaste";AutoIndentOnPaste=__decorate$F([__param$B(1,ILanguageConfigurationService)],AutoIndentOnPaste);function getIndentationEditOperations(n,e,t,i){if(n.getLineCount()===1&&n.getLineMaxColumn(1)===1)return;let r="";for(let y=0;ythis._currentResolve=void 0)),await this._currentResolve}}async _doResolve(e){var t,i,r;try{const g=await Promise.resolve(this.provider.resolveInlayHint(this.hint,e));this.hint.tooltip=(t=g==null?void 0:g.tooltip)!==null&&t!==void 0?t:this.hint.tooltip,this.hint.label=(i=g==null?void 0:g.label)!==null&&i!==void 0?i:this.hint.label,this.hint.textEdits=(r=g==null?void 0:g.textEdits)!==null&&r!==void 0?r:this.hint.textEdits,this._isResolved=!0}catch(g){onUnexpectedExternalError(g),this._isResolved=!1}}}class InlayHintsFragments{static async create(e,t,i,r){const g=[],y=e.ordered(t).reverse().map(k=>i.map(async L=>{try{const V=await k.provideInlayHints(t,L,r);(V!=null&&V.hints.length||k.onDidChangeInlayHints)&&g.push([V!=null?V:InlayHintsFragments._emptyInlayHintList,k])}catch(V){onUnexpectedExternalError(V)}}));if(await Promise.all(y.flat()),r.isCancellationRequested||t.isDisposed())throw new CancellationError;return new InlayHintsFragments(i,g,t)}constructor(e,t,i){this._disposables=new DisposableStore,this.ranges=e,this.provider=new Set;const r=[];for(const[g,y]of t){this._disposables.add(g),this.provider.add(y);for(const k of g.hints){const L=i.validatePosition(k.position);let V="before";const z=InlayHintsFragments._getRangeAtPosition(i,L);let j;z.getStartPosition().isBefore(L)?(j=Range$2.fromPositions(z.getStartPosition(),L),V="after"):(j=Range$2.fromPositions(L,z.getEndPosition()),V="before"),r.push(new InlayHintItem(k,new InlayHintAnchor(j,V),y))}}this.items=r.sort((g,y)=>Position$1.compare(g.hint.position,y.hint.position))}dispose(){this._disposables.dispose()}static _getRangeAtPosition(e,t){const i=t.lineNumber,r=e.getWordAtPosition(t);if(r)return new Range$2(i,r.startColumn,i,r.endColumn);e.tokenization.tokenizeIfCheap(i);const g=e.tokenization.getLineTokens(i),y=t.column-1,k=g.findTokenIndexAtOffset(y);let L=g.getStartOffset(k),V=g.getEndOffset(k);return V-L===1&&(L===y&&k>1?(L=g.getStartOffset(k-1),V=g.getEndOffset(k-1)):V===y&&kisIMenuItem(re)?re.command.id:generateUuid()));for(const re of SymbolNavigationAction.all())ie.has(re.desc.id)&&j.push(new Action(re.desc.id,MenuItemAction.label(re.desc,{renderShortTitle:!0}),void 0,!0,async()=>{const ae=await g.createModelReference(z.uri);try{const le=new SymbolNavigationAnchor(ae.object.textEditorModel,Range$2.getStartPosition(z.range)),de=i.item.anchor.range;await L.invokeFunction(re.runEditorCommand.bind(re),e,le,de)}finally{ae.dispose()}}));if(i.part.command){const{command:re}=i.part;j.push(new Separator),j.push(new Action(re.id,re.title,void 0,!0,async()=>{var ae;try{await k.executeCommand(re.id,...(ae=re.arguments)!==null&&ae!==void 0?ae:[])}catch(le){V.notify({severity:Severity.Error,source:i.item.provider.displayName,message:le})}}))}const oe=e.getOption(127);y.showContextMenu({domForShadowRoot:oe&&(r=e.getDomNode())!==null&&r!==void 0?r:void 0,getAnchor:()=>{const re=getDomNodePagePosition(t);return{x:re.left,y:re.top+re.height+8}},getActions:()=>j,onHide:()=>{e.focus()},autoSelectFirstItem:!0})}async function goToDefinitionWithLocation(n,e,t,i){const g=await n.get(ITextModelService).createModelReference(i.uri);await t.invokeWithinContext(async y=>{const k=e.hasSideBySideModifier,L=y.get(IContextKeyService),V=PeekContext.inPeekEditor.getValue(L),z=!k&&t.getOption(88)&&!V;return new DefinitionAction({openToSide:k,openInPeek:z,muteMessage:!0},{title:{value:"",original:""},id:"",precondition:void 0}).run(y,new SymbolNavigationAnchor(g.object.textEditorModel,Range$2.getStartPosition(i.range)),Range$2.lift(i.range))}),g.dispose()}var __decorate$E=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$A=function(n,e){return function(t,i){e(t,i,n)}},InlayHintsController_1;class InlayHintsCache{constructor(){this._entries=new LRUCache(50)}get(e){const t=InlayHintsCache._key(e);return this._entries.get(t)}set(e,t){const i=InlayHintsCache._key(e);this._entries.set(i,t)}static _key(e){return"".concat(e.uri.toString(),"/").concat(e.getVersionId())}}const IInlayHintsCache=createDecorator("IInlayHintsCache");registerSingleton(IInlayHintsCache,InlayHintsCache,1);class RenderedInlayHintLabelPart{constructor(e,t){this.item=e,this.index=t}get part(){const e=this.item.hint.label;return typeof e=="string"?{label:e}:e[this.index]}}class ActiveInlayHintInfo{constructor(e,t){this.part=e,this.hasTriggerModifier=t}}let InlayHintsController=InlayHintsController_1=class{static get(e){var t;return(t=e.getContribution(InlayHintsController_1.ID))!==null&&t!==void 0?t:void 0}constructor(e,t,i,r,g,y,k){this._editor=e,this._languageFeaturesService=t,this._inlayHintsCache=r,this._commandService=g,this._notificationService=y,this._instaService=k,this._disposables=new DisposableStore,this._sessionDisposables=new DisposableStore,this._decorationsMetadata=new Map,this._ruleFactory=new DynamicCssRules(this._editor),this._activeRenderMode=0,this._debounceInfo=i.for(t.inlayHintsProvider,"InlayHint",{min:25}),this._disposables.add(t.inlayHintsProvider.onDidChange(()=>this._update())),this._disposables.add(e.onDidChangeModel(()=>this._update())),this._disposables.add(e.onDidChangeModelLanguage(()=>this._update())),this._disposables.add(e.onDidChangeConfiguration(L=>{L.hasChanged(141)&&this._update()})),this._update()}dispose(){this._sessionDisposables.dispose(),this._removeAllDecorations(),this._disposables.dispose()}_update(){this._sessionDisposables.clear(),this._removeAllDecorations();const e=this._editor.getOption(141);if(e.enabled==="off")return;const t=this._editor.getModel();if(!t||!this._languageFeaturesService.inlayHintsProvider.has(t))return;if(e.enabled==="on")this._activeRenderMode=0;else{let k,L;e.enabled==="onUnlessPressed"?(k=0,L=1):(k=1,L=0),this._activeRenderMode=k,this._sessionDisposables.add(ModifierKeyEmitter.getInstance().event(V=>{if(!this._editor.hasModel())return;const z=V.altKey&&V.ctrlKey&&!(V.shiftKey||V.metaKey)?L:k;if(z!==this._activeRenderMode){this._activeRenderMode=z;const j=this._editor.getModel(),ie=this._copyInlayHintsWithCurrentAnchor(j);this._updateHintsDecorators([j.getFullModelRange()],ie),y.schedule(0)}}))}const i=this._inlayHintsCache.get(t);i&&this._updateHintsDecorators([t.getFullModelRange()],i),this._sessionDisposables.add(toDisposable(()=>{t.isDisposed()||this._cacheHintsForFastRestore(t)}));let r;const g=new Set,y=new RunOnceScheduler(async()=>{const k=Date.now();r==null||r.dispose(!0),r=new CancellationTokenSource$1;const L=t.onWillDispose(()=>r==null?void 0:r.cancel());try{const V=r.token,z=await InlayHintsFragments.create(this._languageFeaturesService.inlayHintsProvider,t,this._getHintsRanges(),V);if(y.delay=this._debounceInfo.update(t,Date.now()-k),V.isCancellationRequested){z.dispose();return}for(const j of z.provider)typeof j.onDidChangeInlayHints=="function"&&!g.has(j)&&(g.add(j),this._sessionDisposables.add(j.onDidChangeInlayHints(()=>{y.isScheduled()||y.schedule()})));this._sessionDisposables.add(z),this._updateHintsDecorators(z.ranges,z.items),this._cacheHintsForFastRestore(t)}catch(V){onUnexpectedError(V)}finally{r.dispose(),L.dispose()}},this._debounceInfo.get(t));this._sessionDisposables.add(y),this._sessionDisposables.add(toDisposable(()=>r==null?void 0:r.dispose(!0))),y.schedule(0),this._sessionDisposables.add(this._editor.onDidScrollChange(k=>{(k.scrollTopChanged||!y.isScheduled())&&y.schedule()})),this._sessionDisposables.add(this._editor.onDidChangeModelContent(k=>{r==null||r.cancel();const L=Math.max(y.delay,1250);y.schedule(L)})),this._sessionDisposables.add(this._installDblClickGesture(()=>y.schedule(0))),this._sessionDisposables.add(this._installLinkGesture()),this._sessionDisposables.add(this._installContextMenu())}_installLinkGesture(){const e=new DisposableStore,t=e.add(new ClickLinkGesture(this._editor)),i=new DisposableStore;return e.add(i),e.add(t.onMouseMoveOrRelevantKeyDown(r=>{const[g]=r,y=this._getInlayHintLabelPart(g),k=this._editor.getModel();if(!y||!k){i.clear();return}const L=new CancellationTokenSource$1;i.add(toDisposable(()=>L.dispose(!0))),y.item.resolve(L.token),this._activeInlayHintPart=y.part.command||y.part.location?new ActiveInlayHintInfo(y,g.hasTriggerModifier):void 0;const V=k.validatePosition(y.item.hint.position).lineNumber,z=new Range$2(V,1,V,k.getLineMaxColumn(V)),j=this._getInlineHintsForRange(z);this._updateHintsDecorators([z],j),i.add(toDisposable(()=>{this._activeInlayHintPart=void 0,this._updateHintsDecorators([z],j)}))})),e.add(t.onCancel(()=>i.clear())),e.add(t.onExecute(async r=>{const g=this._getInlayHintLabelPart(r);if(g){const y=g.part;y.location?this._instaService.invokeFunction(goToDefinitionWithLocation,r,this._editor,y.location):Command$1.is(y.command)&&await this._invokeCommand(y.command,g.item)}})),e}_getInlineHintsForRange(e){const t=new Set;for(const i of this._decorationsMetadata.values())e.containsRange(i.item.anchor.range)&&t.add(i.item);return Array.from(t)}_installDblClickGesture(e){return this._editor.onMouseUp(async t=>{if(t.event.detail!==2)return;const i=this._getInlayHintLabelPart(t);if(i&&(t.event.preventDefault(),await i.item.resolve(CancellationToken.None),isNonEmptyArray(i.item.hint.textEdits))){const r=i.item.hint.textEdits.map(g=>EditOperation.replace(Range$2.lift(g.range),g.text));this._editor.executeEdits("inlayHint.default",r),e()}})}_installContextMenu(){return this._editor.onContextMenu(async e=>{if(!(e.event.target instanceof HTMLElement))return;const t=this._getInlayHintLabelPart(e);t&&await this._instaService.invokeFunction(showGoToContextMenu,this._editor,e.event.target,t)})}_getInlayHintLabelPart(e){var t;if(e.target.type!==6)return;const i=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;if(i instanceof ModelDecorationInjectedTextOptions&&(i==null?void 0:i.attachedData)instanceof RenderedInlayHintLabelPart)return i.attachedData}async _invokeCommand(e,t){var i;try{await this._commandService.executeCommand(e.id,...(i=e.arguments)!==null&&i!==void 0?i:[])}catch(r){this._notificationService.notify({severity:Severity.Error,source:t.provider.displayName,message:r})}}_cacheHintsForFastRestore(e){const t=this._copyInlayHintsWithCurrentAnchor(e);this._inlayHintsCache.set(e,t)}_copyInlayHintsWithCurrentAnchor(e){const t=new Map;for(const[i,r]of this._decorationsMetadata){if(t.has(r.item))continue;const g=e.getDecorationRange(i);if(g){const y=new InlayHintAnchor(g,r.item.anchor.direction),k=r.item.with({anchor:y});t.set(r.item,k)}}return Array.from(t.values())}_getHintsRanges(){const t=this._editor.getModel(),i=this._editor.getVisibleRangesPlusViewportAboveBelow(),r=[];for(const g of i.sort(Range$2.compareRangesUsingStarts)){const y=t.validateRange(new Range$2(g.startLineNumber-30,g.startColumn,g.endLineNumber+30,g.endColumn));r.length===0||!Range$2.areIntersectingOrTouching(r[r.length-1],y)?r.push(y):r[r.length-1]=Range$2.plusRange(r[r.length-1],y)}return r}_updateHintsDecorators(e,t){var i,r;const g=[],y=(le,de,ue,he,pe)=>{const Ce={content:ue,inlineClassNameAffectsLetterSpacing:!0,inlineClassName:de.className,cursorStops:he,attachedData:pe};g.push({item:le,classNameRef:de,decoration:{range:le.anchor.range,options:{description:"InlayHint",showIfCollapsed:le.anchor.range.isEmpty(),collapseOnReplaceEdit:!le.anchor.range.isEmpty(),stickiness:0,[le.anchor.direction]:this._activeRenderMode===0?Ce:void 0}}})},k=(le,de)=>{const ue=this._ruleFactory.createClassNameRef({width:"".concat(L/3|0,"px"),display:"inline-block"});y(le,ue," ",de?InjectedTextCursorStops.Right:InjectedTextCursorStops.None)},{fontSize:L,fontFamily:V,padding:z,isUniform:j}=this._getLayoutInfo(),ie="--code-editorInlayHintsFontFamily";this._editor.getContainerDomNode().style.setProperty(ie,V);let oe={line:0,totalLen:0};for(const le of t){if(oe.line!==le.anchor.range.startLineNumber&&(oe={line:le.anchor.range.startLineNumber,totalLen:0}),oe.totalLen>InlayHintsController_1._MAX_LABEL_LEN)continue;le.hint.paddingLeft&&k(le,!1);const de=typeof le.hint.label=="string"?[{label:le.hint.label}]:le.hint.label;for(let ue=0;ue0&&(xe=xe.slice(0,-Ne)+"…",Ie=!0),y(le,this._ruleFactory.createClassNameRef($e),fixSpace(xe),Ce&&!le.hint.paddingRight?InjectedTextCursorStops.Right:InjectedTextCursorStops.None,new RenderedInlayHintLabelPart(le,ue)),Ie)break}if(le.hint.paddingRight&&k(le,!0),g.length>InlayHintsController_1._MAX_DECORATORS)break}const re=[];for(const[le,de]of this._decorationsMetadata){const ue=(r=this._editor.getModel())===null||r===void 0?void 0:r.getDecorationRange(le);ue&&e.some(he=>he.containsRange(ue))&&(re.push(le),de.classNameRef.dispose(),this._decorationsMetadata.delete(le))}const ae=StableEditorScrollState.capture(this._editor);this._editor.changeDecorations(le=>{const de=le.deltaDecorations(re,g.map(ue=>ue.decoration));for(let ue=0;uei)&&(g=i);const y=e.fontFamily||r;return{fontSize:g,fontFamily:y,padding:t,isUniform:!t&&y===r&&g===i}}_removeAllDecorations(){this._editor.removeDecorations(Array.from(this._decorationsMetadata.keys()));for(const e of this._decorationsMetadata.values())e.classNameRef.dispose();this._decorationsMetadata.clear()}};InlayHintsController.ID="editor.contrib.InlayHints";InlayHintsController._MAX_DECORATORS=1500;InlayHintsController._MAX_LABEL_LEN=43;InlayHintsController=InlayHintsController_1=__decorate$E([__param$A(1,ILanguageFeaturesService),__param$A(2,ILanguageFeatureDebounceService),__param$A(3,IInlayHintsCache),__param$A(4,ICommandService),__param$A(5,INotificationService),__param$A(6,IInstantiationService)],InlayHintsController);function fixSpace(n){return n.replace(/[ \t]/g," ")}CommandsRegistry.registerCommand("_executeInlayHintProvider",async(n,...e)=>{const[t,i]=e;assertType(URI.isUri(t)),assertType(Range$2.isIRange(i));const{inlayHintsProvider:r}=n.get(ILanguageFeaturesService),g=await n.get(ITextModelService).createModelReference(t);try{const y=await InlayHintsFragments.create(r,g.object.textEditorModel,[Range$2.lift(i)],CancellationToken.None),k=y.items.map(L=>L.hint);return setTimeout(()=>y.dispose(),0),k}finally{g.dispose()}});var __decorate$D=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$z=function(n,e){return function(t,i){e(t,i,n)}};class InlayHintsHoverAnchor extends HoverForeignElementAnchor{constructor(e,t,i,r){super(10,t,e.item.anchor.range,i,r,!0),this.part=e}}let InlayHintsHover=class extends MarkdownHoverParticipant{constructor(e,t,i,r,g,y){super(e,t,i,r,y),this._resolverService=g,this.hoverOrdinal=6}suggestHoverAnchor(e){var t;if(!InlayHintsController.get(this._editor)||e.target.type!==6)return null;const r=(t=e.target.detail.injectedText)===null||t===void 0?void 0:t.options;return r instanceof ModelDecorationInjectedTextOptions&&r.attachedData instanceof RenderedInlayHintLabelPart?new InlayHintsHoverAnchor(r.attachedData,this,e.event.posx,e.event.posy):null}computeSync(){return[]}computeAsync(e,t,i){return e instanceof InlayHintsHoverAnchor?new AsyncIterableObject(async r=>{const{part:g}=e;if(await g.item.resolve(i),i.isCancellationRequested)return;let y;typeof g.item.hint.tooltip=="string"?y=new MarkdownString().appendText(g.item.hint.tooltip):g.item.hint.tooltip&&(y=g.item.hint.tooltip),y&&r.emitOne(new MarkdownHover(this,e.range,[y],!1,0)),isNonEmptyArray(g.item.hint.textEdits)&&r.emitOne(new MarkdownHover(this,e.range,[new MarkdownString().appendText(localize("hint.dbl","Double-click to insert"))],!1,10001));let k;if(typeof g.part.tooltip=="string"?k=new MarkdownString().appendText(g.part.tooltip):g.part.tooltip&&(k=g.part.tooltip),k&&r.emitOne(new MarkdownHover(this,e.range,[k],!1,1)),g.part.location||g.part.command){let V;const j=this._editor.getOption(78)==="altKey"?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");g.part.location&&g.part.command?V=new MarkdownString().appendText(localize("hint.defAndCommand","Go to Definition ({0}), right click for more",j)):g.part.location?V=new MarkdownString().appendText(localize("hint.def","Go to Definition ({0})",j)):g.part.command&&(V=new MarkdownString("[".concat(localize("hint.cmd","Execute Command"),"](").concat(asCommandLink(g.part.command),' "').concat(g.part.command.title,'") (').concat(j,")"),{isTrusted:!0})),V&&r.emitOne(new MarkdownHover(this,e.range,[V],!1,1e4))}const L=await this._resolveInlayHintLabelPartHover(g,i);for await(const V of L)r.emitOne(V)}):AsyncIterableObject.EMPTY}async _resolveInlayHintLabelPartHover(e,t){if(!e.part.location)return AsyncIterableObject.EMPTY;const{uri:i,range:r}=e.part.location,g=await this._resolverService.createModelReference(i);try{const y=g.object.textEditorModel;return this._languageFeaturesService.hoverProvider.has(y)?getHover(this._languageFeaturesService.hoverProvider,y,new Position$1(r.startLineNumber,r.startColumn),t).filter(k=>!isEmptyMarkdownString(k.hover.contents)).map(k=>new MarkdownHover(this,e.item.anchor.range,k.hover.contents,!1,2+k.ordinal)):AsyncIterableObject.EMPTY}finally{g.dispose()}}};InlayHintsHover=__decorate$D([__param$z(1,ILanguageService),__param$z(2,IOpenerService),__param$z(3,IConfigurationService),__param$z(4,ITextModelService),__param$z(5,ILanguageFeaturesService)],InlayHintsHover);registerEditorContribution(InlayHintsController.ID,InlayHintsController,1);HoverParticipantRegistry.register(InlayHintsHover);class InPlaceReplaceCommand{constructor(e,t,i){this._editRange=e,this._originalSelection=t,this._text=i}getEditOperations(e,t){t.addTrackedEditOperation(this._editRange,this._text)}computeCursorState(e,t){const r=t.getInverseEditOperations()[0].range;return this._originalSelection.isEmpty()?new Selection$1(r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn),r.endLineNumber,Math.min(this._originalSelection.positionColumn,r.endColumn)):new Selection$1(r.endLineNumber,r.endColumn-this._text.length,r.endLineNumber,r.endColumn)}}var __decorate$C=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$y=function(n,e){return function(t,i){e(t,i,n)}},InPlaceReplaceController_1;let InPlaceReplaceController=InPlaceReplaceController_1=class{static get(e){return e.getContribution(InPlaceReplaceController_1.ID)}constructor(e,t){this.editor=e,this.editorWorkerService=t,this.decorations=this.editor.createDecorationsCollection()}dispose(){}run(e,t){var i;(i=this.currentRequest)===null||i===void 0||i.cancel();const r=this.editor.getSelection(),g=this.editor.getModel();if(!g||!r)return;let y=r;if(y.startLineNumber!==y.endLineNumber)return;const k=new EditorState$1(this.editor,5),L=g.uri;return this.editorWorkerService.canNavigateValueSet(L)?(this.currentRequest=createCancelablePromise(V=>this.editorWorkerService.navigateValueSet(L,y,t)),this.currentRequest.then(V=>{var z;if(!V||!V.range||!V.value||!k.validate(this.editor))return;const j=Range$2.lift(V.range);let ie=V.range;const oe=V.value.length-(y.endColumn-y.startColumn);ie={startLineNumber:ie.startLineNumber,startColumn:ie.startColumn,endLineNumber:ie.endLineNumber,endColumn:ie.startColumn+V.value.length},oe>1&&(y=new Selection$1(y.startLineNumber,y.startColumn,y.endLineNumber,y.endColumn+oe-1));const re=new InPlaceReplaceCommand(j,y,V.value);this.editor.pushUndoStop(),this.editor.executeCommand(e,re),this.editor.pushUndoStop(),this.decorations.set([{range:ie,options:InPlaceReplaceController_1.DECORATION}]),(z=this.decorationRemover)===null||z===void 0||z.cancel(),this.decorationRemover=timeout(350),this.decorationRemover.then(()=>this.decorations.clear()).catch(onUnexpectedError)}).catch(onUnexpectedError)):Promise.resolve(void 0)}};InPlaceReplaceController.ID="editor.contrib.inPlaceReplaceController";InPlaceReplaceController.DECORATION=ModelDecorationOptions.register({description:"in-place-replace",className:"valueSetReplacement"});InPlaceReplaceController=InPlaceReplaceController_1=__decorate$C([__param$y(1,IEditorWorkerService)],InPlaceReplaceController);class InPlaceReplaceUp extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.up",label:localize("InPlaceReplaceAction.previous.label","Replace with Previous Value"),alias:"Replace with Previous Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3159,weight:100}})}run(e,t){const i=InPlaceReplaceController.get(t);return i?i.run(this.id,!1):Promise.resolve(void 0)}}class InPlaceReplaceDown extends EditorAction{constructor(){super({id:"editor.action.inPlaceReplace.down",label:localize("InPlaceReplaceAction.next.label","Replace with Next Value"),alias:"Replace with Next Value",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3161,weight:100}})}run(e,t){const i=InPlaceReplaceController.get(t);return i?i.run(this.id,!0):Promise.resolve(void 0)}}registerEditorContribution(InPlaceReplaceController.ID,InPlaceReplaceController,4);registerEditorAction(InPlaceReplaceUp);registerEditorAction(InPlaceReplaceDown);class ExpandLineSelectionAction extends EditorAction{constructor(){super({id:"expandLineSelection",label:localize("expandLineSelection","Expand Line Selection"),alias:"Expand Line Selection",precondition:void 0,kbOpts:{weight:0,kbExpr:EditorContextKeys.textInputFocus,primary:2090}})}run(e,t,i){if(i=i||{},!t.hasModel())return;const r=t._getViewModel();r.model.pushStackElement(),r.setCursorStates(i.source,3,CursorMoveCommands.expandLineSelection(r,r.getCursorStates())),r.revealAllCursors(i.source,!0)}}registerEditorAction(ExpandLineSelectionAction);class TrimTrailingWhitespaceCommand{constructor(e,t,i){this._selection=e,this._cursors=t,this._selectionId=null,this._trimInRegexesAndStrings=i}getEditOperations(e,t){const i=trimTrailingWhitespace(e,this._cursors,this._trimInRegexesAndStrings);for(let r=0,g=i.length;rk.lineNumber===L.lineNumber?k.column-L.column:k.lineNumber-L.lineNumber);for(let k=e.length-2;k>=0;k--)e[k].lineNumber===e[k+1].lineNumber&&e.splice(k,1);const i=[];let r=0,g=0;const y=e.length;for(let k=1,L=n.getLineCount();k<=L;k++){const V=n.getLineContent(k),z=V.length+1;let j=0;if(g=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$x=function(n,e){return function(t,i){e(t,i,n)}};let MoveLinesCommand=class{constructor(e,t,i,r){this._languageConfigurationService=r,this._selection=e,this._isMovingDown=t,this._autoIndent=i,this._selectionId=null,this._moveEndLineSelectionShrink=!1}getEditOperations(e,t){const i=e.getLineCount();if(this._isMovingDown&&this._selection.endLineNumber===i){this._selectionId=t.trackSelection(this._selection);return}if(!this._isMovingDown&&this._selection.startLineNumber===1){this._selectionId=t.trackSelection(this._selection);return}this._moveEndPositionDown=!1;let r=this._selection;r.startLineNumbere.tokenization.getLineTokens(z),getLanguageId:()=>e.getLanguageId(),getLanguageIdAtPosition:(z,j)=>e.getLanguageIdAtPosition(z,j)},getLineContent:null};if(r.startLineNumber===r.endLineNumber&&e.getLineMaxColumn(r.startLineNumber)===1){const z=r.startLineNumber,j=this._isMovingDown?z+1:z-1;e.getLineMaxColumn(j)===1?t.addEditOperation(new Range$2(1,1,1,1),null):(t.addEditOperation(new Range$2(z,1,z,1),e.getLineContent(j)),t.addEditOperation(new Range$2(j,1,j,e.getLineMaxColumn(j)),null)),r=new Selection$1(j,1,j,1)}else{let z,j;if(this._isMovingDown){z=r.endLineNumber+1,j=e.getLineContent(z),t.addEditOperation(new Range$2(z-1,e.getLineMaxColumn(z-1),z,e.getLineMaxColumn(z)),null);let ie=j;if(this.shouldAutoIndent(e,r)){const oe=this.matchEnterRule(e,L,g,z,r.startLineNumber-1);if(oe!==null){const ae=getLeadingWhitespace(e.getLineContent(z)),le=oe+getSpaceCnt(ae,g);ie=generateIndent(le,g,k)+this.trimStart(j)}else{V.getLineContent=le=>le===r.startLineNumber?e.getLineContent(z):e.getLineContent(le);const ae=getGoodIndentForLine(this._autoIndent,V,e.getLanguageIdAtPosition(z,1),r.startLineNumber,L,this._languageConfigurationService);if(ae!==null){const le=getLeadingWhitespace(e.getLineContent(z)),de=getSpaceCnt(ae,g),ue=getSpaceCnt(le,g);de!==ue&&(ie=generateIndent(de,g,k)+this.trimStart(j))}}t.addEditOperation(new Range$2(r.startLineNumber,1,r.startLineNumber,1),ie+"\n");const re=this.matchEnterRuleMovingDown(e,L,g,r.startLineNumber,z,ie);if(re!==null)re!==0&&this.getIndentEditsOfMovingBlock(e,t,r,g,k,re);else{V.getLineContent=le=>le===r.startLineNumber?ie:le>=r.startLineNumber+1&&le<=r.endLineNumber+1?e.getLineContent(le-1):e.getLineContent(le);const ae=getGoodIndentForLine(this._autoIndent,V,e.getLanguageIdAtPosition(z,1),r.startLineNumber+1,L,this._languageConfigurationService);if(ae!==null){const le=getLeadingWhitespace(e.getLineContent(r.startLineNumber)),de=getSpaceCnt(ae,g),ue=getSpaceCnt(le,g);if(de!==ue){const he=de-ue;this.getIndentEditsOfMovingBlock(e,t,r,g,k,he)}}}}else t.addEditOperation(new Range$2(r.startLineNumber,1,r.startLineNumber,1),ie+"\n")}else if(z=r.startLineNumber-1,j=e.getLineContent(z),t.addEditOperation(new Range$2(z,1,z+1,1),null),t.addEditOperation(new Range$2(r.endLineNumber,e.getLineMaxColumn(r.endLineNumber),r.endLineNumber,e.getLineMaxColumn(r.endLineNumber)),"\n"+j),this.shouldAutoIndent(e,r)){V.getLineContent=oe=>oe===z?e.getLineContent(r.startLineNumber):e.getLineContent(oe);const ie=this.matchEnterRule(e,L,g,r.startLineNumber,r.startLineNumber-2);if(ie!==null)ie!==0&&this.getIndentEditsOfMovingBlock(e,t,r,g,k,ie);else{const oe=getGoodIndentForLine(this._autoIndent,V,e.getLanguageIdAtPosition(r.startLineNumber,1),z,L,this._languageConfigurationService);if(oe!==null){const re=getLeadingWhitespace(e.getLineContent(r.startLineNumber)),ae=getSpaceCnt(oe,g),le=getSpaceCnt(re,g);if(ae!==le){const de=ae-le;this.getIndentEditsOfMovingBlock(e,t,r,g,k,de)}}}}}this._selectionId=t.trackSelection(r)}buildIndentConverter(e,t,i){return{shiftIndent:r=>ShiftCommand.shiftIndent(r,r.length+1,e,t,i),unshiftIndent:r=>ShiftCommand.unshiftIndent(r,r.length+1,e,t,i)}}parseEnterResult(e,t,i,r,g){if(g){let y=g.indentation;g.indentAction===IndentAction.None||g.indentAction===IndentAction.Indent?y=g.indentation+g.appendText:g.indentAction===IndentAction.IndentOutdent?y=g.indentation:g.indentAction===IndentAction.Outdent&&(y=t.unshiftIndent(g.indentation)+g.appendText);const k=e.getLineContent(r);if(this.trimStart(k).indexOf(this.trimStart(y))>=0){const L=getLeadingWhitespace(e.getLineContent(r));let V=getLeadingWhitespace(y);const z=getIndentMetadata(e,r,this._languageConfigurationService);z!==null&&z&2&&(V=t.unshiftIndent(V));const j=getSpaceCnt(V,i),ie=getSpaceCnt(L,i);return j-ie}}return null}matchEnterRuleMovingDown(e,t,i,r,g,y){if(lastNonWhitespaceIndex(y)>=0){const k=e.getLineMaxColumn(g),L=getEnterAction(this._autoIndent,e,new Range$2(g,k,g,k),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,L)}else{let k=r-1;for(;k>=1;){const z=e.getLineContent(k);if(lastNonWhitespaceIndex(z)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),V=getEnterAction(this._autoIndent,e,new Range$2(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,V)}}matchEnterRule(e,t,i,r,g,y){let k=g;for(;k>=1;){let z;if(k===g&&y!==void 0?z=y:z=e.getLineContent(k),lastNonWhitespaceIndex(z)>=0)break;k--}if(k<1||r>e.getLineCount())return null;const L=e.getLineMaxColumn(k),V=getEnterAction(this._autoIndent,e,new Range$2(k,L,k,L),this._languageConfigurationService);return this.parseEnterResult(e,t,i,r,V)}trimStart(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4||!e.tokenization.isCheapToTokenize(t.startLineNumber))return!1;const i=e.getLanguageIdAtPosition(t.startLineNumber,1),r=e.getLanguageIdAtPosition(t.endLineNumber,1);return!(i!==r||this._languageConfigurationService.getLanguageConfiguration(i).indentRulesSupport===null)}getIndentEditsOfMovingBlock(e,t,i,r,g,y){for(let k=i.startLineNumber;k<=i.endLineNumber;k++){const L=e.getLineContent(k),V=getLeadingWhitespace(L),j=getSpaceCnt(V,r)+y,ie=generateIndent(j,r,g);ie!==V&&(t.addEditOperation(new Range$2(k,1,k,V.length+1),ie),k===i.endLineNumber&&i.endColumn<=V.length+1&&ie===""&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=r)return null;const g=[];for(let k=i;k<=r;k++)g.push(n.getLineContent(k));let y=g.slice(0);return y.sort(SortLinesCommand.getCollator().compare),t===!0&&(y=y.reverse()),{startLineNumber:i,endLineNumber:r,before:g,after:y}}function sortLines(n,e,t){const i=getSortData(n,e,t);return i?EditOperation.replace(new Range$2(i.startLineNumber,1,i.endLineNumber,n.getLineMaxColumn(i.endLineNumber)),i.after.join("\n")):null}class AbstractCopyLinesAction extends EditorAction{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((y,k)=>({selection:y,index:k,ignore:!1}));i.sort((y,k)=>Range$2.compareRangesUsingStarts(y.selection,k.selection));let r=i[0];for(let y=1;ynew Position$1(z.positionLineNumber,z.positionColumn)));const g=t.getSelection();if(g===null)return;const y=e.get(IConfigurationService),k=t.getModel(),L=y.getValue("files.trimTrailingWhitespaceInRegexAndStrings",{overrideIdentifier:k==null?void 0:k.getLanguageId(),resource:k==null?void 0:k.uri}),V=new TrimTrailingWhitespaceCommand(g,r,L);t.pushUndoStop(),t.executeCommands(this.id,[V]),t.pushUndoStop()}}TrimTrailingWhitespaceAction.ID="editor.action.trimTrailingWhitespace";class DeleteLinesAction extends EditorAction{constructor(){super({id:"editor.action.deleteLines",label:localize("lines.delete","Delete Line"),alias:"Delete Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;const i=this._getLinesToRemove(t),r=t.getModel();if(r.getLineCount()===1&&r.getLineMaxColumn(1)===1)return;let g=0;const y=[],k=[];for(let L=0,V=i.length;L1&&(j-=1,oe=r.getLineMaxColumn(j)),y.push(EditOperation.replace(new Selection$1(j,oe,ie,re),"")),k.push(new Selection$1(j-g,z.positionColumn,j-g,z.positionColumn)),g+=z.endLineNumber-z.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,y,k),t.pushUndoStop()}_getLinesToRemove(e){const t=e.getSelections().map(g=>{let y=g.endLineNumber;return g.startLineNumberg.startLineNumber===y.startLineNumber?g.endLineNumber-y.endLineNumber:g.startLineNumber-y.startLineNumber);const i=[];let r=t[0];for(let g=1;g=t[g].startLineNumber?r.endLineNumber=t[g].endLineNumber:(i.push(r),r=t[g]);return i.push(r),i}}class IndentLinesAction extends EditorAction{constructor(){super({id:"editor.action.indentLines",label:localize("lines.indent","Indent Line"),alias:"Indent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2142,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class OutdentLinesAction extends EditorAction{constructor(){super({id:"editor.action.outdentLines",label:localize("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2140,weight:100}})}run(e,t){CoreEditingCommands.Outdent.runEditorCommand(e,t,null)}}class InsertLineBeforeAction extends EditorAction{constructor(){super({id:"editor.action.insertLineBefore",label:localize("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class InsertLineAfterAction extends EditorAction{constructor(){super({id:"editor.action.insertLineAfter",label:localize("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,TypeOperations.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class AbstractDeleteAllToBoundaryAction extends EditorAction{run(e,t){if(!t.hasModel())return;const i=t.getSelection(),r=this._getRangesToDelete(t),g=[];for(let L=0,V=r.length-1;LEditOperation.replace(L,""));t.pushUndoStop(),t.executeEdits(this.id,k,y),t.pushUndoStop()}}class DeleteAllLeftAction extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllLeft",label:localize("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];let g=0;return t.forEach(y=>{let k;if(y.endColumn===1&&g>0){const L=y.startLineNumber-g;k=new Selection$1(L,y.startColumn,L,y.startColumn)}else k=new Selection$1(y.startLineNumber,y.startColumn,y.startLineNumber,y.startColumn);g+=y.endLineNumber-y.startLineNumber,y.intersectRanges(e)?i=k:r.push(k)}),i&&r.unshift(i),r}_getRangesToDelete(e){const t=e.getSelections();if(t===null)return[];let i=t;const r=e.getModel();return r===null?[]:(i.sort(Range$2.compareRangesUsingStarts),i=i.map(g=>{if(g.isEmpty())if(g.startColumn===1){const y=Math.max(1,g.startLineNumber-1),k=g.startLineNumber===1?1:r.getLineLength(y)+1;return new Range$2(y,k,g.startLineNumber,1)}else return new Range$2(g.startLineNumber,1,g.startLineNumber,g.startColumn);else return new Range$2(g.startLineNumber,1,g.endLineNumber,g.endColumn)}),i)}}class DeleteAllRightAction extends AbstractDeleteAllToBoundaryAction{constructor(){super({id:"deleteAllRight",label:localize("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null;const r=[];for(let g=0,y=t.length,k=0;g{if(g.isEmpty()){const y=t.getLineMaxColumn(g.startLineNumber);return g.startColumn===y?new Range$2(g.startLineNumber,g.startColumn,g.startLineNumber+1,1):new Range$2(g.startLineNumber,g.startColumn,g.startLineNumber,y)}return g});return r.sort(Range$2.compareRangesUsingStarts),r}}class JoinLinesAction extends EditorAction{constructor(){super({id:"editor.action.joinLines",label:localize("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){const i=t.getSelections();if(i===null)return;let r=t.getSelection();if(r===null)return;i.sort(Range$2.compareRangesUsingStarts);const g=[],y=i.reduce((ie,oe)=>ie.isEmpty()?ie.endLineNumber===oe.startLineNumber?(r.equalsSelection(ie)&&(r=oe),oe):oe.startLineNumber>ie.endLineNumber+1?(g.push(ie),oe):new Selection$1(ie.startLineNumber,ie.startColumn,oe.endLineNumber,oe.endColumn):oe.startLineNumber>ie.endLineNumber?(g.push(ie),oe):new Selection$1(ie.startLineNumber,ie.startColumn,oe.endLineNumber,oe.endColumn));g.push(y);const k=t.getModel();if(k===null)return;const L=[],V=[];let z=r,j=0;for(let ie=0,oe=g.length;ie=1){let Fe=!0;Ce===""&&(Fe=!1),Fe&&(Ce.charAt(Ce.length-1)===" "||Ce.charAt(Ce.length-1)===" ")&&(Fe=!1,Ce=Ce.replace(/[\s\uFEFF\xA0]+$/g," "));const Ve=Ie.substr(Ne-1);Ce+=(Fe?" ":"")+Ve,Fe?de=Ve.length+1:de=Ve.length}else de=0}const $e=new Range$2(ae,le,ue,he);if(!$e.isEmpty()){let xe;re.isEmpty()?(L.push(EditOperation.replace($e,Ce)),xe=new Selection$1($e.startLineNumber-j,Ce.length-de+1,ae-j,Ce.length-de+1)):re.startLineNumber===re.endLineNumber?(L.push(EditOperation.replace($e,Ce)),xe=new Selection$1(re.startLineNumber-j,re.startColumn,re.endLineNumber-j,re.endColumn)):(L.push(EditOperation.replace($e,Ce)),xe=new Selection$1(re.startLineNumber-j,re.startColumn,re.startLineNumber-j,Ce.length-pe)),Range$2.intersectRanges($e,r)!==null?z=xe:V.push(xe)}j+=$e.endLineNumber-$e.startLineNumber}V.unshift(z),t.pushUndoStop(),t.executeEdits(this.id,L,V),t.pushUndoStop()}}class TransposeAction extends EditorAction{constructor(){super({id:"editor.action.transpose",label:localize("editor.transpose","Transpose Characters around the Cursor"),alias:"Transpose Characters around the Cursor",precondition:EditorContextKeys.writable})}run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const g=[];for(let y=0,k=i.length;y=z){if(V.lineNumber===r.getLineCount())continue;const j=new Range$2(V.lineNumber,Math.max(1,V.column-1),V.lineNumber+1,1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommand(new Selection$1(V.lineNumber,Math.max(1,V.column-1),V.lineNumber+1,1),ie))}else{const j=new Range$2(V.lineNumber,Math.max(1,V.column-1),V.lineNumber,V.column+1),ie=r.getValueInRange(j).split("").reverse().join("");g.push(new ReplaceCommandThatPreservesSelection(j,ie,new Selection$1(V.lineNumber,V.column+1,V.lineNumber,V.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,g),t.pushUndoStop()}}class AbstractCaseAction extends EditorAction{run(e,t){const i=t.getSelections();if(i===null)return;const r=t.getModel();if(r===null)return;const g=t.getOption(131),y=[];for(const k of i)if(k.isEmpty()){const L=k.getStartPosition(),V=t.getConfiguredWordAtPosition(L);if(!V)continue;const z=new Range$2(L.lineNumber,V.startColumn,L.lineNumber,V.endColumn),j=r.getValueInRange(z);y.push(EditOperation.replace(z,this._modifyText(j,g)))}else{const L=r.getValueInRange(k);y.push(EditOperation.replace(k,this._modifyText(L,g)))}t.pushUndoStop(),t.executeEdits(this.id,y),t.pushUndoStop()}}class UpperCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToUppercase",label:localize("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:EditorContextKeys.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class LowerCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToLowercase",label:localize("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:EditorContextKeys.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class BackwardsCompatibleRegExp{constructor(e,t){this._pattern=e,this._flags=t,this._actual=null,this._evaluated=!1}get(){if(!this._evaluated){this._evaluated=!0;try{this._actual=new RegExp(this._pattern,this._flags)}catch(e){}}return this._actual}isSupported(){return this.get()!==null}}class TitleCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToTitlecase",label:localize("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=TitleCaseAction.titleBoundary.get();return i?e.toLocaleLowerCase().replace(i,r=>r.toLocaleUpperCase()):e}}TitleCaseAction.titleBoundary=new BackwardsCompatibleRegExp("(^|[^\\p{L}\\p{N}']|((^|\\P{L})'))\\p{L}","gmu");class SnakeCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToSnakecase",label:localize("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=SnakeCaseAction.caseBoundary.get(),r=SnakeCaseAction.singleLetters.get();return!i||!r?e:e.replace(i,"$1_$2").replace(r,"$1_$2$3").toLocaleLowerCase()}}SnakeCaseAction.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu");SnakeCaseAction.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu})(\\p{Ll})","gmu");class CamelCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToCamelcase",label:localize("editor.transformToCamelcase","Transform to Camel Case"),alias:"Transform to Camel Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=CamelCaseAction.wordBoundary.get();if(!i)return e;const r=e.split(i);return r.shift()+r.map(y=>y.substring(0,1).toLocaleUpperCase()+y.substring(1)).join("")}}CamelCaseAction.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm");class PascalCaseAction extends AbstractCaseAction{constructor(){super({id:"editor.action.transformToPascalcase",label:localize("editor.transformToPascalcase","Transform to Pascal Case"),alias:"Transform to Pascal Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=PascalCaseAction.wordBoundary.get(),r=PascalCaseAction.wordBoundaryToMaintain.get();return!i||!r?e:e.split(r).map(k=>k.split(i)).flat().map(k=>k.substring(0,1).toLocaleUpperCase()+k.substring(1)).join("")}}PascalCaseAction.wordBoundary=new BackwardsCompatibleRegExp("[_\\s-]","gm");PascalCaseAction.wordBoundaryToMaintain=new BackwardsCompatibleRegExp("(?<=\\.)","gm");class KebabCaseAction extends AbstractCaseAction{static isSupported(){return[this.caseBoundary,this.singleLetters,this.underscoreBoundary].every(t=>t.isSupported())}constructor(){super({id:"editor.action.transformToKebabcase",label:localize("editor.transformToKebabcase","Transform to Kebab Case"),alias:"Transform to Kebab Case",precondition:EditorContextKeys.writable})}_modifyText(e,t){const i=KebabCaseAction.caseBoundary.get(),r=KebabCaseAction.singleLetters.get(),g=KebabCaseAction.underscoreBoundary.get();return!i||!r||!g?e:e.replace(g,"$1-$3").replace(i,"$1-$2").replace(r,"$1-$2").toLocaleLowerCase()}}KebabCaseAction.caseBoundary=new BackwardsCompatibleRegExp("(\\p{Ll})(\\p{Lu})","gmu");KebabCaseAction.singleLetters=new BackwardsCompatibleRegExp("(\\p{Lu}|\\p{N})(\\p{Lu}\\p{Ll})","gmu");KebabCaseAction.underscoreBoundary=new BackwardsCompatibleRegExp("(\\S)(_)(\\S)","gm");registerEditorAction(CopyLinesUpAction);registerEditorAction(CopyLinesDownAction);registerEditorAction(DuplicateSelectionAction);registerEditorAction(MoveLinesUpAction);registerEditorAction(MoveLinesDownAction);registerEditorAction(SortLinesAscendingAction);registerEditorAction(SortLinesDescendingAction);registerEditorAction(DeleteDuplicateLinesAction);registerEditorAction(TrimTrailingWhitespaceAction);registerEditorAction(DeleteLinesAction);registerEditorAction(IndentLinesAction);registerEditorAction(OutdentLinesAction);registerEditorAction(InsertLineBeforeAction);registerEditorAction(InsertLineAfterAction);registerEditorAction(DeleteAllLeftAction);registerEditorAction(DeleteAllRightAction);registerEditorAction(JoinLinesAction);registerEditorAction(TransposeAction);registerEditorAction(UpperCaseAction);registerEditorAction(LowerCaseAction);SnakeCaseAction.caseBoundary.isSupported()&&SnakeCaseAction.singleLetters.isSupported()&®isterEditorAction(SnakeCaseAction);CamelCaseAction.wordBoundary.isSupported()&®isterEditorAction(CamelCaseAction);PascalCaseAction.wordBoundary.isSupported()&®isterEditorAction(PascalCaseAction);TitleCaseAction.titleBoundary.isSupported()&®isterEditorAction(TitleCaseAction);KebabCaseAction.isSupported()&®isterEditorAction(KebabCaseAction);var __decorate$A=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$w=function(n,e){return function(t,i){e(t,i,n)}},LinkedEditingContribution_1;const CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE=new RawContextKey("LinkedEditingInputVisible",!1),DECORATION_CLASS_NAME="linked-editing-decoration";let LinkedEditingContribution=LinkedEditingContribution_1=class extends Disposable{static get(e){return e.getContribution(LinkedEditingContribution_1.ID)}constructor(e,t,i,r,g){super(),this.languageConfigurationService=r,this._syncRangesToken=0,this._localToDispose=this._register(new DisposableStore),this._editor=e,this._providers=i.linkedEditingRangeProvider,this._enabled=!1,this._visibleContextKey=CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE.bindTo(t),this._debounceInformation=g.for(this._providers,"Linked Editing",{max:200}),this._currentDecorations=this._editor.createDecorationsCollection(),this._languageWordPattern=null,this._currentWordPattern=null,this._ignoreChangeEvent=!1,this._localToDispose=this._register(new DisposableStore),this._rangeUpdateTriggerPromise=null,this._rangeSyncTriggerPromise=null,this._currentRequestCts=null,this._currentRequestPosition=null,this._currentRequestModelVersion=null,this._register(this._editor.onDidChangeModel(()=>this.reinitialize(!0))),this._register(this._editor.onDidChangeConfiguration(y=>{(y.hasChanged(70)||y.hasChanged(93))&&this.reinitialize(!1)})),this._register(this._providers.onDidChange(()=>this.reinitialize(!1))),this._register(this._editor.onDidChangeModelLanguage(()=>this.reinitialize(!0))),this.reinitialize(!0)}reinitialize(e){const t=this._editor.getModel(),i=t!==null&&(this._editor.getOption(70)||this._editor.getOption(93))&&this._providers.has(t);if(i===this._enabled&&!e||(this._enabled=i,this.clearRanges(),this._localToDispose.clear(),!i||t===null))return;this._localToDispose.add(Event$1.runAndSubscribe(t.onDidChangeLanguageConfiguration,()=>{this._languageWordPattern=this.languageConfigurationService.getLanguageConfiguration(t.getLanguageId()).getWordDefinition()}));const r=new Delayer(this._debounceInformation.get(t)),g=()=>{var L;this._rangeUpdateTriggerPromise=r.trigger(()=>this.updateRanges(),(L=this._debounceDuration)!==null&&L!==void 0?L:this._debounceInformation.get(t))},y=new Delayer(0),k=L=>{this._rangeSyncTriggerPromise=y.trigger(()=>this._syncRanges(L))};this._localToDispose.add(this._editor.onDidChangeCursorPosition(()=>{g()})),this._localToDispose.add(this._editor.onDidChangeModelContent(L=>{if(!this._ignoreChangeEvent&&this._currentDecorations.length>0){const V=this._currentDecorations.getRange(0);if(V&&L.changes.every(z=>V.intersectRanges(z.range))){k(this._syncRangesToken);return}}g()})),this._localToDispose.add({dispose:()=>{r.dispose(),y.dispose()}}),this.updateRanges()}_syncRanges(e){if(!this._editor.hasModel()||e!==this._syncRangesToken||this._currentDecorations.length===0)return;const t=this._editor.getModel(),i=this._currentDecorations.getRange(0);if(!i||i.startLineNumber!==i.endLineNumber)return this.clearRanges();const r=t.getValueInRange(i);if(this._currentWordPattern){const y=r.match(this._currentWordPattern);if((y?y[0].length:0)!==r.length)return this.clearRanges()}const g=[];for(let y=1,k=this._currentDecorations.length;y1){this.clearRanges();return}const i=this._editor.getModel(),r=i.getVersionId();if(this._currentRequestPosition&&this._currentRequestModelVersion===r){if(t.equals(this._currentRequestPosition))return;if(this._currentDecorations.length>0){const y=this._currentDecorations.getRange(0);if(y&&y.containsPosition(t))return}}this.clearRanges(),this._currentRequestPosition=t,this._currentRequestModelVersion=r;const g=this._currentRequestCts=new CancellationTokenSource$1;try{const y=new StopWatch(!1),k=await getLinkedEditingRanges(this._providers,i,t,g.token);if(this._debounceInformation.update(i,y.elapsed()),g!==this._currentRequestCts||(this._currentRequestCts=null,r!==i.getVersionId()))return;let L=[];k!=null&&k.ranges&&(L=k.ranges),this._currentWordPattern=(k==null?void 0:k.wordPattern)||this._languageWordPattern;let V=!1;for(let j=0,ie=L.length;j({range:j,options:LinkedEditingContribution_1.DECORATION}));this._visibleContextKey.set(!0),this._currentDecorations.set(z),this._syncRangesToken++}catch(y){isCancellationError(y)||onUnexpectedError(y),(this._currentRequestCts===g||!this._currentRequestCts)&&this.clearRanges()}}};LinkedEditingContribution.ID="editor.contrib.linkedEditing";LinkedEditingContribution.DECORATION=ModelDecorationOptions.register({description:"linked-editing",stickiness:0,className:DECORATION_CLASS_NAME});LinkedEditingContribution=LinkedEditingContribution_1=__decorate$A([__param$w(1,IContextKeyService),__param$w(2,ILanguageFeaturesService),__param$w(3,ILanguageConfigurationService),__param$w(4,ILanguageFeatureDebounceService)],LinkedEditingContribution);class LinkedEditingAction extends EditorAction{constructor(){super({id:"editor.action.linkedEditing",label:localize("linkedEditing.label","Start Linked Editing"),alias:"Start Linked Editing",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3132,weight:100}})}runCommand(e,t){const i=e.get(ICodeEditorService),[r,g]=Array.isArray(t)&&t||[void 0,void 0];return URI.isUri(r)&&Position$1.isIPosition(g)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(y=>{y&&(y.setPosition(g),y.invokeWithinContext(k=>(this.reportTelemetry(k,y),this.run(k,y))))},onUnexpectedError):super.runCommand(e,t)}run(e,t){const i=LinkedEditingContribution.get(t);return i?Promise.resolve(i.updateRanges(!0)):Promise.resolve()}}const LinkedEditingCommand=EditorCommand.bindToContribution(LinkedEditingContribution.get);registerEditorCommand(new LinkedEditingCommand({id:"cancelLinkedEditingInput",precondition:CONTEXT_ONTYPE_RENAME_INPUT_VISIBLE,handler:n=>n.clearRanges(),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,weight:199,primary:9,secondary:[1033]}}));function getLinkedEditingRanges(n,e,t,i){const r=n.ordered(e);return first(r.map(g=>async()=>{try{return await g.provideLinkedEditingRanges(e,t,i)}catch(y){onUnexpectedExternalError(y);return}}),g=>!!g&&isNonEmptyArray(g==null?void 0:g.ranges))}registerColor("editor.linkedEditingBackground",{dark:Color$1.fromHex("#f00").transparent(.3),light:Color$1.fromHex("#f00").transparent(.3),hcDark:Color$1.fromHex("#f00").transparent(.3),hcLight:Color$1.white},localize("editorLinkedEditingBackground","Background color when the editor auto renames on type."));registerModelAndPositionCommand("_executeLinkedEditingProvider",(n,e,t)=>{const{linkedEditingRangeProvider:i}=n.get(ILanguageFeaturesService);return getLinkedEditingRanges(i,e,t,CancellationToken.None)});registerEditorContribution(LinkedEditingContribution.ID,LinkedEditingContribution,1);registerEditorAction(LinkedEditingAction);let Link$2=class{constructor(e,t){this._link=e,this._provider=t}toJSON(){return{range:this.range,url:this.url,tooltip:this.tooltip}}get range(){return this._link.range}get url(){return this._link.url}get tooltip(){return this._link.tooltip}async resolve(e){return this._link.url?this._link.url:typeof this._provider.resolveLink=="function"?Promise.resolve(this._provider.resolveLink(this._link,e)).then(t=>(this._link=t||this._link,this._link.url?this.resolve(e):Promise.reject(new Error("missing")))):Promise.reject(new Error("missing"))}};class LinksList{constructor(e){this._disposables=new DisposableStore;let t=[];for(const[i,r]of e){const g=i.links.map(y=>new Link$2(y,r));t=LinksList._union(t,g),isDisposable(i)&&this._disposables.add(i)}this.links=t}dispose(){this._disposables.dispose(),this.links.length=0}static _union(e,t){const i=[];let r,g,y,k;for(r=0,y=0,g=e.length,k=t.length;rPromise.resolve(g.provideLinks(e,t)).then(k=>{k&&(i[y]=[k,g])},onUnexpectedExternalError));return Promise.all(r).then(()=>{const g=new LinksList(coalesce(i));return t.isCancellationRequested?(g.dispose(),new LinksList([])):g})}CommandsRegistry.registerCommand("_executeLinkProvider",async(n,...e)=>{let[t,i]=e;assertType(t instanceof URI),typeof i!="number"&&(i=0);const{linkProvider:r}=n.get(ILanguageFeaturesService),g=n.get(IModelService).getModel(t);if(!g)return[];const y=await getLinks(r,g,CancellationToken.None);if(!y)return[];for(let L=0;L=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$v=function(n,e){return function(t,i){e(t,i,n)}},LinkDetector_1;let LinkDetector=LinkDetector_1=class extends Disposable{static get(e){return e.getContribution(LinkDetector_1.ID)}constructor(e,t,i,r,g){super(),this.editor=e,this.openerService=t,this.notificationService=i,this.languageFeaturesService=r,this.providers=this.languageFeaturesService.linkProvider,this.debounceInformation=g.for(this.providers,"Links",{min:1e3,max:4e3}),this.computeLinks=this._register(new RunOnceScheduler(()=>this.computeLinksNow(),1e3)),this.computePromise=null,this.activeLinksList=null,this.currentOccurrences={},this.activeLinkDecorationId=null;const y=this._register(new ClickLinkGesture(e));this._register(y.onMouseMoveOrRelevantKeyDown(([k,L])=>{this._onEditorMouseMove(k,L)})),this._register(y.onExecute(k=>{this.onEditorMouseUp(k)})),this._register(y.onCancel(k=>{this.cleanUpActiveLinkDecoration()})),this._register(e.onDidChangeConfiguration(k=>{k.hasChanged(71)&&(this.updateDecorations([]),this.stop(),this.computeLinks.schedule(0))})),this._register(e.onDidChangeModelContent(k=>{this.editor.hasModel()&&this.computeLinks.schedule(this.debounceInformation.get(this.editor.getModel()))})),this._register(e.onDidChangeModel(k=>{this.currentOccurrences={},this.activeLinkDecorationId=null,this.stop(),this.computeLinks.schedule(0)})),this._register(e.onDidChangeModelLanguage(k=>{this.stop(),this.computeLinks.schedule(0)})),this._register(this.providers.onDidChange(k=>{this.stop(),this.computeLinks.schedule(0)})),this.computeLinks.schedule(0)}async computeLinksNow(){if(!this.editor.hasModel()||!this.editor.getOption(71))return;const e=this.editor.getModel();if(!e.isTooLargeForSyncing()&&this.providers.has(e)){this.activeLinksList&&(this.activeLinksList.dispose(),this.activeLinksList=null),this.computePromise=createCancelablePromise(t=>getLinks(this.providers,e,t));try{const t=new StopWatch(!1);if(this.activeLinksList=await this.computePromise,this.debounceInformation.update(e,t.elapsed()),e.isDisposed())return;this.updateDecorations(this.activeLinksList.links)}catch(t){onUnexpectedError(t)}finally{this.computePromise=null}}}updateDecorations(e){const t=this.editor.getOption(78)==="altKey",i=[],r=Object.keys(this.currentOccurrences);for(const y of r){const k=this.currentOccurrences[y];i.push(k.decorationId)}const g=[];if(e)for(const y of e)g.push(LinkOccurrence.decoration(y,t));this.editor.changeDecorations(y=>{const k=y.deltaDecorations(i,g);this.currentOccurrences={},this.activeLinkDecorationId=null;for(let L=0,V=k.length;L{r.activate(g,i),this.activeLinkDecorationId=r.decorationId})}else this.cleanUpActiveLinkDecoration()}cleanUpActiveLinkDecoration(){const e=this.editor.getOption(78)==="altKey";if(this.activeLinkDecorationId){const t=this.currentOccurrences[this.activeLinkDecorationId];t&&this.editor.changeDecorations(i=>{t.deactivate(i,e)}),this.activeLinkDecorationId=null}}onEditorMouseUp(e){if(!this.isEnabled(e))return;const t=this.getLinkOccurrence(e.target.position);t&&this.openLinkOccurrence(t,e.hasSideBySideModifier,!0)}openLinkOccurrence(e,t,i=!1){if(!this.openerService)return;const{link:r}=e;r.resolve(CancellationToken.None).then(g=>{if(typeof g=="string"&&this.editor.hasModel()){const y=this.editor.getModel().uri;if(y.scheme===Schemas.file&&g.startsWith("".concat(Schemas.file,":"))){const k=URI.parse(g);if(k.scheme===Schemas.file){const L=originalFSPath(k);let V=null;L.startsWith("/./")||L.startsWith("\\.\\")?V=".".concat(L.substr(1)):(L.startsWith("//./")||L.startsWith("\\\\.\\"))&&(V=".".concat(L.substr(2))),V&&(g=joinPath(y,V))}}}return this.openerService.open(g,{openToSide:t,fromUserGesture:i,allowContributedOpeners:!0,allowCommands:!0,fromWorkspace:!0})},g=>{const y=g instanceof Error?g.message:g;y==="invalid"?this.notificationService.warn(localize("invalid.url","Failed to open this link because it is not well-formed: {0}",r.url.toString())):y==="missing"?this.notificationService.warn(localize("missing.url","Failed to open this link because its target is missing.")):onUnexpectedError(g)})}getLinkOccurrence(e){if(!this.editor.hasModel()||!e)return null;const t=this.editor.getModel().getDecorationsInRange({startLineNumber:e.lineNumber,startColumn:e.column,endLineNumber:e.lineNumber,endColumn:e.column},0,!0);for(const i of t){const r=this.currentOccurrences[i.id];if(r)return r}return null}isEnabled(e,t){return!!(e.target.type===6&&(e.hasTriggerModifier||t&&t.keyCodeIsTriggerKey))}stop(){var e;this.computeLinks.cancel(),this.activeLinksList&&((e=this.activeLinksList)===null||e===void 0||e.dispose(),this.activeLinksList=null),this.computePromise&&(this.computePromise.cancel(),this.computePromise=null)}dispose(){super.dispose(),this.stop()}};LinkDetector.ID="editor.linkDetector";LinkDetector=LinkDetector_1=__decorate$z([__param$v(1,IOpenerService),__param$v(2,INotificationService),__param$v(3,ILanguageFeaturesService),__param$v(4,ILanguageFeatureDebounceService)],LinkDetector);const decoration$1={general:ModelDecorationOptions.register({description:"detected-link",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link"}),active:ModelDecorationOptions.register({description:"detected-link-active",stickiness:1,collapseOnReplaceEdit:!0,inlineClassName:"detected-link-active"})};class LinkOccurrence{static decoration(e,t){return{range:e.range,options:LinkOccurrence._getOptions(e,t,!1)}}static _getOptions(e,t,i){const r={...i?decoration$1.active:decoration$1.general};return r.hoverMessage=getHoverMessage(e,t),r}constructor(e,t){this.link=e,this.decorationId=t}activate(e,t){e.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,t,!0))}deactivate(e,t){e.changeDecorationOptions(this.decorationId,LinkOccurrence._getOptions(this.link,t,!1))}}function getHoverMessage(n,e){const t=n.url&&/^command:/i.test(n.url.toString()),i=n.tooltip?n.tooltip:t?localize("links.navigate.executeCmd","Execute command"):localize("links.navigate.follow","Follow link"),r=e?isMacintosh?localize("links.navigate.kb.meta.mac","cmd + click"):localize("links.navigate.kb.meta","ctrl + click"):isMacintosh?localize("links.navigate.kb.alt.mac","option + click"):localize("links.navigate.kb.alt","alt + click");if(n.url){let g="";if(/^command:/i.test(n.url.toString())){const k=n.url.toString().match(/^command:([^?#]+)/);if(k){const L=k[1];g=localize("tooltip.explanation","Execute command {0}",L)}}return new MarkdownString("",!0).appendLink(n.url.toString(!0).replace(/ /g,"%20"),i,g).appendMarkdown(" (".concat(r,")"))}else return new MarkdownString().appendText("".concat(i," (").concat(r,")"))}class OpenLinkAction extends EditorAction{constructor(){super({id:"editor.action.openLink",label:localize("label","Open Link"),alias:"Open Link",precondition:void 0})}run(e,t){const i=LinkDetector.get(t);if(!i||!t.hasModel())return;const r=t.getSelections();for(const g of r){const y=i.getLinkOccurrence(g.getEndPosition());y&&i.openLinkOccurrence(y,!1)}}}registerEditorContribution(LinkDetector.ID,LinkDetector,1);registerEditorAction(OpenLinkAction);class LongLinesHelper extends Disposable{constructor(e){super(),this._editor=e,this._register(this._editor.onMouseDown(t=>{const i=this._editor.getOption(117);i>=0&&t.target.type===6&&t.target.position.column>=i&&this._editor.updateOptions({stopRenderingLineAfter:-1})}))}}LongLinesHelper.ID="editor.contrib.longLinesHelper";registerEditorContribution(LongLinesHelper.ID,LongLinesHelper,2);const wordHighlightBackground=registerColor("editor.wordHighlightBackground",{dark:"#575757B8",light:"#57575740",hcDark:null,hcLight:null},localize("wordHighlight","Background color of a symbol during read-access, like reading a variable. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.wordHighlightStrongBackground",{dark:"#004972B8",light:"#0e639c40",hcDark:null,hcLight:null},localize("wordHighlightStrong","Background color of a symbol during write-access, like writing to a variable. The color must not be opaque so as not to hide underlying decorations."),!0);registerColor("editor.wordHighlightTextBackground",{light:wordHighlightBackground,dark:wordHighlightBackground,hcDark:wordHighlightBackground,hcLight:wordHighlightBackground},localize("wordHighlightText","Background color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0);const wordHighlightBorder=registerColor("editor.wordHighlightBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightBorder","Border color of a symbol during read-access, like reading a variable."));registerColor("editor.wordHighlightStrongBorder",{light:null,dark:null,hcDark:activeContrastBorder,hcLight:activeContrastBorder},localize("wordHighlightStrongBorder","Border color of a symbol during write-access, like writing to a variable."));registerColor("editor.wordHighlightTextBorder",{light:wordHighlightBorder,dark:wordHighlightBorder,hcDark:wordHighlightBorder,hcLight:wordHighlightBorder},localize("wordHighlightTextBorder","Border color of a textual occurrence for a symbol."));const overviewRulerWordHighlightForeground=registerColor("editorOverviewRuler.wordHighlightForeground",{dark:"#A0A0A0CC",light:"#A0A0A0CC",hcDark:"#A0A0A0CC",hcLight:"#A0A0A0CC"},localize("overviewRulerWordHighlightForeground","Overview ruler marker color for symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightStrongForeground=registerColor("editorOverviewRuler.wordHighlightStrongForeground",{dark:"#C0A0C0CC",light:"#C0A0C0CC",hcDark:"#C0A0C0CC",hcLight:"#C0A0C0CC"},localize("overviewRulerWordHighlightStrongForeground","Overview ruler marker color for write-access symbol highlights. The color must not be opaque so as not to hide underlying decorations."),!0),overviewRulerWordHighlightTextForeground=registerColor("editorOverviewRuler.wordHighlightTextForeground",{dark:overviewRulerSelectionHighlightForeground,light:overviewRulerSelectionHighlightForeground,hcDark:overviewRulerSelectionHighlightForeground,hcLight:overviewRulerSelectionHighlightForeground},localize("overviewRulerWordHighlightTextForeground","Overview ruler marker color of a textual occurrence for a symbol. The color must not be opaque so as not to hide underlying decorations."),!0),_WRITE_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-strong",stickiness:1,className:"wordHighlightStrong",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightStrongForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_TEXT_OPTIONS=ModelDecorationOptions.register({description:"word-highlight-text",stickiness:1,className:"wordHighlightText",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightTextForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS=ModelDecorationOptions.register({description:"selection-highlight-overview",stickiness:1,className:"selectionHighlight",overviewRuler:{color:themeColorFromId(overviewRulerSelectionHighlightForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}}),_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW=ModelDecorationOptions.register({description:"selection-highlight",stickiness:1,className:"selectionHighlight"}),_REGULAR_OPTIONS=ModelDecorationOptions.register({description:"word-highlight",stickiness:1,className:"wordHighlight",overviewRuler:{color:themeColorFromId(overviewRulerWordHighlightForeground),position:OverviewRulerLane.Center},minimap:{color:themeColorFromId(minimapSelectionOccurrenceHighlight),position:1}});function getHighlightDecorationOptions(n){return n===DocumentHighlightKind$1.Write?_WRITE_OPTIONS:n===DocumentHighlightKind$1.Text?_TEXT_OPTIONS:_REGULAR_OPTIONS}function getSelectionHighlightDecorationOptions(n){return n?_SELECTION_HIGHLIGHT_OPTIONS_NO_OVERVIEW:_SELECTION_HIGHLIGHT_OPTIONS}registerThemingParticipant((n,e)=>{const t=n.getColor(editorSelectionHighlight);t&&e.addRule(".monaco-editor .selectionHighlight { background-color: ".concat(t.transparent(.5),"; }"))});var __decorate$y=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$u=function(n,e){return function(t,i){e(t,i,n)}},SelectionHighlighter_1;function announceCursorChange(n,e){const t=e.filter(i=>!n.find(r=>r.equals(i)));if(t.length>=1){const i=t.map(g=>"line ".concat(g.viewState.position.lineNumber," column ").concat(g.viewState.position.column)).join(", "),r=t.length===1?localize("cursorAdded","Cursor added: {0}",i):localize("cursorsAdded","Cursors added: {0}",i);status(r)}}class InsertCursorAbove extends EditorAction{constructor(){super({id:"editor.action.insertCursorAbove",label:localize("mutlicursor.insertAbove","Add Cursor Above"),alias:"Add Cursor Above",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2576,linux:{primary:1552,secondary:[3088]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"&&Add Cursor Above"),order:2}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const g=t._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();const y=g.getCursorStates();g.setCursorStates(i.source,3,CursorMoveCommands.addCursorUp(g,y,r)),g.revealTopMostCursor(i.source),announceCursorChange(y,g.getCursorStates())}}class InsertCursorBelow extends EditorAction{constructor(){super({id:"editor.action.insertCursorBelow",label:localize("mutlicursor.insertBelow","Add Cursor Below"),alias:"Add Cursor Below",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2578,linux:{primary:1554,secondary:[3090]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"A&&dd Cursor Below"),order:3}})}run(e,t,i){if(!t.hasModel())return;let r=!0;i&&i.logicalLine===!1&&(r=!1);const g=t._getViewModel();if(g.cursorConfig.readOnly)return;g.model.pushStackElement();const y=g.getCursorStates();g.setCursorStates(i.source,3,CursorMoveCommands.addCursorDown(g,y,r)),g.revealBottomMostCursor(i.source),announceCursorChange(y,g.getCursorStates())}}class InsertCursorAtEndOfEachLineSelected extends EditorAction{constructor(){super({id:"editor.action.insertCursorAtEndOfEachLineSelected",label:localize("mutlicursor.insertAtEndOfEachLineSelected","Add Cursors to Line Ends"),alias:"Add Cursors to Line Ends",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1575,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"Add C&&ursors to Line Ends"),order:4}})}getCursorsForSelection(e,t,i){if(!e.isEmpty()){for(let r=e.startLineNumber;r1&&i.push(new Selection$1(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn))}}run(e,t){if(!t.hasModel())return;const i=t.getModel(),r=t.getSelections(),g=t._getViewModel(),y=g.getCursorStates(),k=[];r.forEach(L=>this.getCursorsForSelection(L,i,k)),k.length>0&&t.setSelections(k),announceCursorChange(y,g.getCursorStates())}}class InsertCursorAtEndOfLineSelected extends EditorAction{constructor(){super({id:"editor.action.addCursorsToBottom",label:localize("mutlicursor.addCursorsToBottom","Add Cursors To Bottom"),alias:"Add Cursors To Bottom",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=t.getModel().getLineCount(),g=[];for(let L=i[0].startLineNumber;L<=r;L++)g.push(new Selection$1(L,i[0].startColumn,L,i[0].endColumn));const y=t._getViewModel(),k=y.getCursorStates();g.length>0&&t.setSelections(g),announceCursorChange(k,y.getCursorStates())}}class InsertCursorAtTopOfLineSelected extends EditorAction{constructor(){super({id:"editor.action.addCursorsToTop",label:localize("mutlicursor.addCursorsToTop","Add Cursors To Top"),alias:"Add Cursors To Top",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getSelections(),r=[];for(let k=i[0].startLineNumber;k>=1;k--)r.push(new Selection$1(k,i[0].startColumn,k,i[0].endColumn));const g=t._getViewModel(),y=g.getCursorStates();r.length>0&&t.setSelections(r),announceCursorChange(y,g.getCursorStates())}}class MultiCursorSessionResult{constructor(e,t,i){this.selections=e,this.revealRange=t,this.revealScrollType=i}}class MultiCursorSession{static create(e,t){if(!e.hasModel())return null;const i=t.getState();if(!e.hasTextFocus()&&i.isRevealed&&i.searchString.length>0)return new MultiCursorSession(e,t,!1,i.searchString,i.wholeWord,i.matchCase,null);let r=!1,g,y;const k=e.getSelections();k.length===1&&k[0].isEmpty()?(r=!0,g=!0,y=!0):(g=i.wholeWord,y=i.matchCase);const L=e.getSelection();let V,z=null;if(L.isEmpty()){const j=e.getConfiguredWordAtPosition(L.getStartPosition());if(!j)return null;V=j.word,z=new Selection$1(L.startLineNumber,j.startColumn,L.startLineNumber,j.endColumn)}else V=e.getModel().getValueInRange(L).replace(/\r\n/g,"\n");return new MultiCursorSession(e,t,r,V,g,y,z)}constructor(e,t,i,r,g,y,k){this._editor=e,this.findController=t,this.isDisconnectedFromFindController=i,this.searchText=r,this.wholeWord=g,this.matchCase=y,this.currentMatch=k}addSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.concat(e),e,0)}moveSelectionToNextFindMatch(){if(!this._editor.hasModel())return null;const e=this._getNextMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.slice(0,t.length-1).concat(e),e,0)}_getNextMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findNextMatch(this.searchText,t.getEndPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Selection$1(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}addSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.concat(e),e,0)}moveSelectionToPreviousFindMatch(){if(!this._editor.hasModel())return null;const e=this._getPreviousMatch();if(!e)return null;const t=this._editor.getSelections();return new MultiCursorSessionResult(t.slice(0,t.length-1).concat(e),e,0)}_getPreviousMatch(){if(!this._editor.hasModel())return null;if(this.currentMatch){const r=this.currentMatch;return this.currentMatch=null,r}this.findController.highlightFindOptions();const e=this._editor.getSelections(),t=e[e.length-1],i=this._editor.getModel().findPreviousMatch(this.searchText,t.getStartPosition(),!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1);return i?new Selection$1(i.range.startLineNumber,i.range.startColumn,i.range.endLineNumber,i.range.endColumn):null}selectAll(e){if(!this._editor.hasModel())return[];this.findController.highlightFindOptions();const t=this._editor.getModel();return e?t.findMatches(this.searchText,e,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824):t.findMatches(this.searchText,!0,!1,this.matchCase,this.wholeWord?this._editor.getOption(131):null,!1,1073741824)}}class MultiCursorSelectionController extends Disposable{static get(e){return e.getContribution(MultiCursorSelectionController.ID)}constructor(e){super(),this._sessionDispose=this._register(new DisposableStore),this._editor=e,this._ignoreSelectionChange=!1,this._session=null}dispose(){this._endSession(),super.dispose()}_beginSessionIfNeeded(e){if(!this._session){const t=MultiCursorSession.create(this._editor,e);if(!t)return;this._session=t;const i={searchString:this._session.searchText};this._session.isDisconnectedFromFindController&&(i.wholeWordOverride=1,i.matchCaseOverride=1,i.isRegexOverride=2),e.getState().change(i,!1),this._sessionDispose.add(this._editor.onDidChangeCursorSelection(r=>{this._ignoreSelectionChange||this._endSession()})),this._sessionDispose.add(this._editor.onDidBlurEditorText(()=>{this._endSession()})),this._sessionDispose.add(e.getState().onFindReplaceStateChange(r=>{(r.matchCase||r.wholeWord)&&this._endSession()}))}}_endSession(){if(this._sessionDispose.clear(),this._session&&this._session.isDisconnectedFromFindController){const e={wholeWordOverride:0,matchCaseOverride:0,isRegexOverride:0};this._session.findController.getState().change(e,!1)}this._session=null}_setSelections(e){this._ignoreSelectionChange=!0,this._editor.setSelections(e),this._ignoreSelectionChange=!1}_expandEmptyToWord(e,t){if(!t.isEmpty())return t;const i=this._editor.getConfiguredWordAtPosition(t.getStartPosition());return i?new Selection$1(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):t}_applySessionResult(e){e&&(this._setSelections(e.selections),e.revealRange&&this._editor.revealRangeInCenterIfOutsideViewport(e.revealRange,e.revealScrollType))}getSession(e){return this._session}addSelectionToNextFindMatch(e){if(this._editor.hasModel()){if(!this._session){const t=this._editor.getSelections();if(t.length>1){const r=e.getState().matchCase;if(!modelRangesContainSameText(this._editor.getModel(),t,r)){const y=this._editor.getModel(),k=[];for(let L=0,V=t.length;L0&&i.isRegex){const r=this._editor.getModel();i.searchScope?t=r.findMatches(i.searchString,i.searchScope,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824):t=r.findMatches(i.searchString,!0,i.isRegex,i.matchCase,i.wholeWord?this._editor.getOption(131):null,!1,1073741824)}else{if(this._beginSessionIfNeeded(e),!this._session)return;t=this._session.selectAll(i.searchScope)}if(t.length>0){const r=this._editor.getSelection();for(let g=0,y=t.length;gnew Selection$1(g.range.startLineNumber,g.range.startColumn,g.range.endLineNumber,g.range.endColumn)))}}}MultiCursorSelectionController.ID="editor.contrib.multiCursorController";class MultiCursorSelectionControllerAction extends EditorAction{run(e,t){const i=MultiCursorSelectionController.get(t);if(!i)return;const r=t._getViewModel();if(r){const g=r.getCursorStates(),y=CommonFindController.get(t);if(y)this._run(i,y);else{const k=e.get(IInstantiationService).createInstance(CommonFindController,t);this._run(i,k),k.dispose()}announceCursorChange(g,r.getCursorStates())}}}class AddSelectionToNextFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToNextFindMatch",label:localize("addSelectionToNextFindMatch","Add Selection To Next Find Match"),alias:"Add Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2082,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"Add &&Next Occurrence"),order:5}})}_run(e,t){e.addSelectionToNextFindMatch(t)}}class AddSelectionToPreviousFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.addSelectionToPreviousFindMatch",label:localize("addSelectionToPreviousFindMatch","Add Selection To Previous Find Match"),alias:"Add Selection To Previous Find Match",precondition:void 0,menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"Add P&&revious Occurrence"),order:6}})}_run(e,t){e.addSelectionToPreviousFindMatch(t)}}class MoveSelectionToNextFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToNextFindMatch",label:localize("moveSelectionToNextFindMatch","Move Last Selection To Next Find Match"),alias:"Move Last Selection To Next Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:KeyChord(2089,2082),weight:100}})}_run(e,t){e.moveSelectionToNextFindMatch(t)}}class MoveSelectionToPreviousFindMatchAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.moveSelectionToPreviousFindMatch",label:localize("moveSelectionToPreviousFindMatch","Move Last Selection To Previous Find Match"),alias:"Move Last Selection To Previous Find Match",precondition:void 0})}_run(e,t){e.moveSelectionToPreviousFindMatch(t)}}class SelectHighlightsAction extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.selectHighlights",label:localize("selectAllOccurrencesOfFindMatch","Select All Occurrences of Find Match"),alias:"Select All Occurrences of Find Match",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3114,weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"3_multi",title:localize({},"Select All &&Occurrences"),order:7}})}_run(e,t){e.selectAll(t)}}class CompatChangeAll extends MultiCursorSelectionControllerAction{constructor(){super({id:"editor.action.changeAll",label:localize("changeAll.label","Change All Occurrences"),alias:"Change All Occurrences",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.editorTextFocus),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:2108,weight:100},contextMenuOpts:{group:"1_modification",order:1.2}})}_run(e,t){e.selectAll(t)}}class SelectionHighlighterState{constructor(e,t,i,r,g){this._model=e,this._searchText=t,this._matchCase=i,this._wordSeparators=r,this._modelVersionId=this._model.getVersionId(),this._cachedFindMatches=null,g&&this._model===g._model&&this._searchText===g._searchText&&this._matchCase===g._matchCase&&this._wordSeparators===g._wordSeparators&&this._modelVersionId===g._modelVersionId&&(this._cachedFindMatches=g._cachedFindMatches)}findMatches(){return this._cachedFindMatches===null&&(this._cachedFindMatches=this._model.findMatches(this._searchText,!0,!1,this._matchCase,this._wordSeparators,!1).map(e=>e.range),this._cachedFindMatches.sort(Range$2.compareRangesUsingStarts)),this._cachedFindMatches}}let SelectionHighlighter=SelectionHighlighter_1=class extends Disposable{constructor(e,t){super(),this._languageFeaturesService=t,this.editor=e,this._isEnabled=e.getOption(108),this._decorations=e.createDecorationsCollection(),this.updateSoon=this._register(new RunOnceScheduler(()=>this._update(),300)),this.state=null,this._register(e.onDidChangeConfiguration(r=>{this._isEnabled=e.getOption(108)})),this._register(e.onDidChangeCursorSelection(r=>{this._isEnabled&&(r.selection.isEmpty()?r.reason===3?(this.state&&this._setState(null),this.updateSoon.schedule()):this._setState(null):this._update())})),this._register(e.onDidChangeModel(r=>{this._setState(null)})),this._register(e.onDidChangeModelContent(r=>{this._isEnabled&&this.updateSoon.schedule()}));const i=CommonFindController.get(e);i&&this._register(i.getState().onFindReplaceStateChange(r=>{this._update()})),this.updateSoon.schedule()}_update(){this._setState(SelectionHighlighter_1._createState(this.state,this._isEnabled,this.editor))}static _createState(e,t,i){if(!t||!i.hasModel())return null;const r=i.getSelection();if(r.startLineNumber!==r.endLineNumber)return null;const g=MultiCursorSelectionController.get(i);if(!g)return null;const y=CommonFindController.get(i);if(!y)return null;let k=g.getSession(y);if(!k){const z=i.getSelections();if(z.length>1){const ie=y.getState().matchCase;if(!modelRangesContainSameText(i.getModel(),z,ie))return null}k=MultiCursorSession.create(i,y)}if(!k||k.currentMatch||/^[ \t]+$/.test(k.searchText)||k.searchText.length>200)return null;const L=y.getState(),V=L.matchCase;if(L.isRevealed){let z=L.searchString;V||(z=z.toLowerCase());let j=k.searchText;if(V||(j=j.toLowerCase()),z===j&&k.matchCase===L.matchCase&&k.wholeWord===L.wholeWord&&!L.isRegex)return null}return new SelectionHighlighterState(i.getModel(),k.searchText,k.matchCase,k.wholeWord?i.getOption(131):null,e)}_setState(e){if(this.state=e,!this.state){this._decorations.clear();return}if(!this.editor.hasModel())return;const t=this.editor.getModel();if(t.isTooLargeForTokenization())return;const i=this.state.findMatches(),r=this.editor.getSelections();r.sort(Range$2.compareRangesUsingStarts);const g=[];for(let V=0,z=0,j=i.length,ie=r.length;V=ie)g.push(oe),V++;else{const re=Range$2.compareRangesUsingStarts(oe,r[z]);re<0?((r[z].isEmpty()||!Range$2.areIntersecting(oe,r[z]))&&g.push(oe),V++):(re>0||V++,z++)}}const y=this.editor.getOption(81)!=="off",k=this._languageFeaturesService.documentHighlightProvider.has(t)&&y,L=g.map(V=>({range:V,options:getSelectionHighlightDecorationOptions(k)}));this._decorations.set(L)}dispose(){this._setState(null),super.dispose()}};SelectionHighlighter.ID="editor.contrib.selectionHighlighter";SelectionHighlighter=SelectionHighlighter_1=__decorate$y([__param$u(1,ILanguageFeaturesService)],SelectionHighlighter);function modelRangesContainSameText(n,e,t){const i=getValueInRange(n,e[0],!t);for(let r=1,g=e.length;r=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$t=function(n,e){return function(t,i){e(t,i,n)}};const INLINE_EDIT_DESCRIPTION="inline-edit";let GhostTextWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.languageService=i,this.isDisposed=observableValue(this,!1),this.currentTextModel=observableFromEvent(this.editor.onDidChangeModel,()=>this.editor.getModel()),this.uiState=derived(this,r=>{var g;if(this.isDisposed.read(r))return;const y=this.currentTextModel.read(r);if(y!==this.model.targetTextModel.read(r))return;const k=this.model.ghostText.read(r);if(!k)return;let L=(g=this.model.range)===null||g===void 0?void 0:g.read(r);L&&L.startLineNumber===L.endLineNumber&&L.startColumn===L.endColumn&&(L=void 0);const V=(L?L.startLineNumber===L.endLineNumber:!0)&&k.parts.length===1&&k.parts[0].lines.length===1,z=k.parts.length===1&&k.parts[0].lines.every(he=>he.length===0),j=[],ie=[];function oe(he,pe){if(ie.length>0){const Ce=ie[ie.length-1];pe&&Ce.decorations.push(new LineDecoration(Ce.content.length+1,Ce.content.length+1+he[0].length,pe,0)),Ce.content+=he[0],he=he.slice(1)}for(const Ce of he)ie.push({content:Ce,decorations:pe?[new LineDecoration(1,Ce.length+1,pe,0)]:[]})}const re=y.getLineContent(k.lineNumber);let ae,le=0;if(!z){for(const he of k.parts){let pe=he.lines;L&&!V&&(oe(pe,INLINE_EDIT_DESCRIPTION),pe=[]),ae===void 0?(j.push({column:he.column,text:pe[0],preview:he.preview}),pe=pe.slice(1)):oe([re.substring(le,he.column-1)],void 0),pe.length>0&&(oe(pe,INLINE_EDIT_DESCRIPTION),ae===void 0&&he.column<=re.length&&(ae=he.column)),le=he.column-1}ae!==void 0&&oe([re.substring(le)],void 0)}const de=ae!==void 0?new ColumnRange(ae,re.length+1):void 0,ue=V||!L?k.lineNumber:L.endLineNumber-1;return{inlineTexts:j,additionalLines:ie,hiddenRange:de,lineNumber:ue,additionalReservedLineCount:this.model.minReservedLineCount.read(r),targetTextModel:y,range:L,isSingleLine:V,isPureRemove:z,backgroundColoring:this.model.backgroundColoring.read(r)}}),this.decorations=derived(this,r=>{const g=this.uiState.read(r);if(!g)return[];const y=[];if(g.hiddenRange&&y.push({range:g.hiddenRange.toRange(g.lineNumber),options:{inlineClassName:"inline-edit-hidden",description:"inline-edit-hidden"}}),g.range){const k=[];if(g.isSingleLine)k.push(g.range);else if(g.isPureRemove){const V=g.range.endLineNumber-g.range.startLineNumber;for(let z=0;z{const g=this.uiState.read(r);return g&&!g.isPureRemove?{lineNumber:g.lineNumber,additionalLines:g.additionalLines,minReservedLineCount:g.additionalReservedLineCount,targetTextModel:g.targetTextModel}:void 0}))),this._register(toDisposable(()=>{this.isDisposed.set(!0,void 0)})),this._register(applyObservableDecorations(this.editor,this.decorations))}ownsViewZone(e){return this.additionalLinesWidget.viewZoneId===e}};GhostTextWidget=__decorate$x([__param$t(2,ILanguageService)],GhostTextWidget);var __decorate$w=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$s=function(n,e){return function(t,i){e(t,i,n)}},InlineEditHintsContentWidget_1;let InlineEditHintsWidget=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.model=t,this.instantiationService=i,this.alwaysShowToolbar=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).showToolbar==="always"),this.sessionPosition=void 0,this.position=derived(this,r=>{var g,y,k;const L=(g=this.model.read(r))===null||g===void 0?void 0:g.widget.model.ghostText.read(r);if(!this.alwaysShowToolbar.read(r)||!L||L.parts.length===0)return this.sessionPosition=void 0,null;const V=L.parts[0].column;this.sessionPosition&&this.sessionPosition.lineNumber!==L.lineNumber&&(this.sessionPosition=void 0);const z=new Position$1(L.lineNumber,Math.min(V,(k=(y=this.sessionPosition)===null||y===void 0?void 0:y.column)!==null&&k!==void 0?k:Number.MAX_SAFE_INTEGER));return this.sessionPosition=z,z}),this._register(autorunWithStore((r,g)=>{if(!this.model.read(r)||!this.alwaysShowToolbar.read(r))return;const k=g.add(this.instantiationService.createInstance(InlineEditHintsContentWidget,this.editor,!0,this.position));e.addContentWidget(k),g.add(toDisposable(()=>e.removeContentWidget(k)))}))}};InlineEditHintsWidget=__decorate$w([__param$s(2,IInstantiationService)],InlineEditHintsWidget);let InlineEditHintsContentWidget=InlineEditHintsContentWidget_1=class extends Disposable{constructor(e,t,i,r,g,y){super(),this.editor=e,this.withBorder=t,this._position=i,this._contextKeyService=g,this._menuService=y,this.id="InlineEditHintsContentWidget".concat(InlineEditHintsContentWidget_1.id++),this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this.nodes=h("div.inlineEditHints",{className:this.withBorder?".withBorder":""},[h("div@toolBar")]),this.inlineCompletionsActionsMenus=this._register(this._menuService.createMenu(MenuId.InlineEditActions,this._contextKeyService)),this.toolBar=this._register(r.createInstance(CustomizedMenuWorkbenchToolBar,this.nodes.toolBar,this.editor,MenuId.InlineEditToolbar,{menuOptions:{renderShortTitle:!0},toolbarOptions:{primaryGroup:k=>k.startsWith("primary")},actionViewItemProvider:(k,L)=>{if(k instanceof MenuItemAction)return r.createInstance(StatusBarViewItem,k,void 0)},telemetrySource:"InlineEditToolbar"})),this._register(this.toolBar.onDidChangeDropdownVisibility(k=>{InlineEditHintsContentWidget_1._dropDownVisible=k})),this._register(autorun(k=>{this._position.read(k),this.editor.layoutContentWidget(this)})),this._register(autorun(k=>{const L=[];for(const[V,z]of this.inlineCompletionsActionsMenus.getActions())for(const j of z)j instanceof MenuItemAction&&L.push(j);L.length>0&&L.unshift(new Separator),this.toolBar.setAdditionalSecondaryActions(L)}))}getId(){return this.id}getDomNode(){return this.nodes.root}getPosition(){return{position:this._position.get(),preference:[1,2],positionAffinity:3}}};InlineEditHintsContentWidget._dropDownVisible=!1;InlineEditHintsContentWidget.id=0;InlineEditHintsContentWidget=InlineEditHintsContentWidget_1=__decorate$w([__param$s(3,IInstantiationService),__param$s(4,IContextKeyService),__param$s(5,IMenuService)],InlineEditHintsContentWidget);class StatusBarViewItem extends MenuEntryActionViewItem{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id,this._contextKeyService);if(!e)return super.updateLabel();if(this.label){const t=h("div.keybinding").root;this._register(new KeybindingLabel(t,OS,{disableTitle:!0,...unthemedKeybindingLabelOptions})).set(e),this.label.textContent=this._action.label,this.label.appendChild(t),this.label.classList.add("inlineEditStatusBarItemLabel")}}updateTooltip(){}}let CustomizedMenuWorkbenchToolBar=class extends WorkbenchToolBar{constructor(e,t,i,r,g,y,k,L,V){super(e,{resetMenu:i,...r},g,y,k,L,V),this.editor=t,this.menuId=i,this.options2=r,this.menuService=g,this.contextKeyService=y,this.menu=this._store.add(this.menuService.createMenu(this.menuId,this.contextKeyService,{emitEventsForSubmenuChanges:!0})),this.additionalActions=[],this.prependedPrimaryActions=[],this._store.add(this.menu.onDidChange(()=>this.updateToolbar())),this._store.add(this.editor.onDidChangeCursorPosition(()=>this.updateToolbar())),this.updateToolbar()}updateToolbar(){var e,t,i,r,g,y,k;const L=[],V=[];createAndFillInActionBarActions(this.menu,(e=this.options2)===null||e===void 0?void 0:e.menuOptions,{primary:L,secondary:V},(i=(t=this.options2)===null||t===void 0?void 0:t.toolbarOptions)===null||i===void 0?void 0:i.primaryGroup,(g=(r=this.options2)===null||r===void 0?void 0:r.toolbarOptions)===null||g===void 0?void 0:g.shouldInlineSubmenu,(k=(y=this.options2)===null||y===void 0?void 0:y.toolbarOptions)===null||k===void 0?void 0:k.useSeparatorsInPrimaryActions),V.push(...this.additionalActions),L.unshift(...this.prependedPrimaryActions),this.setActions(L,V)}setAdditionalSecondaryActions(e){equals$3(this.additionalActions,e,(t,i)=>t===i)||(this.additionalActions=e,this.updateToolbar())}};CustomizedMenuWorkbenchToolBar=__decorate$w([__param$s(4,IMenuService),__param$s(5,IContextKeyService),__param$s(6,IContextMenuService),__param$s(7,IKeybindingService),__param$s(8,ITelemetryService)],CustomizedMenuWorkbenchToolBar);var __decorate$v=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$r=function(n,e){return function(t,i){e(t,i,n)}},InlineEditController_1;class InlineEditWidget{constructor(e,t){this.widget=e,this.edit=t}dispose(){this.widget.dispose()}}let InlineEditController=InlineEditController_1=class extends Disposable{static get(e){return e.getContribution(InlineEditController_1.ID)}constructor(e,t,i,r,g,y){super(),this.editor=e,this.instantiationService=t,this.contextKeyService=i,this.languageFeaturesService=r,this._commandService=g,this._configurationService=y,this._isVisibleContext=InlineEditController_1.inlineEditVisibleContext.bindTo(this.contextKeyService),this._isCursorAtInlineEditContext=InlineEditController_1.cursorAtInlineEditContext.bindTo(this.contextKeyService),this._currentEdit=this._register(disposableObservableValue(this,void 0)),this._isAccepting=observableValue(this,!1),this._enabled=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).enabled),this._fontFamily=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).fontFamily),this._backgroundColoring=observableFromEvent(this.editor.onDidChangeConfiguration,()=>this.editor.getOption(63).backgroundColoring);const k=observableSignalFromEvent("InlineEditController.modelContentChangedSignal",e.onDidChangeModelContent);this._register(autorun(ie=>{this._enabled.read(ie)&&(k.read(ie),!this._isAccepting.read(ie)&&this.getInlineEdit(e,!0))}));const L=observableFromEvent(e.onDidChangeCursorPosition,()=>e.getPosition());this._register(autorun(ie=>{if(!this._enabled.read(ie))return;const oe=L.read(ie);oe&&this.checkCursorPosition(oe)})),this._register(autorun(ie=>{const oe=this._currentEdit.read(ie);if(this._isCursorAtInlineEditContext.set(!1),!oe){this._isVisibleContext.set(!1);return}this._isVisibleContext.set(!0);const re=e.getPosition();re&&this.checkCursorPosition(re)}));const V=observableSignalFromEvent("InlineEditController.editorBlurSignal",e.onDidBlurEditorWidget);this._register(autorun(async ie=>{var oe;this._enabled.read(ie)&&(V.read(ie),!(this._configurationService.getValue("editor.experimentalInlineEdit.keepOnBlur")||e.getOption(63).keepOnBlur)&&((oe=this._currentRequestCts)===null||oe===void 0||oe.dispose(!0),this._currentRequestCts=void 0,await this.clear(!1)))}));const z=observableSignalFromEvent("InlineEditController.editorFocusSignal",e.onDidFocusEditorText);this._register(autorun(ie=>{this._enabled.read(ie)&&(z.read(ie),this.getInlineEdit(e,!0))}));const j=this._register(createStyleSheet2());this._register(autorun(ie=>{const oe=this._fontFamily.read(ie);j.setStyle(oe===""||oe==="default"?"":"\n.monaco-editor .inline-edit-decoration,\n.monaco-editor .inline-edit-decoration-preview,\n.monaco-editor .inline-edit {\n font-family: ".concat(oe,";\n}"))})),this._register(new InlineEditHintsWidget(this.editor,this._currentEdit,this.instantiationService))}checkCursorPosition(e){var t;if(!this._currentEdit){this._isCursorAtInlineEditContext.set(!1);return}const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;if(!i){this._isCursorAtInlineEditContext.set(!1);return}this._isCursorAtInlineEditContext.set(Range$2.containsPosition(i.range,e))}validateInlineEdit(e,t){var i,r;if(t.text.includes("\n")&&t.range.startLineNumber!==t.range.endLineNumber&&t.range.startColumn!==t.range.endColumn){if(t.range.startColumn!==1)return!1;const y=t.range.endLineNumber,k=t.range.endColumn,L=(r=(i=e.getModel())===null||i===void 0?void 0:i.getLineLength(y))!==null&&r!==void 0?r:0;if(k!==L+1)return!1}return!0}async fetchInlineEdit(e,t){this._currentRequestCts&&this._currentRequestCts.dispose(!0);const i=e.getModel();if(!i)return;const r=i.getVersionId(),g=this.languageFeaturesService.inlineEditProvider.all(i);if(g.length===0)return;const y=g[0];this._currentRequestCts=new CancellationTokenSource$1;const k=this._currentRequestCts.token,L=t?InlineEditTriggerKind$1.Automatic:InlineEditTriggerKind$1.Invoke;if(t&&await wait(50,k),k.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)return;const z=await y.provideInlineEdit(i,{triggerKind:L},k);if(z&&!(k.isCancellationRequested||i.isDisposed()||i.getVersionId()!==r)&&this.validateInlineEdit(e,z))return z}async getInlineEdit(e,t){var i;this._isCursorAtInlineEditContext.set(!1),await this.clear();const r=await this.fetchInlineEdit(e,t);if(!r)return;const g=r.range.endLineNumber,y=r.range.endColumn,k=new GhostText(g,[new GhostTextPart(y,r.text,!1)]),L=this.instantiationService.createInstance(GhostTextWidget,this.editor,{ghostText:constObservable(k),minReservedLineCount:constObservable(0),targetTextModel:constObservable((i=this.editor.getModel())!==null&&i!==void 0?i:void 0),range:constObservable(r.range),backgroundColoring:this._backgroundColoring});this._currentEdit.set(new InlineEditWidget(L,r),void 0)}async trigger(){await this.getInlineEdit(this.editor,!1)}async jumpBack(){this._jumpBackPosition&&(this.editor.setPosition(this._jumpBackPosition),this.editor.revealPositionInCenterIfOutsideViewport(this._jumpBackPosition))}async accept(){var e;this._isAccepting.set(!0,void 0);const t=(e=this._currentEdit.get())===null||e===void 0?void 0:e.edit;if(!t)return;let i=t.text;t.text.startsWith("\n")&&(i=t.text.substring(1)),this.editor.pushUndoStop(),this.editor.executeEdits("acceptCurrent",[EditOperation.replace(Range$2.lift(t.range),i)]),t.accepted&&await this._commandService.executeCommand(t.accepted.id,...t.accepted.arguments||[]).then(void 0,onUnexpectedExternalError),this.freeEdit(t),transaction(r=>{this._currentEdit.set(void 0,r),this._isAccepting.set(!1,r)})}jumpToCurrent(){var e,t;this._jumpBackPosition=(e=this.editor.getSelection())===null||e===void 0?void 0:e.getStartPosition();const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;if(!i)return;const r=Position$1.lift({lineNumber:i.range.startLineNumber,column:i.range.startColumn});this.editor.setPosition(r),this.editor.revealPositionInCenterIfOutsideViewport(r)}async clear(e=!0){var t;const i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.edit;i&&(i!=null&&i.rejected)&&e&&await this._commandService.executeCommand(i.rejected.id,...i.rejected.arguments||[]).then(void 0,onUnexpectedExternalError),i&&this.freeEdit(i),this._currentEdit.set(void 0,void 0)}freeEdit(e){const t=this.editor.getModel();if(!t)return;const i=this.languageFeaturesService.inlineEditProvider.all(t);i.length!==0&&i[0].freeInlineEdit(e)}shouldShowHoverAt(e){const t=this._currentEdit.get();if(!t)return!1;const i=t.edit,r=t.widget.model;if(Range$2.containsPosition(i.range,e.getStartPosition())||Range$2.containsPosition(i.range,e.getEndPosition()))return!0;const y=r.ghostText.get();return y?y.parts.some(k=>e.containsPosition(new Position$1(y.lineNumber,k.column))):!1}shouldShowHoverAtViewZone(e){var t,i;return(i=(t=this._currentEdit.get())===null||t===void 0?void 0:t.widget.ownsViewZone(e))!==null&&i!==void 0?i:!1}};InlineEditController.ID="editor.contrib.inlineEditController";InlineEditController.inlineEditVisibleKey="inlineEditVisible";InlineEditController.inlineEditVisibleContext=new RawContextKey(InlineEditController_1.inlineEditVisibleKey,!1);InlineEditController.cursorAtInlineEditKey="cursorAtInlineEdit";InlineEditController.cursorAtInlineEditContext=new RawContextKey(InlineEditController_1.cursorAtInlineEditKey,!1);InlineEditController=InlineEditController_1=__decorate$v([__param$r(1,IInstantiationService),__param$r(2,IContextKeyService),__param$r(3,ILanguageFeaturesService),__param$r(4,ICommandService),__param$r(5,IConfigurationService)],InlineEditController);function wait(n,e){return new Promise(t=>{let i;const r=setTimeout(()=>{i&&i.dispose(),t()},n);e&&(i=e.onCancellationRequested(()=>{clearTimeout(r),i&&i.dispose(),t()}))})}class AcceptInlineEdit extends EditorAction{constructor(){super({id:inlineEditAcceptId,label:"Accept Inline Edit",alias:"Accept Inline Edit",precondition:ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext),kbOpts:[{weight:101,primary:2,kbExpr:ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext,InlineEditController.cursorAtInlineEditContext)}],menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Accept",group:"primary",order:1}]})}async run(e,t){const i=InlineEditController.get(t);await(i==null?void 0:i.accept())}}class TriggerInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,ContextKeyExpr.not(InlineEditController.inlineEditVisibleKey));super({id:"editor.action.inlineEdit.trigger",label:"Trigger Inline Edit",alias:"Trigger Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e}})}async run(e,t){const i=InlineEditController.get(t);i==null||i.trigger()}}class JumpToInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext,ContextKeyExpr.not(InlineEditController.cursorAtInlineEditKey));super({id:inlineEditJumpToId,label:"Jump to Inline Edit",alias:"Jump to Inline Edit",precondition:e,kbOpts:{weight:101,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Jump To Edit",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController.get(t);i==null||i.jumpToCurrent()}}class JumpBackInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.cursorAtInlineEditContext);super({id:inlineEditJumpBackId,label:"Jump Back from Inline Edit",alias:"Jump Back from Inline Edit",precondition:e,kbOpts:{weight:110,primary:2646,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Jump Back",group:"primary",order:3,when:e}]})}async run(e,t){const i=InlineEditController.get(t);i==null||i.jumpBack()}}class RejectInlineEdit extends EditorAction{constructor(){const e=ContextKeyExpr.and(EditorContextKeys.writable,InlineEditController.inlineEditVisibleContext);super({id:inlineEditRejectId,label:"Reject Inline Edit",alias:"Reject Inline Edit",precondition:e,kbOpts:{weight:100,primary:9,kbExpr:e},menuOpts:[{menuId:MenuId.InlineEditToolbar,title:"Reject",group:"secondary",order:2}]})}async run(e,t){const i=InlineEditController.get(t);await(i==null?void 0:i.clear())}}var __decorate$u=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$q=function(n,e){return function(t,i){e(t,i,n)}};class InlineEditHover{constructor(e,t,i){this.owner=e,this.range=t,this.controller=i}isValidForHoverAnchor(e){return e.type===1&&this.range.startColumn<=e.range.startColumn&&this.range.endColumn>=e.range.endColumn}}let InlineEditHoverParticipant=class{constructor(e,t,i){this._editor=e,this._instantiationService=t,this._telemetryService=i,this.hoverOrdinal=5}suggestHoverAnchor(e){const t=InlineEditController.get(this._editor);if(!t)return null;const i=e.target;if(i.type===8){const r=i.detail;if(t.shouldShowHoverAtViewZone(r.viewZoneId)){const g=i.range;return new HoverForeignElementAnchor(1e3,this,g,e.event.posx,e.event.posy,!1)}}return i.type===7&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1):i.type===6&&i.detail.mightBeForeignElement&&t.shouldShowHoverAt(i.range)?new HoverForeignElementAnchor(1e3,this,i.range,e.event.posx,e.event.posy,!1):null}computeSync(e,t){if(this._editor.getOption(63).showToolbar!=="onHover")return[];const i=InlineEditController.get(this._editor);return i&&i.shouldShowHoverAt(e.range)?[new InlineEditHover(this,e.range,i)]:[]}renderHoverParts(e,t){const i=new DisposableStore;this._telemetryService.publicLog2("inlineEditHover.shown");const r=this._instantiationService.createInstance(InlineEditHintsContentWidget,this._editor,!1,constObservable(null));return e.fragment.appendChild(r.getDomNode()),i.add(r),i}};InlineEditHoverParticipant=__decorate$u([__param$q(1,IInstantiationService),__param$q(2,ITelemetryService)],InlineEditHoverParticipant);registerEditorAction(AcceptInlineEdit);registerEditorAction(RejectInlineEdit);registerEditorAction(JumpToInlineEdit);registerEditorAction(JumpBackInlineEdit);registerEditorAction(TriggerInlineEdit);registerEditorContribution(InlineEditController.ID,InlineEditController,3);HoverParticipantRegistry.register(InlineEditHoverParticipant);const Context={Visible:new RawContextKey("parameterHintsVisible",!1),MultipleSignatures:new RawContextKey("parameterHintsMultipleSignatures",!1)};async function provideSignatureHelp(n,e,t,i,r){const g=n.ordered(e);for(const y of g)try{const k=await y.provideSignatureHelp(e,t,r,i);if(k)return k}catch(k){onUnexpectedExternalError(k)}}CommandsRegistry.registerCommand("_executeSignatureHelpProvider",async(n,...e)=>{const[t,i,r]=e;assertType(URI.isUri(t)),assertType(Position$1.isIPosition(i)),assertType(typeof r=="string"||!r);const g=n.get(ILanguageFeaturesService),y=await n.get(ITextModelService).createModelReference(t);try{const k=await provideSignatureHelp(g.signatureHelpProvider,y.object.textEditorModel,Position$1.lift(i),{triggerKind:SignatureHelpTriggerKind$1.Invoke,isRetrigger:!1,triggerCharacter:r},CancellationToken.None);return k?(setTimeout(()=>k.dispose(),0),k.value):void 0}finally{y.dispose()}});var ParameterHintState;(function(n){n.Default={type:0};class e{constructor(r,g){this.request=r,this.previouslyActiveHints=g,this.type=2}}n.Pending=e;class t{constructor(r){this.hints=r,this.type=1}}n.Active=t})(ParameterHintState||(ParameterHintState={}));class ParameterHintsModel extends Disposable{constructor(e,t,i=ParameterHintsModel.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new Emitter$1),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=ParameterHintState.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new MutableDisposable),this.triggerChars=new CharacterSet,this.retriggerChars=new CharacterSet,this.triggerId=0,this.editor=e,this.providers=t,this.throttledDelayer=new Delayer(i),this._register(this.editor.onDidBlurEditorWidget(()=>this.cancel())),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(r=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(r=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(r=>this.onCursorChange(r))),this._register(this.editor.onDidChangeModelContent(r=>this.onModelContentChange())),this._register(this.providers.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(r=>this.onDidType(r))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){this._state.type===2&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=ParameterHintState.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!this.providers.has(i))return;const r=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(r),t).catch(onUnexpectedError)}next(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e===e-1,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?0:t+1)}previous(){if(this.state.type!==1)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t===0,r=this.editor.getOption(86).cycle;if((e<2||i)&&!r){this.cancel();return}this.updateActiveSignature(i&&r?e-1:t-1)}updateActiveSignature(e){this.state.type===1&&(this.state=new ParameterHintState.Active({...this.state.hints,activeSignature:e}),this._onChangedHints.fire(this.state.hints))}async doTrigger(e){const t=this.state.type===1||this.state.type===2,i=this.getLastActiveHints();if(this.cancel(!0),this._pendingTriggers.length===0)return!1;const r=this._pendingTriggers.reduce(mergeTriggerContexts);this._pendingTriggers=[];const g={triggerKind:r.triggerKind,triggerCharacter:r.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const y=this.editor.getModel(),k=this.editor.getPosition();this.state=new ParameterHintState.Pending(createCancelablePromise(L=>provideSignatureHelp(this.providers,y,k,g,L)),i);try{const L=await this.state.request;return e!==this.triggerId?(L==null||L.dispose(),!1):!L||!L.value.signatures||L.value.signatures.length===0?(L==null||L.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1):(this.state=new ParameterHintState.Active(L.value),this._lastSignatureHelpResult.value=L,this._onChangedHints.fire(this.state.hints),!0)}catch(L){return e===this.triggerId&&(this.state=ParameterHintState.Default),onUnexpectedError(L),!1}}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return this.state.type===1||this.state.type===2||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars.clear(),this.retriggerChars.clear();const e=this.editor.getModel();if(e)for(const t of this.providers.ordered(e)){for(const i of t.signatureHelpTriggerCharacters||[])if(i.length){const r=i.charCodeAt(0);this.triggerChars.add(r),this.retriggerChars.add(r)}for(const i of t.signatureHelpRetriggerCharacters||[])i.length&&this.retriggerChars.add(i.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){e.source==="mouse"?this.cancel():this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:SignatureHelpTriggerKind$1.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(86).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}ParameterHintsModel.DEFAULT_DELAY=120;function mergeTriggerContexts(n,e){switch(e.triggerKind){case SignatureHelpTriggerKind$1.Invoke:return e;case SignatureHelpTriggerKind$1.ContentChange:return n;case SignatureHelpTriggerKind$1.TriggerCharacter:default:return e}}var __decorate$t=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$p=function(n,e){return function(t,i){e(t,i,n)}},ParameterHintsWidget_1;const $$1=$$f,parameterHintsNextIcon=registerIcon("parameter-hints-next",Codicon.chevronDown,localize("parameterHintsNextIcon","Icon for show next parameter hint.")),parameterHintsPreviousIcon=registerIcon("parameter-hints-previous",Codicon.chevronUp,localize("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let ParameterHintsWidget=ParameterHintsWidget_1=class extends Disposable{constructor(e,t,i,r,g){super(),this.editor=e,this.model=t,this.renderDisposeables=this._register(new DisposableStore),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new MarkdownRenderer({editor:e},g,r)),this.keyVisible=Context.Visible.bindTo(i),this.keyMultipleSignatures=Context.MultipleSignatures.bindTo(i)}createParameterHintDOMNodes(){const e=$$1(".editor-widget.parameter-hints-widget"),t=append$1(e,$$1(".phwrapper"));t.tabIndex=-1;const i=append$1(t,$$1(".controls")),r=append$1(i,$$1(".button"+ThemeIcon.asCSSSelector(parameterHintsPreviousIcon))),g=append$1(i,$$1(".overloads")),y=append$1(i,$$1(".button"+ThemeIcon.asCSSSelector(parameterHintsNextIcon)));this._register(addDisposableListener(r,"click",ie=>{EventHelper$1.stop(ie),this.previous()})),this._register(addDisposableListener(y,"click",ie=>{EventHelper$1.stop(ie),this.next()}));const k=$$1(".body"),L=new DomScrollableElement(k,{alwaysConsumeMouseWheel:!0});this._register(L),t.appendChild(L.getDomNode());const V=append$1(k,$$1(".signature")),z=append$1(k,$$1(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:V,overloads:g,docs:z,scrollbar:L},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(ie=>{this.visible&&this.editor.layoutContentWidget(this)}));const j=()=>{if(!this.domNodes)return;const ie=this.editor.getOption(50);this.domNodes.element.style.fontSize="".concat(ie.fontSize,"px"),this.domNodes.element.style.lineHeight="".concat(ie.lineHeight/ie.fontSize)};j(),this._register(Event$1.chain(this.editor.onDidChangeConfiguration.bind(this.editor),ie=>ie.filter(oe=>oe.hasChanged(50)))(j)),this._register(this.editor.onDidLayoutChange(ie=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParameterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{var e;(e=this.domNodes)===null||e===void 0||e.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){var e;this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,(e=this.domNodes)===null||e===void 0||e.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const r=e.signatures[e.activeSignature];if(!r)return;const g=append$1(this.domNodes.signature,$$1(".code")),y=this.editor.getOption(50);g.style.fontSize="".concat(y.fontSize,"px"),g.style.fontFamily=y.fontFamily;const k=r.parameters.length>0,L=(t=r.activeParameter)!==null&&t!==void 0?t:e.activeParameter;if(k)this.renderParameters(g,r,L);else{const j=append$1(g,$$1("span"));j.textContent=r.label}const V=r.parameters[L];if(V!=null&&V.documentation){const j=$$1("span.documentation");if(typeof V.documentation=="string")j.textContent=V.documentation;else{const ie=this.renderMarkdownDocs(V.documentation);j.appendChild(ie.element)}append$1(this.domNodes.docs,$$1("p",{},j))}if(r.documentation!==void 0)if(typeof r.documentation=="string")append$1(this.domNodes.docs,$$1("p",{},r.documentation));else{const j=this.renderMarkdownDocs(r.documentation);append$1(this.domNodes.docs,j.element)}const z=this.hasDocs(r,V);if(this.domNodes.signature.classList.toggle("has-docs",z),this.domNodes.docs.classList.toggle("empty",!z),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,V){let j="";const ie=r.parameters[L];Array.isArray(ie.label)?j=r.label.substring(ie.label[0],ie.label[1]):j=ie.label,ie.documentation&&(j+=typeof ie.documentation=="string"?", ".concat(ie.documentation):", ".concat(ie.documentation.value)),r.documentation&&(j+=typeof r.documentation=="string"?", ".concat(r.documentation):", ".concat(r.documentation.value)),this.announcedLabel!==j&&(alert(localize("hint","{0}, hint",j)),this.announcedLabel=j)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var i;(i=this.domNodes)===null||i===void 0||i.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&typeof t.documentation=="string"&&assertIsDefined(t.documentation).length>0||t&&typeof t.documentation=="object"&&assertIsDefined(t.documentation).value.length>0||e.documentation&&typeof e.documentation=="string"&&assertIsDefined(e.documentation).length>0||e.documentation&&typeof e.documentation=="object"&&assertIsDefined(e.documentation.value).length>0)}renderParameters(e,t,i){const[r,g]=this.getParameterLabelOffsets(t,i),y=document.createElement("span");y.textContent=t.label.substring(0,r);const k=document.createElement("span");k.textContent=t.label.substring(r,g),k.className="parameter active";const L=document.createElement("span");L.textContent=t.label.substring(g),append$1(e,y,k,L)}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const r=new RegExp("(\\W|^)".concat(escapeRegExpCharacters(i.label),"(?=\\W|$)"),"g");r.test(e.label);const g=r.lastIndex-i.label.length;return g>=0?[g,r.lastIndex]:[0,0]}else return[0,0]}else return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}getDomNode(){return this.domNodes||this.createParameterHintDOMNodes(),this.domNodes.element}getId(){return ParameterHintsWidget_1.ID}updateMaxHeight(){if(!this.domNodes)return;const e=Math.max(this.editor.getLayoutInfo().height/4,250),t="".concat(e,"px");this.domNodes.element.style.maxHeight=t;const i=this.domNodes.element.getElementsByClassName("phwrapper");i.length&&(i[0].style.maxHeight=t)}};ParameterHintsWidget.ID="editor.widget.parameterHintsWidget";ParameterHintsWidget=ParameterHintsWidget_1=__decorate$t([__param$p(2,IContextKeyService),__param$p(3,IOpenerService),__param$p(4,ILanguageService)],ParameterHintsWidget);registerColor("editorHoverWidget.highlightForeground",{dark:listHighlightForeground,light:listHighlightForeground,hcDark:listHighlightForeground,hcLight:listHighlightForeground},localize("editorHoverWidgetHighlightForeground","Foreground color of the active item in the parameter hint."));var __decorate$s=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$o=function(n,e){return function(t,i){e(t,i,n)}},ParameterHintsController_1;let ParameterHintsController=ParameterHintsController_1=class extends Disposable{static get(e){return e.getContribution(ParameterHintsController_1.ID)}constructor(e,t,i){super(),this.editor=e,this.model=this._register(new ParameterHintsModel(e,i.signatureHelpProvider)),this._register(this.model.onChangedHints(r=>{var g;r?(this.widget.value.show(),this.widget.value.render(r)):(g=this.widget.rawValue)===null||g===void 0||g.hide()})),this.widget=new Lazy(()=>this._register(t.createInstance(ParameterHintsWidget,this.editor,this.model)))}cancel(){this.model.cancel()}previous(){var e;(e=this.widget.rawValue)===null||e===void 0||e.previous()}next(){var e;(e=this.widget.rawValue)===null||e===void 0||e.next()}trigger(e){this.model.trigger(e,0)}};ParameterHintsController.ID="editor.controller.parameterHints";ParameterHintsController=ParameterHintsController_1=__decorate$s([__param$o(1,IInstantiationService),__param$o(2,ILanguageFeaturesService)],ParameterHintsController);class TriggerParameterHintsAction extends EditorAction{constructor(){super({id:"editor.action.triggerParameterHints",label:localize("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:EditorContextKeys.hasSignatureHelpProvider,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=ParameterHintsController.get(t);i==null||i.trigger({triggerKind:SignatureHelpTriggerKind$1.Invoke})}}registerEditorContribution(ParameterHintsController.ID,ParameterHintsController,2);registerEditorAction(TriggerParameterHintsAction);const weight$1=175,ParameterHintsCommand=EditorCommand.bindToContribution(ParameterHintsController.get);registerEditorCommand(new ParameterHintsCommand({id:"closeParameterHints",precondition:Context.Visible,handler:n=>n.cancel(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}}));registerEditorCommand(new ParameterHintsCommand({id:"showPrevParameterHint",precondition:ContextKeyExpr.and(Context.Visible,Context.MultipleSignatures),handler:n=>n.previous(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}}));registerEditorCommand(new ParameterHintsCommand({id:"showNextParameterHint",precondition:ContextKeyExpr.and(Context.Visible,Context.MultipleSignatures),handler:n=>n.next(),kbOpts:{weight:weight$1,kbExpr:EditorContextKeys.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}));var __decorate$r=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$n=function(n,e){return function(t,i){e(t,i,n)}};const CONTEXT_RENAME_INPUT_VISIBLE=new RawContextKey("renameInputVisible",!1,localize("renameInputVisible","Whether the rename input widget is visible"));new RawContextKey("renameInputFocused",!1,localize("renameInputFocused","Whether the rename input widget is focused"));let RenameWidget=class{constructor(e,t,i,r,g,y){this._editor=e,this._acceptKeybindings=t,this._themeService=i,this._keybindingService=r,this._logService=y,this.allowEditorOverflow=!0,this._disposables=new DisposableStore,this._visibleContextKey=CONTEXT_RENAME_INPUT_VISIBLE.bindTo(g),this._isEditingRenameCandidate=!1,this._beforeFirstInputFieldEditSW=new StopWatch,this._input=new RenameInput,this._disposables.add(this._input),this._editor.addContentWidget(this),this._disposables.add(this._editor.onDidChangeConfiguration(k=>{k.hasChanged(50)&&this._updateFont()})),this._disposables.add(i.onDidColorThemeChange(this._updateStyles,this))}dispose(){this._disposables.dispose(),this._editor.removeContentWidget(this)}getId(){return"__renameInputWidget"}getDomNode(){return this._domNode||(this._domNode=document.createElement("div"),this._domNode.className="monaco-editor rename-box",this._domNode.appendChild(this._input.domNode),this._renameCandidateListView=this._disposables.add(new RenameCandidateListView(this._domNode,{fontInfo:this._editor.getOption(50),onFocusChange:e=>{this._input.domNode.value=e,this._isEditingRenameCandidate=!1},onSelectionChange:()=>{this._isEditingRenameCandidate=!1,this.acceptInput(!1)}})),this._disposables.add(this._input.onDidChange(()=>{var e,t,i,r;((e=this._renameCandidateListView)===null||e===void 0?void 0:e.focusedCandidate)!==void 0&&(this._isEditingRenameCandidate=!0),(t=this._timeBeforeFirstInputFieldEdit)!==null&&t!==void 0||(this._timeBeforeFirstInputFieldEdit=this._beforeFirstInputFieldEditSW.elapsed()),((i=this._renameCandidateProvidersCts)===null||i===void 0?void 0:i.token.isCancellationRequested)===!1&&this._renameCandidateProvidersCts.cancel(),(r=this._renameCandidateListView)===null||r===void 0||r.clearFocus()})),this._label=document.createElement("div"),this._label.className="rename-label",this._domNode.appendChild(this._label),this._updateFont(),this._updateStyles(this._themeService.getColorTheme())),this._domNode}_updateStyles(e){var t,i,r,g;if(!this._domNode)return;const y=e.getColor(widgetShadow),k=e.getColor(widgetBorder);this._domNode.style.backgroundColor=String((t=e.getColor(editorWidgetBackground))!==null&&t!==void 0?t:""),this._domNode.style.boxShadow=y?" 0 0 8px 2px ".concat(y):"",this._domNode.style.border=k?"1px solid ".concat(k):"",this._domNode.style.color=String((i=e.getColor(inputForeground))!==null&&i!==void 0?i:""),this._input.domNode.style.backgroundColor=String((r=e.getColor(inputBackground))!==null&&r!==void 0?r:"");const L=e.getColor(inputBorder);this._input.domNode.style.borderWidth=L?"1px":"0px",this._input.domNode.style.borderStyle=L?"solid":"none",this._input.domNode.style.borderColor=(g=L==null?void 0:L.toString())!==null&&g!==void 0?g:"none"}_updateFont(){if(this._domNode===void 0)return;assertType(this._label!==void 0,"RenameWidget#_updateFont: _label must not be undefined given _domNode is defined"),this._editor.applyFontInfo(this._input.domNode);const e=this._editor.getOption(50);this._label.style.fontSize="".concat(this._computeLabelFontSize(e.fontSize),"px")}_computeLabelFontSize(e){return e*.8}getPosition(){if(!this._visible||!this._editor.hasModel()||!this._editor.getDomNode())return null;const e=getClientArea(this.getDomNode().ownerDocument.body),t=getDomNodePagePosition(this._editor.getDomNode()),i=this._getTopForPosition();this._nPxAvailableAbove=i+t.top,this._nPxAvailableBelow=e.height-this._nPxAvailableAbove;const r=this._editor.getOption(67),{totalHeight:g}=RenameCandidateView.getLayoutInfo({lineHeight:r}),y=this._nPxAvailableBelow>g*6?[2,1]:[1,2];return{position:this._position,preference:y}}beforeRender(){var e,t;const[i,r]=this._acceptKeybindings;return this._label.innerText=localize({},"{0} to Rename, {1} to Preview",(e=this._keybindingService.lookupKeybinding(i))===null||e===void 0?void 0:e.getLabel(),(t=this._keybindingService.lookupKeybinding(r))===null||t===void 0?void 0:t.getLabel()),this._domNode.style.minWidth="200px",null}afterRender(e){if(this._trace("invoking afterRender, position: ",e?"not null":"null"),e===null){this.cancelInput(!0,"afterRender (because position is null)");return}if(!this._editor.hasModel()||!this._editor.getDomNode())return;assertType(this._renameCandidateListView),assertType(this._nPxAvailableAbove!==void 0),assertType(this._nPxAvailableBelow!==void 0);const t=getTotalHeight(this._input.domNode),i=getTotalHeight(this._label);let r;e===2?r=this._nPxAvailableBelow:r=this._nPxAvailableAbove,this._renameCandidateListView.layout({height:r-i-t,width:getTotalWidth(this._input.domNode)})}acceptInput(e){var t;this._trace("invoking acceptInput"),(t=this._currentAcceptInput)===null||t===void 0||t.call(this,e)}cancelInput(e,t){var i;this._trace("invoking cancelInput, caller: ".concat(t,", _currentCancelInput: ").concat(this._currentAcceptInput?"not undefined":"undefined")),(i=this._currentCancelInput)===null||i===void 0||i.call(this,e)}focusNextRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusNext()||(this._input.domNode.value=this._currentName)}focusPreviousRenameSuggestion(){var e;!((e=this._renameCandidateListView)===null||e===void 0)&&e.focusPrevious()||(this._input.domNode.value=this._currentName)}getInput(e,t,i,r,g){const{start:y,end:k}=this._getSelection(e,t);this._renameCandidateProvidersCts=new CancellationTokenSource$1;const L=r(this._renameCandidateProvidersCts.token);this._updateRenameCandidates(L,t,g.token),this._isEditingRenameCandidate=!1,this._domNode.classList.toggle("preview",i),this._position=new Position$1(e.startLineNumber,e.startColumn),this._currentName=t,this._input.domNode.value=t,this._input.domNode.setAttribute("selectionStart",y.toString()),this._input.domNode.setAttribute("selectionEnd",k.toString()),this._input.domNode.size=Math.max((e.endColumn-e.startColumn)*1.1,20),this._beforeFirstInputFieldEditSW.reset();const V=new DisposableStore;V.add(toDisposable(()=>g.dispose(!0))),V.add(toDisposable(()=>{this._renameCandidateProvidersCts!==void 0&&(this._renameCandidateProvidersCts.dispose(!0),this._renameCandidateProvidersCts=void 0)}));const z=new DeferredPromise;return z.p.finally(()=>{V.dispose(),this._hide()}),this._currentCancelInput=j=>{var ie;return this._trace("invoking _currentCancelInput"),this._currentAcceptInput=void 0,this._currentCancelInput=void 0,(ie=this._renameCandidateListView)===null||ie===void 0||ie.clearCandidates(),z.complete(j),!0},this._currentAcceptInput=j=>{this._trace("invoking _currentAcceptInput"),assertType(this._renameCandidateListView!==void 0);const ie=this._renameCandidateListView.nCandidates;let oe,re;const ae=this._renameCandidateListView.focusedCandidate;if(ae!==void 0?(this._trace("using new name from renameSuggestion"),oe=ae,re={k:"renameSuggestion"}):(this._trace("using new name from inputField"),oe=this._input.domNode.value,re=this._isEditingRenameCandidate?{k:"userEditedRenameSuggestion"}:{k:"inputField"}),oe===t||oe.trim().length===0){this.cancelInput(!0,"_currentAcceptInput (because newName === value || newName.trim().length === 0)");return}this._currentAcceptInput=void 0,this._currentCancelInput=void 0,this._renameCandidateListView.clearCandidates(),z.complete({newName:oe,wantsPreview:i&&j,stats:{source:re,nRenameSuggestions:ie,timeBeforeFirstInputFieldEdit:this._timeBeforeFirstInputFieldEdit}})},V.add(g.token.onCancellationRequested(()=>this.cancelInput(!0,"cts.token.onCancellationRequested"))),V.add(this._editor.onDidBlurEditorWidget(()=>{var j;return this.cancelInput(!(!((j=this._domNode)===null||j===void 0)&&j.ownerDocument.hasFocus()),"editor.onDidBlurEditorWidget")})),this._show(),z.p}_getSelection(e,t){assertType(this._editor.hasModel());const i=this._editor.getSelection();let r=0,g=t.length;return!Range$2.isEmpty(i)&&!Range$2.spansMultipleLines(i)&&Range$2.containsRange(e,i)&&(r=Math.max(0,i.startColumn-e.startColumn),g=Math.min(e.endColumn,i.endColumn)-e.startColumn),{start:r,end:g}}_show(){this._trace("invoking _show"),this._editor.revealLineInCenterIfOutsideViewport(this._position.lineNumber,0),this._visible=!0,this._visibleContextKey.set(!0),this._editor.layoutContentWidget(this),setTimeout(()=>{this._input.domNode.focus(),this._input.domNode.setSelectionRange(parseInt(this._input.domNode.getAttribute("selectionStart")),parseInt(this._input.domNode.getAttribute("selectionEnd")))},100)}async _updateRenameCandidates(e,t,i){const r=(...V)=>this._trace("_updateRenameCandidates",...V);r("start");const g=await raceCancellation(Promise.allSettled(e),i);if(g===void 0){r("returning early - received updateRenameCandidates results - undefined");return}const y=g.flatMap(V=>V.status==="fulfilled"&&isDefined(V.value)?V.value:[]);r("received updateRenameCandidates results - total (unfiltered) ".concat(y.length," candidates."));const k=distinct(y,V=>V.newSymbolName);r("distinct candidates - ".concat(k.length," candidates."));const L=k.filter(({newSymbolName:V})=>V.trim().length>0&&V!==this._input.domNode.value&&V!==t);if(r("valid distinct candidates - ".concat(y.length," candidates.")),L.length<1){r("returning early - no valid distinct candidates");return}r("setting candidates"),this._renameCandidateListView.setCandidates(L),r("asking editor to re-layout"),this._editor.layoutContentWidget(this)}_hide(){this._trace("invoked _hide"),this._visible=!1,this._visibleContextKey.reset(),this._editor.layoutContentWidget(this)}_getTopForPosition(){const e=this._editor.getVisibleRanges();let t;return e.length>0?t=e[0].startLineNumber:(this._logService.warn("RenameWidget#_getTopForPosition: this should not happen - visibleRanges is empty"),t=Math.max(1,this._position.lineNumber-5)),this._editor.getTopForLineNumber(this._position.lineNumber)-this._editor.getTopForLineNumber(t)}_trace(...e){this._logService.trace("RenameWidget",...e)}};RenameWidget=__decorate$r([__param$n(2,IThemeService),__param$n(3,IKeybindingService),__param$n(4,IContextKeyService),__param$n(5,ILogService)],RenameWidget);class RenameCandidateListView{constructor(e,t){this._disposables=new DisposableStore,this._availableHeight=0,this._minimumWidth=0,this._lineHeight=t.fontInfo.lineHeight,this._typicalHalfwidthCharacterWidth=t.fontInfo.typicalHalfwidthCharacterWidth,this._listContainer=document.createElement("div"),e.appendChild(this._listContainer),this._listWidget=RenameCandidateListView._createListWidget(this._listContainer,this._candidateViewHeight,t.fontInfo),this._listWidget.onDidChangeFocus(i=>{i.elements.length===1&&t.onFocusChange(i.elements[0].newSymbolName)},this._disposables),this._listWidget.onDidChangeSelection(i=>{i.elements.length===1&&t.onSelectionChange()},this._disposables),this._disposables.add(this._listWidget.onDidBlur(i=>{this._listWidget.setFocus([])})),this._listWidget.style(getListStyles({listInactiveFocusForeground:quickInputListFocusForeground,listInactiveFocusBackground:quickInputListFocusBackground}))}dispose(){this._listWidget.dispose(),this._disposables.dispose()}layout({height:e,width:t}){this._availableHeight=e,this._minimumWidth=t}setCandidates(e){this._listWidget.splice(0,0,e);const t=this._pickListHeight(e.length),i=this._pickListWidth(e);this._listWidget.layout(t,i),this._listContainer.style.height="".concat(t,"px"),this._listContainer.style.width="".concat(i,"px"),status(localize("renameSuggestionsReceivedAria","Received {0} rename suggestions",e.length))}clearCandidates(){this._listContainer.style.height="0px",this._listContainer.style.width="0px",this._listWidget.splice(0,this._listWidget.length,[])}get nCandidates(){return this._listWidget.length}get focusedCandidate(){if(this._listWidget.length===0)return;const e=this._listWidget.getSelectedElements()[0];if(e!==void 0)return e.newSymbolName;const t=this._listWidget.getFocusedElements()[0];if(t!==void 0)return t.newSymbolName}focusNext(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusFirst(),!0):e[0]===this._listWidget.length-1?(this._listWidget.setFocus([]),!1):(this._listWidget.focusNext(),!0)}focusPrevious(){if(this._listWidget.length===0)return!1;const e=this._listWidget.getFocus();return e.length===0?(this._listWidget.focusLast(),!0):e[0]===0?(this._listWidget.setFocus([]),!1):(this._listWidget.focusPrevious(),!0)}clearFocus(){this._listWidget.setFocus([])}get _candidateViewHeight(){const{totalHeight:e}=RenameCandidateView.getLayoutInfo({lineHeight:this._lineHeight});return e}_pickListHeight(e){const t=this._candidateViewHeight*e;return Math.min(t,this._availableHeight,this._candidateViewHeight*7)}_pickListWidth(e){const t=Math.ceil(Math.max(...e.map(r=>r.newSymbolName.length))*this._typicalHalfwidthCharacterWidth);return Math.max(this._minimumWidth,25+t+10)}static _createListWidget(e,t,i){const r=new class{getTemplateId(y){return"candidate"}getHeight(y){return t}},g=new class{constructor(){this.templateId="candidate"}renderTemplate(y){return new RenameCandidateView(y,i)}renderElement(y,k,L){L.populate(y)}disposeTemplate(y){y.dispose()}};return new List("NewSymbolNameCandidates",e,r,[g],{keyboardSupport:!1,mouseSupport:!0,multipleSelectionSupport:!1})}}class RenameInput{constructor(){this._onDidChange=new Emitter$1,this.onDidChange=this._onDidChange.event,this._disposables=new DisposableStore}get domNode(){return this._domNode||(this._domNode=document.createElement("input"),this._domNode.className="rename-input",this._domNode.type="text",this._domNode.setAttribute("aria-label",localize("renameAriaLabel","Rename input. Type new name and press Enter to commit.")),this._disposables.add(addDisposableListener(this._domNode,"input",()=>this._onDidChange.fire()))),this._domNode}dispose(){this._onDidChange.dispose(),this._disposables.dispose()}}class RenameCandidateView{constructor(e,t){this._domNode=document.createElement("div"),this._domNode.style.display="flex",this._domNode.style.columnGap="5px",this._domNode.style.alignItems="center",this._domNode.style.height="".concat(t.lineHeight,"px"),this._domNode.style.padding="".concat(RenameCandidateView._PADDING,"px");const i=document.createElement("div");i.style.display="flex",i.style.alignItems="center",i.style.width=i.style.height="".concat(t.lineHeight*.8,"px"),this._domNode.appendChild(i),this._icon=renderIcon(Codicon.sparkle),this._icon.style.display="none",i.appendChild(this._icon),this._label=document.createElement("div"),applyFontInfo(this._label,t),this._domNode.appendChild(this._label),e.appendChild(this._domNode)}populate(e){this._updateIcon(e),this._updateLabel(e)}_updateIcon(e){var t;const i=!!(!((t=e.tags)===null||t===void 0)&&t.includes(NewSymbolNameTag$1.AIGenerated));this._icon.style.display=i?"inherit":"none"}_updateLabel(e){this._label.innerText=e.newSymbolName}static getLayoutInfo({lineHeight:e}){return{totalHeight:e+RenameCandidateView._PADDING*2}}dispose(){}}RenameCandidateView._PADDING=2;var __decorate$q=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$m=function(n,e){return function(t,i){e(t,i,n)}},RenameController_1;class RenameSkeleton{constructor(e,t,i){this.model=e,this.position=t,this._providerRenameIdx=0,this._providers=i.ordered(e)}hasProvider(){return this._providers.length>0}async resolveRenameLocation(e){const t=[];for(this._providerRenameIdx=0;this._providerRenameIdx0?t.join("\n"):void 0}:{range:Range$2.fromPositions(this.position),text:"",rejectReason:t.length>0?t.join("\n"):void 0}}async provideRenameEdits(e,t){return this._provideRenameEdits(e,this._providerRenameIdx,[],t)}async _provideRenameEdits(e,t,i,r){const g=this._providers[t];if(!g)return{edits:[],rejectReason:i.join("\n")};const y=await g.provideRenameEdits(this.model,this.position,e,r);if(y){if(y.rejectReason)return this._provideRenameEdits(e,t+1,i.concat(y.rejectReason),r)}else return this._provideRenameEdits(e,t+1,i.concat(localize("no result","No result.")),r);return y}}async function rename(n,e,t,i){const r=new RenameSkeleton(e,t,n),g=await r.resolveRenameLocation(CancellationToken.None);return g!=null&&g.rejectReason?{edits:[],rejectReason:g.rejectReason}:r.provideRenameEdits(i,CancellationToken.None)}let RenameController=RenameController_1=class{static get(e){return e.getContribution(RenameController_1.ID)}constructor(e,t,i,r,g,y,k,L,V){this.editor=e,this._instaService=t,this._notificationService=i,this._bulkEditService=r,this._progressService=g,this._logService=y,this._configService=k,this._languageFeaturesService=L,this._telemetryService=V,this._disposableStore=new DisposableStore,this._cts=new CancellationTokenSource$1,this._renameWidget=this._disposableStore.add(this._instaService.createInstance(RenameWidget,this.editor,["acceptRenameInput","acceptRenameInputWithPreview"]))}dispose(){this._disposableStore.dispose(),this._cts.dispose(!0)}async run(){var e,t;const i=this._logService.trace.bind(this._logService,"[rename]");if(this._cts.dispose(!0),this._cts=new CancellationTokenSource$1,!this.editor.hasModel()){i("editor has no model");return}const r=this.editor.getPosition(),g=new RenameSkeleton(this.editor.getModel(),r,this._languageFeaturesService.renameProvider);if(!g.hasProvider()){i("skeleton has no provider");return}const y=new EditorStateCancellationTokenSource(this.editor,5,void 0,this._cts.token);let k;try{i("resolving rename location");const ae=g.resolveRenameLocation(y.token);this._progressService.showWhile(ae,250),k=await ae,i("resolved rename location")}catch(ae){ae instanceof CancellationError?i("resolve rename location cancelled",JSON.stringify(ae,null," ")):(i("resolve rename location failed",ae instanceof Error?ae:JSON.stringify(ae,null," ")),(typeof ae=="string"||isMarkdownString(ae))&&((e=MessageController.get(this.editor))===null||e===void 0||e.showMessage(ae||localize("resolveRenameLocationFailed","An unknown error occurred while resolving rename location"),r)));return}finally{y.dispose()}if(!k){i("returning early - no loc");return}if(k.rejectReason){i("returning early - rejected with reason: ".concat(k.rejectReason),k.rejectReason),(t=MessageController.get(this.editor))===null||t===void 0||t.showMessage(k.rejectReason,r);return}if(y.token.isCancellationRequested){i("returning early - cts1 cancelled");return}const L=new EditorStateCancellationTokenSource(this.editor,5,k.range,this._cts.token),V=this.editor.getModel(),z=this._languageFeaturesService.newSymbolNamesProvider.all(V),j=ae=>z.map(le=>le.provideNewSymbolNames(V,k.range,ae));i("creating rename input field and awaiting its result");const ie=this._bulkEditService.hasPreviewHandler()&&this._configService.getValue(this.editor.getModel().uri,"editor.rename.enablePreview"),oe=await this._renameWidget.getInput(k.range,k.text,ie,j,L);if(i("received response from rename input field"),z.length>0&&this._reportTelemetry(z.length,V.getLanguageId(),oe),typeof oe=="boolean"){i("returning early - rename input field response - ".concat(oe)),oe&&this.editor.focus(),L.dispose();return}this.editor.focus(),i("requesting rename edits");const re=raceCancellation(g.provideRenameEdits(oe.newName,L.token),L.token).then(async ae=>{if(!ae){i("returning early - no rename edits result");return}if(!this.editor.hasModel()){i("returning early - no model after rename edits are provided");return}if(ae.rejectReason){i("returning early - rejected with reason: ".concat(ae.rejectReason)),this._notificationService.info(ae.rejectReason);return}this.editor.setSelection(Range$2.fromPositions(this.editor.getSelection().getPosition())),i("applying edits"),this._bulkEditService.apply(ae,{editor:this.editor,showPreview:oe.wantsPreview,label:localize("label","Renaming '{0}' to '{1}'",k==null?void 0:k.text,oe.newName),code:"undoredo.rename",quotableLabel:localize("quotableLabel","Renaming {0} to {1}",k==null?void 0:k.text,oe.newName),respectAutoSaveConfig:!0}).then(le=>{i("edits applied"),le.ariaSummary&&alert(localize("aria","Successfully renamed '{0}' to '{1}'. Summary: {2}",k.text,oe.newName,le.ariaSummary))}).catch(le=>{i("error when applying edits ".concat(JSON.stringify(le,null," "))),this._notificationService.error(localize("rename.failedApply","Rename failed to apply edits")),this._logService.error(le)})},ae=>{i("error when providing rename edits",JSON.stringify(ae,null," ")),this._notificationService.error(localize("rename.failed","Rename failed to compute edits")),this._logService.error(ae)}).finally(()=>{L.dispose()});return i("returning rename operation"),this._progressService.showWhile(re,250),re}acceptRenameInput(e){this._renameWidget.acceptInput(e)}cancelRenameInput(){this._renameWidget.cancelInput(!0,"cancelRenameInput command")}focusNextRenameSuggestion(){this._renameWidget.focusNextRenameSuggestion()}focusPreviousRenameSuggestion(){this._renameWidget.focusPreviousRenameSuggestion()}_reportTelemetry(e,t,i){const r=typeof i=="boolean"?{kind:"cancelled",languageId:t,nRenameSuggestionProviders:e}:{kind:"accepted",languageId:t,nRenameSuggestionProviders:e,source:i.stats.source.k,nRenameSuggestions:i.stats.nRenameSuggestions,timeBeforeFirstInputFieldEdit:i.stats.timeBeforeFirstInputFieldEdit,wantsPreview:i.wantsPreview};this._telemetryService.publicLog2("renameInvokedEvent",r)}};RenameController.ID="editor.contrib.renameController";RenameController=RenameController_1=__decorate$q([__param$m(1,IInstantiationService),__param$m(2,INotificationService),__param$m(3,IBulkEditService),__param$m(4,IEditorProgressService),__param$m(5,ILogService),__param$m(6,ITextResourceConfigurationService),__param$m(7,ILanguageFeaturesService),__param$m(8,ITelemetryService)],RenameController);class RenameAction extends EditorAction{constructor(){super({id:"editor.action.rename",label:localize("rename.label","Rename Symbol"),alias:"Rename Symbol",precondition:ContextKeyExpr.and(EditorContextKeys.writable,EditorContextKeys.hasRenameProvider),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:60,weight:100},contextMenuOpts:{group:"1_modification",order:1.1}})}runCommand(e,t){const i=e.get(ICodeEditorService),[r,g]=Array.isArray(t)&&t||[void 0,void 0];return URI.isUri(r)&&Position$1.isIPosition(g)?i.openCodeEditor({resource:r},i.getActiveCodeEditor()).then(y=>{y&&(y.setPosition(g),y.invokeWithinContext(k=>(this.reportTelemetry(k,y),this.run(k,y))))},onUnexpectedError):super.runCommand(e,t)}run(e,t){const i=e.get(ILogService),r=RenameController.get(t);return r?(i.trace("[RenameAction] got controller, running..."),r.run()):(i.trace("[RenameAction] returning early - controller missing"),Promise.resolve())}}registerEditorContribution(RenameController.ID,RenameController,4);registerEditorAction(RenameAction);const RenameCommand=EditorCommand.bindToContribution(RenameController.get);registerEditorCommand(new RenameCommand({id:"acceptRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:n=>n.acceptRenameInput(!1),kbOpts:{weight:199,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:3}}));registerEditorCommand(new RenameCommand({id:"acceptRenameInputWithPreview",precondition:ContextKeyExpr.and(CONTEXT_RENAME_INPUT_VISIBLE,ContextKeyExpr.has("config.editor.rename.enablePreview")),handler:n=>n.acceptRenameInput(!0),kbOpts:{weight:199,kbExpr:ContextKeyExpr.and(EditorContextKeys.focus,ContextKeyExpr.not("isComposing")),primary:2051}}));registerEditorCommand(new RenameCommand({id:"cancelRenameInput",precondition:CONTEXT_RENAME_INPUT_VISIBLE,handler:n=>n.cancelRenameInput(),kbOpts:{weight:199,kbExpr:EditorContextKeys.focus,primary:9,secondary:[1033]}}));registerAction2(class extends Action2{constructor(){super({id:"focusNextRenameSuggestion",title:{...localize2("focusNextRenameSuggestion","Focus Next Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:2,secondary:[18],weight:199}]})}run(e){const t=e.get(ICodeEditorService).getFocusedCodeEditor();if(!t)return;const i=RenameController.get(t);i&&i.focusNextRenameSuggestion()}});registerAction2(class extends Action2{constructor(){super({id:"focusPreviousRenameSuggestion",title:{...localize2("focusPreviousRenameSuggestion","Focus Previous Rename Suggestion")},precondition:CONTEXT_RENAME_INPUT_VISIBLE,keybinding:[{primary:1026,secondary:[16],weight:199}]})}run(e){const t=e.get(ICodeEditorService).getFocusedCodeEditor();if(!t)return;const i=RenameController.get(t);i&&i.focusPreviousRenameSuggestion()}});registerModelAndPositionCommand("_executeDocumentRenameProvider",function(n,e,t,...i){const[r]=i;assertType(typeof r=="string");const{renameProvider:g}=n.get(ILanguageFeaturesService);return rename(g,e,t,r)});registerModelAndPositionCommand("_executePrepareRename",async function(n,e,t){const{renameProvider:i}=n.get(ILanguageFeaturesService),g=await new RenameSkeleton(e,t,i).resolveRenameLocation(CancellationToken.None);if(g!=null&&g.rejectReason)throw new Error(g.rejectReason);return g});Registry.as(Extensions$6.Configuration).registerConfiguration({id:"editor",properties:{"editor.rename.enablePreview":{scope:5,description:localize("enablePreview","Enable/disable the ability to preview changes before renaming"),default:!0,type:"boolean"}}});var __decorate$p=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$l=function(n,e){return function(t,i){e(t,i,n)}};let SectionHeaderDetector=class extends Disposable{constructor(e,t,i){super(),this.editor=e,this.languageConfigurationService=t,this.editorWorkerService=i,this.decorations=this.editor.createDecorationsCollection(),this.options=this.createOptions(e.getOption(73)),this.computePromise=null,this.currentOccurrences={},this._register(e.onDidChangeModel(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(e.onDidChangeModelLanguage(r=>{this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0)})),this._register(t.onDidChange(r=>{var g;const y=(g=this.editor.getModel())===null||g===void 0?void 0:g.getLanguageId();y&&r.affects(y)&&(this.currentOccurrences={},this.options=this.createOptions(e.getOption(73)),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(e.onDidChangeConfiguration(r=>{this.options&&!r.hasChanged(73)||(this.options=this.createOptions(e.getOption(73)),this.updateDecorations([]),this.stop(),this.computeSectionHeaders.schedule(0))})),this._register(this.editor.onDidChangeModelContent(r=>{this.computeSectionHeaders.schedule()})),this.computeSectionHeaders=this._register(new RunOnceScheduler(()=>{this.findSectionHeaders()},250)),this.computeSectionHeaders.schedule(0)}createOptions(e){if(!e||!this.editor.hasModel())return;const t=this.editor.getModel().getLanguageId();if(!t)return;const i=this.languageConfigurationService.getLanguageConfiguration(t).comments,r=this.languageConfigurationService.getLanguageConfiguration(t).foldingRules;if(!(!i&&!(r!=null&&r.markers)))return{foldingRules:r,findMarkSectionHeaders:e.showMarkSectionHeaders,findRegionSectionHeaders:e.showRegionSectionHeaders}}findSectionHeaders(){var e,t;if(!this.editor.hasModel()||!(!((e=this.options)===null||e===void 0)&&e.findMarkSectionHeaders)&&!(!((t=this.options)===null||t===void 0)&&t.findRegionSectionHeaders))return;const i=this.editor.getModel();if(i.isDisposed()||i.isTooLargeForSyncing())return;const r=i.getVersionId();this.editorWorkerService.findSectionHeaders(i.uri,this.options).then(g=>{i.isDisposed()||i.getVersionId()!==r||this.updateDecorations(g)})}updateDecorations(e){const t=this.editor.getModel();t&&(e=e.filter(g=>{if(!g.shouldBeInComments)return!0;const y=t.validateRange(g.range),k=t.tokenization.getLineTokens(y.startLineNumber),L=k.findTokenIndexAtOffset(y.startColumn-1),V=k.getStandardTokenType(L);return k.getLanguageId(L)===t.getLanguageId()&&V===1}));const i=Object.values(this.currentOccurrences).map(g=>g.decorationId),r=e.map(g=>decoration(g));this.editor.changeDecorations(g=>{const y=g.deltaDecorations(i,r);this.currentOccurrences={};for(let k=0,L=y.length;k0?t[0]:[]}async function getDocumentSemanticTokens(n,e,t,i,r){const g=getDocumentSemanticTokensProviders(n,e),y=await Promise.all(g.map(async k=>{let L,V=null;try{L=await k.provideDocumentSemanticTokens(e,k===t?i:null,r)}catch(z){V=z,L=null}return(!L||!isSemanticTokens(L)&&!isSemanticTokensEdits(L))&&(L=null),new DocumentSemanticTokensResult(k,L,V)}));for(const k of y){if(k.error)throw k.error;if(k.tokens)return k}return y.length>0?y[0]:null}function _getDocumentSemanticTokensProviderHighestGroup(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:null}class DocumentRangeSemanticTokensResult{constructor(e,t){this.provider=e,this.tokens=t}}function hasDocumentRangeSemanticTokensProvider(n,e){return n.has(e)}function getDocumentRangeSemanticTokensProviders(n,e){const t=n.orderedGroups(e);return t.length>0?t[0]:[]}async function getDocumentRangeSemanticTokens(n,e,t,i){const r=getDocumentRangeSemanticTokensProviders(n,e),g=await Promise.all(r.map(async y=>{let k;try{k=await y.provideDocumentRangeSemanticTokens(e,t,i)}catch(L){onUnexpectedExternalError(L),k=null}return(!k||!isSemanticTokens(k))&&(k=null),new DocumentRangeSemanticTokensResult(y,k)}));for(const y of g)if(y.tokens)return y;return g.length>0?g[0]:null}CommandsRegistry.registerCommand("_provideDocumentSemanticTokensLegend",async(n,...e)=>{const[t]=e;assertType(t instanceof URI);const i=n.get(IModelService).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(ILanguageFeaturesService),g=_getDocumentSemanticTokensProviderHighestGroup(r,i);return g?g[0].getLegend():n.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokensLegend",t)});CommandsRegistry.registerCommand("_provideDocumentSemanticTokens",async(n,...e)=>{const[t]=e;assertType(t instanceof URI);const i=n.get(IModelService).getModel(t);if(!i)return;const{documentSemanticTokensProvider:r}=n.get(ILanguageFeaturesService);if(!hasDocumentSemanticTokensProvider(r,i))return n.get(ICommandService).executeCommand("_provideDocumentRangeSemanticTokens",t,i.getFullModelRange());const g=await getDocumentSemanticTokens(r,i,null,null,CancellationToken.None);if(!g)return;const{provider:y,tokens:k}=g;if(!k||!isSemanticTokens(k))return;const L=encodeSemanticTokensDto({id:0,type:"full",data:k.data});return k.resultId&&y.releaseDocumentSemanticTokens(k.resultId),L});CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokensLegend",async(n,...e)=>{const[t,i]=e;assertType(t instanceof URI);const r=n.get(IModelService).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:g}=n.get(ILanguageFeaturesService),y=getDocumentRangeSemanticTokensProviders(g,r);if(y.length===0)return;if(y.length===1)return y[0].getLegend();if(!i||!Range$2.isIRange(i))return console.warn("provideDocumentRangeSemanticTokensLegend might be out-of-sync with provideDocumentRangeSemanticTokens unless a range argument is passed in"),y[0].getLegend();const k=await getDocumentRangeSemanticTokens(g,r,Range$2.lift(i),CancellationToken.None);if(k)return k.provider.getLegend()});CommandsRegistry.registerCommand("_provideDocumentRangeSemanticTokens",async(n,...e)=>{const[t,i]=e;assertType(t instanceof URI),assertType(Range$2.isIRange(i));const r=n.get(IModelService).getModel(t);if(!r)return;const{documentRangeSemanticTokensProvider:g}=n.get(ILanguageFeaturesService),y=await getDocumentRangeSemanticTokens(g,r,Range$2.lift(i),CancellationToken.None);if(!(!y||!y.tokens))return encodeSemanticTokensDto({id:0,type:"full",data:y.tokens.data})});const SEMANTIC_HIGHLIGHTING_SETTING_ID="editor.semanticHighlighting";function isSemanticColoringEnabled(n,e,t){var i;const r=(i=t.getValue(SEMANTIC_HIGHLIGHTING_SETTING_ID,{overrideIdentifier:n.getLanguageId(),resource:n.uri}))===null||i===void 0?void 0:i.enabled;return typeof r=="boolean"?r:e.getColorTheme().semanticHighlighting}var __decorate$o=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$k=function(n,e){return function(t,i){e(t,i,n)}},ModelSemanticColoring_1;let DocumentSemanticTokensFeature=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._watchers=Object.create(null);const k=z=>{this._watchers[z.uri.toString()]=new ModelSemanticColoring(z,e,i,g,y)},L=(z,j)=>{j.dispose(),delete this._watchers[z.uri.toString()]},V=()=>{for(const z of t.getModels()){const j=this._watchers[z.uri.toString()];isSemanticColoringEnabled(z,i,r)?j||k(z):j&&L(z,j)}};t.getModels().forEach(z=>{isSemanticColoringEnabled(z,i,r)&&k(z)}),this._register(t.onModelAdded(z=>{isSemanticColoringEnabled(z,i,r)&&k(z)})),this._register(t.onModelRemoved(z=>{const j=this._watchers[z.uri.toString()];j&&L(z,j)})),this._register(r.onDidChangeConfiguration(z=>{z.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)&&V()})),this._register(i.onDidColorThemeChange(V))}dispose(){for(const e of Object.values(this._watchers))e.dispose();super.dispose()}};DocumentSemanticTokensFeature=__decorate$o([__param$k(0,ISemanticTokensStylingService),__param$k(1,IModelService),__param$k(2,IThemeService),__param$k(3,IConfigurationService),__param$k(4,ILanguageFeatureDebounceService),__param$k(5,ILanguageFeaturesService)],DocumentSemanticTokensFeature);let ModelSemanticColoring=ModelSemanticColoring_1=class extends Disposable{constructor(e,t,i,r,g){super(),this._semanticTokensStylingService=t,this._isDisposed=!1,this._model=e,this._provider=g.documentSemanticTokensProvider,this._debounceInformation=r.for(this._provider,"DocumentSemanticTokens",{min:ModelSemanticColoring_1.REQUEST_MIN_DELAY,max:ModelSemanticColoring_1.REQUEST_MAX_DELAY}),this._fetchDocumentSemanticTokens=this._register(new RunOnceScheduler(()=>this._fetchDocumentSemanticTokensNow(),ModelSemanticColoring_1.REQUEST_MIN_DELAY)),this._currentDocumentResponse=null,this._currentDocumentRequestCancellationTokenSource=null,this._documentProvidersChangeListeners=[],this._providersChangedDuringRequest=!1,this._register(this._model.onDidChangeContent(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeAttached(()=>{this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(this._model.onDidChangeLanguage(()=>{this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(0)}));const y=()=>{dispose(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[];for(const k of this._provider.all(e))typeof k.onDidChange=="function"&&this._documentProvidersChangeListeners.push(k.onDidChange(()=>{if(this._currentDocumentRequestCancellationTokenSource){this._providersChangedDuringRequest=!0;return}this._fetchDocumentSemanticTokens.schedule(0)}))};y(),this._register(this._provider.onDidChange(()=>{y(),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._register(i.onDidColorThemeChange(k=>{this._setDocumentSemanticTokens(null,null,null,[]),this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))})),this._fetchDocumentSemanticTokens.schedule(0)}dispose(){this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._currentDocumentRequestCancellationTokenSource&&(this._currentDocumentRequestCancellationTokenSource.cancel(),this._currentDocumentRequestCancellationTokenSource=null),dispose(this._documentProvidersChangeListeners),this._documentProvidersChangeListeners=[],this._setDocumentSemanticTokens(null,null,null,[]),this._isDisposed=!0,super.dispose()}_fetchDocumentSemanticTokensNow(){if(this._currentDocumentRequestCancellationTokenSource)return;if(!hasDocumentSemanticTokensProvider(this._provider,this._model)){this._currentDocumentResponse&&this._model.tokenization.setSemanticTokens(null,!1);return}if(!this._model.isAttachedToEditor())return;const e=new CancellationTokenSource$1,t=this._currentDocumentResponse?this._currentDocumentResponse.provider:null,i=this._currentDocumentResponse&&this._currentDocumentResponse.resultId||null,r=getDocumentSemanticTokens(this._provider,this._model,t,i,e.token);this._currentDocumentRequestCancellationTokenSource=e,this._providersChangedDuringRequest=!1;const g=[],y=this._model.onDidChangeContent(L=>{g.push(L)}),k=new StopWatch(!1);r.then(L=>{if(this._debounceInformation.update(this._model,k.elapsed()),this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),!L)this._setDocumentSemanticTokens(null,null,null,g);else{const{provider:V,tokens:z}=L,j=this._semanticTokensStylingService.getStyling(V);this._setDocumentSemanticTokens(V,z||null,j,g)}},L=>{L&&(isCancellationError(L)||typeof L.message=="string"&&L.message.indexOf("busy")!==-1)||onUnexpectedError(L),this._currentDocumentRequestCancellationTokenSource=null,y.dispose(),(g.length>0||this._providersChangedDuringRequest)&&(this._fetchDocumentSemanticTokens.isScheduled()||this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model)))})}static _copy(e,t,i,r,g){g=Math.min(g,i.length-r,e.length-t);for(let y=0;y{(r.length>0||this._providersChangedDuringRequest)&&!this._fetchDocumentSemanticTokens.isScheduled()&&this._fetchDocumentSemanticTokens.schedule(this._debounceInformation.get(this._model))};if(this._currentDocumentResponse&&(this._currentDocumentResponse.dispose(),this._currentDocumentResponse=null),this._isDisposed){e&&t&&e.releaseDocumentSemanticTokens(t.resultId);return}if(!e||!i){this._model.tokenization.setSemanticTokens(null,!1);return}if(!t){this._model.tokenization.setSemanticTokens(null,!0),y();return}if(isSemanticTokensEdits(t)){if(!g){this._model.tokenization.setSemanticTokens(null,!0);return}if(t.edits.length===0)t={resultId:t.resultId,data:g.data};else{let k=0;for(const ie of t.edits)k+=(ie.data?ie.data.length:0)-ie.deleteCount;const L=g.data,V=new Uint32Array(L.length+k);let z=L.length,j=V.length;for(let ie=t.edits.length-1;ie>=0;ie--){const oe=t.edits[ie];if(oe.start>L.length){i.warnInvalidEditStart(g.resultId,t.resultId,ie,oe.start,L.length),this._model.tokenization.setSemanticTokens(null,!0);return}const re=z-(oe.start+oe.deleteCount);re>0&&(ModelSemanticColoring_1._copy(L,z-re,V,j-re,re),j-=re),oe.data&&(ModelSemanticColoring_1._copy(oe.data,0,V,j-oe.data.length,oe.data.length),j-=oe.data.length),z=oe.start}z>0&&ModelSemanticColoring_1._copy(L,0,V,0,z),t={resultId:t.resultId,data:V}}}if(isSemanticTokens(t)){this._currentDocumentResponse=new SemanticTokensResponse(e,t.resultId,t.data);const k=toMultilineTokens2(t,i,this._model.getLanguageId());if(r.length>0)for(const L of r)for(const V of k)for(const z of L.changes)V.applyEdit(z.range,z.text);this._model.tokenization.setSemanticTokens(k,!0)}else this._model.tokenization.setSemanticTokens(null,!0);y()}};ModelSemanticColoring.REQUEST_MIN_DELAY=300;ModelSemanticColoring.REQUEST_MAX_DELAY=2e3;ModelSemanticColoring=ModelSemanticColoring_1=__decorate$o([__param$k(1,ISemanticTokensStylingService),__param$k(2,IThemeService),__param$k(3,ILanguageFeatureDebounceService),__param$k(4,ILanguageFeaturesService)],ModelSemanticColoring);class SemanticTokensResponse{constructor(e,t,i){this.provider=e,this.resultId=t,this.data=i}dispose(){this.provider.releaseDocumentSemanticTokens(this.resultId)}}registerEditorFeature(DocumentSemanticTokensFeature);var __decorate$n=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$j=function(n,e){return function(t,i){e(t,i,n)}};let ViewportSemanticTokensContribution=class extends Disposable{constructor(e,t,i,r,g,y){super(),this._semanticTokensStylingService=t,this._themeService=i,this._configurationService=r,this._editor=e,this._provider=y.documentRangeSemanticTokensProvider,this._debounceInformation=g.for(this._provider,"DocumentRangeSemanticTokens",{min:100,max:500}),this._tokenizeViewport=this._register(new RunOnceScheduler(()=>this._tokenizeViewportNow(),100)),this._outstandingRequests=[];const k=()=>{this._editor.hasModel()&&this._tokenizeViewport.schedule(this._debounceInformation.get(this._editor.getModel()))};this._register(this._editor.onDidScrollChange(()=>{k()})),this._register(this._editor.onDidChangeModel(()=>{this._cancelAll(),k()})),this._register(this._editor.onDidChangeModelContent(L=>{this._cancelAll(),k()})),this._register(this._provider.onDidChange(()=>{this._cancelAll(),k()})),this._register(this._configurationService.onDidChangeConfiguration(L=>{L.affectsConfiguration(SEMANTIC_HIGHLIGHTING_SETTING_ID)&&(this._cancelAll(),k())})),this._register(this._themeService.onDidColorThemeChange(()=>{this._cancelAll(),k()})),k()}_cancelAll(){for(const e of this._outstandingRequests)e.cancel();this._outstandingRequests=[]}_removeOutstandingRequest(e){for(let t=0,i=this._outstandingRequests.length;tthis._requestRange(e,i)))}_requestRange(e,t){const i=e.getVersionId(),r=createCancelablePromise(y=>Promise.resolve(getDocumentRangeSemanticTokens(this._provider,e,t,y))),g=new StopWatch(!1);return r.then(y=>{if(this._debounceInformation.update(e,g.elapsed()),!y||!y.tokens||e.isDisposed()||e.getVersionId()!==i)return;const{provider:k,tokens:L}=y,V=this._semanticTokensStylingService.getStyling(k);e.tokenization.setPartialSemanticTokens(t,toMultilineTokens2(L,V,e.getLanguageId()))}).then(()=>this._removeOutstandingRequest(r),()=>this._removeOutstandingRequest(r)),r}};ViewportSemanticTokensContribution.ID="editor.contrib.viewportSemanticTokens";ViewportSemanticTokensContribution=__decorate$n([__param$j(1,ISemanticTokensStylingService),__param$j(2,IThemeService),__param$j(3,IConfigurationService),__param$j(4,ILanguageFeatureDebounceService),__param$j(5,ILanguageFeaturesService)],ViewportSemanticTokensContribution);registerEditorContribution(ViewportSemanticTokensContribution.ID,ViewportSemanticTokensContribution,1);class WordSelectionRangeProvider{constructor(e=!0){this.selectSubwords=e}provideSelectionRanges(e,t){const i=[];for(const r of t){const g=[];i.push(g),this.selectSubwords&&this._addInWordRanges(g,e,r),this._addWordRanges(g,e,r),this._addWhitespaceLine(g,e,r),g.push({range:e.getFullModelRange()})}return i}_addInWordRanges(e,t,i){const r=t.getWordAtPosition(i);if(!r)return;const{word:g,startColumn:y}=r,k=i.column-y;let L=k,V=k,z=0;for(;L>=0;L--){const j=g.charCodeAt(L);if(L!==k&&(j===95||j===45))break;if(isLowerAsciiLetter(j)&&isUpperAsciiLetter(z))break;z=j}for(L+=1;V0&&t.getLineFirstNonWhitespaceColumn(i.lineNumber)===0&&t.getLineLastNonWhitespaceColumn(i.lineNumber)===0&&e.push({range:new Range$2(i.lineNumber,1,i.lineNumber,t.getLineMaxColumn(i.lineNumber))})}}var __decorate$m=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$i=function(n,e){return function(t,i){e(t,i,n)}},SmartSelectController_1;class SelectionRanges{constructor(e,t){this.index=e,this.ranges=t}mov(e){const t=this.index+(e?1:-1);if(t<0||t>=this.ranges.length)return this;const i=new SelectionRanges(t,this.ranges);return i.ranges[t].equalsRange(this.ranges[this.index])?i.mov(e):i}}let SmartSelectController=SmartSelectController_1=class{static get(e){return e.getContribution(SmartSelectController_1.ID)}constructor(e,t){this._editor=e,this._languageFeaturesService=t,this._ignoreSelection=!1}dispose(){var e;(e=this._selectionListener)===null||e===void 0||e.dispose()}async run(e){if(!this._editor.hasModel())return;const t=this._editor.getSelections(),i=this._editor.getModel();if(this._state||await provideSelectionRanges(this._languageFeaturesService.selectionRangeProvider,i,t.map(g=>g.getPosition()),this._editor.getOption(113),CancellationToken.None).then(g=>{var y;if(!(!isNonEmptyArray(g)||g.length!==t.length)&&!(!this._editor.hasModel()||!equals$3(this._editor.getSelections(),t,(k,L)=>k.equalsSelection(L)))){for(let k=0;kL.containsPosition(t[k].getStartPosition())&&L.containsPosition(t[k].getEndPosition())),g[k].unshift(t[k]);this._state=g.map(k=>new SelectionRanges(0,k)),(y=this._selectionListener)===null||y===void 0||y.dispose(),this._selectionListener=this._editor.onDidChangeCursorPosition(()=>{var k;this._ignoreSelection||((k=this._selectionListener)===null||k===void 0||k.dispose(),this._state=void 0)})}}),!this._state)return;this._state=this._state.map(g=>g.mov(e));const r=this._state.map(g=>Selection$1.fromPositions(g.ranges[g.index].getStartPosition(),g.ranges[g.index].getEndPosition()));this._ignoreSelection=!0;try{this._editor.setSelections(r)}finally{this._ignoreSelection=!1}}};SmartSelectController.ID="editor.contrib.smartSelectController";SmartSelectController=SmartSelectController_1=__decorate$m([__param$i(1,ILanguageFeaturesService)],SmartSelectController);class AbstractSmartSelect extends EditorAction{constructor(e,t){super(t),this._forward=e}async run(e,t){const i=SmartSelectController.get(t);i&&await i.run(this._forward)}}class GrowSelectionAction extends AbstractSmartSelect{constructor(){super(!0,{id:"editor.action.smartSelect.expand",label:localize("smartSelect.expand","Expand Selection"),alias:"Expand Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1553,mac:{primary:3345,secondary:[1297]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({},"&&Expand Selection"),order:2}})}}CommandsRegistry.registerCommandAlias("editor.action.smartSelect.grow","editor.action.smartSelect.expand");class ShrinkSelectionAction extends AbstractSmartSelect{constructor(){super(!1,{id:"editor.action.smartSelect.shrink",label:localize("smartSelect.shrink","Shrink Selection"),alias:"Shrink Selection",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1551,mac:{primary:3343,secondary:[1295]},weight:100},menuOpts:{menuId:MenuId.MenubarSelectionMenu,group:"1_basic",title:localize({},"&&Shrink Selection"),order:3}})}}registerEditorContribution(SmartSelectController.ID,SmartSelectController,4);registerEditorAction(GrowSelectionAction);registerEditorAction(ShrinkSelectionAction);async function provideSelectionRanges(n,e,t,i,r){const g=n.all(e).concat(new WordSelectionRangeProvider(i.selectSubwords));g.length===1&&g.unshift(new BracketSelectionRangeProvider);const y=[],k=[];for(const L of g)y.push(Promise.resolve(L.provideSelectionRanges(e,t,r)).then(V=>{if(isNonEmptyArray(V)&&V.length===t.length)for(let z=0;z{if(L.length===0)return[];L.sort((ie,oe)=>Position$1.isBefore(ie.getStartPosition(),oe.getStartPosition())?1:Position$1.isBefore(oe.getStartPosition(),ie.getStartPosition())||Position$1.isBefore(ie.getEndPosition(),oe.getEndPosition())?-1:Position$1.isBefore(oe.getEndPosition(),ie.getEndPosition())?1:0);const V=[];let z;for(const ie of L)(!z||Range$2.containsRange(ie,z)&&!Range$2.equalsRange(ie,z))&&(V.push(ie),z=ie);if(!i.selectLeadingAndTrailingWhitespace)return V;const j=[V[0]];for(let ie=1;ien}),STICKY_INDEX_ATTR="data-sticky-line-index",STICKY_IS_LINE_ATTR="data-sticky-is-line",STICKY_IS_LINE_NUMBER_ATTR="data-sticky-is-line-number",STICKY_IS_FOLDING_ICON_ATTR="data-sticky-is-folding-icon";class StickyScrollWidget extends Disposable{constructor(e){super(),this._editor=e,this._foldingIconStore=new DisposableStore,this._rootDomNode=document.createElement("div"),this._lineNumbersDomNode=document.createElement("div"),this._linesDomNodeScrollable=document.createElement("div"),this._linesDomNode=document.createElement("div"),this._lineHeight=this._editor.getOption(67),this._renderedStickyLines=[],this._lineNumbers=[],this._lastLineRelativePosition=0,this._minContentWidthInPx=0,this._isOnGlyphMargin=!1,this._lineNumbersDomNode.className="sticky-widget-line-numbers",this._lineNumbersDomNode.setAttribute("role","none"),this._linesDomNode.className="sticky-widget-lines",this._linesDomNode.setAttribute("role","list"),this._linesDomNodeScrollable.className="sticky-widget-lines-scrollable",this._linesDomNodeScrollable.appendChild(this._linesDomNode),this._rootDomNode.className="sticky-widget",this._rootDomNode.classList.toggle("peek",e instanceof EmbeddedCodeEditorWidget),this._rootDomNode.appendChild(this._lineNumbersDomNode),this._rootDomNode.appendChild(this._linesDomNodeScrollable);const t=()=>{this._linesDomNode.style.left=this._editor.getOption(115).scrollWithEditor?"-".concat(this._editor.getScrollLeft(),"px"):"0px"};this._register(this._editor.onDidChangeConfiguration(i=>{i.hasChanged(115)&&t(),i.hasChanged(67)&&(this._lineHeight=this._editor.getOption(67))})),this._register(this._editor.onDidScrollChange(i=>{i.scrollLeftChanged&&t(),i.scrollWidthChanged&&this._updateWidgetWidth()})),this._register(this._editor.onDidChangeModel(()=>{t(),this._updateWidgetWidth()})),this._register(this._foldingIconStore),t(),this._register(this._editor.onDidLayoutChange(i=>{this._updateWidgetWidth()})),this._updateWidgetWidth()}get lineNumbers(){return this._lineNumbers}get lineNumberCount(){return this._lineNumbers.length}getRenderedStickyLine(e){return this._renderedStickyLines.find(t=>t.lineNumber===e)}getCurrentLines(){return this._lineNumbers}setState(e,t,i){if(i===void 0&&(!this._previousState&&!e||this._previousState&&this._previousState.equals(e)))return;const r=this._isWidgetHeightZero(e),g=r?void 0:e,y=r?0:this._findLineToRebuildWidgetFrom(e,i);this._renderRootNode(g,t,y),this._previousState=e}_isWidgetHeightZero(e){if(!e)return!0;const t=e.startLineNumbers.length*this._lineHeight+e.lastLineRelativePosition;if(t>0){this._lastLineRelativePosition=e.lastLineRelativePosition;const i=[...e.startLineNumbers];e.showEndForLine!==null&&(i[e.showEndForLine]=e.endLineNumbers[e.showEndForLine]),this._lineNumbers=i}else this._lastLineRelativePosition=0,this._lineNumbers=[];return t===0}_findLineToRebuildWidgetFrom(e,t){if(!e||!this._previousState)return 0;if(t!==void 0)return t;const i=this._previousState,r=e.startLineNumbers.findIndex(g=>!i.startLineNumbers.includes(g));return r===-1?0:r}_updateWidgetWidth(){const e=this._editor.getLayoutInfo(),t=e.contentLeft;this._lineNumbersDomNode.style.width="".concat(t,"px"),this._linesDomNodeScrollable.style.setProperty("--vscode-editorStickyScroll-scrollableWidth","".concat(this._editor.getScrollWidth()-e.verticalScrollbarWidth,"px")),this._rootDomNode.style.width="".concat(e.width-e.verticalScrollbarWidth,"px")}_clearStickyLinesFromLine(e){this._foldingIconStore.clear();for(let t=e;tk.scrollWidth))+r.verticalScrollbarWidth,this._editor.layoutOverlayWidget(this)}_setFoldingHoverListeners(){this._editor.getOption(110)==="mouseover"&&(this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType$1.MOUSE_ENTER,()=>{this._isOnGlyphMargin=!0,this._setFoldingIconsVisibility(!0)})),this._foldingIconStore.add(addDisposableListener(this._lineNumbersDomNode,EventType$1.MOUSE_LEAVE,()=>{this._isOnGlyphMargin=!1,this._useFoldingOpacityTransition(!0),this._setFoldingIconsVisibility(!1)})))}_renderChildNode(e,t,i,r){const g=this._editor._getViewModel();if(!g)return;const y=g.coordinatesConverter.convertModelPositionToViewPosition(new Position$1(t,1)).lineNumber,k=g.getViewLineRenderingData(y),L=this._editor.getOption(68);let V;try{V=LineDecoration.filter(k.inlineDecorations,y,k.minColumn,k.maxColumn)}catch(pe){V=[]}const z=new RenderLineInput(!0,!0,k.content,k.continuesWithWrappedLine,k.isBasicASCII,k.containsRTL,0,k.tokens,V,k.tabSize,k.startVisibleColumn,1,1,1,500,"none",!0,!0,null),j=new StringBuilder(2e3),ie=renderViewLine(z,j);let oe;_ttPolicy?oe=_ttPolicy.createHTML(j.build()):oe=j.build();const re=document.createElement("span");re.setAttribute(STICKY_INDEX_ATTR,String(e)),re.setAttribute(STICKY_IS_LINE_ATTR,""),re.setAttribute("role","listitem"),re.tabIndex=0,re.className="sticky-line-content",re.classList.add("stickyLine".concat(t)),re.style.lineHeight="".concat(this._lineHeight,"px"),re.innerHTML=oe;const ae=document.createElement("span");ae.setAttribute(STICKY_INDEX_ATTR,String(e)),ae.setAttribute(STICKY_IS_LINE_NUMBER_ATTR,""),ae.className="sticky-line-number",ae.style.lineHeight="".concat(this._lineHeight,"px");const le=r.contentLeft;ae.style.width="".concat(le,"px");const de=document.createElement("span");L.renderType===1||L.renderType===3&&t%10===0?de.innerText=t.toString():L.renderType===2&&(de.innerText=Math.abs(t-this._editor.getPosition().lineNumber).toString()),de.className="sticky-line-number-inner",de.style.lineHeight="".concat(this._lineHeight,"px"),de.style.width="".concat(r.lineNumbersWidth,"px"),de.style.paddingLeft="".concat(r.lineNumbersLeft,"px"),ae.appendChild(de);const ue=this._renderFoldingIconForLine(i,t);ue&&ae.appendChild(ue.domNode),this._editor.applyFontInfo(re),this._editor.applyFontInfo(de),ae.style.lineHeight="".concat(this._lineHeight,"px"),re.style.lineHeight="".concat(this._lineHeight,"px"),ae.style.height="".concat(this._lineHeight,"px"),re.style.height="".concat(this._lineHeight,"px");const he=new RenderedStickyLine(e,t,re,ae,ue,ie.characterMapping,re.scrollWidth);return this._updateTopAndZIndexOfStickyLine(he)}_updateTopAndZIndexOfStickyLine(e){var t;const i=e.index,r=e.lineDomNode,g=e.lineNumberDomNode,y=i===this._lineNumbers.length-1,k="0",L="1";r.style.zIndex=y?k:L,g.style.zIndex=y?k:L;const V="".concat(i*this._lineHeight+this._lastLineRelativePosition+(!((t=e.foldingIcon)===null||t===void 0)&&t.isCollapsed?1:0),"px"),z="".concat(i*this._lineHeight,"px");return r.style.top=y?V:z,g.style.top=y?V:z,e}_renderFoldingIconForLine(e,t){const i=this._editor.getOption(110);if(!e||i==="never")return;const r=e.regions,g=r.findRange(t),y=r.getStartLineNumber(g);if(!(t===y))return;const L=r.isCollapsed(g),V=new StickyFoldingIcon(L,y,r.getEndLineNumber(g),this._lineHeight);return V.setVisible(this._isOnGlyphMargin?!0:L||i==="always"),V.domNode.setAttribute(STICKY_IS_FOLDING_ICON_ATTR,""),V}getId(){return"editor.contrib.stickyScrollWidget"}getDomNode(){return this._rootDomNode}getPosition(){return{preference:null}}getMinContentWidthInPx(){return this._minContentWidthInPx}focusLineWithIndex(e){0<=e&&e0)return null;const t=this._getRenderedStickyLineFromChildDomNode(e);if(!t)return null;const i=getColumnOfNodeOffset(t.characterMapping,e,0);return new Position$1(t.lineNumber,i)}getLineNumberFromChildDomNode(e){var t,i;return(i=(t=this._getRenderedStickyLineFromChildDomNode(e))===null||t===void 0?void 0:t.lineNumber)!==null&&i!==void 0?i:null}_getRenderedStickyLineFromChildDomNode(e){const t=this.getLineIndexFromChildDomNode(e);return t===null||t<0||t>=this._renderedStickyLines.length?null:this._renderedStickyLines[t]}getLineIndexFromChildDomNode(e){const t=this._getAttributeValue(e,STICKY_INDEX_ATTR);return t?parseInt(t,10):null}isInStickyLine(e){return this._getAttributeValue(e,STICKY_IS_LINE_ATTR)!==void 0}isInFoldingIconDomNode(e){return this._getAttributeValue(e,STICKY_IS_FOLDING_ICON_ATTR)!==void 0}_getAttributeValue(e,t){for(;e&&e!==this._rootDomNode;){const i=e.getAttribute(t);if(i!==null)return i;e=e.parentElement}}}class RenderedStickyLine{constructor(e,t,i,r,g,y,k){this.index=e,this.lineNumber=t,this.lineDomNode=i,this.lineNumberDomNode=r,this.foldingIcon=g,this.characterMapping=y,this.scrollWidth=k}}class StickyFoldingIcon{constructor(e,t,i,r){this.isCollapsed=e,this.foldingStartLine=t,this.foldingEndLine=i,this.dimension=r,this.domNode=document.createElement("div"),this.domNode.style.width="".concat(r,"px"),this.domNode.style.height="".concat(r,"px"),this.domNode.className=ThemeIcon.asClassName(e?foldingCollapsedIcon:foldingExpandedIcon)}setVisible(e){this.domNode.style.cursor=e?"pointer":"default",this.domNode.style.opacity=e?"1":"0"}}class StickyRange{constructor(e,t){this.startLineNumber=e,this.endLineNumber=t}}class StickyElement{constructor(e,t,i){this.range=e,this.children=t,this.parent=i}}class StickyModel{constructor(e,t,i,r){this.uri=e,this.version=t,this.element=i,this.outlineProviderId=r}}var __decorate$l=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$h=function(n,e){return function(t,i){e(t,i,n)}},ModelProvider;(function(n){n.OUTLINE_MODEL="outlineModel",n.FOLDING_PROVIDER_MODEL="foldingProviderModel",n.INDENTATION_MODEL="indentationModel"})(ModelProvider||(ModelProvider={}));var Status;(function(n){n[n.VALID=0]="VALID",n[n.INVALID=1]="INVALID",n[n.CANCELED=2]="CANCELED"})(Status||(Status={}));let StickyModelProvider=class extends Disposable{constructor(e,t,i,r){switch(super(),this._editor=e,this._languageConfigurationService=i,this._languageFeaturesService=r,this._modelProviders=[],this._modelPromise=null,this._updateScheduler=this._register(new Delayer(300)),this._updateOperation=this._register(new DisposableStore),this._editor.getOption(115).defaultModel){case ModelProvider.OUTLINE_MODEL:this._modelProviders.push(new StickyModelFromCandidateOutlineProvider(this._editor,r));case ModelProvider.FOLDING_PROVIDER_MODEL:this._modelProviders.push(new StickyModelFromCandidateSyntaxFoldingProvider(this._editor,t,r));case ModelProvider.INDENTATION_MODEL:this._modelProviders.push(new StickyModelFromCandidateIndentationFoldingProvider(this._editor,i));break}}dispose(){this._modelProviders.forEach(e=>e.dispose()),this._updateOperation.clear(),this._cancelModelPromise(),super.dispose()}_cancelModelPromise(){this._modelPromise&&(this._modelPromise.cancel(),this._modelPromise=null)}async update(e){return this._updateOperation.clear(),this._updateOperation.add({dispose:()=>{this._cancelModelPromise(),this._updateScheduler.cancel()}}),this._cancelModelPromise(),await this._updateScheduler.trigger(async()=>{for(const t of this._modelProviders){const{statusPromise:i,modelPromise:r}=t.computeStickyModel(e);this._modelPromise=r;const g=await i;if(this._modelPromise!==r)return null;switch(g){case Status.CANCELED:return this._updateOperation.clear(),null;case Status.VALID:return t.stickyModel}}return null}).catch(t=>(onUnexpectedError(t),null))}};StickyModelProvider=__decorate$l([__param$h(2,IInstantiationService),__param$h(3,ILanguageFeaturesService)],StickyModelProvider);class StickyModelCandidateProvider extends Disposable{constructor(e){super(),this._editor=e,this._stickyModel=null}get stickyModel(){return this._stickyModel}_invalid(){return this._stickyModel=null,Status.INVALID}computeStickyModel(e){if(e.isCancellationRequested||!this.isProviderValid())return{statusPromise:this._invalid(),modelPromise:null};const t=createCancelablePromise(i=>this.createModelFromProvider(i));return{statusPromise:t.then(i=>this.isModelValid(i)?e.isCancellationRequested?Status.CANCELED:(this._stickyModel=this.createStickyModel(e,i),Status.VALID):this._invalid()).then(void 0,i=>(onUnexpectedError(i),Status.CANCELED)),modelPromise:t}}isModelValid(e){return!0}isProviderValid(){return!0}}let StickyModelFromCandidateOutlineProvider=class extends StickyModelCandidateProvider{constructor(e,t){super(e),this._languageFeaturesService=t}createModelFromProvider(e){return OutlineModel.create(this._languageFeaturesService.documentSymbolProvider,this._editor.getModel(),e)}createStickyModel(e,t){var i;const{stickyOutlineElement:r,providerID:g}=this._stickyModelFromOutlineModel(t,(i=this._stickyModel)===null||i===void 0?void 0:i.outlineProviderId),y=this._editor.getModel();return new StickyModel(y.uri,y.getVersionId(),r,g)}isModelValid(e){return e&&e.children.size>0}_stickyModelFromOutlineModel(e,t){let i;if(Iterable.first(e.children.values())instanceof OutlineGroup){const k=Iterable.find(e.children.values(),L=>L.id===t);if(k)i=k.children;else{let L="",V=-1,z;for(const[j,ie]of e.children.entries()){const oe=this._findSumOfRangesOfGroup(ie);oe>V&&(z=ie,V=oe,L=ie.id)}t=L,i=z.children}}else i=e.children;const r=[],g=Array.from(i.values()).sort((k,L)=>{const V=new StickyRange(k.symbol.range.startLineNumber,k.symbol.range.endLineNumber),z=new StickyRange(L.symbol.range.startLineNumber,L.symbol.range.endLineNumber);return this._comparator(V,z)});for(const k of g)r.push(this._stickyModelFromOutlineElement(k,k.symbol.selectionRange.startLineNumber));return{stickyOutlineElement:new StickyElement(void 0,r,void 0),providerID:t}}_stickyModelFromOutlineElement(e,t){const i=[];for(const g of e.children.values())if(g.symbol.selectionRange.startLineNumber!==g.symbol.range.endLineNumber)if(g.symbol.selectionRange.startLineNumber!==t)i.push(this._stickyModelFromOutlineElement(g,g.symbol.selectionRange.startLineNumber));else for(const y of g.children.values())i.push(this._stickyModelFromOutlineElement(y,g.symbol.selectionRange.startLineNumber));i.sort((g,y)=>this._comparator(g.range,y.range));const r=new StickyRange(e.symbol.selectionRange.startLineNumber,e.symbol.range.endLineNumber);return new StickyElement(r,i,void 0)}_comparator(e,t){return e.startLineNumber!==t.startLineNumber?e.startLineNumber-t.startLineNumber:t.endLineNumber-e.endLineNumber}_findSumOfRangesOfGroup(e){let t=0;for(const i of e.children.values())t+=this._findSumOfRangesOfGroup(i);return e instanceof OutlineElement?t+e.symbol.range.endLineNumber-e.symbol.selectionRange.startLineNumber:t}};StickyModelFromCandidateOutlineProvider=__decorate$l([__param$h(1,ILanguageFeaturesService)],StickyModelFromCandidateOutlineProvider);class StickyModelFromCandidateFoldingProvider extends StickyModelCandidateProvider{constructor(e){super(e),this._foldingLimitReporter=new RangesLimitReporter(e)}createStickyModel(e,t){const i=this._fromFoldingRegions(t),r=this._editor.getModel();return new StickyModel(r.uri,r.getVersionId(),i,void 0)}isModelValid(e){return e!==null}_fromFoldingRegions(e){const t=e.length,i=[],r=new StickyElement(void 0,[],void 0);for(let g=0;g0&&(this.provider=this._register(new SyntaxRangeProvider(e.getModel(),r,t,this._foldingLimitReporter,void 0)))}isProviderValid(){return this.provider!==void 0}async createModelFromProvider(e){var t,i;return(i=(t=this.provider)===null||t===void 0?void 0:t.compute(e))!==null&&i!==void 0?i:null}};StickyModelFromCandidateSyntaxFoldingProvider=__decorate$l([__param$h(2,ILanguageFeaturesService)],StickyModelFromCandidateSyntaxFoldingProvider);var __decorate$k=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$g=function(n,e){return function(t,i){e(t,i,n)}};class StickyLineCandidate{constructor(e,t,i){this.startLineNumber=e,this.endLineNumber=t,this.nestingDepth=i}}let StickyLineCandidateProvider=class extends Disposable{constructor(e,t,i){super(),this._languageFeaturesService=t,this._languageConfigurationService=i,this._onDidChangeStickyScroll=this._register(new Emitter$1),this.onDidChangeStickyScroll=this._onDidChangeStickyScroll.event,this._model=null,this._cts=null,this._stickyModelProvider=null,this._editor=e,this._sessionStore=this._register(new DisposableStore),this._updateSoon=this._register(new RunOnceScheduler(()=>this.update(),50)),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(115)&&this.readConfiguration()})),this.readConfiguration()}readConfiguration(){this._sessionStore.clear(),this._editor.getOption(115).enabled&&(this._sessionStore.add(this._editor.onDidChangeModel(()=>{this._model=null,this.updateStickyModelProvider(),this._onDidChangeStickyScroll.fire(),this.update()})),this._sessionStore.add(this._editor.onDidChangeHiddenAreas(()=>this.update())),this._sessionStore.add(this._editor.onDidChangeModelContent(()=>this._updateSoon.schedule())),this._sessionStore.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>this.update())),this._sessionStore.add(toDisposable(()=>{var t;(t=this._stickyModelProvider)===null||t===void 0||t.dispose(),this._stickyModelProvider=null})),this.updateStickyModelProvider(),this.update())}getVersionId(){var e;return(e=this._model)===null||e===void 0?void 0:e.version}updateStickyModelProvider(){var e;(e=this._stickyModelProvider)===null||e===void 0||e.dispose(),this._stickyModelProvider=null;const t=this._editor;t.hasModel()&&(this._stickyModelProvider=new StickyModelProvider(t,()=>this._updateSoon.schedule(),this._languageConfigurationService,this._languageFeaturesService))}async update(){var e;(e=this._cts)===null||e===void 0||e.dispose(!0),this._cts=new CancellationTokenSource$1,await this.updateStickyModel(this._cts.token),this._onDidChangeStickyScroll.fire()}async updateStickyModel(e){if(!this._editor.hasModel()||!this._stickyModelProvider||this._editor.getModel().isTooLargeForTokenization()){this._model=null;return}const t=await this._stickyModelProvider.update(e);e.isCancellationRequested||(this._model=t)}updateIndex(e){return e===-1?e=0:e<0&&(e=-e-2),e}getCandidateStickyLinesIntersectingFromStickyModel(e,t,i,r,g){if(t.children.length===0)return;let y=g;const k=[];for(let z=0;zz-j)),V=this.updateIndex(binarySearch(k,e.startLineNumber+r,(z,j)=>z-j));for(let z=L;z<=V;z++){const j=t.children[z];if(!j)return;if(j.range){const ie=j.range.startLineNumber,oe=j.range.endLineNumber;e.startLineNumber<=oe+1&&ie-1<=e.endLineNumber&&ie!==y&&(y=ie,i.push(new StickyLineCandidate(ie,oe-1,r+1)),this.getCandidateStickyLinesIntersectingFromStickyModel(e,j,i,r+1,ie))}else this.getCandidateStickyLinesIntersectingFromStickyModel(e,j,i,r,g)}}getCandidateStickyLinesIntersecting(e){var t,i;if(!(!((t=this._model)===null||t===void 0)&&t.element))return[];let r=[];this.getCandidateStickyLinesIntersectingFromStickyModel(e,this._model.element,r,0,-1);const g=(i=this._editor._getViewModel())===null||i===void 0?void 0:i.getHiddenAreas();if(g)for(const y of g)r=r.filter(k=>!(k.startLineNumber>=y.startLineNumber&&k.endLineNumber<=y.endLineNumber+1));return r}};StickyLineCandidateProvider=__decorate$k([__param$g(1,ILanguageFeaturesService),__param$g(2,ILanguageConfigurationService)],StickyLineCandidateProvider);var __decorate$j=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$f=function(n,e){return function(t,i){e(t,i,n)}},StickyScrollController_1;let StickyScrollController=StickyScrollController_1=class extends Disposable{constructor(e,t,i,r,g,y,k){super(),this._editor=e,this._contextMenuService=t,this._languageFeaturesService=i,this._instaService=r,this._contextKeyService=k,this._sessionStore=new DisposableStore,this._foldingModel=null,this._maxStickyLines=Number.MAX_SAFE_INTEGER,this._candidateDefinitionsLength=-1,this._focusedStickyElementIndex=-1,this._enabled=!1,this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1,this._endLineNumbers=[],this._showEndForLine=null,this._stickyScrollWidget=new StickyScrollWidget(this._editor),this._stickyLineCandidateProvider=new StickyLineCandidateProvider(this._editor,i,g),this._register(this._stickyScrollWidget),this._register(this._stickyLineCandidateProvider),this._widgetState=new StickyScrollWidgetState([],[],0),this._onDidResize(),this._readConfiguration();const L=this._stickyScrollWidget.getDomNode();this._register(this._editor.onDidChangeConfiguration(z=>{(z.hasChanged(115)||z.hasChanged(73)||z.hasChanged(67)||z.hasChanged(110))&&this._readConfiguration()})),this._register(addDisposableListener(L,EventType$1.CONTEXT_MENU,async z=>{this._onContextMenu(getWindow$1(L),z)})),this._stickyScrollFocusedContextKey=EditorContextKeys.stickyScrollFocused.bindTo(this._contextKeyService),this._stickyScrollVisibleContextKey=EditorContextKeys.stickyScrollVisible.bindTo(this._contextKeyService);const V=this._register(trackFocus(L));this._register(V.onDidBlur(z=>{this._positionRevealed===!1&&L.clientHeight===0?(this._focusedStickyElementIndex=-1,this.focus()):this._disposeFocusStickyScrollStore()})),this._register(V.onDidFocus(z=>{this.focus()})),this._registerMouseListeners(),this._register(addDisposableListener(L,EventType$1.MOUSE_DOWN,z=>{this._onMouseDown=!0}))}static get(e){return e.getContribution(StickyScrollController_1.ID)}_disposeFocusStickyScrollStore(){var e;this._stickyScrollFocusedContextKey.set(!1),(e=this._focusDisposableStore)===null||e===void 0||e.dispose(),this._focused=!1,this._positionRevealed=!1,this._onMouseDown=!1}focus(){if(this._onMouseDown){this._onMouseDown=!1,this._editor.focus();return}this._stickyScrollFocusedContextKey.get()!==!0&&(this._focused=!0,this._focusDisposableStore=new DisposableStore,this._stickyScrollFocusedContextKey.set(!0),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumbers.length-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}focusNext(){this._focusedStickyElementIndex0&&this._focusNav(!1)}selectEditor(){this._editor.focus()}_focusNav(e){this._focusedStickyElementIndex=e?this._focusedStickyElementIndex+1:this._focusedStickyElementIndex-1,this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex)}goToFocused(){const e=this._stickyScrollWidget.lineNumbers;this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:e[this._focusedStickyElementIndex],column:1})}_revealPosition(e){this._reveaInEditor(e,()=>this._editor.revealPosition(e))}_revealLineInCenterIfOutsideViewport(e){this._reveaInEditor(e,()=>this._editor.revealLineInCenterIfOutsideViewport(e.lineNumber,0))}_reveaInEditor(e,t){this._focused&&this._disposeFocusStickyScrollStore(),this._positionRevealed=!0,t(),this._editor.setSelection(Range$2.fromPositions(e)),this._editor.focus()}_registerMouseListeners(){const e=this._register(new DisposableStore),t=this._register(new ClickLinkGesture(this._editor,{extractLineNumberFromMouseEvent:g=>{const y=this._stickyScrollWidget.getEditorPositionFromNode(g.target.element);return y?y.lineNumber:0}})),i=g=>{if(!this._editor.hasModel()||g.target.type!==12||g.target.detail!==this._stickyScrollWidget.getId())return null;const y=g.target.element;if(!y||y.innerText!==y.innerHTML)return null;const k=this._stickyScrollWidget.getEditorPositionFromNode(y);return k?{range:new Range$2(k.lineNumber,k.column,k.lineNumber,k.column+y.innerText.length),textElement:y}:null},r=this._stickyScrollWidget.getDomNode();this._register(addStandardDisposableListener(r,EventType$1.CLICK,g=>{if(g.ctrlKey||g.altKey||g.metaKey||!g.leftButton)return;if(g.shiftKey){const V=this._stickyScrollWidget.getLineIndexFromChildDomNode(g.target);if(V===null)return;const z=new Position$1(this._endLineNumbers[V],1);this._revealLineInCenterIfOutsideViewport(z);return}if(this._stickyScrollWidget.isInFoldingIconDomNode(g.target)){const V=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);this._toggleFoldingRegionForLine(V);return}if(!this._stickyScrollWidget.isInStickyLine(g.target))return;let L=this._stickyScrollWidget.getEditorPositionFromNode(g.target);if(!L){const V=this._stickyScrollWidget.getLineNumberFromChildDomNode(g.target);if(V===null)return;L=new Position$1(V,1)}this._revealPosition(L)})),this._register(addStandardDisposableListener(r,EventType$1.MOUSE_MOVE,g=>{if(g.shiftKey){const y=this._stickyScrollWidget.getLineIndexFromChildDomNode(g.target);if(y===null||this._showEndForLine!==null&&this._showEndForLine===y)return;this._showEndForLine=y,this._renderStickyScroll();return}this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(addDisposableListener(r,EventType$1.MOUSE_LEAVE,g=>{this._showEndForLine!==null&&(this._showEndForLine=null,this._renderStickyScroll())})),this._register(t.onMouseMoveOrRelevantKeyDown(([g,y])=>{const k=i(g);if(!k||!g.hasTriggerModifier||!this._editor.hasModel()){e.clear();return}const{range:L,textElement:V}=k;if(!L.equalsRange(this._stickyRangeProjectedOnEditor))this._stickyRangeProjectedOnEditor=L,e.clear();else if(V.style.textDecoration==="underline")return;const z=new CancellationTokenSource$1;e.add(toDisposable(()=>z.dispose(!0)));let j;getDefinitionsAtPosition(this._languageFeaturesService.definitionProvider,this._editor.getModel(),new Position$1(L.startLineNumber,L.startColumn+1),z.token).then(ie=>{if(!z.token.isCancellationRequested)if(ie.length!==0){this._candidateDefinitionsLength=ie.length;const oe=V;j!==oe?(e.clear(),j=oe,j.style.textDecoration="underline",e.add(toDisposable(()=>{j.style.textDecoration="none"}))):j||(j=oe,j.style.textDecoration="underline",e.add(toDisposable(()=>{j.style.textDecoration="none"})))}else e.clear()})})),this._register(t.onCancel(()=>{e.clear()})),this._register(t.onExecute(async g=>{if(g.target.type!==12||g.target.detail!==this._stickyScrollWidget.getId())return;const y=this._stickyScrollWidget.getEditorPositionFromNode(g.target.element);y&&(!this._editor.hasModel()||!this._stickyRangeProjectedOnEditor||(this._candidateDefinitionsLength>1&&(this._focused&&this._disposeFocusStickyScrollStore(),this._revealPosition({lineNumber:y.lineNumber,column:1})),this._instaService.invokeFunction(goToDefinitionWithLocation,g,this._editor,{uri:this._editor.getModel().uri,range:this._stickyRangeProjectedOnEditor})))}))}_onContextMenu(e,t){const i=new StandardMouseEvent(e,t);this._contextMenuService.showContextMenu({menuId:MenuId.StickyScrollContext,getAnchor:()=>i})}_toggleFoldingRegionForLine(e){if(!this._foldingModel||e===null)return;const t=this._stickyScrollWidget.getRenderedStickyLine(e),i=t==null?void 0:t.foldingIcon;if(!i)return;toggleCollapseState(this._foldingModel,Number.MAX_VALUE,[e]),i.isCollapsed=!i.isCollapsed;const r=(i.isCollapsed?this._editor.getTopForLineNumber(i.foldingEndLine):this._editor.getTopForLineNumber(i.foldingStartLine))-this._editor.getOption(67)*t.index+1;this._editor.setScrollTop(r),this._renderStickyScroll(e)}_readConfiguration(){const e=this._editor.getOption(115);if(e.enabled===!1){this._editor.removeOverlayWidget(this._stickyScrollWidget),this._sessionStore.clear(),this._enabled=!1;return}else e.enabled&&!this._enabled&&(this._editor.addOverlayWidget(this._stickyScrollWidget),this._sessionStore.add(this._editor.onDidScrollChange(i=>{i.scrollTopChanged&&(this._showEndForLine=null,this._renderStickyScroll())})),this._sessionStore.add(this._editor.onDidLayoutChange(()=>this._onDidResize())),this._sessionStore.add(this._editor.onDidChangeModelTokens(i=>this._onTokensChange(i))),this._sessionStore.add(this._stickyLineCandidateProvider.onDidChangeStickyScroll(()=>{this._showEndForLine=null,this._renderStickyScroll()})),this._enabled=!0);this._editor.getOption(68).renderType===2&&this._sessionStore.add(this._editor.onDidChangeCursorPosition(()=>{this._showEndForLine=null,this._renderStickyScroll(0)}))}_needsUpdate(e){const t=this._stickyScrollWidget.getCurrentLines();for(const i of t)for(const r of e.ranges)if(i>=r.fromLineNumber&&i<=r.toLineNumber)return!0;return!1}_onTokensChange(e){this._needsUpdate(e)&&this._renderStickyScroll(0)}_onDidResize(){const t=this._editor.getLayoutInfo().height/this._editor.getOption(67);this._maxStickyLines=Math.round(t*.25)}async _renderStickyScroll(e){var t,i;const r=this._editor.getModel();if(!r||r.isTooLargeForTokenization()){this._foldingModel=null,this._stickyScrollWidget.setState(void 0,null);return}const g=this._stickyLineCandidateProvider.getVersionId();if(g===void 0||g===r.getVersionId())if(this._foldingModel=(i=await((t=FoldingController.get(this._editor))===null||t===void 0?void 0:t.getFoldingModel()))!==null&&i!==void 0?i:null,this._widgetState=this.findScrollWidgetState(),this._stickyScrollVisibleContextKey.set(this._widgetState.startLineNumbers.length!==0),!this._focused)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e);else if(this._focusedStickyElementIndex===-1)this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1,this._focusedStickyElementIndex!==-1&&this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex);else{const y=this._stickyScrollWidget.lineNumbers[this._focusedStickyElementIndex];this._stickyScrollWidget.setState(this._widgetState,this._foldingModel,e),this._stickyScrollWidget.lineNumberCount===0?this._focusedStickyElementIndex=-1:(this._stickyScrollWidget.lineNumbers.includes(y)||(this._focusedStickyElementIndex=this._stickyScrollWidget.lineNumberCount-1),this._stickyScrollWidget.focusLineWithIndex(this._focusedStickyElementIndex))}}findScrollWidgetState(){const e=this._editor.getOption(67),t=Math.min(this._maxStickyLines,this._editor.getOption(115).maxLineCount),i=this._editor.getScrollTop();let r=0;const g=[],y=[],k=this._editor.getVisibleRanges();if(k.length!==0){const L=new StickyRange(k[0].startLineNumber,k[k.length-1].endLineNumber),V=this._stickyLineCandidateProvider.getCandidateStickyLinesIntersecting(L);for(const z of V){const j=z.startLineNumber,ie=z.endLineNumber,oe=z.nestingDepth;if(ie-j>0){const re=(oe-1)*e,ae=oe*e,le=this._editor.getBottomForLineNumber(j)-i,de=this._editor.getTopForLineNumber(ie)-i,ue=this._editor.getBottomForLineNumber(ie)-i;if(re>de&&re<=ue){g.push(j),y.push(ie+1),r=ue-ae;break}else ae>le&&ae<=ue&&(g.push(j),y.push(ie+1));if(g.length===t)break}}}return this._endLineNumbers=y,new StickyScrollWidgetState(g,y,r,this._showEndForLine)}dispose(){super.dispose(),this._sessionStore.dispose()}};StickyScrollController.ID="store.contrib.stickyScrollController";StickyScrollController=StickyScrollController_1=__decorate$j([__param$f(1,IContextMenuService),__param$f(2,ILanguageFeaturesService),__param$f(3,IInstantiationService),__param$f(4,ILanguageConfigurationService),__param$f(5,ILanguageFeatureDebounceService),__param$f(6,IContextKeyService)],StickyScrollController);class ToggleStickyScroll extends Action2{constructor(){super({id:"editor.action.toggleStickyScroll",title:{...localize2("toggleEditorStickyScroll","Toggle Editor Sticky Scroll"),mnemonicTitle:localize({},"&&Toggle Editor Sticky Scroll")},category:Categories.View,toggled:{condition:ContextKeyExpr.equals("config.editor.stickyScroll.enabled",!0),title:localize("stickyScroll","Sticky Scroll"),mnemonicTitle:localize({},"&&Sticky Scroll")},menu:[{id:MenuId.CommandPalette},{id:MenuId.MenubarAppearanceMenu,group:"4_editor",order:3},{id:MenuId.StickyScrollContext}]})}async run(e){const t=e.get(IConfigurationService),i=!t.getValue("editor.stickyScroll.enabled");return t.updateValue("editor.stickyScroll.enabled",i)}}const weight=100;class FocusStickyScroll extends EditorAction2{constructor(){super({id:"editor.action.focusStickyScroll",title:{...localize2("focusStickyScroll","Focus Sticky Scroll"),mnemonicTitle:localize({},"&&Focus Sticky Scroll")},precondition:ContextKeyExpr.and(ContextKeyExpr.has("config.editor.stickyScroll.enabled"),EditorContextKeys.stickyScrollVisible),menu:[{id:MenuId.CommandPalette}]})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))===null||i===void 0||i.focus()}}class SelectNextStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectNextStickyScrollLine",title:localize2("selectNextStickyScrollLine.title","Select next sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:18}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))===null||i===void 0||i.focusNext()}}class SelectPreviousStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.selectPreviousStickyScrollLine",title:localize2("selectPreviousStickyScrollLine.title","Select previous sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:16}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))===null||i===void 0||i.focusPrevious()}}class GoToStickyScrollLine extends EditorAction2{constructor(){super({id:"editor.action.goToFocusedStickyScrollLine",title:localize2("goToFocusedStickyScrollLine.title","Go to focused sticky scroll line"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:3}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))===null||i===void 0||i.goToFocused()}}class SelectEditor extends EditorAction2{constructor(){super({id:"editor.action.selectEditor",title:localize2("selectEditor.title","Select Editor"),precondition:EditorContextKeys.stickyScrollFocused.isEqualTo(!0),keybinding:{weight,primary:9}})}runEditorCommand(e,t){var i;(i=StickyScrollController.get(t))===null||i===void 0||i.selectEditor()}}registerEditorContribution(StickyScrollController.ID,StickyScrollController,1);registerAction2(ToggleStickyScroll);registerAction2(FocusStickyScroll);registerAction2(SelectPreviousStickyScrollLine);registerAction2(SelectNextStickyScrollLine);registerAction2(GoToStickyScrollLine);registerAction2(SelectEditor);var __decorate$i=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$e=function(n,e){return function(t,i){e(t,i,n)}};class SuggestInlineCompletion{constructor(e,t,i,r,g,y){this.range=e,this.insertText=t,this.filterText=i,this.additionalTextEdits=r,this.command=g,this.completion=y}}let InlineCompletionResults=class extends RefCountedDisposable{constructor(e,t,i,r,g,y){super(g.disposable),this.model=e,this.line=t,this.word=i,this.completionModel=r,this._suggestMemoryService=y}canBeReused(e,t,i){return this.model===e&&this.line===t&&this.word.word.length>0&&this.word.startColumn===i.startColumn&&this.word.endColumn=0&&L.resolve(CancellationToken.None)}return t}};InlineCompletionResults=__decorate$i([__param$e(5,ISuggestMemoryService)],InlineCompletionResults);let SuggestInlineCompletions=class extends Disposable{constructor(e,t,i,r){super(),this._languageFeatureService=e,this._clipboardService=t,this._suggestMemoryService=i,this._editorService=r,this._store.add(e.inlineCompletionsProvider.register("*",this))}async provideInlineCompletions(e,t,i,r){var g;if(i.selectedSuggestionInfo)return;let y;for(const re of this._editorService.listCodeEditors())if(re.getModel()===e){y=re;break}if(!y)return;const k=y.getOption(89);if(QuickSuggestionsOptions.isAllOff(k))return;e.tokenization.tokenizeIfCheap(t.lineNumber);const L=e.tokenization.getLineTokens(t.lineNumber),V=L.getStandardTokenType(L.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(QuickSuggestionsOptions.valueFor(k,V)!=="inline")return;let z=e.getWordAtPosition(t),j;if(z!=null&&z.word||(j=this._getTriggerCharacterInfo(e,t)),!(z!=null&&z.word)&&!j||(z||(z=e.getWordUntilPosition(t)),z.endColumn!==t.column))return;let ie;const oe=e.getValueInRange(new Range$2(t.lineNumber,1,t.lineNumber,t.column));if(!j&&(!((g=this._lastResult)===null||g===void 0)&&g.canBeReused(e,t.lineNumber,z))){const re=new LineContext$1(oe,t.column-this._lastResult.word.endColumn);this._lastResult.completionModel.lineContext=re,this._lastResult.acquire(),ie=this._lastResult}else{const re=await provideSuggestionItems(this._languageFeatureService.completionProvider,e,t,new CompletionOptions(void 0,SuggestModel.createSuggestFilter(y).itemKind,j==null?void 0:j.providers),j&&{triggerKind:1,triggerCharacter:j.ch},r);let ae;re.needsClipboard&&(ae=await this._clipboardService.readText());const le=new CompletionModel(re.items,t.column,new LineContext$1(oe,0),WordDistance.None,y.getOption(118),y.getOption(112),{boostFullMatch:!1,firstMatchCanBeWeak:!1},ae);ie=new InlineCompletionResults(e,t.lineNumber,z,le,re,this._suggestMemoryService)}return this._lastResult=ie,ie}handleItemDidShow(e,t){t.completion.resolve(CancellationToken.None)}freeInlineCompletions(e){e.release()}_getTriggerCharacterInfo(e,t){var i;const r=e.getValueInRange(Range$2.fromPositions({lineNumber:t.lineNumber,column:t.column-1},t)),g=new Set;for(const y of this._languageFeatureService.completionProvider.all(e))!((i=y.triggerCharacters)===null||i===void 0)&&i.includes(r)&&g.add(y);if(g.size!==0)return{providers:g,ch:r}}};SuggestInlineCompletions=__decorate$i([__param$e(0,ILanguageFeaturesService),__param$e(1,IClipboardService),__param$e(2,ISuggestMemoryService),__param$e(3,ICodeEditorService)],SuggestInlineCompletions);registerEditorFeature(SuggestInlineCompletions);class ForceRetokenizeAction extends EditorAction{constructor(){super({id:"editor.action.forceRetokenize",label:localize("forceRetokenize","Developer: Force Retokenize"),alias:"Developer: Force Retokenize",precondition:void 0})}run(e,t){if(!t.hasModel())return;const i=t.getModel();i.tokenization.resetTokenization();const r=new StopWatch;i.tokenization.forceTokenization(i.getLineCount()),r.stop(),console.log("tokenization took ".concat(r.elapsed()))}}registerEditorAction(ForceRetokenizeAction);class ToggleTabFocusModeAction extends Action2{constructor(){super({id:ToggleTabFocusModeAction.ID,title:localize2({},"Toggle Tab Key Moves Focus"),precondition:void 0,keybinding:{primary:2091,mac:{primary:1323},weight:100},f1:!0})}run(){const t=!TabFocus.getTabFocusMode();TabFocus.setTabFocusMode(t),alert(t?localize("toggle.tabMovesFocus.on","Pressing Tab will now move focus to the next focusable element"):localize("toggle.tabMovesFocus.off","Pressing Tab will now insert the tab character"))}}ToggleTabFocusModeAction.ID="editor.action.toggleTabFocusMode";registerAction2(ToggleTabFocusModeAction);var __decorate$h=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$d=function(n,e){return function(t,i){e(t,i,n)}};let Link$1=class extends Disposable{get enabled(){return this._enabled}set enabled(e){e?(this.el.setAttribute("aria-disabled","false"),this.el.tabIndex=0,this.el.style.pointerEvents="auto",this.el.style.opacity="1",this.el.style.cursor="pointer",this._enabled=!1):(this.el.setAttribute("aria-disabled","true"),this.el.tabIndex=-1,this.el.style.pointerEvents="none",this.el.style.opacity="0.4",this.el.style.cursor="default",this._enabled=!0),this._enabled=e}constructor(e,t,i={},r){var g,y;super(),this._link=t,this._enabled=!0,this.el=append$1(e,$$f("a.monaco-link",{tabIndex:(g=t.tabIndex)!==null&&g!==void 0?g:0,href:t.href},t.label)),this.hoverDelegate=(y=i.hoverDelegate)!==null&&y!==void 0?y:getDefaultHoverDelegate("mouse"),this.setTooltip(t.title),this.el.setAttribute("role","button");const k=this._register(new DomEmitter(this.el,"click")),L=this._register(new DomEmitter(this.el,"keypress")),V=Event$1.chain(L.event,ie=>ie.map(oe=>new StandardKeyboardEvent(oe)).filter(oe=>oe.keyCode===3)),z=this._register(new DomEmitter(this.el,EventType.Tap)).event;this._register(Gesture.addTarget(this.el));const j=Event$1.any(k.event,V,z);this._register(j(ie=>{this.enabled&&(EventHelper$1.stop(ie,!0),i!=null&&i.opener?i.opener(this._link.href):r.open(this._link.href,{allowCommands:!0}))})),this.enabled=!0}setTooltip(e){this.hoverDelegate.showNativeHover?this.el.title=e!=null?e:"":!this.hover&&e?this.hover=this._register(setupCustomHover(this.hoverDelegate,this.el,e)):this.hover&&this.hover.update(e)}};Link$1=__decorate$h([__param$d(3,IOpenerService)],Link$1);var __decorate$g=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$c=function(n,e){return function(t,i){e(t,i,n)}};const BANNER_ELEMENT_HEIGHT=26;let BannerController=class extends Disposable{constructor(e,t){super(),this._editor=e,this.instantiationService=t,this.banner=this._register(this.instantiationService.createInstance(Banner))}hide(){this._editor.setBanner(null,0),this.banner.clear()}show(e){this.banner.show({...e,onClose:()=>{var t;this.hide(),(t=e.onClose)===null||t===void 0||t.call(e)}}),this._editor.setBanner(this.banner.element,BANNER_ELEMENT_HEIGHT)}};BannerController=__decorate$g([__param$c(1,IInstantiationService)],BannerController);let Banner=class extends Disposable{constructor(e){super(),this.instantiationService=e,this.markdownRenderer=this.instantiationService.createInstance(MarkdownRenderer,{}),this.element=$$f("div.editor-banner"),this.element.tabIndex=0}getAriaLabel(e){if(e.ariaLabel)return e.ariaLabel;if(typeof e.message=="string")return e.message}getBannerMessage(e){if(typeof e=="string"){const t=$$f("span");return t.innerText=e,t}return this.markdownRenderer.render(e).element}clear(){clearNode(this.element)}show(e){clearNode(this.element);const t=this.getAriaLabel(e);t&&this.element.setAttribute("aria-label",t);const i=append$1(this.element,$$f("div.icon-container"));i.setAttribute("aria-hidden","true"),e.icon&&i.appendChild($$f("div".concat(ThemeIcon.asCSSSelector(e.icon))));const r=append$1(this.element,$$f("div.message-container"));if(r.setAttribute("aria-hidden","true"),r.appendChild(this.getBannerMessage(e.message)),this.messageActionsContainer=append$1(this.element,$$f("div.message-actions-container")),e.actions)for(const y of e.actions)this._register(this.instantiationService.createInstance(Link$1,this.messageActionsContainer,{...y,tabIndex:-1},{}));const g=append$1(this.element,$$f("div.action-container"));this.actionBar=this._register(new ActionBar(g)),this.actionBar.push(this._register(new Action("banner.close","Close Banner",ThemeIcon.asClassName(widgetClose),!0,()=>{typeof e.onClose=="function"&&e.onClose()})),{icon:!0,label:!1}),this.actionBar.setFocusable(!1)}};Banner=__decorate$g([__param$c(0,IInstantiationService)],Banner);var __decorate$f=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$b=function(n,e){return function(t,i){e(t,i,n)}};const warningIcon=registerIcon("extensions-warning-message",Codicon.warning,localize("warningIcon","Icon shown with a warning message in the extensions editor."));let UnicodeHighlighter=class extends Disposable{constructor(e,t,i,r){super(),this._editor=e,this._editorWorkerService=t,this._workspaceTrustService=i,this._highlighter=null,this._bannerClosed=!1,this._updateState=g=>{if(g&&g.hasMore){if(this._bannerClosed)return;const y=Math.max(g.ambiguousCharacterCount,g.nonBasicAsciiCharacterCount,g.invisibleCharacterCount);let k;if(g.nonBasicAsciiCharacterCount>=y)k={message:localize("unicodeHighlighting.thisDocumentHasManyNonBasicAsciiUnicodeCharacters","This document contains many non-basic ASCII unicode characters"),command:new DisableHighlightingOfNonBasicAsciiCharactersAction};else if(g.ambiguousCharacterCount>=y)k={message:localize("unicodeHighlighting.thisDocumentHasManyAmbiguousUnicodeCharacters","This document contains many ambiguous unicode characters"),command:new DisableHighlightingOfAmbiguousCharactersAction};else if(g.invisibleCharacterCount>=y)k={message:localize("unicodeHighlighting.thisDocumentHasManyInvisibleUnicodeCharacters","This document contains many invisible unicode characters"),command:new DisableHighlightingOfInvisibleCharactersAction};else throw new Error("Unreachable");this._bannerController.show({id:"unicodeHighlightBanner",message:k.message,icon:warningIcon,actions:[{label:k.command.shortLabel,href:"command:".concat(k.command.id)}],onClose:()=>{this._bannerClosed=!0}})}else this._bannerController.hide()},this._bannerController=this._register(r.createInstance(BannerController,e)),this._register(this._editor.onDidChangeModel(()=>{this._bannerClosed=!1,this._updateHighlighter()})),this._options=e.getOption(125),this._register(i.onDidChangeTrust(g=>{this._updateHighlighter()})),this._register(e.onDidChangeConfiguration(g=>{g.hasChanged(125)&&(this._options=e.getOption(125),this._updateHighlighter())})),this._updateHighlighter()}dispose(){this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),super.dispose()}_updateHighlighter(){if(this._updateState(null),this._highlighter&&(this._highlighter.dispose(),this._highlighter=null),!this._editor.hasModel())return;const e=resolveOptions$1(this._workspaceTrustService.isWorkspaceTrusted(),this._options);if([e.nonBasicASCII,e.ambiguousCharacters,e.invisibleCharacters].every(i=>i===!1))return;const t={nonBasicASCII:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments,includeStrings:e.includeStrings,allowedCodePoints:Object.keys(e.allowedCharacters).map(i=>i.codePointAt(0)),allowedLocales:Object.keys(e.allowedLocales).map(i=>i==="_os"?new Intl.NumberFormat().resolvedOptions().locale:i==="_vscode"?language:i)};this._editorWorkerService.canComputeUnicodeHighlights(this._editor.getModel().uri)?this._highlighter=new DocumentUnicodeHighlighter(this._editor,t,this._updateState,this._editorWorkerService):this._highlighter=new ViewportUnicodeHighlighter(this._editor,t,this._updateState)}getDecorationInfo(e){return this._highlighter?this._highlighter.getDecorationInfo(e):null}};UnicodeHighlighter.ID="editor.contrib.unicodeHighlighter";UnicodeHighlighter=__decorate$f([__param$b(1,IEditorWorkerService),__param$b(2,IWorkspaceTrustManagementService),__param$b(3,IInstantiationService)],UnicodeHighlighter);function resolveOptions$1(n,e){return{nonBasicASCII:e.nonBasicASCII===inUntrustedWorkspace?!n:e.nonBasicASCII,ambiguousCharacters:e.ambiguousCharacters,invisibleCharacters:e.invisibleCharacters,includeComments:e.includeComments===inUntrustedWorkspace?!n:e.includeComments,includeStrings:e.includeStrings===inUntrustedWorkspace?!n:e.includeStrings,allowedCharacters:e.allowedCharacters,allowedLocales:e.allowedLocales}}let DocumentUnicodeHighlighter=class extends Disposable{constructor(e,t,i,r){super(),this._editor=e,this._options=t,this._updateState=i,this._editorWorkerService=r,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._model.getVersionId();this._editorWorkerService.computedUnicodeHighlights(this._model.uri,this._options).then(t=>{if(this._model.isDisposed()||this._model.getVersionId()!==e)return;this._updateState(t);const i=[];if(!t.hasMore)for(const r of t.ranges)i.push({range:r,options:Decorations.instance.getDecorationFromOptions(this._options)});this._decorations.set(i)})}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel();if(!isModelDecorationVisible(t,e))return null;const i=t.getValueInRange(e.range);return{reason:computeReason(i,this._options),inComment:isModelDecorationInComment(t,e),inString:isModelDecorationInString(t,e)}}};DocumentUnicodeHighlighter=__decorate$f([__param$b(3,IEditorWorkerService)],DocumentUnicodeHighlighter);class ViewportUnicodeHighlighter extends Disposable{constructor(e,t,i){super(),this._editor=e,this._options=t,this._updateState=i,this._model=this._editor.getModel(),this._decorations=this._editor.createDecorationsCollection(),this._updateSoon=this._register(new RunOnceScheduler(()=>this._update(),250)),this._register(this._editor.onDidLayoutChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidScrollChange(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeHiddenAreas(()=>{this._updateSoon.schedule()})),this._register(this._editor.onDidChangeModelContent(()=>{this._updateSoon.schedule()})),this._updateSoon.schedule()}dispose(){this._decorations.clear(),super.dispose()}_update(){if(this._model.isDisposed())return;if(!this._model.mightContainNonBasicASCII()){this._decorations.clear();return}const e=this._editor.getVisibleRanges(),t=[],i={ranges:[],ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0,hasMore:!1};for(const r of e){const g=UnicodeTextModelHighlighter.computeUnicodeHighlights(this._model,this._options,r);for(const y of g.ranges)i.ranges.push(y);i.ambiguousCharacterCount+=i.ambiguousCharacterCount,i.invisibleCharacterCount+=i.invisibleCharacterCount,i.nonBasicAsciiCharacterCount+=i.nonBasicAsciiCharacterCount,i.hasMore=i.hasMore||g.hasMore}if(!i.hasMore)for(const r of i.ranges)t.push({range:r,options:Decorations.instance.getDecorationFromOptions(this._options)});this._updateState(i),this._decorations.set(t)}getDecorationInfo(e){if(!this._decorations.has(e))return null;const t=this._editor.getModel(),i=t.getValueInRange(e.range);return isModelDecorationVisible(t,e)?{reason:computeReason(i,this._options),inComment:isModelDecorationInComment(t,e),inString:isModelDecorationInString(t,e)}:null}}const configureUnicodeHighlightOptionsStr=localize("unicodeHighlight.configureUnicodeHighlightOptions","Configure Unicode Highlight Options");let UnicodeHighlighterHoverParticipant=class{constructor(e,t,i){this._editor=e,this._languageService=t,this._openerService=i,this.hoverOrdinal=5}computeSync(e,t){if(!this._editor.hasModel()||e.type!==1)return[];const i=this._editor.getModel(),r=this._editor.getContribution(UnicodeHighlighter.ID);if(!r)return[];const g=[],y=new Set;let k=300;for(const L of t){const V=r.getDecorationInfo(L);if(!V)continue;const j=i.getValueInRange(L.range).codePointAt(0),ie=formatCodePointMarkdown(j);let oe;switch(V.reason.kind){case 0:{isBasicASCII(V.reason.confusableWith)?oe=localize("unicodeHighlight.characterIsAmbiguousASCII","The character {0} could be confused with the ASCII character {1}, which is more common in source code.",ie,formatCodePointMarkdown(V.reason.confusableWith.codePointAt(0))):oe=localize("unicodeHighlight.characterIsAmbiguous","The character {0} could be confused with the character {1}, which is more common in source code.",ie,formatCodePointMarkdown(V.reason.confusableWith.codePointAt(0)));break}case 1:oe=localize("unicodeHighlight.characterIsInvisible","The character {0} is invisible.",ie);break;case 2:oe=localize("unicodeHighlight.characterIsNonBasicAscii","The character {0} is not a basic ASCII character.",ie);break}if(y.has(oe))continue;y.add(oe);const re={codePoint:j,reason:V.reason,inComment:V.inComment,inString:V.inString},ae=localize("unicodeHighlight.adjustSettings","Adjust settings"),le="command:".concat(ShowExcludeOptions.ID,"?").concat(encodeURIComponent(JSON.stringify(re))),de=new MarkdownString("",!0).appendMarkdown(oe).appendText(" ").appendLink(le,ae,configureUnicodeHighlightOptionsStr);g.push(new MarkdownHover(this,L.range,[de],!1,k++))}return g}renderHoverParts(e,t){return renderMarkdownHovers(e,t,this._editor,this._languageService,this._openerService)}};UnicodeHighlighterHoverParticipant=__decorate$f([__param$b(1,ILanguageService),__param$b(2,IOpenerService)],UnicodeHighlighterHoverParticipant);function codePointToHex(n){return"U+".concat(n.toString(16).padStart(4,"0"))}function formatCodePointMarkdown(n){let e="`".concat(codePointToHex(n),"`");return InvisibleCharacters.isInvisibleCharacter(n)||(e+=' "'.concat("".concat(renderCodePointAsInlineCode(n)),'"')),e}function renderCodePointAsInlineCode(n){return n===96?"`` ` ``":"`"+String.fromCodePoint(n)+"`"}function computeReason(n,e){return UnicodeTextModelHighlighter.computeUnicodeHighlightReason(n,e)}class Decorations{constructor(){this.map=new Map}getDecorationFromOptions(e){return this.getDecoration(!e.includeComments,!e.includeStrings)}getDecoration(e,t){const i="".concat(e).concat(t);let r=this.map.get(i);return r||(r=ModelDecorationOptions.createDynamic({description:"unicode-highlight",stickiness:1,className:"unicode-highlight",showIfCollapsed:!0,overviewRuler:null,minimap:null,hideInCommentTokens:e,hideInStringTokens:t}),this.map.set(i,r)),r}}Decorations.instance=new Decorations;class DisableHighlightingInCommentsAction extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInComments","Disable highlighting of characters in comments"),alias:"Disable highlighting of characters in comments",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingInComments.shortLabel","Disable Highlight In Comments")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.includeComments,!1,2)}}class DisableHighlightingInStringsAction extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingInStrings","Disable highlighting of characters in strings"),alias:"Disable highlighting of characters in strings",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingInStrings.shortLabel","Disable Highlight In Strings")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.includeStrings,!1,2)}}class DisableHighlightingOfAmbiguousCharactersAction extends EditorAction{constructor(){super({id:DisableHighlightingOfAmbiguousCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters","Disable highlighting of ambiguous characters"),alias:"Disable highlighting of ambiguous characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfAmbiguousCharacters.shortLabel","Disable Ambiguous Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.ambiguousCharacters,!1,2)}}DisableHighlightingOfAmbiguousCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfAmbiguousCharacters";class DisableHighlightingOfInvisibleCharactersAction extends EditorAction{constructor(){super({id:DisableHighlightingOfInvisibleCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfInvisibleCharacters","Disable highlighting of invisible characters"),alias:"Disable highlighting of invisible characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfInvisibleCharacters.shortLabel","Disable Invisible Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.invisibleCharacters,!1,2)}}DisableHighlightingOfInvisibleCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfInvisibleCharacters";class DisableHighlightingOfNonBasicAsciiCharactersAction extends EditorAction{constructor(){super({id:DisableHighlightingOfNonBasicAsciiCharactersAction.ID,label:localize("action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters","Disable highlighting of non basic ASCII characters"),alias:"Disable highlighting of non basic ASCII characters",precondition:void 0}),this.shortLabel=localize("unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters.shortLabel","Disable Non ASCII Highlight")}async run(e,t,i){const r=e==null?void 0:e.get(IConfigurationService);r&&this.runAction(r)}async runAction(e){await e.updateValue(unicodeHighlightConfigKeys.nonBasicASCII,!1,2)}}DisableHighlightingOfNonBasicAsciiCharactersAction.ID="editor.action.unicodeHighlight.disableHighlightingOfNonBasicAsciiCharacters";class ShowExcludeOptions extends EditorAction{constructor(){super({id:ShowExcludeOptions.ID,label:localize("action.unicodeHighlight.showExcludeOptions","Show Exclude Options"),alias:"Show Exclude Options",precondition:void 0})}async run(e,t,i){const{codePoint:r,reason:g,inString:y,inComment:k}=i,L=String.fromCodePoint(r),V=e.get(IQuickInputService),z=e.get(IConfigurationService);function j(re){return InvisibleCharacters.isInvisibleCharacter(re)?localize("unicodeHighlight.excludeInvisibleCharFromBeingHighlighted","Exclude {0} (invisible character) from being highlighted",codePointToHex(re)):localize("unicodeHighlight.excludeCharFromBeingHighlighted","Exclude {0} from being highlighted","".concat(codePointToHex(re),' "').concat(L,'"'))}const ie=[];if(g.kind===0)for(const re of g.notAmbiguousInLocales)ie.push({label:localize("unicodeHighlight.allowCommonCharactersInLanguage",'Allow unicode characters that are more common in the language "{0}".',re),run:async()=>{excludeLocaleFromBeingHighlighted(z,[re])}});if(ie.push({label:j(r),run:()=>excludeCharFromBeingHighlighted(z,[r])}),k){const re=new DisableHighlightingInCommentsAction;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(y){const re=new DisableHighlightingInStringsAction;ie.push({label:re.label,run:async()=>re.runAction(z)})}if(g.kind===0){const re=new DisableHighlightingOfAmbiguousCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(g.kind===1){const re=new DisableHighlightingOfInvisibleCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(z)})}else if(g.kind===2){const re=new DisableHighlightingOfNonBasicAsciiCharactersAction;ie.push({label:re.label,run:async()=>re.runAction(z)})}else expectNever(g);const oe=await V.pick(ie,{title:configureUnicodeHighlightOptionsStr});oe&&await oe.run()}}ShowExcludeOptions.ID="editor.action.unicodeHighlight.showExcludeOptions";async function excludeCharFromBeingHighlighted(n,e){const t=n.getValue(unicodeHighlightConfigKeys.allowedCharacters);let i;typeof t=="object"&&t?i=t:i={};for(const r of e)i[String.fromCodePoint(r)]=!0;await n.updateValue(unicodeHighlightConfigKeys.allowedCharacters,i,2)}async function excludeLocaleFromBeingHighlighted(n,e){var t;const i=(t=n.inspect(unicodeHighlightConfigKeys.allowedLocales).user)===null||t===void 0?void 0:t.value;let r;typeof i=="object"&&i?r=Object.assign({},i):r={};for(const g of e)r[g]=!0;await n.updateValue(unicodeHighlightConfigKeys.allowedLocales,r,2)}function expectNever(n){throw new Error("Unexpected value: ".concat(n))}registerEditorAction(DisableHighlightingOfAmbiguousCharactersAction);registerEditorAction(DisableHighlightingOfInvisibleCharactersAction);registerEditorAction(DisableHighlightingOfNonBasicAsciiCharactersAction);registerEditorAction(ShowExcludeOptions);registerEditorContribution(UnicodeHighlighter.ID,UnicodeHighlighter,1);HoverParticipantRegistry.register(UnicodeHighlighterHoverParticipant);var __decorate$e=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$a=function(n,e){return function(t,i){e(t,i,n)}};const ignoreUnusualLineTerminators="ignoreUnusualLineTerminators";function writeIgnoreState(n,e,t){n.setModelProperty(e.uri,ignoreUnusualLineTerminators,t)}function readIgnoreState(n,e){return n.getModelProperty(e.uri,ignoreUnusualLineTerminators)}let UnusualLineTerminatorsDetector=class extends Disposable{constructor(e,t,i){super(),this._editor=e,this._dialogService=t,this._codeEditorService=i,this._isPresentingDialog=!1,this._config=this._editor.getOption(126),this._register(this._editor.onDidChangeConfiguration(r=>{r.hasChanged(126)&&(this._config=this._editor.getOption(126),this._checkForUnusualLineTerminators())})),this._register(this._editor.onDidChangeModel(()=>{this._checkForUnusualLineTerminators()})),this._register(this._editor.onDidChangeModelContent(r=>{r.isUndoing||this._checkForUnusualLineTerminators()})),this._checkForUnusualLineTerminators()}async _checkForUnusualLineTerminators(){if(this._config==="off"||!this._editor.hasModel())return;const e=this._editor.getModel();if(!e.mightContainUnusualLineTerminators()||readIgnoreState(this._codeEditorService,e)===!0||this._editor.getOption(91))return;if(this._config==="auto"){e.removeUnusualLineTerminators(this._editor.getSelections());return}if(this._isPresentingDialog)return;let i;try{this._isPresentingDialog=!0,i=await this._dialogService.confirm({title:localize("unusualLineTerminators.title","Unusual Line Terminators"),message:localize("unusualLineTerminators.message","Detected unusual line terminators"),detail:localize("unusualLineTerminators.detail","The file '{0}' contains one or more unusual line terminator characters, like Line Separator (LS) or Paragraph Separator (PS).\n\nIt is recommended to remove them from the file. This can be configured via `editor.unusualLineTerminators`.",basename(e.uri)),primaryButton:localize({key:"unusualLineTerminators.fix",comment:["&& denotes a mnemonic"]},"&&Remove Unusual Line Terminators"),cancelButton:localize("unusualLineTerminators.ignore","Ignore")})}finally{this._isPresentingDialog=!1}if(!i.confirmed){writeIgnoreState(this._codeEditorService,e,!0);return}e.removeUnusualLineTerminators(this._editor.getSelections())}};UnusualLineTerminatorsDetector.ID="editor.contrib.unusualLineTerminatorsDetector";UnusualLineTerminatorsDetector=__decorate$e([__param$a(1,IDialogService),__param$a(2,ICodeEditorService)],UnusualLineTerminatorsDetector);registerEditorContribution(UnusualLineTerminatorsDetector.ID,UnusualLineTerminatorsDetector,1);var __decorate$d=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$9=function(n,e){return function(t,i){e(t,i,n)}},WordHighlighter_1,WordHighlighterContribution_1;const ctxHasWordHighlights=new RawContextKey("hasWordHighlights",!1);function getOccurrencesAtPosition(n,e,t,i){const r=n.ordered(e);return first(r.map(g=>()=>Promise.resolve(g.provideDocumentHighlights(e,t,i)).then(void 0,onUnexpectedExternalError)),isNonEmptyArray).then(g=>{if(g){const y=new ResourceMap;return y.set(e.uri,g),y}return new ResourceMap})}function getOccurrencesAcrossMultipleModels(n,e,t,i,r,g){const y=n.ordered(e);return first(y.map(k=>()=>{const L=g.filter(V=>shouldSynchronizeModel(V)).filter(V=>score(k.selector,V.uri,V.getLanguageId(),!0,void 0,void 0)>0);return Promise.resolve(k.provideMultiDocumentHighlights(e,t,L,r)).then(void 0,onUnexpectedExternalError)}),k=>k instanceof ResourceMap&&k.size>0)}class OccurenceAtPositionRequest{constructor(e,t,i){this._model=e,this._selection=t,this._wordSeparators=i,this._wordRange=this._getCurrentWordRange(e,t),this._result=null}get result(){return this._result||(this._result=createCancelablePromise(e=>this._compute(this._model,this._selection,this._wordSeparators,e))),this._result}_getCurrentWordRange(e,t){const i=e.getWordAtPosition(t.getPosition());return i?new Range$2(t.startLineNumber,i.startColumn,t.startLineNumber,i.endColumn):null}isValid(e,t,i){const r=t.startLineNumber,g=t.startColumn,y=t.endColumn,k=this._getCurrentWordRange(e,t);let L=!!(this._wordRange&&this._wordRange.equalsRange(k));for(let V=0,z=i.length;!L&&V=y&&(L=!0)}return L}cancel(){this.result.cancel()}}class SemanticOccurenceAtPositionRequest extends OccurenceAtPositionRequest{constructor(e,t,i,r){super(e,t,i),this._providers=r}_compute(e,t,i,r){return getOccurrencesAtPosition(this._providers,e,t.getPosition(),r).then(g=>g||new ResourceMap)}}class MultiModelOccurenceRequest extends OccurenceAtPositionRequest{constructor(e,t,i,r,g){super(e,t,i),this._providers=r,this._otherModels=g}_compute(e,t,i,r){return getOccurrencesAcrossMultipleModels(this._providers,e,t.getPosition(),i,r,this._otherModels).then(g=>g||new ResourceMap)}}class TextualOccurenceRequest extends OccurenceAtPositionRequest{constructor(e,t,i,r,g){super(e,t,r),this._otherModels=g,this._selectionIsEmpty=t.isEmpty(),this._word=i}_compute(e,t,i,r){return timeout(250,r).then(()=>{const g=new ResourceMap;let y;if(this._word?y=this._word:y=e.getWordAtPosition(t.getPosition()),!y)return new ResourceMap;const k=[e,...this._otherModels];for(const L of k){if(L.isDisposed())continue;const z=L.findMatches(y.word,!0,!1,!0,i,!1).map(j=>({range:j.range,kind:DocumentHighlightKind$1.Text}));z&&g.set(L.uri,z)}return g})}isValid(e,t,i){const r=t.isEmpty();return this._selectionIsEmpty!==r?!1:super.isValid(e,t,i)}}function computeOccurencesAtPosition(n,e,t,i,r){return n.has(e)?new SemanticOccurenceAtPositionRequest(e,t,r,n):new TextualOccurenceRequest(e,t,i,r,[])}function computeOccurencesMultiModel(n,e,t,i,r,g){return n.has(e)?new MultiModelOccurenceRequest(e,t,r,n,g):new TextualOccurenceRequest(e,t,i,r,g)}registerModelAndPositionCommand("_executeDocumentHighlights",async(n,e,t)=>{const i=n.get(ILanguageFeaturesService),r=await getOccurrencesAtPosition(i.documentHighlightProvider,e,t,CancellationToken.None);return r==null?void 0:r.get(e.uri)});let WordHighlighter=WordHighlighter_1=class{constructor(e,t,i,r,g){this.toUnhook=new DisposableStore,this.workerRequestTokenId=0,this.workerRequestCompleted=!1,this.workerRequestValue=new ResourceMap,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,this.editor=e,this.providers=t,this.multiDocumentProviders=i,this.codeEditorService=g,this._hasWordHighlights=ctxHasWordHighlights.bindTo(r),this._ignorePositionChangeEvent=!1,this.occurrencesHighlight=this.editor.getOption(81),this.model=this.editor.getModel(),this.toUnhook.add(e.onDidChangeCursorPosition(y=>{this._ignorePositionChangeEvent||this.occurrencesHighlight!=="off"&&this._onPositionChanged(y)})),this.toUnhook.add(e.onDidFocusEditorText(y=>{this.occurrencesHighlight!=="off"&&(this.workerRequest||this._run())})),this.toUnhook.add(e.onDidChangeModelContent(y=>{this._stopAll()})),this.toUnhook.add(e.onDidChangeModel(y=>{!y.newModelUrl&&y.oldModelUrl?this._stopSingular():WordHighlighter_1.query&&this._run()})),this.toUnhook.add(e.onDidChangeConfiguration(y=>{const k=this.editor.getOption(81);this.occurrencesHighlight!==k&&(this.occurrencesHighlight=k,this._stopAll())})),this.decorations=this.editor.createDecorationsCollection(),this.workerRequestTokenId=0,this.workerRequest=null,this.workerRequestCompleted=!1,this.lastCursorPositionChangeTime=0,this.renderDecorationsTimer=-1,WordHighlighter_1.query&&this._run()}hasDecorations(){return this.decorations.length>0}restore(){this.occurrencesHighlight!=="off"&&this._run()}_getSortedHighlights(){return this.decorations.getRanges().sort(Range$2.compareRangesUsingStarts)}moveNext(){const e=this._getSortedHighlights(),i=(e.findIndex(g=>g.containsPosition(this.editor.getPosition()))+1)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const g=this._getWord();if(g){const y=this.editor.getModel().getLineContent(r.startLineNumber);alert("".concat(y,", ").concat(i+1," of ").concat(e.length," for '").concat(g.word,"'"))}}finally{this._ignorePositionChangeEvent=!1}}moveBack(){const e=this._getSortedHighlights(),i=(e.findIndex(g=>g.containsPosition(this.editor.getPosition()))-1+e.length)%e.length,r=e[i];try{this._ignorePositionChangeEvent=!0,this.editor.setPosition(r.getStartPosition()),this.editor.revealRangeInCenterIfOutsideViewport(r);const g=this._getWord();if(g){const y=this.editor.getModel().getLineContent(r.startLineNumber);alert("".concat(y,", ").concat(i+1," of ").concat(e.length," for '").concat(g.word,"'"))}}finally{this._ignorePositionChangeEvent=!1}}_removeSingleDecorations(){if(!this.editor.hasModel())return;const e=WordHighlighter_1.storedDecorations.get(this.editor.getModel().uri);e&&(this.editor.removeDecorations(e),WordHighlighter_1.storedDecorations.delete(this.editor.getModel().uri),this.decorations.length>0&&(this.decorations.clear(),this._hasWordHighlights.set(!1)))}_removeAllDecorations(){const e=this.codeEditorService.listCodeEditors(),t=[];for(const i of e){if(!i.hasModel())continue;const r=WordHighlighter_1.storedDecorations.get(i.getModel().uri);if(!r)continue;i.removeDecorations(r),t.push(i.getModel().uri);const g=WordHighlighterContribution.get(i);g!=null&&g.wordHighlighter&&g.wordHighlighter.decorations.length>0&&(g.wordHighlighter.decorations.clear(),g.wordHighlighter.workerRequest=null,g.wordHighlighter._hasWordHighlights.set(!1))}for(const i of t)WordHighlighter_1.storedDecorations.delete(i)}_stopSingular(){var e,t,i,r;this._removeSingleDecorations(),this.editor.hasTextFocus()&&(((e=this.editor.getModel())===null||e===void 0?void 0:e.uri.scheme)!==Schemas.vscodeNotebookCell&&((i=(t=WordHighlighter_1.query)===null||t===void 0?void 0:t.modelInfo)===null||i===void 0?void 0:i.model.uri.scheme)!==Schemas.vscodeNotebookCell?(WordHighlighter_1.query=null,this._run()):!((r=WordHighlighter_1.query)===null||r===void 0)&&r.modelInfo&&(WordHighlighter_1.query.modelInfo=null)),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_stopAll(){this._removeAllDecorations(),this.renderDecorationsTimer!==-1&&(clearTimeout(this.renderDecorationsTimer),this.renderDecorationsTimer=-1),this.workerRequest!==null&&(this.workerRequest.cancel(),this.workerRequest=null),this.workerRequestCompleted||(this.workerRequestTokenId++,this.workerRequestCompleted=!0)}_onPositionChanged(e){var t;if(this.occurrencesHighlight==="off"){this._stopAll();return}if(e.reason!==3&&((t=this.editor.getModel())===null||t===void 0?void 0:t.uri.scheme)!==Schemas.vscodeNotebookCell){this._stopAll();return}this._run()}_getWord(){const e=this.editor.getSelection(),t=e.startLineNumber,i=e.startColumn;return this.model.isDisposed()?null:this.model.getWordAtPosition({lineNumber:t,column:i})}getOtherModelsToHighlight(e){if(!e)return[];if(e.uri.scheme===Schemas.vscodeNotebookCell){const g=[],y=this.codeEditorService.listCodeEditors();for(const k of y){const L=k.getModel();L&&L!==e&&L.uri.scheme===Schemas.vscodeNotebookCell&&g.push(L)}return g}const i=[],r=this.codeEditorService.listCodeEditors();for(const g of r){if(!isDiffEditor(g))continue;const y=g.getModel();y&&e===y.modified&&i.push(y.modified)}if(i.length)return i;if(this.occurrencesHighlight==="singleFile")return[];for(const g of r){const y=g.getModel();y&&y!==e&&i.push(y)}return i}_run(){var e;let t;if(this.editor.hasTextFocus()){const r=this.editor.getSelection();if(!r||r.startLineNumber!==r.endLineNumber){WordHighlighter_1.query=null,this._stopAll();return}const g=r.startColumn,y=r.endColumn,k=this._getWord();if(!k||k.startColumn>g||k.endColumn{r===this.workerRequestTokenId&&(this.workerRequestCompleted=!0,this.workerRequestValue=y||[],this._beginRenderDecorations())},onUnexpectedError)}}computeWithModel(e,t,i,r){return r.length?computeOccurencesMultiModel(this.multiDocumentProviders,e,t,i,this.editor.getOption(131),r):computeOccurencesAtPosition(this.providers,e,t,i,this.editor.getOption(131))}_beginRenderDecorations(){const e=new Date().getTime(),t=this.lastCursorPositionChangeTime+250;e>=t?(this.renderDecorationsTimer=-1,this.renderDecorations()):this.renderDecorationsTimer=setTimeout(()=>{this.renderDecorations()},t-e)}renderDecorations(){var e,t,i;this.renderDecorationsTimer=-1;const r=this.codeEditorService.listCodeEditors();for(const g of r){const y=WordHighlighterContribution.get(g);if(!y)continue;const k=[],L=(e=g.getModel())===null||e===void 0?void 0:e.uri;if(L&&this.workerRequestValue.has(L)){const V=WordHighlighter_1.storedDecorations.get(L),z=this.workerRequestValue.get(L);if(z)for(const ie of z)ie.range&&k.push({range:ie.range,options:getHighlightDecorationOptions(ie.kind)});let j=[];g.changeDecorations(ie=>{j=ie.deltaDecorations(V!=null?V:[],k)}),WordHighlighter_1.storedDecorations=WordHighlighter_1.storedDecorations.set(L,j),k.length>0&&((t=y.wordHighlighter)===null||t===void 0||t.decorations.set(k),(i=y.wordHighlighter)===null||i===void 0||i._hasWordHighlights.set(!0))}}}dispose(){this._stopSingular(),this.toUnhook.dispose()}};WordHighlighter.storedDecorations=new ResourceMap;WordHighlighter.query=null;WordHighlighter=WordHighlighter_1=__decorate$d([__param$9(4,ICodeEditorService)],WordHighlighter);let WordHighlighterContribution=WordHighlighterContribution_1=class extends Disposable{static get(e){return e.getContribution(WordHighlighterContribution_1.ID)}constructor(e,t,i,r){super(),this._wordHighlighter=null;const g=()=>{e.hasModel()&&!e.getModel().isTooLargeForTokenization()&&(this._wordHighlighter=new WordHighlighter(e,i.documentHighlightProvider,i.multiDocumentHighlightProvider,t,r))};this._register(e.onDidChangeModel(y=>{this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),g()})),g()}get wordHighlighter(){return this._wordHighlighter}saveViewState(){return!!(this._wordHighlighter&&this._wordHighlighter.hasDecorations())}moveNext(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveNext()}moveBack(){var e;(e=this._wordHighlighter)===null||e===void 0||e.moveBack()}restoreViewState(e){this._wordHighlighter&&e&&this._wordHighlighter.restore()}dispose(){this._wordHighlighter&&(this._wordHighlighter.dispose(),this._wordHighlighter=null),super.dispose()}};WordHighlighterContribution.ID="editor.contrib.wordHighlighter";WordHighlighterContribution=WordHighlighterContribution_1=__decorate$d([__param$9(1,IContextKeyService),__param$9(2,ILanguageFeaturesService),__param$9(3,ICodeEditorService)],WordHighlighterContribution);class WordHighlightNavigationAction extends EditorAction{constructor(e,t){super(t),this._isNext=e}run(e,t){const i=WordHighlighterContribution.get(t);i&&(this._isNext?i.moveNext():i.moveBack())}}class NextWordHighlightAction extends WordHighlightNavigationAction{constructor(){super(!0,{id:"editor.action.wordHighlight.next",label:localize("wordHighlight.next.label","Go to Next Symbol Highlight"),alias:"Go to Next Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:65,weight:100}})}}class PrevWordHighlightAction extends WordHighlightNavigationAction{constructor(){super(!1,{id:"editor.action.wordHighlight.prev",label:localize("wordHighlight.previous.label","Go to Previous Symbol Highlight"),alias:"Go to Previous Symbol Highlight",precondition:ctxHasWordHighlights,kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:1089,weight:100}})}}class TriggerWordHighlightAction extends EditorAction{constructor(){super({id:"editor.action.wordHighlight.trigger",label:localize("wordHighlight.trigger.label","Trigger Symbol Highlight"),alias:"Trigger Symbol Highlight",precondition:ctxHasWordHighlights.toNegated(),kbOpts:{kbExpr:EditorContextKeys.editorTextFocus,primary:0,weight:100}})}run(e,t,i){const r=WordHighlighterContribution.get(t);r&&r.restoreViewState(!0)}}registerEditorContribution(WordHighlighterContribution.ID,WordHighlighterContribution,0);registerEditorAction(NextWordHighlightAction);registerEditorAction(PrevWordHighlightAction);registerEditorAction(TriggerWordHighlightAction);class MoveWordCommand extends EditorCommand{constructor(e){super(e),this._inSelectionMode=e.inSelectionMode,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){if(!t.hasModel())return;const r=getMapForWordSeparators(t.getOption(131),t.getOption(130)),g=t.getModel(),k=t.getSelections().map(L=>{const V=new Position$1(L.positionLineNumber,L.positionColumn),z=this._move(r,g,V,this._wordNavigationType);return this._moveTo(L,z,this._inSelectionMode)});if(g.pushStackElement(),t._getViewModel().setCursorStates("moveWordCommand",3,k.map(L=>CursorState$1.fromModelSelection(L))),k.length===1){const L=new Position$1(k[0].positionLineNumber,k[0].positionColumn);t.revealPosition(L,0)}}_moveTo(e,t,i){return i?new Selection$1(e.selectionStartLineNumber,e.selectionStartColumn,t.lineNumber,t.column):new Selection$1(t.lineNumber,t.column,t.lineNumber,t.column)}}class WordLeftCommand extends MoveWordCommand{_move(e,t,i,r){return WordOperations.moveWordLeft(e,t,i,r)}}class WordRightCommand extends MoveWordCommand{_move(e,t,i,r){return WordOperations.moveWordRight(e,t,i,r)}}class CursorWordStartLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartLeft",precondition:void 0})}}class CursorWordEndLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndLeft",precondition:void 0})}}class CursorWordLeft extends WordLeftCommand{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:1,id:"cursorWordLeft",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(e=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||e===void 0?void 0:e.negate()),primary:2063,mac:{primary:527},weight:100}})}}class CursorWordStartLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartLeftSelect",precondition:void 0})}}class CursorWordEndLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndLeftSelect",precondition:void 0})}}class CursorWordLeftSelect extends WordLeftCommand{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:1,id:"cursorWordLeftSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(e=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||e===void 0?void 0:e.negate()),primary:3087,mac:{primary:1551},weight:100}})}}class CursorWordAccessibilityLeft extends WordLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityLeft",precondition:void 0})}_move(e,t,i,r){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class CursorWordAccessibilityLeftSelect extends WordLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityLeftSelect",precondition:void 0})}_move(e,t,i,r){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class CursorWordStartRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordStartRight",precondition:void 0})}}class CursorWordEndRight extends WordRightCommand{constructor(){var e;super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordEndRight",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(e=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||e===void 0?void 0:e.negate()),primary:2065,mac:{primary:529},weight:100}})}}class CursorWordRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordRight",precondition:void 0})}}class CursorWordStartRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordStartRightSelect",precondition:void 0})}}class CursorWordEndRightSelect extends WordRightCommand{constructor(){var e;super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordEndRightSelect",precondition:void 0,kbOpts:{kbExpr:ContextKeyExpr.and(EditorContextKeys.textInputFocus,(e=ContextKeyExpr.and(CONTEXT_ACCESSIBILITY_MODE_ENABLED,IsWindowsContext))===null||e===void 0?void 0:e.negate()),primary:3089,mac:{primary:1553},weight:100}})}}class CursorWordRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordRightSelect",precondition:void 0})}}class CursorWordAccessibilityRight extends WordRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:3,id:"cursorWordAccessibilityRight",precondition:void 0})}_move(e,t,i,r){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class CursorWordAccessibilityRightSelect extends WordRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:3,id:"cursorWordAccessibilityRightSelect",precondition:void 0})}_move(e,t,i,r){return super._move(getMapForWordSeparators(EditorOptions.wordSeparators.defaultValue,e.intlSegmenterLocales),t,i,r)}}class DeleteWordCommand extends EditorCommand{constructor(e){super(e),this._whitespaceHeuristics=e.whitespaceHeuristics,this._wordNavigationType=e.wordNavigationType}runEditorCommand(e,t,i){const r=e.get(ILanguageConfigurationService);if(!t.hasModel())return;const g=getMapForWordSeparators(t.getOption(131),t.getOption(130)),y=t.getModel(),k=t.getSelections(),L=t.getOption(6),V=t.getOption(11),z=r.getLanguageConfiguration(y.getLanguageId()).getAutoClosingPairs(),j=t._getViewModel(),ie=k.map(oe=>{const re=this._delete({wordSeparators:g,model:y,selection:oe,whitespaceHeuristics:this._whitespaceHeuristics,autoClosingDelete:t.getOption(9),autoClosingBrackets:L,autoClosingQuotes:V,autoClosingPairs:z,autoClosedCharacters:j.getCursorAutoClosedCharacters()},this._wordNavigationType);return new ReplaceCommand(re,"")});t.pushUndoStop(),t.executeCommands(this.id,ie),t.pushUndoStop()}}class DeleteWordLeftCommand extends DeleteWordCommand{_delete(e,t){const i=WordOperations.deleteWordLeft(e,t);return i||new Range$2(1,1,1,1)}}class DeleteWordRightCommand extends DeleteWordCommand{_delete(e,t){const i=WordOperations.deleteWordRight(e,t);if(i)return i;const r=e.model.getLineCount(),g=e.model.getLineMaxColumn(r);return new Range$2(r,g,r,g)}}class DeleteWordStartLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartLeft",precondition:EditorContextKeys.writable})}}class DeleteWordEndLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndLeft",precondition:EditorContextKeys.writable})}}class DeleteWordLeft extends DeleteWordLeftCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2049,mac:{primary:513},weight:100}})}}class DeleteWordStartRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:0,id:"deleteWordStartRight",precondition:EditorContextKeys.writable})}}class DeleteWordEndRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!1,wordNavigationType:2,id:"deleteWordEndRight",precondition:EditorContextKeys.writable})}}class DeleteWordRight extends DeleteWordRightCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:2068,mac:{primary:532},weight:100}})}}class DeleteInsideWord extends EditorAction{constructor(){super({id:"deleteInsideWord",precondition:EditorContextKeys.writable,label:localize("deleteInsideWord","Delete Word"),alias:"Delete Word"})}run(e,t,i){if(!t.hasModel())return;const r=getMapForWordSeparators(t.getOption(131),t.getOption(130)),g=t.getModel(),k=t.getSelections().map(L=>{const V=WordOperations.deleteInsideWord(r,g,L);return new ReplaceCommand(V,"")});t.pushUndoStop(),t.executeCommands(this.id,k),t.pushUndoStop()}}registerEditorCommand(new CursorWordStartLeft);registerEditorCommand(new CursorWordEndLeft);registerEditorCommand(new CursorWordLeft);registerEditorCommand(new CursorWordStartLeftSelect);registerEditorCommand(new CursorWordEndLeftSelect);registerEditorCommand(new CursorWordLeftSelect);registerEditorCommand(new CursorWordStartRight);registerEditorCommand(new CursorWordEndRight);registerEditorCommand(new CursorWordRight);registerEditorCommand(new CursorWordStartRightSelect);registerEditorCommand(new CursorWordEndRightSelect);registerEditorCommand(new CursorWordRightSelect);registerEditorCommand(new CursorWordAccessibilityLeft);registerEditorCommand(new CursorWordAccessibilityLeftSelect);registerEditorCommand(new CursorWordAccessibilityRight);registerEditorCommand(new CursorWordAccessibilityRightSelect);registerEditorCommand(new DeleteWordStartLeft);registerEditorCommand(new DeleteWordEndLeft);registerEditorCommand(new DeleteWordLeft);registerEditorCommand(new DeleteWordStartRight);registerEditorCommand(new DeleteWordEndRight);registerEditorCommand(new DeleteWordRight);registerEditorAction(DeleteInsideWord);class DeleteWordPartLeft extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:0,id:"deleteWordPartLeft",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:769},weight:100}})}_delete(e,t){const i=WordPartOperations.deleteWordPartLeft(e);return i||new Range$2(1,1,1,1)}}class DeleteWordPartRight extends DeleteWordCommand{constructor(){super({whitespaceHeuristics:!0,wordNavigationType:2,id:"deleteWordPartRight",precondition:EditorContextKeys.writable,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:788},weight:100}})}_delete(e,t){const i=WordPartOperations.deleteWordPartRight(e);if(i)return i;const r=e.model.getLineCount(),g=e.model.getLineMaxColumn(r);return new Range$2(r,g,r,g)}}class WordPartLeftCommand extends MoveWordCommand{_move(e,t,i,r){return WordPartOperations.moveWordPartLeft(e,t,i)}}class CursorWordPartLeft extends WordPartLeftCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:0,id:"cursorWordPartLeft",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:783},weight:100}})}}CommandsRegistry.registerCommandAlias("cursorWordPartStartLeft","cursorWordPartLeft");class CursorWordPartLeftSelect extends WordPartLeftCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:0,id:"cursorWordPartLeftSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:1807},weight:100}})}}CommandsRegistry.registerCommandAlias("cursorWordPartStartLeftSelect","cursorWordPartLeftSelect");class WordPartRightCommand extends MoveWordCommand{_move(e,t,i,r){return WordPartOperations.moveWordPartRight(e,t,i)}}class CursorWordPartRight extends WordPartRightCommand{constructor(){super({inSelectionMode:!1,wordNavigationType:2,id:"cursorWordPartRight",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:785},weight:100}})}}class CursorWordPartRightSelect extends WordPartRightCommand{constructor(){super({inSelectionMode:!0,wordNavigationType:2,id:"cursorWordPartRightSelect",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.textInputFocus,primary:0,mac:{primary:1809},weight:100}})}}registerEditorCommand(new DeleteWordPartLeft);registerEditorCommand(new DeleteWordPartRight);registerEditorCommand(new CursorWordPartLeft);registerEditorCommand(new CursorWordPartLeftSelect);registerEditorCommand(new CursorWordPartRight);registerEditorCommand(new CursorWordPartRightSelect);class ReadOnlyMessageController extends Disposable{constructor(e){super(),this.editor=e,this._register(this.editor.onDidAttemptReadOnlyEdit(()=>this._onDidAttemptReadOnlyEdit()))}_onDidAttemptReadOnlyEdit(){const e=MessageController.get(this.editor);if(e&&this.editor.hasModel()){let t=this.editor.getOptions().get(92);t||(this.editor.isSimpleWidget?t=new MarkdownString(localize("editor.simple.readonly","Cannot edit in read-only input")):t=new MarkdownString(localize("editor.readonly","Cannot edit in read-only editor"))),e.showMessage(t,this.editor.getPosition())}}}ReadOnlyMessageController.ID="editor.contrib.readOnlyMessageController";registerEditorContribution(ReadOnlyMessageController.ID,ReadOnlyMessageController,2);var __decorate$c=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$8=function(n,e){return function(t,i){e(t,i,n)}};let DiffEditorBreadcrumbsSource=class extends Disposable{constructor(e,t,i){super(),this._textModel=e,this._languageFeaturesService=t,this._outlineModelService=i,this._currentModel=observableValue(this,void 0);const r=observableSignalFromEvent("documentSymbolProvider.onDidChange",this._languageFeaturesService.documentSymbolProvider.onDidChange),g=observableSignalFromEvent("_textModel.onDidChangeContent",Event$1.debounce(y=>this._textModel.onDidChangeContent(y),()=>{},100));this._register(autorunWithStore(async(y,k)=>{r.read(y),g.read(y);const L=k.add(new DisposableCancellationTokenSource),V=await this._outlineModelService.getOrCreate(this._textModel,L.token);k.isDisposed||this._currentModel.set(V,void 0)}))}getBreadcrumbItems(e,t){const i=this._currentModel.read(t);if(!i)return[];const r=i.asListOfDocumentSymbols().filter(g=>e.contains(g.range.startLineNumber)&&!e.contains(g.range.endLineNumber));return r.sort(reverseOrder(compareBy(g=>g.range.endLineNumber-g.range.startLineNumber,numberComparator))),r.map(g=>({name:g.name,kind:g.kind,startLineNumber:g.range.startLineNumber}))}};DiffEditorBreadcrumbsSource=__decorate$c([__param$8(1,ILanguageFeaturesService),__param$8(2,IOutlineModelService)],DiffEditorBreadcrumbsSource);HideUnchangedRegionsFeature.setBreadcrumbsSourceFactory((n,e)=>e.createInstance(DiffEditorBreadcrumbsSource,n));class IPadShowKeyboard extends Disposable{constructor(e){super(),this.editor=e,this.widget=null,isIOS$1&&(this._register(e.onDidChangeConfiguration(()=>this.update())),this.update())}update(){const e=!this.editor.getOption(91);!this.widget&&e?this.widget=new ShowKeyboardWidget(this.editor):this.widget&&!e&&(this.widget.dispose(),this.widget=null)}dispose(){super.dispose(),this.widget&&(this.widget.dispose(),this.widget=null)}}IPadShowKeyboard.ID="editor.contrib.iPadShowKeyboard";class ShowKeyboardWidget extends Disposable{constructor(e){super(),this.editor=e,this._domNode=document.createElement("textarea"),this._domNode.className="iPadShowKeyboard",this._register(addDisposableListener(this._domNode,"touchstart",t=>{this.editor.focus()})),this._register(addDisposableListener(this._domNode,"focus",t=>{this.editor.focus()})),this.editor.addOverlayWidget(this)}dispose(){this.editor.removeOverlayWidget(this),super.dispose()}getId(){return ShowKeyboardWidget.ID}getDomNode(){return this._domNode}getPosition(){return{preference:1}}}ShowKeyboardWidget.ID="editor.contrib.ShowKeyboardWidget";registerEditorContribution(IPadShowKeyboard.ID,IPadShowKeyboard,3);var __decorate$b=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$7=function(n,e){return function(t,i){e(t,i,n)}},InspectTokensController_1;let InspectTokensController=InspectTokensController_1=class extends Disposable{static get(e){return e.getContribution(InspectTokensController_1.ID)}constructor(e,t,i){super(),this._editor=e,this._languageService=i,this._widget=null,this._register(this._editor.onDidChangeModel(r=>this.stop())),this._register(this._editor.onDidChangeModelLanguage(r=>this.stop())),this._register(TokenizationRegistry.onDidChange(r=>this.stop())),this._register(this._editor.onKeyUp(r=>r.keyCode===9&&this.stop()))}dispose(){this.stop(),super.dispose()}launch(){this._widget||this._editor.hasModel()&&(this._widget=new InspectTokensWidget(this._editor,this._languageService))}stop(){this._widget&&(this._widget.dispose(),this._widget=null)}};InspectTokensController.ID="editor.contrib.inspectTokens";InspectTokensController=InspectTokensController_1=__decorate$b([__param$7(1,IStandaloneThemeService),__param$7(2,ILanguageService)],InspectTokensController);class InspectTokens extends EditorAction{constructor(){super({id:"editor.action.inspectTokens",label:InspectTokensNLS.inspectTokensAction,alias:"Developer: Inspect Tokens",precondition:void 0})}run(e,t){const i=InspectTokensController.get(t);i==null||i.launch()}}function renderTokenText(n){let e="";for(let t=0,i=n.length;tNullState,tokenize:(r,g,y)=>nullTokenize(e,y),tokenizeEncoded:(r,g,y)=>nullTokenizeEncoded(i,y)}}class InspectTokensWidget extends Disposable{constructor(e,t){super(),this.allowEditorOverflow=!0,this._editor=e,this._languageService=t,this._model=this._editor.getModel(),this._domNode=document.createElement("div"),this._domNode.className="tokens-inspect-widget",this._tokenizationSupport=getSafeTokenizationSupport(this._languageService.languageIdCodec,this._model.getLanguageId()),this._compute(this._editor.getPosition()),this._register(this._editor.onDidChangeCursorPosition(i=>this._compute(this._editor.getPosition()))),this._editor.addContentWidget(this)}dispose(){this._editor.removeContentWidget(this),super.dispose()}getId(){return InspectTokensWidget._ID}_compute(e){const t=this._getTokensAtLine(e.lineNumber);let i=0;for(let L=t.tokens1.length-1;L>=0;L--){const V=t.tokens1[L];if(e.column-1>=V.offset){i=L;break}}let r=0;for(let L=t.tokens2.length>>>1;L>=0;L--)if(e.column-1>=t.tokens2[L<<1]){r=L;break}const g=this._model.getLineContent(e.lineNumber);let y="";if(i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$6=function(n,e){return function(t,i){e(t,i,n)}},HelpQuickAccessProvider_1;let HelpQuickAccessProvider=HelpQuickAccessProvider_1=class{constructor(e,t){this.quickInputService=e,this.keybindingService=t,this.registry=Registry.as(Extensions$2.Quickaccess)}provide(e){const t=new DisposableStore;return t.add(e.onDidAccept(()=>{const[i]=e.selectedItems;i&&this.quickInputService.quickAccess.show(i.prefix,{preserveValue:!0})})),t.add(e.onDidChangeValue(i=>{const r=this.registry.getQuickAccessProvider(i.substr(HelpQuickAccessProvider_1.PREFIX.length));r&&r.prefix&&r.prefix!==HelpQuickAccessProvider_1.PREFIX&&this.quickInputService.quickAccess.show(r.prefix,{preserveValue:!0})})),e.items=this.getQuickAccessProviders().filter(i=>i.prefix!==HelpQuickAccessProvider_1.PREFIX),t}getQuickAccessProviders(){return this.registry.getQuickAccessProviders().sort((t,i)=>t.prefix.localeCompare(i.prefix)).flatMap(t=>this.createPicks(t))}createPicks(e){return e.helpEntries.map(t=>{const i=t.prefix||e.prefix,r=i||"…";return{prefix:i,label:r,keybinding:t.commandId?this.keybindingService.lookupKeybinding(t.commandId):void 0,ariaLabel:localize("helpPickAriaLabel","{0}, {1}",r,t.description),description:t.description}})}};HelpQuickAccessProvider.PREFIX="?";HelpQuickAccessProvider=HelpQuickAccessProvider_1=__decorate$a([__param$6(0,IQuickInputService),__param$6(1,IKeybindingService)],HelpQuickAccessProvider);Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:HelpQuickAccessProvider,prefix:"",helpEntries:[{description:QuickHelpNLS.helpQuickAccessActionLabel}]});class AbstractEditorNavigationQuickAccessProvider{constructor(e){this.options=e,this.rangeHighlightDecorationId=void 0}provide(e,t){var i;const r=new DisposableStore;e.canAcceptInBackground=!!(!((i=this.options)===null||i===void 0)&&i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;const g=r.add(new MutableDisposable);return g.value=this.doProvide(e,t),r.add(this.onDidActiveTextEditorControlChange(()=>{g.value=void 0,g.value=this.doProvide(e,t)})),r}doProvide(e,t){var i;const r=new DisposableStore,g=this.activeTextEditorControl;if(g&&this.canProvideWithTextEditor(g)){const y={editor:g},k=getCodeEditor(g);if(k){let L=(i=g.saveViewState())!==null&&i!==void 0?i:void 0;r.add(k.onDidChangeCursorPosition(()=>{var V;L=(V=g.saveViewState())!==null&&V!==void 0?V:void 0})),y.restoreViewState=()=>{L&&g===this.activeTextEditorControl&&g.restoreViewState(L)},r.add(createSingleCallFunction(t.onCancellationRequested)(()=>{var V;return(V=y.restoreViewState)===null||V===void 0?void 0:V.call(y)}))}r.add(toDisposable(()=>this.clearDecorations(g))),r.add(this.provideWithTextEditor(y,e,t))}else r.add(this.provideWithoutTextEditor(e,t));return r}canProvideWithTextEditor(e){return!0}gotoLocation({editor:e},t){e.setSelection(t.range,"code.jump"),e.revealRangeInCenter(t.range,0),t.preserveFocus||e.focus();const i=e.getModel();i&&"getLineContent"in i&&status("".concat(i.getLineContent(t.range.startLineNumber)))}getModel(e){var t;return isDiffEditor(e)?(t=e.getModel())===null||t===void 0?void 0:t.modified:e.getModel()}addDecorations(e,t){e.changeDecorations(i=>{const r=[];this.rangeHighlightDecorationId&&(r.push(this.rangeHighlightDecorationId.overviewRulerDecorationId),r.push(this.rangeHighlightDecorationId.rangeHighlightId),this.rangeHighlightDecorationId=void 0);const g=[{range:t,options:{description:"quick-access-range-highlight",className:"rangeHighlight",isWholeLine:!0}},{range:t,options:{description:"quick-access-range-highlight-overview",overviewRuler:{color:themeColorFromId(overviewRulerRangeHighlight),position:OverviewRulerLane.Full}}}],[y,k]=i.deltaDecorations(r,g);this.rangeHighlightDecorationId={rangeHighlightId:y,overviewRulerDecorationId:k}})}clearDecorations(e){const t=this.rangeHighlightDecorationId;t&&(e.changeDecorations(i=>{i.deltaDecorations([t.overviewRulerDecorationId,t.rangeHighlightId],[])}),this.rangeHighlightDecorationId=void 0)}}class AbstractGotoLineQuickAccessProvider extends AbstractEditorNavigationQuickAccessProvider{constructor(){super({canAcceptInBackground:!0})}provideWithoutTextEditor(e){const t=localize("cannotRunGotoLine","Open a text editor first to go to a line.");return e.items=[{label:t}],e.ariaLabel=t,Disposable.None}provideWithTextEditor(e,t,i){const r=e.editor,g=new DisposableStore;g.add(t.onDidAccept(L=>{const[V]=t.selectedItems;if(V){if(!this.isValidLineNumber(r,V.lineNumber))return;this.gotoLocation(e,{range:this.toRange(V.lineNumber,V.column),keyMods:t.keyMods,preserveFocus:L.inBackground}),L.inBackground||t.hide()}}));const y=()=>{const L=this.parsePosition(r,t.value.trim().substr(AbstractGotoLineQuickAccessProvider.PREFIX.length)),V=this.getPickLabel(r,L.lineNumber,L.column);if(t.items=[{lineNumber:L.lineNumber,column:L.column,label:V}],t.ariaLabel=V,!this.isValidLineNumber(r,L.lineNumber)){this.clearDecorations(r);return}const z=this.toRange(L.lineNumber,L.column);r.revealRangeInCenter(z,0),this.addDecorations(r,z)};y(),g.add(t.onDidChangeValue(()=>y()));const k=getCodeEditor(r);return k&&k.getOptions().get(68).renderType===2&&(k.updateOptions({lineNumbers:"on"}),g.add(toDisposable(()=>k.updateOptions({lineNumbers:"relative"})))),g}toRange(e=1,t=1){return{startLineNumber:e,startColumn:t,endLineNumber:e,endColumn:t}}parsePosition(e,t){const i=t.split(/,|:|#/).map(g=>parseInt(g,10)).filter(g=>!isNaN(g)),r=this.lineCount(e)+1;return{lineNumber:i[0]>0?i[0]:r+i[0],column:i[1]}}getPickLabel(e,t,i){if(this.isValidLineNumber(e,t))return this.isValidColumn(e,t,i)?localize("gotoLineColumnLabel","Go to line {0} and character {1}.",t,i):localize("gotoLineLabel","Go to line {0}.",t);const r=e.getPosition()||{lineNumber:1,column:1},g=this.lineCount(e);return g>1?localize("gotoLineLabelEmptyWithLimit","Current Line: {0}, Character: {1}. Type a line number between 1 and {2} to navigate to.",r.lineNumber,r.column,g):localize("gotoLineLabelEmpty","Current Line: {0}, Character: {1}. Type a line number to navigate to.",r.lineNumber,r.column)}isValidLineNumber(e,t){return!t||typeof t!="number"?!1:t>0&&t<=this.lineCount(e)}isValidColumn(e,t,i){if(!i||typeof i!="number")return!1;const r=this.getModel(e);if(!r)return!1;const g={lineNumber:t,column:i};return r.validatePosition(g).equals(g)}lineCount(e){var t,i;return(i=(t=this.getModel(e))===null||t===void 0?void 0:t.getLineCount())!==null&&i!==void 0?i:0}}AbstractGotoLineQuickAccessProvider.PREFIX=":";var __decorate$9=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$5=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneGotoLineQuickAccessProvider=class extends AbstractGotoLineQuickAccessProvider{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$1.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!==null&&e!==void 0?e:void 0}};StandaloneGotoLineQuickAccessProvider=__decorate$9([__param$5(0,ICodeEditorService)],StandaloneGotoLineQuickAccessProvider);let GotoLineAction$1=class Zh extends EditorAction{constructor(){super({id:Zh.ID,label:GoToLineNLS.gotoLineActionLabel,alias:"Go to Line/Column...",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:2085,mac:{primary:293},weight:100}})}run(e){e.get(IQuickInputService).quickAccess.show(StandaloneGotoLineQuickAccessProvider.PREFIX)}};GotoLineAction$1.ID="editor.action.gotoLine";registerEditorAction(GotoLineAction$1);Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoLineQuickAccessProvider,prefix:StandaloneGotoLineQuickAccessProvider.PREFIX,helpEntries:[{description:GoToLineNLS.gotoLineActionLabel,commandId:GotoLineAction$1.ID}]});const NO_SCORE2=[void 0,[]];function scoreFuzzy2(n,e,t=0,i=0){const r=e;return r.values&&r.values.length>1?doScoreFuzzy2Multiple(n,r.values,t,i):doScoreFuzzy2Single(n,e,t,i)}function doScoreFuzzy2Multiple(n,e,t,i){let r=0;const g=[];for(const y of e){const[k,L]=doScoreFuzzy2Single(n,y,t,i);if(typeof k!="number")return NO_SCORE2;r+=k,g.push(...L)}return[r,normalizeMatches(g)]}function doScoreFuzzy2Single(n,e,t,i){const r=fuzzyScore(e.original,e.originalLowercase,t,n,n.toLowerCase(),i,{firstMatchCanBeWeak:!0,boostFullMatch:!0});return r?[r[0],createMatches(r)]:NO_SCORE2}function normalizeMatches(n){const e=n.sort((r,g)=>r.start-g.start),t=[];let i;for(const r of e)!i||!matchOverlaps(i,r)?(i=r,t.push(r)):(i.start=Math.min(i.start,r.start),i.end=Math.max(i.end,r.end));return t}function matchOverlaps(n,e){return!(n.end=0,y=queryExpectsExactMatch(n);let k;const L=n.split(MULTIPLE_QUERY_VALUES_SEPARATOR);if(L.length>1)for(const V of L){const z=queryExpectsExactMatch(V),{pathNormalized:j,normalized:ie,normalizedLowercase:oe}=normalizeQuery$1(V);ie&&(k||(k=[]),k.push({original:V,originalLowercase:V.toLowerCase(),pathNormalized:j,normalized:ie,normalizedLowercase:oe,expectContiguousMatch:z}))}return{original:n,originalLowercase:e,pathNormalized:t,normalized:i,normalizedLowercase:r,values:k,containsPathSeparator:g,expectContiguousMatch:y}}function normalizeQuery$1(n){let e;isWindows?e=n.replace(/\//g,sep):e=n.replace(/\\/g,sep);const t=stripWildcards(e).replace(/\s|"/g,"");return{pathNormalized:e,normalized:t,normalizedLowercase:t.toLowerCase()}}function pieceToQuery(n){return Array.isArray(n)?prepareQuery(n.map(e=>e.original).join(MULTIPLE_QUERY_VALUES_SEPARATOR)):prepareQuery(n.original)}var __decorate$8=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$4=function(n,e){return function(t,i){e(t,i,n)}},AbstractGotoSymbolQuickAccessProvider_1;let AbstractGotoSymbolQuickAccessProvider=AbstractGotoSymbolQuickAccessProvider_1=class extends AbstractEditorNavigationQuickAccessProvider{constructor(e,t,i=Object.create(null)){super(i),this._languageFeaturesService=e,this._outlineModelService=t,this.options=i,this.options.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,localize("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),Disposable.None}provideWithTextEditor(e,t,i){const r=e.editor,g=this.getModel(r);return g?this._languageFeaturesService.documentSymbolProvider.has(g)?this.doProvideWithEditorSymbols(e,g,t,i):this.doProvideWithoutEditorSymbols(e,g,t,i):Disposable.None}doProvideWithoutEditorSymbols(e,t,i,r){const g=new DisposableStore;return this.provideLabelPick(i,localize("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(async()=>!await this.waitForLanguageSymbolRegistry(t,g)||r.isCancellationRequested||g.add(this.doProvideWithEditorSymbols(e,t,i,r)))(),g}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}async waitForLanguageSymbolRegistry(e,t){if(this._languageFeaturesService.documentSymbolProvider.has(e))return!0;const i=new DeferredPromise,r=t.add(this._languageFeaturesService.documentSymbolProvider.onDidChange(()=>{this._languageFeaturesService.documentSymbolProvider.has(e)&&(r.dispose(),i.complete(!0))}));return t.add(toDisposable(()=>i.complete(!1))),i.p}doProvideWithEditorSymbols(e,t,i,r){var g;const y=e.editor,k=new DisposableStore;k.add(i.onDidAccept(j=>{const[ie]=i.selectedItems;ie&&ie.range&&(this.gotoLocation(e,{range:ie.range.selection,keyMods:i.keyMods,preserveFocus:j.inBackground}),j.inBackground||i.hide())})),k.add(i.onDidTriggerItemButton(({item:j})=>{j&&j.range&&(this.gotoLocation(e,{range:j.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const L=this.getDocumentSymbols(t,r);let V;const z=async j=>{V==null||V.dispose(!0),i.busy=!1,V=new CancellationTokenSource$1(r),i.busy=!0;try{const ie=prepareQuery(i.value.substr(AbstractGotoSymbolQuickAccessProvider_1.PREFIX.length).trim()),oe=await this.doGetSymbolPicks(L,ie,void 0,V.token);if(r.isCancellationRequested)return;if(oe.length>0){if(i.items=oe,j&&ie.original.length===0){const re=findLast$1(oe,ae=>!!(ae.type!=="separator"&&ae.range&&Range$2.containsPosition(ae.range.decoration,j)));re&&(i.activeItems=[re])}}else ie.original.length>0?this.provideLabelPick(i,localize("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,localize("noSymbolResults","No editor symbols"))}finally{r.isCancellationRequested||(i.busy=!1)}};return k.add(i.onDidChangeValue(()=>z(void 0))),z((g=y.getSelection())===null||g===void 0?void 0:g.getPosition()),k.add(i.onDidChangeActive(()=>{const[j]=i.activeItems;j&&j.range&&(y.revealRangeInCenter(j.range.selection,0),this.addDecorations(y,j.range.decoration))})),k}async doGetSymbolPicks(e,t,i,r){var g,y;const k=await e;if(r.isCancellationRequested)return[];const L=t.original.indexOf(AbstractGotoSymbolQuickAccessProvider_1.SCOPE_PREFIX)===0,V=L?1:0;let z,j;t.values&&t.values.length>1?(z=pieceToQuery(t.values[0]),j=pieceToQuery(t.values.slice(1))):z=t;let ie;const oe=(y=(g=this.options)===null||g===void 0?void 0:g.openSideBySideDirection)===null||y===void 0?void 0:y.call(g);oe&&(ie=[{iconClass:oe==="right"?ThemeIcon.asClassName(Codicon.splitHorizontal):ThemeIcon.asClassName(Codicon.splitVertical),tooltip:oe==="right"?localize("openToSide","Open to the Side"):localize("openToBottom","Open to the Bottom")}]);const re=[];for(let de=0;deV){let Oe=!1;if(z!==t&&([xe,Ie]=scoreFuzzy2(pe,{...t,values:void 0},V,Ce),typeof xe=="number"&&(Oe=!0)),typeof xe!="number"&&([xe,Ie]=scoreFuzzy2(pe,z,V,Ce),typeof xe!="number"))continue;if(!Oe&&j){if($e&&j.original.length>0&&([Ne,Fe]=scoreFuzzy2($e,j)),typeof Ne!="number")continue;typeof xe=="number"&&(xe+=Ne)}}const Ve=ue.tags&&ue.tags.indexOf(1)>=0;re.push({index:de,kind:ue.kind,score:xe,label:pe,ariaLabel:getAriaLabelForSymbol(ue.name,ue.kind),description:$e,highlights:Ve?void 0:{label:Ie,description:Fe},range:{selection:Range$2.collapseToStart(ue.selectionRange),decoration:ue.range},strikethrough:Ve,buttons:ie})}const ae=re.sort((de,ue)=>L?this.compareByKindAndScore(de,ue):this.compareByScore(de,ue));let le=[];if(L){let pe=function(){ue&&typeof de=="number"&&he>0&&(ue.label=format(NLS_SYMBOL_KIND_CACHE[de]||FALLBACK_NLS_SYMBOL_KIND,he))},de,ue,he=0;for(const Ce of ae)de!==Ce.kind?(pe(),de=Ce.kind,he=1,ue={type:"separator"},le.push(ue)):he++,le.push(Ce);pe()}else ae.length>0&&(le=[{label:localize("symbols","symbols ({0})",re.length),type:"separator"},...ae]);return le}compareByScore(e,t){if(typeof e.score!="number"&&typeof t.score=="number")return 1;if(typeof e.score=="number"&&typeof t.score!="number")return-1;if(typeof e.score=="number"&&typeof t.score=="number"){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=NLS_SYMBOL_KIND_CACHE[e.kind]||FALLBACK_NLS_SYMBOL_KIND,r=NLS_SYMBOL_KIND_CACHE[t.kind]||FALLBACK_NLS_SYMBOL_KIND,g=i.localeCompare(r);return g===0?this.compareByScore(e,t):g}async getDocumentSymbols(e,t){const i=await this._outlineModelService.getOrCreate(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}};AbstractGotoSymbolQuickAccessProvider.PREFIX="@";AbstractGotoSymbolQuickAccessProvider.SCOPE_PREFIX=":";AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY="".concat(AbstractGotoSymbolQuickAccessProvider_1.PREFIX).concat(AbstractGotoSymbolQuickAccessProvider_1.SCOPE_PREFIX);AbstractGotoSymbolQuickAccessProvider=AbstractGotoSymbolQuickAccessProvider_1=__decorate$8([__param$4(0,ILanguageFeaturesService),__param$4(1,IOutlineModelService)],AbstractGotoSymbolQuickAccessProvider);const FALLBACK_NLS_SYMBOL_KIND=localize("property","properties ({0})"),NLS_SYMBOL_KIND_CACHE={5:localize("method","methods ({0})"),11:localize("function","functions ({0})"),8:localize("_constructor","constructors ({0})"),12:localize("variable","variables ({0})"),4:localize("class","classes ({0})"),22:localize("struct","structs ({0})"),23:localize("event","events ({0})"),24:localize("operator","operators ({0})"),10:localize("interface","interfaces ({0})"),2:localize("namespace","namespaces ({0})"),3:localize("package","packages ({0})"),25:localize("typeParameter","type parameters ({0})"),1:localize("modules","modules ({0})"),6:localize("property","properties ({0})"),9:localize("enum","enumerations ({0})"),21:localize("enumMember","enumeration members ({0})"),14:localize("string","strings ({0})"),0:localize("file","files ({0})"),17:localize("array","arrays ({0})"),15:localize("number","numbers ({0})"),16:localize("boolean","booleans ({0})"),18:localize("object","objects ({0})"),19:localize("key","keys ({0})"),7:localize("field","fields ({0})"),13:localize("constant","constants ({0})")};var __decorate$7=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$3=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneGotoSymbolQuickAccessProvider=class extends AbstractGotoSymbolQuickAccessProvider{constructor(e,t,i){super(t,i),this.editorService=e,this.onDidActiveTextEditorControlChange=Event$1.None}get activeTextEditorControl(){var e;return(e=this.editorService.getFocusedCodeEditor())!==null&&e!==void 0?e:void 0}};StandaloneGotoSymbolQuickAccessProvider=__decorate$7([__param$3(0,ICodeEditorService),__param$3(1,ILanguageFeaturesService),__param$3(2,IOutlineModelService)],StandaloneGotoSymbolQuickAccessProvider);class GotoSymbolAction extends EditorAction{constructor(){super({id:GotoSymbolAction.ID,label:QuickOutlineNLS.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:EditorContextKeys.hasDocumentSymbolProvider,kbOpts:{kbExpr:EditorContextKeys.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(IQuickInputService).quickAccess.show(AbstractGotoSymbolQuickAccessProvider.PREFIX,{itemActivation:ItemActivation.NONE})}}GotoSymbolAction.ID="editor.action.quickOutline";registerEditorAction(GotoSymbolAction);Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneGotoSymbolQuickAccessProvider,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,helpEntries:[{description:QuickOutlineNLS.quickOutlineActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX,commandId:GotoSymbolAction.ID},{description:QuickOutlineNLS.quickOutlineByCategoryActionLabel,prefix:AbstractGotoSymbolQuickAccessProvider.PREFIX_BY_CATEGORY}]});function exceptionToErrorMessage(n,e){return e&&(n.stack||n.stacktrace)?localize("stackTrace.format","{0}: {1}",detectSystemErrorMessage(n),stackToString(n.stack)||stackToString(n.stacktrace)):detectSystemErrorMessage(n)}function stackToString(n){return Array.isArray(n)?n.join("\n"):n}function detectSystemErrorMessage(n){return n.code==="ERR_UNC_HOST_NOT_ALLOWED"?"".concat(n.message,". Please update the 'security.allowedUNCHosts' setting if you want to allow this host."):typeof n.code=="string"&&typeof n.errno=="number"&&typeof n.syscall=="string"?localize("nodeExceptionMessage","A system error occurred ({0})",n.message):n.message||localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function toErrorMessage(n=null,e=!1){if(!n)return localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(n)){const t=coalesce(n),i=toErrorMessage(t[0],e);return t.length>1?localize("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(isString$3(n))return n;if(n.detail){const t=n.detail;if(t.error)return exceptionToErrorMessage(t.error,e);if(t.exception)return exceptionToErrorMessage(t.exception,e)}return n.stack?exceptionToErrorMessage(n,e):n.message?n.message:localize("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function countMapFrom(n){var e;const t=new Map;for(const i of n)t.set(i,((e=t.get(i))!==null&&e!==void 0?e:0)+1);return t}class TfIdfCalculator{constructor(){this.chunkCount=0,this.chunkOccurrences=new Map,this.documents=new Map}calculateScores(e,t){const i=this.computeEmbedding(e),r=new Map,g=[];for(const[y,k]of this.documents){if(t.isCancellationRequested)return[];for(const L of k.chunks){const V=this.computeSimilarityScore(L,i,r);V>0&&g.push({key:y,score:V})}}return g}static termFrequencies(e){return countMapFrom(TfIdfCalculator.splitTerms(e))}static*splitTerms(e){const t=i=>i.toLowerCase();for(const[i]of e.matchAll(new RegExp("\\b\\p{Letter}[\\p{Letter}\\d]{2,}\\b","gu"))){yield t(i);const r=i.replace(/([a-z])([A-Z])/g,"$1 $2").split(/\s+/g);if(r.length>1)for(const g of r)g.length>2&&new RegExp("\\p{Letter}{3,}","gu").test(g)&&(yield t(g))}}updateDocuments(e){var t;for(const{key:i}of e)this.deleteDocument(i);for(const i of e){const r=[];for(const g of i.textChunks){const y=TfIdfCalculator.termFrequencies(g);for(const k of y.keys())this.chunkOccurrences.set(k,((t=this.chunkOccurrences.get(k))!==null&&t!==void 0?t:0)+1);r.push({text:g,tf:y})}this.chunkCount+=r.length,this.documents.set(i.key,{chunks:r})}return this}deleteDocument(e){const t=this.documents.get(e);if(t){this.documents.delete(e),this.chunkCount-=t.chunks.length;for(const i of t.chunks)for(const r of i.tf.keys()){const g=this.chunkOccurrences.get(r);if(typeof g=="number"){const y=g-1;y<=0?this.chunkOccurrences.delete(r):this.chunkOccurrences.set(r,y)}}}}computeSimilarityScore(e,t,i){let r=0;for(const[g,y]of Object.entries(t)){const k=e.tf.get(g);if(!k)continue;let L=i.get(g);typeof L!="number"&&(L=this.computeIdf(g),i.set(g,L));const V=k*L;r+=V*y}return r}computeEmbedding(e){const t=TfIdfCalculator.termFrequencies(e);return this.computeTfidf(t)}computeIdf(e){var t;const i=(t=this.chunkOccurrences.get(e))!==null&&t!==void 0?t:0;return i>0?Math.log((this.chunkCount+1)/i):0}computeTfidf(e){const t=Object.create(null);for(const[i,r]of e){const g=this.computeIdf(i);g>0&&(t[i]=r*g)}return t}}function normalizeTfIdfScores(n){var e,t;const i=n.slice(0);i.sort((g,y)=>y.score-g.score);const r=(t=(e=i[0])===null||e===void 0?void 0:e.score)!==null&&t!==void 0?t:0;if(r>0)for(const g of i)g.score/=r;return i}var TriggerAction;(function(n){n[n.NO_ACTION=0]="NO_ACTION",n[n.CLOSE_PICKER=1]="CLOSE_PICKER",n[n.REFRESH_PICKER=2]="REFRESH_PICKER",n[n.REMOVE_ITEM=3]="REMOVE_ITEM"})(TriggerAction||(TriggerAction={}));function isPicksWithActive(n){const e=n;return Array.isArray(e.items)}function isFastAndSlowPicks(n){const e=n;return!!e.picks&&e.additionalPicks instanceof Promise}class PickerQuickAccessProvider extends Disposable{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t,i){var r;const g=new DisposableStore;e.canAcceptInBackground=!!(!((r=this.options)===null||r===void 0)&&r.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let y;const k=g.add(new MutableDisposable),L=async()=>{var z;const j=k.value=new DisposableStore;y==null||y.dispose(!0),e.busy=!1,y=new CancellationTokenSource$1(t);const ie=y.token;let oe=e.value.substring(this.prefix.length);!((z=this.options)===null||z===void 0)&&z.shouldSkipTrimPickFilter||(oe=oe.trim());const re=this._getPicks(oe,j,ie,i),ae=(de,ue)=>{var he;let pe,Ce;if(isPicksWithActive(de)?(pe=de.items,Ce=de.active):pe=de,pe.length===0){if(ue)return!1;(oe.length>0||e.hideInput)&&(!((he=this.options)===null||he===void 0)&&he.noResultsPick)&&(isFunction$3(this.options.noResultsPick)?pe=[this.options.noResultsPick(oe)]:pe=[this.options.noResultsPick])}return e.items=pe,Ce&&(e.activeItems=[Ce]),!0},le=async de=>{let ue=!1,he=!1;await Promise.all([(async()=>{typeof de.mergeDelay=="number"&&(await timeout(de.mergeDelay),ie.isCancellationRequested)||he||(ue=ae(de.picks,!0))})(),(async()=>{e.busy=!0;try{const pe=await de.additionalPicks;if(ie.isCancellationRequested)return;let Ce,$e;isPicksWithActive(de.picks)?(Ce=de.picks.items,$e=de.picks.active):Ce=de.picks;let xe,Ie;if(isPicksWithActive(pe)?(xe=pe.items,Ie=pe.active):xe=pe,xe.length>0||!ue){let Ne;if(!$e&&!Ie){const Fe=e.activeItems[0];Fe&&Ce.indexOf(Fe)!==-1&&(Ne=Fe)}ae({items:[...Ce,...xe],active:$e||Ie||Ne})}}finally{ie.isCancellationRequested||(e.busy=!1),he=!0}})()])};if(re!==null)if(isFastAndSlowPicks(re))await le(re);else if(!(re instanceof Promise))ae(re);else{e.busy=!0;try{const de=await re;if(ie.isCancellationRequested)return;isFastAndSlowPicks(de)?await le(de):ae(de)}finally{ie.isCancellationRequested||(e.busy=!1)}}};g.add(e.onDidChangeValue(()=>L())),L(),g.add(e.onDidAccept(z=>{const[j]=e.selectedItems;typeof(j==null?void 0:j.accept)=="function"&&(z.inBackground||e.hide(),j.accept(e.keyMods,z))}));const V=async(z,j)=>{var ie,oe;if(typeof j.trigger!="function")return;const re=(oe=(ie=j.buttons)===null||ie===void 0?void 0:ie.indexOf(z))!==null&&oe!==void 0?oe:-1;if(re>=0){const ae=j.trigger(re,e.keyMods),le=typeof ae=="number"?ae:await ae;if(t.isCancellationRequested)return;switch(le){case TriggerAction.NO_ACTION:break;case TriggerAction.CLOSE_PICKER:e.hide();break;case TriggerAction.REFRESH_PICKER:L();break;case TriggerAction.REMOVE_ITEM:{const de=e.items.indexOf(j);if(de!==-1){const ue=e.items.slice(),he=ue.splice(de,1),pe=e.activeItems.filter($e=>$e!==he[0]),Ce=e.keepScrollPosition;e.keepScrollPosition=!0,e.items=ue,pe&&(e.activeItems=pe),e.keepScrollPosition=Ce}break}}}};return g.add(e.onDidTriggerItemButton(({button:z,item:j})=>V(z,j))),g.add(e.onDidTriggerSeparatorButton(({button:z,separator:j})=>V(z,j))),g}}var __decorate$6=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$2=function(n,e){return function(t,i){e(t,i,n)}},AbstractCommandsQuickAccessProvider_1,CommandsHistory_1;let AbstractCommandsQuickAccessProvider=AbstractCommandsQuickAccessProvider_1=class extends PickerQuickAccessProvider{constructor(e,t,i,r,g,y){super(AbstractCommandsQuickAccessProvider_1.PREFIX,e),this.instantiationService=t,this.keybindingService=i,this.commandService=r,this.telemetryService=g,this.dialogService=y,this.commandsHistory=this._register(this.instantiationService.createInstance(CommandsHistory)),this.options=e}async _getPicks(e,t,i,r){var g,y,k,L;const V=await this.getCommandPicks(i);if(i.isCancellationRequested)return[];const z=createSingleCallFunction(()=>{const de=new TfIdfCalculator;de.updateDocuments(V.map(he=>({key:he.commandId,textChunks:[this.getTfIdfChunk(he)]})));const ue=de.calculateScores(e,i);return normalizeTfIdfScores(ue).filter(he=>he.score>AbstractCommandsQuickAccessProvider_1.TFIDF_THRESHOLD).slice(0,AbstractCommandsQuickAccessProvider_1.TFIDF_MAX_RESULTS)}),j=[];for(const de of V){const ue=(g=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(e,de.label))!==null&&g!==void 0?g:void 0,he=de.commandAlias&&(y=AbstractCommandsQuickAccessProvider_1.WORD_FILTER(e,de.commandAlias))!==null&&y!==void 0?y:void 0;if(ue||he)de.highlights={label:ue,detail:this.options.showAlias?he:void 0},j.push(de);else if(e===de.commandId)j.push(de);else if(e.length>=3){const pe=z();if(i.isCancellationRequested)return[];const Ce=pe.find($e=>$e.key===de.commandId);Ce&&(de.tfIdfScore=Ce.score,j.push(de))}}const ie=new Map;for(const de of j){const ue=ie.get(de.label);ue?(de.description=de.commandId,ue.description=ue.commandId):ie.set(de.label,de)}j.sort((de,ue)=>{if(de.tfIdfScore&&ue.tfIdfScore)return de.tfIdfScore===ue.tfIdfScore?de.label.localeCompare(ue.label):ue.tfIdfScore-de.tfIdfScore;if(de.tfIdfScore)return 1;if(ue.tfIdfScore)return-1;const he=this.commandsHistory.peek(de.commandId),pe=this.commandsHistory.peek(ue.commandId);if(he&&pe)return he>pe?-1:1;if(he)return-1;if(pe)return 1;if(this.options.suggestedCommandIds){const Ce=this.options.suggestedCommandIds.has(de.commandId),$e=this.options.suggestedCommandIds.has(ue.commandId);if(Ce&&$e)return 0;if(Ce)return-1;if($e)return 1}return de.label.localeCompare(ue.label)});const oe=[];let re=!1,ae=!0,le=!!this.options.suggestedCommandIds;for(let de=0;de{var de;const ue=await this.getAdditionalCommandPicks(V,j,e,i);if(i.isCancellationRequested)return[];const he=ue.map(pe=>this.toCommandPick(pe,r));return ae&&((de=he[0])===null||de===void 0?void 0:de.type)!=="separator"&&he.unshift({type:"separator",label:localize("suggested","similar commands")}),he})()}:oe}toCommandPick(e,t){if(e.type==="separator")return e;const i=this.keybindingService.lookupKeybinding(e.commandId),r=i?localize("commandPickAriaLabelWithKeybinding","{0}, {1}",e.label,i.getAriaLabel()):e.label;return{...e,ariaLabel:r,detail:this.options.showAlias&&e.commandAlias!==e.label?e.commandAlias:void 0,keybinding:i,accept:async()=>{var g,y;this.commandsHistory.push(e.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.commandId,from:(g=t==null?void 0:t.from)!==null&&g!==void 0?g:"quick open"});try{!((y=e.args)===null||y===void 0)&&y.length?await this.commandService.executeCommand(e.commandId,...e.args):await this.commandService.executeCommand(e.commandId)}catch(k){isCancellationError(k)||this.dialogService.error(localize("canNotRun","Command '{0}' resulted in an error",e.label),toErrorMessage(k))}}}}getTfIdfChunk({label:e,commandAlias:t,commandDescription:i}){let r=e;return t&&t!==e&&(r+=" - ".concat(t)),i&&i.value!==e&&(r+=" - ".concat(i.value===i.original?i.value:"".concat(i.value," (").concat(i.original,")"))),r}};AbstractCommandsQuickAccessProvider.PREFIX=">";AbstractCommandsQuickAccessProvider.TFIDF_THRESHOLD=.5;AbstractCommandsQuickAccessProvider.TFIDF_MAX_RESULTS=5;AbstractCommandsQuickAccessProvider.WORD_FILTER=or(matchesPrefix,matchesWords,matchesContiguousSubString);AbstractCommandsQuickAccessProvider=AbstractCommandsQuickAccessProvider_1=__decorate$6([__param$2(1,IInstantiationService),__param$2(2,IKeybindingService),__param$2(3,ICommandService),__param$2(4,ITelemetryService),__param$2(5,IDialogService)],AbstractCommandsQuickAccessProvider);let CommandsHistory=CommandsHistory_1=class extends Disposable{constructor(e,t,i){super(),this.storageService=e,this.configurationService=t,this.logService=i,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(e=>this.updateConfiguration(e))),this._register(this.storageService.onWillSaveState(e=>{e.reason===WillSaveStateReason.SHUTDOWN&&this.saveState()}))}updateConfiguration(e){e&&!e.affectsConfiguration("workbench.commandPalette.history")||(this.configuredCommandsHistoryLength=CommandsHistory_1.getConfiguredCommandHistoryLength(this.configurationService),CommandsHistory_1.cache&&CommandsHistory_1.cache.limit!==this.configuredCommandsHistoryLength&&(CommandsHistory_1.cache.limit=this.configuredCommandsHistoryLength,CommandsHistory_1.hasChanges=!0))}load(){const e=this.storageService.get(CommandsHistory_1.PREF_KEY_CACHE,0);let t;if(e)try{t=JSON.parse(e)}catch(r){this.logService.error("[CommandsHistory] invalid data: ".concat(r))}const i=CommandsHistory_1.cache=new LRUCache(this.configuredCommandsHistoryLength,1);if(t){let r;t.usesLRU?r=t.entries:r=t.entries.sort((g,y)=>g.value-y.value),r.forEach(g=>i.set(g.key,g.value))}CommandsHistory_1.counter=this.storageService.getNumber(CommandsHistory_1.PREF_KEY_COUNTER,0,CommandsHistory_1.counter)}push(e){CommandsHistory_1.cache&&(CommandsHistory_1.cache.set(e,CommandsHistory_1.counter++),CommandsHistory_1.hasChanges=!0)}peek(e){var t;return(t=CommandsHistory_1.cache)===null||t===void 0?void 0:t.peek(e)}saveState(){if(!CommandsHistory_1.cache||!CommandsHistory_1.hasChanges)return;const e={usesLRU:!0,entries:[]};CommandsHistory_1.cache.forEach((t,i)=>e.entries.push({key:i,value:t})),this.storageService.store(CommandsHistory_1.PREF_KEY_CACHE,JSON.stringify(e),0,0),this.storageService.store(CommandsHistory_1.PREF_KEY_COUNTER,CommandsHistory_1.counter,0,0),CommandsHistory_1.hasChanges=!1}static getConfiguredCommandHistoryLength(e){var t,i;const g=(i=(t=e.getValue().workbench)===null||t===void 0?void 0:t.commandPalette)===null||i===void 0?void 0:i.history;return typeof g=="number"?g:CommandsHistory_1.DEFAULT_COMMANDS_HISTORY_LENGTH}};CommandsHistory.DEFAULT_COMMANDS_HISTORY_LENGTH=50;CommandsHistory.PREF_KEY_CACHE="commandPalette.mru.cache";CommandsHistory.PREF_KEY_COUNTER="commandPalette.mru.counter";CommandsHistory.counter=1;CommandsHistory.hasChanges=!1;CommandsHistory=CommandsHistory_1=__decorate$6([__param$2(0,IStorageService),__param$2(1,IConfigurationService),__param$2(2,ILogService)],CommandsHistory);class AbstractEditorCommandsQuickAccessProvider extends AbstractCommandsQuickAccessProvider{constructor(e,t,i,r,g,y){super(e,t,i,r,g,y)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions())t.push({commandId:i.id,commandAlias:i.alias,label:stripIcons(i.label)||i.id});return t}}var __decorate$5=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param$1=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneCommandsQuickAccessProvider=class extends AbstractEditorCommandsQuickAccessProvider{get activeTextEditorControl(){var e;return(e=this.codeEditorService.getFocusedCodeEditor())!==null&&e!==void 0?e:void 0}constructor(e,t,i,r,g,y){super({showAlias:!1},e,i,r,g,y),this.codeEditorService=t}async getCommandPicks(){return this.getCodeEditorCommandPicks()}hasAdditionalCommandPicks(){return!1}async getAdditionalCommandPicks(){return[]}};StandaloneCommandsQuickAccessProvider=__decorate$5([__param$1(0,IInstantiationService),__param$1(1,ICodeEditorService),__param$1(2,IKeybindingService),__param$1(3,ICommandService),__param$1(4,ITelemetryService),__param$1(5,IDialogService)],StandaloneCommandsQuickAccessProvider);class GotoLineAction extends EditorAction{constructor(){super({id:GotoLineAction.ID,label:QuickCommandNLS.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:EditorContextKeys.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(IQuickInputService).quickAccess.show(StandaloneCommandsQuickAccessProvider.PREFIX)}}GotoLineAction.ID="editor.action.quickCommand";registerEditorAction(GotoLineAction);Registry.as(Extensions$2.Quickaccess).registerQuickAccessProvider({ctor:StandaloneCommandsQuickAccessProvider,prefix:StandaloneCommandsQuickAccessProvider.PREFIX,helpEntries:[{description:QuickCommandNLS.quickCommandHelp,commandId:GotoLineAction.ID}]});var __decorate$4=function(n,e,t,i){var r=arguments.length,g=r<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")g=Reflect.decorate(n,e,t,i);else for(var k=n.length-1;k>=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g},__param=function(n,e){return function(t,i){e(t,i,n)}};let StandaloneReferencesController=class extends ReferencesController{constructor(e,t,i,r,g,y,k){super(!0,e,t,i,r,g,y,k)}};StandaloneReferencesController=__decorate$4([__param(1,IContextKeyService),__param(2,ICodeEditorService),__param(3,INotificationService),__param(4,IInstantiationService),__param(5,IStorageService),__param(6,IConfigurationService)],StandaloneReferencesController);registerEditorContribution(ReferencesController.ID,StandaloneReferencesController,4);class ToggleHighContrast extends EditorAction{constructor(){super({id:"editor.action.toggleHighContrast",label:ToggleHighContrastNLS.toggleHighContrast,alias:"Toggle High Contrast Theme",precondition:void 0}),this._originalThemeName=null}run(e,t){const i=e.get(IStandaloneThemeService),r=i.getColorTheme();isHighContrast(r.type)?(i.setTheme(this._originalThemeName||(isDark(r.type)?VS_DARK_THEME_NAME:VS_LIGHT_THEME_NAME)),this._originalThemeName=null):(i.setTheme(isDark(r.type)?HC_BLACK_THEME_NAME:HC_LIGHT_THEME_NAME),this._originalThemeName=r.themeName)}}registerEditorAction(ToggleHighContrast);const monaco=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource,Emitter,KeyCode,KeyMod,MarkerSeverity,MarkerTag,Position,Range,Selection,SelectionDirection,Token,Uri,editor,languages},Symbol.toStringTag,{value:"Module"}));emmetHTML(monaco);emmetCSS(monaco,["css","scss"]);const _hoisted_1$13={class:normalizeClass("magic-code-editor")},_hoisted_2$q={ref:"codeEditor",class:"magic-code-editor-content"},_sfc_main$32=defineComponent({name:"MEditorCodeEditor",__name:"CodeEditor",props:{initValues:{default:""},modifiedValues:{},type:{},language:{default:"javascript"},options:{default:()=>({tabSize:2})},height:{},autoSave:{type:Boolean,default:!0},parse:{type:Boolean,default:!1},disabledFullScreen:{type:Boolean,default:!1}},emits:["initd","save"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=(ue,he)=>{let pe="";return typeof ue!="string"?he==="json"?pe=JSON.stringify(ue,null,2):pe=serialize(ue,{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: "):pe=ue,he==="javascript"&&pe.startsWith("{")&&pe.endsWith("}")&&(pe="(".concat(pe,")")),pe},y=(ue,he)=>typeof ue!="string"?ue:he==="json"?JSON.parse(ue):getEditorConfig("parseDSL")(ue);let k=null,L=null;const V=ref$1(""),z=ref$1(!1),j=useTemplateRef("codeEditor"),ie=new globalThis.ResizeObserver(throttle$2(()=>{k==null||k.layout(),L==null||L.layout()},300)),oe=(ue,he)=>{if(V.value=g(ue,i.language.toLocaleLowerCase()),i.type==="diff"){const pe=monaco.editor.createModel(V.value,"text/javascript"),Ce=monaco.editor.createModel(g(he,i.language),"text/javascript");return L==null?void 0:L.setModel({original:pe,modified:Ce})}return k==null?void 0:k.setValue(V.value)},re=()=>(i.type==="diff"?L==null?void 0:L.getModifiedEditor().getValue():k==null?void 0:k.getValue())||"",ae=async()=>{if(!j.value)return;j.value.clientHeight===0&&await nextTick();const ue={value:V.value,language:i.language,theme:"vs-dark",...i.options};i.type==="diff"?L=getEditorConfig("customCreateMonacoDiffEditor")(monaco,j.value,ue):k=getEditorConfig("customCreateMonacoEditor")(monaco,j.value,ue),oe(i.initValues,i.modifiedValues),r("initd",k),j.value.addEventListener("keydown",he=>{if(he.keyCode===83&&(navigator.platform.match("Mac")?he.metaKey:he.ctrlKey)){he.preventDefault(),he.stopPropagation();const pe=re();V.value=pe,r("save",i.parse?y(pe,i.language):pe)}}),i.type!=="diff"&&i.autoSave&&(k==null||k.onDidBlurEditorWidget(()=>{const he=re();V.value!==he&&(V.value=he,r("save",i.parse?y(he,i.language):he))})),ie.observe(j.value)};watch(()=>i.initValues,(ue,he)=>{ue!==he&&oe(i.initValues,i.modifiedValues)},{deep:!0,immediate:!0}),watch(()=>i.options,ue=>{k==null||k.updateOptions(ue),L==null||L.updateOptions(ue)},{deep:!0}),onMounted(async()=>{z.value=!0,await ae(),z.value=!1}),onBeforeUnmount(()=>{ie.disconnect(),k==null||k.dispose(),L==null||L.dispose(),k=null,L=null});const le=ref$1(!1),de=()=>{le.value=!le.value,setTimeout(()=>{k==null||k.focus(),k==null||k.layout(),L==null||L.focus(),L==null||L.layout()})};return e({values:V,getEditor(){return k||L},getVsEditor(){return k},getVsDiffEditor(){return L},setEditorValue:oe,getEditorValue:re,focus(){k==null||k.focus(),L==null||L.focus()}}),(ue,he)=>(openBlock(),createElementBlock("div",_hoisted_1$13,[(openBlock(),createBlock(Teleport$2,{to:"body",disabled:!le.value},[createBaseVNode("div",{class:normalizeClass("magic-code-editor-wrapper".concat(le.value?" full-screen":"")),style:normalizeStyle(!le.value&&ue.height?"height: ".concat(ue.height):"100%")},[ue.disabledFullScreen?createCommentVNode("",!0):(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,class:"magic-code-editor-full-screen-icon",circle:"",size:"small",onClick:de},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(full_screen_default)},null,8,["icon"])]),_:1})),createBaseVNode("div",_hoisted_2$q,null,512)],6)],8,["disabled"]))]))}}),_sfc_main$31=defineComponent({name:"MFieldsVsCode",__name:"Code",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,i=r=>{t("change",r)};return(r,g)=>(openBlock(),createBlock(_sfc_main$32,{height:r.config.height,"init-values":r.model[r.name],language:r.config.language,options:{...r.config.options,readOnly:r.disabled},parse:r.config.parse,onSave:i},null,8,["height","init-values","language","options","parse"]))}}),_sfc_main$30=defineComponent({name:"MFieldsCodeLink",__name:"CodeLink",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r=computed$1(()=>{const{codeOptions:k,...L}=t.config;return{...L,text:"",type:"link",form:[{name:t.name,type:"vs-code",options:{tabSize:2,...k||{}}}]}}),g=reactive$1({form:{[t.name]:""}});watch(()=>t.model[t.name],k=>{g.form={[t.name]:serialize(k,{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: ")}},{immediate:!0});const y=k=>{if(!(!t.name||!t.model))try{const L=getEditorConfig("parseDSL");t.model[t.name]=L("(".concat(k[t.name],")")),i("change",t.model[t.name])}catch(L){console.error(L)}};return(k,L)=>{const V=resolveComponent("m-fields-link");return openBlock(),createBlock(V,{config:r.value,model:g,name:"form",onChange:y},null,8,["config","model"])}}});var events={exports:{}},hasRequiredEvents;function requireEvents(){if(hasRequiredEvents)return events.exports;hasRequiredEvents=1;var n=typeof Reflect=="object"?Reflect:null,e=n&&typeof n.apply=="function"?n.apply:function(Ce,$e,xe){return Function.prototype.apply.call(Ce,$e,xe)},t;n&&typeof n.ownKeys=="function"?t=n.ownKeys:Object.getOwnPropertySymbols?t=function(Ce){return Object.getOwnPropertyNames(Ce).concat(Object.getOwnPropertySymbols(Ce))}:t=function(Ce){return Object.getOwnPropertyNames(Ce)};function i(pe){console&&console.warn&&console.warn(pe)}var r=Number.isNaN||function(Ce){return Ce!==Ce};function g(){g.init.call(this)}events.exports=g,events.exports.once=de,g.EventEmitter=g,g.prototype._events=void 0,g.prototype._eventsCount=0,g.prototype._maxListeners=void 0;var y=10;function k(pe){if(typeof pe!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof pe)}Object.defineProperty(g,"defaultMaxListeners",{enumerable:!0,get:function(){return y},set:function(pe){if(typeof pe!="number"||pe<0||r(pe))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+pe+".");y=pe}}),g.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},g.prototype.setMaxListeners=function(Ce){if(typeof Ce!="number"||Ce<0||r(Ce))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+Ce+".");return this._maxListeners=Ce,this};function L(pe){return pe._maxListeners===void 0?g.defaultMaxListeners:pe._maxListeners}g.prototype.getMaxListeners=function(){return L(this)},g.prototype.emit=function(Ce){for(var $e=[],xe=1;xe0&&(Fe=$e[0]),Fe instanceof Error)throw Fe;var Ve=new Error("Unhandled error."+(Fe?" ("+Fe.message+")":""));throw Ve.context=Fe,Ve}var Oe=Ne[Ce];if(Oe===void 0)return!1;if(typeof Oe=="function")e(Oe,this,$e);else for(var ze=Oe.length,qe=re(Oe,ze),xe=0;xe0&&Fe.length>Ie&&!Fe.warned){Fe.warned=!0;var Ve=new Error("Possible EventEmitter memory leak detected. "+Fe.length+" "+String(Ce)+" listeners added. Use emitter.setMaxListeners() to increase limit");Ve.name="MaxListenersExceededWarning",Ve.emitter=pe,Ve.type=Ce,Ve.count=Fe.length,i(Ve)}return pe}g.prototype.addListener=function(Ce,$e){return V(this,Ce,$e,!1)},g.prototype.on=g.prototype.addListener,g.prototype.prependListener=function(Ce,$e){return V(this,Ce,$e,!0)};function z(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function j(pe,Ce,$e){var xe={fired:!1,wrapFn:void 0,target:pe,type:Ce,listener:$e},Ie=z.bind(xe);return Ie.listener=$e,xe.wrapFn=Ie,Ie}g.prototype.once=function(Ce,$e){return k($e),this.on(Ce,j(this,Ce,$e)),this},g.prototype.prependOnceListener=function(Ce,$e){return k($e),this.prependListener(Ce,j(this,Ce,$e)),this},g.prototype.removeListener=function(Ce,$e){var xe,Ie,Ne,Fe,Ve;if(k($e),Ie=this._events,Ie===void 0)return this;if(xe=Ie[Ce],xe===void 0)return this;if(xe===$e||xe.listener===$e)--this._eventsCount===0?this._events=Object.create(null):(delete Ie[Ce],Ie.removeListener&&this.emit("removeListener",Ce,xe.listener||$e));else if(typeof xe!="function"){for(Ne=-1,Fe=xe.length-1;Fe>=0;Fe--)if(xe[Fe]===$e||xe[Fe].listener===$e){Ve=xe[Fe].listener,Ne=Fe;break}if(Ne<0)return this;Ne===0?xe.shift():ae(xe,Ne),xe.length===1&&(Ie[Ce]=xe[0]),Ie.removeListener!==void 0&&this.emit("removeListener",Ce,Ve||$e)}return this},g.prototype.off=g.prototype.removeListener,g.prototype.removeAllListeners=function(Ce){var $e,xe,Ie;if(xe=this._events,xe===void 0)return this;if(xe.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):xe[Ce]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete xe[Ce]),this;if(arguments.length===0){var Ne=Object.keys(xe),Fe;for(Ie=0;Ie=0;Ie--)this.removeListener(Ce,$e[Ie]);return this};function ie(pe,Ce,$e){var xe=pe._events;if(xe===void 0)return[];var Ie=xe[Ce];return Ie===void 0?[]:typeof Ie=="function"?$e?[Ie.listener||Ie]:[Ie]:$e?le(Ie):re(Ie,Ie.length)}g.prototype.listeners=function(Ce){return ie(this,Ce,!0)},g.prototype.rawListeners=function(Ce){return ie(this,Ce,!1)},g.listenerCount=function(pe,Ce){return typeof pe.listenerCount=="function"?pe.listenerCount(Ce):oe.call(pe,Ce)},g.prototype.listenerCount=oe;function oe(pe){var Ce=this._events;if(Ce!==void 0){var $e=Ce[pe];if(typeof $e=="function")return 1;if($e!==void 0)return $e.length}return 0}g.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]};function re(pe,Ce){for(var $e=new Array(Ce),xe=0;xeV.useInEditor))==null?void 0:g.data)||this.getDefaultData(),i=cloneDeep(this.mockData)}else if(typeof t.useMock=="boolean"&&t.useMock){const L=cloneDeep(t.schema.mocks||[]);this.mockData=(y=L.find(V=>V.enable))==null?void 0:y.data,i=cloneDeep(this.mockData)||this.getDefaultData()}else if(!t.initialData)i=this.getDefaultData();else{Mo(this,Fo,new r((k=t.initialData)!=null?k:{})),this.isInit=!0;return}Mo(this,Fo,new r(i!=null?i:{}))}get id(){return Kn(this,kc)}get type(){return Kn(this,sd)}get schema(){return Kn(this,Lc)}get fields(){return Kn(this,hs)}get methods(){return Kn(this,Ic)}setFields(t){Mo(this,hs,t)}setMethods(t){Mo(this,Ic,t)}get data(){return Kn(this,Fo).getData("")}setData(t,i){Kn(this,Fo).update(t,i);const r={updateData:t,path:i};this.emit("change",r)}setValue(t,i){return this.setData(i,t)}onDataChange(t,i){Kn(this,Fo).on(t,i)}offDataChange(t,i){Kn(this,Fo).off(t,i)}getDefaultData(){return getDefaultValueFromFields(Kn(this,hs))}async init(){this.isInit=!0}destroy(){Mo(this,hs,[]),this.removeAllListeners(),Kn(this,Fo).destroy()}},sd=new WeakMap,kc=new WeakMap,Lc=new WeakMap,Fo=new WeakMap,hs=new WeakMap,Ic=new WeakMap,du);const urlencoded=n=>Object.entries(n).reduce((e,[t,i])=>{let r=i;return typeof i=="object"&&(r=JSON.stringify(i)),typeof i<"u"?"".concat(e).concat(e?"&":"").concat(globalThis.encodeURIComponent(t),"=").concat(globalThis.encodeURIComponent("".concat(r))):e},""),webRequest=async n=>{var z;const{url:e,method:t="GET",headers:i={},params:r={},data:g={},...y}=n,k=urlencoded(r);let L=JSON.stringify(g);return(z=i["Content-Type"])!=null&&z.includes("application/x-www-form-urlencoded")&&(L=urlencoded(g)),(await globalThis.fetch(k?"".concat(e,"?").concat(k):e,{method:t,headers:i,body:t==="GET"?void 0:L,...y})).json()};var fc,Dc,Tc,ad;class HttpDataSource extends DataSource$1{constructor(t){const{options:i}=t.schema;super(t);Ni(this,"isLoading",!1);Ni(this,"error");Ni(this,"httpOptions");$o(this,fc);$o(this,Dc,[]);$o(this,Tc,[]);$o(this,ad,"http");this.httpOptions=i,typeof t.request=="function"?Mo(this,fc,t.request):typeof globalThis.fetch=="function"&&Mo(this,fc,webRequest),this.methods.forEach(r=>{typeof r.content=="function"&&(r.timing==="beforeRequest"&&Kn(this,Dc).push(r.content),r.timing==="afterRequest"&&Kn(this,Tc).push(r.content))})}get type(){return Kn(this,ad)}async init(){this.schema.autoFetch&&await this.request(),super.init()}async request(t={}){var V,z;this.isLoading=!0;const{url:i,params:r,data:g,headers:y,...k}=this.httpOptions;let L={url:typeof i=="function"?i({app:this.app,dataSource:this}):i,params:typeof r=="function"?r({app:this.app,dataSource:this}):r,data:typeof g=="function"?g({app:this.app,dataSource:this}):g,headers:typeof y=="function"?y({app:this.app,dataSource:this}):y,...k,...t};try{for(const j of Kn(this,Dc))await j({options:L,params:{},dataSource:this,app:this.app});if(typeof this.schema.beforeRequest=="function"&&(L=await this.schema.beforeRequest(L,{app:this.app,dataSource:this})),this.mockData)this.setData(this.mockData);else{let j=await((V=Kn(this,fc))==null?void 0:V.call(this,L));for(const ie of Kn(this,Tc))await ie({res:j,options:L,params:{},dataSource:this,app:this.app});if(typeof this.schema.afterResponse=="function"&&(j=await this.schema.afterResponse(j,{app:this.app,dataSource:this,options:L})),(z=this.schema.responseOptions)!=null&&z.dataPath){const ie=getValueByKeyPath(this.schema.responseOptions.dataPath,j);this.setData(ie)}else this.setData(j)}this.error=void 0}catch(j){this.error={msg:j.message},this.emit("error",j)}this.isLoading=!1}get(t){return this.request({...t,method:"GET"})}post(t){return this.request({...t,method:"POST"})}}fc=new WeakMap,Dc=new WeakMap,Tc=new WeakMap,ad=new WeakMap;const cache=new Map,getDeps=(n,e,t)=>{let i;if(t){const L=[];e.forEach(V=>{traverseNode(V,z=>{L.push(z.id)})}),i="".concat(n.id,":").concat(L.join(":"))}else i="".concat(n.id,":").concat(e.map(L=>L.id).join(":"));if(cache.has(i))return cache.get(i);const r=new Watcher;r.addTarget(new Target({id:n.id,type:"data-source",isTarget:(L,V)=>"".concat(L).includes(DSL_NODE_KEY_COPY_PREFIX)?!1:isDataSourceTarget(n,L,V,!0)})),r.addTarget(new Target({id:n.id,type:"cond",isTarget:(L,V)=>isDataSourceCondTarget(n,L,V,!0)})),r.collect(e,{},!0);const{deps:g}=r.getTarget(n.id,"data-source"),{deps:y}=r.getTarget(n.id,"cond"),k={deps:g,condDeps:y};return cache.set(i,k),k},compiledCondition=(n,e)=>{let t=!0;for(const{op:i,value:r,range:g,field:y}of n){const[k,...L]=y,V=e[k];if(!V||!L.length)break;try{const z=getValueByKeyPath(L.join("."),V);if(!compiledCond(i,z,r,g)){t=!1;break}}catch(z){console.warn(z)}}return t},compliedConditions=(n,e)=>{if(!n[NODE_CONDS_KEY]||!Array.isArray(n[NODE_CONDS_KEY])||!n[NODE_CONDS_KEY].length)return!0;for(const{cond:t}of n[NODE_CONDS_KEY])if(t&&compiledCondition(t,e))return!0;return!1},updateNode=(n,e)=>{var t;if(isPage(n)||isPageFragment(n)){const i=(t=e.items)==null?void 0:t.findIndex(r=>r.id===n.id);e.items.splice(i,1,n)}else replaceChildNode(n,e.items)},createIteratorContentData=(n,e,t=[],i={})=>{const r={...i,[e]:{}};let g=cloneDeep(i[e]),y=r[e];return t.forEach((k,L)=>{if(Object.assign(y,g),L===t.length-1){y[k]=n;return}Array.isArray(g[k])&&(g[k]={},y[k]={}),g=g[k],y=y[k]}),r},compliedDataSourceField=(n,e)=>{const[t,...i]=n,r=t.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);if(r>-1){const g=t.substring(r+DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length),y=e[g];if(!y)return n;try{return getValueByKeyPath(i.join("."),y)}catch(k){return n}}return n},template=(n,e)=>n.replace(dataSourceTemplateRegExp,(t,i)=>{try{return getValueByKeyPath(i,e)}catch(r){return t}}),compiledNodeField=(n,e)=>typeof n=="string"?template(n,e):n!=null&&n.isBindDataSource&&n.dataSourceId?e[n.dataSourceId]:n!=null&&n.isBindDataSourceField&&n.dataSourceId&&typeof n.template=="string"?template(n.template,e[n.dataSourceId]):Array.isArray(n)&&typeof n[0]=="string"?compliedDataSourceField(n,e):n,compliedIteratorItem=({compile:n,dsId:e,item:t,deps:i,condDeps:r,inEditor:g,ctxData:y})=>{var z,j;const{items:k,...L}=t,V=cloneDeep(L);return(z=r[L.id])!=null&&z.keys.length&&!g&&(V.condResult=compliedConditions(L,y)),Array.isArray(k)&&k.length?V.items=k.map(ie=>compliedIteratorItem({compile:n,dsId:e,item:ie,deps:i,condDeps:r,inEditor:g,ctxData:y})):k&&(V.items=k),(j=i[V.id])!=null&&j.keys.length?compiledNode(n,V,{[e]:i},e):V},jn=class jn extends EventEmitter$3{constructor({app:t,useMock:i,initialData:r}){var g,y;super();Ni(this,"app");Ni(this,"dataSourceMap",new Map);Ni(this,"data",{});Ni(this,"initialData",{});Ni(this,"useMock",!1);jn.waitInitSchemaList.set(this,{}),this.app=t,this.useMock=i,r&&(this.initialData=r,this.data={...r}),(y=(g=t.dsl)==null?void 0:g.dataSources)==null||y.forEach(k=>{this.addDataSource(k)}),this.isAllDataSourceRegistered()?this.callDsInit():this.on("registered-all",()=>{this.callDsInit()})}static register(t,i){var r;jn.dataSourceClassMap.set(t,i),(r=jn.waitInitSchemaList)==null||r.forEach((g,y)=>{const k=g[t]||[];for(let L=k.shift();L;L=k.shift()){const V=y.addDataSource(L);V&&y.init(V)}})}static getDataSourceClass(t){return jn.dataSourceClassMap.get(t)}static clearDataSourceClass(){jn.dataSourceClassMap.clear(),jn.dataSourceClassMap.set("base",DataSource$1),jn.dataSourceClassMap.set("http",HttpDataSource)}static registerObservedData(t){jn.ObservedDataClass=t}async init(t){var i;if(!t.isInit&&!(this.app.jsEngine&&((i=t.schema.disabledInitInJsEngine)!=null&&i.includes(this.app.jsEngine)))){for(const r of t.methods){if(typeof r.content!="function")return;r.timing==="beforeInit"&&await r.content({params:{},dataSource:t,app:this.app})}await t.init();for(const r of t.methods){if(typeof r.content!="function")return;r.timing==="afterInit"&&await r.content({params:{},dataSource:t,app:this.app})}}}get(t){return this.dataSourceMap.get(t)}addDataSource(t){var g;if(!t)return;const i=jn.dataSourceClassMap.get(t.type);if(!i){let y=jn.waitInitSchemaList.get(this);y||(y={},jn.waitInitSchemaList.set(this,y)),y[t.type]?y[t.type].push(t):y[t.type]=[t],this.data[t.id]=(g=this.initialData[t.id])!=null?g:getDefaultValueFromFields(t.fields);return}const r=new i({app:this.app,schema:t,request:this.app.request,useMock:this.useMock,initialData:this.initialData[t.id],ObservedDataClass:jn.ObservedDataClass});return this.dataSourceMap.set(t.id,r),this.data[r.id]=r.data,r.on("change",y=>{this.setData(r,y)}),this.isAllDataSourceRegistered()&&this.emit("registered-all"),r}setData(t,i){this.data[t.id]=t.data,this.emit("change",t.id,i)}removeDataSource(t){var i;(i=this.get(t))==null||i.destroy(),delete this.data[t],this.dataSourceMap.delete(t)}updateSchema(t){for(const i of t){if(!this.get(i.id))return;this.removeDataSource(i.id)}for(const i of t){this.addDataSource(cloneDeep(i));const r=this.get(i.id);r&&this.init(r)}}compiledNode({items:t,...i},r,g=!1){var k;const y=cloneDeep(i);return t&&(y.items=Array.isArray(t)&&g?t.map(L=>this.compiledNode(L,r,g)):t),i.condResult===!1||i.visible===!1?y:compiledNode(L=>compiledNodeField(L,this.data),y,((k=this.app.dsl)==null?void 0:k.dataSourceDeps)||{},r)}compliedConds(t){return compliedConditions(t,this.data)}compliedIteratorItemConds(t,i,r=[]){const[g,...y]=r,k=this.get(g);if(!k)return!0;const L=createIteratorContentData(t,k.id,y,this.data);return compliedConditions(i,L)}compliedIteratorItems(t,i,r=[]){const[g,...y]=r,k=this.get(g);if(!k)return i;const L=this.app.platform==="editor",V=createIteratorContentData(t,k.id,y,this.data),{deps:z={},condDeps:j={}}=getDeps(k.schema,i,L);return!Object.keys(z).length&&!Object.keys(j).length?i:i.map(ie=>compliedIteratorItem({compile:oe=>compiledNodeField(oe,V),dsId:k.id,item:ie,deps:z,condDeps:j,inEditor:L,ctxData:V}))}isAllDataSourceRegistered(){var t,i;return!((i=(t=this.app.dsl)==null?void 0:t.dataSources)!=null&&i.length)||this.dataSourceMap.size===this.app.dsl.dataSources.length}destroy(){this.removeAllListeners(),this.data={},this.initialData={},this.dataSourceMap.forEach(t=>{t.destroy()}),this.dataSourceMap.clear(),jn.waitInitSchemaList.delete(this)}onDataChange(t,i,r){var g;return(g=this.get(t))==null?void 0:g.onDataChange(i,r)}offDataChange(t,i,r){var g;return(g=this.get(t))==null?void 0:g.offDataChange(i,r)}callDsInit(){const t=Array.from(this.dataSourceMap);typeof Promise.allSettled=="function"?Promise.allSettled(t.map(([,i])=>this.init(i))).then(i=>{const r={},g={};i.forEach((y,k)=>{const L=t[k][0];y.status==="fulfilled"?this.data[L]?r[L]=this.data[L]:delete r[L]:y.status==="rejected"&&(delete r[L],g[L]=y.reason)}),this.emit("init",r,g)}):Promise.all(t.map(([,i])=>this.init(i))).then(()=>{this.emit("init",this.data)}).catch(()=>{this.emit("init",this.data)})}};Ni(jn,"dataSourceClassMap",new Map([["base",DataSource$1],["http",HttpDataSource]])),Ni(jn,"ObservedDataClass",SimpleObservedData),Ni(jn,"waitInitSchemaList",new Map);let DataSourceManager=jn;const createDataSourceManager=(n,e,t)=>{const{dsl:i,platform:r}=n;if(!(i!=null&&i.dataSources))return;const g=new DataSourceManager({app:n,useMock:e,initialData:t});return i.dataSources&&i.dataSourceCondDeps&&r!=="editor"&&getNodes(getDepNodeIds(i.dataSourceCondDeps),i.items).forEach(y=>{y.condResult=g.compliedConds(y),updateNode(y,i)}),i.dataSources&&i.dataSourceDeps&&getNodes(getDepNodeIds(i.dataSourceDeps),i.items).forEach(y=>{updateNode(g.compiledNode(y),i)}),n.jsEngine!=="nodejs"&&g.on("change",(y,k)=>{var ie,oe,re;const L=((ie=i.dataSourceDeps)==null?void 0:ie[y])||{},V=((oe=i.dataSourceCondDeps)==null?void 0:oe[y])||{},z=union([...Object.keys(V),...Object.keys(L)]),j=(re=n.page)!=null&&re.data&&n.platform!=="editor"?[n.page.data]:i.items;g.emit("update-data",getNodes(z,j).map(ae=>{var de;n.platform!=="editor"&&(ae.condResult=g.compliedConds(ae));const le=g.compiledNode(ae);if(typeof((de=n.page)==null?void 0:de.setData)=="function")if(isPage(le))n.page.setData(le);else{const ue=n.page.getNode(ae.id);ue==null||ue.setData(le)}return le}),y,k)}),g};/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */let cachedTextEncoder=new TextEncoder("utf-8");cachedTextEncoder.encodeInto;class Env{constructor(e=(r=>(r=(i=>(i=globalThis.navigator)==null?void 0:i.userAgent)())!=null?r:"")(),t={}){Ni(this,"isIos",!1);Ni(this,"isIphone",!1);Ni(this,"isIpad",!1);Ni(this,"isAndroid",!1);Ni(this,"isAndroidPad",!1);Ni(this,"isMac",!1);Ni(this,"isWin",!1);Ni(this,"isMqq",!1);Ni(this,"isWechat",!1);Ni(this,"isWeb",!1);Ni(this,"isOpenHarmony",!1);e&&(this.isIphone=e.indexOf("iPhone")>=0,this.isIpad=/(iPad).*OS\s([\d_]+)/.test(e),this.isIos=this.isIphone||this.isIpad,this.isAndroid=e.indexOf("Android")>=0,this.isAndroidPad=this.isAndroid&&e.indexOf("Mobile")<0,this.isMac=e.indexOf("Macintosh")>=0,this.isWin=e.indexOf("Windows")>=0,this.isMqq=/QQ\/([\d.]+)/.test(e),this.isWechat=e.indexOf("MicroMessenger")>=0&&e.indexOf("wxwork")<0,this.isOpenHarmony=e.includes("OpenHarmony"),this.isWeb=!this.isIos&&!this.isAndroid&&!this.isOpenHarmony&&!/(WebOS|BlackBerry)/.test(e),Object.entries(t).forEach(([g,y])=>{this[g]=y}))}}class FlowState{constructor(){Ni(this,"isAbort");this.isAbort=!1}abort(){this.isAbort=!0}reset(){this.isAbort=!1}}class EventHelper extends eventsExports.EventEmitter{constructor({app:t,beforeEventHandler:i,afterEventHandler:r}){super();Ni(this,"app");Ni(this,"nodeEventList",new Map);Ni(this,"dataSourceEventList",new Map);Ni(this,"beforeEventHandler");Ni(this,"afterEventHandler");this.beforeEventHandler=i,this.afterEventHandler=r,this.app=t}destroy(){this.removeNodeEvents(),this.removeAllListeners(),this.nodeEventList.clear(),this.dataSourceEventList.clear()}bindNodeEvents(t){var i;(i=t.events)==null||i.forEach((r,g)=>{if(!r.name)return;let y="".concat(r.name,"_").concat(t.data.id);const k=r.name.split(".");k.length>1&&(y="".concat(k[1],"_").concat(k[0]));let L=Symbol(y);t.eventKeys.has(y)?L=t.eventKeys.get(y):t.eventKeys.set(y,L);const V=(z,...j)=>{this.eventHandler(g,t,j)};this.nodeEventList.set(V,L),this.on(L,V)})}removeNodeEvents(){Array.from(this.nodeEventList.keys()).forEach(t=>{const i=this.nodeEventList.get(t);i&&this.off(i,t)}),this.nodeEventList.clear()}bindDataSourceEvents(t){this.removeDataSourceEvents(t),t.forEach(i=>{var g;const r=(g=this.dataSourceEventList.get(i.id))!=null?g:new Map;(i.schema.events||[]).forEach(y=>{var z;const[k,...L]=((z=y.name)==null?void 0:z.split("."))||[];if(!k)return;const V=(...j)=>{this.eventHandler(y,i,j)};r.set(y.name,V),k===DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX?i==null||i.onDataChange(L.join("."),V):i.on(k,V)}),this.dataSourceEventList.set(i.id,r)})}removeDataSourceEvents(t){this.dataSourceEventList.size&&(t.forEach(i=>{const r=this.dataSourceEventList.get(i.id);r&&Array.from(r.keys()).forEach(g=>{const[y,...k]=g.split(".");y===DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX?i.offDataChange(k.join("."),r.get(g)):i.off(y,r.get(g))})}),this.dataSourceEventList.clear())}async eventHandler(t,i,r){const g=typeof t=="number"?i.events[t]:t;if(typeof this.beforeEventHandler=="function"&&this.beforeEventHandler({eventConfig:g,source:i,args:r}),has(g,"actions")){const y=new FlowState,{actions:k}=g;for(let L=0;L{clearTimeout(this.tid),this.tid=setTimeout(()=>{this.refreshRem(),this.tid=void 0},300)});Ni(this,"pageshowHandler",e=>{e.persisted&&this.resizeHandler()});globalThis.document.readyState==="complete"?this.setBodyFontSize():globalThis.document.addEventListener("DOMContentLoaded",this.setBodyFontSize,!1),globalThis.addEventListener("resize",this.resizeHandler,!1),globalThis.addEventListener("pageshow",this.pageshowHandler,!1),typeof(e==null?void 0:e.designWidth)<"u"&&this.setDesignWidth(e.designWidth)}destroy(){globalThis.document.removeEventListener("DOMContentLoaded",this.setBodyFontSize,!1),globalThis.removeEventListener("resize",this.resizeHandler,!1),globalThis.removeEventListener("pageshow",this.pageshowHandler,!1)}setDesignWidth(e){this.designWidth=e,this.refreshRem()}setBodyFontSize(){globalThis.document.body.style.fontSize=".12rem"}refreshRem(){const{width:e}=document.documentElement.getBoundingClientRect(),t=e/(this.designWidth/100);globalThis.document.documentElement.style.fontSize="".concat(t,"px"),globalThis.document.documentElement.style.fontSize="".concat(this.correctRem(t),"px")}correctRem(e){const{document:t}=globalThis,i=t.createElement("div");i.style.cssText="width:1rem;height:0;overflow:hidden;position:absolute;z-index:-1;visibility:hidden;",t.documentElement.appendChild(i);const r=i.offsetWidth;return t.documentElement.removeChild(i),Math.abs(r-e)>1?e**2/r:e}}let Store$1=class{constructor({initialData:e={}}={}){Ni(this,"data");this.data=e}set(e,t){this.data[e]=t}get(e){return this.data[e]}},Node$3=class extends eventsExports.EventEmitter{constructor(t){var i,r;super();Ni(this,"data");Ni(this,"style");Ni(this,"events",[]);Ni(this,"instance",{});Ni(this,"page");Ni(this,"parent");Ni(this,"app");Ni(this,"store");Ni(this,"eventKeys",new Map);Ni(this,"eventQueue",[]);this.store=new Store$1({initialData:((r=(i=t.app).nodeStoreInitialData)==null?void 0:r.call(i))||{}}),this.page=t.page,this.parent=t.parent,this.app=t.app,this.setData(t.config),this.listenLifeSafe()}setData(t){this.data=t;const{events:i,style:r}=t;this.events=i||[],this.style=r||{};try{this.instance.config=t}catch(g){}this.emit("update-data",t)}addEventToQueue(t){this.eventQueue.push(t)}registerMethod(t){if(t){this.instance||(this.instance={});for(const[i,r]of Object.entries(t))typeof r=="function"&&(this.instance[i]=r)}}setInstance(t){this.instance=t}async runHookCode(t,i){var g,y,k;if(typeof this.data[t]=="function"){await this.data[t](this);return}const r=this.data[t];if((r==null?void 0:r.hookType)===HookType.CODE)for(const L of r.hookData){const{codeType:V=HookCodeType.CODE,codeId:z,params:j={}}=L;let ie;const oe={app:this.app,node:this,params:i||j};if(V===HookCodeType.CODE&&typeof z=="string"&&((g=this.app.codeDsl)!=null&&g[z]))ie=this.app.codeDsl[z].content;else if(V===HookCodeType.DATA_SOURCE_METHOD&&Array.isArray(z)&&z.length>1){const re=(y=this.app.dataSourceManager)==null?void 0:y.get(z[0]);ie=(k=re==null?void 0:re.methods.find(ae=>ae.name===z[1]))==null?void 0:k.content,oe.dataSource=re}ie&&typeof ie=="function"&&await ie(oe)}}destroy(){this.eventQueue.length=0,this.instance=null,this.events=[],this.style={},this.removeAllListeners()}listenLifeSafe(){this.once("created",t=>{this.once("destroy",()=>{this.instance=null,typeof this.data.destroy=="function"&&this.data.destroy(this),this.listenLifeSafe()}),t&&this.setInstance(t),this.runHookCode("created")}),this.once("mounted",t=>{(async()=>{t&&this.setInstance(t);for(let r=this.eventQueue.shift();r;r=this.eventQueue.shift())typeof t[r.method]=="function"&&await t[r.method](r.fromCpt,...r.args);this.runHookCode("mounted")})()})}};class IteratorContainer extends Node$3{constructor(){super(...arguments);Ni(this,"nodes",[])}setData(t){this.resetNodes(),super.setData(t)}resetNodes(){var t;(t=this.nodes)==null||t.forEach(i=>{i.forEach(r=>{r.destroy()})}),this.nodes=[]}initNode(t,i,r){var y,k,L,V,z,j;if(r.has(t.id)&&((y=r.get(t.id))==null||y.destroy()),t.type&&this.app.iteratorContainerType.has(t.type)){const ie=new IteratorContainer({config:t,parent:i,page:this.page,app:this.app});r.set(t.id,ie),(k=this.app.eventHelper)==null||k.bindNodeEvents(ie);return}const g=new Node$3({config:t,parent:i,page:this.page,app:this.app});if((L=this.app.eventHelper)==null||L.bindNodeEvents(g),r.set(t.id,g),t.type&&this.app.pageFragmentContainerType.has(t.type)&&t.pageFragmentId){const ie=(z=(V=this.app.dsl)==null?void 0:V.items)==null?void 0:z.find(oe=>oe.id===t.pageFragmentId);ie&&(t.items=[ie])}(j=t.items)==null||j.forEach(ie=>{this.initNode(ie,g,r)})}setNodes(t,i){const r=this.nodes[i]||new Map;t.forEach(g=>{this.initNode(g,this,r)}),this.nodes[i]=r}getNode(t,i){var r;return(r=this.nodes[i])==null?void 0:r.get(t)}destroy(){super.destroy(),this.resetNodes()}}class Page extends Node$3{constructor(t){super(t);Ni(this,"nodes",new Map);this.setNode(t.config.id,this),t.config.items.forEach(i=>{this.initNode(i,this)})}initNode(t,i){var g,y,k;if(t.type&&this.app.iteratorContainerType.has(t.type)){this.setNode(t.id,new IteratorContainer({config:t,parent:i,page:this,app:this.app}));return}const r=new(t.type&&App$1.nodeClassMap.get(t.type)||Node$3)({config:t,parent:i,page:this,app:this.app});if(this.setNode(t.id,r),t.type&&this.app.pageFragmentContainerType.has(t.type)&&t.pageFragmentId){const L=(y=(g=this.app.dsl)==null?void 0:g.items)==null?void 0:y.find(V=>V.id===t.pageFragmentId);L&&(t.items=[L])}(k=t.items)==null||k.forEach(L=>{this.initNode(L,r)})}getNode(t,i,r){if(this.nodes.has(t))return this.nodes.get(t);if(Array.isArray(i)&&i.length&&Array.isArray(r)){let g=this.nodes.get(i[0]);for(let y=1,k=i.length;y{t!==this&&t.destroy()}),this.nodes.clear(),super.destroy()}}const style2Obj=n=>{if(typeof n!="string")return n;const e={};return n.split(";").forEach(t=>{if(!t)return;const i=t.split(":");let r=i.shift(),g=i.join(":");r&&(r=r.replace(/^\s*/,"").replace(/\s*$/,""),g=g.replace(/^\s*/,"").replace(/\s*$/,""),r=r.split("-").map((y,k)=>k>0?"".concat(y[0].toUpperCase()).concat(y.substr(1)):y).join(""),e[r]=g)}),e},fillBackgroundImage=n=>n&&!/^url/.test(n)&&!/^linear-gradient/.test(n)?"url(".concat(n,")"):n,getTransform=(n,e)=>{if(!n)return[];const t=Object.entries(n).map(([r,g])=>g.trim()?(r==="rotate"&&isNumber$6(g)&&(g="".concat(g,"deg")),e!=="hippy"?"".concat(r,"(").concat(g,")"):{[r]:g}):"");if(e==="hippy")return t;const i=t.join(" ");return i.trim()?i:"none"},transformStyle=(n,e)=>{if(!n)return{};let t={};const i={};typeof n=="string"?t=style2Obj(n):t={...n};const r=e==="hippy",g=["zIndex","opacity","fontWeight"];return Object.entries(t).forEach(([y,k])=>{y==="scale"&&!i.transform&&r?i.transform=[{scale:k}]:y==="backgroundImage"&&!r?k&&(i[y]=fillBackgroundImage(k)):y==="transform"&&typeof k!="string"?i[y]=getTransform(k,e):!g.includes(y)&&k&&/^[-]?[0-9]*[.]?[0-9]*$/.test(k)?i[y]=r?k:"".concat(k/100,"rem"):i[y]=k}),i};var gs;let App$1=(gs=class extends eventsExports.EventEmitter{constructor(t){var i;super();Ni(this,"env");Ni(this,"dsl");Ni(this,"codeDsl");Ni(this,"dataSourceManager");Ni(this,"page");Ni(this,"useMock",!1);Ni(this,"platform","mobile");Ni(this,"jsEngine","browser");Ni(this,"components",new Map);Ni(this,"pageFragmentContainerType",new Set(["page-fragment-container"]));Ni(this,"iteratorContainerType",new Set(["iterator-container"]));Ni(this,"request");Ni(this,"transformStyle");Ni(this,"eventHelper");Ni(this,"errorHandler");Ni(this,"nodeStoreInitialData");Ni(this,"flexible");t.env?this.setEnv(t.env):this.setEnv(t.ua),this.errorHandler=t.errorHandler,this.codeDsl=(i=t.config)==null?void 0:i.codeBlocks,t.platform&&(this.platform=t.platform),t.jsEngine&&(this.jsEngine=t.jsEngine),t.nodeStoreInitialData&&(this.nodeStoreInitialData=t.nodeStoreInitialData),t.pageFragmentContainerType&&(Array.isArray(t.pageFragmentContainerType)?t.pageFragmentContainerType:[t.pageFragmentContainerType]).forEach(g=>{this.pageFragmentContainerType.add(g)}),t.iteratorContainerType&&(Array.isArray(t.iteratorContainerType)?t.iteratorContainerType:[t.iteratorContainerType]).forEach(g=>{this.iteratorContainerType.add(g)}),typeof t.useMock=="boolean"&&(this.useMock=t.useMock),this.jsEngine==="browser"&&!t.disabledFlexible&&(this.flexible=new Flexible({designWidth:t.designWidth})),this.platform!=="editor"&&(this.eventHelper=new EventHelper({app:this,beforeEventHandler:t.beforeEventHandler,afterEventHandler:t.afterEventHandler})),this.transformStyle=t.transformStyle||(r=>transformStyle(r,this.jsEngine)),t.request&&(this.request=t.request),t.config&&this.setConfig(t.config,t.curPage,t.dataSourceManagerInitialData)}static registerNode(t,i){gs.nodeClassMap.set(t,i)}setEnv(t){!t||typeof t=="string"?this.env=new Env(t):this.env=t}setDesignWidth(t){var i;(i=this.flexible)==null||i.setDesignWidth(t)}setConfig(t,i,r){var y,k,L;this.dsl=t,!i&&t.items.length&&(i=t.items[0].id),this.dataSourceManager&&this.dataSourceManager.destroy(),this.dataSourceManager=createDataSourceManager(this,this.useMock,r),this.codeDsl=t.codeBlocks;const g=i||((k=(y=this.page)==null?void 0:y.data)==null?void 0:k.id);if(super.emit("dsl-change",{dsl:t,curPage:g}),this.setPage(g),this.dataSourceManager){const V=Array.from(this.dataSourceManager.dataSourceMap.values());(L=this.eventHelper)==null||L.bindDataSourceEvents(V)}}setPage(t){var r;const i=(r=this.dsl)==null?void 0:r.items.find(g=>"".concat(g.id)==="".concat(t));if(!i){this.deletePage(),super.emit("page-change");return}if(this.page){if(i===this.page.data)return;this.page.destroy()}if(this.page=new Page({config:i,app:this}),this.eventHelper){this.eventHelper.removeNodeEvents();for(const[,g]of this.page.nodes)this.eventHelper.bindNodeEvents(g)}super.emit("page-change",this.page)}deletePage(){var t,i;(t=this.page)==null||t.destroy(),(i=this.eventHelper)==null||i.removeNodeEvents(),this.page=void 0}getPage(t){if(!t)return this.page;if(this.page&&"".concat(this.page.data.id)==="".concat(t))return this.page}getNode(t,i,r){var g;return(g=this.page)==null?void 0:g.getNode(t,i,r)}registerComponent(t,i){this.components.set(t,i)}unregisterComponent(t){this.components.delete(t)}resolveComponent(t){return this.components.get(t)}emit(t,...i){var y,k;const[r,...g]=i;return this.eventHelper&&r instanceof Node$3&&((y=r.data)!=null&&y.id)&&r.eventKeys.has("".concat(String(t),"_").concat(r.data.id))?(k=this.eventHelper)==null?void 0:k.emit(r.eventKeys.get("".concat(String(t),"_").concat(r.data.id)),r,...g):super.emit(t,...i)}async runCode(t,i,r,g){var k,L;if(!t||isEmpty$3(this.codeDsl))return;const y=(L=(k=this.codeDsl)==null?void 0:k[t])==null?void 0:L.content;if(typeof y=="function")try{await y({app:this,params:i,eventParams:r,flowState:g})}catch(V){if(this.errorHandler)this.errorHandler(V,void 0,{type:"run-code",codeId:t,params:i,eventParams:r,flowState:g});else throw V}}async runDataSourceMethod(t,i,r,g,y){var z;if(!t||!i)return;const k=(z=this.dataSourceManager)==null?void 0:z.get(t);if(!k)return;const V=(k.methods||[]).find(j=>j.name===i);if(V&&typeof V.content=="function")try{await V.content({app:this,params:r,dataSource:k,eventParams:g,flowState:y})}catch(j){if(this.errorHandler)this.errorHandler(j,k,{type:"data-source-method",params:r,eventParams:g,flowState:y});else throw j}}destroy(){var t,i,r;this.removeAllListeners(),this.page=void 0,(t=this.flexible)==null||t.destroy(),this.flexible=void 0,(i=this.eventHelper)==null||i.destroy(),this.dsl=void 0,(r=this.dataSourceManager)==null||r.destroy(),this.dataSourceManager=void 0,this.codeDsl=void 0,this.components.clear(),this.nodeStoreInitialData=void 0}},Ni(gs,"nodeClassMap",new Map),gs);var DepTargetType=(n=>(n.DEFAULT="default",n.CODE_BLOCK="code-block",n.DATA_SOURCE="data-source",n.DATA_SOURCE_METHOD="data-source-method",n.DATA_SOURCE_COND="data-source-cond",n))(DepTargetType||{});class Target{constructor(e){Ni(this,"isTarget");Ni(this,"id");Ni(this,"name");Ni(this,"type",DepTargetType.DEFAULT);Ni(this,"deps",{});Ni(this,"isCollectByDefault");var t;this.isTarget=e.isTarget,this.id=e.id,this.name=e.name,this.isCollectByDefault=(t=e.isCollectByDefault)!=null?t:!0,e.type&&(this.type=e.type),e.initialDeps&&(this.deps=e.initialDeps)}updateDep({id:e,name:t,key:i,data:r}){const g=this.deps[e]||{name:t,keys:[]};g.name=t,g.data=r,this.deps[e]=g,g.keys.indexOf(i)===-1&&g.keys.push(i)}removeDep(e,t){if(typeof e>"u"){Object.keys(this.deps).forEach(r=>{delete this.deps[r]});return}const i=this.deps[e];if(i)if(t){const r=i.keys.indexOf(t);i.keys.splice(r,1),i.keys.length===0&&delete this.deps[e]}else delete this.deps[e]}hasDep(e,t){const i=this.deps[e];return!!(i!=null&&i.keys.find(r=>r===t))}destroy(){this.deps={}}}const createCodeBlockTarget=(n,e,t={})=>new Target({type:DepTargetType.CODE_BLOCK,id:n,initialDeps:t,name:e.name,isTarget:(i,r)=>n===r?!0:(r==null?void 0:r.hookType)===HookType.CODE&&Array.isArray(r.hookData)?r.hookData.findIndex(y=>y.codeId===n)>-1:!1}),isIncludeArrayField=(n,e)=>{let t=e;return n.some((i,r)=>{const g=t.find(({name:y})=>y===i);return t=(g==null?void 0:g.fields)||[],g&&g.type==="array"&&/^(?!\d+$).*$/.test("".concat(n[r+1]))&&r{const i=n.match(dataSourceTemplateRegExp)||[];if(i.length<=0)return!1;const r=[],g=[];return i.forEach(y=>{const k=y.substring(2,y.length-1),L=getKeysArray(k),V=L.shift();!V||V!==e.id||(isIncludeArrayField(L,e.fields)?r.push(y):g.push(y))}),t?r.length>0:g.length>0},isSpecificDataSourceTemplate=(n,e)=>(n==null?void 0:n.isBindDataSourceField)&&n.dataSourceId&&n.dataSourceId===e&&typeof n.template=="string",isUseDataSourceField=(n,e)=>{if(!Array.isArray(n)||typeof n[0]!="string")return!1;const[t]=n,i=t.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);return i===-1?!1:t.substring(i+DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length)===e},isDataSourceTarget=(n,e,t,i=!1)=>{if(!t||!["string","object"].includes(typeof t)||"".concat(e).startsWith(NODE_CONDS_KEY))return!1;if(typeof t=="string")return isDataSourceTemplate(t,n,i);if(isObject$5(t)&&(t!=null&&t.isBindDataSource)&&t.dataSourceId&&t.dataSourceId===n.id||isSpecificDataSourceTemplate(t,n.id))return!0;if(isUseDataSourceField(t,n.id)){const[,...r]=t,g=isIncludeArrayField(r,n.fields);return i?g:!g}return!1},isDataSourceCondTarget=(n,e,t,i=!1)=>{var y;if(!Array.isArray(t)||!n)return!1;const[r,...g]=t;if(r!==n.id||!"".concat(e).startsWith(NODE_CONDS_KEY))return!1;if((y=n.fields)!=null&&y.find(k=>k.name===g[0])){const k=isIncludeArrayField(g,n.fields);return i?k:!k}return!1},createDataSourceTarget=(n,e={})=>new Target({type:DepTargetType.DATA_SOURCE,id:n.id,initialDeps:e,isTarget:(t,i)=>isDataSourceTarget(n,t,i)}),createDataSourceCondTarget=(n,e={})=>new Target({type:DepTargetType.DATA_SOURCE_COND,id:n.id,initialDeps:e,isTarget:(t,i)=>isDataSourceCondTarget(n,t,i)}),createDataSourceMethodTarget=(n,e={})=>new Target({type:DepTargetType.DATA_SOURCE_METHOD,id:n.id,initialDeps:e,isTarget:(t,i)=>{var y,k;if(!Array.isArray(i))return!1;const[r,g]=i;return!g||r!==n.id?!1:(y=n.methods)!=null&&y.find(L=>L.name===g)?!0:!((k=n.fields)!=null&&k.find(L=>L.name===g))}}),traverseTarget=(n,e,t)=>{for(const i of Object.values(n))for(const r of Object.values(i))t&&r.type!==t||e(r)};class Watcher{constructor(e){Ni(this,"targetsList",{});Ni(this,"childrenProp","items");Ni(this,"idProp","id");Ni(this,"nameProp","name");e!=null&&e.initialTargets&&(this.targetsList=e.initialTargets),e!=null&&e.childrenProp&&(this.childrenProp=e.childrenProp)}getTargetsList(){return this.targetsList}getTargets(e=DepTargetType.DEFAULT){return this.targetsList[e]||{}}addTarget(e){const t=this.getTargets(e.type)||{};this.targetsList[e.type]=t,t[e.id]=e}getTarget(e,t=DepTargetType.DEFAULT){return this.getTargets(t)[e]}hasTarget(e,t=DepTargetType.DEFAULT){return!!this.getTarget(e,t)}hasSpecifiedTypeTarget(e=DepTargetType.DEFAULT){return Object.keys(this.getTargets(e)).length>0}removeTarget(e,t=DepTargetType.DEFAULT){const i=this.getTargets(t);i[e]&&(i[e].destroy(),delete i[e])}removeTargets(e=DepTargetType.DEFAULT){const t=this.targetsList[e];if(t){for(const i of Object.values(t))i.destroy();delete this.targetsList[e]}}clearTargets(){for(const e of Object.keys(this.targetsList))delete this.targetsList[e]}collect(e,t={},i=!1,r){this.collectByCallback(e,r,({node:g,target:y})=>{this.removeTargetDep(y,g),this.collectItem(g,y,t,i)})}collectByCallback(e,t,i){traverseTarget(this.targetsList,r=>{if(!(!t&&!r.isCollectByDefault))for(const g of e)i({node:g,target:r})},t)}clear(e,t){let{targetsList:i}=this;t&&(i={[t]:this.getTargets(t)});const r=[];traverseTarget(i,g=>{if(e)for(const y of e)g.removeDep(y[this.idProp]),Array.isArray(y[this.childrenProp])&&y[this.childrenProp].length&&!r.includes(y[this.idProp])&&(r.push(y[this.idProp]),this.clear(y[this.childrenProp]));else g.removeDep()})}clearByType(e,t){this.clear(t,e)}collectItem(e,t,i={},r=!1){const g=(y,k="")=>{const L=(V,z)=>{const j=V===this.childrenProp,ie=k?"".concat(k,".").concat(V):V;if(t.isTarget(ie,z))t.updateDep({id:e[this.idProp],name:"".concat(e[this.nameProp]||e[this.idProp]),data:i,key:ie});else if(!j&&Array.isArray(z))for(let oe=0,re=z.length;oe"u"||z===""||L(V,z)};g(e)}removeTargetDep(e,t,i){if(e.removeDep(t[this.idProp],i),typeof i>"u"&&Array.isArray(t[this.childrenProp])&&t[this.childrenProp].length)for(const r of t[this.childrenProp])this.removeTargetDep(e,r,i)}}const useServices=()=>{const n=inject("services");if(!n)throw new Error("services is required");return n},_sfc_main$2$=defineComponent({name:"MFieldsCodeSelect",__name:"CodeSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,{dataSourceService:i,codeBlockService:r}=useServices(),g=n,y=computed$1(()=>({type:"group-list",name:"hookData",enableToggleMode:!1,expandAll:!0,title:(L,{model:V,index:z})=>{if(V.codeType===HookCodeType.DATA_SOURCE_METHOD){if(Array.isArray(V.codeId)){if(V.codeId.length<2)return z;const j=i.getDataSourceById(V.codeId[0]);return"".concat(j==null?void 0:j.title," / ").concat(V.codeId[1])}return Array.isArray(V.codeId)?V.codeId.join("/"):z}return V.codeId||z},items:[{type:"row",items:[{type:"select",name:"codeType",span:6,options:[{value:HookCodeType.CODE,text:"代码块"},{value:HookCodeType.DATA_SOURCE_METHOD,text:"数据源方法"}],defaultValue:"code",onChange:(L,V,{setModel:z})=>(V===HookCodeType.DATA_SOURCE_METHOD?z("codeId",[]):z("codeId",""),V)},{type:"code-select-col",name:"codeId",span:18,labelWidth:0,display:(L,{model:V})=>V.codeType!==HookCodeType.DATA_SOURCE_METHOD,notEditable:()=>!r.getEditStatus()},{type:"data-source-method-select",name:"codeId",span:18,labelWidth:0,display:(L,{model:V})=>V.codeType===HookCodeType.DATA_SOURCE_METHOD,notEditable:()=>!i.get("editable")}]}]}));watch(()=>g.model[g.name],L=>{isEmpty$3(L)&&(g.model[g.name]={hookType:HookType.CODE,hookData:[]})},{immediate:!0});const k=(L,V)=>t("change",L,V);return(L,V)=>(openBlock(),createElementBlock("div",{class:normalizeClass(["m-fields-code-select",L.config.className])},[createVNode(unref(_sfc_main$4p),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$3P),{config:y.value,size:L.size,prop:L.prop,disabled:L.disabled,lastValues:L.lastValues,model:L.model[L.name],onChange:k},null,8,["config","size","prop","disabled","lastValues","model"])]),_:1})],2))}}),arrayOptions=[{text:"包含",value:"include"},{text:"不包含",value:"not_include"}],eqOptions=[{text:"等于",value:"="},{text:"不等于",value:"!="}],numberOptions=[{text:"大于",value:">"},{text:"大于等于",value:">="},{text:"小于",value:"<"},{text:"小于等于",value:"<="},{text:"在范围内",value:"between"},{text:"不在范围内",value:"not_between"}],styleTabConfig={title:"样式",display:({services:n})=>{var e;return!((e=n.uiService.get("showStylePanel"))==null||e)},items:[{name:"style",labelWidth:"100px",type:"style-setter",items:[{names:["display","flexDirection","justifyContent","alignItems","flexWrap","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","width","height","overflow","fontSize","lineHeight","fontWeight","color","textAlign","backgroundColor","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","position","zIndex","top","right","bottom","left","borderRadius","borderTopWidth","borderTopStyle","borderTopColor","borderRightColor","borderRightWidth","borderRightStyle","borderRightColor","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeftStyle","borderLeftWidth","borderLeftColor","borderWidth","borderStyle","borderColor"]}]}]},eventTabConfig={title:"事件",items:[{name:"events",src:"component",labelWidth:"100px",type:"event-select"}]},advancedTabConfig={title:"高级",lazy:!0,items:[{name:"created",text:"created",labelPosition:"top",type:"code-select",extra:"组件初始化时执行"},{name:"mounted",text:"mounted",labelPosition:"top",type:"code-select",extra:"组件挂载到dom时执行"},{name:"display",text:"display",extra:"控制组件是否渲染,关系的代码块返回值为false时不渲染",labelPosition:"top",type:"code-select"}]},displayTabConfig={title:"显示条件",display:(n,{model:e})=>e.type!=="page",items:[{type:"display-conds",name:NODE_CONDS_KEY,titlePrefix:"条件组",defaultValue:[]}]},fillConfig$1=(n=[],{labelWidth:e="80px",disabledDataSource:t=!1,disabledCodeBlock:i=!1}={})=>{const r=[];n.find(k=>k.name==="type")||r.push({text:"type",name:"type",type:"hidden"}),n.find(k=>k.name==="id")||r.push({name:"id",text:"ID",type:"text",disabled:!0,append:{type:"button",text:"复制",handler:(k,{model:L})=>{navigator.clipboard.writeText("".concat(L.id)).then(()=>{tMagicMessage.success("已复制")}).catch(()=>{tMagicMessage.error("复制失败")})}}}),n.find(k=>k.name==="name")||r.push({name:"name",text:"组件名称"});const g=advancedTabConfig.items.filter(k=>k.type!=="code-select");g.length>0&&i&&(advancedTabConfig.items=g);const y={type:"tab",labelWidth:e,items:[{title:"属性",items:[...r,...n]},{...styleTabConfig},{...eventTabConfig}]};return i?g.length>0&&y.items.push({...advancedTabConfig}):y.items.push({...advancedTabConfig}),t||y.items.push({...displayTabConfig}),[y]},error=(...n)=>{},isDate=n=>n instanceof Date,isEmpty$1=n=>Object.keys(n).length===0,isObject$2=n=>n!=null&&typeof n=="object",hasOwnProperty=(n,...e)=>Object.prototype.hasOwnProperty.call(n,...e),isEmptyObject=n=>isObject$2(n)&&isEmpty$1(n),makeObjectWithoutPrototype=()=>Object.create(null),addedDiff=(n,e)=>n===e||!isObject$2(n)||!isObject$2(e)?{}:Object.keys(e).reduce((t,i)=>{if(hasOwnProperty(n,i)){const r=addedDiff(n[i],e[i]);return isObject$2(r)&&isEmpty$1(r)||(t[i]=r),t}return t[i]=e[i],t},makeObjectWithoutPrototype()),deletedDiff=(n,e)=>n===e||!isObject$2(n)||!isObject$2(e)?{}:Object.keys(n).reduce((t,i)=>{if(hasOwnProperty(e,i)){const r=deletedDiff(n[i],e[i]);return isObject$2(r)&&isEmpty$1(r)||(t[i]=r),t}return t[i]=void 0,t},makeObjectWithoutPrototype()),updatedDiff=(n,e)=>n===e?{}:!isObject$2(n)||!isObject$2(e)?e:isDate(n)||isDate(e)?n.valueOf()==e.valueOf()?{}:e:Object.keys(e).reduce((t,i)=>{if(hasOwnProperty(n,i)){const r=updatedDiff(n[i],e[i]);return isEmptyObject(r)&&!isDate(r)&&(isEmptyObject(n[i])||!isEmptyObject(e[i]))||(t[i]=r),t}return t},makeObjectWithoutPrototype()),detailedDiff=(n,e)=>({added:addedDiff(n,e),deleted:deletedDiff(n,e),updated:updatedDiff(n,e)});var ColumnLayout=(n=>(n.LEFT="left",n.CENTER="center",n.RIGHT="right",n))(ColumnLayout||{}),SideItemKey=(n=>(n.COMPONENT_LIST="component-list",n.LAYER="layer",n.CODE_BLOCK="code-block",n.DATA_SOURCE="data-source",n))(SideItemKey||{}),LayerOffset=(n=>(n.TOP="top",n.BOTTOM="bottom",n))(LayerOffset||{}),Layout=(n=>(n.FLEX="flex",n.FIXED="fixed",n.RELATIVE="relative",n.ABSOLUTE="absolute",n))(Layout||{}),CodeDeleteErrorType=(n=>(n.UNDELETEABLE="undeleteable",n.BIND="bind",n))(CodeDeleteErrorType||{});const CODE_DRAFT_STORAGE_KEY="magicCodeDraft";var KeyBindingCommand=(n=>(n.COPY_NODE="tmagic-system-copy-node",n.PASTE_NODE="tmagic-system-paste-node",n.DELETE_NODE="tmagic-system-delete-node",n.CUT_NODE="tmagic-system-cut-node",n.UNDO="tmagic-system-undo",n.REDO="tmagic-system-redo",n.ZOOM_IN="tmagic-system-zoom-in",n.ZOOM_OUT="tmagic-system-zoom-out",n.ZOOM_RESET="tmagic-system-zoom-reset",n.ZOOM_FIT="tmagic-system-zoom-fit",n.MOVE_UP_1="tmagic-system-move-up-1",n.MOVE_DOWN_1="tmagic-system-move-down-1",n.MOVE_LEFT_1="tmagic-system-move-left-1",n.MOVE_RIGHT_1="tmagic-system-move-right-1",n.MOVE_UP_10="tmagic-system-move-up-10",n.MOVE_DOWN_10="tmagic-system-move-down-10",n.MOVE_LEFT_10="tmagic-system-move-left-10",n.MOVE_RIGHT_10="tmagic-system-move-right-10",n.SWITCH_NODE="tmagic-system-switch-node",n))(KeyBindingCommand||{}),DragType=(n=>(n.COMPONENT_LIST="component-list",n.LAYER_TREE="layer-tree",n))(DragType||{});const COPY_STORAGE_KEY="$MagicEditorCopyData",COPY_CODE_STORAGE_KEY="$MagicEditorCopyCode",COPY_DS_STORAGE_KEY="$MagicEditorCopyDataSource",getPageList=n=>n?Array.isArray(n.items)?n.items.filter(e=>isPage(e)):[]:[],getPageFragmentList=n=>n?Array.isArray(n.items)?n.items.filter(e=>isPageFragment(e)):[]:[],getPageNameList=n=>n.map(e=>e.name||"index"),generatePageName=(n,e)=>{let t=n.length;if(!t)return"".concat(e,"_index");let i="".concat(e,"_").concat(t);for(;n.includes(i);)t+=1,i="".concat(e,"_").concat(t);return i},generatePageNameByApp=(n,e)=>generatePageName(getPageNameList(e==="page"?getPageList(n):getPageFragmentList(n)),e),getNodeIndex=(n,e)=>((e==null?void 0:e.items)||[]).findIndex(i=>"".concat(i.id)==="".concat(n)),getRelativeStyle=(n={})=>({...n,position:"relative",top:0,left:0}),getMiddleTop=(n,e,t)=>{var y,k,L;let i=((y=n.style)==null?void 0:y.height)||0;if(!t||typeof((k=n.style)==null?void 0:k.top)<"u"||!e.style)return(L=n.style)==null?void 0:L.top;isNumber$6(i)||(i=0);const{height:r}=e.style;let g=r;if(t.mask&&t.renderer){const{scrollTop:V=0,wrapperHeight:z}=t.mask;g=calcValueByFontsize(t.renderer.getDocument(),z);const j=calcValueByFontsize(t.renderer.getDocument(),V);if(isPage(e))return(g-i)/2+j}return(Math.min(r,g)-i)/2},getInitPositionStyle=(n={},e)=>{if(e===Layout.ABSOLUTE){const t={...n,position:"absolute"};return typeof t.left>"u"&&typeof t.right>"u"&&(t.left=0),t}return e===Layout.RELATIVE?getRelativeStyle(n):n},setChildrenLayout=(n,e)=>{var t;return(t=n.items)==null||t.forEach(i=>{setLayout(i,e)}),n},setLayout=(n,e)=>{if(isPop(n))return;const t=n.style||{};if(t.position!=="fixed")return e!==Layout.RELATIVE?t.position="absolute":(n.style=getRelativeStyle(t),n.style.right="auto",n.style.bottom="auto"),n},change2Fixed=(n,e)=>{const t=getNodePath(n.id,e.items),i={left:0,top:0};return t.forEach(r=>{var g,y;i.left=i.left+globalThis.parseFloat(((g=r.style)==null?void 0:g.left)||0),i.top=i.top+globalThis.parseFloat(((y=r.style)==null?void 0:y.top)||0)}),{...n.style||{},...i}},Fixed2Other=async(n,e,t)=>{var V,z;const i=getNodePath(n.id,e.items),r=i.pop(),g={left:((V=r==null?void 0:r.style)==null?void 0:V.left)||0,top:((z=r==null?void 0:r.style)==null?void 0:z.top)||0,right:"",bottom:""};i.forEach(j=>{var ie,oe;g.left=g.left-globalThis.parseFloat(((ie=j.style)==null?void 0:ie.left)||0),g.top=g.top-globalThis.parseFloat(((oe=j.style)==null?void 0:oe.top)||0)});const y=n.style||{},k=i.pop();return k&&await t(k)!==Layout.RELATIVE?{...y,...g,position:"absolute"}:getRelativeStyle(y)},getGuideLineFromCache=n=>{if(!n)return[];const e=globalThis.localStorage.getItem(n);if(e)try{return JSON.parse(e)||[]}catch(t){console.error(t)}return[]},fixNodeLeft=(n,e,t)=>{var y,k;if(!t||!n.style||!isNumber$6(n.style.left))return(y=n.style)==null?void 0:y.left;const i=getElById()(t,"".concat(n.id)),r=getElById()(t,"".concat(e.id)),g=Number((k=n.style)==null?void 0:k.left)||0;if(i&&r){const L=calcValueByFontsize(t,r.offsetWidth),V=calcValueByFontsize(t,i.offsetWidth);if(V+g>L)return L-V}return n.style.left},fixNodePosition=(n,e,t)=>{var i,r,g;return((i=n.style)==null?void 0:i.position)!=="absolute"?n.style:{...n.style||{},top:getMiddleTop(n,e,t),left:fixNodeLeft(n,e,(g=(r=t==null?void 0:t.renderer)==null?void 0:r.contentWindow)==null?void 0:g.document)}},moveItemsInContainer=(n,e,t)=>{n.sort((i,r)=>i-r);for(let i=n.length-1;i>=0;i--){const r=n[i];if(r===t)continue;const[g]=e.items.splice(r,1);e.items.splice(r=0;y--)n[y]>=t&&(n[y]+=1)}},isIncludeDataSourceByDiffAddResult=n=>{for(const e of Object.values(n)){if(isValueIncludeDataSource(e))return!0;if(isObject$6(e))return isIncludeDataSourceByDiffAddResult(e)}return!1},isIncludeDataSourceByDiffUpdatedResult=(n,e)=>{for(const[t,i]of Object.entries(n)){if(isValueIncludeDataSource(i)||isValueIncludeDataSource(e[t]))return!0;if(isObject$6(i))return isIncludeDataSourceByDiffUpdatedResult(i,e[t])}return!1},isIncludeDataSource=(n,e)=>{const t=detailedDiff(e,n);let i=!1;return t.updated&&(t.updated[NODE_CONDS_KEY]||(i=isIncludeDataSourceByDiffUpdatedResult(t.updated,e),i))||t.added&&(i=isIncludeDataSourceByDiffAddResult(t.added),i)||t.deleted&&(t.deleted[NODE_CONDS_KEY]||(i=isIncludeDataSourceByDiffAddResult(t.deleted),i))?!0:i};var RGB="rgb",RGBA="rgba",HSL="hsl",HSLA="hsla",COLOR_MODELS=[RGB,RGBA,HSL,HSLA],FUNCTION="function",PROPERTY="property",ARRAY="array",OBJECT="object",STRING="string",NUMBER="number",UNDEFINED="undefined",IS_WINDOW=typeof window!==UNDEFINED,doc=typeof document!==UNDEFINED&&document,prefixes=["webkit","ms","moz","o"],getCrossBrowserProperty=function(n){if(!doc)return"";var e=(doc.body||doc.documentElement).style,t=prefixes.length;if(typeof e[n]!==UNDEFINED)return n;for(var i=0;i=0;--r)if(e(n[r],r,n))return r;return t}function findLast(n,e,t){var i=findLastIndex(n,e);return i>-1?n[i]:t}function find$1(n,e,t){var i=findIndex(n,e);return i>-1?n[i]:t}var requestAnimationFrame$1=function(){var n=now(),e=IS_WINDOW&&(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame);return e?e.bind(window):function(t){var i=now(),r=setTimeout(function(){t(i-n)},1e3/60);return r}}(),cancelAnimationFrame=function(){var n=IS_WINDOW&&(window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.msCancelAnimationFrame);return n?n.bind(window):function(e){clearTimeout(e)}}();function getKeys(n){return Object.keys(n)}function getValues(n){var e=getKeys(n);return e.map(function(t){return n[t]})}function sortOrders(n,e){e===void 0&&(e=[]),n.sort(function(t,i){var r=e.indexOf(t),g=e.indexOf(i);return g===-1&&r===-1?0:r===-1?1:g===-1?-1:r-g})}function convertUnitSize(n,e){var t=splitUnit(n),i=t.value,r=t.unit;if(isObject$1(e)){var g=e[r];if(g){if(isFunction$2(g))return g(i);if(DEFAULT_UNIT_PRESETS[r])return DEFAULT_UNIT_PRESETS[r](i,g)}}else if(r==="%")return i*e/100;return DEFAULT_UNIT_PRESETS[r]?DEFAULT_UNIT_PRESETS[r](i):i}function between(n,e,t){return Math.max(e,Math.min(n,t))}function checkBoundSize(n,e,t,i){return i===void 0&&(i=n[0]/n[1]),[[throttle(e[0],TINY_NUM$1),throttle(e[0]/i,TINY_NUM$1)],[throttle(e[1]*i,TINY_NUM$1),throttle(e[1],TINY_NUM$1)]].filter(function(r){return r.every(function(g,y){var k=e[y],L=throttle(k,TINY_NUM$1);return t?g<=k||g<=L:g>=k||g>=L})})[0]||n}function calculateBoundSize(n,e,t,i){if(!i)return n.map(function(oe,re){return between(oe,e[re],t[re])});var r=n[0],g=n[1],y=i===!0?r/g:i,k=checkBoundSize(n,e,!1,y),L=k[0],V=k[1],z=checkBoundSize(n,t,!0,y),j=z[0],ie=z[1];return rj||g>ie)&&(r=j,g=ie),[r,g]}function sum(n){for(var e=n.length,t=0,i=e-1;i>=0;--i)t+=n[i];return t}function average(n){for(var e=n.length,t=0,i=e-1;i>=0;--i)t+=n[i];return e?t/e:0}function getRad$1(n,e){var t=e[0]-n[0],i=e[1]-n[1],r=Math.atan2(i,t);return r>=0?r:r+Math.PI*2}function getCenterPoint(n){return[0,1].map(function(e){return average(n.map(function(t){return t[e]}))})}function getShapeDirection(n){var e=getCenterPoint(n),t=getRad$1(e,n[0]),i=getRad$1(e,n[1]);return ti&&i-t<-Math.PI?1:-1}function getDist$2(n,e){return Math.sqrt(Math.pow((e?e[0]:0)-n[0],2)+Math.pow((e?e[1]:0)-n[1],2))}function throttle(n,e){if(!e)return n;var t=1/e;return Math.round(n/e)/t}function throttleArray(n,e){return n.forEach(function(t,i){n[i]=throttle(n[i],e)}),n}function counter(n){for(var e=[],t=0;t-1&&g.splice(y,1)}}return this},e.once=function(t,i){var r=this;return i&&this._addEvent(t,i,{once:!0}),new Promise(function(g){r._addEvent(t,g,{once:!0})})},e.emit=function(t,i){var r=this;i===void 0&&(i={});var g=this._events[t];if(!t||!g)return!0;var y=!1;return i.eventType=t,i.stop=function(){y=!0},i.currentTarget=this,__spreadArrays$3(g).forEach(function(k){k.listener(i),k.once&&r.off(t,k.listener)}),!y},e.trigger=function(t,i){return i===void 0&&(i={}),this.emit(t,i)},e._addEvent=function(t,i,r){var g=this._events;g[t]=g[t]||[];var y=g[t];y.push(__assign$c({listener:i},r))},n}(),extendStatics$b=function(n,e){return extendStatics$b=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$b(n,e)};function __extends$b(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$b(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function createCommonjsModule(n,e){return e={exports:{}},n(e,e.exports),e.exports}var keycode=createCommonjsModule(function(n,e){function t(L){if(L&&typeof L=="object"){var V=L.which||L.keyCode||L.charCode;V&&(L=V)}if(typeof L=="number")return y[L];var z=String(L),j=i[z.toLowerCase()];if(j)return j;var j=r[z.toLowerCase()];if(j)return j;if(z.length===1)return z.charCodeAt(0)}t.isEventKey=function(V,z){if(V&&typeof V=="object"){var j=V.which||V.keyCode||V.charCode;if(j==null)return!1;if(typeof z=="string"){var ie=i[z.toLowerCase()];if(ie)return ie===j;var ie=r[z.toLowerCase()];if(ie)return ie===j}else if(typeof z=="number")return z===j;return!1}},e=n.exports=t;var i=e.code=e.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},r=e.aliases={windows:91,"⇧":16,"⌥":18,"⌃":17,"⌘":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};/*! * Programatically add the following */for(g=97;g<123;g++)i[String.fromCharCode(g)]=g-32;for(var g=48;g<58;g++)i[g-48]=g;for(g=1;g<13;g++)i["f"+g]=g+111;for(g=0;g<10;g++)i["numpad "+g]=g+96;var y=e.names=e.title={};for(g in i)y[i[g]]=g;for(var k in r)i[k]=r[k]});keycode.code;keycode.codes;keycode.aliases;var keycode_4=keycode.names;keycode.title;var codeData={"+":"plus","left command":"meta","right command":"meta"},keysSort={shift:1,ctrl:2,alt:3,meta:4};function getKey(n,e){var t=(keycode_4[n]||e||"").toLowerCase();for(var i in codeData)t=t.replace(i,codeData[i]);return t.replace(/\s/g,"")}function getCombi(n,e){e===void 0&&(e=getKey(n.keyCode,n.key));var t=getModifierCombi(n);return t.indexOf(e)===-1&&t.push(e),t.filter(Boolean)}function getModifierCombi(n){var e=[n.shiftKey&&"shift",n.ctrlKey&&"ctrl",n.altKey&&"alt",n.metaKey&&"meta"];return e.filter(Boolean)}function getArrangeCombi(n){var e=n.slice();return e.sort(function(t,i){var r=keysSort[t]||5,g=keysSort[i]||5;return r-g}),e}var globalKeyController,KeyController=function(n){__extends$b(e,n);function e(i){i===void 0&&(i=window);var r=n.call(this)||this;return r.container=i,r.ctrlKey=!1,r.altKey=!1,r.shiftKey=!1,r.metaKey=!1,r.clear=function(){return r.ctrlKey=!1,r.altKey=!1,r.shiftKey=!1,r.metaKey=!1,r},r.keydownEvent=function(g){r.triggerEvent("keydown",g)},r.keyupEvent=function(g){r.triggerEvent("keyup",g)},r.blur=function(){r.clear(),r.trigger("blur")},addEvent(i,"blur",r.blur),addEvent(i,"keydown",r.keydownEvent),addEvent(i,"keyup",r.keyupEvent),r}var t=e.prototype;return Object.defineProperty(e,"global",{get:function(){return globalKeyController||(globalKeyController=new e)},enumerable:!1,configurable:!0}),e.setGlobal=function(){return this.global},t.destroy=function(){var i=this.container;this.clear(),this.off(),removeEvent(i,"blur",this.blur),removeEvent(i,"keydown",this.keydownEvent),removeEvent(i,"keyup",this.keyupEvent)},t.keydown=function(i,r){return this.addEvent("keydown",i,r)},t.offKeydown=function(i,r){return this.removeEvent("keydown",i,r)},t.offKeyup=function(i,r){return this.removeEvent("keyup",i,r)},t.keyup=function(i,r){return this.addEvent("keyup",i,r)},t.addEvent=function(i,r,g){return isArray$1(r)?this.on("".concat(i,".").concat(getArrangeCombi(r).join(".")),g):isString$1(r)?this.on("".concat(i,".").concat(r),g):this.on(i,r),this},t.removeEvent=function(i,r,g){return isArray$1(r)?this.off("".concat(i,".").concat(getArrangeCombi(r).join(".")),g):isString$1(r)?this.off("".concat(i,".").concat(r),g):this.off(i,r),this},t.triggerEvent=function(i,r){this.ctrlKey=r.ctrlKey,this.shiftKey=r.shiftKey,this.altKey=r.altKey,this.metaKey=r.metaKey;var g=getKey(r.keyCode,r.key),y=g==="ctrl"||g==="shift"||g==="meta"||g==="alt",k={key:g,isToggle:y,inputEvent:r,keyCode:r.keyCode,ctrlKey:r.ctrlKey,altKey:r.altKey,shiftKey:r.shiftKey,metaKey:r.metaKey};this.trigger(i,k),this.trigger("".concat(i,".").concat(g),k);var L=getCombi(r,g);L.length>1&&this.trigger("".concat(i,".").concat(L.join(".")),k)},e}(EventEmitter$2);const GHOST_EL_ID_PREFIX="ghost_el_",DRAG_EL_ID_PREFIX="drag_el_",HIGHLIGHT_EL_ID_PREFIX="highlight_el_",CONTAINER_HIGHLIGHT_CLASS_NAME="tmagic-stage-container-highlight",PAGE_CLASS="magic-ui-page",DEFAULT_ZOOM=1;var GuidesType=(n=>(n.HORIZONTAL="horizontal",n.VERTICAL="vertical",n))(GuidesType||{}),ZIndex=(n=>(n.MASK="99999",n.SELECTED_EL="666",n.GHOST_EL="700",n.DRAG_EL="9",n.HIGHLIGHT_EL="8",n))(ZIndex||{}),MouseButton=(n=>(n[n.LEFT=0]="LEFT",n[n.MIDDLE=1]="MIDDLE",n[n.RIGHT=2]="RIGHT",n))(MouseButton||{}),Mode=(n=>(n.ABSOLUTE="absolute",n.FIXED="fixed",n.SORTABLE="sortable",n))(Mode||{});const SELECTED_CLASS="tmagic-stage-selected-area";var AbleActionEventType=(n=>(n.SELECT_PARENT="select-parent",n.REMOVE="remove",n.RERENDER="rerender",n))(AbleActionEventType||{}),ContainerHighlightType=(n=>(n.DEFAULT="default",n.ALT="alt",n))(ContainerHighlightType||{}),RenderType=(n=>(n.IFRAME="iframe",n.NATIVE="native",n))(RenderType||{}),SelectStatus=(n=>(n.SELECT="select",n.MULTI_SELECT="multiSelect",n))(SelectStatus||{}),StageDragStatus=(n=>(n.START="start",n.ING="ing",n.END="end",n))(StageDragStatus||{});/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function __values$1(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read$1(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,g=[],y;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)g.push(r.value)}catch(k){y={error:k}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(y)throw y.error}}return g}function __spread(){for(var n=[],e=0;e"u"},ComponentEvent=function(){function n(t,i){var r,g;if(this._canceled=!1,i)try{for(var y=__values$1(Object.keys(i)),k=y.next();!k.done;k=y.next()){var L=k.value;this[L]=i[L]}}catch(V){r={error:V}}finally{try{k&&!k.done&&(g=y.return)&&g.call(y)}finally{if(r)throw r.error}}this.eventType=t}var e=n.prototype;return e.stop=function(){this._canceled=!0},e.isCanceled=function(){return this._canceled},n}(),Component$1=function(){function n(){this._eventHandler={}}var e=n.prototype;return e.trigger=function(t){for(var i=[],r=1;r1?injectObserve(n[0],n[1]):function(t,i){return injectObserve(t,i,n[0])}}function injectReactiveSubscribe(n){n.subscribe=function(e,t){this[e],getObserver(this,e).subscribe(t)},n.unsubscribe=function(e,t){var i=this;if(!e){keys(getObservers(this)).forEach(function(r){i.unsubscribe(r)});return}e in this&&getObserver(this,e).unsubscribe(t)}}function makeReactiveObject(n,e){var t=isFunction$1(n)?n():n,i={};return defineObservers(i),keys(t).forEach(function(r){var g=t[r];isObserver(g)?setObserver(i,r,g):setObserver(i,r,observe(g)),Observe(r)(i,r)}),injectReactiveSubscribe(i),i}function reactive(n){return makeReactiveObject(n)}function partialReactive(n){return makeReactiveObject(n)}function observe(n){return new Observer(n)}function computed(n){return new ComputedObserver(n)}function defineObservers(n){var e={};return Object.defineProperty(n,OBSERVERS_PATH,{get:function(){return e}}),e}function getObservers(n,e){var t,i;n[OBSERVERS_PATH]||defineObservers(n);var r=n[OBSERVERS_PATH];{var g=(i=(t=n==null?void 0:n.constructor)===null||t===void 0?void 0:t.prototype)===null||i===void 0?void 0:i[COMPUTED_PATH];g&&g.forEach(function(y){!(y in r)&&y in n&&n[y]})}return r}function getObserver(n,e,t){var i=getObservers(n);return i[e]||(i[e]=observe(t)),i[e]}function setObserver(n,e,t){var i=getObservers(n);i[e]=t}function isObserver(n){return n&&isObject(n)&&"current"in n&&"subscribe"in n&&"unsubscribe"in n}function __spreadArray$4(n,e,t){if(t||arguments.length===2)for(var i=0,r=e.length,g;i=0:!1},n.prototype.gets=function(e,t){t===void 0&&(t=!0);var i=[],r=this;function g(y,k){var L=r.get(y);if(L)return L.forEach(function(V){var z=__spreadArray$4(__spreadArray$4([],k,!0),[V],!1),j=g(__spreadArray$4(__spreadArray$4([],y,!0),[V],!1),z);(!j||!j.length)&&i.push(__spreadArray$4(__spreadArray$4([],k,!0),[V],!1))}),L}return g(e,t?e:[]),i},n.prototype.set=function(e,t){var i=this;return e.forEach(function(r,g){i.addName(e.slice(0,g),r)}),this.orderMap[this.getFullName(e)]=t,t},n.prototype.add=function(e){var t=e.length;return t?this.addName(e.slice(0,-1),e[t-1]):[]},n.prototype.addName=function(e,t){var i=this.get(e)||this.set(e,[]);return i.indexOf(t)===-1&&i.push(t),i},n.prototype.findIndex=function(e,t){var i=this.orderMap[this.getFullName(e)];return i?i.indexOf(t):-1},n.prototype.remove=function(e){var t=this.getFullName(e),i=this.orderMap;for(var r in i)r.indexOf(t)===0&&delete i[r];var g=e.length;if(g){var y=e.slice(0,-1),k=e[g-1];this.splice(y,this.findIndex(y,k),1)}return this},n.prototype.filter=function(e,t,i){i===void 0&&(i=!0);var r=this.gets(e,i).filter(t),g=new n(this.separator),y=i?[]:e;return r.forEach(function(k){g.add(__spreadArray$4(__spreadArray$4([],y,!0),k,!0))}),g},n.prototype.splice=function(e,t,i){for(var r=[],g=3;g>>0}var stringHash=hash;function getHash(n){return stringHash(n).toString(36)}function getShadowRoot$1(n){if(n&&n.getRootNode){var e=n.getRootNode();if(e.nodeType===11)return e}}function replaceStyle(n,e,t){return t.original?e:e.replace(/([^};{\s}][^};{]*|^\s*){/mg,function(i,r){var g=r.trim();return(g?splitComma(g):[""]).map(function(y){var k=y.trim();return k.indexOf("@")===0?k:k.indexOf(":global")>-1?k.replace(/\:global/g,""):k.indexOf(":host")>-1?"".concat(k.replace(/\:host/g,".".concat(n))):k?".".concat(n," ").concat(k):".".concat(n)}).join(", ")+" {"})}function injectStyle(n,e,t,i,r){var g=getDocument(i),y=g.createElement("style");return y.setAttribute("type","text/css"),y.setAttribute("data-styled-id",n),y.setAttribute("data-styled-count","1"),t.nonce&&y.setAttribute("nonce",t.nonce),y.innerHTML=replaceStyle(n,e,t),(r||g.head||g.body).appendChild(y),y}function styled$1(n){var e="rCS"+getHash(n);return{className:e,inject:function(t,i){i===void 0&&(i={});var r=getShadowRoot$1(t),g=(r||t.ownerDocument||document).querySelector('style[data-styled-id="'.concat(e,'"]'));if(!g)g=injectStyle(e,n,i,t,r);else{var y=parseFloat(g.getAttribute("data-styled-count"))||0;g.setAttribute("data-styled-count","".concat(y+1))}return{destroy:function(){var k,L=parseFloat(g.getAttribute("data-styled-count"))||0;L<=1?(g.remove?g.remove():(k=g.parentNode)===null||k===void 0||k.removeChild(g),g=null):g.setAttribute("data-styled-count","".concat(L-1))}}}}}var extendStatics$9=function(n,e){return extendStatics$9=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$9(n,e)};function __extends$9(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$9(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$b=function(){return __assign$b=Object.assign||function(e){for(var t,i=1,r=arguments.length;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g}function __spreadArray$3(n,e,t){if(t||arguments.length===2)for(var i=0,r=e.length,g;i1/1e3;){if(r=cubic(n,e,i),g=r-t,Math.abs(g)<1/1e3)return i;i-=g/2}return i}function bezier(n,e,t,i){var r=function(g){var y=solveFromX(n,t,between(g,0,1));return cubic(e,i,y)};return r.easingName="cubic-bezier(".concat(n,",").concat(e,",").concat(t,",").concat(i,")"),r}function steps(n,e){var t=function(i){var r=1/n;return i>=1?1:(e==="start"?r:0)+Math.floor(i/r)*r};return t.easingName="steps(".concat(n,", ").concat(e,")"),t}var STEP_START=steps(1,"start"),STEP_END=steps(1,"end"),LINEAR=bezier(0,0,1,1),EASE=bezier(.25,.1,.25,1),EASE_IN=bezier(.42,0,1,1),EASE_OUT=bezier(0,0,.58,1),EASE_IN_OUT=bezier(.42,0,.58,1),_a$1,PREFIX$1="__SCENEJS_",DATA_SCENE_ID="data-scene-id",TIMING_FUNCTION="animation-timing-function",ROLES={transform:{},filter:{},attribute:{},html:!0},ALIAS={easing:[TIMING_FUNCTION]},FIXED=(_a$1={},_a$1[TIMING_FUNCTION]=!0,_a$1.contents=!0,_a$1.html=!0,_a$1),MAXIMUM=1e6,THRESHOLD=1e-6,DURATION="duration",FILL_MODE="fillMode",DIRECTION="direction",ITERATION_COUNT="iterationCount",DELAY="delay",EASING="easing",PLAY_SPEED="playSpeed",EASING_NAME="easingName",ITERATION_TIME="iterationTime",PAUSED="paused",ENDED="ended",TIMEUPDATE="timeupdate",PLAY="play",RUNNING="running",ITERATION="iteration",START_ANIMATION="startAnimation",PAUSE_ANIMATION="pauseAnimation",ALTERNATE="alternate",REVERSE="reverse",ALTERNATE_REVERSE="alternate-reverse",NORMAL="normal",INFINITE="infinite",PLAY_STATE="playState",PLAY_CSS="playCSS",PREV_TIME="prevTime",TICK_TIME="tickTime",CURRENT_TIME="currentTime",SELECTOR="selector",TRANSFORM_NAME="transform",EASINGS={linear:LINEAR,ease:EASE,"ease-in":EASE_IN,"ease-out":EASE_OUT,"ease-in-out":EASE_IN_OUT,"step-start":STEP_START,"step-end":STEP_END},NAME_SEPARATOR="_///_",OPTIONS=[DURATION,FILL_MODE,DIRECTION,ITERATION_COUNT,DELAY,EASING,PLAY_SPEED],PropertyObject=function(){function n(e,t){this.prefix="",this.suffix="",this.model="",this.type="",this.separator=",",t&&this.setOptions(t),this.value=isString$1(e)?e.split(this.separator):e}return n.prototype.setOptions=function(e){for(var t in e)this[t]=e[t];return this},n.prototype.size=function(){return this.value.length},n.prototype.get=function(e){return this.value[e]},n.prototype.set=function(e,t){return this.value[e]=t,this},n.prototype.clone=function(){var e=this,t=e.separator,i=e.prefix,r=e.suffix,g=e.model,y=e.type,k=this.value.map(function(L){return isPropertyObject(L)?L.clone():L});return new n(k,{separator:t,prefix:i,suffix:r,model:g,type:y})},n.prototype.toValue=function(){return this.prefix+this.join()+this.suffix},n.prototype.join=function(){return this.value.map(function(e){return isPropertyObject(e)?e.toValue():e}).join(this.separator)},n.prototype.forEach=function(e){return this.value.forEach(e),this},n}();function splitStyle(n){for(var e=splitText(n,";"),t={},i=e.length,r=i,g=0;g"u")return n;if(COLOR_MODELS.indexOf(t)>-1)return arrayToColorObject(stringToRGBA(n));var g=toPropertyObject(i,t),y=[i],k=",",L="".concat(t,"("),V=")".concat(r);return isPropertyObject(g)&&(k=g.separator,y=g.value,L+=g.prefix,V=g.suffix+V),new PropertyObject(y,{separator:k,model:t,prefix:L,suffix:V})}function arrayToPropertyObject(n,e){return new PropertyObject(n,{type:"array",separator:e})}function stringToColorObject(n){var e=stringToRGBA(n);return e?arrayToColorObject(e):n}function toPropertyObject(n,e){if(!isString$1(n))return isArray$1(n)?arrayToPropertyObject(n,","):n;var t=splitComma(n);return t.length>1?arrayToPropertyObject(t.map(function(i){return toPropertyObject(i)}),","):(t=splitSpace(n),t.length>1?arrayToPropertyObject(t.map(function(i){return toPropertyObject(i)})," "):(t=/^(['"])([^'"]*)(['"])$/g.exec(n),t&&t[1]===t[3]?new PropertyObject([toPropertyObject(t[2])],{prefix:t[1],suffix:t[1]}):n.indexOf("(")!==-1?stringToBracketObject(n):n.charAt(0)==="#"&&e!=="url"?stringToColorObject(n):n))}function toObject(n,e){e===void 0&&(e={});var t=n.model;if(t){n.setOptions({model:"",suffix:"",prefix:""});var i=n.size()>1?n:n.get(0);e[t]=i}else n.forEach(function(r){toObject(r,e)});return e}function getType(n){var e=typeof n;if(e===OBJECT){if(isArray$1(n))return ARRAY;if(isPropertyObject(n))return PROPERTY}else if(e===STRING||e===NUMBER)return"value";return e}function isPureObject(n){return isObject$1(n)&&n.constructor===Object}function getNames(n,e){var t=[];if(isPureObject(n))for(var i in n)e.push(i),t=t.concat(getNames(n[i],e)),e.pop();else t.push(e.slice());return t}function updateFrame(n,e){for(var t in e){var i=e[t];if(!isPureObject(i)){n[t]=!0;continue}isObject$1(n[t])||(n[t]={}),updateFrame(n[t],e[t])}return n}function toFixed(n){return Math.round(n*MAXIMUM)/MAXIMUM}function getValueByNames(n,e,t){t===void 0&&(t=n.length);for(var i=e,r=0;r=0}function GetterSetter(n,e,t){return function(i){var r=i.prototype;n.forEach(function(g){r[camelize("get ".concat(g))]=function(){return this[t][g]}}),e.forEach(function(g){r[camelize("set ".concat(g))]=function(y){return this[t][g]=y,this}})}}function isDirectionReverse(n,e,t){return t===REVERSE?!0:e!==INFINITE&&n===e&&e%1===0?t===(n%2>=1?ALTERNATE_REVERSE:ALTERNATE):t===(n%2>=1?ALTERNATE:ALTERNATE_REVERSE)}var ANIMATOR_SETTERS=["id",ITERATION_COUNT,DELAY,FILL_MODE,DIRECTION,PLAY_SPEED,DURATION,PLAY_SPEED,ITERATION_TIME,PLAY_STATE],ANIMATOR_GETTERS=__spreadArray$3(__spreadArray$3([],ANIMATOR_SETTERS,!0),[EASING,EASING_NAME],!1),Animator=function(n){__extends$9(e,n);function e(t){var i=n.call(this)||this;return i.timerId=0,i.state=reactive({id:"",easing:0,easingName:"linear",iterationCount:1,delay:0,fillMode:"forwards",direction:NORMAL,playSpeed:1,currentTime:0,iterationTime:-1,iteration:0,tickTime:0,prevTime:0,playState:PAUSED,duration:0}),i.setOptions(t),i}return e.prototype.setEasing=function(t){var i=getEasing(t),r=i&&i[EASING_NAME]||"linear",g=this.state;return g[EASING]=i,g[EASING_NAME]=r,this},e.prototype.setOptions=function(t){t===void 0&&(t={});for(var i in t){var r=t[i];if(i===EASING){this.setEasing(r);continue}else if(i===DURATION){r&&this.setDuration(r);continue}OPTIONS.indexOf(i)>-1&&(this.state[i]=r)}return this},e.prototype.getTotalDuration=function(){return this.getActiveDuration(!0)},e.prototype.getActiveDuration=function(t){var i=this.state,r=i[ITERATION_COUNT];return r===INFINITE?1/0:(t?i[DELAY]:0)+this.getDuration()*r},e.prototype.isEnded=function(){return this.state[TICK_TIME]===0&&this.state[PLAY_STATE]===PAUSED?!0:!(this.getTime()=t?(this.trigger(PLAY),!0):!1},e.prototype.play=function(t){var i=this,r=this.state,g=r[DELAY],y=this.getTime();return r[PLAY_STATE]=RUNNING,this.isEnded()&&(y===0||y>=this.getActiveDuration())&&this.setTime(-g,!0),this.timerId=requestAnimationFrame$1(function(k){r[PREV_TIME]=k,i.tick(k,t)}),this.start(),this},e.prototype.pause=function(){var t=this.state;return t[PLAY_STATE]!==PAUSED&&(t[PLAY_STATE]=PAUSED,this.trigger(PAUSED)),cancelAnimationFrame(this.timerId),this},e.prototype.finish=function(){return this.setTime(0),this.state[TICK_TIME]=0,this.end(),this},e.prototype.end=function(){return this.pause(),this.trigger(ENDED),this},e.prototype.setTime=function(t,i,r,g){var y=this.getActiveDuration(),k=this.state,L=k[TICK_TIME],V=k[DELAY],z=i?t:this.getUnitTime(t);k[TICK_TIME]=V+z,z<0?z=0:z>y&&(z=y),k[CURRENT_TIME]=z,this.calculate();var j=i&&!r,ie=k[TICK_TIME],oe=isString$1(t)?parseFloat(t):t;return j&&L=0&&this.start(0),g==null||g(),j&&(ie"?y+THRESHOLD:y}else return toFixed(t)},e.prototype.isDelay=function(){var t=this.state,i=t[DELAY],r=t[TICK_TIME];return i>0&&r=i&&(V=y*(ie?i%1||1:0),z&&(V=y-V))}return this.setIterationTime(V),this},e.prototype.tick=function(t,i){var r=this;if(!this.isPaused()){var g=this.state,y=g[PLAY_SPEED],k=g[PREV_TIME],L=g[DELAY],V=g[TICK_TIME],z=V+Math.min(1e3,t-k)/1e3*y;g[PREV_TIME]=t,i&&i>=z?(this.setTime(i-L,!0),this.pause()):this.setTime(z-L,!0),g[PLAY_STATE]!==PAUSED&&(this.timerId=requestAnimationFrame$1(function(j){r.tick(j,i)}))}},e=__decorate$3([GetterSetter(ANIMATOR_GETTERS,ANIMATOR_SETTERS,"state")],e),e}(EventEmitter$2);function toInnerProperties(n,e){if(e===void 0&&(e=[]),!n)return"";var t=[],i=getKeys(n);return sortOrders(i,e),i.forEach(function(r){t.push("".concat(r.replace(/\d$/g,""),"(").concat(n[r],")"))}),t.join(" ")}function clone(n,e){return e===void 0&&(e=!1),merge({},n,e)}function merge(n,e,t){t===void 0&&(t=!1);for(var i in e){var r=e[i],g=getType(r);g===PROPERTY?n[i]=t?r.toValue():r.clone():g===FUNCTION?n[i]=t?getValue([i],r):r:g===ARRAY?n[i]=r.slice():g===OBJECT?isObject$1(n[i])&&!isPropertyObject(n[i])?merge(n[i],r,t):n[i]=clone(r,t):n[i]=e[i]}return n}function getPropertyName(n){return n[0]in ALIAS?ALIAS[n[0]]:n}function getValue(n,e){var t=getType(e);if(t===PROPERTY)return e.toValue();if(t===FUNCTION){if(n[0]!==TIMING_FUNCTION)return getValue(n,e())}else if(t===OBJECT)return clone(e,!0);return e}var Frame=function(n){__extends$9(e,n);function e(t){t===void 0&&(t={});var i=n.call(this)||this;return i.properties={},i.orderMap=new OrderMap(NAME_SEPARATOR),i.properties={},i.set(t),i}return e.prototype.get=function(){for(var t=[],i=0;i=r?g:dot(g,e[y],t,i)})}function dotColor(n,e,t,i){var r=n.value,g=e.value,y=n.model,k=e.model;if(y!==k)return dot(n.toValue(),e.toValue(),t,i);r.length===3&&(r[3]=1),g.length===3&&(g[3]=1);for(var L=dotArray(r,g,t,i),V=y,z=0;z<3;++z)L[z]=parseInt(L[z],10);var j=new PropertyObject(L,{type:"color",model:V,prefix:"".concat(V,"("),suffix:")"});return j}function dotObject(n,e,t,i){var r=n.type;if(r==="color")return dotColor(n,e,t,i);var g=n.value,y=e.value,k=dotArray(g,y,t,i);return new PropertyObject(k,{type:r,separator:n.separator||e.separator,prefix:n.prefix||e.prefix,suffix:n.suffix||e.suffix,model:n.model||e.model})}function dot(n,e,t,i){if(i===0)return e;if(t===0||t+i===0)return n;var r=getType(n),g=getType(e),y=r===FUNCTION,k=g===FUNCTION;if(y||k)return function(){return dot(y?toPropertyObject(n()):n,k?toPropertyObject(e()):e,t,i)};if(r===g){if(r===PROPERTY)return dotObject(n,e,t,i);if(r===ARRAY)return dotArray(n,e,t,i);if(r!=="value")return n}else return n;var L=splitUnit("".concat(n)),V=splitUnit("".concat(e)),z;if(isNaN(L.value)||isNaN(V.value))return n;z=dot$1(L.value,V.value,t,i);var j=L.prefix||V.prefix,ie=L.unit||V.unit;return!j&&!ie?z:j+z+ie}function dotValue(n,e,t,i,r,g){if(n===e)return i;if(n===t)return r;if(!g)return dot(i,r,n-e,t-n);var y=g((n-e)/(t-e)),k=dot(i,r,y,1-y);return k}function getNearTimeIndex(n,e){for(var t=n.length,i=0;ie)return[i>0?i-1:0,i]}return[t-1,t-1]}function makeAnimationProperties(n){var e=[];for(var t in n)e.push("".concat(ANIMATION,"-").concat(decamelize(t),":").concat(n[t],";"));return e.join("")}function addTime(n,e){for(var t=n.length,i=0;iie){if(ae!==0){var pe=z*oe+(re?z-he[0]:he[0]),Ce=dot$1(he[1],de,ie-pe,ue-ie);addEntry(i,(y+z*g)/k,Ce)}break}else if(ue===ie&&i.length&&i[i.length-1][0]===ie+y)break;addEntry(i,(y+ue)/k,de)}y&&i.unshift([0,i[0][1]]),t=i,i=[]}),t}var SceneItem=function(n){__extends$9(e,n);function e(t,i){var r=n.call(this)||this;return r.times=[],r.items={},r.nameMap=new OrderMap(NAME_SEPARATOR),r.elements=[],r.needUpdate=!0,r.registeredElement=!1,r.load(t,i),r}return e.prototype.getDuration=function(){var t=this.times,i=t.length;return(i===0?0:t[i-1])||this.state[DURATION]},e.prototype.size=function(){return this.times.length},e.prototype.setDuration=function(t){if(!t)return this;var i=this.getDuration();if(i>0){var r=t/i,g=this,y=g.times,k=g.items,L={};this.times=y.map(function(V){var z=toFixed(V*r);return L[z]=k[V],z}),this.items=L}else this.newFrame(t);return this},e.prototype.setId=function(t){var i=this.state,r=this.elements,g=r.length;if(i.id=t||makeId(!!g),g&&!i[SELECTOR]){var y=toId(this.getId());i[SELECTOR]="[".concat(DATA_SCENE_ID,'="').concat(y,'"]'),r.forEach(function(k){k.setAttribute(DATA_SCENE_ID,y)})}return this},e.prototype.set=function(t){for(var i=this,r=[],g=1;g-1;for(var ue in re){var he=de?ae-parseFloat(ue):parseFloat(ue);i.set(ie+he,re[ue])}}else if(r.length===1&&isArray$1(z))z.forEach(function(Ce){i.set(ie,Ce)});else{var pe=i.newFrame(ie);pe.set.apply(pe,r)}})}return this.needUpdate=!0,this},e.prototype.get=function(t){for(var i=[],r=1;r-1&&this.times.splice(g,1),this.needUpdate=!0,this},e.prototype.hasFrame=function(t){return this.getUnitTime(t)in this.items},e.prototype.hasName=function(t){return this.needUpdate&&this.update(),!!this.nameMap.hasName(t)},e.prototype.mergeFrame=function(t,i){if(i){var r=this.newFrame(t);r.merge(i)}return this},e.prototype.getNowFrame=function(t,i,r){var g=this;this.needUpdate&&this.update();var y=new Frame,k=getNearTimeIndex(this.times,t),L=k[0],V=k[1],z=this.getEasing()||i,j=this.nameMap;if(this.hasName([TIMING_FUNCTION])){var ie=this.getNowValue(t,[TIMING_FUNCTION],L,V,!1,0,!0);isFunction$2(ie)&&(z=ie)}if(r){var oe=this.getFrame(t),re=oe.orderMap.filter([],function(ue){return oe.has.apply(oe,ue)});for(var ae in ROLES){var le=j.get([ae]);re.get([ae])&&le&&re.set([ae],le)}j=re}var de=j.gets([]);return y.setOrderObject(j.orderMap),de.forEach(function(ue){var he=g.getNowValue(t,ue,L,V,r,z,isFixed$1(ue));isUndefined$2(he)||y.set(ue,he)}),y},e.prototype.getCurrentFrame=function(t,i){var r=this.getIterationTime(),g=t||this.needUpdate||!this.temp?this.getComputedFrame(r,i):this.temp;return this.temp=g,g},e.prototype.getComputedFrame=function(t,i,r){return this.getNowFrame(t,i,r)},e.prototype.load=function(t,i){var r;if(t===void 0&&(t={}),i===void 0&&(i=t.options),i&&this.setOptions(i),isArray$1(t))this.set(t);else if(t.keyframes)this.set(t.keyframes);else for(var g in t)g!=="options"&&this.set((r={},r[g]=t[g],r));return i&&i[DURATION]&&this.setDuration(i[DURATION]),this},e.prototype.clone=function(){var t=new e;return t.setOptions(this.state),t.setOrderObject(this.nameMap.orderMap),this.forEach(function(i,r){t.setFrame(r,i.clone())}),t},e.prototype.forEach=function(t){var i=this.times,r=this.items;return i.forEach(function(g){t(r[g],g,r)}),this},e.prototype.setOptions=function(t){t===void 0&&(t={}),n.prototype.setOptions.call(this,t);var i=t.id,r=t.selector,g=t.elements,y=t.element,k=t.target;return i&&this.setId(i),k?this.setTarget(k):r&&!this.state.noRegisterElement?this.setSelector(r):(g||y)&&this.setElement(g||y),this},e.prototype.toCSS=function(t,i,r){t===void 0&&(t={className:START_ANIMATION}),i===void 0&&(i=this.getDuration()),r===void 0&&(r=[]);var g=this.state,y=g[SELECTOR];if(!y)return"";var k=this.getDuration();g[DURATION]=k,r.push(g);var L=toArray(r).reverse(),V=toId(getRealId(this)),z=r[0],j=findIndex(L,function(Ie){return Ie[ITERATION_COUNT]===INFINITE||!isFinite(Ie[DURATION])},r.length-1),ie=L.slice(0,j),oe=i||ie.reduce(function(Ie,Ne){return(Ne[DELAY]+Ie*Ne[ITERATION_COUNT])/Ne[PLAY_SPEED]},k),re=L.slice(j).reduce(function(Ie,Ne){return(Ie+Ne[DELAY])/Ne[PLAY_SPEED]},0),ae=find$1(L,function(Ie){return Ie[EASING]&&Ie[EASING_NAME]},g)[EASING_NAME],le=L[j][ITERATION_COUNT],de=z[FILL_MODE],ue=L[j][DIRECTION],he=makeAnimationProperties({fillMode:de,direction:ue,iterationCount:le,delay:"".concat(re,"s"),name:"".concat(PREFIX$1,"KEYFRAMES_").concat(V),duration:"".concat(oe/z[PLAY_SPEED],"s"),timingFunction:ae}),pe=splitComma(y).map(function(Ie){var Ne=/([\s\S]+)(:+[a-zA-Z]+)$/g.exec(Ie);return Ne?[Ne[1],Ne[2]]:[Ie,""]}),Ce=t.className,$e=t.selector,xe=isFunction$2($e)?$e(this,y):$e;return"\n ".concat(xe||pe.map(function(Ie){var Ne=Ie[0],Fe=Ie[1];return"".concat(Ne,".").concat(Ce).concat(Fe)})," {").concat(he,"}\n ").concat(pe.map(function(Ie){var Ne=Ie[0],Fe=Ie[1];return"".concat(Ne,".").concat(PAUSE_ANIMATION).concat(Fe)})," {").concat(ANIMATION,"-play-state: paused;}\n @").concat(KEYFRAMES," ").concat(PREFIX$1,"KEYFRAMES_").concat(V,"{").concat(this._toKeyframes(oe,ie,ue),"}")},e.prototype.exportCSS=function(t,i,r){if(!this.elements.length)return"";var g=this.toCSS(t,i,r),y=r&&!isUndefined$2(r[ITERATION_COUNT]);return y||(this.styledInjector&&(this.styledInjector.destroy(),this.styledInjector=null),this.styled=styled$1(g),this.styledInjector=this.styled.inject(this.getAnimationElement(),{original:!0})),this},e.prototype.pause=function(){return n.prototype.pause.call(this),isPausedCSS(this)&&this.pauseCSS(),this},e.prototype.pauseCSS=function(){return this.elements.forEach(function(t){addClass$1(t,PAUSE_ANIMATION)}),this},e.prototype.endCSS=function(){return this.elements.forEach(function(t){removeClass$1(t,PAUSE_ANIMATION),removeClass$1(t,START_ANIMATION)}),setPlayCSS(this,!1),this},e.prototype.end=function(){return isEndedCSS(this)&&this.endCSS(),n.prototype.end.call(this),this},e.prototype.playCSS=function(t,i,r){return t===void 0&&(t=!0),r===void 0&&(r={}),playCSS(this,t,i,r),this},e.prototype.getAnimationElement=function(){return this.elements[0]},e.prototype.addPlayClass=function(t,i,r){r===void 0&&(r={});var g=this.elements,y=g.length,k=makeAnimationProperties(r);if(y)return t?g.forEach(function(L){removeClass$1(L,PAUSE_ANIMATION)}):(g.forEach(function(L){L.style.cssText+=k,hasClass$1(L,START_ANIMATION)&&removeClass$1(L,START_ANIMATION)}),g.forEach(function(L){L.clientWidth}),g.forEach(function(L){addClass$1(L,START_ANIMATION)})),g[0]},e.prototype.clear=function(){return this.times=[],this.items={},this.nameMap=new OrderMap(NAME_SEPARATOR),this.styledInjector&&this.styledInjector.destroy(),this.styled=null,this.styledInjector=null,this.temp=null,this.needUpdate=!0,this},e.prototype.getNowValue=function(t,i,r,g,y,k,L){var V=this.times,z=V.length,j,ie,oe,re,ae=isUndefined$2(r),le=isUndefined$2(g);if(ae||le){var de=getNearTimeIndex(V,t);ae&&(r=de[0]),le&&(g=de[1])}for(var ue=r;ue>=0;--ue){var he=this.getFrame(V[ue]);if(he.has.apply(he,i)){j=V[ue],oe=he;break}}var pe=oe&&oe.raw.apply(oe,i);if(y&&!isRole([i[0]]))return j===t?pe:void 0;if(L)return pe;for(var ue=g;ue{let t=n.parentElement;const i=[];for(;t&&t!==e;)i.push(t),t=t.parentElement;return i},getOffset$1=n=>{const e=n,{offsetParent:t}=e,i=e.offsetLeft||0,r=e.offsetTop||0;if(t){const g=getOffset$1(t);return{left:i+g.left,top:r+g.top}}return{left:i,top:r}},getTargetElStyle=(n,e)=>{const t=getOffset$1(n),{transform:i,border:r}=getComputedStyle(n);return"\n position: absolute;\n transform: ".concat(i,";\n left: ").concat(t.left,"px;\n top: ").concat(t.top,"px;\n width: ").concat(n.clientWidth,"px;\n height: ").concat(n.clientHeight,"px;\n border: ").concat(r,";\n opacity: 0;\n ").concat(typeof e<"u"?"z-index: ".concat(e,";"):"","\n ")},getAbsolutePosition$1=(n,{top:e,left:t})=>{const{offsetParent:i}=n;if(i){const r=getOffset$1(i);return{left:t-r.left,top:e-r.top}}return{left:t,top:e}},isAbsolute=n=>n.position==="absolute",isRelative=n=>n.position==="relative",isStatic=n=>n.position==="static",isFixed=n=>n.position==="fixed",isFixedParent=n=>{let e=!1,t=n;for(;t&&(e=isFixed(getComputedStyle(t)),!e);){const{parentElement:i}=t;if(!i||i.tagName==="BODY")break;t=i}return e},getMode=n=>{if(isFixedParent(n))return Mode.FIXED;const e=getComputedStyle(n);return isStatic(e)||isRelative(e)?Mode.SORTABLE:Mode.ABSOLUTE},getScrollParent=(n,e=!1)=>{let t=getComputedStyle(n);const i=e?/(auto|scroll|hidden)/:/(auto|scroll)/;if(isFixed(t))return null;for(let r=n;r.parentElement;){if(r=r.parentElement,r.tagName==="HTML")return r;if(t=getComputedStyle(r),!(isAbsolute(t)&&isStatic(t))&&i.test(t.overflow+t.overflowY+t.overflowX))return r}return null},removeSelectedClassName=n=>{const e=n.querySelector(".".concat(SELECTED_CLASS));e&&(removeClassName(e,SELECTED_CLASS),e.parentNode&&removeClassName(e.parentNode,"".concat(SELECTED_CLASS,"-parent")),n.querySelectorAll(".".concat(SELECTED_CLASS,"-parents")).forEach(t=>{removeClassName(t,"".concat(SELECTED_CLASS,"-parents"))}))},addSelectedClassName=(n,e)=>{var t;n.classList.add(SELECTED_CLASS),(t=n.parentNode)==null||t.classList.add("".concat(SELECTED_CLASS,"-parent")),getParents(n,e.body).forEach(i=>{i.classList.add("".concat(SELECTED_CLASS,"-parents"))})},down=(n,e)=>{var L,V;let t=0,i=e.clientHeight;const r=Array.from(((L=e.parentNode)==null?void 0:L.children)||[]).filter(z=>{var j;return!((j=getIdFromEl()(z))!=null&&j.startsWith(GHOST_EL_ID_PREFIX))}),g=r.indexOf(e),y=r.slice(g+1);for(let z=0;z-1?getIdFromEl()(y[t])||"":k}},up=(n,e)=>{var L;const t=Array.from(((L=e.parentNode)==null?void 0:L.children)||[]).filter(V=>{var z;return!((z=getIdFromEl()(V))!=null&&z.startsWith(GHOST_EL_ID_PREFIX))}),i=t.indexOf(e),r=t.slice(0,i);let g=e.clientHeight,y=r.length-1;for(let V=r.length-1;V>=0;V--){const z=r[V];if(z&&z.style.position!=="fixed"){if(g+=z.clientHeight/2,-n<=g)break;g+=z.clientHeight/2,y=V}}const k=getIdFromEl()(e)||"";return{src:k,dist:r.length&&y>-1?getIdFromEl()(r[y])||"":k}},isMoveableButton=n=>{var e;return n.classList.contains("moveable-button")||((e=n.parentElement)==null?void 0:e.classList.contains("moveable-button"))},getMarginValue=n=>{if(!n)return{marginLeft:0,marginTop:0};const{marginLeft:e,marginTop:t}=getComputedStyle(n),i=parseFloat(e)||0,r=parseFloat(t)||0;return{marginLeft:i,marginTop:r}},getBorderWidth=n=>{if(!n)return{borderLeftWidth:0,borderRightWidth:0,borderTopWidth:0,borderBottomWidth:0};const{borderLeftWidth:e,borderRightWidth:t,borderTopWidth:i,borderBottomWidth:r}=getComputedStyle(n);return{borderLeftWidth:parseFloat(e)||0,borderRightWidth:parseFloat(t)||0,borderTopWidth:parseFloat(i)||0,borderBottomWidth:parseFloat(r)||0}};class TargetShadow{constructor(e){Ni(this,"el");Ni(this,"els",[]);Ni(this,"idPrefix","target_calibrate_".concat(guid()));Ni(this,"container");Ni(this,"scrollLeft",0);Ni(this,"scrollTop",0);Ni(this,"zIndex");Ni(this,"updateDragEl");Ni(this,"scrollHandler",e=>{this.scrollLeft=e.detail.scrollLeft,this.scrollTop=e.detail.scrollTop});this.container=e.container,e.updateDragEl&&(this.updateDragEl=e.updateDragEl),typeof e.zIndex<"u"&&(this.zIndex=e.zIndex),e.idPrefix&&(this.idPrefix="".concat(e.idPrefix,"_").concat(guid())),this.container.addEventListener("customScroll",this.scrollHandler)}update(e){return this.el=this.updateEl(e,this.el),this.el}updateGroup(e){return this.els.length>e.length&&this.els.slice(e.length-1).forEach(t=>{t.remove()}),this.els=e.map((t,i)=>this.updateEl(t,this.els[i])),this.els}destroyEl(){var e;(e=this.el)==null||e.remove(),this.el=void 0}destroyEls(){this.els.forEach(e=>{e.remove()}),this.els=[]}destroy(){this.container.removeEventListener("customScroll",this.scrollHandler),this.destroyEl(),this.destroyEls()}updateEl(e,t){const i=t||globalThis.document.createElement("div");setIdToEl()(i,"".concat(this.idPrefix,"_").concat(getIdFromEl()(e))),i.style.cssText=getTargetElStyle(e,this.zIndex),typeof this.updateDragEl=="function"&&this.updateDragEl(i,e,this.container);const r=isFixedParent(e),g=this.container.dataset.mode||Mode.ABSOLUTE;return r&&g!==Mode.FIXED?i.style.transform="translate3d(".concat(this.scrollLeft,"px, ").concat(this.scrollTop,"px, 0)"):!r&&g===Mode.FIXED&&(i.style.transform="translate3d(".concat(-this.scrollLeft,"px, ").concat(-this.scrollTop,"px, 0)")),getElById()(globalThis.document,getIdFromEl()(i))||this.container.append(i),i}}class DragResizeHelper{constructor(e){Ni(this,"targetShadow");Ni(this,"target",null);Ni(this,"targetList",[]);Ni(this,"moveableHelper");Ni(this,"ghostEl");Ni(this,"frameSnapShot",{left:0,top:0});Ni(this,"framesSnapShot",[]);Ni(this,"mode",Mode.ABSOLUTE);this.moveableHelper=MoveableHelper.create({useBeforeRender:!0,useRender:!1,createAuto:!0}),this.targetShadow=new TargetShadow({container:e.container,updateDragEl:e.updateDragEl,zIndex:ZIndex.DRAG_EL,idPrefix:DRAG_EL_ID_PREFIX})}destroy(){this.target=null,this.targetList=[],this.targetShadow.destroy(),this.destroyGhostEl(),this.moveableHelper.clear()}destroyShadowEl(){this.targetShadow.destroyEl()}getShadowEl(){return this.targetShadow.el}updateShadowEl(e){this.destroyGhostEl(),this.target=e,this.targetShadow.update(e)}setMode(e){this.mode=e}onResizeStart(e){this.moveableHelper.onResizeStart(e),this.frameSnapShot.top=this.target.offsetTop,this.frameSnapShot.left=this.target.offsetLeft}onResize(e){const{width:t,height:i,drag:r}=e,{beforeTranslate:g}=r;if(this.mode===Mode.SORTABLE)this.target.style.top="0px",this.targetShadow.el&&(this.targetShadow.el.style.width="".concat(t,"px"),this.targetShadow.el.style.height="".concat(i,"px"));else{this.moveableHelper.onResize(e);const{marginLeft:z,marginTop:j}=getMarginValue(this.target);this.target.style.left="".concat(this.frameSnapShot.left+g[0]-z,"px"),this.target.style.top="".concat(this.frameSnapShot.top+g[1]-j,"px")}const{borderLeftWidth:y,borderRightWidth:k,borderTopWidth:L,borderBottomWidth:V}=getBorderWidth(this.target);this.target.style.width="".concat(t+y+k,"px"),this.target.style.height="".concat(i+L+V,"px")}onDragStart(e){this.moveableHelper.onDragStart(e),this.mode===Mode.SORTABLE&&(this.ghostEl=this.generateGhostEl(this.target)),this.frameSnapShot.top=this.target.offsetTop,this.frameSnapShot.left=this.target.offsetLeft}onDrag(e){if(this.ghostEl){this.ghostEl.style.top="".concat(this.frameSnapShot.top+e.beforeTranslate[1],"px");return}this.moveableHelper.onDrag(e);const{marginLeft:t,marginTop:i}=getMarginValue(this.target);this.target.style.left="".concat(this.frameSnapShot.left+e.beforeTranslate[0]-t,"px"),this.target.style.top="".concat(this.frameSnapShot.top+e.beforeTranslate[1]-i,"px")}onRotateStart(e){this.moveableHelper.onRotateStart(e)}onRotate(e){this.moveableHelper.onRotate(e);const t=this.moveableHelper.getFrame(e.target);this.target.style.transform=(t==null?void 0:t.toCSSObject().transform)||""}onScaleStart(e){this.moveableHelper.onScaleStart(e)}onScale(e){this.moveableHelper.onScale(e);const t=this.moveableHelper.getFrame(e.target);this.target.style.transform=(t==null?void 0:t.toCSSObject().transform)||""}getGhostEl(){return this.ghostEl}destroyGhostEl(){var e;(e=this.ghostEl)==null||e.remove(),this.ghostEl=void 0}clear(){this.moveableHelper.clear()}getFrame(e){return this.moveableHelper.getFrame(e)}getShadowEls(){return this.targetShadow.els}updateGroup(e){this.targetList=e,this.framesSnapShot=[],this.targetShadow.updateGroup(e)}setTargetList(e){this.targetList=e}clearMultiSelectStatus(){this.targetList=[],this.targetShadow.destroyEls()}onResizeGroupStart(e){const{events:t}=e;this.moveableHelper.onResizeGroupStart(e),this.setFramesSnapShot(t)}onResizeGroup(e){const{events:t}=e;this.moveableHelper.onResizeGroup(e),t.forEach(i=>{const{width:r,height:g,beforeTranslate:y}=i.drag,k=this.framesSnapShot.find(z=>{var j;return z.id===((j=getIdFromEl()(i.target))==null?void 0:j.replace(DRAG_EL_ID_PREFIX,""))});if(!k)return;const L=this.targetList.find(z=>{var j;return getIdFromEl()(z)===((j=getIdFromEl()(i.target))==null?void 0:j.replace(DRAG_EL_ID_PREFIX,""))});if(!L)return;if(!this.targetList.find(z=>getIdFromEl()(z)===getIdFromEl()(L.parentElement))){const{marginLeft:z,marginTop:j}=getMarginValue(L);L.style.left="".concat(k.left+y[0]-z,"px"),L.style.top="".concat(k.top+y[1]-j,"px")}L.style.width="".concat(r,"px"),L.style.height="".concat(g,"px")})}onDragGroupStart(e){this.moveableHelper.onDragGroupStart(e);const{events:t}=e;this.setFramesSnapShot(t)}onDragGroup(e){this.moveableHelper.onDragGroup(e);const{events:t}=e;t.forEach(i=>{const r=this.framesSnapShot.find(L=>{var V,z;return((V=getIdFromEl()(i.target))==null?void 0:V.startsWith(DRAG_EL_ID_PREFIX))&&((z=getIdFromEl()(i.target))==null?void 0:z.endsWith(L.id))});if(!r)return;const g=L=>{const V=getIdFromEl(),z=V(i.target),j=V(L);return(z==null?void 0:z.startsWith(DRAG_EL_ID_PREFIX))&&j&&(z==null?void 0:z.endsWith(j))},y=this.targetList.find(g);if(!y)return;if(!this.targetList.find(L=>getIdFromEl()(L)===getIdFromEl()(y.parentElement))){const{marginLeft:L,marginTop:V}=getMarginValue(y);y.style.left="".concat(r.left+i.beforeTranslate[0]-L,"px"),y.style.top="".concat(r.top+i.beforeTranslate[1]-V,"px")}})}getUpdatedElRect(e,t,i){const r=this.mode===Mode.SORTABLE?{left:0,top:0}:{left:e.offsetLeft,top:e.offsetTop},{marginLeft:g,marginTop:y}=getMarginValue(e);let k=calcValueByFontsize(i,r.left)-g,L=calcValueByFontsize(i,r.top)-y;const{borderLeftWidth:V,borderRightWidth:z,borderTopWidth:j,borderBottomWidth:ie}=getBorderWidth(e),oe=calcValueByFontsize(i,e.clientWidth+V+z),re=calcValueByFontsize(i,e.clientHeight+j+ie);let ae=this.getShadowEl();const le=this.getShadowEls();if(le.length&&(ae=le.find(de=>{var ue;return(ue=getIdFromEl()(de))==null?void 0:ue.endsWith(getIdFromEl()(e)||"")})),t&&this.mode===Mode.ABSOLUTE&&ae){const de=ae,ue=de.offsetLeft||0,he=de.offsetTop||0,pe=this.getFrame(ae),[Ce,$e]=pe==null?void 0:pe.properties.transform.translate.value,{left:xe,top:Ie}=getOffset$1(t);k=calcValueByFontsize(i,ue)+parseFloat(Ce)-calcValueByFontsize(i,xe),L=calcValueByFontsize(i,he)+parseFloat($e)-calcValueByFontsize(i,Ie)}return{width:oe,height:re,left:k,top:L}}setFramesSnapShot(e){this.framesSnapShot.length>0||e.forEach(t=>{const i=this.targetList.find(g=>{var y,k;return((y=getIdFromEl()(t.target))==null?void 0:y.startsWith(DRAG_EL_ID_PREFIX))&&((k=getIdFromEl()(t.target))==null?void 0:k.endsWith(getIdFromEl()(g)||""))});if(!i)return;const r=getIdFromEl()(i);r&&this.framesSnapShot.push({left:i.offsetLeft,top:i.offsetTop,id:r})})}generateGhostEl(e){this.ghostEl&&this.destroyGhostEl();const t=document.createElement("div"),{top:i,left:r}=getAbsolutePosition$1(e,getOffset$1(e));return setIdToEl()(t,"".concat(GHOST_EL_ID_PREFIX).concat(getIdFromEl()(e))),t.style.cssText="\n z-index: ".concat(ZIndex.GHOST_EL,";\n opacity: .6;\n position: absolute;\n left: ").concat(r,"px;\n top: ").concat(i,"px;\n margin: 0;\n background: blue;\n width: ").concat(e.clientWidth,"px;\n height: ").concat(e.clientHeight,"px;\n "),e.after(t),t}}function prefixNames(n){for(var e=[],t=1;t"u"?(++de,y.push(he)):re[pe]=de}),V.forEach(function(ue,he){var pe=z.get(ue);typeof pe>"u"?(g.push(he),++le):(k.push([pe,he]),de=re[he]||0,ie.push([pe-de,he-le]),oe.push(he===pe),pe!==he&&ae.push([pe,he]))}),y.reverse(),new Result(n,e,g,y,ae,k,ie,oe)}var ListDiffer=function(){function n(t,i){t===void 0&&(t=[]),this.findKeyCallback=i,this.list=[].slice.call(t)}var e=n.prototype;return e.update=function(t){var i=[].slice.call(t),r=diff$1(this.list,i,this.findKeyCallback);return this.list=i,r},n}(),extendStatics$8=function(n,e){return extendStatics$8=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$8(n,e)};function __extends$8(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$8(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$9=function(){return __assign$9=Object.assign||function(e){for(var t,i=1,r=arguments.length;iL&&re.push(ae),re},[]);return ie.forEach(function(re){renderProviders(re,re._ps,[re.o],t,i,!0)}),!1}k.o=r,k.ss(g);var oe=k.ps;return isString$1(r)||(k.ps=r.props,k.ref=r.ref),setCurrentInstance(this),k.r(t,i,k.b?oe:{},g),!0},e.md=function(){this.rr()},e.ss=function(){},e.ud=function(){this.rr()},e.rr=function(){var t=this,i=t.ref,r=t.fr;i&&i(r?r.current:t.b)},n}();function getCurrentInstance(){return Object.__CROACT_CURRENT_INSTNACE__}function getHooksIndex(){return hooksIndex}function setHooksInex(n){hooksIndex=n}function setCurrentInstance(n){return Object.__CROACT_CURRENT_INSTNACE__=n,hooksIndex=0,n}var Component=function(){function n(t,i){t===void 0&&(t={}),this.props=t,this.context=i,this.state={},this.$_timer=0,this.$_state={},this.$_subs=[],this.$_cs={}}var e=n.prototype;return e.render=function(){return null},e.shouldComponentUpdate=function(t,i){return this.props!==t||this.state!==i},e.setState=function(t,i,r){var g=this;g.$_timer||(g.$_state={}),clearTimeout(g.$_timer),g.$_timer=0,g.$_state=__assign$9(__assign$9({},g.$_state),t),r?g.$_setState(i,r):g.$_timer=window.setTimeout(function(){g.$_timer=0,g.$_setState(i,r)})},e.forceUpdate=function(t){this.setState({},t,!0)},e.componentDidMount=function(){},e.componentDidUpdate=function(t,i){},e.componentWillUnmount=function(){},e.$_setState=function(t,i){var r=[],g=this.$_p,y=renderProviders(g.c,[g],[g.o],r,g._cs,__assign$9(__assign$9({},this.state),this.$_state),i);y&&(t&&r.push(t),executeHooks(r),setCurrentInstance(null))},n}(),PureComponent=function(n){__extends$8(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}var t=e.prototype;return t.shouldComponentUpdate=function(i,r){return isDiff(this.props,i)||isDiff(this.state,r)},e}(Component);function createRef(n){var e=function(t){e.current=t};return e.current=n,e}function forwardRef(n){return n._fr=!0,n}function createComponent(n,e,t,i){var r,g;return!((r=n==null?void 0:n.prototype)===null||r===void 0)&&r.render?g=new n(e,t):(g=new Component(e,t),g.constructor=n,n._fr?(i.fr=createRef(),g.render=function(){return this.constructor(this.props,i.fr)}):g.render=renderFunctionComponent),g.$_p=i,g}var ComponentProvider=function(n){__extends$8(e,n);function e(i,r,g,y,k,L,V){V===void 0&&(V={});var z=n.call(this,i,r,g,y,k,L,fillProps(V,i.defaultProps))||this;return z.typ="comp",z._usefs=[],z._uefs=[],z._defs=[],z}var t=e.prototype;return t.s=function(i,r){var g=this.b;return g.shouldComponentUpdate(fillProps(i,this.t.defaultProps),r||g.state)!==!1},t.r=function(i,r,g){var y,k,L=this,V=L.t;L.ps=fillProps(L.ps,L.t.defaultProps);var z=L.ps,j=!L.b,ie=V.contextType,oe=L.b,re=ie==null?void 0:ie.get(L);L._cs=r,j?(oe=createComponent(V,z,re,L),L.b=oe):(oe.props=z,oe.context=re);var ae=oe.state;L._usefs=[],L._uefs=[];var le=oe.render();((k=(y=le==null?void 0:le.props)===null||y===void 0?void 0:y.children)===null||k===void 0?void 0:k.length)===0&&(le.props.children=L.ps.children);var de=__assign$9(__assign$9({},r),oe.$_cs);renderProviders(L,L._ps,le?[le]:[],i,de),j?L._uefs.push(function(){ie==null||ie.register(L),oe.componentDidMount()}):L._uefs.push(function(){oe.componentDidUpdate(g,ae)}),i.push(function(){L._usefs.forEach(function(ue){ue()}),j?L.md():L.ud(),L._defs=L._uefs.map(function(ue){return ue()})})},t.ss=function(i){var r=this.b;!r||!i||(r.state=i)},t.un=function(){var i,r=this;r._ps.forEach(function(y){y.un()});var g=r.t;(i=g.contextType)===null||i===void 0||i.unregister(r),clearTimeout(r.b.$_timer),r._defs.forEach(function(y){y&&y()}),r.b.componentWillUnmount()},e}(Provider);function diffAttributes(n,e,t){var i=diffObject(getAttributes(n),getAttributes(e)),r=i.added,g=i.removed,y=i.changed;for(var k in r)t.setAttribute(k,r[k]);for(var L in y)t.setAttribute(L,y[L][1]);for(var V in g)t.removeAttribute(V)}function diffEvents(n,e,t){var i=diffObject(n,e),r=i.added,g=i.removed;for(var y in g)t.e(y,!0);for(var k in r)t.e(k)}function diffObject(n,e){var t=getKeys(n),i=getKeys(e),r=diff$1(t,i,function(L){return L}),g={},y={},k={};return r.added.forEach(function(L){var V=i[L];g[V]=e[V]}),r.removed.forEach(function(L){var V=t[L];y[V]=n[V]}),r.maintained.forEach(function(L){var V=L[0],z=t[V],j=[n[z],e[z]];n[z]!==e[z]&&(k[z]=j)}),{added:g,removed:y,changed:k}}function diffStyle(n,e,t){var i=t.style,r=diffObject(n,e),g=r.added,y=r.removed,k=r.changed;for(var L in g){var V=decamelize(L,"-");i.setProperty(V,g[L])}for(var L in k){var z=decamelize(L,"-");i.setProperty(z,k[L][1])}for(var L in y){var j=decamelize(L,"-");i.removeProperty(j)}}function getNativeEventName(n){return n.replace(/^on/g,"").toLowerCase()}var ElementProvider=function(n){__extends$8(e,n);function e(){var i=n!==null&&n.apply(this,arguments)||this;return i.typ="elem",i._es={},i._svg=!1,i}var t=e.prototype;return t.e=function(i,r){var g=this,y=g._es,k=g.b,L=getNativeEventName(i);r?(removeEvent(k,L,y[i]),delete y[i]):(y[i]=function(V){var z,j;(j=(z=g.ps)[i])===null||j===void 0||j.call(z,V)},addEvent(k,L,y[i]))},t.s=function(i){return isDiff(this.ps,i)},t.r=function(i,r,g){var y,k=this,L=!k.b,V=k.ps;if(L){var z=findContainerNode(k.c),j=!1;k._svg||k.t==="svg"?j=!0:j=z&&z.ownerSVGElement,k._svg=j;var ie=(y=k._hyd)===null||y===void 0?void 0:y.splice(0,1)[0],oe=k.t;if(ie)k._hyd=[].slice.call(ie.children||[]);else{var re=getDocument(z);j?ie=re.createElementNS("http://www.w3.org/2000/svg",oe):ie=re.createElement(oe)}k.b=ie}renderProviders(k,k._ps,V.children,i,r);var ae=k.b,le=splitProps(g),de=le[0],ue=le[1],he=splitProps(V),pe=he[0],Ce=he[1];return diffAttributes(de,pe,ae),diffEvents(ue,Ce,k),diffStyle(g.style||{},V.style||{},ae),i.push(function(){L?k.md():k.ud()}),!0},t.un=function(){var i=this,r=i._es,g=i.b;for(var y in r)removeEvent(g,y,r[y]);i._ps.forEach(function(k){k.un()}),i._es={},i._sel||removeNode(g)},e}(Provider);function findDOMNode(n){if(!n||isNode(n))return n;var e=n.$_p._ps;return e.length?findDOMNode(e[0].b):null}function findNodeProvider(n){if(n){if(n.b&&isNode(n.b))return n;var e=n._ps;return e.length?findNodeProvider(e[0]):null}}function createElement(n,e){for(var t=[],i=2;i0}function renderProvider(n,e,t,i){t===void 0&&(t=e.__CROACT__),i===void 0&&(i={});var r=!!t;t||(t=new ContainerProvider(e));var g=[];return renderProviders(t,t._ps,n?[n]:[],g,i,void 0,void 0),executeHooks(g),setCurrentInstance(null),r||(e.__CROACT__=t),t}function renderSelf(n,e,t){return!t&&n&&(t=new ContainerProvider(e.parentElement),t._hyd=[e],t._sel=!0),renderProvider(n,e,t),t}function checkHookInfo(n){var e=getCurrentInstance(),t=e._hs||(e._hs=[]),i=getHooksIndex(),r=t[i];if(setHooksInex(i+1),r){if(!isDiff(r.deps,n.deps))return r.updated=!1,r;t[i]=n}else t.push(n);return n.value=n.func(),n.updated=!0,n}function useMemo(n,e){var t=checkHookInfo({func:n,deps:e});return t.value}function useRef(n){return useMemo(function(){return createRef(n)},[])}function useEffect(n,e,t){var i=getCurrentInstance(),r=checkHookInfo({func:function(){return n},deps:e}),g=t?i._usefs:i._uefs;r.updated?g.push(function(){return r.effect&&r.effect(),r.effect=n(),r.effect}):g.push(function(){return r.effect})}function useImperativeHandle(n,e,t){useEffect(function(){n==null||n(e())},t,!0)}function some(n,e){for(var t=n.length,i=0;i"u"){if(typeof navigator>"u"||!navigator)return"";e=navigator.userAgent||""}return e.toLowerCase()}function execRegExp(n,e){try{return new RegExp(n,"g").exec(e)}catch(t){return null}}function hasUserAgentData(){if(typeof navigator>"u"||!navigator||!navigator.userAgentData)return!1;var n=navigator.userAgentData,e=n.brands||n.uaList;return!!(e&&e.length)}function findVersion(n,e){var t=execRegExp("("+n+")((?:\\/|\\s|:)([0-9|\\.|_]+))",e);return t?t[3]:""}function convertVersion(n){return n.replace(/_/g,".")}function findPreset(n,e){var t=null,i="-1";return some(n,function(r){var g=execRegExp("("+r.test+")((?:\\/|\\s|:)([0-9|\\.|_]+))?",e);return!g||r.brand?!1:(t=r,i=g[3]||"-1",r.versionAlias?i=r.versionAlias:r.versionTest&&(i=findVersion(r.versionTest.toLowerCase(),e)||i),i=convertVersion(i),!0)}),{preset:t,version:i}}function findPresetBrand(n,e){var t={brand:"",version:"-1"};return some(n,function(i){var r=findBrand(e,i);return r?(t.brand=i.id,t.version=i.versionAlias||r.version,t.version!=="-1"):!1}),t}function findBrand(n,e){return find(n,function(t){var i=t.brand;return execRegExp(""+e.test,i.toLowerCase())})}var BROWSER_PRESETS=[{test:"phantomjs",id:"phantomjs"},{test:"whale",id:"whale"},{test:"edgios|edge|edg",id:"edge"},{test:"msie|trident|windows phone",id:"ie",versionTest:"iemobile|msie|rv"},{test:"miuibrowser",id:"miui browser"},{test:"samsungbrowser",id:"samsung internet"},{test:"samsung",id:"samsung internet",versionTest:"version"},{test:"chrome|crios",id:"chrome"},{test:"firefox|fxios",id:"firefox"},{test:"android",id:"android browser",versionTest:"version"},{test:"safari|iphone|ipad|ipod",id:"safari",versionTest:"version"}],CHROMIUM_PRESETS=[{test:"(?=.*applewebkit/(53[0-7]|5[0-2]|[0-4]))(?=.*\\schrome)",id:"chrome",versionTest:"chrome"},{test:"chromium",id:"chrome"},{test:"whale",id:"chrome",versionAlias:"-1",brand:!0}],WEBKIT_PRESETS=[{test:"applewebkit",id:"webkit",versionTest:"applewebkit|safari"}],WEBVIEW_PRESETS=[{test:"(?=(iphone|ipad))(?!(.*version))",id:"webview"},{test:"(?=(android|iphone|ipad))(?=.*(naver|daum|; wv))",id:"webview"},{test:"webview",id:"webview"}],OS_PRESETS=[{test:"windows phone",id:"windows phone"},{test:"windows 2000",id:"window",versionAlias:"5.0"},{test:"windows nt",id:"window"},{test:"win32|windows",id:"window"},{test:"iphone|ipad|ipod",id:"ios",versionTest:"iphone os|cpu os"},{test:"macos|macintel|mac os x",id:"mac"},{test:"android|linux armv81",id:"android"},{test:"tizen",id:"tizen"},{test:"webos|web0s",id:"webos"}];function isWebView(n){return!!findPreset(WEBVIEW_PRESETS,n).preset}function getLegacyAgent(n){var e=getUserAgentString(n),t=!!/mobi/g.exec(e),i={name:"unknown",version:"-1",majorVersion:-1,webview:isWebView(e),chromium:!1,chromiumVersion:"-1",webkit:!1,webkitVersion:"-1"},r={name:"unknown",version:"-1",majorVersion:-1},g=findPreset(BROWSER_PRESETS,e),y=g.preset,k=g.version,L=findPreset(OS_PRESETS,e),V=L.preset,z=L.version,j=findPreset(CHROMIUM_PRESETS,e);if(i.chromium=!!j.preset,i.chromiumVersion=j.version,!i.chromium){var ie=findPreset(WEBKIT_PRESETS,e);i.webkit=!!ie.preset,i.webkitVersion=ie.version}return V&&(r.name=V.id,r.version=z,r.majorVersion=parseInt(z,10)),y&&(i.name=y.id,i.version=k,i.webview&&r.name==="ios"&&i.name!=="safari"&&(i.webview=!1)),i.majorVersion=parseInt(i.version,10),{browser:i,os:r,isMobile:t,isHints:!1}}function getClientHintsAgent(n){var e=navigator.userAgentData,t=(e.uaList||e.brands).slice(),i=e.mobile||!1,r=t[0],g=(e.platform||navigator.platform).toLowerCase(),y={name:r.brand,version:r.version,majorVersion:-1,webkit:!1,webkitVersion:"-1",chromium:!1,chromiumVersion:"-1",webview:!!findPresetBrand(WEBVIEW_PRESETS,t).brand||isWebView(getUserAgentString())},k={name:"unknown",version:"-1",majorVersion:-1};y.webkit=!y.chromium&&some(WEBKIT_PRESETS,function(ie){return findBrand(t,ie)});var L=findPresetBrand(CHROMIUM_PRESETS,t);if(y.chromium=!!L.brand,y.chromiumVersion=L.version||"-1",!y.chromium){var V=findPresetBrand(WEBKIT_PRESETS,t);y.webkit=!!V.brand,y.webkitVersion=V.version||"-1"}var z=find(OS_PRESETS,function(ie){return new RegExp(""+ie.test,"g").exec(g)});k.name=z?z.id:"";{var j=findPresetBrand(BROWSER_PRESETS,t);y.name=j.brand||y.name,y.version=j.brand&&n?n.uaFullVersion:j.version}return y.webkit&&(k.name=i?"ios":"mac"),k.name==="ios"&&y.webview&&(y.version="-1"),k.version=convertVersion(k.version),y.version=convertVersion(y.version),k.majorVersion=parseInt(k.version,10),y.majorVersion=parseInt(y.version,10),{browser:y,os:k,isMobile:i,isHints:!0}}function agent$1(n){return hasUserAgentData()?getClientHintsAgent():getLegacyAgent(n)}function add(n,e,t,i,r,g){for(var y=0;yy-L?(j[1]>z.top||yj[1])&&(ie[1]=1),z.left>g-L?(j[0]>z.left||gj[0])&&(ie[0]=1),!ie[0]&&!ie[1]?!1:this._continueDrag(__assign$7(__assign$7({},r),{direction:ie,inputEvent:i,isDrag:!0}))}},t.checkScroll=function(i){var r=this;if(this._isWait)return!1;var g=i.prevScrollPos,y=g===void 0?this._prevScrollPos:g,k=i.direction,L=i.throttleTime,V=L===void 0?0:L,z=i.inputEvent,j=i.isDrag,ie=this._getScrollPosition(k||[0,0],i),oe=ie[0]-y[0],re=ie[1]-y[1],ae=k||[oe?Math.abs(oe)/oe:0,re?Math.abs(re)/re:0];return this._prevScrollPos=ie,this._lock=!1,!oe&&!re?!1:(this.emit("move",{offsetX:ae[0]?oe:0,offsetY:ae[1]?re:0,inputEvent:z}),V&&j&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},V)),!0)},t.dragEnd=function(){this._flag=!1,this._lock=!1,clearTimeout(this._timer),this._unregisterScrollEvent()},t._getScrollPosition=function(i,r){var g=r.container,y=r.getScrollPosition,k=y===void 0?getDefaultScrollPosition$2:y;return k({container:getContainerElement$1(g),direction:i})},t._continueDrag=function(i){var r=this,g,y=i.container,k=i.direction,L=i.throttleTime,V=i.useScroll,z=i.isDrag,j=i.inputEvent;if(!(!this._flag||z&&this._isWait)){var ie=now(),oe=Math.max(L+this._prevTime-ie,0);if(oe>0)return clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},oe),!1;this._prevTime=ie;var re=this._getScrollPosition(k,i);this._prevScrollPos=re,z&&(this._isWait=!0),V||(this._lock=!0);var ae={container:getContainerElement$1(y),direction:k,inputEvent:j};return(g=i.requestScroll)===null||g===void 0||g.call(i,ae),this.emit("scroll",ae),this._isWait=!1,V||this.checkScroll(__assign$7(__assign$7({},i),{prevScrollPos:re,direction:k,inputEvent:j}))}},t._registerScrollEvent=function(i){this._unregisterScrollEvent();var r=i.checkScrollEvent;if(r){var g=r===!0?checkDefaultScrollEvent:r,y=getContainerElement$1(i.container);r===!0&&(y===document.body||y===document.documentElement)?this._unregister=checkDefaultScrollEvent(window,this._onScroll):this._unregister=g(y,this._onScroll)}},t._unregisterScrollEvent=function(){var i;(i=this._unregister)===null||i===void 0||i.call(this),this._unregister=null},e}(EventEmitter$2);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function __spreadArrays$2(){for(var n=0,e=0,t=arguments.length;ei))if(le==="intersection")++ie;else{if(le==="line")return;if(le==="point"){var ue=find$1(de,function(Ce){return Ce[1]!==r}),he=oe[ae[0]],pe=ue[1]>r?1:-1;he?he!==pe&&++ie:oe[ae[0]]=pe}}}),ie%2===1}function getLinearConstants(n,e){var t=n[0],i=n[1],r=e[0],g=e[1],y=r-t,k=g-i;Math.abs(y)0)return[];i=[[V,y],[z,y]]}}else{var k=Math.max.apply(Math,t.map(function(j){return j[1][0]})),L=Math.min.apply(Math,t.map(function(j){return j[1][1]}));if(tinyThrottle(k-L)>0)return[];i=[[g,k],[g,L]]}}return i.length||(i=n.filter(function(j){var ie=j[0],oe=j[1];return t.every(function(re){return 0<=tinyThrottle(ie-re[0][0])&&0<=tinyThrottle(re[0][1]-ie)&&0<=tinyThrottle(oe-re[1][0])&&0<=tinyThrottle(re[1][1]-oe)})})),i.map(function(j){return[tinyThrottle(j[0]),tinyThrottle(j[1])]})}function convertLines(n){return __spreadArrays$2(n.slice(1),[n[0]]).map(function(e,t){return[n[t],e]})}function getOverlapPointInfos(n,e){var t=n.slice(),i=e.slice();getShapeDirection(t)===-1&&t.reverse(),getShapeDirection(i)===-1&&i.reverse();var r=convertLines(t),g=convertLines(i),y=r.map(function(z){return getLinearConstants(z[0],z[1])}),k=g.map(function(z){return getLinearConstants(z[0],z[1])}),L=[];y.forEach(function(z,j){var ie=r[j],oe=[];k.forEach(function(re,ae){var le=getIntersectionPointsByConstants(z,re),de=getPointsOnLines(le,[ie,g[ae]]);oe.push.apply(oe,de.map(function(ue){return{index1:j,index2:ae,pos:ue,type:"intersection"}}))}),oe.sort(function(re,ae){return getDist$2(ie[0],re.pos)-getDist$2(ie[0],ae.pos)}),L.push.apply(L,oe),isInside(ie[1],i)&&L.push({index1:j,index2:-1,pos:ie[1],type:"inside"})}),g.forEach(function(z,j){if(isInside(z[1],t)){var ie=!1,oe=findIndex(L,function(re){var ae=re.index2;return ae===j?(ie=!0,!1):!!ie});oe===-1&&(ie=!1,oe=findIndex(L,function(re){var ae=re.index1,le=re.index2;return ae===-1&&le+1===j?(ie=!0,!1):!!ie})),oe===-1?L.push({index1:-1,index2:j,pos:z[1],type:"inside"}):L.splice(oe,0,{index1:-1,index2:j,pos:z[1],type:"inside"})}});var V={};return L.filter(function(z){var j=z.pos,ie=j[0]+"x"+j[1];return V[ie]?!1:(V[ie]=!0,!0)})}function getOverlapPoints(n,e){var t=getOverlapPointInfos(n,e);return t.map(function(i){var r=i.pos;return r})}function getOverlapSize(n,e){var t=getOverlapPoints(n,e);return getAreaSize(t)}/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var extendStatics$5=function(n,e){return extendStatics$5=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])},extendStatics$5(n,e)};function __extends$5(n,e){extendStatics$5(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$6=function(){return __assign$6=Object.assign||function(e){for(var t,i=1,r=arguments.length;i=0?r:r+Math.PI*2}function getRotatiion(n){return getRad([n[0].clientX,n[0].clientY],[n[1].clientX,n[1].clientY])/Math.PI*180}function isMultiTouch(n){return n.touches&&n.touches.length>=2}function getEventClients(n){return n?n.touches?getClients(n.touches):[getClient(n)]:[]}function isMouseEvent(n){return n&&(n.type.indexOf("mouse")>-1||"button"in n)}function getPosition(n,e,t){var i=t.length,r=getAverageClient(n,i),g=r.clientX,y=r.clientY,k=r.originalClientX,L=r.originalClientY,V=getAverageClient(e,i),z=V.clientX,j=V.clientY,ie=getAverageClient(t,i),oe=ie.clientX,re=ie.clientY,ae=g-z,le=y-j,de=g-oe,ue=y-re;return{clientX:k,clientY:L,deltaX:ae,deltaY:le,distX:de,distY:ue}}function getDist$1(n){return Math.sqrt(Math.pow(n[0].clientX-n[1].clientX,2)+Math.pow(n[0].clientY-n[1].clientY,2))}function getClients(n){for(var e=Math.min(n.length,2),t=[],i=0;i=-1;if(!(r.flag&&re)){r._isDragAPI=!0;var ae=r.options,le=ae.container,de=ae.pinchOutside,ue=ae.preventWheelClick,he=ae.preventRightClick,pe=ae.preventDefault,Ce=ae.checkInput,$e=ae.dragFocusedInput,xe=ae.preventClickEventOnDragStart,Ie=ae.preventClickEventOnDrag,Ne=ae.preventClickEventByCondition,Fe=r._useTouch,Ve=!r.flag;if(r._isSecondaryButton=ie.which===3||ie.button===2,ue&&(ie.which===2||ie.button===1)||he&&(ie.which===3||ie.button===2))return r.stop(),!1;if(Ve){var Oe=r._window.document.activeElement,ze=ie.target;if(ze){var qe=ze.tagName.toLowerCase(),Ue=INPUT_TAGNAMES.indexOf(qe)>-1,Et=ze.isContentEditable;if(Ue||Et){if(Ce||!$e&&Oe===ze)return!1;if(Oe&&(Oe===ze||Et&&Oe.isContentEditable&&Oe.contains(ze)))if($e)ze.blur();else return!1}else if((pe||ie.type==="touchstart")&&Oe){var At=Oe.tagName.toLowerCase();(Oe.isContentEditable||INPUT_TAGNAMES.indexOf(At)>-1)&&Oe.blur()}(xe||Ie||Ne)&&addEvent(r._window,"click",r._onClick,!0)}r.clientStores=[new ClientStore(getEventClients(ie))],r._isIdle=!1,r.flag=!0,r.isDrag=!1,r._isTrusted=oe,r._dragFlag=!0,r._prevInputEvent=ie,r.data={},r.doubleFlag=now()-r.prevTime<200,r._isMouseEvent=isMouseEvent(ie),!r._isMouseEvent&&r._preventMouseEvent&&r._allowMouseEvent();var Lt=r._preventMouseEvent||r.emit("dragStart",__assign$6(__assign$6({data:r.data,datas:r.data,inputEvent:ie,isMouseEvent:r._isMouseEvent,isSecondaryButton:r._isSecondaryButton,isTrusted:oe,isDouble:r.doubleFlag},r.getCurrentStore().getPosition()),{preventDefault:function(){ie.preventDefault()},preventDrag:function(){r._dragFlag=!1}}));Lt===!1&&r.stop(),r._isMouseEvent&&r.flag&&pe&&ie.preventDefault()}if(!r.flag)return!1;var kt=0;if(Ve?(r._attchDragEvent(),Fe&&de&&(kt=setTimeout(function(){addEvent(le,"touchstart",r.onDragStart,{passive:!1})}))):Fe&&de&&removeEvent(le,"touchstart",r.onDragStart),r.flag&&isMultiTouch(ie)){if(clearTimeout(kt),Ve&&ie.touches.length!==ie.changedTouches.length)return;r.pinchFlag||r.onPinchStart(ie)}}}},r.onDrag=function(ie,oe){if(r.flag){var re=r.options.preventDefault;!r._isMouseEvent&&re&&ie.preventDefault(),r._prevInputEvent=ie;var ae=getEventClients(ie),le=r.moveClients(ae,ie,!1);if(r._dragFlag){if(r.pinchFlag||le.deltaX||le.deltaY){var de=r._preventMouseEvent||r.emit("drag",__assign$6(__assign$6({},le),{isScroll:!!oe,inputEvent:ie}));if(de===!1){r.stop();return}}r.pinchFlag&&r.onPinch(ie,ae)}r.getCurrentStore().getPosition(ae,!0)}},r.onDragEnd=function(ie){if(r.flag){var oe=r.options,re=oe.pinchOutside,ae=oe.container,le=oe.preventClickEventOnDrag,de=oe.preventClickEventOnDragStart,ue=oe.preventClickEventByCondition,he=r.isDrag;(le||de||ue)&&requestAnimationFrame(function(){r._allowClickEvent()}),!ue&&!de&&le&&!he&&r._allowClickEvent(),r._useTouch&&re&&removeEvent(ae,"touchstart",r.onDragStart),r.pinchFlag&&r.onPinchEnd(ie);var pe=ie!=null&&ie.touches?getEventClients(ie):[],Ce=pe.length;Ce===0||!r.options.keepDragging?r.flag=!1:r._addStore(new ClientStore(pe));var $e=r._getPosition(),xe=now(),Ie=!he&&r.doubleFlag;r._prevInputEvent=null,r.prevTime=he||Ie?0:xe,r.flag||(r._dettachDragEvent(),r._preventMouseEvent||r.emit("dragEnd",__assign$6({data:r.data,datas:r.data,isDouble:Ie,isDrag:he,isClick:!he,isMouseEvent:r._isMouseEvent,isSecondaryButton:r._isSecondaryButton,inputEvent:ie,isTrusted:r._isTrusted},$e)),r.clientStores=[],r._isMouseEvent||(r._preventMouseEvent=!0,clearTimeout(r._preventMouseEventId),r._preventMouseEventId=setTimeout(function(){r._preventMouseEvent=!1},200)),r._isIdle=!0)}},r.onBlur=function(){r.onDragEnd()},r._allowClickEvent=function(){removeEvent(r._window,"click",r._onClick,!0)},r._onClick=function(ie){r._allowClickEvent(),r._allowMouseEvent();var oe=r.options.preventClickEventByCondition;oe!=null&&oe(ie)||(ie.stopPropagation(),ie.preventDefault())},r._onContextMenu=function(ie){var oe=r.options;oe.preventRightClick?r.onDragEnd(ie):ie.preventDefault()},r._passCallback=function(){};var g=[].concat(t),y=g[0];r._window=isWindow(y)?y:getWindow(y),r.options=__assign$6({checkInput:!1,container:y&&!("document"in y)?getWindow(y):y,preventRightClick:!0,preventWheelClick:!0,preventClickEventOnDragStart:!1,preventClickEventOnDrag:!1,preventClickEventByCondition:null,preventDefault:!0,checkWindowBlur:!1,keepDragging:!1,pinchThreshold:0,events:["touch","mouse"]},i);var k=r.options,L=k.container,V=k.events,z=k.checkWindowBlur;if(r._useDrag=V.indexOf("drag")>-1,r._useTouch=V.indexOf("touch")>-1,r._useMouse=V.indexOf("mouse")>-1,r.targets=g,r._useDrag&&g.forEach(function(ie){addEvent(ie,"dragstart",r.onDragStart)}),r._useMouse&&(g.forEach(function(ie){addEvent(ie,"mousedown",r.onDragStart),addEvent(ie,"mousemove",r._passCallback)}),addEvent(L,"contextmenu",r._onContextMenu)),z&&addEvent(getWindow(),"blur",r.onBlur),r._useTouch){var j={passive:!1};g.forEach(function(ie){addEvent(ie,"touchstart",r.onDragStart,j),addEvent(ie,"touchmove",r._passCallback,j)})}return r}return e.prototype.stop=function(){this.isDrag=!1,this.data={},this.clientStores=[],this.pinchFlag=!1,this.doubleFlag=!1,this.prevTime=0,this.flag=!1,this._isIdle=!0,this._allowClickEvent(),this._dettachDragEvent(),this._isDragAPI=!1},e.prototype.getMovement=function(t){return this.getCurrentStore().getMovement(t)+this.clientStores.slice(1).reduce(function(i,r){return i+r.movement},0)},e.prototype.isDragging=function(){return this.isDrag},e.prototype.isIdle=function(){return this._isIdle},e.prototype.isFlag=function(){return this.flag},e.prototype.isPinchFlag=function(){return this.pinchFlag},e.prototype.isDoubleFlag=function(){return this.doubleFlag},e.prototype.isPinching=function(){return this.isPinch},e.prototype.scrollBy=function(t,i,r,g){g===void 0&&(g=!0),this.flag&&(this.clientStores[0].move(t,i),g&&this.onDrag(r,!0))},e.prototype.move=function(t,i){var r=t[0],g=t[1],y=this.getCurrentStore(),k=y.prevClients;return this.moveClients(k.map(function(L){var V=L.clientX,z=L.clientY;return{clientX:V+r,clientY:z+g,originalClientX:V,originalClientY:z}}),i,!0)},e.prototype.triggerDragStart=function(t){this.onDragStart(t,!1)},e.prototype.setEventData=function(t){var i=this.data;for(var r in t)i[r]=t[r];return this},e.prototype.setEventDatas=function(t){return this.setEventData(t)},e.prototype.getCurrentEvent=function(t){return t===void 0&&(t=this._prevInputEvent),__assign$6(__assign$6({data:this.data,datas:this.data},this._getPosition()),{movement:this.getMovement(),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,inputEvent:t})},e.prototype.getEventData=function(){return this.data},e.prototype.getEventDatas=function(){return this.data},e.prototype.unset=function(){var t=this,i=this.targets,r=this.options.container;this.off(),removeEvent(this._window,"blur",this.onBlur),this._useDrag&&i.forEach(function(g){removeEvent(g,"dragstart",t.onDragStart)}),this._useMouse&&(i.forEach(function(g){removeEvent(g,"mousedown",t.onDragStart)}),removeEvent(r,"contextmenu",this._onContextMenu)),this._useTouch&&(i.forEach(function(g){removeEvent(g,"touchstart",t.onDragStart)}),removeEvent(r,"touchstart",this.onDragStart)),this._prevInputEvent=null,this._allowClickEvent(),this._dettachDragEvent()},e.prototype.onPinchStart=function(t){var i=this,r=this.options.pinchThreshold;if(!(this.isDrag&&this.getMovement()>r)){var g=new ClientStore(getEventClients(t));this.pinchFlag=!0,this._addStore(g);var y=this.emit("pinchStart",__assign$6(__assign$6({data:this.data,datas:this.data,angle:g.getAngle(),touches:this.getCurrentStore().getPositions()},g.getPosition()),{inputEvent:t,isTrusted:this._isTrusted,preventDefault:function(){t.preventDefault()},preventDrag:function(){i._dragFlag=!1}}));y===!1&&(this.pinchFlag=!1)}},e.prototype.onPinch=function(t,i){if(!(!this.flag||!this.pinchFlag||i.length<2)){var r=this.getCurrentStore();this.isPinch=!0,this.emit("pinch",__assign$6(__assign$6({data:this.data,datas:this.data,movement:this.getMovement(i),angle:r.getAngle(i),rotation:r.getRotation(i),touches:r.getPositions(i),scale:r.getScale(i),distance:r.getDistance(i)},r.getPosition(i)),{inputEvent:t,isTrusted:this._isTrusted}))}},e.prototype.onPinchEnd=function(t){if(this.pinchFlag){var i=this.isPinch;this.isPinch=!1,this.pinchFlag=!1;var r=this.getCurrentStore();this.emit("pinchEnd",__assign$6(__assign$6({data:this.data,datas:this.data,isPinch:i,touches:r.getPositions()},r.getPosition()),{inputEvent:t}))}},e.prototype.getCurrentStore=function(){return this.clientStores[0]},e.prototype.moveClients=function(t,i,r){var g=this._getPosition(t,r),y=this.isDrag;(g.deltaX||g.deltaY)&&(this.isDrag=!0);var k=!1;return!y&&this.isDrag&&(k=!0),__assign$6(__assign$6({data:this.data,datas:this.data},g),{movement:this.getMovement(t),isDrag:this.isDrag,isPinch:this.isPinch,isScroll:!1,isMouseEvent:this._isMouseEvent,isSecondaryButton:this._isSecondaryButton,inputEvent:i,isTrusted:this._isTrusted,isFirstDrag:k})},e.prototype._addStore=function(t){this.clientStores.splice(0,0,t)},e.prototype._getPosition=function(t,i){var r=this.getCurrentStore(),g=r.getPosition(t,i),y=this.clientStores.slice(1).reduce(function(V,z){var j=z.getPosition();return V.distX+=j.distX,V.distY+=j.distY,V},g),k=y.distX,L=y.distY;return __assign$6(__assign$6({},g),{distX:k,distY:L})},e.prototype._attchDragEvent=function(){var t=this._window,i=this.options.container,r={passive:!1};this._isDragAPI&&(addEvent(i,"dragover",this.onDrag,r),addEvent(t,"dragend",this.onDragEnd)),this._useMouse&&(addEvent(i,"mousemove",this.onDrag),addEvent(t,"mouseup",this.onDragEnd)),this._useTouch&&(addEvent(i,"touchmove",this.onDrag,r),addEvent(t,"touchend",this.onDragEnd,r),addEvent(t,"touchcancel",this.onDragEnd,r))},e.prototype._dettachDragEvent=function(){var t=this._window,i=this.options.container;this._isDragAPI&&(removeEvent(i,"dragover",this.onDrag),removeEvent(t,"dragend",this.onDragEnd)),this._useMouse&&(removeEvent(i,"mousemove",this.onDrag),removeEvent(t,"mouseup",this.onDragEnd)),this._useTouch&&(removeEvent(i,"touchstart",this.onDragStart),removeEvent(i,"touchmove",this.onDrag),removeEvent(t,"touchend",this.onDragEnd),removeEvent(t,"touchcancel",this.onDragEnd))},e.prototype._allowMouseEvent=function(){this._preventMouseEvent=!1,clearTimeout(this._preventMouseEventId)},e}(EventEmitter$2),__assign$5=function(){return __assign$5=Object.assign||function(e){for(var t,i=1,r=arguments.length;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g}function __values(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function __read(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,g=[],y;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)g.push(r.value)}catch(k){y={error:k}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(y)throw y.error}}return g}function __spreadArray$1(n,e,t){if(arguments.length===2)for(var i=0,r=e.length,g;i')}function getCursorCSS(n){var e=getSVGCursor(1,n),t=Math.round(n/45)*45%180,i="ns-resize";return t===135?i="nwse-resize":t===45?i="nesw-resize":t===90&&(i="ew-resize"),"cursor:".concat(i,";cursor: url('").concat(e,"') 16 16, ").concat(i,";")}var agent=agent$1(),IS_WEBKIT=agent.browser.webkit,IS_WEBKIT605=IS_WEBKIT&&function(){var n=typeof window>"u"?{userAgent:""}:window.navigator,e=/applewebkit\/([^\s]+)/g.exec(n.userAgent.toLowerCase());return e?parseFloat(e[1])<605:!1}(),browserName=agent.browser.name,browserVersion=parseInt(agent.browser.version,10),IS_CHROME=browserName==="chrome",IS_CHROMIUM=agent.browser.chromium,chromiumVersion=parseInt(agent.browser.chromiumVersion,10)||0,IS_CHROMIUM109=IS_CHROME&&browserVersion>=109||IS_CHROMIUM&&chromiumVersion>=109,IS_FIREFOX=browserName==="firefox",IS_SAFARI_ABOVE15=parseInt(agent.browser.webkitVersion,10)>=612||browserVersion>=15,PREFIX="moveable-",directionCSS=DIRECTIONS.map(function(n){var e="",t="",i="center",r="center",g="calc(var(--moveable-control-padding, 20) * -1px)";return n.indexOf("n")>-1&&(e="top: ".concat(g,";"),r="bottom"),n.indexOf("s")>-1&&(e="top: 0px;",r="top"),n.indexOf("w")>-1&&(t="left: ".concat(g,";"),i="right"),n.indexOf("e")>-1&&(t="left: 0px;",i="left"),'.around-control[data-direction*="'.concat(n,'"] {\n ').concat(t).concat(e,"\n transform-origin: ").concat(i," ").concat(r,";\n }")}).join("\n"),MOVEABLE_CSS="\n{\nposition: absolute;\nwidth: 1px;\nheight: 1px;\nleft: 0;\ntop: 0;\nz-index: 3000;\n--moveable-color: #4af;\n--zoom: 1;\n--zoompx: 1px;\n--moveable-line-padding: 0;\n--moveable-control-padding: 0;\nwill-change: transform;\noutline: 1px solid transparent;\n}\n.control-box {\nz-index: 0;\n}\n.line, .control {\nposition: absolute;\nleft: 0;\ntop: 0;\nwill-change: transform;\n}\n.control {\nwidth: 14px;\nheight: 14px;\nborder-radius: 50%;\nborder: 2px solid #fff;\nbox-sizing: border-box;\nbackground: #4af;\nbackground: var(--moveable-color);\nmargin-top: -7px;\nmargin-left: -7px;\nborder: 2px solid #fff;\nz-index: 10;\n}\n.around-control {\nposition: absolute;\nwill-change: transform;\nwidth: calc(var(--moveable-control-padding, 20) * 1px);\nheight: calc(var(--moveable-control-padding, 20) * 1px);\nleft: calc(var(--moveable-control-padding, 20) * -0.5px);\ntop: calc(var(--moveable-control-padding, 20) * -0.5px);\nbox-sizing: border-box;\nbackground: transparent;\nz-index: 8;\ncursor: alias;\ntransform-origin: center center;\n}\n".concat(directionCSS,"\n.padding {\nposition: absolute;\ntop: 0px;\nleft: 0px;\nwidth: 100px;\nheight: 100px;\ntransform-origin: 0 0;\n}\n.line {\nwidth: 1px;\nheight: 1px;\nbackground: #4af;\nbackground: var(--moveable-color);\ntransform-origin: 0px 50%;\n}\n.line.edge {\nz-index: 1;\nbackground: transparent;\n}\n.line.dashed {\nbox-sizing: border-box;\nbackground: transparent;\n}\n.line.dashed.horizontal {\nborder-top: 1px dashed #4af;\nborder-top-color: #4af;\nborder-top-color: var(--moveable-color);\n}\n.line.dashed.vertical {\nborder-left: 1px dashed #4af;\nborder-left-color: #4af;\nborder-left-color: var(--moveable-color);\n}\n.line.vertical {\ntransform: translateX(-50%);\n}\n.line.horizontal {\ntransform: translateY(-50%);\n}\n.line.vertical.bold {\nwidth: 2px;\n}\n.line.horizontal.bold {\nheight: 2px;\n}\n\n.control.origin {\nborder-color: #f55;\nbackground: #fff;\nwidth: 12px;\nheight: 12px;\nmargin-top: -6px;\nmargin-left: -6px;\npointer-events: none;\n}\n").concat([0,15,30,45,60,75,90,105,120,135,150,165].map(function(n){return'\n.direction[data-rotation="'.concat(n,'"], :global .view-control-rotation').concat(n," {\n").concat(getCursorCSS(n),"\n}\n")}).join("\n"),'\n\n.line.direction:before {\ncontent: "";\nposition: absolute;\nwidth: 100%;\nheight: calc(var(--moveable-line-padding, 0) * 1px);\nbottom: 0;\nleft: 0;\n}\n.group {\nz-index: -1;\n}\n.area {\nposition: absolute;\n}\n.area-pieces {\nposition: absolute;\ntop: 0;\nleft: 0;\ndisplay: none;\n}\n.area.avoid, .area.pass {\npointer-events: none;\n}\n.area.avoid+.area-pieces {\ndisplay: block;\n}\n.area-piece {\nposition: absolute;\n}\n\n').concat(IS_WEBKIT605?':global svg *:before {\ncontent:"";\ntransform-origin: inherit;\n}':"","\n"),NEARBY_POS=[[0,1,2],[1,0,3],[2,0,3],[3,1,2]],FLOAT_POINT_NUM=1e-4,TINY_NUM=1e-7,MIN_SCALE=1e-9,MAX_NUM=Math.pow(10,10),MIN_NUM=-MAX_NUM,DIRECTION_REGION_TO_DIRECTION={n:[0,-1],e:[1,0],s:[0,1],w:[-1,0],nw:[-1,-1],ne:[1,-1],sw:[-1,1],se:[1,1]},DIRECTION_INDEXES={n:[0,1],e:[1,3],s:[3,2],w:[2,0],nw:[0],ne:[1],sw:[2],se:[3]},DIRECTION_ROTATIONS={n:0,s:180,w:270,e:90,nw:315,ne:45,sw:225,se:135},MOVEABLE_METHODS=["isMoveableElement","updateRect","updateTarget","destroy","dragStart","isInside","hitTest","setState","getRect","request","isDragging","getManager","forceUpdate","waitToChangeTarget","updateSelectors","getTargets","stopDrag","getControlBoxElement","getMoveables","getDragElement"];function setCustomDrag(n,e,t,i,r,g){var y,k;g===void 0&&(g="draggable");var L=(k=(y=e.gestos[g])===null||y===void 0?void 0:y.move(t,n.inputEvent))!==null&&k!==void 0?k:{},V=L.originalDatas||L.datas,z=V[g]||(V[g]={});return __assign$4(__assign$4({},L),{isPinch:!!i,parentEvent:!0,datas:z,originalDatas:n.originalDatas})}var CustomGesto=function(){function n(e){var t;e===void 0&&(e="draggable"),this.ableName=e,this.prevX=0,this.prevY=0,this.startX=0,this.startY=0,this.isDrag=!1,this.isFlag=!1,this.datas={draggable:{}},this.datas=(t={},t[e]={},t)}return n.prototype.dragStart=function(e,t){this.isDrag=!1,this.isFlag=!1;var i=t.originalDatas;return this.datas=i,i[this.ableName]||(i[this.ableName]={}),__assign$4(__assign$4({},this.move(e,t.inputEvent)),{type:"dragstart"})},n.prototype.drag=function(e,t){return this.move([e[0]-this.prevX,e[1]-this.prevY],t)},n.prototype.move=function(e,t){var i,r,g=!1;if(!this.isFlag)this.prevX=e[0],this.prevY=e[1],this.startX=e[0],this.startY=e[1],i=e[0],r=e[1],this.isFlag=!0;else{var y=this.isDrag;i=this.prevX+e[0],r=this.prevY+e[1],(e[0]||e[1])&&(this.isDrag=!0),!y&&this.isDrag&&(g=!0)}return this.prevX=i,this.prevY=r,{type:"drag",clientX:i,clientY:r,inputEvent:t,isFirstDrag:g,isDrag:this.isDrag,distX:i-this.startX,distY:r-this.startY,deltaX:e[0],deltaY:e[1],datas:this.datas[this.ableName],originalDatas:this.datas,parentEvent:!0,parentGesto:this}},n}();function calculateElementPosition(n,e,t,i){var r=n.length===16,g=r?4:3,y=calculatePoses(n,t,i,g),k=__read(y,4),L=__read(k[0],2),V=L[0],z=L[1],j=__read(k[1],2),ie=j[0],oe=j[1],re=__read(k[2],2),ae=re[0],le=re[1],de=__read(k[3],2),ue=de[0],he=de[1],pe=__read(calculatePosition(n,e,g),2),Ce=pe[0],$e=pe[1],xe=Math.min(V,ie,ae,ue),Ie=Math.min(z,oe,le,he),Ne=Math.max(V,ie,ae,ue),Fe=Math.max(z,oe,le,he);V=V-xe||0,ie=ie-xe||0,ae=ae-xe||0,ue=ue-xe||0,z=z-Ie||0,oe=oe-Ie||0,le=le-Ie||0,he=he-Ie||0,Ce=Ce-xe||0,$e=$e-Ie||0;var Ve=n[0],Oe=n[g+1],ze=sign(Ve*Oe);return{left:xe,top:Ie,right:Ne,bottom:Fe,origin:[Ce,$e],pos1:[V,z],pos2:[ie,oe],pos3:[ae,le],pos4:[ue,he],direction:ze}}function calculatePointerDist(n,e){var t=e.clientX,i=e.clientY,r=e.datas,g=n.state,y=g.moveableClientRect,k=g.rootMatrix,L=g.is3d,V=g.pos1,z=y.left,j=y.top,ie=L?4:3,oe=__read(minus(calculateInversePosition(k,[t-z,i-j],ie),V),2),re=oe[0],ae=oe[1],le=__read(getDragDist({datas:r,distX:re,distY:ae}),2),de=le[0],ue=le[1];return[de,ue]}function setDragStart(n,e){var t=e.datas,i=n.state,r=i.allMatrix,g=i.beforeMatrix,y=i.is3d,k=i.left,L=i.top,V=i.origin,z=i.offsetMatrix,j=i.targetMatrix,ie=i.transformOrigin,oe=y?4:3;t.is3d=y,t.matrix=r,t.targetMatrix=j,t.beforeMatrix=g,t.offsetMatrix=z,t.transformOrigin=ie,t.inverseMatrix=invert(r,oe),t.inverseBeforeMatrix=invert(g,oe),t.absoluteOrigin=convertPositionMatrix(plus([k,L],V),oe),t.startDragBeforeDist=calculate(t.inverseBeforeMatrix,t.absoluteOrigin,oe),t.startDragDist=calculate(t.inverseMatrix,t.absoluteOrigin,oe)}function getTransformDirection(n){return calculateElementPosition(n.datas.beforeTransform,[50,50],100,100).direction}function resolveTransformEvent(n,e,t){var i=e.datas,r=e.originalDatas.beforeRenderable,g=i.transformIndex,y=r.nextTransforms,k=y.length,L=r.nextTransformAppendedIndexes,V=-1;g===-1?(t==="translate"?V=0:t==="rotate"&&(V=findIndex(y,function(oe){return oe.match(/scale\(/g)})),V===-1&&(V=y.length),i.transformIndex=V):find$1(L,function(oe){return oe.index===g&&oe.functionName===t})?V=g:V=g+L.filter(function(oe){return oe.indexV&&(i.isAppendTransform=!0,r.nextTransformAppendedIndexes=__spreadArray$1(__spreadArray$1([],__read(L),!1),[{functionName:t,index:V,isAppend:!0}],!1))}function convertTransformFormat(n,e,t){return"".concat(n.beforeFunctionTexts.join(" ")," ").concat(n.isAppendTransform?t:e," ").concat(n.afterFunctionTexts.join(" "))}function getTransformDist(n){var e=n.datas,t=n.distX,i=n.distY,r=__read(getBeforeDragDist({datas:e,distX:t,distY:i}),2),g=r[0],y=r[1],k=getTransfromMatrix(e,fromTranslation([g,y],4));return calculate(k,convertPositionMatrix([0,0,0],4),4)}function getTransfromMatrix(n,e,t){var i=n.beforeTransform,r=n.afterTransform,g=n.beforeTransform2,y=n.afterTransform2,k=n.targetAllTransform,L=t?multiply(k,e,4):multiply(e,k,4),V=multiply(invert(t?g:i,4),L,4),z=multiply(V,invert(t?y:r,4),4);return z}function getBeforeDragDist(n){var e=n.datas,t=n.distX,i=n.distY,r=e.inverseBeforeMatrix,g=e.is3d,y=e.startDragBeforeDist,k=e.absoluteOrigin,L=g?4:3;return minus(calculate(r,plus(k,[t,i]),L),y)}function getDragDist(n,e){var t=n.datas,i=n.distX,r=n.distY,g=t.inverseBeforeMatrix,y=t.inverseMatrix,k=t.is3d,L=t.startDragBeforeDist,V=t.startDragDist,z=t.absoluteOrigin,j=k?4:3;return minus(calculate(e?g:y,plus(z,[i,r]),j),e?L:V)}function getInverseDragDist(n,e){var t=n.datas,i=n.distX,r=n.distY;t.beforeMatrix;var g=t.matrix,y=t.is3d;t.startDragBeforeDist;var k=t.startDragDist,L=t.absoluteOrigin,V=y?4:3;return minus(calculate(g,plus(k,[i,r]),V),L)}function calculateTransformOrigin(n,e,t,i,r,g){return i===void 0&&(i=e),r===void 0&&(r=t),g===void 0&&(g=[0,0]),n?n.map(function(y,k){var L=splitUnit(y),V=L.value,z=L.unit,j=k?r:i,ie=k?t:e;if(y==="%"||isNaN(V)){var oe=j?g[k]/j:0;return ie*oe}else if(z!=="%")return V;return ie*V/100}):g}function getPosIndexesByDirection(n){var e=[];return n[1]>=0&&(n[0]>=0&&e.push(3),n[0]<=0&&e.push(2)),n[1]<=0&&(n[0]>=0&&e.push(1),n[0]<=0&&e.push(0)),e}function getPosesByDirection(n,e){return getPosIndexesByDirection(e).map(function(t){return n[t]})}function getPosBySingleDirection(n,e){var t=(e+1)/2;return[dot$1(n[0][0],n[1][0],t,1-t),dot$1(n[0][1],n[1][1],t,1-t)]}function getPosByDirection(n,e){var t=getPosBySingleDirection([n[0],n[1]],e[0]),i=getPosBySingleDirection([n[2],n[3]],e[0]);return getPosBySingleDirection([t,i],e[1])}function getDist(n,e,t,i,r,g){var y=calculatePoses(e,t,i,r),k=getPosByDirection(y,g),L=n[0]-k[0],V=n[1]-k[1];return[L,V]}function getNextMatrix(n,e,t,i){return multiply(n,getAbsoluteMatrix(e,i,t),i)}function getNextTransformMatrix(n,e,t,i){var r=n.transformOrigin,g=n.offsetMatrix,y=n.is3d,k=y?4:3,L;if(isString$1(t)){var V=e.beforeTransform,z=e.afterTransform;i?L=convertDimension(parseMat(t),4,k):L=convertDimension(multiply(multiply(V,parseMat([t]),4),z,4),4,k)}else L=t;return getNextMatrix(g,L,r,k)}function scaleMatrix(n,e){var t=n.transformOrigin,i=n.offsetMatrix,r=n.is3d,g=n.targetMatrix,y=n.targetAllTransform,k=r?4:3;return getNextMatrix(i,multiply(y||g,createScaleMatrix(e,k),k),t,k)}function fillTransformStartEvent(n,e){var t=getBeforeRenderableDatas(e);return{setTransform:function(i,r){r===void 0&&(r=-1),t.startTransforms=isArray$1(i)?i:splitSpace(i),setTransformIndex(n,e,r)},setTransformIndex:function(i){setTransformIndex(n,e,i)}}}function setDefaultTransformIndex(n,e,t){var i=getBeforeRenderableDatas(e),r=i.startTransforms;setTransformIndex(n,e,findIndex(r,function(g){return g.indexOf("".concat(t,"("))===0}))}function setTransformIndex(n,e,t){var i=getBeforeRenderableDatas(e),r=e.datas;if(r.transformIndex=t,t!==-1){var g=i.startTransforms[t];if(g){var y=n.state,k=parse([g],{"x%":function(L){return L/100*y.offsetWidth},"y%":function(L){return L/100*y.offsetHeight}});r.startValue=k[0].functionValue}}}function fillOriginalTransform(n,e){var t=getBeforeRenderableDatas(n);t.nextTransforms=splitSpace(e)}function getBeforeRenderableDatas(n){return n.originalDatas.beforeRenderable}function getNextTransforms(n){var e=n.originalDatas.beforeRenderable;return e.nextTransforms}function getNextTransformText(n){return(getNextTransforms(n)||[]).join(" ")}function getNextStyle(n){return getBeforeRenderableDatas(n).nextStyle}function fillTransformEvent(n,e,t,i,r){fillOriginalTransform(r,e);var g=Draggable.drag(n,setCustomDrag(r,n.state,t,i)),y=g?g.transform:e;return __assign$4(__assign$4({transform:e,drag:g},fillCSSObject({transform:y},r)),{afterTransform:y})}function getTranslateFixedPosition(n,e,t,i,r,g){var y=getNextTransformMatrix(n.state,r,e,g),k=getDirectionOffset(n,t,i,y);return k}function getTranslateDist(n,e,t,i,r,g,y){var k=getTranslateFixedPosition(n,e,t,r,g,y),L=n.state,V=L.left,z=L.top,j=n.props.groupable,ie=j?V:0,oe=j?z:0,re=minus(i,k);return minus(re,[ie,oe])}function getScaleDist(n,e,t,i,r,g,y){var k=getTranslateDist(n,e,t,i,r,g,y);return k}function getDirectionByPos(n,e,t){return[e?-1+n[0]/(e/2):0,t?-1+n[1]/(t/2):0]}function getDirectionOffset(n,e,t,i){i===void 0&&(i=n.state.allMatrix);var r=n.state,g=r.width,y=r.height,k=r.is3d,L=k?4:3,V=[g/2*(1+e[0])+t[0],y/2*(1+e[1])+t[1]];return calculatePosition(i,V,L)}function getRotateDist(n,e,t){var i=t.fixedDirection,r=t.fixedPosition,g=t.fixedOffset;return getTranslateDist(n,"rotate(".concat(e,"deg)"),i,r,g,t)}function getResizeDist(n,e,t,i,r,g){var y=n.props.groupable,k=n.state,L=k.transformOrigin,V=k.offsetMatrix,z=k.is3d,j=k.width,ie=k.height,oe=k.left,re=k.top,ae=g.fixedDirection,le=g.nextTargetMatrix||k.targetMatrix,de=z?4:3,ue=calculateTransformOrigin(r,e,t,j,ie,L),he=y?oe:0,pe=y?re:0,Ce=getNextMatrix(V,le,ue,de),$e=getDist(i,Ce,e,t,de,ae);return minus($e,[he,pe])}function getAbsolutePosition(n,e){return getPosByDirection(getAbsolutePosesByState(n.state),e)}function getGestoData(n,e){var t=n.targetGesto,i=n.controlGesto,r;return t!=null&&t.isFlag()&&(r=t.getEventData()[e]),!r&&(i!=null&&i.isFlag())&&(r=i.getEventData()[e]),r||{}}function getShadowRoot(n){if(n&&n.getRootNode){var e=n.getRootNode();if(e.nodeType===11)return e}}function getIndividualTransforms(n){var e=n("scale"),t=n("rotate"),i=n("translate"),r=[];return i&&i!=="0px"&&i!=="none"&&r.push("translate(".concat(i.split(/\s+/).join(","),")")),t&&t!=="1"&&t!=="none"&&r.push("rotate(".concat(t,")")),e&&e!=="1"&&e!=="none"&&r.push("scale(".concat(e.split(/\s+/).join(","),")")),r}function getMatrixStackInfo(n,e,t){for(var i=n,r=[],g=getDocumentElement(n)||getDocumentBody(n),y=!t&&n===e||n===g,k=y,L=!1,V=3,z,j,ie,oe=!1,re=getOffsetInfo(e,e,!0).offsetParent,ae=1;i&&!k;){k=y;var le=getCachedStyle(i),de=le("position"),ue=getElementTransform(i),he=de==="fixed",pe=getIndividualTransforms(le),Ce=convertCSStoMatrix(getTransformMatrix(ue)),$e=void 0,xe=!1,Ie=!1,Ne=0,Fe=0,Ve=0,Oe=0,ze={hasTransform:!1,fixedContainer:null};he&&(oe=!0,ze=getPositionFixedInfo(i),re=ze.fixedContainer);var qe=Ce.length;!L&&(qe===16||pe.length)&&(L=!0,V=4,convert3DMatrixes(r),ie&&(ie=convertDimension(ie,3,4))),L&&qe===9&&(Ce=convertDimension(Ce,3,4));var Ue=getOffsetPosInfo(i,n),Et=Ue.tagName,At=Ue.hasOffset,Lt=Ue.isSVG,kt=Ue.origin,ei=Ue.targetOrigin,jt=Ue.offset,ri=__read(jt,2),ni=ri[0],Ci=ri[1];Et==="svg"&&!i.ownerSVGElement&&ie&&(r.push({type:"target",target:i,matrix:getSVGMatrix(i,V)}),r.push({type:"offset",target:i,matrix:createIdentityMatrix(V)}));var wi=parseFloat(le("zoom"))||1;if(he)$e=ze.fixedContainer,xe=!0;else{var Ri=getOffsetInfo(i,e,!1,!0,le),ai=Ri.offsetZoom;if($e=Ri.offsetParent,xe=Ri.isEnd,Ie=Ri.isStatic,ae*=ai,(Ri.isCustomElement||ai!==1)&&Ie)ni-=$e.offsetLeft,Ci-=$e.offsetTop;else if(IS_FIREFOX||IS_CHROMIUM109){var hi=Ri.parentSlotElement;if(hi){for(var xi=$e,Oi=0,Ei=0;xi&&getShadowRoot(xi);)Oi+=xi.offsetLeft,Ei+=xi.offsetTop,xi=xi.offsetParent;ni-=Oi,Ci-=Ei}}}if(IS_WEBKIT&&!IS_SAFARI_ABOVE15&&At&&!Lt&&Ie&&(de==="relative"||de==="static")&&(ni-=$e.offsetLeft,Ci-=$e.offsetTop,y=y||xe),he)At&&ze.hasTransform&&(Ve=$e.clientLeft,Oe=$e.clientTop);else if(At&&re!==$e&&(Ne=$e.clientLeft,Fe=$e.clientTop),At&&$e===g){var si=getBodyOffset(i,!1);ni+=si[0],Ci+=si[1]}if(r.push({type:"target",target:i,matrix:getAbsoluteMatrix(Ce,V,kt)}),pe.length&&(r.push({type:"offset",target:i,matrix:createIdentityMatrix(V)}),r.push({type:"target",target:i,matrix:getAbsoluteMatrix(parseMat(pe),V,kt)})),At){var fi=i===n,li=fi?0:i.scrollLeft,Di=fi?0:i.scrollTop;r.push({type:"offset",target:i,matrix:createOriginMatrix([ni-li+Ne-Ve,Ci-Di+Fe-Oe],V)})}else r.push({type:"offset",target:i,origin:kt});if(wi!==1&&r.push({type:"zoom",target:i,matrix:getAbsoluteMatrix(createScaleMatrix([wi,wi],V),V,[0,0])}),ie||(ie=Ce),z||(z=kt),j||(j=ei),k||he)break;i=$e,y=xe,(!t||i===g)&&(k=y)}return ie||(ie=createIdentityMatrix(V)),z||(z=[0,0]),j||(j=[0,0]),{zoom:ae,offsetContainer:re,matrixes:r,targetMatrix:ie,transformOrigin:z,targetOrigin:j,is3d:L,hasFixed:oe}}var cacheStyleMap=null,clientRectStyleMap=null,matrixContainerInfos=null;function setStoreCache(n){n?(window.Map&&(cacheStyleMap=new Map,clientRectStyleMap=new Map),matrixContainerInfos=[]):(cacheStyleMap=null,matrixContainerInfos=null,clientRectStyleMap=null)}function getCachedClientRect(n){var e=clientRectStyleMap==null?void 0:clientRectStyleMap.get(n);if(e)return e;var t=getClientRect(n,!0);return clientRectStyleMap&&clientRectStyleMap.set(n,t),t}function getCachedMatrixContainerInfo(n,e){if(matrixContainerInfos){var t=find$1(matrixContainerInfos,function(r){return r[0][0]==n&&r[0][1]==e});if(t)return t[1]}var i=getMatrixStackInfo(n,e,!0);return matrixContainerInfos&&matrixContainerInfos.push([[n,e],i]),i}function getCachedStyle(n){var e=cacheStyleMap==null?void 0:cacheStyleMap.get(n);if(!e){var t=getWindow(n).getComputedStyle(n);if(!cacheStyleMap)return function(g){return t[g]};e={style:t,cached:{}},cacheStyleMap.set(n,e)}var i=e.cached,r=e.style;return function(g){return g in i||(i[g]=r[g]),i[g]}}function fillChildEvents(n,e,t){var i=t.originalDatas;i.groupable=i.groupable||{};var r=i.groupable;r.childDatas=r.childDatas||[];var g=r.childDatas;return n.moveables.map(function(y,k){return g[k]=g[k]||{},g[k][e]=g[k][e]||{},__assign$4(__assign$4({},t),{isRequestChild:!0,datas:g[k][e],originalDatas:g[k]})})}function triggerChildGesto(n,e,t,i,r,g,y){var k=!!t.match(/Start$/g),L=!!t.match(/End$/g),V=r.isPinch,z=r.datas,j=fillChildEvents(n,e.name,r),ie=n.moveables,oe=[],re=j.map(function(ae,le){var de=ie[le],ue=de.state,he=ue.gestos,pe=ae;if(k)pe=new CustomGesto(y).dragStart(i,ae),oe.push(pe);else{if(he[y]||(he[y]=z.childGestos[le]),!he[y])return;pe=setCustomDrag(ae,ue,i,V,g,y),oe.push(pe)}var Ce=e[t](de,__assign$4(__assign$4({},pe),{parentFlag:!0}));return L&&(he[y]=null),Ce});return k&&(z.childGestos=ie.map(function(ae){return ae.state.gestos[y]})),{eventParams:re,childEvents:oe}}function triggerChildAbles(n,e,t,i,r,g){r===void 0&&(r=function(z,j){return j});var y=!!t.match(/End$/g),k=fillChildEvents(n,e.name,i),L=n.moveables,V=k.map(function(z,j){var ie=L[j],oe=z;oe=r(ie,z);var re=e[t](ie,__assign$4(__assign$4({},oe),{parentFlag:!0}));return y&&(ie.state.gestos={}),re});return V}function startChildDist(n,e,t,i){var r=t.fixedDirection,g=t.fixedPosition,y=i.datas.startPositions||getAbsolutePosesByState(e.state),k=getPosByDirection(y,r),L=__read(calculate(createRotateMatrix(-n.rotation/180*Math.PI,3),[k[0]-g[0],k[1]-g[1],1],3),2),V=L[0],z=L[1];return i.datas.originalX=V,i.datas.originalY=z,i}function renderDirectionControlsByInfos(n,e,t,i){var r=n.getState(),g=r.renderPoses,y=r.rotation,k=r.direction,L=getProps(n.props,e).zoom,V=absDegree(y/Math.PI*180),z={},j=n.renderState;j.renderDirectionMap||(j.renderDirectionMap={});var ie=j.renderDirectionMap;t.forEach(function(re){var ae=re.dir;z[ae]=!0});var oe=sign(k);return t.map(function(re){var ae=re.data,le=re.classNames,de=re.dir,ue=DIRECTION_INDEXES[de];if(!ue||!z[de])return null;ie[de]=!0;var he=(throttle(V,15)+oe*DIRECTION_ROTATIONS[de]+720)%180,pe={};return getKeys(ae).forEach(function(Ce){pe["data-".concat(Ce)]=ae[Ce]}),i.createElement("div",__assign$4({className:prefix$1.apply(void 0,__spreadArray$1(["control","direction",de,e],__read(le),!1)),"data-rotation":he,"data-direction":de},pe,{key:"direction-".concat(de),style:getControlTransform.apply(void 0,__spreadArray$1([y,L],__read(ue.map(function(Ce){return g[Ce]})),!1))}))})}function renderDirectionControls(n,e,t,i){var r=getProps(n.props,t),g=r.renderDirections,y=g===void 0?e:g,k=r.displayAroundControls;if(!y)return[];var L=y===!0?DIRECTIONS:y;return __spreadArray$1(__spreadArray$1([],__read(k?renderAroundControls(n,i,t,L):[]),!1),__read(renderDirectionControlsByInfos(n,t,L.map(function(V){return{data:{},classNames:[],dir:V}}),i)),!1)}function renderLine(n,e,t,i,r,g){for(var y=[],k=6;k0,ae=ie>0,le={isBound:!1,offset:0,pos:0},de={isBound:!1,offset:0,pos:0};if(ie===0&&oe===0)return{vertical:le,horizontal:de};if(ie===0)re?kz&&(de.pos=g,de.offset=z-g);else if(oe===0)ae?yV&&(le.pos=r,le.offset=V-r);else{var ue=oe/ie,he=t[1]-ue*V,pe=0,Ce=0,$e=!1;ae&&y<=V?(pe=ue*y+he,Ce=y,$e=!0):!ae&&V<=r&&(pe=ue*r+he,Ce=r,$e=!0),$e&&(pek)&&($e=!1),$e||(re&&k<=z?(pe=k,Ce=(pe-he)/ue,$e=!0):!re&&z<=g&&(pe=g,Ce=(pe-he)/ue,$e=!0)),$e&&(le.isBound=!0,le.pos=Ce,le.offset=V-Ce,de.isBound=!0,de.pos=pe,de.offset=z-pe)}return{vertical:le,horizontal:de}}function checkBounds(n,e,t){var i=n[t?"left":"top"],r=n[t?"right":"bottom"],g=Math.min.apply(Math,__spreadArray$1([],__read(e),!1)),y=Math.max.apply(Math,__spreadArray$1([],__read(e),!1)),k=[];return i+1>g&&k.push({direction:"start",isBound:!0,offset:g-i,pos:i}),r-1.1||r[0]>e.right&&abs(r[0]-e.right)>.1||r[1].1||r[1]>e.bottom&&abs(r[1]-e.bottom)>.1})}function boundRotate(n,e,t){var i=getDistSize(n),r=Math.sqrt(i*i-e*e)||0;return[r,-r].sort(function(g,y){return abs(g-n[t?0:1])-abs(y-n[t?0:1])}).map(function(g){return getRad$1([0,0],t?[g,e]:[e,g])})}function checkRotateBounds(n,e,t,i,r){if(!n.props.bounds)return[];var g=r*Math.PI/180,y=getBounds(n),k=y.left,L=y.top,V=y.right,z=y.bottom,j=k-i[0],ie=V-i[0],oe=L-i[1],re=z-i[1],ae={left:j,top:oe,right:ie,bottom:re};if(!isBoundRotate$1(t,ae,0))return[];var le=[];return[[j,0],[ie,0],[oe,1],[re,1]].forEach(function(de){var ue=__read(de,2),he=ue[0],pe=ue[1];t.forEach(function(Ce){var $e=getRad$1([0,0],Ce);le.push.apply(le,__spreadArray$1([],__read(boundRotate(Ce,he,pe).map(function(xe){return g+xe-$e}).filter(function(xe){return!isBoundRotate$1(e,ae,xe)}).map(function(xe){return throttle(xe*180/Math.PI,TINY_NUM)})),!1))})}),le}var VERTICAL_NAMES=["left","right","center"],HORIZONTAL_NAMES=["top","bottom","middle"],SNAP_SKIP_NAMES_MAP={left:"start",right:"end",center:"center",top:"start",bottom:"end",middle:"center"},VERTICAL_NAMES_MAP={start:"left",end:"right",center:"center"},HORIZONTAL_NAMES_MAP={start:"top",end:"bottom",center:"middle"};function getInitialBounds(){return{left:!1,top:!1,right:!1,bottom:!1}}function hasGuidelines(n,e){var t=n.props,i=t.snappable,r=t.bounds,g=t.innerBounds,y=t.verticalGuidelines,k=t.horizontalGuidelines,L=t.snapGridWidth,V=t.snapGridHeight,z=n.state,j=z.guidelines,ie=z.enableSnap;return!i||!ie||e&&i!==!0&&i.indexOf(e)<0?!1:!!(L||V||r||g||j&&j.length||y&&y.length||k&&k.length)}function getSnapDirections(n){return n===!1?{}:n===!0||!n?{left:!0,right:!0,top:!0,bottom:!0}:n}function mapSnapDirectionPoses(n,e){var t=getSnapDirections(n),i={};for(var r in t)r in e&&t[r]&&(i[r]=e[r]);return i}function splitSnapDirectionPoses(n,e){var t=mapSnapDirectionPoses(n,e),i=HORIZONTAL_NAMES.filter(function(g){return g in t}),r=VERTICAL_NAMES.filter(function(g){return g in t});return{horizontalNames:i,verticalNames:r,horizontal:i.map(function(g){return t[g]}),vertical:r.map(function(g){return t[g]})}}function calculateContainerPos(n,e,t){var i=calculatePosition(n,[e.clientLeft,e.clientTop],t);return[e.left+i[0],e.top+i[1]]}function solveLineConstants(n){var e=__read(n,2),t=e[0],i=e[1],r=i[0]-t[0],g=i[1]-t[1];Math.abs(r)0,oe=z>0;z=getTinyDist(z),j=getTinyDist(j);var re={isSnap:!1,offset:0,pos:0},ae={isSnap:!1,offset:0,pos:0};if(z===0&&j===0)return{vertical:re,horizontal:ae};var le=checkMoveableSnapPoses(n,z?[r]:[],j?[g]:[],[],[],void 0,void 0),de=le.vertical,ue=le.horizontal;de.posInfos.filter(function(Et){var At=Et.pos;return oe?At>=k:At<=k}),ue.posInfos.filter(function(Et){var At=Et.pos;return ie?At>=L:At<=L}),de.isSnap=de.posInfos.length>0,ue.isSnap=ue.posInfos.length>0;var he=getNearestSnapGuidelineInfo(de),pe=he.isSnap,Ce=he.guideline,$e=getNearestSnapGuidelineInfo(ue),xe=$e.isSnap,Ie=$e.guideline,Ne=xe?Ie.pos[1]:0,Fe=pe?Ce.pos[0]:0;if(z===0)xe&&(ae.isSnap=!0,ae.pos=Ie.pos[1],ae.offset=g-ae.pos);else if(j===0)pe&&(re.isSnap=!0,re.pos=Fe,re.offset=r-Fe);else{var Ve=j/z,Oe=t[1]-Ve*r,ze=0,qe=0,Ue=!1;pe?(qe=Fe,ze=Ve*qe+Oe,Ue=!0):xe&&(ze=Ne,qe=(ze-Oe)/Ve,Ue=!0),Ue&&(re.isSnap=!0,re.pos=qe,re.offset=r-qe,ae.isSnap=!0,ae.pos=ze,ae.offset=g-ze)}return{vertical:re,horizontal:ae}}function getStringDirection(n){var e="";return n===-1||n==="top"||n==="left"?e="start":n===0||n==="center"||n==="middle"?e="center":(n===1||n==="right"||n==="bottom")&&(e="end"),e}function checkSnaps(n,e,t,i){var r=splitSnapDirectionPoses(n.props.snapDirections,e),g=checkMoveableSnapPoses(n,r.vertical,r.horizontal,r.verticalNames.map(function(L){return getStringDirection(L)}),r.horizontalNames.map(function(L){return getStringDirection(L)}),t,i),y=getStringDirection(r.horizontalNames[g.horizontal.index]),k=getStringDirection(r.verticalNames[g.vertical.index]);return{vertical:__assign$4(__assign$4({},g.vertical),{direction:k}),horizontal:__assign$4(__assign$4({},g.horizontal),{direction:y})}}function getNearestSnapGuidelineInfo(n){var e=n.isSnap;if(!e)return{isSnap:!1,offset:0,dist:-1,pos:0,guideline:null};var t=n.posInfos[0],i=t.guidelineInfos[0],r=i.offset,g=i.dist,y=i.guideline;return{isSnap:e,offset:r,dist:g,pos:t.pos,guideline:y}}function checkSnap(n,e,t,i,r){var g,y;if(r===void 0&&(r=[]),!n||!n.length)return{isSnap:!1,index:-1,direction:"",posInfos:[]};var k=e==="vertical",L=k?0:1,V=t.map(function(j,ie){var oe=r[ie]||"",re=n.map(function(ae){var le=ae.pos,de=j-le[L];return{offset:de,dist:abs(de),guideline:ae,direction:oe}}).filter(function(ae){var le=ae.guideline,de=ae.dist,ue=le.type;return!(ue!==e||de>i)}).sort(function(ae,le){return ae.dist-le.dist});return{pos:j,index:ie,guidelineInfos:re,direction:oe}}).filter(function(j){return j.guidelineInfos.length>0}).sort(function(j,ie){return j.guidelineInfos[0].dist-ie.guidelineInfos[0].dist}),z=V.length>0;return{isSnap:z,index:z?V[0].index:-1,direction:(y=(g=V[0])===null||g===void 0?void 0:g.direction)!==null&&y!==void 0?y:"",posInfos:V}}function getSnapInfosByDirection(n,e,t,i,r){var g=[];t[0]&&t[1]?g=[t,[-t[0],t[1]],[t[0],-t[1]]]:!t[0]&&!t[1]?[[-1,-1],[1,-1],[1,1],[-1,1]].forEach(function(ie,oe,re){var ae=re[oe+1]||re[0];g.push(ie),g.push([(ie[0]+ae[0])/2,(ie[1]+ae[1])/2])}):n.props.keepRatio?g.push([-1,-1],[-1,1],[1,-1],[1,1],t):(g.push.apply(g,__spreadArray$1([],__read(getPosesByDirection([[-1,-1],[1,-1],[-1,-1],[1,1]],t)),!1)),g.length>1&&g.push([(g[0][0]+g[1][0])/2,(g[0][1]+g[1][1])/2]));var y=g.map(function(ie){return getPosByDirection(e,ie)}),k=y.map(function(ie){return ie[0]}),L=y.map(function(ie){return ie[1]}),V=checkMoveableSnapPoses(n,k,L,g.map(function(ie){return getStringDirection(ie[0])}),g.map(function(ie){return getStringDirection(ie[1])}),i,r),z=getStringDirection(g.map(function(ie){return ie[0]})[V.vertical.index]),j=getStringDirection(g.map(function(ie){return ie[1]})[V.horizontal.index]);return{vertical:__assign$4(__assign$4({},V.vertical),{direction:z}),horizontal:__assign$4(__assign$4({},V.horizontal),{direction:j})}}function checkSnapBoundPriority(n,e){var t=abs(n.offset),i=abs(e.offset);return n.isBound&&e.isBound?i-t:n.isBound?-1:e.isBound?1:n.isSnap&&e.isSnap?i-t:n.isSnap?-1:e.isSnap||ty||L>y,z=__read(getDragDist({datas:r,distX:g[0],distY:g[1]}),2),j=z[0],ie=z[1];return{offset:[j,ie],isOutside:V}}function getSnapBound(n,e){return n.isBound?n.offset:e.isSnap?getNearestSnapGuidelineInfo(e).offset:0}function checkThrottleDragRotate(n,e,t,i,r){var g=__read(e,2),y=g[0],k=g[1],L=__read(t,2),V=L[0],z=L[1],j=__read(i,2),ie=j[0],oe=j[1],re=__read(r,2),ae=re[0],le=re[1],de=-ae,ue=-le;if(n&&y&&k){de=0,ue=0;var he=[];if(V&&z?he.push([0,le],[ae,0]):V?he.push([ae,0]):z?he.push([0,le]):ie&&oe?he.push([0,le],[ae,0]):ie?he.push([ae,0]):oe&&he.push([0,le]),he.length){he.sort(function(xe,Ie){return getDistSize(minus([y,k],xe))-getDistSize(minus([y,k],Ie))});var pe=he[0];if(pe[0]&&abs(y)>TINY_NUM$1)de=-pe[0],ue=k*abs(y+de)/abs(y)-k;else if(pe[1]&&abs(k)>TINY_NUM$1){var Ce=k;ue=-pe[1],de=y*abs(k+ue)/abs(Ce)-y}if(n&&z&&V)if(abs(de)>TINY_NUM$1&&abs(de)TINY_NUM$1&&abs(ue)177,ae=oe>87&&oe<93;return ie0&&(j||ie)){var Fe=de.startDragRotate||0,Ve=throttle(Fe+getRad$1([0,0],[j,ie])*180/Math.PI,pe)-Fe,Oe=ie*Math.abs(Math.cos((Ve-90)/180*Math.PI)),ze=j*Math.abs(Math.cos(Ve/180*Math.PI)),qe=getDistSize([ze,Oe]);Ce=Ve*Math.PI/180,j=qe*Math.cos(Ce),ie=qe*Math.sin(Ce)}if(!g&&!i&&!r){var Ue=__read(checkSnapBoundsDrag(n,j,ie,pe,!k&&L||y,t),2),Et=Ue[0],At=Ue[1];$e=Et.isSnap,xe=Et.isBound,Ie=At.isSnap,Ne=At.isBound;var Lt=Et.offset,kt=At.offset;j+=Lt,ie+=kt}var ei=plus(getBeforeDragDist({datas:t,distX:j,distY:ie}),le),jt=plus(getTransformDist({datas:t,distX:j,distY:ie}),le);throttleArray(jt,TINY_NUM),throttleArray(ei,TINY_NUM),pe||(!$e&&!xe&&(jt[0]=throttle(jt[0],he),ei[0]=throttle(ei[0],he)),!Ie&&!Ne&&(jt[1]=throttle(jt[1],he),ei[1]=throttle(ei[1],he)));var ri=minus(ei,le),ni=minus(jt,le),Ci=minus(ni,re),wi=minus(ri,ae);t.prevDist=ni,t.prevBeforeDist=ri,t.passDelta=Ci,t.passDist=ni;var Ri=t.left+ri[0],ai=t.top+ri[1],hi=t.right-ri[0],xi=t.bottom-ri[1],Oi=convertTransformFormat(t,"translate(".concat(jt[0],"px, ").concat(jt[1],"px)"),"translate(".concat(ni[0],"px, ").concat(ni[1],"px)"));if(fillOriginalTransform(e,Oi),n.state.dragInfo.dist=i?[0,0]:ni,!(!i&&!ue&&Ci.every(function(Di){return!Di})&&wi.some(function(Di){return!Di}))){var Ei=n.state,si=Ei.width,fi=Ei.height,li=fillParams(n,e,__assign$4({transform:Oi,dist:ni,delta:Ci,translate:jt,beforeDist:ri,beforeDelta:wi,beforeTranslate:ei,left:Ri,top:ai,right:hi,bottom:xi,width:si,height:fi,isPinch:g},fillCSSObject({transform:Oi},e)));return!i&&triggerEvent(n,"onDrag",li),li}}}},dragAfter:function(n,e){var t=e.datas,i=t.deltaOffset;return i[0]||i[1]?(t.deltaOffset=[0,0],this.drag(n,__assign$4(__assign$4({},e),{deltaOffset:i}))):!1},dragEnd:function(n,e){var t=e.parentEvent,i=e.datas;if(n.state.dragInfo=null,!!i.isDrag){i.isDrag=!1;var r=fillEndParams(n,e,{});return!t&&triggerEvent(n,"onDragEnd",r),r}},dragGroupStart:function(n,e){var t,i,r=e.datas,g=e.clientX,y=e.clientY,k=this.dragStart(n,e);if(!k)return!1;var L=triggerChildGesto(n,this,"dragStart",[g||0,y||0],e,!1,"draggable"),V=L.childEvents,z=L.eventParams,j=__assign$4(__assign$4({},k),{targets:n.props.targets,events:z}),ie=triggerEvent(n,"onDragGroupStart",j);r.isDrag=ie!==!1;var oe=(i=(t=V[0])===null||t===void 0?void 0:t.datas.startValue)!==null&&i!==void 0?i:[0,0];return r.throttleOffset=[oe[0]%1,oe[1]%1],r.isDrag?k:!1},dragGroup:function(n,e){var t=e.datas;if(t.isDrag){var i=this.drag(n,__assign$4(__assign$4({},e),{parentThrottleDrag:n.props.throttleDrag})),r=e.datas.passDelta,g=triggerChildGesto(n,this,"drag",r,e,!1,"draggable").eventParams;if(i){var y=__assign$4({targets:n.props.targets,events:g},i);return triggerEvent(n,"onDragGroup",y),y}}},dragGroupEnd:function(n,e){var t=e.isDrag,i=e.datas;if(i.isDrag){this.dragEnd(n,e);var r=triggerChildGesto(n,this,"dragEnd",[0,0],e,!1,"draggable").eventParams;return triggerEvent(n,"onDragGroupEnd",fillEndParams(n,e,{targets:n.props.targets,events:r})),t}},request:function(n){var e={},t=n.getRect(),i=0,r=0,g=!1;return{isControl:!1,requestStart:function(y){return g=y.useSnap,{datas:e,useSnap:g}},request:function(y){return"x"in y?i=y.x-t.left:"deltaX"in y&&(i+=y.deltaX),"y"in y?r=y.y-t.top:"deltaY"in y&&(r+=y.deltaY),{datas:e,distX:i,distY:r,useSnap:g}},requestEnd:function(){return{datas:e,isDrag:!0,useSnap:g}}}},unset:function(n){n.state.gestos.draggable=null,n.state.dragInfo=null}};function getFixedDirectionInfo(n,e){var t=getPosByDirection(n,e),i=[0,0];return{fixedPosition:t,fixedDirection:e,fixedOffset:i}}function getOffsetFixedDirectionInfo(n,e){var t=n.allMatrix,i=n.is3d,r=n.width,g=n.height,y=i?4:3,k=[r/2*(1+e[0]),g/2*(1+e[1])],L=calculatePosition(t,k,y),V=[0,0];return{fixedPosition:L,fixedDirection:e,fixedOffset:V}}function getOffsetFixedPositionInfo(n,e){var t=n.allMatrix,i=n.is3d,r=n.width,g=n.height,y=i?4:3,k=getDirectionByPos(e,r,g),L=calculatePosition(t,e,y),V=[r?0:e[0],g?0:e[1]];return{fixedPosition:L,fixedDirection:k,fixedOffset:V}}var directionCondition$2=getDirectionCondition("resizable"),Resizable={name:"resizable",ableGroup:"size",canPinch:!0,props:["resizable","throttleResize","renderDirections","displayAroundControls","keepRatio","resizeFormat","keepRatioFinally","edge","checkResizableError"],events:["resizeStart","beforeResize","resize","resizeEnd","resizeGroupStart","beforeResizeGroup","resizeGroup","resizeGroupEnd"],render:getRenderDirections("resizable"),dragControlCondition:directionCondition$2,viewClassName:getDirectionViewClassName("resizable"),dragControlStart:function(n,e){var t,i=e.inputEvent,r=e.isPinch,g=e.isGroup,y=e.parentDirection,k=e.parentGesto,L=e.datas,V=e.parentFixedDirection,z=e.parentEvent,j=getTotalDirection(y,r,i,L),ie=n.state,oe=ie.target,re=ie.width,ae=ie.height,le=ie.gestos;if(!j||!oe||le.resizable)return!1;le.resizable=k||n.controlGesto,!r&&setDragStart(n,e),L.datas={},L.direction=j,L.startOffsetWidth=re,L.startOffsetHeight=ae,L.prevWidth=0,L.prevHeight=0,L.minSize=[0,0],L.startWidth=ie.inlineCSSWidth||ie.cssWidth,L.startHeight=ie.inlineCSSHeight||ie.cssHeight,L.maxSize=[1/0,1/0],g||(L.minSize=[ie.minOffsetWidth,ie.minOffsetHeight],L.maxSize=[ie.maxOffsetWidth,ie.maxOffsetHeight]);var de=n.props.transformOrigin||"% %";L.transformOrigin=isString$1(de)?de.split(" "):de,L.startOffsetMatrix=ie.offsetMatrix,L.startTransformOrigin=ie.transformOrigin,L.isWidth=(t=e==null?void 0:e.parentIsWidth)!==null&&t!==void 0?t:!j[0]&&!j[1]||j[0]||!j[1];function ue(Ne){L.ratio=Ne&&isFinite(Ne)?Ne:0}L.startPositions=getAbsolutePosesByState(n.state);function he(Ne){var Fe=getFixedDirectionInfo(L.startPositions,Ne);L.fixedDirection=Fe.fixedDirection,L.fixedPosition=Fe.fixedPosition,L.fixedOffset=Fe.fixedOffset}function pe(Ne){var Fe=getOffsetFixedPositionInfo(n.state,Ne);L.fixedDirection=Fe.fixedDirection,L.fixedPosition=Fe.fixedPosition,L.fixedOffset=Fe.fixedOffset}function Ce(Ne){L.minSize=[convertUnitSize("".concat(Ne[0]),0)||0,convertUnitSize("".concat(Ne[1]),0)||0]}function $e(Ne){var Fe=[Ne[0]||1/0,Ne[1]||1/0];(!isNumber$1(Fe[0])||isFinite(Fe[0]))&&(Fe[0]=convertUnitSize("".concat(Fe[0]),0)||1/0),(!isNumber$1(Fe[1])||isFinite(Fe[1]))&&(Fe[1]=convertUnitSize("".concat(Fe[1]),0)||1/0),L.maxSize=Fe}ue(re/ae),he(V||[-j[0],-j[1]]),L.setFixedDirection=he,L.setFixedPosition=pe,L.setMin=Ce,L.setMax=$e;var xe=fillParams(n,e,{direction:j,startRatio:L.ratio,set:function(Ne){var Fe=__read(Ne,2),Ve=Fe[0],Oe=Fe[1];L.startWidth=Ve,L.startHeight=Oe},setMin:Ce,setMax:$e,setRatio:ue,setFixedDirection:he,setFixedPosition:pe,setOrigin:function(Ne){L.transformOrigin=Ne},dragStart:Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))}),Ie=z||triggerEvent(n,"onResizeStart",xe);return L.startFixedDirection=L.fixedDirection,L.startFixedPosition=L.fixedPosition,Ie!==!1&&(L.isResize=!0,n.state.snapRenderInfo={request:e.isRequest,direction:j}),L.isResize?xe:!1},dragControl:function(n,e){var t,i=e.datas,r=e.parentFlag,g=e.isPinch,y=e.parentKeepRatio,k=e.dragClient,L=e.parentDist,V=e.useSnap,z=e.isRequest,j=e.isGroup,ie=e.parentEvent,oe=e.resolveMatrix,re=i.isResize,ae=i.transformOrigin,le=i.startWidth,de=i.startHeight,ue=i.prevWidth,he=i.prevHeight,pe=i.minSize,Ce=i.maxSize,$e=i.ratio,xe=i.startOffsetWidth,Ie=i.startOffsetHeight,Ne=i.isWidth;if(!re)return;if(oe){var Fe=n.state.is3d,Ve=i.startOffsetMatrix,Oe=i.startTransformOrigin,ze=Fe?4:3,qe=parseMat(getNextTransforms(e)),Ue=Math.sqrt(qe.length);ze!==Ue&&(qe=convertDimension(qe,Ue,ze));var Et=getNextMatrix(Ve,qe,Oe,ze),At=calculatePoses(Et,xe,Ie,ze);i.startPositions=At,i.nextTargetMatrix=qe,i.nextAllMatrix=Et}var Lt=getProps(n.props,"resizable"),kt=Lt.resizeFormat,ei=Lt.throttleResize,jt=ei===void 0?r?0:1:ei,ri=Lt.parentMoveable,ni=Lt.keepRatioFinally,Ci=i.direction,wi=Ci,Ri=0,ai=0;!Ci[0]&&!Ci[1]&&(wi=[1,1]);var hi=$e&&(y!=null?y:Lt.keepRatio)||!1;function xi(){var ii=i.fixedDirection,mi=getOffsetSizeDist(wi,hi,i,e);Ri=mi.distWidth,ai=mi.distHeight;var yi=wi[0]-ii[0]||hi?Math.max(xe+Ri,TINY_NUM):xe,ti=wi[1]-ii[1]||hi?Math.max(Ie+ai,TINY_NUM):Ie;return hi&&xe&&Ie&&(Ne?ti=yi/$e:yi=ti*$e),[yi,ti]}var Oi=__read(xi(),2),Ei=Oi[0],si=Oi[1];ie||(i.setFixedDirection(i.fixedDirection),triggerEvent(n,"onBeforeResize",fillParams(n,e,{startFixedDirection:i.startFixedDirection,startFixedPosition:i.startFixedPosition,setFixedDirection:function(ii){var mi;return i.setFixedDirection(ii),mi=__read(xi(),2),Ei=mi[0],si=mi[1],[Ei,si]},setFixedPosition:function(ii){var mi;return i.setFixedPosition(ii),mi=__read(xi(),2),Ei=mi[0],si=mi[1],[Ei,si]},boundingWidth:Ei,boundingHeight:si,setSize:function(ii){var mi;mi=__read(ii,2),Ei=mi[0],si=mi[1]}},!0)));var fi=k;k||(!r&&g?fi=getAbsolutePosition(n,[0,0]):fi=i.fixedPosition);var li=[0,0];g||(li=checkSnapResize(n,Ei,si,Ci,fi,!V&&z,i)),L&&(!L[0]&&(li[0]=0),!L[1]&&(li[1]=0));function Di(){var ii;kt&&(ii=__read(kt([Ei,si]),2),Ei=ii[0],si=ii[1]),Ei=throttle(Ei,jt),si=throttle(si,jt)}if(hi){wi[0]&&wi[1]&&li[0]&&li[1]&&(abs(li[0])>abs(li[1])?li[1]=0:li[0]=0);var ki=!li[0]&&!li[1];ki&&Di(),wi[0]&&!wi[1]||li[0]&&!li[1]||ki&&Ne?(Ei+=li[0],si=Ei/$e):(!wi[0]&&wi[1]||!li[0]&&li[1]||ki&&!Ne)&&(si+=li[1],Ei=si*$e)}else Ei+=li[0],si+=li[1],Ei=Math.max(0,Ei),si=Math.max(0,si);t=__read(calculateBoundSize([Ei,si],pe,Ce,hi?$e:!1),2),Ei=t[0],si=t[1],Di(),hi&&(j||ni)&&(Ne?si=Ei/$e:Ei=si*$e),Ri=Ei-xe,ai=si-Ie;var Ai=[Ri-ue,ai-he];i.prevWidth=Ri,i.prevHeight=ai;var Ki=getResizeDist(n,Ei,si,fi,ae,i);if(!(!ri&&Ai.every(function(ii){return!ii})&&Ki.every(function(ii){return!ii}))){var zi=Draggable.drag(n,setCustomDrag(e,n.state,Ki,!!g,!1,"draggable")),bi=zi.transform,vi=le+Ri,Li=de+ai,oi=fillParams(n,e,__assign$4({width:vi,height:Li,offsetWidth:Math.round(Ei),offsetHeight:Math.round(si),startRatio:$e,boundingWidth:Ei,boundingHeight:si,direction:Ci,dist:[Ri,ai],delta:Ai,isPinch:!!g,drag:zi},fillAfterTransform({style:{width:"".concat(vi,"px"),height:"".concat(Li,"px")},transform:bi},zi,e)));return!ie&&triggerEvent(n,"onResize",oi),oi}},dragControlAfter:function(n,e){var t=e.datas,i=t.isResize,r=t.startOffsetWidth,g=t.startOffsetHeight,y=t.prevWidth,k=t.prevHeight;if(!(!i||n.props.checkResizableError===!1)){var L=n.state,V=L.width,z=L.height,j=V-(r+y),ie=z-(g+k),oe=abs(j)>3,re=abs(ie)>3;if(oe&&(t.startWidth+=j,t.startOffsetWidth+=j,t.prevWidth+=j),re&&(t.startHeight+=ie,t.startOffsetHeight+=ie,t.prevHeight+=ie),oe||re)return this.dragControl(n,e)}},dragControlEnd:function(n,e){var t=e.datas,i=e.parentEvent;if(t.isResize){t.isResize=!1;var r=fillEndParams(n,e,{});return!i&&triggerEvent(n,"onResizeEnd",r),r}},dragGroupControlCondition:directionCondition$2,dragGroupControlStart:function(n,e){var t=e.datas,i=this.dragControlStart(n,__assign$4(__assign$4({},e),{isGroup:!0}));if(!i)return!1;var r=fillChildEvents(n,"resizable",e),g=t.startOffsetWidth,y=t.startOffsetHeight;function k(){var oe=t.minSize;r.forEach(function(re){var ae=re.datas,le=ae.minSize,de=ae.startOffsetWidth,ue=ae.startOffsetHeight,he=g*(de?le[0]/de:0),pe=y*(ue?le[1]/ue:0);oe[0]=Math.max(oe[0],he),oe[1]=Math.max(oe[1],pe)})}function L(){var oe=t.maxSize;r.forEach(function(re){var ae=re.datas,le=ae.maxSize,de=ae.startOffsetWidth,ue=ae.startOffsetHeight,he=g*(de?le[0]/de:0),pe=y*(ue?le[1]/ue:0);oe[0]=Math.min(oe[0],he),oe[1]=Math.min(oe[1],pe)})}var V=triggerChildAbles(n,this,"dragControlStart",e,function(oe,re){return startChildDist(n,oe,t,re)});k(),L();var z=function(oe){i.setFixedDirection(oe),V.forEach(function(re,ae){re.setFixedDirection(oe),startChildDist(n,re.moveable,t,r[ae])})};t.setFixedDirection=z;var j=__assign$4(__assign$4({},i),{targets:n.props.targets,events:V.map(function(oe){return __assign$4(__assign$4({},oe),{setMin:function(re){oe.setMin(re),k()},setMax:function(re){oe.setMax(re),L()}})}),setFixedDirection:z,setMin:function(oe){i.setMin(oe),k()},setMax:function(oe){i.setMax(oe),L()}}),ie=triggerEvent(n,"onResizeGroupStart",j);return t.isResize=ie!==!1,t.isResize?i:!1},dragGroupControl:function(n,e){var t=e.datas;if(t.isResize){var i=getProps(n.props,"resizable");catchEvent(n,"onBeforeResize",function(oe){triggerEvent(n,"onBeforeResizeGroup",fillParams(n,e,__assign$4(__assign$4({},oe),{targets:i.targets}),!0))});var r=this.dragControl(n,__assign$4(__assign$4({},e),{isGroup:!0}));if(r){var g=r.boundingWidth,y=r.boundingHeight,k=r.dist,L=i.keepRatio,V=[g/(g-k[0]),y/(y-k[1])],z=t.fixedPosition,j=triggerChildAbles(n,this,"dragControl",e,function(oe,re){var ae=__read(calculate(createRotateMatrix(n.rotation/180*Math.PI,3),[re.datas.originalX*V[0],re.datas.originalY*V[1],1],3),2),le=ae[0],de=ae[1];return __assign$4(__assign$4({},re),{parentDist:null,parentScale:V,dragClient:plus(z,[le,de]),parentKeepRatio:L})}),ie=__assign$4({targets:i.targets,events:j},r);return triggerEvent(n,"onResizeGroup",ie),ie}}},dragGroupControlEnd:function(n,e){var t=e.isDrag,i=e.datas;if(i.isResize){this.dragControlEnd(n,e);var r=triggerChildAbles(n,this,"dragControlEnd",e),g=fillEndParams(n,e,{targets:n.props.targets,events:r});return triggerEvent(n,"onResizeGroupEnd",g),t}},request:function(n){var e={},t=0,i=0,r=!1,g=n.getRect();return{isControl:!0,requestStart:function(y){var k;return r=y.useSnap,{datas:e,parentDirection:y.direction||[1,1],parentIsWidth:(k=y==null?void 0:y.horizontal)!==null&&k!==void 0?k:!0,useSnap:r}},request:function(y){return"offsetWidth"in y?t=y.offsetWidth-g.offsetWidth:"deltaWidth"in y&&(t+=y.deltaWidth),"offsetHeight"in y?i=y.offsetHeight-g.offsetHeight:"deltaHeight"in y&&(i+=y.deltaHeight),{datas:e,parentDist:[t,i],parentKeepRatio:y.keepRatio,useSnap:r}},requestEnd:function(){return{datas:e,isDrag:!0,useSnap:r}}}},unset:function(n){n.state.gestos.resizable=null}};function setRotateStartInfo(n,e,t,i,r){var g=n.props.groupable,y=n.state,k=y.is3d?4:3,L=e.origin,V=calculatePosition(n.state.rootMatrix,minus([L[0],L[1]],g?[0,0]:[y.left,y.top]),k),z=plus([r.left,r.top],V);e.startAbsoluteOrigin=z,e.prevDeg=getRad$1(z,[t,i])/Math.PI*180,e.defaultDeg=e.prevDeg,e.prevSnapDeg=0,e.loop=0,e.startDist=getDist$2(z,[t,i])}function getAbsoluteDist(n,e,t){var i=t.defaultDeg,r=t.prevDeg,g=r%360,y=Math.floor(r/360);g<0&&(g+=360),g>n&&g>270&&n<90?++y:g270&&--y;var k=e*(y*360+n-i);return t.prevDeg=i+k,k}function getAbsoluteDistByClient(n,e,t,i){return getAbsoluteDist(getRad$1(i.startAbsoluteOrigin,[n,e])/Math.PI*180,t,i)}function getRotateInfo(n,e,t,i,r,g){var y=n.props.throttleRotate,k=y===void 0?0:y,L=t.prevSnapDeg,V=0,z=!1;if(g){var j=checkSnapRotate(n,e,i,r+i);z=j.isSnap,V=r+j.dist}z||(V=throttle(r+i,k));var ie=V-r;return t.prevSnapDeg=ie,[ie-L,ie,V]}function getRotationPositions(n,e,t){var i=__read(e,4),r=i[0],g=i[1],y=i[2],k=i[3];if(n==="none")return[];if(isArray$1(n))return n.map(function(le){return getRotationPositions(le,[r,g,y,k],t)[0]});var L=__read((n||"top").split("-"),2),V=L[0],z=L[1],j=[r,g];V==="left"?j=[y,r]:V==="right"?j=[g,k]:V==="bottom"&&(j=[k,y]);var ie=[(j[0][0]+j[1][0])/2,(j[0][1]+j[1][1])/2],oe=getRotationRad(j,t);if(z){var re=z==="top"||z==="left",ae=V==="bottom"||V==="left";ie=j[re&&!ae||!re&&ae?0:1]}return[[ie,oe]]}function dragControlCondition(n,e){if(e.isRequest)return e.requestAble==="rotatable";var t=e.inputEvent.target;if(hasClass$1(t,prefix$1("rotation-control"))||n.props.rotateAroundControls&&hasClass$1(t,prefix$1("around-control"))||hasClass$1(t,prefix$1("control"))&&hasClass$1(t,prefix$1("rotatable")))return!0;var i=n.props.rotationTarget;return i?getRefTargets(i,!0).some(function(r){return r?t===r||t.contains(r):!1}):!1}var css=".rotation {\nposition: absolute;\nheight: 40px;\nwidth: 1px;\ntransform-origin: 50% 100%;\nheight: calc(40px * var(--zoom));\ntop: auto;\nleft: 0;\nbottom: 100%;\nwill-change: transform;\n}\n.rotation .rotation-line {\ndisplay: block;\nwidth: 100%;\nheight: 100%;\ntransform-origin: 50% 50%;\n}\n.rotation .rotation-control {\nborder-color: #4af;\nborder-color: var(--moveable-color);\nbackground:#fff;\ncursor: alias;\n}\n:global .view-rotation-dragging, .rotatable.direction.control {\ncursor: alias;\n}\n.rotatable.direction.control.move {\ncursor: move;\n}\n",Rotatable={name:"rotatable",canPinch:!0,props:["rotatable","rotationPosition","throttleRotate","renderDirections","rotationTarget","rotateAroundControls","edge","resolveAblesWithRotatable","displayAroundControls"],events:["rotateStart","beforeRotate","rotate","rotateEnd","rotateGroupStart","beforeRotateGroup","rotateGroup","rotateGroupEnd"],css:[css],viewClassName:function(n){return n.isDragging("rotatable")?prefix$1("view-rotation-dragging"):""},render:function(n,e){var t=getProps(n.props,"rotatable"),i=t.rotatable,r=t.rotationPosition,g=t.zoom,y=t.renderDirections,k=t.rotateAroundControls,L=t.resolveAblesWithRotatable,V=n.getState(),z=V.renderPoses,j=V.direction;if(!i)return null;var ie=getRotationPositions(r,z,j),oe=[];if(ie.forEach(function(de,ue){var he=__read(de,2),pe=he[0],Ce=he[1];oe.push(e.createElement("div",{key:"rotation".concat(ue),className:prefix$1("rotation"),style:{transform:"translate(-50%) translate(".concat(pe[0],"px, ").concat(pe[1],"px) rotate(").concat(Ce,"rad)")}},e.createElement("div",{className:prefix$1("line rotation-line"),style:{transform:"scaleX(".concat(g,")")}}),e.createElement("div",{className:prefix$1("control rotation-control"),style:{transform:"translate(0.5px) scale(".concat(g,")")}})))}),y){var re=getKeys(L||{}),ae={};re.forEach(function(de){L[de].forEach(function(ue){ae[ue]=de})});var le=[];isArray$1(y)&&(le=y.map(function(de){var ue=ae[de];return{data:ue?{resolve:ue}:{},classNames:ue?["move"]:[],dir:de}})),oe.push.apply(oe,__spreadArray$1([],__read(renderDirectionControlsByInfos(n,"rotatable",le,e)),!1))}return k&&oe.push.apply(oe,__spreadArray$1([],__read(renderAroundControls(n,e)),!1)),oe},dragControlCondition,dragControlStart:function(n,e){var t,i,r=e.datas,g=e.clientX,y=e.clientY,k=e.parentRotate,L=e.parentFlag,V=e.isPinch,z=e.isRequest,j=n.state,ie=j.target,oe=j.left,re=j.top,ae=j.direction,le=j.beforeDirection,de=j.targetTransform,ue=j.moveableClientRect,he=j.offsetMatrix,pe=j.targetMatrix,Ce=j.allMatrix,$e=j.width,xe=j.height;if(!z&&!ie)return!1;var Ie=n.getRect();r.rect=Ie,r.transform=de,r.left=oe,r.top=re;var Ne=function(wi){var Ri=getOffsetFixedPositionInfo(n.state,wi);r.fixedDirection=Ri.fixedDirection,r.fixedOffset=Ri.fixedOffset,r.fixedPosition=Ri.fixedPosition,jt&&jt.setFixedPosition(wi)},Fe=function(wi){var Ri=getOffsetFixedDirectionInfo(n.state,wi);r.fixedDirection=Ri.fixedDirection,r.fixedOffset=Ri.fixedOffset,r.fixedPosition=Ri.fixedPosition,jt&&jt.setFixedDirection(wi)},Ve=g,Oe=y;if(z||V||L){var ze=k||0;r.beforeInfo={origin:Ie.beforeOrigin,prevDeg:ze,defaultDeg:ze,prevSnapDeg:0,startDist:0},r.afterInfo=__assign$4(__assign$4({},r.beforeInfo),{origin:Ie.origin}),r.absoluteInfo=__assign$4(__assign$4({},r.beforeInfo),{origin:Ie.origin,startValue:ze})}else{var qe=(i=e.inputEvent)===null||i===void 0?void 0:i.target;if(qe){var Ue=qe.getAttribute("data-direction")||"",Et=DIRECTION_REGION_TO_DIRECTION[Ue];if(Et){r.isControl=!0,r.isAroundControl=hasClass$1(qe,prefix$1("around-control")),r.controlDirection=Et;var At=qe.getAttribute("data-resolve");At&&(r.resolveAble=At);var Lt=calculateMoveableClientPositions(j.rootMatrix,j.renderPoses,ue);t=__read(getPosByDirection(Lt,Et),2),Ve=t[0],Oe=t[1]}}r.beforeInfo={origin:Ie.beforeOrigin},r.afterInfo={origin:Ie.origin},r.absoluteInfo={origin:Ie.origin,startValue:Ie.rotation};var kt=Ne;Ne=function(wi){var Ri=j.is3d?4:3,ai=__read(plus(getOrigin(pe,Ri),wi),2),hi=ai[0],xi=ai[1],Oi=calculate(he,convertPositionMatrix([hi,xi],Ri)),Ei=calculate(Ce,convertPositionMatrix([wi[0],wi[1]],Ri));kt(wi);var si=j.posDelta;r.beforeInfo.origin=minus(Oi,si),r.afterInfo.origin=minus(Ei,si),r.absoluteInfo.origin=minus(Ei,si),setRotateStartInfo(n,r.beforeInfo,Ve,Oe,ue),setRotateStartInfo(n,r.afterInfo,Ve,Oe,ue),setRotateStartInfo(n,r.absoluteInfo,Ve,Oe,ue)},Fe=function(wi){var Ri=getPosByDirection([[0,0],[$e,0],[0,xe],[$e,xe]],wi);Ne(Ri)}}r.startClientX=Ve,r.startClientY=Oe,r.direction=ae,r.beforeDirection=le,r.startValue=0,r.datas={},setDefaultTransformIndex(n,e,"rotate");var ei=!1,jt=!1;if(r.isControl&&r.resolveAble){var ri=r.resolveAble;ri==="resizable"&&(jt=Resizable.dragControlStart(n,__assign$4(__assign$4({},new CustomGesto("resizable").dragStart([0,0],e)),{parentPosition:r.controlPosition,parentFixedPosition:r.fixedPosition})))}jt||(ei=Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))),Ne(getTotalOrigin(n));var ni=fillParams(n,e,__assign$4(__assign$4({set:function(wi){r.startValue=wi*Math.PI/180},setFixedDirection:Fe,setFixedPosition:Ne},fillTransformStartEvent(n,e)),{dragStart:ei,resizeStart:jt})),Ci=triggerEvent(n,"onRotateStart",ni);return r.isRotate=Ci!==!1,j.snapRenderInfo={request:e.isRequest},r.isRotate?ni:!1},dragControl:function(n,e){var t,i,r,g=e.datas,y=e.clientDistX,k=e.clientDistY,L=e.parentRotate,V=e.parentFlag,z=e.isPinch,j=e.groupDelta,ie=e.resolveMatrix,oe=g.beforeDirection,re=g.beforeInfo,ae=g.afterInfo,le=g.absoluteInfo,de=g.isRotate,ue=g.startValue,he=g.rect,pe=g.startClientX,Ce=g.startClientY;if(de){resolveTransformEvent(n,e,"rotate");var $e=getTransformDirection(e),xe=oe*$e,Ie=n.props.parentMoveable,Ne=0,Fe,Ve,Oe=0,ze,qe,Ue=0,Et,At,Lt=180/Math.PI*ue,kt=le.startValue,ei=!1,jt=pe+y,ri=Ce+k;if(!V&&"parentDist"in e){var ni=e.parentDist;Fe=ni,ze=ni,Et=ni}else z||V?(Fe=getAbsoluteDist(L,oe,re),ze=getAbsoluteDist(L,xe,ae),Et=getAbsoluteDist(L,xe,le)):(Fe=getAbsoluteDistByClient(jt,ri,oe,re),ze=getAbsoluteDistByClient(jt,ri,xe,ae),Et=getAbsoluteDistByClient(jt,ri,xe,le),ei=!0);if(Ve=Lt+Fe,qe=Lt+ze,At=kt+Et,triggerEvent(n,"onBeforeRotate",fillParams(n,e,{beforeRotation:Ve,rotation:qe,absoluteRotation:At,setRotation:function(fi){ze=fi-Lt,Fe=ze,Et=ze}},!0)),t=__read(getRotateInfo(n,he,re,Fe,Lt,ei),3),Ne=t[0],Fe=t[1],Ve=t[2],i=__read(getRotateInfo(n,he,ae,ze,Lt,ei),3),Oe=i[0],ze=i[1],qe=i[2],r=__read(getRotateInfo(n,he,le,Et,kt,ei),3),Ue=r[0],Et=r[1],At=r[2],!(!Ue&&!Oe&&!Ne&&!Ie&&!ie)){var Ci=convertTransformFormat(g,"rotate(".concat(qe,"deg)"),"rotate(".concat(ze,"deg)"));ie&&(g.fixedPosition=getTranslateFixedPosition(n,g.targetAllTransform,g.fixedDirection,g.fixedOffset,g));var wi=getRotateDist(n,ze,g),Ri=minus(plus(j||[0,0],wi),g.prevInverseDist||[0,0]);g.prevInverseDist=wi,g.requestValue=null;var ai=fillTransformEvent(n,Ci,Ri,z,e),hi=ai,xi=getDist$2([jt,ri],le.startAbsoluteOrigin)-le.startDist,Oi=void 0;if(g.resolveAble==="resizable"){var Ei=Resizable.dragControl(n,__assign$4(__assign$4({},setCustomDrag(e,n.state,[e.deltaX,e.deltaY],!!z,!1,"resizable")),{resolveMatrix:!0,parentDistance:xi}));Ei&&(Oi=Ei,hi=fillAfterTransform(hi,Ei,e))}var si=fillParams(n,e,__assign$4(__assign$4({delta:Oe,dist:ze,rotate:qe,rotation:qe,beforeDist:Fe,beforeDelta:Ne,beforeRotate:Ve,beforeRotation:Ve,absoluteDist:Et,absoluteDelta:Ue,absoluteRotate:At,absoluteRotation:At,isPinch:!!z,resize:Oi},ai),hi));return triggerEvent(n,"onRotate",si),si}}},dragControlEnd:function(n,e){var t=e.datas;if(t.isRotate){t.isRotate=!1;var i=fillEndParams(n,e,{});return triggerEvent(n,"onRotateEnd",i),i}},dragGroupControlCondition:dragControlCondition,dragGroupControlStart:function(n,e){var t=e.datas,i=n.state,r=i.left,g=i.top,y=i.beforeOrigin,k=this.dragControlStart(n,e);if(!k)return!1;k.set(t.beforeDirection*n.rotation);var L=triggerChildAbles(n,this,"dragControlStart",e,function(j,ie){var oe=j.state,re=oe.left,ae=oe.top,le=oe.beforeOrigin,de=plus(minus([re,ae],[r,g]),minus(le,y));return ie.datas.startGroupClient=de,ie.datas.groupClient=de,__assign$4(__assign$4({},ie),{parentRotate:0})}),V=__assign$4(__assign$4({},k),{targets:n.props.targets,events:L}),z=triggerEvent(n,"onRotateGroupStart",V);return t.isRotate=z!==!1,t.isRotate?k:!1},dragGroupControl:function(n,e){var t=e.datas;if(t.isRotate){catchEvent(n,"onBeforeRotate",function(V){triggerEvent(n,"onBeforeRotateGroup",fillParams(n,e,__assign$4(__assign$4({},V),{targets:n.props.targets}),!0))});var i=this.dragControl(n,e);if(i){var r=t.beforeDirection,g=i.beforeDist,y=g/180*Math.PI,k=triggerChildAbles(n,this,"dragControl",e,function(V,z){var j=z.datas.startGroupClient,ie=__read(z.datas.groupClient,2),oe=ie[0],re=ie[1],ae=__read(rotate(j,y*r),2),le=ae[0],de=ae[1],ue=[le-oe,de-re];return z.datas.groupClient=[le,de],__assign$4(__assign$4({},z),{parentRotate:g,groupDelta:ue})});n.rotation=r*i.beforeRotation;var L=__assign$4({targets:n.props.targets,events:k,set:function(V){n.rotation=V},setGroupRotation:function(V){n.rotation=V}},i);return triggerEvent(n,"onRotateGroup",L),L}}},dragGroupControlEnd:function(n,e){var t=e.isDrag,i=e.datas;if(i.isRotate){this.dragControlEnd(n,e);var r=triggerChildAbles(n,this,"dragControlEnd",e),g=fillEndParams(n,e,{targets:n.props.targets,events:r});return triggerEvent(n,"onRotateGroupEnd",g),t}},request:function(n){var e={},t=0,i=n.getRotation();return{isControl:!0,requestStart:function(){return{datas:e}},request:function(r){return"deltaRotate"in r?t+=r.deltaRotate:"rotate"in r&&(t=r.rotate-i),{datas:e,parentDist:t}},requestEnd:function(){return{datas:e,isDrag:!0}}}}};function renderGuideline(n,e){var t,i=n.direction,r=n.classNames,g=n.size,y=n.pos,k=n.zoom,L=n.key,V=i==="horizontal",z=V?"Y":"X";return e.createElement("div",{key:L,className:r.join(" "),style:(t={},t[V?"width":"height"]="".concat(g),t.transform="translate(".concat(y[0],", ").concat(y[1],") translate").concat(z,"(-50%) scale").concat(z,"(").concat(k,")"),t)})}function renderInnerGuideline(n,e){return renderGuideline(__assign$4(__assign$4({},n),{classNames:__spreadArray$1([prefix$1("line","guideline",n.direction)],__read(n.classNames),!1).filter(function(t){return t}),size:n.size||"".concat(n.sizeValue,"px"),pos:n.pos||n.posValue.map(function(t){return"".concat(throttle(t,.1),"px")})}),e)}function renderSnapPoses(n,e,t,i,r,g,y,k){var L=n.props.zoom;return t.map(function(V,z){var j=V.type,ie=V.pos,oe=[0,0];return oe[y]=i,oe[y?0:1]=-r+ie,renderInnerGuideline({key:"".concat(e,"TargetGuideline").concat(z),classNames:[prefix$1("target","bold",j)],posValue:oe,sizeValue:g,zoom:L,direction:e},k)})}function renderGuidelines(n,e,t,i,r,g){var y=n.props,k=y.zoom,L=y.isDisplayInnerSnapDigit,V=e==="horizontal"?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,z=r[V.start],j=r[V.end];return t.filter(function(ie){var oe=ie.hide,re=ie.elementRect;if(oe)return!1;if(L&&re){var ae=re.rect;if(ae[V.start]<=z&&j<=ae[V.end])return!1}return!0}).map(function(ie,oe){var re=ie.pos,ae=ie.size,le=ie.element,de=ie.className,ue=[-i[0]+re[0],-i[1]+re[1]];return renderInnerGuideline({key:"".concat(e,"-default-guideline-").concat(oe),classNames:le?[prefix$1("bold"),de]:[prefix$1("normal"),de],direction:e,posValue:ue,sizeValue:ae,zoom:k},g)})}function renderDigitLine(n,e,t,i,r,g,y,k){var L,V=n.props,z=V.snapDigit,j=z===void 0?0:z,ie=V.isDisplaySnapDigit,oe=ie===void 0?!0:ie,re=V.snapDistFormat,ae=re===void 0?function(Ce,$e){return Ce}:re,le=V.zoom,de=e==="horizontal"?"X":"Y",ue=e==="vertical"?"height":"width",he=Math.abs(r),pe=oe?parseFloat(he.toFixed(j)):0;return k.createElement("div",{key:"".concat(e,"-").concat(t,"-guideline-").concat(i),className:prefix$1("guideline-group",e),style:(L={left:"".concat(g[0],"px"),top:"".concat(g[1],"px")},L[ue]="".concat(he,"px"),L)},renderInnerGuideline({direction:e,classNames:[prefix$1(t),y],size:"100%",posValue:[0,0],sizeValue:he,zoom:le},k),k.createElement("div",{className:prefix$1("size-value","gap"),style:{transform:"translate".concat(de,"(-50%) scale(").concat(le,")")}},pe>0?ae(pe,e):""))}function groupByElementGuidelines(n,e,t,i){var r=n==="vertical"?0:1,g=n==="vertical"?1:0,y=r?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,k=t[y.start],L=t[y.end];return groupBy(e,function(V){return V.pos[r]}).map(function(V){var z=[],j=[],ie=[];return V.forEach(function(oe){var re,ae,le=oe.element,de=oe.elementRect.rect;if(de[y.end]0){var Fe=[0,0];Fe[V]=t[V]+$e[ie.start]-re-Ne,Fe[z]=Ce,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,Fe,xe.className,r))}$e=Ie}),$e=i,he.forEach(function(xe){var Ie=xe.elementRect.rect,Ne=Ie[ie.start]-$e[ie.end];if(Ne>0){var Fe=[0,0];Fe[V]=t[V]+$e[ie.end]-re,Fe[z]=Ce,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,Fe,xe.className,r))}$e=Ie}),pe.forEach(function(xe){var Ie=xe.elementRect.rect,Ne=re-Ie[ie.start],Fe=Ie[ie.end]-ae,Ve=[0,0],Oe=[0,0];Ve[V]=t[V]-Ne,Ve[z]=Ce,Oe[V]=t[V]+ae-re,Oe[z]=Ce,y.push(renderDigitLine(n,k,"dashed",y.length,Ne,Ve,xe.className,r)),y.push(renderDigitLine(n,k,"dashed",y.length,Fe,Oe,xe.className,r))})})}),y}function renderGapGuidelines(n,e,t,i,r){var g=[];return["horizontal","vertical"].forEach(function(y){var k=e.filter(function(le){return le.type===y}).slice(0,1),L=y==="vertical"?0:1,V=L?0:1,z=L?HORIZONTAL_NAMES_MAP:VERTICAL_NAMES_MAP,j=L?VERTICAL_NAMES_MAP:HORIZONTAL_NAMES_MAP,ie=i[z.start],oe=i[z.end],re=i[j.start],ae=i[j.end];k.forEach(function(le){var de=le.gap,ue=le.gapRects,he=Math.max.apply(Math,__spreadArray$1([re],__read(ue.map(function($e){var xe=$e.rect;return xe[j.start]})),!1)),pe=Math.min.apply(Math,__spreadArray$1([ae],__read(ue.map(function($e){var xe=$e.rect;return xe[j.end]})),!1)),Ce=(he+pe)/2;he===pe||Ce===(re+ae)/2||ue.forEach(function($e){var xe=$e.rect,Ie=$e.className,Ne=[t[0],t[1]];if(xe[z.end]he||Ne[re.end]0}).sort(function(Ie,Ne){return Ce(Ie)-Ce(Ne)}),xe=[];$e.forEach(function(Ie){$e.forEach(function(Ne){if(Ie!==Ne){var Fe=Ie.rect,Ve=Ne.rect,Oe=Fe[re.start],ze=Fe[re.end],qe=Ve[re.start],Ue=Ve[re.end];Oe>Ue||qe>ze||xe.push([Ie,Ne])}})}),xe.forEach(function(Ie){var Ne=__read(Ie,2),Fe=Ne[0],Ve=Ne[1],Oe=Fe.rect,ze=Ve.rect,qe=Oe[oe.start],Ue=Oe[oe.end],Et=ze[oe.start],At=ze[oe.end],Lt=pe[oe.start],kt=0,ei=0,jt=!1,ri=!1,ni=!1;if(Ue<=ae&&le<=Et){if(ri=!0,kt=(Et-Ue-(le-ae))/2,ei=Ue+kt+(le-ae)/2,abs(ei-de)>Lt)return}else if(UeLt)return}else if(UeLt)return}else return;kt&&checkBetweenRects(e,ze,ie,g)&&(kt>k||V.push({type:ie,pos:ie==="vertical"?[ei,0]:[0,ei],element:Ve.element,size:0,className:Ve.className,isStart:jt,isCenter:ri,isEnd:ni,gap:kt,hide:!0,gapRects:[Fe,Ve],direction:"",elementDirection:""}))})}),V}function startGridGroupGuidelines(n,e,t,i){var r,g,y=n.props,k=n.state,L=y.snapGridAll,V=y.snapGridWidth,z=V===void 0?0:V,j=y.snapGridHeight,ie=j===void 0?0:j,oe=k.snapRenderInfo,re=oe&&(((r=oe.direction)===null||r===void 0?void 0:r[0])||((g=oe.direction)===null||g===void 0?void 0:g[1])),ae=n.moveables;if(L&&ae&&re&&(z||ie)){if(k.snapThresholdInfo)return;k.snapThresholdInfo={multiples:[1,1],offset:[0,0]};var le=n.getRect(),de=le.children,ue=oe.direction;if(de){var he=ue.map(function(Ce,$e){var xe=$e===0?{snapSize:z,posName:"left",sizeName:"width",clientOffset:i.left-e}:{snapSize:ie,posName:"top",sizeName:"height",clientOffset:i.top-t},Ie=xe.snapSize,Ne=xe.posName,Fe=xe.sizeName,Ve=xe.clientOffset;if(!Ie)return{dir:Ce,multiple:1,snapSize:Ie,snapOffset:0};var Oe=le[Fe],ze=le[Ne],qe=flat$2(de.map(function(jt){return[jt[Ne]-ze,jt[Fe],Oe-jt[Fe]-jt[Ne]+ze]})).filter(function(jt){return jt}).sort(function(jt,ri){return jt-ri}),Ue=qe[0],Et=qe.map(function(jt){return throttle(jt/Ue,.1)*Ie}),At=1,Lt=throttle(Oe/Ue,.1);for(At=1;At<=10&&!Et.every(function(jt){return jt*At%1===0});++At);var kt=(-Ce+1)/2,ei=dot$1(ze-Ve,ze-Ve+Oe,kt,1-kt);return{multiple:Lt*At,dir:Ce,snapSize:Ie,snapOffset:Math.round(ei/Ie)}}),pe=he.map(function(Ce){return Ce.multiple||1});k.snapThresholdInfo.multiples=pe,k.snapThresholdInfo.offset=he.map(function(Ce){return Ce.snapOffset}),he.forEach(function(Ce,$e){Ce.snapSize})}}else k.snapThresholdInfo=null}function getGridGuidelines(n,e,t,i,r,g,y){i===void 0&&(i=0),r===void 0&&(r=0);var k=n.props,L=n.state,V=k.snapGridWidth,z=V===void 0?0:V,j=k.snapGridHeight,ie=j===void 0?0:j,oe=[],re=g.left,ae=g.top,le=[0,0];startGridGroupGuidelines(n,i,r,g);var de=L.snapThresholdInfo,ue=z,he=ie;if(de&&(z*=de.multiples[0]||1,ie*=de.multiples[1]||1,le=de.offset),ie){for(var pe=function($e){oe.push({type:"horizontal",pos:[re,throttle(le[1]*he+$e-r+ae,.1)],className:prefix$1("grid-guideline"),size:e,hide:!y,direction:"",grid:!0})},Ce=0;Ce<=t*2;Ce+=ie)pe(Ce);for(var Ce=-ie;Ce>=-t;Ce-=ie)pe(Ce)}if(z){for(var pe=function(xe){oe.push({type:"vertical",pos:[throttle(le[0]*ue+xe-i+re,.1),ae],className:prefix$1("grid-guideline"),size:t,hide:!y,direction:"",grid:!0})},Ce=0;Ce<=e*2;Ce+=z)pe(Ce);for(var Ce=-z;Ce>=-e;Ce-=z)pe(Ce)}return oe}function checkBetweenRects(n,e,t,i){return t==="horizontal"?abs(n.right-e.left)<=i||abs(n.left-e.right)<=i||n.left<=e.right&&e.left<=n.right:t==="vertical"?abs(n.bottom-e.top)<=i||abs(n.top-e.bottom)<=i||n.top<=e.bottom&&e.top<=n.bottom:!0}function getElementGuidelines(n){var e=n.state,t=n.props.elementGuidelines,i=t===void 0?[]:t;if(!i.length)return e.elementRects=[],[];var r=(e.elementRects||[]).filter(function(ie){return!ie.refresh}),g=i.map(function(ie){return isObject$1(ie)&&"element"in ie?__assign$4(__assign$4({},ie),{element:getRefTarget(ie.element,!0)}):{element:getRefTarget(ie,!0)}}).filter(function(ie){return ie.element}),y=diff(r.map(function(ie){return ie.element}),g.map(function(ie){return ie.element})),k=y.maintained,L=y.added,V=[];k.forEach(function(ie){var oe=__read(ie,2),re=oe[0],ae=oe[1];V[ae]=r[re]}),getSnapElementRects(n,L.map(function(ie){return g[ie]})).map(function(ie,oe){V[L[oe]]=ie}),e.elementRects=V;var z=getSnapDirections(n.props.elementSnapDirections),j=[];return V.forEach(function(ie){var oe=ie.element,re=ie.top,ae=re===void 0?z.top:re,le=ie.left,de=le===void 0?z.left:le,ue=ie.right,he=ue===void 0?z.right:ue,pe=ie.bottom,Ce=pe===void 0?z.bottom:pe,$e=ie.center,xe=$e===void 0?z.center:$e,Ie=ie.middle,Ne=Ie===void 0?z.middle:Ie,Fe=ie.className,Ve=ie.rect,Oe=splitSnapDirectionPoses({top:ae,right:he,left:de,bottom:Ce,center:xe,middle:Ne},Ve),ze=Oe.horizontal,qe=Oe.vertical,Ue=Oe.horizontalNames,Et=Oe.verticalNames,At=Ve.top,Lt=Ve.left,kt=Ve.right-Lt,ei=Ve.bottom-At,jt=[kt,ei];qe.forEach(function(ri,ni){j.push({type:"vertical",element:oe,pos:[throttle(ri,.1),At],size:ei,sizes:jt,className:Fe,elementRect:ie,elementDirection:SNAP_SKIP_NAMES_MAP[Et[ni]]||Et[ni],direction:""})}),ze.forEach(function(ri,ni){j.push({type:"horizontal",element:oe,pos:[Lt,throttle(ri,.1)],size:kt,sizes:jt,className:Fe,elementRect:ie,elementDirection:SNAP_SKIP_NAMES_MAP[Ue[ni]]||Ue[ni],direction:""})})}),j}function getObjectGuidelines(n,e){return n?n.map(function(t){var i=isObject$1(t)?t:{pos:t},r=i.pos;return isNumber$1(r)?i:__assign$4(__assign$4({},i),{pos:convertUnitSize(r,e)})}):[]}function getDefaultGuidelines(n,e,t,i,r,g,y){r===void 0&&(r=0),g===void 0&&(g=0),y===void 0&&(y={left:0,top:0,right:0,bottom:0});var k=[],L=y.left,V=y.top,z=y.bottom,j=y.right,ie=t+j-L,oe=i+z-V;return getObjectGuidelines(n,oe).forEach(function(re){k.push({type:"horizontal",pos:[L,throttle(re.pos-g+V,.1)],size:ie,className:re.className,direction:""})}),getObjectGuidelines(e,ie).forEach(function(re){k.push({type:"vertical",pos:[throttle(re.pos-r+L,.1),V],size:oe,className:re.className,direction:""})}),k}function getSnapElementRects(n,e){if(!e.length)return[];var t=n.props.groupable,i=n.state,r=i.containerClientRect,g=i.rootMatrix,y=i.is3d,k=i.offsetDelta,L=y?4:3,V=__read(calculateContainerPos(g,r,L),2),z=V[0],j=V[1],ie=t?0:k[0],oe=t?0:k[1];return e.map(function(re){var ae=re.element.getBoundingClientRect(),le=ae.left-z-ie,de=ae.top-j-oe,ue=de+ae.height,he=le+ae.width,pe=__read(calculateInversePosition(g,[le,de],L),2),Ce=pe[0],$e=pe[1],xe=__read(calculateInversePosition(g,[he,ue],L),2),Ie=xe[0],Ne=xe[1];return __assign$4(__assign$4({},re),{rect:{left:Ce,right:Ie,top:$e,bottom:Ne,center:(Ce+Ie)/2,middle:($e+Ne)/2}})})}function checkSnapInfo(n){var e=n.state,t=e.container,i=n.props.snapContainer||t;if(e.snapContainer===i&&e.guidelines&&e.guidelines.length)return!1;var r=e.containerClientRect,g={left:0,top:0,bottom:0,right:0};if(t!==i){var y=getRefTarget(i,!0);if(y){var k=getClientRect(y),L=getDragDistByState(e,[k.left-r.left,k.top-r.top]),V=getDragDistByState(e,[k.right-r.right,k.bottom-r.bottom]);g.left=throttle(L[0],1e-5),g.top=throttle(L[1],1e-5),g.right=throttle(V[0],1e-5),g.bottom=throttle(V[1],1e-5)}}return e.snapContainer=i,e.snapOffset=g,e.guidelines=getTotalGuidelines(n),e.enableSnap=!0,!0}function getNextFixedPoses(n,e,t,i,r,g){var y=calculatePoses(n,e,t,g?4:3),k=getPosByDirection(y,i);return getAbsolutePoses(y,minus(r,k))}function normalized(n){return n?n/abs(n):0}function getSizeOffsetInfo(n,e,t,i,r,g){var y=g.fixedDirection,k=getCheckSnapDirections(t,y,i),L=getCheckInnerBoundLineInfos(n,e,t,i),V=__spreadArray$1(__spreadArray$1([],__read(getSnapBoundInfo(n,e,k,i,r,g)),!1),__read(getInnerBoundInfo(n,L,g)),!1),z=getNearOffsetInfo(V,0),j=getNearOffsetInfo(V,1);return{width:{isBound:z.isBound,offset:z.offset[0]},height:{isBound:j.isBound,offset:j.offset[1]}}}function recheckSizeByTwoDirection(n,e,t,i,r,g,y,k,L){var V=getPosByDirection(e,y),z=checkMoveableSnapBounds(n,k,{vertical:[V[0]],horizontal:[V[1]]}),j=z.horizontal.offset,ie=z.vertical.offset;if(throttle(ie,FLOAT_POINT_NUM)||throttle(j,FLOAT_POINT_NUM)){var oe=__read(getDragDist({datas:L,distX:-ie,distY:-j}),2),re=oe[0],ae=oe[1],le=Math.min(r||1/0,t+y[0]*re),de=Math.min(g||1/0,i+y[1]*ae);return[le-t,de-i]}return[0,0]}function checkSizeDist(n,e,t,i,r,g,y,k){for(var L=getAbsolutePosesByState(n.state),V=n.props.keepRatio,z=0,j=0,ie=0;ie<2;++ie){var oe=e(z,j),re=getSizeOffsetInfo(n,oe,r,V,y,k),ae=re.width,le=re.height,de=ae.isBound,ue=le.isBound,he=ae.offset,pe=le.offset;if(ie===1&&(de||(he=0),ue||(pe=0)),ie===0&&y&&!de&&!ue)return[0,0];if(V){var Ce=abs(he)*(t?1/t:1),$e=abs(pe)*(i?1/i:1),xe=de&&ue?Ce<$e:ue||!de&&Ce<$e;xe?he=t*pe/i:pe=i*he/t}z+=he,j+=pe}if(!V&&r[0]&&r[1]){var Ie=checkMaxBounds(n,L,r,g,k),Ne=Ie.maxWidth,Fe=Ie.maxHeight,Ve=__read(recheckSizeByTwoDirection(n,e(z,j).map(function(qe){return qe.map(function(Ue){return throttle(Ue,FLOAT_POINT_NUM)})}),t+z,i+j,Ne,Fe,r,y,k),2),he=Ve[0],pe=Ve[1];z+=he,j+=pe}return[z,j]}function absDegree(n){return n<0&&(n=n%360+360),n%=360,n}function bumpDegree(n,e){e=absDegree(e);var t=Math.floor(n/360),i=t*360+360-e,r=t*360+e;return abs(n-i)0;if(de)return{isSnap:de,dist:de?le[0]:t}}if(k!=null&&k.length&&y){var ue=k.slice().sort(function(pe,Ce){return getMinDegreeDistance(pe,i)-getMinDegreeDistance(Ce,i)}),he=ue[0];if(getMinDegreeDistance(he,i)<=y)return{isSnap:!0,dist:t+bumpDegree(i,he)-i}}return{isSnap:!1,dist:t}}function checkSnapResize(n,e,t,i,r,g,y){if(!hasGuidelines(n,"resizable"))return[0,0];var k=y.fixedDirection,L=y.nextAllMatrix,V=n.state,z=V.allMatrix,j=V.is3d;return checkSizeDist(n,function(ie,oe){return getNextFixedPoses(L||z,e+ie,t+oe,k,r,j)},e,t,i,r,g,y)}function checkSnapScale(n,e,t,i,r){if(!hasGuidelines(n,"scalable"))return[0,0];var g=r.startOffsetWidth,y=r.startOffsetHeight,k=r.fixedPosition,L=r.fixedDirection,V=r.is3d,z=checkSizeDist(n,function(j,ie){return getNextFixedPoses(scaleMatrix(r,plus(e,[j/g,ie/y])),g,y,L,k,V)},g,y,t,k,i,r);return[z[0]/g,z[1]/y]}function startCheckSnapDrag(n,e){e.absolutePoses=getAbsolutePosesByState(n.state)}function getSnapGuidelines(n){var e=[];return n.forEach(function(t){t.guidelineInfos.forEach(function(i){var r=i.guideline;find$1(e,function(g){return g.guideline===r})||(r.direction="",e.push({guideline:r,posInfo:t}))})}),e.map(function(t){var i=t.guideline,r=t.posInfo;return __assign$4(__assign$4({},i),{direction:r.direction})})}function addBoundGuidelines(n,e,t,i,r,g){var y=checkBoundPoses(getBounds(n,g),e,t),k=y.vertical,L=y.horizontal,V=getInitialBounds();k.forEach(function(re){re.isBound&&(re.direction==="start"&&(V.left=!0),re.direction==="end"&&(V.right=!0),i.push({type:"bounds",pos:re.pos}))}),L.forEach(function(re){re.isBound&&(re.direction==="start"&&(V.top=!0),re.direction==="end"&&(V.bottom=!0),r.push({type:"bounds",pos:re.pos}))});var z=checkInnerBoundPoses(n),j=z.boundMap,ie=z.vertical,oe=z.horizontal;return ie.forEach(function(re){findIndex(i,function(ae){var le=ae.type,de=ae.pos;return le==="bounds"&&de===re})>=0||i.push({type:"bounds",pos:re})}),oe.forEach(function(re){findIndex(r,function(ae){var le=ae.type,de=ae.pos;return le==="bounds"&&de===re})>=0||r.push({type:"bounds",pos:re})}),{boundMap:V,innerBoundMap:j}}var directionCondition$1=getDirectionCondition("",["resizable","scalable"]),Snappable={name:"snappable",dragRelation:"strong",props:["snappable","snapContainer","snapDirections","elementSnapDirections","snapGap","snapGridWidth","snapGridHeight","isDisplaySnapDigit","isDisplayInnerSnapDigit","isDisplayGridGuidelines","snapDigit","snapThreshold","snapRenderThreshold","snapGridAll",NAME_snapRotationThreshold,NAME_snapRotationDegrees,NAME_snapHorizontalThreshold,NAME_snapVerticalThreshold,"horizontalGuidelines","verticalGuidelines","elementGuidelines","bounds","innerBounds","snapDistFormat","maxSnapElementGuidelineDistance","maxSnapElementGapDistance"],events:["snap","bound"],css:[":host {\n--bounds-color: #d66;\n}\n.guideline {\npointer-events: none;\nz-index: 2;\n}\n.guideline.bounds {\nbackground: #d66;\nbackground: var(--bounds-color);\n}\n.guideline-group {\nposition: absolute;\ntop: 0;\nleft: 0;\n}\n.guideline-group .size-value {\nposition: absolute;\ncolor: #f55;\nfont-size: 12px;\nfont-size: calc(12px * var(--zoom));\nfont-weight: bold;\n}\n.guideline-group.horizontal .size-value {\ntransform-origin: 50% 100%;\ntransform: translateX(-50%);\nleft: 50%;\nbottom: 5px;\nbottom: calc(2px + 3px * var(--zoom));\n}\n.guideline-group.vertical .size-value {\ntransform-origin: 0% 50%;\ntop: 50%;\ntransform: translateY(-50%);\nleft: 5px;\nleft: calc(2px + 3px * var(--zoom));\n}\n.guideline.gap {\nbackground: #f55;\n}\n.size-value.gap {\ncolor: #f55;\n}\n"],render:function(n,e){var t=n.state,i=t.top,r=t.left,g=t.pos1,y=t.pos2,k=t.pos3,L=t.pos4,V=t.snapRenderInfo,z=n.props.snapRenderThreshold,j=z===void 0?1:z;if(!V||!V.render||!hasGuidelines(n,""))return watchValue(n,"boundMap",getInitialBounds(),function(Ci){return JSON.stringify(Ci)}),watchValue(n,"innerBoundMap",getInitialBounds(),function(Ci){return JSON.stringify(Ci)}),[];t.guidelines=getTotalGuidelines(n);var ie=Math.min(g[0],y[0],k[0],L[0]),oe=Math.min(g[1],y[1],k[1],L[1]),re=V.externalPoses||[],ae=getAbsolutePosesByState(n.state),le=[],de=[],ue=[],he=[],pe=[],Ce=getRect(ae),$e=Ce.width,xe=Ce.height,Ie=Ce.top,Ne=Ce.left,Fe=Ce.bottom,Ve=Ce.right,Oe={left:Ne,right:Ve,top:Ie,bottom:Fe,center:(Ne+Ve)/2,middle:(Ie+Fe)/2},ze=re.length>0,qe=ze?getRect(re):{};if(!V.request){if(V.direction&&pe.push(getSnapInfosByDirection(n,ae,V.direction,j,j)),V.snap){var Ue=getRect(ae);V.center&&(Ue.middle=(Ue.top+Ue.bottom)/2,Ue.center=(Ue.left+Ue.right)/2),pe.push(checkSnaps(n,Ue,j,j))}ze&&(V.center&&(qe.middle=(qe.top+qe.bottom)/2,qe.center=(qe.left+qe.right)/2),pe.push(checkSnaps(n,qe,j,j))),pe.forEach(function(Ci){var wi=Ci.vertical.posInfos,Ri=Ci.horizontal.posInfos;le.push.apply(le,__spreadArray$1([],__read(wi.filter(function(ai){var hi=ai.guidelineInfos;return hi.some(function(xi){var Oi=xi.guideline;return!Oi.hide})}).map(function(ai){return{type:"snap",pos:ai.pos}})),!1)),de.push.apply(de,__spreadArray$1([],__read(Ri.filter(function(ai){var hi=ai.guidelineInfos;return hi.some(function(xi){var Oi=xi.guideline;return!Oi.hide})}).map(function(ai){return{type:"snap",pos:ai.pos}})),!1)),ue.push.apply(ue,__spreadArray$1([],__read(getSnapGuidelines(wi)),!1)),he.push.apply(he,__spreadArray$1([],__read(getSnapGuidelines(Ri)),!1))})}var Et=addBoundGuidelines(n,[Ne,Ve],[Ie,Fe],le,de),At=Et.boundMap,Lt=Et.innerBoundMap;ze&&addBoundGuidelines(n,[qe.left,qe.right],[qe.top,qe.bottom],le,de,V.externalBounds);var kt=__spreadArray$1(__spreadArray$1([],__read(ue),!1),__read(he),!1),ei=kt.filter(function(Ci){return Ci.element&&!Ci.gapRects}),jt=kt.filter(function(Ci){return Ci.gapRects}).sort(function(Ci,wi){return Ci.gap-wi.gap});triggerEvent(n,"onSnap",{guidelines:kt.filter(function(Ci){var wi=Ci.element;return!wi}),elements:ei,gaps:jt},!0);var ri=watchValue(n,"boundMap",At,function(Ci){return JSON.stringify(Ci)},getInitialBounds()),ni=watchValue(n,"innerBoundMap",Lt,function(Ci){return JSON.stringify(Ci)},getInitialBounds());return(At===ri||Lt===ni)&&triggerEvent(n,"onBound",{bounds:At,innerBounds:Lt},!0),__spreadArray$1(__spreadArray$1(__spreadArray$1(__spreadArray$1(__spreadArray$1(__spreadArray$1([],__read(renderDashedGuidelines(n,ei,[ie,oe],Oe,e)),!1),__read(renderGapGuidelines(n,jt,[ie,oe],Oe,e)),!1),__read(renderGuidelines(n,"horizontal",he,[r,i],Oe,e)),!1),__read(renderGuidelines(n,"vertical",ue,[r,i],Oe,e)),!1),__read(renderSnapPoses(n,"horizontal",de,ie,i,$e,0,e)),!1),__read(renderSnapPoses(n,"vertical",le,oe,r,xe,1,e)),!1)},dragStart:function(n,e){n.state.snapRenderInfo={request:e.isRequest,snap:!0,center:!0},checkSnapInfo(n)},drag:function(n){var e=n.state;checkSnapInfo(n)||(e.guidelines=getTotalGuidelines(n)),e.snapRenderInfo&&(e.snapRenderInfo.render=!0)},pinchStart:function(n){this.unset(n)},dragEnd:function(n){this.unset(n)},dragControlCondition:function(n,e){if(directionCondition$1(n,e)||dragControlCondition(n,e))return!0;if(!e.isRequest&&e.inputEvent)return hasClass$1(e.inputEvent.target,prefix$1("snap-control"))},dragControlStart:function(n){n.state.snapRenderInfo=null,checkSnapInfo(n)},dragControl:function(n){this.drag(n)},dragControlEnd:function(n){this.unset(n)},dragGroupStart:function(n,e){this.dragStart(n,e)},dragGroup:function(n){this.drag(n)},dragGroupEnd:function(n){this.unset(n)},dragGroupControlStart:function(n){n.state.snapRenderInfo=null,checkSnapInfo(n)},dragGroupControl:function(n){this.drag(n)},dragGroupControlEnd:function(n){this.unset(n)},unset:function(n){var e=n.state;e.enableSnap=!1,e.guidelines=[],e.snapRenderInfo=null,e.elementRects=[]}};function multiply2(n,e){return[n[0]*e[0],n[1]*e[1]]}function prefix$1(){for(var n=[],e=0;e9),"".concat(e?"matrix3d":"matrix","(").concat(convertMatrixtoCSS(n,!e).join(","),")")}function getSVGViewBox(n){var e=n.clientWidth,t=n.clientHeight;if(!n)return{x:0,y:0,width:0,height:0,clientWidth:e,clientHeight:t};var i=n.viewBox,r=i&&i.baseVal||{x:0,y:0,width:0,height:0};return{x:r.x,y:r.y,width:r.width||e,height:r.height||t,clientWidth:e,clientHeight:t}}function getSVGMatrix(n,e){var t,i=getSVGViewBox(n),r=i.width,g=i.height,y=i.clientWidth,k=i.clientHeight,L=y/r,V=k/g,z=n.preserveAspectRatio.baseVal,j=z.align,ie=z.meetOrSlice,oe=[0,0],re=[L,V],ae=[0,0];if(j!==1){var le=(j-2)%3,de=Math.floor((j-2)/3);oe[0]=r*le/2,oe[1]=g*de/2;var ue=ie===2?Math.max(V,L):Math.min(L,V);re[0]=ue,re[1]=ue,ae[0]=(y-r)/2*le,ae[1]=(k-g)/2*de}var he=createScaleMatrix(re,e);return t=__read(ae,2),he[e*(e-1)]=t[0],he[e*(e-1)+1]=t[1],getAbsoluteMatrix(he,e,oe)}function getSVGGraphicsOffset(n,e,t){var i=n.tagName.toLowerCase();if(!n.getBBox||!t&&i==="g")return[0,0,0,0];var r=getCachedStyle(n),g=r("transform-box")==="fill-box",y=n.getBBox(),k=getSVGViewBox(n.ownerSVGElement),L=y.x,V=y.y;i==="foreignobject"&&!L&&!V&&(L=parseFloat(n.getAttribute("x"))||0,V=parseFloat(n.getAttribute("y"))||0);var z=L-k.x,j=V-k.y,ie=g?e[0]:e[0]-z,oe=g?e[1]:e[1]-j;return[z,j,ie,oe]}function calculatePosition(n,e,t){return calculate(n,convertPositionMatrix(e,t),t)}function calculatePoses(n,e,t,i){return[[0,0],[e,0],[0,t],[e,t]].map(function(r){return calculatePosition(n,r,i)})}function getRect(n){var e=n.map(function(V){return V[0]}),t=n.map(function(V){return V[1]}),i=Math.min.apply(Math,__spreadArray$1([],__read(e),!1)),r=Math.min.apply(Math,__spreadArray$1([],__read(t),!1)),g=Math.max.apply(Math,__spreadArray$1([],__read(e),!1)),y=Math.max.apply(Math,__spreadArray$1([],__read(t),!1)),k=g-i,L=y-r;return{left:i,top:r,right:g,bottom:y,width:k,height:L}}function calculateRect(n,e,t,i){var r=calculatePoses(n,e,t,i);return getRect(r)}function getSVGOffset(n,e,t,i,r){var g,y=n.target,k=n.origin,L=e.matrix,V=getSize(y),z=V.offsetWidth,j=V.offsetHeight,ie=t.getBoundingClientRect(),oe=[0,0];t===getDocumentBody(t)&&(oe=getBodyOffset(y,!0));for(var re=y.getBoundingClientRect(),ae=re.left-ie.left+t.scrollLeft-(t.clientLeft||0)+oe[0],le=re.top-ie.top+t.scrollTop-(t.clientTop||0)+oe[1],de=re.width,ue=re.height,he=multiplies(i,r,L),pe=calculateRect(he,z,j,i),Ce=pe.left,$e=pe.top,xe=pe.width,Ie=pe.height,Ne=calculatePosition(he,k,i),Fe=minus(Ne,[Ce,$e]),Ve=[ae+Fe[0]*de/xe,le+Fe[1]*ue/Ie],Oe=[0,0],ze=0;++ze<10;){var qe=invert(r,i);g=__read(minus(calculatePosition(qe,Ve,i),calculatePosition(qe,Ne,i)),2),Oe[0]=g[0],Oe[1]=g[1];var Ue=multiplies(i,r,createOriginMatrix(Oe,i),L),Et=calculateRect(Ue,z,j,i),At=Et.left,Lt=Et.top,kt=At-ae,ei=Lt-le;if(abs(kt)<2&&abs(ei)<2)break;Ve[0]-=kt,Ve[1]-=ei}return Oe.map(function(jt){return Math.round(jt)})}function calculateMoveableClientPositions(n,e,t){var i=n.length===16,r=i?4:3,g=e.map(function(L){return calculatePosition(n,L,r)}),y=t.left,k=t.top;return g.map(function(L){return[L[0]+y,L[1]+k]})}function getDistSize(n){return Math.sqrt(n[0]*n[0]+n[1]*n[1])}function getDiagonalSize(n,e){return getDistSize([e[0]-n[0],e[1]-n[1]])}function getLineStyle(n,e,t,i){t===void 0&&(t=1),i===void 0&&(i=getRad$1(n,e));var r=getDiagonalSize(n,e);return{transform:"translateY(-50%) translate(".concat(n[0],"px, ").concat(n[1],"px) rotate(").concat(i,"rad) scaleY(").concat(t,")"),width:"".concat(r,"px")}}function getControlTransform(n,e){for(var t=[],i=2;i0?n[0]:n[1],e>0?n[1]:n[0])}function resetClientRect(){return{left:0,top:0,width:0,height:0,right:0,bottom:0,clientLeft:0,clientTop:0,clientWidth:0,clientHeight:0,scrollWidth:0,scrollHeight:0}}function getExtendsRect(n,e){var t=n===getDocumentBody(n)||n===getDocumentElement(n),i={clientLeft:n.clientLeft,clientTop:n.clientTop,clientWidth:n.clientWidth,clientHeight:n.clientHeight,scrollWidth:n.scrollWidth,scrollHeight:n.scrollHeight,overflow:!1};return t&&(i.clientHeight=Math.max(e.height,i.clientHeight),i.scrollHeight=Math.max(e.height,i.scrollHeight)),i.overflow=getCachedStyle(n)("overflow")!=="visible",__assign$4(__assign$4({},e),i)}function getClientRectByPosition(n,e,t,i){var r=n.left,g=n.right,y=n.top,k=n.bottom,L=e.top,V=e.left,z={left:V+r,top:L+y,right:V+g,bottom:L+k,width:g-r,height:k-y};return t&&i?getExtendsRect(t,z):z}function getClientRect(n,e){var t=0,i=0,r=0,g=0;if(n){var y=n.getBoundingClientRect();t=y.left,i=y.top,r=y.width,g=y.height}var k={left:t,top:i,width:r,height:g,right:t+r,bottom:i+g};return n&&e?getExtendsRect(n,k):k}function getTotalOrigin(n){var e=n.props,t=e.groupable,i=e.svgOrigin,r=n.getState(),g=r.offsetWidth,y=r.offsetHeight,k=r.svg,L=r.transformOrigin;return!t&&k&&i?convertTransformOriginArray(i,g,y):L}function getTotalDirection(n,e,t,i){var r;if(n)r=n;else if(e)r=[0,0];else{var g=t.target;r=getDirection(g,i)}return r}function getDirection(n,e){if(n){var t=n.getAttribute("data-rotation")||"",i=n.getAttribute("data-direction");if(e.deg=t,!!i){var r=[0,0];return i.indexOf("w")>-1&&(r[0]=-1),i.indexOf("e")>-1&&(r[0]=1),i.indexOf("n")>-1&&(r[1]=-1),i.indexOf("s")>-1&&(r[1]=1),r}}}function getAbsolutePoses(n,e){return[plus(e,n[0]),plus(e,n[1]),plus(e,n[2]),plus(e,n[3])]}function getAbsolutePosesByState(n){var e=n.left,t=n.top,i=n.pos1,r=n.pos2,g=n.pos3,y=n.pos4;return getAbsolutePoses([i,r,g,y],[e,t])}function unsetAbles(n,e){n[e?"controlAbles":"targetAbles"].forEach(function(t){t.unset&&t.unset(n)})}function unsetGesto(n,e){var t=e?"controlGesto":"targetGesto",i=n[t];(i==null?void 0:i.isIdle())===!1&&unsetAbles(n,e),i==null||i.unset(),n[t]=null}function fillCSSObject(n,e){if(e){var t=getBeforeRenderableDatas(e);t.nextStyle=__assign$4(__assign$4({},t.nextStyle),n)}return{style:n,cssText:getKeys(n).map(function(i){return"".concat(decamelize(i,"-"),": ").concat(n[i],";")}).join("")}}function fillAfterTransform(n,e,t){var i=e.afterTransform||e.transform;return __assign$4(__assign$4({},fillCSSObject(__assign$4(__assign$4(__assign$4({},n.style),e.style),{transform:i}),t)),{afterTransform:i,transform:n.transform})}function fillParams(n,e,t,i){var r=e.datas;r.datas||(r.datas={});var g=__assign$4(__assign$4({},t),{target:n.state.target,clientX:e.clientX,clientY:e.clientY,inputEvent:e.inputEvent,currentTarget:n,moveable:n,datas:r.datas,isRequest:e.isRequest,isRequestChild:e.isRequestChild,isFirstDrag:!!e.isFirstDrag,isTrusted:e.isTrusted!==!1,stopAble:function(){r.isEventStart=!1},stopDrag:function(){var y;(y=e.stop)===null||y===void 0||y.call(e)}});return r.isStartEvent?i||(r.lastEvent=g):r.isStartEvent=!0,g}function fillEndParams(n,e,t){var i=e.datas,r="isDrag"in t?t.isDrag:e.isDrag;return i.datas||(i.datas={}),__assign$4(__assign$4({isDrag:r},t),{moveable:n,target:n.state.target,clientX:e.clientX,clientY:e.clientY,inputEvent:e.inputEvent,currentTarget:n,lastEvent:i.lastEvent,isDouble:e.isDouble,datas:i.datas,isFirstDrag:!!e.isFirstDrag})}function catchEvent(n,e,t){n._emitter.on(e,t)}function triggerEvent(n,e,t,i,r){return n.triggerEvent(e,t,i,r)}function getComputedStyle$1(n,e){return getWindow(n).getComputedStyle(n,e)}function filterAbles(n,e,t){var i={},r={};return n.filter(function(g){var y=g.name;if(i[y]||!e.some(function(k){return g[k]}))return!1;if(!t&&g.ableGroup){if(r[g.ableGroup])return!1;r[g.ableGroup]=!0}return i[y]=!0,!0})}function equals(n,e){return n===e||n==null&&e==null}function selectValue(){for(var n=[],e=0;e=0?i:180-i,i=i>=0?i:360+i,i}function getDragDistByState(n,e){var t=n.rootMatrix,i=n.is3d,r=i?4:3,g=invert(t,r);return i||(g=convertDimension(g,3,4)),g[12]=0,g[13]=0,g[14]=0,calculateMatrixDist(g,e)}function getSizeDistByDist(n,e,t,i,r){var g=__read(n,2),y=g[0],k=g[1],L=0,V=0;if(r&&y&&k){var z=getRad$1([0,0],e),j=getRad$1([0,0],i),ie=getDistSize(e),oe=Math.cos(z-j)*ie;if(!i[0])V=oe,L=V*t;else if(!i[1])L=oe,V=L/t;else{var re=i[0]*y,ae=i[1]*k,le=Math.atan2(re+e[0],ae+e[1]),de=Math.atan2(re,ae);le<0&&(le+=Math.PI*2),de<0&&(de+=Math.PI*2);var ue=0;abs(le-de)Math.PI/2*3||(de+=Math.PI),ue=le-de,ue>Math.PI*2?ue-=Math.PI*2:ue>Math.PI?ue=2*Math.PI-ue:ue<-Math.PI&&(ue=-2*Math.PI-ue);var he=getDistSize([re+e[0],ae+e[1]])*Math.cos(ue);L=he*Math.sin(de)-re,V=he*Math.cos(de)-ae,i[0]<0&&(L*=-1),i[1]<0&&(V*=-1)}}else L=i[0]*e[0],V=i[1]*e[1];return[L,V]}function getOffsetSizeDist(n,e,t,i){var r,g=t.ratio,y=t.startOffsetWidth,k=t.startOffsetHeight,L=0,V=0,z=i.distX,j=i.distY,ie=i.pinchScale,oe=i.parentDistance,re=i.parentDist,ae=i.parentScale,le=t.fixedDirection,de=[0,1].map(function(xe){return abs(n[xe]-le[xe])}),ue=[0,1].map(function(xe){var Ie=de[xe];return Ie!==0&&(Ie=2/Ie),Ie});if(re)L=re[0],V=re[1],e&&(L?V||(V=L/g):L=V*g);else if(isNumber$1(ie))L=(ie-1)*y,V=(ie-1)*k;else if(ae)L=(ae[0]-1)*y,V=(ae[1]-1)*k;else if(oe){var he=y*de[0],pe=k*de[1],Ce=getDistSize([he,pe]);L=oe/Ce*he*ue[0],V=oe/Ce*pe*ue[1]}else{var $e=getDragDist({datas:t,distX:z,distY:j});$e=ue.map(function(xe,Ie){return $e[Ie]*xe}),r=__read(getSizeDistByDist([y,k],$e,g,n,e),2),L=r[0],V=r[1]}return{distWidth:L,distHeight:V}}function convertTransformUnit(n,e){if(e){if(n==="left")return{x:"0%",y:"50%"};if(n==="top")return{x:"50%",y:"50%"};if(n==="center")return{x:"50%",y:"50%"};if(n==="right")return{x:"100%",y:"50%"};if(n==="bottom")return{x:"50%",y:"100%"};var t=__read(n.split(" "),2),i=t[0],r=t[1],g=convertTransformUnit(i||""),y=convertTransformUnit(r||""),k=__assign$4(__assign$4({},g),y),L={x:"50%",y:"50%"};return k.x&&(L.x=k.x),k.y&&(L.y=k.y),k.value&&(k.x&&!k.y&&(L.y=k.value),!k.x&&k.y&&(L.x=k.value)),L}return n==="left"?{x:"0%"}:n==="right"?{x:"100%"}:n==="top"?{y:"0%"}:n==="bottom"?{y:"100%"}:n?n==="center"?{value:"50%"}:{value:n}:{}}function convertTransformOriginArray(n,e,t){var i=convertTransformUnit(n,!0),r=i.x,g=i.y;return[convertUnitSize(r,e)||0,convertUnitSize(g,t)||0]}function rotatePosesInfo(n,e,t){var i=n.map(function(g){return minus(g,e)}),r=i.map(function(g){return rotate(g,t)});return{prev:i,next:r,result:r.map(function(g){return plus(g,e)})}}function isDeepArrayEquals(n,e){return n.length===e.length&&n.every(function(t,i){var r=e[i],g=isArray$1(t),y=isArray$1(r);return g&&y?isDeepArrayEquals(t,r):!g&&!y?t===r:!1})}function watchValue(n,e,t,i,r){var g=n._store,y=g[e];if(!(e in g))if(r!=null)g[e]=r,y=r;else return g[e]=t,t;return y===t||i(y)===i(t)?y:(g[e]=t,t)}function sign(n){return n>=0?1:-1}function abs(n){return Math.abs(n)}function countEach(n,e){return counter(n).map(function(t){return e(t)})}function getPaddingBox(n){return isNumber$1(n)?{top:n,left:n,right:n,bottom:n}:{left:n.left||0,top:n.top||0,right:n.right||0,bottom:n.bottom||0}}var Pinchable=makeAble("pinchable",{props:["pinchable"],events:["pinchStart","pinch","pinchEnd","pinchGroupStart","pinchGroup","pinchGroupEnd"],dragStart:function(){return!0},pinchStart:function(n,e){var t=e.datas,i=e.targets,r=e.angle,g=e.originalDatas,y=n.props,k=y.pinchable,L=y.ables;if(!k)return!1;var V="onPinch".concat(i?"Group":"","Start"),z="drag".concat(i?"Group":"","ControlStart"),j=(k===!0?n.controlAbles:L.filter(function(ae){return k.indexOf(ae.name)>-1})).filter(function(ae){return ae.canPinch&&ae[z]}),ie=fillParams(n,e,{});i&&(ie.targets=i);var oe=triggerEvent(n,V,ie);t.isPinch=oe!==!1,t.ables=j;var re=t.isPinch;return re?(j.forEach(function(ae){if(g[ae.name]=g[ae.name]||{},!!ae[z]){var le=__assign$4(__assign$4({},e),{datas:g[ae.name],parentRotate:r,isPinch:!0});ae[z](n,le)}}),n.state.snapRenderInfo={request:e.isRequest,direction:[0,0]},re):!1},pinch:function(n,e){var t=e.datas,i=e.scale,r=e.distance,g=e.originalDatas,y=e.inputEvent,k=e.targets,L=e.angle;if(t.isPinch){var V=r*(1-1/i),z=fillParams(n,e,{});k&&(z.targets=k);var j="onPinch".concat(k?"Group":"");triggerEvent(n,j,z);var ie=t.ables,oe="drag".concat(k?"Group":"","Control");return ie.forEach(function(re){re[oe]&&re[oe](n,__assign$4(__assign$4({},e),{datas:g[re.name],inputEvent:y,resolveMatrix:!0,pinchScale:i,parentDistance:V,parentRotate:L,isPinch:!0}))}),z}},pinchEnd:function(n,e){var t=e.datas,i=e.isPinch,r=e.inputEvent,g=e.targets,y=e.originalDatas;if(t.isPinch){var k="onPinch".concat(g?"Group":"","End"),L=fillEndParams(n,e,{isDrag:i});g&&(L.targets=g),triggerEvent(n,k,L);var V=t.ables,z="drag".concat(g?"Group":"","ControlEnd");return V.forEach(function(j){j[z]&&j[z](n,__assign$4(__assign$4({},e),{isDrag:i,datas:y[j.name],inputEvent:r,isPinch:!0}))}),i}},pinchGroupStart:function(n,e){return this.pinchStart(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},pinchGroup:function(n,e){return this.pinch(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},pinchGroupEnd:function(n,e){return this.pinchEnd(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))}}),directionCondition=getDirectionCondition("scalable"),Scalable={name:"scalable",ableGroup:"size",canPinch:!0,props:["scalable","throttleScale","renderDirections","keepRatio","edge","displayAroundControls"],events:["scaleStart","beforeScale","scale","scaleEnd","scaleGroupStart","beforeScaleGroup","scaleGroup","scaleGroupEnd"],render:getRenderDirections("scalable"),dragControlCondition:directionCondition,viewClassName:getDirectionViewClassName("scalable"),dragControlStart:function(n,e){var t=e.datas,i=e.isPinch,r=e.inputEvent,g=e.parentDirection,y=getTotalDirection(g,i,r,t),k=n.state,L=k.width,V=k.height,z=k.targetTransform,j=k.target,ie=k.pos1,oe=k.pos2,re=k.pos4;if(!y||!j)return!1;i||setDragStart(n,e),t.datas={},t.transform=z,t.prevDist=[1,1],t.direction=y,t.startOffsetWidth=L,t.startOffsetHeight=V,t.startValue=[1,1];var ae=!y[0]&&!y[1]||y[0]||!y[1];setDefaultTransformIndex(n,e,"scale"),t.isWidth=ae;function le($e){t.ratio=$e&&isFinite($e)?$e:0}t.startPositions=getAbsolutePosesByState(n.state);function de($e){var xe=getFixedDirectionInfo(t.startPositions,$e);t.fixedDirection=xe.fixedDirection,t.fixedPosition=xe.fixedPosition,t.fixedOffset=xe.fixedOffset}t.setFixedDirection=de,le(getDist$2(ie,oe)/getDist$2(oe,re)),de([-y[0],-y[1]]);var ue=function($e){t.minScaleSize=$e},he=function($e){t.maxScaleSize=$e};ue([-1/0,-1/0]),he([1/0,1/0]);var pe=fillParams(n,e,__assign$4(__assign$4({direction:y,set:function($e){t.startValue=$e},setRatio:le,setFixedDirection:de,setMinScaleSize:ue,setMaxScaleSize:he},fillTransformStartEvent(n,e)),{dragStart:Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))})),Ce=triggerEvent(n,"onScaleStart",pe);return t.startFixedDirection=t.fixedDirection,Ce!==!1&&(t.isScale=!0,n.state.snapRenderInfo={request:e.isRequest,direction:y}),t.isScale?pe:!1},dragControl:function(n,e){resolveTransformEvent(n,e,"scale");var t=e.datas,i=e.parentKeepRatio,r=e.parentFlag,g=e.isPinch,y=e.dragClient,k=e.isRequest,L=e.useSnap,V=e.resolveMatrix,z=t.prevDist,j=t.direction,ie=t.startOffsetWidth,oe=t.startOffsetHeight,re=t.isScale,ae=t.startValue,le=t.isWidth,de=t.ratio;if(!re)return!1;var ue=n.props,he=ue.throttleScale,pe=ue.parentMoveable,Ce=j;!j[0]&&!j[1]&&(Ce=[1,1]);var $e=de&&(i!=null?i:ue.keepRatio)||!1,xe=n.state,Ie=[ae[0],ae[1]];function Ne(){var Ei=getOffsetSizeDist(Ce,$e,t,e),si=Ei.distWidth,fi=Ei.distHeight,li=ie?(ie+si)/ie:1,Di=oe?(oe+fi)/oe:1;ae[0]||(Ie[0]=si/ie),ae[1]||(Ie[1]=fi/oe);var ki=(Ce[0]||$e?li:1)*Ie[0],Ai=(Ce[1]||$e?Di:1)*Ie[1];return ki===0&&(ki=sign(z[0])*MIN_SCALE),Ai===0&&(Ai=sign(z[1])*MIN_SCALE),[ki,Ai]}var Fe=Ne();if(!g&&n.props.groupable){var Ve=xe.snapRenderInfo||{},Oe=Ve.direction;isArray$1(Oe)&&(Oe[0]||Oe[1])&&(xe.snapRenderInfo={direction:j,request:e.isRequest})}triggerEvent(n,"onBeforeScale",fillParams(n,e,{scale:Fe,setFixedDirection:function(Ei){return t.setFixedDirection(Ei),Fe=Ne(),Fe},startFixedDirection:t.startFixedDirection,setScale:function(Ei){Fe=Ei}},!0));var ze=[Fe[0]/Ie[0],Fe[1]/Ie[1]],qe=y,Ue=[0,0],Et=sign(ze[0]*ze[1]),At=!y&&!r&&g;if(At||V?qe=getTranslateFixedPosition(n,t.targetAllTransform,[0,0],[0,0],t):y||(qe=t.fixedPosition),g||(Ue=checkSnapScale(n,ze,j,!L&&k,t)),$e){Ce[0]&&Ce[1]&&Ue[0]&&Ue[1]&&(Math.abs(Ue[0]*ie)>Math.abs(Ue[1]*oe)?Ue[1]=0:Ue[0]=0);var Lt=!Ue[0]&&!Ue[1];if(Lt&&(le?ze[0]=throttle(ze[0]*Ie[0],he)/Ie[0]:ze[1]=throttle(ze[1]*Ie[1],he)/Ie[1]),Ce[0]&&!Ce[1]||Ue[0]&&!Ue[1]||Lt&&le){ze[0]+=Ue[0];var kt=ie*ze[0]*Ie[0]/de;ze[1]=sign(Et*ze[0])*abs(kt/oe/Ie[1])}else if(!Ce[0]&&Ce[1]||!Ue[0]&&Ue[1]||Lt&&!le){ze[1]+=Ue[1];var ei=oe*ze[1]*Ie[1]*de;ze[0]=sign(Et*ze[1])*abs(ei/ie/Ie[0])}}else ze[0]+=Ue[0],ze[1]+=Ue[1],Ue[0]||(ze[0]=throttle(ze[0]*Ie[0],he)/Ie[0]),Ue[1]||(ze[1]=throttle(ze[1]*Ie[1],he)/Ie[1]);ze[0]===0&&(ze[0]=sign(z[0])*MIN_SCALE),ze[1]===0&&(ze[1]=sign(z[1])*MIN_SCALE),Fe=multiply2(ze,[Ie[0],Ie[1]]);var jt=[ie,oe],ri=[ie*Fe[0],oe*Fe[1]];ri=calculateBoundSize(ri,t.minScaleSize,t.maxScaleSize,$e?de:!1),Fe=countEach(2,function(Ei){return jt[Ei]?ri[Ei]/jt[Ei]:ri[Ei]}),ze=countEach(2,function(Ei){return Fe[Ei]/Ie[Ei]});var ni=countEach(2,function(Ei){return z[Ei]?ze[Ei]/z[Ei]:ze[Ei]}),Ci="scale(".concat(ze.join(", "),")"),wi="scale(".concat(Fe.join(", "),")"),Ri=convertTransformFormat(t,wi,Ci),ai=!ae[0]||!ae[1],hi=getScaleDist(n,ai?wi:Ci,t.fixedDirection,qe,t.fixedOffset,t,ai),xi=At?hi:minus(hi,t.prevInverseDist||[0,0]);if(t.prevDist=ze,t.prevInverseDist=hi,Fe[0]===z[0]&&Fe[1]===z[1]&&xi.every(function(Ei){return!Ei})&&!pe&&!At)return!1;var Oi=fillParams(n,e,__assign$4({offsetWidth:ie,offsetHeight:oe,direction:j,scale:Fe,dist:ze,delta:ni,isPinch:!!g},fillTransformEvent(n,Ri,xi,g,e)));return triggerEvent(n,"onScale",Oi),Oi},dragControlEnd:function(n,e){var t=e.datas;if(!t.isScale)return!1;t.isScale=!1;var i=fillEndParams(n,e,{});return triggerEvent(n,"onScaleEnd",i),i},dragGroupControlCondition:directionCondition,dragGroupControlStart:function(n,e){var t=e.datas,i=this.dragControlStart(n,e);if(!i)return!1;var r=fillChildEvents(n,"resizable",e);t.moveableScale=n.scale;var g=triggerChildAbles(n,this,"dragControlStart",e,function(V,z){return startChildDist(n,V,t,z)}),y=function(V){i.setFixedDirection(V),g.forEach(function(z,j){z.setFixedDirection(V),startChildDist(n,z.moveable,t,r[j])})};t.setFixedDirection=y;var k=__assign$4(__assign$4({},i),{targets:n.props.targets,events:g,setFixedDirection:y}),L=triggerEvent(n,"onScaleGroupStart",k);return t.isScale=L!==!1,t.isScale?k:!1},dragGroupControl:function(n,e){var t=e.datas;if(t.isScale){catchEvent(n,"onBeforeScale",function(z){triggerEvent(n,"onBeforeScaleGroup",fillParams(n,e,__assign$4(__assign$4({},z),{targets:n.props.targets}),!0))});var i=this.dragControl(n,e);if(i){var r=i.dist,g=t.moveableScale;n.scale=[r[0]*g[0],r[1]*g[1]];var y=n.props.keepRatio,k=t.fixedPosition,L=triggerChildAbles(n,this,"dragControl",e,function(z,j){var ie=__read(calculate(createRotateMatrix(n.rotation/180*Math.PI,3),[j.datas.originalX*r[0],j.datas.originalY*r[1],1],3),2),oe=ie[0],re=ie[1];return __assign$4(__assign$4({},j),{parentDist:null,parentScale:r,parentKeepRatio:y,dragClient:plus(k,[oe,re])})}),V=__assign$4({targets:n.props.targets,events:L},i);return triggerEvent(n,"onScaleGroup",V),V}}},dragGroupControlEnd:function(n,e){var t=e.isDrag,i=e.datas;if(i.isScale){this.dragControlEnd(n,e);var r=triggerChildAbles(n,this,"dragControlEnd",e),g=fillEndParams(n,e,{targets:n.props.targets,events:r});return triggerEvent(n,"onScaleGroupEnd",g),t}},request:function(){var n={},e=0,t=0,i=!1;return{isControl:!0,requestStart:function(r){return i=r.useSnap,{datas:n,parentDirection:r.direction||[1,1],useSnap:i}},request:function(r){return e+=r.deltaWidth,t+=r.deltaHeight,{datas:n,parentDist:[e,t],parentKeepRatio:r.keepRatio,useSnap:i}},requestEnd:function(){return{datas:n,isDrag:!0,useSnap:i}}}}};function getMiddleLinePos(n,e){return n.map(function(t,i){return dot$1(t,e[i],1,2)})}function getTriangleRad(n,e,t){var i=getRad$1(n,e),r=getRad$1(n,t),g=r-i;return g>=0?g:g+2*Math.PI}function isValidPos(n,e){var t=getTriangleRad(n[0],n[1],n[2]),i=getTriangleRad(e[0],e[1],e[2]),r=Math.PI;return!(t>=r&&i<=r||t<=r&&i>=r)}var Warpable={name:"warpable",ableGroup:"size",props:["warpable","renderDirections","edge","displayAroundControls"],events:["warpStart","warp","warpEnd"],viewClassName:getDirectionViewClassName("warpable"),render:function(n,e){var t=n.props,i=t.resizable,r=t.scalable,g=t.warpable,y=t.zoom;if(i||r||!g)return[];var k=n.state,L=k.pos1,V=k.pos2,z=k.pos3,j=k.pos4,ie=getMiddleLinePos(L,V),oe=getMiddleLinePos(V,L),re=getMiddleLinePos(L,z),ae=getMiddleLinePos(z,L),le=getMiddleLinePos(z,j),de=getMiddleLinePos(j,z),ue=getMiddleLinePos(V,j),he=getMiddleLinePos(j,V);return __spreadArray$1([e.createElement("div",{className:prefix$1("line"),key:"middeLine1",style:getLineStyle(ie,le,y)}),e.createElement("div",{className:prefix$1("line"),key:"middeLine2",style:getLineStyle(oe,de,y)}),e.createElement("div",{className:prefix$1("line"),key:"middeLine3",style:getLineStyle(re,ue,y)}),e.createElement("div",{className:prefix$1("line"),key:"middeLine4",style:getLineStyle(ae,he,y)})],__read(renderAllDirections(n,"warpable",e)),!1)},dragControlCondition:function(n,e){if(e.isRequest)return!1;var t=e.inputEvent.target;return hasClass$1(t,prefix$1("direction"))&&hasClass$1(t,prefix$1("warpable"))},dragControlStart:function(n,e){var t=e.datas,i=e.inputEvent,r=n.props.target,g=i.target,y=getDirection(g,t);if(!y||!r)return!1;var k=n.state,L=k.transformOrigin,V=k.is3d,z=k.targetTransform,j=k.targetMatrix,ie=k.width,oe=k.height,re=k.left,ae=k.top;t.datas={},t.targetTransform=z,t.warpTargetMatrix=V?j:convertDimension(j,3,4),t.targetInverseMatrix=ignoreDimension(invert(t.warpTargetMatrix,4),3,4),t.direction=y,t.left=re,t.top=ae,t.poses=[[0,0],[ie,0],[0,oe],[ie,oe]].map(function(ue){return minus(ue,L)}),t.nextPoses=t.poses.map(function(ue){var he=__read(ue,2),pe=he[0],Ce=he[1];return calculate(t.warpTargetMatrix,[pe,Ce,0,1],4)}),t.startValue=createIdentityMatrix(4),t.prevMatrix=createIdentityMatrix(4),t.absolutePoses=getAbsolutePosesByState(k),t.posIndexes=getPosIndexesByDirection(y),setDragStart(n,e),setDefaultTransformIndex(n,e,"matrix3d"),k.snapRenderInfo={request:e.isRequest,direction:y};var le=fillParams(n,e,__assign$4({set:function(ue){t.startValue=ue}},fillTransformStartEvent(n,e))),de=triggerEvent(n,"onWarpStart",le);return de!==!1&&(t.isWarp=!0),t.isWarp},dragControl:function(n,e){var t=e.datas,i=e.isRequest,r=e.distX,g=e.distY,y=t.targetInverseMatrix,k=t.prevMatrix,L=t.isWarp,V=t.startValue,z=t.poses,j=t.posIndexes,ie=t.absolutePoses;if(!L)return!1;if(resolveTransformEvent(n,e,"matrix3d"),hasGuidelines(n,"warpable")){var oe=j.map(function(Ne){return ie[Ne]});oe.length>1&&oe.push([(oe[0][0]+oe[1][0])/2,(oe[0][1]+oe[1][1])/2]);var re=checkMoveableSnapBounds(n,i,{horizontal:oe.map(function(Ne){return Ne[1]+g}),vertical:oe.map(function(Ne){return Ne[0]+r})}),ae=re.horizontal,le=re.vertical;g-=ae.offset,r-=le.offset}var de=getDragDist({datas:t,distX:r,distY:g},!0),ue=t.nextPoses.slice();if(j.forEach(function(Ne){ue[Ne]=plus(ue[Ne],de)}),!NEARBY_POS.every(function(Ne){return isValidPos(Ne.map(function(Fe){return z[Fe]}),Ne.map(function(Fe){return ue[Fe]}))}))return!1;var he=createWarpMatrix(z[0],z[2],z[1],z[3],ue[0],ue[2],ue[1],ue[3]);if(!he.length)return!1;var pe=multiply(y,he,4),Ce=getTransfromMatrix(t,pe,!0),$e=multiply(invert(k,4),Ce,4);t.prevMatrix=Ce;var xe=multiply(V,Ce,4),Ie=convertTransformFormat(t,"matrix3d(".concat(xe.join(", "),")"),"matrix3d(".concat(Ce.join(", "),")"));return fillOriginalTransform(e,Ie),triggerEvent(n,"onWarp",fillParams(n,e,__assign$4({delta:$e,matrix:xe,dist:Ce,multiply,transform:Ie},fillCSSObject({transform:Ie},e)))),!0},dragControlEnd:function(n,e){var t=e.datas,i=e.isDrag;return t.isWarp?(t.isWarp=!1,triggerEvent(n,"onWarpEnd",fillEndParams(n,e,{})),i):!1}},AREA_PIECES=prefix$1("area-pieces"),AREA_PIECE=prefix$1("area-piece"),AVOID=prefix$1("avoid"),VIEW_DRAGGING=prefix$1("view-dragging");function restoreStyle(n){var e=n.areaElement;if(e){var t=n.state,i=t.width,r=t.height;removeClass$1(e,AVOID),e.style.cssText+="left: 0px; top: 0px; width: ".concat(i,"px; height: ").concat(r,"px")}}function renderPieces(n){return n.createElement("div",{key:"area_pieces",className:AREA_PIECES},n.createElement("div",{className:AREA_PIECE}),n.createElement("div",{className:AREA_PIECE}),n.createElement("div",{className:AREA_PIECE}),n.createElement("div",{className:AREA_PIECE}))}var DragArea={name:"dragArea",props:["dragArea","passDragArea"],events:["click","clickGroup"],render:function(n,e){var t=n.props,i=t.target,r=t.dragArea,g=t.groupable,y=t.passDragArea,k=n.getState(),L=k.width,V=k.height,z=k.renderPoses,j=y?prefix$1("area","pass"):prefix$1("area");if(g)return[e.createElement("div",{key:"area",ref:ref(n,"areaElement"),className:j}),renderPieces(e)];if(!i||!r)return[];var ie=createWarpMatrix([0,0],[L,0],[0,V],[L,V],z[0],z[1],z[2],z[3]),oe=ie.length?makeMatrixCSS(ie,!0):"none";return[e.createElement("div",{key:"area",ref:ref(n,"areaElement"),className:j,style:{top:"0px",left:"0px",width:"".concat(L,"px"),height:"".concat(V,"px"),transformOrigin:"0 0",transform:oe}}),renderPieces(e)]},dragStart:function(n,e){var t=e.datas,i=e.clientX,r=e.clientY,g=e.inputEvent;if(!g)return!1;t.isDragArea=!1;var y=n.areaElement,k=n.state,L=k.moveableClientRect,V=k.renderPoses,z=k.rootMatrix,j=k.is3d,ie=L.left,oe=L.top,re=getRect(V),ae=re.left,le=re.top,de=re.width,ue=re.height,he=j?4:3,pe=__read(calculateInversePosition(z,[i-ie,r-oe],he),2),Ce=pe[0],$e=pe[1];Ce-=ae,$e-=le;var xe=[{left:ae,top:le,width:de,height:$e-10},{left:ae,top:le,width:Ce-10,height:ue},{left:ae,top:le+$e+10,width:de,height:ue-$e-10},{left:ae+Ce+10,top:le,width:de-Ce-10,height:ue}],Ie=[].slice.call(y.nextElementSibling.children);xe.forEach(function(Ne,Fe){Ie[Fe].style.cssText="left: ".concat(Ne.left,"px;top: ").concat(Ne.top,"px; width: ").concat(Ne.width,"px; height: ").concat(Ne.height,"px;")}),addClass$1(y,AVOID),k.disableNativeEvent=!0},drag:function(n,e){var t=e.datas,i=e.inputEvent;if(this.enableNativeEvent(n),!i)return!1;t.isDragArea||(t.isDragArea=!0,restoreStyle(n))},dragEnd:function(n,e){this.enableNativeEvent(n);var t=e.inputEvent,i=e.datas;if(!t)return!1;i.isDragArea||restoreStyle(n)},dragGroupStart:function(n,e){return this.dragStart(n,e)},dragGroup:function(n,e){return this.drag(n,e)},dragGroupEnd:function(n,e){return this.dragEnd(n,e)},unset:function(n){restoreStyle(n),n.state.disableNativeEvent=!1},enableNativeEvent:function(n){var e=n.state;e.disableNativeEvent&&requestAnimationFrame$1(function(){e.disableNativeEvent=!1})}},Origin=makeAble("origin",{props:["origin","svgOrigin"],render:function(n,e){var t=n.props,i=t.zoom,r=t.svgOrigin,g=t.groupable,y=n.getState(),k=y.beforeOrigin,L=y.rotation,V=y.svg,z=y.allMatrix,j=y.is3d,ie=y.left,oe=y.top,re=y.offsetWidth,ae=y.offsetHeight,le;if(!g&&V&&r){var de=__read(convertTransformOriginArray(r,re,ae),2),ue=de[0],he=de[1],pe=j?4:3,Ce=calculatePosition(z,[ue,he],pe);le=getControlTransform(L,i,minus(Ce,[ie,oe]))}else le=getControlTransform(L,i,k);return[e.createElement("div",{className:prefix$1("control","origin"),style:le,key:"beforeOrigin"})]}});function getDefaultScrollPosition$1(n){var e=n.scrollContainer;return[e.scrollLeft,e.scrollTop]}var Scrollable={name:"scrollable",canPinch:!0,props:["scrollable","scrollContainer","scrollThreshold","scrollThrottleTime","getScrollPosition","scrollOptions"],events:["scroll","scrollGroup"],dragRelation:"strong",dragStart:function(n,e){var t=n.props,i=t.scrollContainer,r=i===void 0?n.getContainer():i,g=t.scrollOptions,y=new DragScroll$1,k=getRefTarget(r,!0);e.datas.dragScroll=y,n.state.dragScroll=y;var L=e.isControl?"controlGesto":"targetGesto",V=e.targets;y.on("scroll",function(z){var j=z.container,ie=z.direction,oe=fillParams(n,e,{scrollContainer:j,direction:ie}),re=V?"onScrollGroup":"onScroll";V&&(oe.targets=V),triggerEvent(n,re,oe)}).on("move",function(z){var j=z.offsetX,ie=z.offsetY,oe=z.inputEvent;n[L].scrollBy(j,ie,oe.inputEvent,!1)}).on("scrollDrag",function(z){var j=z.next;j(n[L].getCurrentEvent())}),y.dragStart(e,__assign$4({container:k},g))},checkScroll:function(n,e){var t=e.datas.dragScroll;if(t){var i=n.props,r=i.scrollContainer,g=r===void 0?n.getContainer():r,y=i.scrollThreshold,k=y===void 0?0:y,L=i.scrollThrottleTime,V=L===void 0?0:L,z=i.getScrollPosition,j=z===void 0?getDefaultScrollPosition$1:z,ie=i.scrollOptions;return t.drag(e,__assign$4({container:g,threshold:k,throttleTime:V,getScrollPosition:function(oe){return j({scrollContainer:oe.container,direction:oe.direction})}},ie)),!0}},drag:function(n,e){return this.checkScroll(n,e)},dragEnd:function(n,e){e.datas.dragScroll.dragEnd(),e.datas.dragScroll=null},dragControlStart:function(n,e){return this.dragStart(n,__assign$4(__assign$4({},e),{isControl:!0}))},dragControl:function(n,e){return this.drag(n,e)},dragControlEnd:function(n,e){return this.dragEnd(n,e)},dragGroupStart:function(n,e){return this.dragStart(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},dragGroup:function(n,e){return this.drag(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},dragGroupEnd:function(n,e){return this.dragEnd(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},dragGroupControlStart:function(n,e){return this.dragStart(n,__assign$4(__assign$4({},e),{targets:n.props.targets,isControl:!0}))},dragGroupControl:function(n,e){return this.drag(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},dragGroupControEnd:function(n,e){return this.dragEnd(n,__assign$4(__assign$4({},e),{targets:n.props.targets}))},unset:function(n){var e,t=n.state;(e=t.dragScroll)===null||e===void 0||e.dragEnd(),t.dragScroll=null}},Default={name:"",props:["target","dragTargetSelf","dragTarget","dragContainer","container","warpSelf","rootContainer","useResizeObserver","useMutationObserver","zoom","dragFocusedInput","transformOrigin","ables","className","pinchThreshold","pinchOutside","triggerAblesSimultaneously","checkInput","cspNonce","translateZ","hideDefaultLines","props","flushSync","stopPropagation","preventClickEventOnDrag","preventClickDefault","viewContainer","persistData","useAccuratePosition","firstRenderState","linePadding","controlPadding","preventDefault","preventRightClick","preventWheelClick","requestStyles"],events:["changeTargets"]},Padding=makeAble("padding",{props:["padding"],render:function(n,e){var t=n.props;if(t.dragArea)return[];var i=getPaddingBox(t.padding||{}),r=i.left,g=i.top,y=i.right,k=i.bottom,L=n.getState(),V=L.renderPoses,z=L.pos1,j=L.pos2,ie=L.pos3,oe=L.pos4,re=[z,j,ie,oe],ae=[];return r>0&&ae.push([0,2]),g>0&&ae.push([0,1]),y>0&&ae.push([1,3]),k>0&&ae.push([2,3]),ae.map(function(le,de){var ue=__read(le,2),he=ue[0],pe=ue[1],Ce=re[he],$e=re[pe],xe=V[he],Ie=V[pe],Ne=createWarpMatrix([0,0],[100,0],[0,100],[100,100],Ce,$e,xe,Ie);if(Ne.length)return e.createElement("div",{key:"padding".concat(de),className:prefix$1("padding"),style:{transform:makeMatrixCSS(Ne,!0)}})})}}),RADIUS_DIRECTIONS=["nw","ne","se","sw"];function calculateRatio(n,e){var t=n[0]+n[1],i=t>e?e/t:1;return n[0]*=i,n[1]=e-n[1]*i,n}var HORIZONTAL_RADIUS_ORDER=[1,2,5,6],VERTICAL_RADIUS_ORDER=[0,3,4,7],HORIZONTAL_RADIUS_DIRECTIONS=[1,-1,-1,1],VERTICAL_RADIUS_DIRECTIONS=[1,1,-1,-1];function getRadiusStyles(n,e,t,i,r,g,y,k){r===void 0&&(r=0),g===void 0&&(g=0),y===void 0&&(y=t),k===void 0&&(k=i);var L=[],V=!1,z=n.filter(function(ie){return!ie.virtual}),j=z.map(function(ie){var oe=ie.horizontal,re=ie.vertical,ae=ie.pos;if(re&&!V&&(V=!0,L.push("/")),V){var le=Math.max(0,re===1?ae[1]-g:k-ae[1]);return L.push(convertCSSSize(le,i,e)),le}else{var le=Math.max(0,oe===1?ae[0]-r:y-ae[0]);return L.push(convertCSSSize(le,t,e)),le}});return{radiusPoses:z,styles:L,raws:j}}function getRadiusRange(n){for(var e=[0,0],t=[0,0],i=n.length,r=0;r-1?n.slice(0,j):n).length,oe=n.slice(0,ie),re=n.slice(ie+1),ae=oe.length,le=re.length,de=le>0,ue=__read(oe,4),he=ue[0],pe=he===void 0?"0px":he,Ce=ue[1],$e=Ce===void 0?pe:Ce,xe=ue[2],Ie=xe===void 0?pe:xe,Ne=ue[3],Fe=Ne===void 0?$e:Ne,Ve=__read(re,4),Oe=Ve[0],ze=Oe===void 0?pe:Oe,qe=Ve[1],Ue=qe===void 0?de?ze:$e:qe,Et=Ve[2],At=Et===void 0?de?ze:Ie:Et,Lt=Ve[3],kt=Lt===void 0?de?Ue:Fe:Lt,ei=[pe,$e,Ie,Fe].map(function(Ri){return convertUnitSize(Ri,e)}),jt=[ze,Ue,At,kt].map(function(Ri){return convertUnitSize(Ri,t)}),ri=ei.slice(),ni=jt.slice();k=__read(calculateRatio([ri[0],ri[1]],e),2),ri[0]=k[0],ri[1]=k[1],L=__read(calculateRatio([ri[3],ri[2]],e),2),ri[3]=L[0],ri[2]=L[1],V=__read(calculateRatio([ni[0],ni[3]],t),2),ni[0]=V[0],ni[3]=V[1],z=__read(calculateRatio([ni[1],ni[2]],t),2),ni[1]=z[0],ni[2]=z[1];var Ci=y?ri:ri.slice(0,Math.max(g[0],ae)),wi=y?ni:ni.slice(0,Math.max(g[1],le));return __spreadArray$1(__spreadArray$1([],__read(Ci.map(function(Ri,ai){var hi=RADIUS_DIRECTIONS[ai];return{virtual:ai>=ae,horizontal:HORIZONTAL_RADIUS_DIRECTIONS[ai],vertical:0,pos:[i+Ri,r+(VERTICAL_RADIUS_DIRECTIONS[ai]===-1?t:0)],sub:!0,raw:ei[ai],direction:hi}})),!1),__read(wi.map(function(Ri,ai){var hi=RADIUS_DIRECTIONS[ai];return{virtual:ai>=le,horizontal:0,vertical:VERTICAL_RADIUS_DIRECTIONS[ai],pos:[i+(HORIZONTAL_RADIUS_DIRECTIONS[ai]===-1?e:0),r+Ri],sub:!0,raw:jt[ai],direction:hi}})),!1)}function removeRadiusPos(n,e,t,i,r){r===void 0&&(r=e.length);var g=getRadiusRange(n.slice(i)),y=g.horizontalRange,k=g.verticalRange,L=t-i,V=0;if(L===0)V=r;else if(L>0&&L=k[0])V=k[0]+k[1]-L;else return;n.splice(t,V),e.splice(t,V)}function addRadiusPos(n,e,t,i,r,g,y,k,L,V,z){V===void 0&&(V=0),z===void 0&&(z=0);var j=getRadiusRange(n.slice(t)),ie=j.horizontalRange,oe=j.verticalRange;if(i>-1)for(var re=HORIZONTAL_RADIUS_DIRECTIONS[i]===1?g-V:k-g,ae=ie[1];ae<=i;++ae){var le=VERTICAL_RADIUS_DIRECTIONS[ae]===1?z:L,de=0;if(i===ae?de=g:ae===0?de=V+re:HORIZONTAL_RADIUS_DIRECTIONS[ae]===-1&&(de=k-(e[t][0]-V)),n.splice(t+ae,0,{horizontal:HORIZONTAL_RADIUS_DIRECTIONS[ae],vertical:0,pos:[de,le]}),e.splice(t+ae,0,[de,le]),ae===0)break}else if(r>-1){var ue=VERTICAL_RADIUS_DIRECTIONS[r]===1?y-z:L-y;if(ie[1]===0&&oe[1]===0){var he=[V+ue,z];n.push({horizontal:HORIZONTAL_RADIUS_DIRECTIONS[0],vertical:0,pos:he}),e.push(he)}for(var pe=oe[0],ae=oe[1];ae<=r;++ae){var de=HORIZONTAL_RADIUS_DIRECTIONS[ae]===1?V:k,le=0;if(r===ae?le=y:ae===0?le=z+ue:VERTICAL_RADIUS_DIRECTIONS[ae]===1?le=e[t+pe][1]:VERTICAL_RADIUS_DIRECTIONS[ae]===-1&&(le=L-(e[t+pe][1]-z)),n.push({horizontal:0,vertical:VERTICAL_RADIUS_DIRECTIONS[ae],pos:[de,le]}),e.push([de,le]),ae===0)break}}}function splitRadiusPoses(n,e){e===void 0&&(e=n.map(function(r){return r.raw}));var t=n.map(function(r,g){return r.horizontal?e[g]:null}).filter(function(r){return r!=null}),i=n.map(function(r,g){return r.vertical?e[g]:null}).filter(function(r){return r!=null});return{horizontals:t,verticals:i}}var CLIP_DIRECTIONS=[[0,-1,"n"],[1,0,"e"]],CLIP_RECT_DIRECTIONS=[[-1,-1,"nw"],[0,-1,"n"],[1,-1,"ne"],[1,0,"e"],[1,1,"se"],[0,1,"s"],[-1,1,"sw"],[-1,0,"w"]];function getClipStyles(n,e,t){var i=n.props.clipRelative,r=n.state,g=r.width,y=r.height,k=e,L=k.type,V=k.poses,z=L==="rect",j=L==="circle";if(L==="polygon")return t.map(function($e){return"".concat(convertCSSSize($e[0],g,i)," ").concat(convertCSSSize($e[1],y,i))});if(z||L==="inset"){var ie=t[1][1],oe=t[3][0],re=t[7][0],ae=t[5][1];if(z)return[ie,oe,ae,re].map(function($e){return"".concat($e,"px")});var le=[ie,g-oe,y-ae,re].map(function($e,xe){return convertCSSSize($e,xe%2?g:y,i)});if(t.length>8){var de=__read(minus(t[4],t[0]),2),ue=de[0],he=de[1];le.push.apply(le,__spreadArray$1(["round"],__read(getRadiusStyles(V.slice(8).map(function($e,xe){return __assign$4(__assign$4({},$e),{pos:t[xe]})}),i,ue,he,re,ie,oe,ae).styles),!1))}return le}else if(j||L==="ellipse"){var pe=t[0],Ce=convertCSSSize(abs(t[1][1]-pe[1]),j?Math.sqrt((g*g+y*y)/2):y,i),le=j?[Ce]:[convertCSSSize(abs(t[2][0]-pe[0]),g,i),Ce];return le.push("at",convertCSSSize(pe[0],g,i),convertCSSSize(pe[1],y,i)),le}}function getRectPoses(n,e,t,i){var r=[i,(i+e)/2,e],g=[n,(n+t)/2,t];return CLIP_RECT_DIRECTIONS.map(function(y){var k=__read(y,3),L=k[0],V=k[1],z=k[2],j=r[L+1],ie=g[V+1];return{vertical:abs(V),horizontal:abs(L),direction:z,pos:[j,ie]}})}function getControlSize(n){var e=[1/0,-1/0],t=[1/0,-1/0];return n.forEach(function(i){var r=i.pos;e[0]=Math.min(e[0],r[0]),e[1]=Math.max(e[1],r[0]),t[0]=Math.min(t[0],r[1]),t[1]=Math.max(t[1],r[1])}),[abs(e[1]-e[0]),abs(t[1]-t[0])]}function getClipPath(n,e,t,i,r){var g,y,k,L,V,z,j,ie,oe;if(n){var re=r;if(!re){var ae=getCachedStyle(n),le=ae("clipPath");re=le!=="none"?le:ae("clip")}if(!((!re||re==="none"||re==="auto")&&(re=i,!re))){var de=splitBracket(re),ue=de.prefix,he=ue===void 0?re:ue,pe=de.value,Ce=pe===void 0?"":pe,$e=he==="circle",xe=" ";if(he==="polygon"){var Ie=splitComma(Ce||"0% 0%, 100% 0%, 100% 100%, 0% 100%");xe=",";var Ne=Ie.map(function(vi){var Li=__read(vi.split(" "),2),oi=Li[0],ii=Li[1];return{vertical:1,horizontal:1,pos:[convertUnitSize(oi,e),convertUnitSize(ii,t)]}}),Fe=getMinMaxs(Ne.map(function(vi){return vi.pos}));return{type:he,clipText:re,poses:Ne,splitter:xe,left:Fe.minX,right:Fe.maxX,top:Fe.minY,bottom:Fe.maxY}}else if($e||he==="ellipse"){var Ve="",Oe="",ze=0,qe=0,Ie=splitSpace(Ce);if($e){var Ue="";g=__read(Ie,4),y=g[0],Ue=y===void 0?"50%":y,k=g[2],Ve=k===void 0?"50%":k,L=g[3],Oe=L===void 0?"50%":L,ze=convertUnitSize(Ue,Math.sqrt((e*e+t*t)/2)),qe=ze}else{var Et="",At="";V=__read(Ie,5),z=V[0],Et=z===void 0?"50%":z,j=V[1],At=j===void 0?"50%":j,ie=V[3],Ve=ie===void 0?"50%":ie,oe=V[4],Oe=oe===void 0?"50%":oe,ze=convertUnitSize(Et,e),qe=convertUnitSize(At,t)}var Lt=[convertUnitSize(Ve,e),convertUnitSize(Oe,t)],Ne=__spreadArray$1([{vertical:1,horizontal:1,pos:Lt,direction:"nesw"}],__read(CLIP_DIRECTIONS.slice(0,$e?1:2).map(function(oi){return{vertical:abs(oi[1]),horizontal:oi[0],direction:oi[2],sub:!0,pos:[Lt[0]+oi[0]*ze,Lt[1]+oi[1]*qe]}})),!1);return{type:he,clipText:re,radiusX:ze,radiusY:qe,left:Lt[0]-ze,top:Lt[1]-qe,right:Lt[0]+ze,bottom:Lt[1]+qe,poses:Ne,splitter:xe}}else if(he==="inset"){var Ie=splitSpace(Ce||"0 0 0 0"),kt=Ie.indexOf("round"),ei=(kt>-1?Ie.slice(0,kt):Ie).length,jt=Ie.slice(ei+1),ri=__read(Ie.slice(0,ei),4),ni=ri[0],Ci=ri[1],wi=Ci===void 0?ni:Ci,Ri=ri[2],ai=Ri===void 0?ni:Ri,hi=ri[3],xi=hi===void 0?wi:hi,Oi=__read([ni,ai].map(function(oi){return convertUnitSize(oi,t)}),2),Ei=Oi[0],si=Oi[1],fi=__read([xi,wi].map(function(oi){return convertUnitSize(oi,e)}),2),li=fi[0],Di=fi[1],ki=e-Di,Ai=t-si,Ki=getRadiusValues(jt,ki-li,Ai-Ei,li,Ei),Ne=__spreadArray$1(__spreadArray$1([],__read(getRectPoses(Ei,ki,Ai,li)),!1),__read(Ki),!1);return{type:"inset",clipText:re,poses:Ne,top:Ei,left:li,right:ki,bottom:Ai,radius:jt,splitter:xe}}else if(he==="rect"){var Ie=splitComma(Ce||"0px, ".concat(e,"px, ").concat(t,"px, 0px"));xe=",";var zi=__read(Ie.map(function(yi){var ti=splitUnit(yi).value;return ti}),4),bi=zi[0],Di=zi[1],si=zi[2],li=zi[3],Ne=getRectPoses(bi,Di,si,li);return{type:"rect",clipText:re,poses:Ne,top:bi,right:Di,bottom:si,left:li,values:Ie,splitter:xe}}}}}function moveControlPos(n,e,t,i,r){var g=n[e],y=g.direction,k=g.sub,L=n.map(function(){return[0,0]}),V=y?y.split(""):[];if(i&&e<8){var z=V.filter(function(ze){return ze==="w"||ze==="e"}),j=V.filter(function(ze){return ze==="n"||ze==="s"}),ie=z[0],oe=j[0];L[e]=t;var re=__read(getControlSize(n),2),ae=re[0],le=re[1],de=ae&&le?ae/le:0;if(de&&r){var ue=(e+4)%8,he=n[ue].pos,pe=[0,0];y.indexOf("w")>-1?pe[0]=-1:y.indexOf("e")>-1&&(pe[0]=1),y.indexOf("n")>-1?pe[1]=-1:y.indexOf("s")>-1&&(pe[1]=1);var Ce=getSizeDistByDist([ae,le],t,de,pe,!0),$e=ae+Ce[0],xe=le+Ce[1],Ie=he[1],Ne=he[1],Fe=he[0],Ve=he[0];pe[0]===-1?Fe=Ve-$e:pe[0]===1?Ve=Fe+$e:(Fe=Fe-$e/2,Ve=Ve+$e/2),pe[1]===-1?Ie=Ne-xe:(pe[1]===1||(Ie=Ne-xe/2),Ne=Ie+xe);var Oe=getRectPoses(Ie,Ve,Ne,Fe);n.forEach(function(ze,qe){L[qe][0]=Oe[qe].pos[0]-ze.pos[0],L[qe][1]=Oe[qe].pos[1]-ze.pos[1]})}else n.forEach(function(ze,qe){var Ue=ze.direction;Ue&&(Ue.indexOf(ie)>-1&&(L[qe][0]=t[0]),Ue.indexOf(oe)>-1&&(L[qe][1]=t[1]))}),ie&&(L[1][0]=t[0]/2,L[5][0]=t[0]/2),oe&&(L[3][1]=t[1]/2,L[7][1]=t[1]/2)}else y&&!k?V.forEach(function(ze){var qe=ze==="n"||ze==="s";n.forEach(function(Ue,Et){var At=Ue.direction,Lt=Ue.horizontal,kt=Ue.vertical;!At||At.indexOf(ze)===-1||(L[Et]=[qe||!Lt?0:t[0],!qe||!kt?0:t[1]])})}):L[e]=t;return L}function addClipPath(n,e){var t=__read(calculatePointerDist(n,e),2),i=t[0],r=t[1],g=e.datas,y=g.clipPath,k=g.clipIndex,L=y,V=L.type,z=L.poses,j=L.splitter,ie=z.map(function(ue){return ue.pos});if(V==="polygon")ie.splice(k,0,[i,r]);else if(V==="inset"){var oe=HORIZONTAL_RADIUS_ORDER.indexOf(k),re=VERTICAL_RADIUS_ORDER.indexOf(k),ae=z.length;if(addRadiusPos(z,ie,8,oe,re,i,r,ie[4][0],ie[4][1],ie[0][0],ie[0][1]),ae===z.length)return}else return;var le=getClipStyles(n,y,ie),de="".concat(V,"(").concat(le.join(j),")");triggerEvent(n,"onClip",fillParams(n,e,__assign$4({clipEventType:"added",clipType:V,poses:ie,clipStyles:le,clipStyle:de,distX:0,distY:0},fillCSSObject({clipPath:de},e))))}function removeClipPath(n,e){var t=e.datas,i=t.clipPath,r=t.clipIndex,g=i,y=g.type,k=g.poses,L=g.splitter,V=k.map(function(oe){return oe.pos}),z=V.length;if(y==="polygon")k.splice(r,1),V.splice(r,1);else if(y==="inset"){if(r<8||(removeRadiusPos(k,V,r,8,z),z===k.length))return}else return;var j=getClipStyles(n,i,V),ie="".concat(y,"(").concat(j.join(L),")");triggerEvent(n,"onClip",fillParams(n,e,__assign$4({clipEventType:"removed",clipType:y,poses:V,clipStyles:j,clipStyle:ie,distX:0,distY:0},fillCSSObject({clipPath:ie},e))))}var Clippable={name:"clippable",props:["clippable","defaultClipPath","customClipPath","keepRatio","clipRelative","clipArea","dragWithClip","clipTargetBounds","clipVerticalGuidelines","clipHorizontalGuidelines","clipSnapThreshold"],events:["clipStart","clip","clipEnd"],css:[".control.clip-control {\nbackground: #6d6;\ncursor: pointer;\n}\n.control.clip-control.clip-radius {\nbackground: #d66;\n}\n.line.clip-line {\nbackground: #6e6;\ncursor: move;\nz-index: 1;\n}\n.clip-area {\nposition: absolute;\ntop: 0;\nleft: 0;\n}\n.clip-ellipse {\nposition: absolute;\ncursor: move;\nborder: 1px solid #6d6;\nborder: var(--zoompx) solid #6d6;\nborder-radius: 50%;\ntransform-origin: 0px 0px;\n}",":host {\n--bounds-color: #d66;\n}",".guideline {\npointer-events: none;\nz-index: 2;\n}",".line.guideline.bounds {\nbackground: #d66;\nbackground: var(--bounds-color);\n}"],render:function(n,e){var t=n.props,i=t.customClipPath,r=t.defaultClipPath,g=t.clipArea,y=t.zoom,k=t.groupable,L=n.getState(),V=L.target,z=L.width,j=L.height,ie=L.allMatrix,oe=L.is3d,re=L.left,ae=L.top,le=L.pos1,de=L.pos2,ue=L.pos3,he=L.pos4,pe=L.clipPathState,Ce=L.snapBoundInfos,$e=L.rotation;if(!V||k)return[];var xe=getClipPath(V,z,j,r||"inset",pe||i);if(!xe)return[];var Ie=oe?4:3,Ne=xe.type,Fe=xe.poses,Ve=Fe.map(function(Di){var ki=calculatePosition(ie,Di.pos,Ie);return[ki[0]-re,ki[1]-ae]}),Oe=[],ze=[],qe=Ne==="rect",Ue=Ne==="inset",Et=Ne==="polygon";if(qe||Ue||Et){var At=Ue?Ve.slice(0,8):Ve;ze=At.map(function(Di,ki){var Ai=ki===0?At[At.length-1]:At[ki-1],Ki=getRad$1(Ai,Di),zi=getDiagonalSize(Ai,Di);return e.createElement("div",{key:"clipLine".concat(ki),className:prefix$1("line","clip-line","snap-control"),"data-clip-index":ki,style:{width:"".concat(zi,"px"),transform:"translate(".concat(Ai[0],"px, ").concat(Ai[1],"px) rotate(").concat(Ki,"rad) scaleY(").concat(y,")")}})})}if(Oe=Ve.map(function(Di,ki){return e.createElement("div",{key:"clipControl".concat(ki),className:prefix$1("control","clip-control","snap-control"),"data-clip-index":ki,style:{transform:"translate(".concat(Di[0],"px, ").concat(Di[1],"px) rotate(").concat($e,"rad) scale(").concat(y,")")}})}),Ue&&Oe.push.apply(Oe,__spreadArray$1([],__read(Ve.slice(8).map(function(Di,ki){return e.createElement("div",{key:"clipRadiusControl".concat(ki),className:prefix$1("control","clip-control","clip-radius","snap-control"),"data-clip-index":8+ki,style:{transform:"translate(".concat(Di[0],"px, ").concat(Di[1],"px) rotate(").concat($e,"rad) scale(").concat(y,")")}})})),!1)),Ne==="circle"||Ne==="ellipse"){var Lt=xe.left,kt=xe.top,ei=xe.radiusX,jt=xe.radiusY,ri=__read(minus(calculatePosition(ie,[Lt,kt],Ie),calculatePosition(ie,[0,0],Ie)),2),ni=ri[0],Ci=ri[1],wi="none";if(!g){for(var Ri=Math.max(10,ei/5,jt/5),ai=[],hi=0;hi<=Ri;++hi){var xi=Math.PI*2/Ri*hi;ai.push([ei+(ei-y)*Math.cos(xi),jt+(jt-y)*Math.sin(xi)])}ai.push([ei,-2]),ai.push([-2,-2]),ai.push([-2,jt*2+2]),ai.push([ei*2+2,jt*2+2]),ai.push([ei*2+2,-2]),ai.push([ei,-2]),wi="polygon(".concat(ai.map(function(Di){return"".concat(Di[0],"px ").concat(Di[1],"px")}).join(", "),")")}Oe.push(e.createElement("div",{key:"clipEllipse",className:prefix$1("clip-ellipse","snap-control"),style:{width:"".concat(ei*2,"px"),height:"".concat(jt*2,"px"),clipPath:wi,transform:"translate(".concat(-re+ni,"px, ").concat(-ae+Ci,"px) ").concat(makeMatrixCSS(ie))}}))}if(g){var Oi=getRect(__spreadArray$1([le,de,ue,he],__read(Ve),!1)),Ei=Oi.width,si=Oi.height,fi=Oi.left,li=Oi.top;if(Et||qe||Ue){var ai=Ue?Ve.slice(0,8):Ve;Oe.push(e.createElement("div",{key:"clipArea",className:prefix$1("clip-area","snap-control"),style:{width:"".concat(Ei,"px"),height:"".concat(si,"px"),transform:"translate(".concat(fi,"px, ").concat(li,"px)"),clipPath:"polygon(".concat(ai.map(function(ki){return"".concat(ki[0]-fi,"px ").concat(ki[1]-li,"px")}).join(", "),")")}}))}}return Ce&&["vertical","horizontal"].forEach(function(Di){var ki=Ce[Di],Ai=Di==="horizontal";ki.isSnap&&ze.push.apply(ze,__spreadArray$1([],__read(ki.snap.posInfos.map(function(Ki,zi){var bi=Ki.pos,vi=minus(calculatePosition(ie,Ai?[0,bi]:[bi,0],Ie),[re,ae]),Li=minus(calculatePosition(ie,Ai?[z,bi]:[bi,j],Ie),[re,ae]);return renderLine(e,"",vi,Li,y,"clip".concat(Di,"snap").concat(zi),"guideline")})),!1)),ki.isBound&&ze.push.apply(ze,__spreadArray$1([],__read(ki.bounds.map(function(Ki,zi){var bi=Ki.pos,vi=minus(calculatePosition(ie,Ai?[0,bi]:[bi,0],Ie),[re,ae]),Li=minus(calculatePosition(ie,Ai?[z,bi]:[bi,j],Ie),[re,ae]);return renderLine(e,"",vi,Li,y,"clip".concat(Di,"bounds").concat(zi),"guideline","bounds","bold")})),!1))}),__spreadArray$1(__spreadArray$1([],__read(Oe),!1),__read(ze),!1)},dragControlCondition:function(n,e){return e.inputEvent&&(e.inputEvent.target.getAttribute("class")||"").indexOf("clip")>-1},dragStart:function(n,e){var t=n.props,i=t.dragWithClip,r=i===void 0?!0:i;return r?!1:this.dragControlStart(n,e)},drag:function(n,e){return this.dragControl(n,__assign$4(__assign$4({},e),{isDragTarget:!0}))},dragEnd:function(n,e){return this.dragControlEnd(n,e)},dragControlStart:function(n,e){var t=n.state,i=n.props,r=i.defaultClipPath,g=i.customClipPath,y=t.target,k=t.width,L=t.height,V=e.inputEvent?e.inputEvent.target:null,z=V&&V.getAttribute("class")||"",j=e.datas,ie=getClipPath(y,k,L,r||"inset",g);if(!ie)return!1;var oe=ie.clipText,re=ie.type,ae=ie.poses,le=triggerEvent(n,"onClipStart",fillParams(n,e,{clipType:re,clipStyle:oe,poses:ae.map(function(de){return de.pos})}));return le===!1?(j.isClipStart=!1,!1):(j.isControl=z&&z.indexOf("clip-control")>-1,j.isLine=z.indexOf("clip-line")>-1,j.isArea=z.indexOf("clip-area")>-1||z.indexOf("clip-ellipse")>-1,j.clipIndex=V?parseInt(V.getAttribute("data-clip-index"),10):-1,j.clipPath=ie,j.isClipStart=!0,t.clipPathState=oe,setDragStart(n,e),!0)},dragControl:function(n,e){var t,i,r,g=e.datas,y=e.originalDatas,k=e.isDragTarget;if(!g.isClipStart)return!1;var L=g,V=L.isControl,z=L.isLine,j=L.isArea,ie=L.clipIndex,oe=L.clipPath;if(!oe)return!1;var re=getProps(n.props,"clippable"),ae=re.keepRatio,le=0,de=0,ue=y.draggable,he=getDragDist(e);k&&ue?(t=__read(ue.prevBeforeDist,2),le=t[0],de=t[1]):(i=__read(he,2),le=i[0],de=i[1]);var pe=[le,de],Ce=n.state,$e=Ce.width,xe=Ce.height,Ie=!j&&!V&&!z,Ne=oe.type,Fe=oe.poses,Ve=oe.splitter,Oe=Fe.map(function(vn){return vn.pos});Ie&&(le=-le,de=-de);var ze=!V||Fe[ie].direction==="nesw",qe=Ne==="inset"||Ne==="rect",Ue=Fe.map(function(){return[0,0]});if(V&&!ze){var Et=Fe[ie],At=Et.horizontal,Lt=Et.vertical,kt=[le*abs(At),de*abs(Lt)];Ue=moveControlPos(Fe,ie,kt,qe,ae)}else ze&&(Ue=Oe.map(function(){return[le,de]}));var ei=Oe.map(function(vn,Tn){return plus(vn,Ue[Tn])}),jt=__spreadArray$1([],__read(ei),!1);Ce.snapBoundInfos=null;var ri=oe.type==="circle",ni=oe.type==="ellipse";if(ri||ni){var Ci=getRect(ei),wi=abs(Ci.bottom-Ci.top),Ri=abs(ni?Ci.right-Ci.left:wi),ai=ei[0][1]+wi,hi=ei[0][0]-Ri,xi=ei[0][0]+Ri;ri&&(jt.push([xi,Ci.bottom]),Ue.push([1,0])),jt.push([Ci.left,ai]),Ue.push([0,1]),jt.push([hi,Ci.bottom]),Ue.push([1,0])}var Oi=getDefaultGuidelines((re.clipHorizontalGuidelines||[]).map(function(vn){return convertUnitSize("".concat(vn),xe)}),(re.clipVerticalGuidelines||[]).map(function(vn){return convertUnitSize("".concat(vn),$e)}),$e,xe),Ei=[],si=[];if(ri||ni)Ei=[jt[4][0],jt[2][0]],si=[jt[1][1],jt[3][1]];else if(qe){var fi=[jt[0],jt[2],jt[4],jt[6]],li=[Ue[0],Ue[2],Ue[4],Ue[6]];Ei=fi.filter(function(vn,Tn){return li[Tn][0]}).map(function(vn){return vn[0]}),si=fi.filter(function(vn,Tn){return li[Tn][1]}).map(function(vn){return vn[1]})}else Ei=jt.filter(function(vn,Tn){return Ue[Tn][0]}).map(function(vn){return vn[0]}),si=jt.filter(function(vn,Tn){return Ue[Tn][1]}).map(function(vn){return vn[1]});var Di=[0,0],ki=checkSnapBounds(Oi,re.clipTargetBounds&&{left:0,top:0,right:$e,bottom:xe},Ei,si,5,5),Ai=ki.horizontal,Ki=ki.vertical,zi=Ai.offset,bi=Ki.offset;if(Ai.isBound&&(Di[1]+=zi),Ki.isBound&&(Di[0]+=bi),(ni||ri)&&Ue[0][0]===0&&Ue[0][1]===0){var Ci=getRect(ei),vi=Ci.bottom-Ci.top,Li=ni?Ci.right-Ci.left:vi,oi=Ki.isBound?abs(bi):Ki.snapIndex===0?-bi:bi,ii=Ai.isBound?abs(zi):Ai.snapIndex===0?-zi:zi;Li-=oi,vi-=ii,ri&&(vi=checkSnapBoundPriority(Ki,Ai)>0?vi:Li,Li=vi);var mi=jt[0];jt[1][1]=mi[1]-vi,jt[2][0]=mi[0]+Li,jt[3][1]=mi[1]+vi,jt[4][0]=mi[0]-Li}else if(qe&&ae&&V){var yi=__read(getControlSize(Fe),2),ti=yi[0],Dt=yi[1],Pt=ti&&Dt?ti/Dt:0,ci=Fe[ie],Ti=ci.direction||"",Mi=jt[1][1],ai=jt[5][1],hi=jt[7][0],xi=jt[3][0];abs(zi)<=abs(bi)?zi=sign(zi)*abs(bi)/Pt:bi=sign(bi)*abs(zi)*Pt,Ti.indexOf("w")>-1?hi-=bi:Ti.indexOf("e")>-1?xi-=bi:(hi+=bi/2,xi-=bi/2),Ti.indexOf("n")>-1?Mi-=zi:Ti.indexOf("s")>-1?ai-=zi:(Mi+=zi/2,ai-=zi/2);var pi=getRectPoses(Mi,xi,ai,hi);jt.forEach(function(Rn,Bn){var Ln;Ln=__read(pi[Bn].pos,2),Rn[0]=Ln[0],Rn[1]=Ln[1]})}else jt.forEach(function(vn,Tn){var In=Ue[Tn];In[0]&&(vn[0]-=bi),In[1]&&(vn[1]-=zi)});var ui=getClipStyles(n,oe,ei),$i="".concat(Ne,"(").concat(ui.join(Ve),")");if(Ce.clipPathState=$i,ri||ni)Ei=[jt[4][0],jt[2][0]],si=[jt[1][1],jt[3][1]];else if(qe){var fi=[jt[0],jt[2],jt[4],jt[6]];Ei=fi.map(function(Tn){return Tn[0]}),si=fi.map(function(Tn){return Tn[1]})}else Ei=jt.map(function(vn){return vn[0]}),si=jt.map(function(vn){return vn[1]});if(Ce.snapBoundInfos=checkSnapBounds(Oi,re.clipTargetBounds&&{left:0,top:0,right:$e,bottom:xe},Ei,si,1,1),ue){var di=Ce.is3d,Wi=Ce.allMatrix,Gi=di?4:3,Zi=Di;k&&(Zi=[pe[0]+Di[0]-he[0],pe[1]+Di[1]-he[1]]),ue.deltaOffset=multiply(Wi,[Zi[0],Zi[1],0,0],Gi)}return triggerEvent(n,"onClip",fillParams(n,e,__assign$4({clipEventType:"changed",clipType:Ne,poses:ei,clipStyle:$i,clipStyles:ui,distX:le,distY:de},fillCSSObject((r={},r[Ne==="rect"?"clip":"clipPath"]=$i,r),e)))),!0},dragControlEnd:function(n,e){this.unset(n);var t=e.isDrag,i=e.datas,r=e.isDouble,g=i.isLine,y=i.isClipStart,k=i.isControl;return y?(triggerEvent(n,"onClipEnd",fillEndParams(n,e,{})),r&&(k?removeClipPath(n,e):g&&addClipPath(n,e)),r||t):!1},unset:function(n){n.state.clipPathState="",n.state.snapBoundInfos=null}},OriginDraggable={name:"originDraggable",props:["originDraggable","originRelative"],events:["dragOriginStart","dragOrigin","dragOriginEnd"],css:[":host[data-able-origindraggable] .control.origin {\npointer-events: auto;\n}"],dragControlCondition:function(n,e){return e.isRequest?e.requestAble==="originDraggable":hasClass$1(e.inputEvent.target,prefix$1("origin"))},dragControlStart:function(n,e){var t=e.datas;setDragStart(n,e);var i=fillParams(n,e,{dragStart:Draggable.dragStart(n,new CustomGesto().dragStart([0,0],e))}),r=triggerEvent(n,"onDragOriginStart",i);return t.startOrigin=n.state.transformOrigin,t.startTargetOrigin=n.state.targetOrigin,t.prevOrigin=[0,0],t.isDragOrigin=!0,r===!1?(t.isDragOrigin=!1,!1):i},dragControl:function(n,e){var t=e.datas,i=e.isPinch,r=e.isRequest;if(!t.isDragOrigin)return!1;var g=__read(getDragDist(e),2),y=g[0],k=g[1],L=n.state,V=L.width,z=L.height,j=L.offsetMatrix,ie=L.targetMatrix,oe=L.is3d,re=n.props.originRelative,ae=re===void 0?!0:re,le=oe?4:3,de=[y,k];if(r){var ue=e.distOrigin;(ue[0]||ue[1])&&(de=ue)}var he=plus(t.startOrigin,de),pe=plus(t.startTargetOrigin,de),Ce=minus(de,t.prevOrigin),$e=getNextMatrix(j,ie,he,le),xe=n.getRect(),Ie=getRect(calculatePoses($e,V,z,le)),Ne=[xe.left-Ie.left,xe.top-Ie.top];t.prevOrigin=de;var Fe=[convertCSSSize(pe[0],V,ae),convertCSSSize(pe[1],z,ae)].join(" "),Ve=Draggable.drag(n,setCustomDrag(e,n.state,Ne,!!i)),Oe=fillParams(n,e,__assign$4(__assign$4({width:V,height:z,origin:he,dist:de,delta:Ce,transformOrigin:Fe,drag:Ve},fillCSSObject({transformOrigin:Fe,transform:Ve.transform},e)),{afterTransform:Ve.transform}));return triggerEvent(n,"onDragOrigin",Oe),Oe},dragControlEnd:function(n,e){var t=e.datas;return t.isDragOrigin?(triggerEvent(n,"onDragOriginEnd",fillEndParams(n,e,{})),!0):!1},dragGroupControlCondition:function(n,e){return this.dragControlCondition(n,e)},dragGroupControlStart:function(n,e){var t=this.dragControlStart(n,e);return!!t},dragGroupControl:function(n,e){var t=this.dragControl(n,e);return t?(n.transformOrigin=t.transformOrigin,!0):!1},request:function(n){var e={},t=n.getRect(),i=0,r=0,g=t.transformOrigin,y=[0,0];return{isControl:!0,requestStart:function(){return{datas:e}},request:function(k){return"deltaOrigin"in k?(y[0]+=k.deltaOrigin[0],y[1]+=k.deltaOrigin[1]):"origin"in k?(y[0]=k.origin[0]-g[0],y[1]=k.origin[1]-g[1]):("x"in k?i=k.x-t.left:"deltaX"in k&&(i+=k.deltaX),"y"in k?r=k.y-t.top:"deltaY"in k&&(r+=k.deltaY)),{datas:e,distX:i,distY:r,distOrigin:y}},requestEnd:function(){return{datas:e,isDrag:!0}}}}};function addBorderRadiusByLine(n,e,t,i){var r=n.filter(function(L){var V=L.virtual,z=L.horizontal;return z&&!V}).length,g=n.filter(function(L){var V=L.virtual,z=L.vertical;return z&&!V}).length,y=-1;if(e===0&&(r===0?y=0:r===1&&(y=1)),e===2&&(r<=2?y=2:r<=3&&(y=3)),e===3&&(g===0?y=4:g<4&&(y=7)),e===1&&(g<=1?y=5:g<=2&&(y=6)),!(y===-1||!n[y].virtual)){var k=n[y];addBorderRadius(n,y),y<4?k.pos[0]=t:k.pos[1]=i}}function addBorderRadius(n,e){e<4?n.slice(0,e+1).forEach(function(t){t.virtual=!1}):(n[0].virtual&&(n[0].virtual=!1),n.slice(4,e+1).forEach(function(t){t.virtual=!1}))}function removeBorderRadius(n,e){e<4?n.slice(e,4).forEach(function(t){t.virtual=!0}):n.slice(e).forEach(function(t){t.virtual=!0})}function getBorderRadius(n,e,t,i,r){i===void 0&&(i=[0,0]);var g=[];return!n||n==="0px"?g=[]:g=splitSpace(n),getRadiusValues(g,e,t,0,0,i,r)}function triggerRoundEvent(n,e,t,i,r){var g=n.state,y=g.width,k=g.height,L=getRadiusStyles(r,n.props.roundRelative,y,k),V=L.raws,z=L.styles,j=L.radiusPoses,ie=splitRadiusPoses(j,V),oe=ie.horizontals,re=ie.verticals,ae=z.join(" ");g.borderRadiusState=ae;var le=fillParams(n,e,__assign$4({horizontals:oe,verticals:re,borderRadius:ae,width:y,height:k,delta:i,dist:t},fillCSSObject({borderRadius:ae},e)));return triggerEvent(n,"onRound",le),le}function getStyleBorderRadius(n){var e,t,i=n.getState().style,r=i.borderRadius||"";if(!r&&n.props.groupable){var g=n.moveables[0],y=n.getTargets()[0];y&&((g==null?void 0:g.props.target)===y?(r=(t=(e=n.moveables[0])===null||e===void 0?void 0:e.state.style.borderRadius)!==null&&t!==void 0?t:"",i.borderRadius=r):(r=getComputedStyle$1(y).borderRadius,i.borderRadius=r))}return r}var Roundable={name:"roundable",props:["roundable","roundRelative","minRoundControls","maxRoundControls","roundClickable","roundPadding","isDisplayShadowRoundControls"],events:["roundStart","round","roundEnd","roundGroupStart","roundGroup","roundGroupEnd"],css:[".control.border-radius {\nbackground: #d66;\ncursor: pointer;\nz-index: 3;\n}",".control.border-radius.vertical {\nbackground: #d6d;\nz-index: 2;\n}",".control.border-radius.virtual {\nopacity: 0.5;\nz-index: 1;\n}",":host.round-line-clickable .line.direction {\ncursor: pointer;\n}"],className:function(n){var e=n.props.roundClickable;return e===!0||e==="line"?prefix$1("round-line-clickable"):""},requestStyle:function(){return["borderRadius"]},requestChildStyle:function(){return["borderRadius"]},render:function(n,e){var t=n.getState(),i=t.target,r=t.width,g=t.height,y=t.allMatrix,k=t.is3d,L=t.left,V=t.top,z=t.borderRadiusState,j=n.props,ie=j.minRoundControls,oe=ie===void 0?[0,0]:ie,re=j.maxRoundControls,ae=re===void 0?[4,4]:re,le=j.zoom,de=j.roundPadding,ue=de===void 0?0:de,he=j.isDisplayShadowRoundControls,pe=j.groupable;if(!i)return null;var Ce=z||getStyleBorderRadius(n),$e=k?4:3,xe=getBorderRadius(Ce,r,g,oe,!0);if(!xe)return null;var Ie=0,Ne=0,Fe=pe?[0,0]:[L,V];return xe.map(function(Ve,Oe){var ze=Ve.horizontal,qe=Ve.vertical,Ue=Ve.direction||"",Et=__spreadArray$1([],__read(Ve.pos),!1);Ne+=Math.abs(ze),Ie+=Math.abs(qe),ze&&Ue.indexOf("n")>-1&&(Et[1]-=ue),qe&&Ue.indexOf("w")>-1&&(Et[0]-=ue),ze&&Ue.indexOf("s")>-1&&(Et[1]+=ue),qe&&Ue.indexOf("e")>-1&&(Et[0]+=ue);var At=minus(calculatePosition(y,Et,$e),Fe),Lt=he&&he!=="horizontal",kt=Ve.vertical?Ie<=ae[1]&&(Lt||!Ve.virtual):Ne<=ae[0]&&(he||!Ve.virtual);return e.createElement("div",{key:"borderRadiusControl".concat(Oe),className:prefix$1("control","border-radius",Ve.vertical?"vertical":"",Ve.virtual?"virtual":""),"data-radius-index":Oe,style:{display:kt?"block":"none",transform:"translate(".concat(At[0],"px, ").concat(At[1],"px) scale(").concat(le,")")}})})},dragControlCondition:function(n,e){if(!e.inputEvent||e.isRequest)return!1;var t=e.inputEvent.target.getAttribute("class")||"";return t.indexOf("border-radius")>-1||t.indexOf("moveable-line")>-1&&t.indexOf("moveable-direction")>-1},dragGroupControlCondition:function(n,e){return this.dragControlCondition(n,e)},dragControlStart:function(n,e){var t=e.inputEvent,i=e.datas,r=t.target,g=r.getAttribute("class")||"",y=g.indexOf("border-radius")>-1,k=g.indexOf("moveable-line")>-1&&g.indexOf("moveable-direction")>-1,L=y?parseInt(r.getAttribute("data-radius-index"),10):-1,V=-1;if(k){var z=r.getAttribute("data-line-key")||"";z&&(V=parseInt(z.replace(/render-line-/g,""),10),isNaN(V)&&(V=-1))}if(!y&&!k)return!1;var j=fillParams(n,e,{}),ie=triggerEvent(n,"onRoundStart",j);if(ie===!1)return!1;i.lineIndex=V,i.controlIndex=L,i.isControl=y,i.isLine=k,setDragStart(n,e);var oe=n.props,re=oe.roundRelative,ae=oe.minRoundControls,le=ae===void 0?[0,0]:ae,de=n.state,ue=de.width,he=de.height;i.isRound=!0,i.prevDist=[0,0];var pe=getStyleBorderRadius(n),Ce=getBorderRadius(pe||"",ue,he,le,!0)||[];return i.controlPoses=Ce,de.borderRadiusState=getRadiusStyles(Ce,re,ue,he).styles.join(" "),j},dragControl:function(n,e){var t=e.datas,i=t.controlPoses;if(!t.isRound||!t.isControl||!i.length)return!1;var r=t.controlIndex,g=__read(getDragDist(e),2),y=g[0],k=g[1],L=[y,k],V=minus(L,t.prevDist),z=n.props.maxRoundControls,j=z===void 0?[4,4]:z,ie=n.state,oe=ie.width,re=ie.height,ae=i[r],le=ae.vertical,de=ae.horizontal,ue=i.map(function(pe){var Ce=pe.horizontal,$e=pe.vertical,xe=[Ce*de*L[0],$e*le*L[1]];if(Ce){if(j[0]===1)return xe;if(j[0]<4&&Ce!==de)return xe}else{if(j[1]===0)return xe[1]=$e*de*L[0]/oe*re,xe;if(le){if(j[1]===1)return xe;if(j[1]<4&&$e!==le)return xe}}return[0,0]});ue[r]=L;var he=i.map(function(pe,Ce){return __assign$4(__assign$4({},pe),{pos:plus(pe.pos,ue[Ce])})});return r<4?he.slice(0,r+1).forEach(function(pe){pe.virtual=!1}):he.slice(4,r+1).forEach(function(pe){pe.virtual=!1}),t.prevDist=[y,k],triggerRoundEvent(n,e,L,V,he)},dragControlEnd:function(n,e){var t=n.state;t.borderRadiusState="";var i=e.datas,r=e.isDouble;if(!i.isRound)return!1;var g=i.isControl,y=i.controlIndex,k=i.isLine,L=i.lineIndex,V=i.controlPoses,z=V.filter(function(de){var ue=de.virtual;return ue}).length,j=n.props.roundClickable,ie=j===void 0?!0:j;if(r&&ie){if(g&&(ie===!0||ie==="control"))removeBorderRadius(V,y);else if(k&&(ie===!0||ie==="line")){var oe=__read(calculatePointerDist(n,e),2),re=oe[0],ae=oe[1];addBorderRadiusByLine(V,L,re,ae)}z!==V.filter(function(de){var ue=de.virtual;return ue}).length&&triggerRoundEvent(n,e,[0,0],[0,0],V)}var le=fillEndParams(n,e,{});return triggerEvent(n,"onRoundEnd",le),t.borderRadiusState="",le},dragGroupControlStart:function(n,e){var t=this.dragControlStart(n,e);if(!t)return!1;var i=n.moveables,r=n.props.targets,g=fillChildEvents(n,"roundable",e),y=__assign$4({targets:n.props.targets,events:g.map(function(k,L){return __assign$4(__assign$4({},k),{target:r[L],moveable:i[L],currentTarget:i[L]})})},t);return triggerEvent(n,"onRoundGroupStart",y),t},dragGroupControl:function(n,e){var t=this.dragControl(n,e);if(!t)return!1;var i=n.moveables,r=n.props.targets,g=fillChildEvents(n,"roundable",e),y=__assign$4({targets:n.props.targets,events:g.map(function(k,L){return __assign$4(__assign$4(__assign$4({},k),{target:r[L],moveable:i[L],currentTarget:i[L]}),fillCSSObject({borderRadius:t.borderRadius},k))})},t);return triggerEvent(n,"onRoundGroup",y),y},dragGroupControlEnd:function(n,e){var t=n.moveables,i=n.props.targets,r=fillChildEvents(n,"roundable",e);catchEvent(n,"onRound",function(k){var L=__assign$4({targets:n.props.targets,events:r.map(function(V,z){return __assign$4(__assign$4(__assign$4({},V),{target:i[z],moveable:t[z],currentTarget:t[z]}),fillCSSObject({borderRadius:k.borderRadius},V))})},k);triggerEvent(n,"onRoundGroup",L)});var g=this.dragControlEnd(n,e);if(!g)return!1;var y=__assign$4({targets:n.props.targets,events:r.map(function(k,L){var V;return __assign$4(__assign$4({},k),{target:i[L],moveable:t[L],currentTarget:t[L],lastEvent:(V=k.datas)===null||V===void 0?void 0:V.lastEvent})})},g);return triggerEvent(n,"onRoundGroupEnd",y),y},unset:function(n){n.state.borderRadiusState=""}};function isIdentityMatrix(n,e){var t=e?4:3,i=createIdentityMatrix(t),r="matrix".concat(e?"3d":"","(").concat(i.join(","),")");return n===r||n==="matrix(1,0,0,1,0,0)"}var BeforeRenderable={isPinch:!0,name:"beforeRenderable",props:[],events:["beforeRenderStart","beforeRender","beforeRenderEnd","beforeRenderGroupStart","beforeRenderGroup","beforeRenderGroupEnd"],dragRelation:"weak",setTransform:function(n,e){var t=n.state,i=t.is3d,r=t.targetMatrix,g=t.inlineTransform,y=i?"matrix3d(".concat(r.join(","),")"):"matrix(".concat(convertMatrixtoCSS(r,!0),")"),k=!g||g==="none"?y:g;e.datas.startTransforms=isIdentityMatrix(k,i)?[]:splitSpace(k)},resetStyle:function(n){var e=n.datas;e.nextStyle={},e.nextTransforms=n.datas.startTransforms,e.nextTransformAppendedIndexes=[]},fillDragStartParams:function(n,e){return fillParams(n,e,{setTransform:function(t){e.datas.startTransforms=isArray$1(t)?t:splitSpace(t)},isPinch:!!e.isPinch})},fillDragParams:function(n,e){return fillParams(n,e,{isPinch:!!e.isPinch})},dragStart:function(n,e){this.setTransform(n,e),this.resetStyle(e),triggerEvent(n,"onBeforeRenderStart",this.fillDragStartParams(n,e))},drag:function(n,e){e.datas.startTransforms||this.setTransform(n,e),this.resetStyle(e),triggerEvent(n,"onBeforeRender",fillParams(n,e,{isPinch:!!e.isPinch}))},dragEnd:function(n,e){e.datas.startTransforms||(this.setTransform(n,e),this.resetStyle(e)),triggerEvent(n,"onBeforeRenderEnd",fillParams(n,e,{isPinch:!!e.isPinch,isDrag:e.isDrag}))},dragGroupStart:function(n,e){var t=this;this.dragStart(n,e);var i=fillChildEvents(n,"beforeRenderable",e),r=n.moveables,g=i.map(function(y,k){var L=r[k];return t.setTransform(L,y),t.resetStyle(y),t.fillDragStartParams(L,y)});triggerEvent(n,"onBeforeRenderGroupStart",fillParams(n,e,{isPinch:!!e.isPinch,targets:n.props.targets,setTransform:function(){},events:g}))},dragGroup:function(n,e){var t=this;this.drag(n,e);var i=fillChildEvents(n,"beforeRenderable",e),r=n.moveables,g=i.map(function(y,k){var L=r[k];return t.resetStyle(y),t.fillDragParams(L,y)});triggerEvent(n,"onBeforeRenderGroup",fillParams(n,e,{isPinch:!!e.isPinch,targets:n.props.targets,events:g}))},dragGroupEnd:function(n,e){this.dragEnd(n,e),triggerEvent(n,"onBeforeRenderGroupEnd",fillParams(n,e,{isPinch:!!e.isPinch,isDrag:e.isDrag,targets:n.props.targets}))},dragControlStart:function(n,e){return this.dragStart(n,e)},dragControl:function(n,e){return this.drag(n,e)},dragControlEnd:function(n,e){return this.dragEnd(n,e)},dragGroupControlStart:function(n,e){return this.dragGroupStart(n,e)},dragGroupControl:function(n,e){return this.dragGroup(n,e)},dragGroupControlEnd:function(n,e){return this.dragGroupEnd(n,e)}},Renderable={name:"renderable",props:[],events:["renderStart","render","renderEnd","renderGroupStart","renderGroup","renderGroupEnd"],dragRelation:"weak",dragStart:function(n,e){triggerEvent(n,"onRenderStart",fillParams(n,e,{isPinch:!!e.isPinch}))},drag:function(n,e){triggerEvent(n,"onRender",this.fillDragParams(n,e))},dragAfter:function(n,e){return this.drag(n,e)},dragEnd:function(n,e){triggerEvent(n,"onRenderEnd",this.fillDragEndParams(n,e))},dragGroupStart:function(n,e){triggerEvent(n,"onRenderGroupStart",fillParams(n,e,{isPinch:!!e.isPinch,targets:n.props.targets}))},dragGroup:function(n,e){var t=this,i=fillChildEvents(n,"beforeRenderable",e),r=n.moveables,g=i.map(function(y,k){var L=r[k];return t.fillDragParams(L,y)});triggerEvent(n,"onRenderGroup",fillParams(n,e,__assign$4(__assign$4({isPinch:!!e.isPinch,targets:n.props.targets,transform:getNextTransformText(e),transformObject:{}},fillCSSObject(getNextStyle(e))),{events:g})))},dragGroupEnd:function(n,e){var t=this,i=fillChildEvents(n,"beforeRenderable",e),r=n.moveables,g=i.map(function(y,k){var L=r[k];return t.fillDragEndParams(L,y)});triggerEvent(n,"onRenderGroupEnd",fillParams(n,e,__assign$4({isPinch:!!e.isPinch,isDrag:e.isDrag,targets:n.props.targets,events:g,transformObject:{},transform:getNextTransformText(e)},fillCSSObject(getNextStyle(e)))))},dragControlStart:function(n,e){return this.dragStart(n,e)},dragControl:function(n,e){return this.drag(n,e)},dragControlAfter:function(n,e){return this.dragAfter(n,e)},dragControlEnd:function(n,e){return this.dragEnd(n,e)},dragGroupControlStart:function(n,e){return this.dragGroupStart(n,e)},dragGroupControl:function(n,e){return this.dragGroup(n,e)},dragGroupControlEnd:function(n,e){return this.dragGroupEnd(n,e)},fillDragParams:function(n,e){var t={};return parse(getNextTransforms(e)||[]).forEach(function(i){t[i.name]=i.functionValue}),fillParams(n,e,__assign$4({isPinch:!!e.isPinch,transformObject:t,transform:getNextTransformText(e)},fillCSSObject(getNextStyle(e))))},fillDragEndParams:function(n,e){var t={};return parse(getNextTransforms(e)||[]).forEach(function(i){t[i.name]=i.functionValue}),fillParams(n,e,__assign$4({isPinch:!!e.isPinch,isDrag:e.isDrag,transformObject:t,transform:getNextTransformText(e)},fillCSSObject(getNextStyle(e))))}};function triggerAble(n,e,t,i,r,g,y){g.clientDistX=g.distX,g.clientDistY=g.distY;var k=r==="Start",L=r==="End",V=r==="After",z=n.state.target,j=g.isRequest,ie=i.indexOf("Control")>-1;if(!z||k&&ie&&!j&&n.areaElement===g.inputEvent.target)return!1;var oe=__spreadArray$1([],__read(e),!1);if(j){var re=g.requestAble;oe.some(function(Oe){return Oe.name===re})||oe.push.apply(oe,__spreadArray$1([],__read(n.props.ables.filter(function(Oe){return Oe.name===re})),!1))}if(!oe.length||oe.every(function(Oe){return Oe.dragRelation}))return!1;var ae=g.inputEvent,le;L&&ae&&(le=document.elementFromPoint(g.clientX,g.clientY)||ae.target);var de=!1,ue=function(){var Oe;de=!0,(Oe=g.stop)===null||Oe===void 0||Oe.call(g)},he=k&&(!n.targetGesto||!n.controlGesto||!n.targetGesto.isFlag()||!n.controlGesto.isFlag());he&&n.updateRect(r,!0,!1);var pe=g.datas,Ce=ie?"controlGesto":"targetGesto",$e=n[Ce],xe=function(Oe,ze,qe){if(!(ze in Oe)||$e!==n[Ce])return!1;var Ue=Oe.name,Et=pe[Ue]||(pe[Ue]={});if(k&&(Et.isEventStart=!qe||!Oe[qe]||Oe[qe](n,g)),!Et.isEventStart)return!1;var At=Oe[ze](n,__assign$4(__assign$4({},g),{stop:ue,datas:Et,originalDatas:pe,inputTarget:le}));return n._emitter.off(),k&&At===!1&&(Et.isEventStart=!1),At};he&&oe.forEach(function(Oe){Oe.unset&&Oe.unset(n)}),xe(BeforeRenderable,"drag".concat(i).concat(r));var Ie=0,Ne=0;t.forEach(function(Oe){if(de)return!1;var ze="".concat(Oe).concat(i).concat(r),qe="".concat(Oe).concat(i,"Condition");r===""&&!j&&convertDragDist(n.state,g);var Ue=oe.filter(function(Lt){return Lt[ze]});Ue=Ue.filter(function(Lt,kt){return Lt.name&&Ue.indexOf(Lt)===kt});var Et=Ue.filter(function(Lt){return xe(Lt,ze,qe)}),At=Et.length;de&&++Ie,At&&++Ne,!de&&k&&Ue.length&&!At&&(Ie+=Ue.filter(function(Lt){var kt=Lt.name,ei=pe[kt];return ei.isEventStart?Lt.dragRelation!=="strong":!1}).length?1:0)}),(!V||Ne)&&xe(Renderable,"drag".concat(i).concat(r));var Fe=$e!==n[Ce]||Ie===t.length;if((L||de||Fe)&&(n.state.gestos={},n.moveables&&n.moveables.forEach(function(Oe){Oe.state.gestos={}}),oe.forEach(function(Oe){Oe.unset&&Oe.unset(n)})),k&&!Fe&&!j&&Ne&&n.props.preventDefault&&(g==null||g.preventDefault()),n.isUnmounted||Fe)return!1;if(!k&&Ne&&!y||L){var Ve=n.props.flushSync||defaultSync;Ve(function(){n.updateRect(L?r:"",!0,!1),n.forceUpdate()})}return!k&&!L&&!V&&Ne&&!y&&triggerAble(n,e,t,i,r+"After",g),!0}function checkMoveableTarget(n,e){return function(t,i){var r;i===void 0&&(i=t.inputEvent.target);var g=i,y=n.areaElement,k=n._dragTarget;return!k||!e&&(!((r=n.controlGesto)===null||r===void 0)&&r.isFlag())?!1:g===k||k.contains(g)||g===y||!n.isMoveableElement(g)&&!n.controlBox.contains(g)||hasClass$1(g,"moveable-area")||hasClass$1(g,"moveable-padding")||hasClass$1(g,"moveable-edgeDraggable")}}function getTargetAbleGesto(n,e,t){var i=n.controlBox,r=[],g=n.props,y=g.dragArea,k=n.state.target,L=g.dragTarget;r.push(i),(!y||L)&&r.push(e),!y&&L&&k&&e!==k&&g.dragTargetSelf&&r.push(k);var V=checkMoveableTarget(n);return getAbleGesto(n,r,"targetAbles",t,{dragStart:V,pinchStart:V})}function getControlAbleGesto(n,e){var t=n.controlBox,i=[];i.push(t);var r=checkMoveableTarget(n,!0),g=function(y,k){if(k===void 0&&(k=y.inputEvent.target),k===t)return!0;var L=r(y,k);return!L};return getAbleGesto(n,i,"controlAbles",e,{dragStart:g,pinchStart:g})}function getAbleGesto(n,e,t,i,r){r===void 0&&(r={});var g=t==="targetAbles",y=n.props,k=y.pinchOutside,L=y.pinchThreshold,V=y.preventClickEventOnDrag,z=y.preventClickDefault,j=y.checkInput,ie=y.dragFocusedInput,oe=y.preventDefault,re=oe===void 0?!0:oe,ae=y.preventRightClick,le=ae===void 0?!0:ae,de=y.preventWheelClick,ue=de===void 0?!0:de,he=y.dragContainer,pe=getRefTarget(he,!0),Ce={preventDefault:re,preventRightClick:le,preventWheelClick:ue,container:pe||getWindow(n.getControlBoxElement()),pinchThreshold:L,pinchOutside:k,preventClickEventOnDrag:g?V:!1,preventClickEventOnDragStart:g?z:!1,preventClickEventByCondition:g?null:function(Ie){return n.controlBox.contains(Ie.target)},checkInput:g?j:!1,dragFocusedInput:ie},$e=new Gesto(e,Ce),xe=i==="Control";return["drag","pinch"].forEach(function(Ie){["Start","","End"].forEach(function(Ne){$e.on("".concat(Ie).concat(Ne),function(Fe){var Ve,Oe=Fe.eventType,ze=Ie==="drag"&&Fe.isPinch;if(r[Oe]&&!r[Oe](Fe)){Fe.stop();return}if(!ze){var qe=Ie==="drag"?[Ie]:["drag",Ie],Ue=__spreadArray$1([],__read(n[t]),!1),Et=triggerAble(n,Ue,qe,i,Ne,Fe);Et?(n.props.stopPropagation||Ne==="Start"&&xe)&&((Ve=Fe==null?void 0:Fe.inputEvent)===null||Ve===void 0||Ve.stopPropagation()):Fe.stop()}})})}),$e}var EventManager=function(){function n(e,t,i){var r=this;this.target=e,this.moveable=t,this.eventName=i,this.ables=[],this._onEvent=function(g){var y=r.eventName,k=r.moveable;k.state.disableNativeEvent||r.ables.forEach(function(L){L[y](k,{inputEvent:g})})},e.addEventListener(i.toLowerCase(),this._onEvent)}return n.prototype.setAbles=function(e){this.ables=e},n.prototype.destroy=function(){this.target.removeEventListener(this.eventName.toLowerCase(),this._onEvent),this.target=null,this.moveable=null},n}();function calculateMatrixStack(n,e,t,i){var r;t===void 0&&(t=e);var g=getMatrixStackInfo(n,e),y=g.matrixes,k=g.is3d,L=g.targetMatrix,V=g.transformOrigin,z=g.targetOrigin,j=g.offsetContainer,ie=g.hasFixed,oe=g.zoom,re=getCachedMatrixContainerInfo(j,t),ae=re.matrixes,le=re.is3d,de=re.offsetContainer,ue=re.zoom,he=i,pe=4,Ce=n.tagName.toLowerCase()!=="svg"&&"ownerSVGElement"in n,$e=L,xe=createIdentityMatrix(pe),Ie=createIdentityMatrix(pe),Ne=createIdentityMatrix(pe),Fe=createIdentityMatrix(pe),Ve=y.length,Oe=ae.map(function(kt){return __assign$4(__assign$4({},kt),{matrix:kt.matrix?__spreadArray$1([],__read(kt.matrix),!1):void 0})}).reverse();y.reverse(),!k&&he&&($e=convertDimension($e,3,4),convert3DMatrixes(y)),!le&&he&&convert3DMatrixes(Oe),Oe.forEach(function(kt){Ie=multiply(Ie,kt.matrix,pe)});var ze=t||getDocumentBody(n),qe=((r=Oe[0])===null||r===void 0?void 0:r.target)||getOffsetInfo(ze,ze,!0).offsetParent,Ue=Oe.slice(1).reduce(function(kt,ei){return multiply(kt,ei.matrix,pe)},createIdentityMatrix(pe));y.forEach(function(kt,ei){if(Ve-2===ei&&(Ne=xe.slice()),Ve-1===ei&&(Fe=xe.slice()),!kt.matrix){var jt=y[ei+1],ri=getSVGOffset(kt,jt,qe,pe,multiply(Ue,xe,pe));kt.matrix=createOriginMatrix(ri,pe)}xe=multiply(xe,kt.matrix,pe)});var Et=!Ce&&k;$e||($e=createIdentityMatrix(Et?4:3));var At=makeMatrixCSS(Ce&&$e.length===16?convertDimension($e,4,3):$e,Et),Lt=Ie;return Ie=ignoreDimension(Ie,pe,pe),{hasZoom:oe!==1||ue!==1,hasFixed:ie,matrixes:y,rootMatrix:Ie,originalRootMatrix:Lt,beforeMatrix:Ne,offsetMatrix:Fe,allMatrix:xe,targetMatrix:$e,targetTransform:At,inlineTransform:n.style.transform,transformOrigin:V,targetOrigin:z,is3d:he,offsetContainer:j,offsetRootContainer:de}}function calculateElementInfo(n,e,t,i){t===void 0&&(t=e);var r=0,g=0,y=0,k={},L=getSize(n);if(n&&(r=L.offsetWidth,g=L.offsetHeight),n){var V=calculateMatrixStack(n,e,t,i),z=calculateElementPosition(V.allMatrix,V.transformOrigin,r,g);k=__assign$4(__assign$4({},V),z);var j=calculateElementPosition(V.allMatrix,[50,50],100,100);y=getRotationRad([j.pos1,j.pos2],j.direction)}var ie=4;return __assign$4(__assign$4(__assign$4({hasZoom:!1,width:r,height:g,rotation:y},L),{originalRootMatrix:createIdentityMatrix(ie),rootMatrix:createIdentityMatrix(ie),beforeMatrix:createIdentityMatrix(ie),offsetMatrix:createIdentityMatrix(ie),allMatrix:createIdentityMatrix(ie),targetMatrix:createIdentityMatrix(ie),targetTransform:"",inlineTransform:"",transformOrigin:[0,0],targetOrigin:[0,0],is3d:!0,left:0,top:0,right:0,bottom:0,origin:[0,0],pos1:[0,0],pos2:[0,0],pos3:[0,0],pos4:[0,0],direction:1,hasFixed:!1,offsetContainer:null,offsetRootContainer:null,matrixes:[]}),k)}function getMoveableTargetInfo(n,e,t,i,r,g){g===void 0&&(g=[]);var y=1,k=[0,0],L=resetClientRect(),V=resetClientRect(),z=resetClientRect(),j=resetClientRect(),ie=[0,0],oe={},re=calculateElementInfo(e,t,r,!0);if(e){var ae=getCachedStyle(e);g.forEach(function(Oe){oe[Oe]=ae(Oe)});var le=re.is3d?4:3,de=calculateElementPosition(re.offsetMatrix,plus(re.transformOrigin,getOrigin(re.targetMatrix,le)),re.width,re.height);y=de.direction,k=plus(de.origin,[de.left-re.left,de.top-re.top]),j=getClientRect(re.offsetRootContainer);var ue=getOffsetInfo(i,i,!0).offsetParent||re.offsetRootContainer;if(re.hasZoom){var he=calculateElementPosition(multiply(re.originalRootMatrix,re.allMatrix),re.transformOrigin,re.width,re.height),pe=calculateElementPosition(re.originalRootMatrix,getTransformOriginArray(getCachedStyle(ue)("transformOrigin")).map(function(Oe){return parseFloat(Oe)}),ue.offsetWidth,ue.offsetHeight);if(L=getClientRectByPosition(he,j),z=getClientRectByPosition(pe,j,ue,!0),n){var Ce=he.left,$e=he.top;V=getClientRectByPosition({left:Ce,top:$e,bottom:$e,right:$e},j)}}else{L=getClientRect(e),z=getCachedClientRect(ue),n&&(V=getClientRect(n));var xe=z.left,Ie=z.top,Ne=z.clientLeft,Fe=z.clientTop,Ve=[L.left-xe,L.top-Ie];ie=minus(calculateInversePosition(re.rootMatrix,Ve,4),[Ne+re.left,Fe+re.top])}}return __assign$4({targetClientRect:L,containerClientRect:z,moveableClientRect:V,rootContainerClientRect:j,beforeDirection:y,beforeOrigin:k,originalBeforeOrigin:k,target:e,style:oe,offsetDelta:ie},re)}function getPersistState(n){var e=n.pos1,t=n.pos2,i=n.pos3,r=n.pos4;if(!e||!t||!i||!r)return null;var g=getMinMaxs([e,t,i,r]),y=[g.minX,g.minY],k=minus(n.origin,y);return e=minus(e,y),t=minus(t,y),i=minus(i,y),r=minus(r,y),__assign$4(__assign$4({},n),{left:n.left,top:n.top,posDelta:y,pos1:e,pos2:t,pos3:i,pos4:r,origin:k,beforeOrigin:k,isPersisted:!0})}var MoveableManager$1=function(n){__extends$4(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.state=__assign$4({container:null,gestos:{},renderLines:[[[0,0],[0,0]],[[0,0],[0,0]],[[0,0],[0,0]],[[0,0],[0,0]]],renderPoses:[[0,0],[0,0],[0,0],[0,0]],disableNativeEvent:!1,posDelta:[0,0]},getMoveableTargetInfo(null)),t.renderState={},t.enabledAbles=[],t.targetAbles=[],t.controlAbles=[],t.rotation=0,t.scale=[1,1],t.isMoveableMounted=!1,t.isUnmounted=!1,t.events={mouseEnter:null,mouseLeave:null},t._emitter=new EventEmitter$2,t._prevOriginalDragTarget=null,t._originalDragTarget=null,t._prevDragTarget=null,t._dragTarget=null,t._prevPropTarget=null,t._propTarget=null,t._prevDragArea=!1,t._isPropTargetChanged=!1,t._hasFirstTarget=!1,t._reiszeObserver=null,t._observerId=0,t._mutationObserver=null,t._rootContainer=null,t._viewContainer=null,t._viewClassNames=[],t._store={},t.checkUpdateRect=function(){if(!t.isDragging()){var i=t.props.parentMoveable;if(i){i.checkUpdateRect();return}cancelAnimationFrame(t._observerId),t._observerId=requestAnimationFrame$1(function(){t.isDragging()||t.updateRect()})}},t._onPreventClick=function(i){i.stopPropagation(),i.preventDefault()},t}return e.prototype.render=function(){var t=this.props,i=this.getState(),r=t.parentPosition,g=t.className,y=t.target,k=t.zoom,L=t.cspNonce,V=t.translateZ,z=t.cssStyled,j=t.groupable,ie=t.linePadding,oe=t.controlPadding;this._checkUpdateRootContainer(),this.checkUpdate(),this.updateRenderPoses();var re=__read(r||[0,0],2),ae=re[0],le=re[1],de=i.left,ue=i.top,he=i.target,pe=i.direction,Ce=i.hasFixed,$e=i.offsetDelta,xe=t.targets,Ie=this.isDragging(),Ne={};this.getEnabledAbles().forEach(function(Ue){Ne["data-able-".concat(Ue.name.toLowerCase())]=!0});var Fe=this._getAbleClassName(),Ve=xe&&xe.length&&(he||j)||y||!this._hasFirstTarget&&this.state.isPersisted,Oe=this.controlBox||this.props.firstRenderState||this.props.persistData,ze=[de-ae,ue-le];!j&&t.useAccuratePosition&&(ze[0]+=$e[0],ze[1]+=$e[1]);var qe={position:Ce?"fixed":"absolute",display:Ve?"block":"none",visibility:Oe?"visible":"hidden",transform:"translate3d(".concat(ze[0],"px, ").concat(ze[1],"px, ").concat(V,")"),"--zoom":k,"--zoompx":"".concat(k,"px")};return ie&&(qe["--moveable-line-padding"]=ie),oe&&(qe["--moveable-control-padding"]=oe),createElement(z,__assign$4({cspNonce:L,ref:ref(this,"controlBox"),className:"".concat(prefix$1("control-box",pe===-1?"reverse":"",Ie?"dragging":"")," ").concat(Fe," ").concat(g)},Ne,{onClick:this._onPreventClick,style:qe}),this.renderAbles(),this._renderLines())},e.prototype.componentDidMount=function(){this.isMoveableMounted=!0,this.isUnmounted=!1;var t=this.props,i=t.parentMoveable,r=t.container;this._checkUpdateRootContainer(),this._checkUpdateViewContainer(),this._updateTargets(),this._updateNativeEvents(),this._updateEvents(),this.updateCheckInput(),this._updateObserver(this.props),!r&&!i&&!this.state.isPersisted&&(this.updateRect("",!1,!1),this.forceUpdate())},e.prototype.componentDidUpdate=function(t){this._checkUpdateRootContainer(),this._checkUpdateViewContainer(),this._updateNativeEvents(),this._updateTargets(),this._updateEvents(),this.updateCheckInput(),this._updateObserver(t)},e.prototype.componentWillUnmount=function(){var t,i;this.isMoveableMounted=!1,this.isUnmounted=!0,this._emitter.off(),(t=this._reiszeObserver)===null||t===void 0||t.disconnect(),(i=this._mutationObserver)===null||i===void 0||i.disconnect();var r=this._viewContainer;r&&this._changeAbleViewClassNames([]),unsetGesto(this,!1),unsetGesto(this,!0);var g=this.events;for(var y in g){var k=g[y];k&&k.destroy()}},e.prototype.getTargets=function(){var t=this.props.target;return t?[t]:[]},e.prototype.getAble=function(t){var i=this.props.ables||[];return find$1(i,function(r){return r.name===t})},e.prototype.getContainer=function(){var t=this.props,i=t.parentMoveable,r=t.wrapperMoveable,g=t.container;return g||r&&r.getContainer()||i&&i.getContainer()||this.controlBox.parentElement},e.prototype.getControlBoxElement=function(){return this.controlBox},e.prototype.getDragElement=function(){return this._dragTarget},e.prototype.isMoveableElement=function(t){var i;return t&&(((i=t.getAttribute)===null||i===void 0?void 0:i.call(t,"class"))||"").indexOf(PREFIX)>-1},e.prototype.dragStart=function(t,i){i===void 0&&(i=t.target);var r=this.targetGesto,g=this.controlGesto;return r&&checkMoveableTarget(this)({inputEvent:t},i)?r.isFlag()||r.triggerDragStart(t):g&&this.isMoveableElement(i)&&(g.isFlag()||g.triggerDragStart(t)),this},e.prototype.hitTest=function(t){var i=this.state,r=i.target,g=i.pos1,y=i.pos2,k=i.pos3,L=i.pos4,V=i.targetClientRect;if(!r)return 0;var z;if(isNode(t)){var j=t.getBoundingClientRect();z={left:j.left,top:j.top,width:j.width,height:j.height}}else z=__assign$4({width:0,height:0},t);var ie=z.left,oe=z.top,re=z.width,ae=z.height,le=fitPoints([g,y,L,k],V),de=getOverlapSize(le,[[ie,oe],[ie+re,oe],[ie+re,oe+ae],[ie,oe+ae]]),ue=getAreaSize(le);return!de||!ue?0:Math.min(100,de/ue*100)},e.prototype.isInside=function(t,i){var r=this.state,g=r.target,y=r.pos1,k=r.pos2,L=r.pos3,V=r.pos4,z=r.targetClientRect;return g?isInside([t,i],fitPoints([y,k,V,L],z)):!1},e.prototype.updateRect=function(t,i,r){r===void 0&&(r=!0);var g=this.props,y=!g.parentPosition&&!g.wrapperMoveable;y&&setStoreCache(!0);var k=g.parentMoveable,L=this.state,V=L.target||g.target,z=this.getContainer(),j=k?k._rootContainer:this._rootContainer,ie=getMoveableTargetInfo(this.controlBox,V,z,z,j||z,this._getRequestStyles());if(!V&&this._hasFirstTarget&&g.persistData){var oe=getPersistState(g.persistData);for(var re in oe)ie[re]=oe[re]}y&&setStoreCache(),this.updateState(ie,k?!1:r)},e.prototype.isDragging=function(t){var i,r,g=this.targetGesto,y=this.controlGesto;if(g!=null&&g.isFlag()){if(!t)return!0;var k=g.getEventData();return!!(!((i=k[t])===null||i===void 0)&&i.isEventStart)}if(y!=null&&y.isFlag()){if(!t)return!0;var k=y.getEventData();return!!(!((r=k[t])===null||r===void 0)&&r.isEventStart)}return!1},e.prototype.updateTarget=function(t){this.updateRect(t,!0)},e.prototype.getRect=function(){var t=this.state,i=getAbsolutePosesByState(this.state),r=__read(i,4),g=r[0],y=r[1],k=r[2],L=r[3],V=getRect(i),z=t.width,j=t.height,ie=V.width,oe=V.height,re=V.left,ae=V.top,le=[t.left,t.top],de=plus(le,t.origin),ue=plus(le,t.beforeOrigin),he=t.transformOrigin;return{width:ie,height:oe,left:re,top:ae,pos1:g,pos2:y,pos3:k,pos4:L,offsetWidth:z,offsetHeight:j,beforeOrigin:ue,origin:de,transformOrigin:he,rotation:this.getRotation()}},e.prototype.getManager=function(){return this},e.prototype.stopDrag=function(t){if(!t||t==="target"){var i=this.targetGesto;(i==null?void 0:i.isIdle())===!1&&unsetAbles(this,!1),i==null||i.stop()}if(!t||t==="control"){var i=this.controlGesto;(i==null?void 0:i.isIdle())===!1&&unsetAbles(this,!0),i==null||i.stop()}},e.prototype.getRotation=function(){var t=this.state,i=t.pos1,r=t.pos2,g=t.direction;return getAbsoluteRotation(i,r,g)},e.prototype.request=function(t,i,r){i===void 0&&(i={});var g=this,y=g.props,k=y.parentMoveable||y.wrapperMoveable||g,L=k.props.ables,V=y.groupable,z=find$1(L,function(de){return de.name===t});if(this.isDragging()||!z||!z.request)return{request:function(){return this},requestEnd:function(){return this}};var j=z.request(g),ie=r||i.isInstant,oe=j.isControl?"controlAbles":"targetAbles",re="".concat(V?"Group":"").concat(j.isControl?"Control":""),ae=__spreadArray$1([],__read(k[oe]),!1),le={request:function(de){return triggerAble(g,ae,["drag"],re,"",__assign$4(__assign$4({},j.request(de)),{requestAble:t,isRequest:!0}),ie),le},requestEnd:function(){return triggerAble(g,ae,["drag"],re,"End",__assign$4(__assign$4({},j.requestEnd()),{requestAble:t,isRequest:!0}),ie),le}};return triggerAble(g,ae,["drag"],re,"Start",__assign$4(__assign$4({},j.requestStart(i)),{requestAble:t,isRequest:!0}),ie),ie?le.request(i).requestEnd():le},e.prototype.getMoveables=function(){return[this]},e.prototype.destroy=function(){this.componentWillUnmount()},e.prototype.updateRenderPoses=function(){var t=this.getState(),i=this.props,r=i.padding,g=t.originalBeforeOrigin,y=t.transformOrigin,k=t.allMatrix,L=t.is3d,V=t.pos1,z=t.pos2,j=t.pos3,ie=t.pos4,oe=t.left,re=t.top,ae=t.isPersisted,le=i.zoom||1;if(!r&&le<=1){t.renderPoses=[V,z,j,ie],t.renderLines=[[V,z],[z,ie],[ie,j],[j,V]];return}var de=getPaddingBox(r||{}),ue=de.left,he=de.top,pe=de.bottom,Ce=de.right,$e=L?4:3,xe=[];ae?xe=y:this.controlBox&&i.groupable?xe=g:xe=plus(g,[oe,re]);var Ie=multiplies($e,createOriginMatrix(xe.map(function(qe){return-qe}),$e),k,createOriginMatrix(y,$e)),Ne=calculatePadding(Ie,V,[-ue,-he],$e),Fe=calculatePadding(Ie,z,[Ce,-he],$e),Ve=calculatePadding(Ie,j,[-ue,pe],$e),Oe=calculatePadding(Ie,ie,[Ce,pe],$e);t.renderPoses=[Ne,Fe,Ve,Oe],t.renderLines=[[Ne,Fe],[Fe,Oe],[Oe,Ve],[Ve,Ne]];{var ze=le/2;t.renderLines=[[calculatePadding(Ie,V,[-ue-ze,-he],$e),calculatePadding(Ie,z,[Ce+ze,-he],$e)],[calculatePadding(Ie,z,[Ce,-he-ze],$e),calculatePadding(Ie,ie,[Ce,pe+ze],$e)],[calculatePadding(Ie,ie,[Ce+ze,pe],$e),calculatePadding(Ie,j,[-ue-ze,pe],$e)],[calculatePadding(Ie,j,[-ue,pe+ze],$e),calculatePadding(Ie,V,[-ue,-he-ze],$e)]]}},e.prototype.checkUpdate=function(){this._isPropTargetChanged=!1;var t=this.props,i=t.target,r=t.container,g=t.parentMoveable,y=this.state,k=y.target,L=y.container;if(!(!k&&!i)){this.updateAbles();var V=!equals(k,i),z=V||!equals(L,r);if(z){var j=r||this.controlBox;j&&this.unsetAbles(),this.updateState({target:i,container:r}),!g&&j&&this.updateRect("End",!1,!1),this._isPropTargetChanged=V}}},e.prototype.waitToChangeTarget=function(){return new Promise(function(){})},e.prototype.triggerEvent=function(t,i){var r=this.props;if(this._emitter.trigger(t,i),r.parentMoveable&&i.isRequest&&!i.isRequestChild)return r.parentMoveable.triggerEvent(t,i,!0);var g=r[t];return g&&g(i)},e.prototype.useCSS=function(t,i){var r=this.props.customStyledMap,g=t+i;return r[g]||(r[g]=styled(t,i)),r[g]},e.prototype.getState=function(){var t,i=this.props;(i.target||!((t=i.targets)===null||t===void 0)&&t.length)&&(this._hasFirstTarget=!0);var r=this.controlBox,g=i.persistData,y=i.firstRenderState;if(y&&!r)return y;if(!this._hasFirstTarget&&g){var k=getPersistState(g);if(k)return this.updateState(k,!1),this.state}return this.state.isPersisted=!1,this.state},e.prototype.updateSelectors=function(){},e.prototype.unsetAbles=function(){var t=this;this.targetAbles.forEach(function(i){i.unset&&i.unset(t)})},e.prototype.updateAbles=function(t,i){t===void 0&&(t=this.props.ables),i===void 0&&(i="");var r=this.props,g=r.triggerAblesSimultaneously,y=this.getEnabledAbles(t),k="drag".concat(i,"Start"),L="pinch".concat(i,"Start"),V="drag".concat(i,"ControlStart"),z=filterAbles(y,[k,L],g),j=filterAbles(y,[V],g);this.enabledAbles=y,this.targetAbles=z,this.controlAbles=j},e.prototype.updateState=function(t,i){if(i){if(this.isUnmounted)return;this.setState(t)}else{var r=this.state;for(var g in t)r[g]=t[g]}},e.prototype.getEnabledAbles=function(t){t===void 0&&(t=this.props.ables);var i=this.props;return t.filter(function(r){return r&&(r.always&&i[r.name]!==!1||i[r.name])})},e.prototype.renderAbles=function(){var t=this,i=this.props,r=i.triggerAblesSimultaneously,g={createElement};return this.renderState={},groupByMap(flat(filterAbles(this.getEnabledAbles(),["render"],r).map(function(y){var k=y.render;return k(t,g)||[]})).filter(function(y){return y}),function(y){var k=y.key;return k}).map(function(y){return y[0]})},e.prototype.updateCheckInput=function(){this.targetGesto&&(this.targetGesto.options.checkInput=this.props.checkInput)},e.prototype._getRequestStyles=function(){var t=this.getEnabledAbles().reduce(function(i,r){var g,y,k=(y=(g=r.requestStyle)===null||g===void 0?void 0:g.call(r))!==null&&y!==void 0?y:[];return __spreadArray$1(__spreadArray$1([],__read(i),!1),__read(k),!1)},__spreadArray$1([],__read(this.props.requestStyles||[]),!1));return t},e.prototype._updateObserver=function(t){this._updateResizeObserver(t),this._updateMutationObserver(t)},e.prototype._updateEvents=function(){var t=this.targetAbles.length,i=this.controlAbles.length,r=this._dragTarget,g=!t&&this.targetGesto||this._isTargetChanged(!0);g&&(unsetGesto(this,!1),this.updateState({gestos:{}})),i||unsetGesto(this,!0),r&&t&&!this.targetGesto&&(this.targetGesto=getTargetAbleGesto(this,r,"")),!this.controlGesto&&i&&(this.controlGesto=getControlAbleGesto(this,"Control"))},e.prototype._updateTargets=function(){var t=this.props;this._prevPropTarget=this._propTarget,this._prevDragTarget=this._dragTarget,this._prevOriginalDragTarget=this._originalDragTarget,this._prevDragArea=t.dragArea,this._propTarget=t.target,this._originalDragTarget=t.dragTarget||t.target,this._dragTarget=getRefTarget(this._originalDragTarget,!0)},e.prototype._renderLines=function(){var t=this.props,i=t,r=i.zoom,g=i.hideDefaultLines,y=i.hideChildMoveableDefaultLines,k=i.parentMoveable;if(g||k&&y)return[];var L=this.getState(),V={createElement};return L.renderLines.map(function(z,j){return renderLine(V,"",z[0],z[1],r,"render-line-".concat(j))})},e.prototype._isTargetChanged=function(t){var i=this.props,r=i.dragTarget||i.target,g=this._prevOriginalDragTarget,y=this._prevDragArea,k=i.dragArea,L=!k&&g!==r,V=(t||k)&&y!==k;return L||V||this._prevPropTarget!=this._propTarget},e.prototype._updateNativeEvents=function(){var t=this,i=this.props,r=i.dragArea?this.areaElement:this.state.target,g=this.events,y=getKeys(g);if(this._isTargetChanged())for(var k in g){var L=g[k];L&&L.destroy(),g[k]=null}if(r){var V=this.enabledAbles;y.forEach(function(z){var j=filterAbles(V,[z]),ie=j.length>0,oe=g[z];if(!ie){oe&&(oe.destroy(),g[z]=null);return}oe||(oe=new EventManager(r,t,z),g[z]=oe),oe.setAbles(j)})}},e.prototype._checkUpdateRootContainer=function(){var t=this.props.rootContainer;!this._rootContainer&&t&&(this._rootContainer=getRefTarget(t,!0))},e.prototype._checkUpdateViewContainer=function(){var t=this.props.viewContainer;!this._viewContainer&&t&&(this._viewContainer=getRefTarget(t,!0));var i=this._viewContainer;i&&this._changeAbleViewClassNames(__spreadArray$1(__spreadArray$1([],__read(this._getAbleViewClassNames()),!1),[this.isDragging()?VIEW_DRAGGING:""],!1))},e.prototype._changeAbleViewClassNames=function(t){var i=this._viewContainer,r=groupBy(t.filter(Boolean),function(V){return V}).map(function(V){var z=__read(V,1),j=z[0];return j}),g=this._viewClassNames,y=diff$1(g,r),k=y.removed,L=y.added;k.forEach(function(V){removeClass$1(i,g[V])}),L.forEach(function(V){addClass$1(i,r[V])}),this._viewClassNames=r},e.prototype._getAbleViewClassNames=function(){var t=this;return(this.getEnabledAbles().map(function(i){var r;return((r=i.viewClassName)===null||r===void 0?void 0:r.call(i,t))||""}).join(" ")+" ".concat(this._getAbleClassName("-view"))).split(/\s+/g)},e.prototype._getAbleClassName=function(t){var i=this;t===void 0&&(t="");var r=this.getEnabledAbles(),g=this.targetGesto,y=this.controlGesto,k=g!=null&&g.isFlag()?g.getEventData():{},L=y!=null&&y.isFlag()?y.getEventData():{};return r.map(function(V){var z,j,ie,oe=V.name,re=((z=V.className)===null||z===void 0?void 0:z.call(V,i))||"";return(!((j=k[oe])===null||j===void 0)&&j.isEventStart||!((ie=L[oe])===null||ie===void 0)&&ie.isEventStart)&&(re+=" ".concat(prefix$1("".concat(oe).concat(t,"-dragging")))),re.trim()}).filter(Boolean).join(" ")},e.prototype._updateResizeObserver=function(t){var i,r=this.props,g=r.target,y=getWindow(this.getControlBoxElement());if(!y.ResizeObserver||!g||!r.useResizeObserver){(i=this._reiszeObserver)===null||i===void 0||i.disconnect();return}if(!(t.target===g&&this._reiszeObserver)){var k=new y.ResizeObserver(this.checkUpdateRect);k.observe(g,{box:"border-box"}),this._reiszeObserver=k}},e.prototype._updateMutationObserver=function(t){var i=this,r,g=this.props,y=g.target,k=getWindow(this.getControlBoxElement());if(!k.MutationObserver||!y||!g.useMutationObserver){(r=this._mutationObserver)===null||r===void 0||r.disconnect();return}if(!(t.target===y&&this._mutationObserver)){var L=new k.MutationObserver(function(V){var z,j;try{for(var ie=__values(V),oe=ie.next();!oe.done;oe=ie.next()){var re=oe.value;re.type==="attributes"&&re.attributeName==="style"&&i.checkUpdateRect()}}catch(ae){z={error:ae}}finally{try{oe&&!oe.done&&(j=ie.return)&&j.call(ie)}finally{if(z)throw z.error}}});L.observe(y,{attributes:!0}),this._mutationObserver=L}},e.defaultProps={dragTargetSelf:!1,target:null,dragTarget:null,container:null,rootContainer:null,origin:!0,parentMoveable:null,wrapperMoveable:null,isWrapperMounted:!1,parentPosition:null,warpSelf:!1,svgOrigin:"",dragContainer:null,useResizeObserver:!1,useMutationObserver:!1,preventDefault:!0,preventRightClick:!0,preventWheelClick:!0,linePadding:0,controlPadding:0,ables:[],pinchThreshold:20,dragArea:!1,passDragArea:!1,transformOrigin:"",className:"",zoom:1,triggerAblesSimultaneously:!1,padding:{},pinchOutside:!0,checkInput:!1,dragFocusedInput:!1,groupable:!1,hideDefaultLines:!1,cspNonce:"",translateZ:0,cssStyled:null,customStyledMap:{},props:{},stopPropagation:!1,preventClickDefault:!1,preventClickEventOnDrag:!0,flushSync:defaultSync,firstRenderState:null,persistData:null,viewContainer:null,requestStyles:[],useAccuratePosition:!1},e}(PureComponent),Groupable={name:"groupable",props:["defaultGroupRotate","useDefaultGroupRotate","defaultGroupOrigin","groupable","groupableProps","targetGroups","hideChildMoveableDefaultLines"],events:[],render:function(n,e){var t,i=n.props,r=i.targets||[],g=n.getState(),y=g.left,k=g.top,L=g.isPersisted,V=i.zoom||1,z=n.renderGroupRects,j=((t=i.persistData)===null||t===void 0?void 0:t.children)||[];L?r=j.map(function(){return null}):j=[];var ie=watchValue(n,"parentPosition",[y,k],function(re){return re.join(",")}),oe=watchValue(n,"requestStyles",n.getRequestChildStyles(),function(re){return re.join(",")});return n.moveables=n.moveables.slice(0,r.length),__spreadArray$1(__spreadArray$1([],__read(r.map(function(re,ae){return e.createElement(MoveableManager$1,{key:"moveable"+ae,ref:refs(n,"moveables",ae),target:re,origin:!1,requestStyles:oe,cssStyled:i.cssStyled,customStyledMap:i.customStyledMap,useResizeObserver:i.useResizeObserver,useMutationObserver:i.useMutationObserver,hideChildMoveableDefaultLines:i.hideChildMoveableDefaultLines,parentMoveable:n,parentPosition:[y,k],persistData:j[ae],zoom:V})})),!1),__read(flat(z.map(function(re,ae){var le=re.pos1,de=re.pos2,ue=re.pos3,he=re.pos4,pe=[le,de,ue,he];return[[0,1],[1,3],[3,2],[2,0]].map(function(Ce,$e){var xe=__read(Ce,2),Ie=xe[0],Ne=xe[1];return renderLine(e,"",minus(pe[Ie],ie),minus(pe[Ne],ie),V,"group-rect-".concat(ae,"-").concat($e))})}))),!1)}},Clickable=makeAble("clickable",{props:["clickable"],events:["click","clickGroup"],always:!0,dragRelation:"weak",dragStart:function(){},dragControlStart:function(){},dragGroupStart:function(n,e){e.datas.inputTarget=e.inputEvent&&e.inputEvent.target},dragEnd:function(n,e){var t=n.props.target,i=e.inputEvent,r=e.inputTarget,g=n.isMoveableElement(r),y=!g&&n.controlBox.contains(r);if(!(!i||!r||e.isDrag||n.isMoveableElement(r)||y)){var k=t.contains(r);triggerEvent(n,"onClick",fillParams(n,e,{isDouble:e.isDouble,inputTarget:r,isTarget:t===r,moveableTarget:n.props.target,containsTarget:k}))}},dragGroupEnd:function(n,e){var t=e.inputEvent,i=e.inputTarget;if(!(!t||!i||e.isDrag||n.isMoveableElement(i)||e.datas.inputTarget===i)){var r=n.props.targets,g=r.indexOf(i),y=g>-1,k=!1;g===-1&&(g=findIndex(r,function(L){return L.contains(i)}),k=g>-1),triggerEvent(n,"onClickGroup",fillParams(n,e,{isDouble:e.isDouble,targets:r,inputTarget:i,targetIndex:g,isTarget:y,containsTarget:k,moveableTarget:r[g]}))}},dragControlEnd:function(n,e){this.dragEnd(n,e)},dragGroupControlEnd:function(n,e){this.dragEnd(n,e)}});function getDraggableEvent(n){var e=n.originalDatas.draggable;return e||(n.originalDatas.draggable={},e=n.originalDatas.draggable),__assign$4(__assign$4({},n),{datas:e})}var edgeDraggable=makeAble("edgeDraggable",{css:[".edge.edgeDraggable.line {\ncursor: move;\n}"],render:function(n,e){var t=n.props,i=t.edgeDraggable;return i?renderEdgeLines(e,"edgeDraggable",i,n.getState().renderPoses,t.zoom):[]},dragCondition:function(n,e){var t,i=n.props,r=(t=e.inputEvent)===null||t===void 0?void 0:t.target;return!i.edgeDraggable||!r?!1:!i.draggable&&hasClass$1(r,prefix$1("direction"))&&hasClass$1(r,prefix$1("edge"))&&hasClass$1(r,prefix$1("edgeDraggable"))},dragStart:function(n,e){return Draggable.dragStart(n,getDraggableEvent(e))},drag:function(n,e){return Draggable.drag(n,getDraggableEvent(e))},dragEnd:function(n,e){return Draggable.dragEnd(n,getDraggableEvent(e))},dragGroupCondition:function(n,e){var t,i=n.props,r=(t=e.inputEvent)===null||t===void 0?void 0:t.target;return!i.edgeDraggable||!r?!1:!i.draggable&&hasClass$1(r,prefix$1("direction"))&&hasClass$1(r,prefix$1("line"))},dragGroupStart:function(n,e){return Draggable.dragGroupStart(n,getDraggableEvent(e))},dragGroup:function(n,e){return Draggable.dragGroup(n,getDraggableEvent(e))},dragGroupEnd:function(n,e){return Draggable.dragGroupEnd(n,getDraggableEvent(e))},unset:function(n){return Draggable.unset(n)}}),IndividualGroupable={name:"individualGroupable",props:["individualGroupable","individualGroupableProps"],events:[]},MOVEABLE_ABLES=[BeforeRenderable,Default,Snappable,Pinchable,Draggable,edgeDraggable,Resizable,Scalable,Warpable,Rotatable,Scrollable,Padding,Origin,OriginDraggable,Clippable,Roundable,Groupable,IndividualGroupable,Clickable,DragArea,Renderable],MOVEABLE_EVENTS=MOVEABLE_ABLES.reduce(function(n,e){return(e.events||[]).forEach(function(t){pushSet(n,t)}),n},[]),MOVEABLE_PROPS=MOVEABLE_ABLES.reduce(function(n,e){return(e.props||[]).forEach(function(t){pushSet(n,t)}),n},[]);function solveConstantsDistance(n,e){var t=__read(n,3),i=t[0],r=t[1],g=t[2];return(i*e[0]+r*e[1]+g)/Math.sqrt(i*i+r*r)}function solveC(n,e){var t=__read(n,2),i=t[0],r=t[1];return-i*e[0]-r*e[1]}function getMaxPos(n,e){return Math.max.apply(Math,__spreadArray$1([],__read(n.map(function(t){var i=__read(t,4),r=i[0],g=i[1],y=i[2],k=i[3];return Math.max(r[e],g[e],y[e],k[e])})),!1))}function getMinPos(n,e){return Math.min.apply(Math,__spreadArray$1([],__read(n.map(function(t){var i=__read(t,4),r=i[0],g=i[1],y=i[2],k=i[3];return Math.min(r[e],g[e],y[e],k[e])})),!1))}function getGroupRect(n,e){var t,i,r,g=[0,0],y=[0,0],k=[0,0],L=[0,0],V=0,z=0;if(!n.length)return{pos1:g,pos2:y,pos3:k,pos4:L,minX:0,minY:0,maxX:0,maxY:0,width:V,height:z,rotation:e};var j=throttle(e,TINY_NUM);if(j%90){var ie=j/180*Math.PI,oe=Math.tan(ie),re=-1/oe,ae=[MAX_NUM,MIN_NUM],le=[[0,0],[0,0]],de=[MAX_NUM,MIN_NUM],ue=[[0,0],[0,0]];n.forEach(function(ni){ni.forEach(function(Ci){var wi=solveConstantsDistance([-oe,1,0],Ci),Ri=solveConstantsDistance([-re,1,0],Ci);ae[0]>wi&&(le[0]=Ci,ae[0]=wi),ae[1]Ri&&(ue[0]=Ci,de[0]=Ri),de[1]180){var At=[L,k,y,g];r=__read(At,4),g=r[0],y=r[1],k=r[2],L=r[3]}var Lt=getMinMaxs([g,y,k,L]),kt=Lt.minX,ei=Lt.minY,jt=Lt.maxX,ri=Lt.maxY;return{pos1:g,pos2:y,pos3:k,pos4:L,width:V,height:z,minX:kt,minY:ei,maxX:jt,maxY:ri,rotation:e}}function findMoveableGroups(n,e){var t=e.map(function(i){if(isArray$1(i)){var r=findMoveableGroups(n,i),g=r.length;return g>1?r:g===1?r[0]:null}else{var y=find$1(n,function(k){var L=k.manager;return L.props.target===i});return y?(y.finded=!0,y.manager):null}}).filter(Boolean);return t.length===1&&isArray$1(t[0])?t[0]:t}var MoveableGroup=function(n){__extends$4(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.differ=new ChildrenDiffer,t.moveables=[],t.transformOrigin="50% 50%",t.renderGroupRects=[],t._targetGroups=[],t._hasFirstTargets=!1,t}return e.prototype.componentDidMount=function(){n.prototype.componentDidMount.call(this)},e.prototype.checkUpdate=function(){this._isPropTargetChanged=!1,this.updateAbles()},e.prototype.getTargets=function(){return this.props.targets},e.prototype.updateRect=function(t,i,r){var g;r===void 0&&(r=!0);var y=this.state;if(!this.controlBox||y.isPersisted)return;setStoreCache(!0),this.moveables.forEach(function(hi){hi.updateRect(t,!1,!1)});var k=this.props,L=this.moveables,V=y.target||k.target,z=L.map(function(hi){return{finded:!1,manager:hi}}),j=this.props.targetGroups||[],ie=findMoveableGroups(z,j),oe=k.useDefaultGroupRotate;ie.push.apply(ie,__spreadArray$1([],__read(z.filter(function(hi){var xi=hi.finded;return!xi}).map(function(hi){var xi=hi.manager;return xi})),!1));var re=[],ae=!i||t!==""&&k.updateGroup,le=k.defaultGroupRotate||0;if(!this._hasFirstTargets){var de=(g=k.persistData)===null||g===void 0?void 0:g.rotation;de!=null&&(le=de)}function ue(hi,xi,Oi){var Ei=hi.map(function(Ki){if(isArray$1(Ki)){var zi=ue(Ki,xi),bi=[zi.pos1,zi.pos2,zi.pos3,zi.pos4];return re.push(zi),{poses:bi,rotation:zi.rotation}}else return{poses:getAbsolutePosesByState(Ki.state),rotation:Ki.getRotation()}}),si=Ei.map(function(Ki){var zi=Ki.rotation;return zi}),fi=0,li=si[0],Di=si.every(function(Ki){return Math.abs(li-Ki)<.1});ae?fi=!oe&&Di?li:le:fi=!oe&&!Oi&&Di?li:xi;var ki=Ei.map(function(Ki){var zi=Ki.poses;return zi}),Ai=getGroupRect(ki,fi);return Ai}var he=ue(ie,this.rotation,!0);ae&&(this.rotation=he.rotation,this.transformOrigin=k.defaultGroupOrigin||"50% 50%",this.scale=[1,1]),this._targetGroups=j,this.renderGroupRects=re;var pe=this.transformOrigin,Ce=this.rotation,$e=this.scale,xe=he.width,Ie=he.height,Ne=he.minX,Fe=he.minY,Ve=rotatePosesInfo([[0,0],[xe,0],[0,Ie],[xe,Ie]],convertTransformOriginArray(pe,xe,Ie),this.rotation/180*Math.PI),Oe=getMinMaxs(Ve.result),ze=Oe.minX,qe=Oe.minY,Ue=" rotate(".concat(Ce,"deg)")+" scale(".concat(sign($e[0]),", ").concat(sign($e[1]),")"),Et="translate(".concat(-ze,"px, ").concat(-qe,"px)").concat(Ue);this.controlBox.style.transform="translate3d(".concat(Ne,"px, ").concat(Fe,"px, ").concat(this.props.translateZ||0,")"),V.style.cssText+="left:0px;top:0px;"+"transform-origin:".concat(pe,";")+"width:".concat(xe,"px;height:").concat(Ie,"px;")+"transform: ".concat(Et),y.width=xe,y.height=Ie;var At=this.getContainer(),Lt=getMoveableTargetInfo(this.controlBox,V,this.controlBox,this.getContainer(),this._rootContainer||At,[]),kt=[Lt.left,Lt.top],ei=__read(getAbsolutePosesByState(Lt),4),jt=ei[0],ri=ei[1],ni=ei[2],Ci=ei[3],wi=getMinMaxs([jt,ri,ni,Ci]),Ri=[wi.minX,wi.minY],ai=sign($e[0]*$e[1]);Lt.pos1=minus(jt,Ri),Lt.pos2=minus(ri,Ri),Lt.pos3=minus(ni,Ri),Lt.pos4=minus(Ci,Ri),Lt.left=Ne-Lt.left+Ri[0],Lt.top=Fe-Lt.top+Ri[1],Lt.origin=minus(plus(kt,Lt.origin),Ri),Lt.beforeOrigin=minus(plus(kt,Lt.beforeOrigin),Ri),Lt.originalBeforeOrigin=plus(kt,Lt.originalBeforeOrigin),Lt.transformOrigin=minus(plus(kt,Lt.transformOrigin),Ri),V.style.transform="translate(".concat(-ze-Ri[0],"px, ").concat(-qe-Ri[1],"px)")+Ue,setStoreCache(),this.updateState(__assign$4(__assign$4({},Lt),{posDelta:Ri,direction:ai,beforeDirection:ai}),r)},e.prototype.getRect=function(){return __assign$4(__assign$4({},n.prototype.getRect.call(this)),{children:this.moveables.map(function(t){return t.getRect()})})},e.prototype.triggerEvent=function(t,i,r){if(r||t.indexOf("Group")>-1)return n.prototype.triggerEvent.call(this,t,i);this._emitter.trigger(t,i)},e.prototype.getRequestChildStyles=function(){var t=this.getEnabledAbles().reduce(function(i,r){var g,y,k=(y=(g=r.requestChildStyle)===null||g===void 0?void 0:g.call(r))!==null&&y!==void 0?y:[];return __spreadArray$1(__spreadArray$1([],__read(i),!1),__read(k),!1)},[]);return t},e.prototype.getMoveables=function(){return __spreadArray$1([],__read(this.moveables),!1)},e.prototype.updateAbles=function(){n.prototype.updateAbles.call(this,__spreadArray$1(__spreadArray$1([],__read(this.props.ables),!1),[Groupable],!1),"Group")},e.prototype._updateTargets=function(){n.prototype._updateTargets.call(this),this._originalDragTarget=this.props.dragTarget||this.areaElement,this._dragTarget=getRefTarget(this._originalDragTarget,!0)},e.prototype._updateEvents=function(){var t=this.state,i=this.props,r=this._prevDragTarget,g=i.dragTarget||this.areaElement,y=i.targets,k=this.differ.update(y),L=k.added,V=k.changed,z=k.removed,j=L.length||z.length;(j||this._prevOriginalDragTarget!==this._originalDragTarget)&&(unsetGesto(this,!1),unsetGesto(this,!0),this.updateState({gestos:{}})),r!==g&&(t.target=null),t.target||(t.target=this.areaElement,this.controlBox.style.display="block"),t.target&&(this.targetGesto||(this.targetGesto=getTargetAbleGesto(this,this._dragTarget,"Group")),this.controlGesto||(this.controlGesto=getControlAbleGesto(this,"GroupControl")));var ie=!equals(t.container,i.container);ie&&(t.container=i.container),(ie||j||this.transformOrigin!==(i.defaultGroupOrigin||"50% 50%")||V.length||y.length&&!isDeepArrayEquals(this._targetGroups,i.targetGroups||[]))&&(this.updateRect(),this._hasFirstTargets=!0),this._isPropTargetChanged=!!j},e.prototype._updateObserver=function(){},e.defaultProps=__assign$4(__assign$4({},MoveableManager$1.defaultProps),{transformOrigin:["50%","50%"],groupable:!0,dragArea:!0,keepRatio:!0,targets:[],defaultGroupRotate:0,defaultGroupOrigin:"50% 50%"}),e}(MoveableManager$1),MoveableIndividualGroup=function(n){__extends$4(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.moveables=[],t}return e.prototype.render=function(){var t=this,i,r=this.props,g=r.cspNonce,y=r.cssStyled,k=r.persistData,L=r.targets||[],V=L.length,z=this.isUnmounted||!V,j=(i=k==null?void 0:k.children)!==null&&i!==void 0?i:[];return z&&!V&&j.length?L=j.map(function(){return null}):z||(j=[]),createElement(y,{cspNonce:g,ref:ref(this,"controlBox"),className:prefix$1("control-box")},L.map(function(ie,oe){var re,ae,le=(ae=(re=r.individualGroupableProps)===null||re===void 0?void 0:re.call(r,ie,oe))!==null&&ae!==void 0?ae:{};return createElement(MoveableManager$1,__assign$4({key:"moveable"+oe,ref:refs(t,"moveables",oe)},r,le,{target:ie,wrapperMoveable:t,isWrapperMounted:t.isMoveableMounted,persistData:j[oe]}))}))},e.prototype.componentDidMount=function(){},e.prototype.componentDidUpdate=function(){},e.prototype.getTargets=function(){return this.props.targets},e.prototype.updateRect=function(t,i,r){r===void 0&&(r=!0),setStoreCache(!0),this.moveables.forEach(function(g){g.updateRect(t,i,r)}),setStoreCache()},e.prototype.getRect=function(){return __assign$4(__assign$4({},n.prototype.getRect.call(this)),{children:this.moveables.map(function(t){return t.getRect()})})},e.prototype.request=function(t,i,r){i===void 0&&(i={});var g=this.moveables.map(function(L){return L.request(t,__assign$4(__assign$4({},i),{isInstant:!1}),!1)}),y=r||i.isInstant,k={request:function(L){return g.forEach(function(V){return V.request(L)}),this},requestEnd:function(){return g.forEach(function(L){return L.requestEnd()}),this}};return y?k.request(i).requestEnd():k},e.prototype.dragStart=function(t,i){i===void 0&&(i=t.target);var r=i,g=find$1(this.moveables,function(y){var k=y.getTargets()[0],L=y.getControlBoxElement(),V=y.getDragElement();return!k||!V?!1:V===r||V.contains(r)||V!==k&&k===r||k.contains(r)||L===r||L.contains(r)});return g&&g.dragStart(t,i),this},e.prototype.hitTest=function(){return 0},e.prototype.isInside=function(){return!1},e.prototype.isDragging=function(){return!1},e.prototype.getDragElement=function(){return null},e.prototype.getMoveables=function(){return __spreadArray$1([],__read(this.moveables),!1)},e.prototype.updateRenderPoses=function(){},e.prototype.checkUpdate=function(){},e.prototype.triggerEvent=function(){},e.prototype.updateAbles=function(){},e.prototype._updateEvents=function(){},e.prototype._updateObserver=function(){},e}(MoveableManager$1);function getElementTargets(n,e){var t=[];return n.forEach(function(i){if(i){if(isString$1(i)){e[i]&&t.push.apply(t,__spreadArray$1([],__read(e[i]),!1));return}isArray$1(i)?t.push.apply(t,__spreadArray$1([],__read(getElementTargets(i,e)),!1)):t.push(i)}}),t}function getTargetGroups(n,e){var t=[];return n.forEach(function(i){if(i){if(isString$1(i)){e[i]&&t.push.apply(t,__spreadArray$1([],__read(e[i]),!1));return}isArray$1(i)?t.push(getTargetGroups(i,e)):t.push(i)}}),t}function compareRefTargets(n,e){return n.length!==e.length||n.some(function(t,i){var r=e[i];return!t&&!r?!1:t!=r?isArray$1(t)&&isArray$1(r)?compareRefTargets(t,r):!0:!1})}var InitialMoveable=function(n){__extends$4(e,n);function e(){var t=n!==null&&n.apply(this,arguments)||this;return t.refTargets=[],t.selectorMap={},t._differ=new ChildrenDiffer,t._elementTargets=[],t._tmpRefTargets=[],t._tmpSelectorMap={},t._onChangeTargets=null,t}return e.makeStyled=function(){var t={},i=this.getTotalAbles();i.forEach(function(g){var y=g.css;y&&y.forEach(function(k){t[k]=!0})});var r=getKeys(t).join("\n");this.defaultStyled=styled("div",prefixCSS(PREFIX,MOVEABLE_CSS+r))},e.getTotalAbles=function(){return __spreadArray$1([Default,Groupable,IndividualGroupable,DragArea],__read(this.defaultAbles),!1)},e.prototype.render=function(){var t,i=this.constructor;i.defaultStyled||i.makeStyled();var r=this.props,g=r.ables,y=r.props,k=__rest(r,["ables","props"]),L=__read(this._updateRefs(!0),2),V=L[0],z=L[1],j=getElementTargets(V,z),ie=j.length>1,oe=i.getTotalAbles(),re=__spreadArray$1(__spreadArray$1([],__read(oe),!1),__read(g||[]),!1),ae=__assign$4(__assign$4(__assign$4({},k),y||{}),{ables:re,cssStyled:i.defaultStyled,customStyledMap:i.customStyledMap});this._elementTargets=j;var le=null,de=this.moveable,ue=k.persistData;if(ue!=null&&ue.children&&(ie=!0),k.individualGroupable)return createElement(MoveableIndividualGroup,__assign$4({key:"individual-group",ref:ref(this,"moveable")},ae,{target:null,targets:j}));if(ie){var he=getTargetGroups(V,z);if(de&&!de.props.groupable&&!de.props.individualGroupable){var pe=de.props.target;pe&&j.indexOf(pe)>-1&&(le=__assign$4({},de.state))}return createElement(MoveableGroup,__assign$4({key:"group",ref:ref(this,"moveable")},ae,(t=k.groupableProps)!==null&&t!==void 0?t:{},{target:null,targets:j,targetGroups:he,firstRenderState:le}))}else{var Ce=j[0];if(de&&(de.props.groupable||de.props.individualGroupable)){var $e=de.moveables||[],xe=find$1($e,function(Ie){return Ie.props.target===Ce});xe&&(le=__assign$4({},xe.state))}return createElement(MoveableManager$1,__assign$4({key:"single",ref:ref(this,"moveable")},ae,{target:Ce,firstRenderState:le}))}},e.prototype.componentDidMount=function(){this._checkChangeTargets()},e.prototype.componentDidUpdate=function(){this._checkChangeTargets()},e.prototype.componentWillUnmount=function(){this.selectorMap={},this.refTargets=[]},e.prototype.getTargets=function(){var t,i;return(i=(t=this.moveable)===null||t===void 0?void 0:t.getTargets())!==null&&i!==void 0?i:[]},e.prototype.updateSelectors=function(){this.selectorMap={},this._updateRefs(),this.forceUpdate()},e.prototype.waitToChangeTarget=function(){var t=this,i;return this._onChangeTargets=function(){t._onChangeTargets=null,i()},new Promise(function(r){i=r})},e.prototype.waitToChangeTargets=function(){return this.waitToChangeTarget()},e.prototype.getManager=function(){return this.moveable},e.prototype.getMoveables=function(){return this.moveable.getMoveables()},e.prototype.getDragElement=function(){return this.moveable.getDragElement()},e.prototype._updateRefs=function(t){var i=this.refTargets,r=getRefTargets(this.props.target||this.props.targets),g=typeof document<"u",y=compareRefTargets(i,r),k=this.selectorMap,L={};return this.refTargets.forEach(function V(z){if(isString$1(z)){var j=k[z];j?L[z]=k[z]:g&&(y=!0,L[z]=[].slice.call(document.querySelectorAll(z)))}else isArray$1(z)&&z.forEach(V)}),this._tmpRefTargets=r,this._tmpSelectorMap=L,[r,L,!t&&y]},e.prototype._checkChangeTargets=function(){var t,i,r;this.refTargets=this._tmpRefTargets,this.selectorMap=this._tmpSelectorMap;var g=this._differ.update(this._elementTargets),y=g.added,k=g.removed,L=y.length||k.length;L&&((i=(t=this.props).onChangeTargets)===null||i===void 0||i.call(t,{moveable:this.moveable,targets:this._elementTargets}),(r=this._onChangeTargets)===null||r===void 0||r.call(this));var V=__read(this._updateRefs(),3),z=V[0],j=V[1],ie=V[2];this.refTargets=z,this.selectorMap=j,ie&&this.forceUpdate()},e.defaultAbles=[],e.customStyledMap={},e.defaultStyled=null,__decorate$2([withMethods(MOVEABLE_METHODS)],e.prototype,"moveable",void 0),e}(PureComponent),Moveable$1=function(n){__extends$4(e,n);function e(){return n!==null&&n.apply(this,arguments)||this}return e.defaultAbles=MOVEABLE_ABLES,e}(InitialMoveable),extendStatics$3=function(n,e){return extendStatics$3=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$3(n,e)};function __extends$3(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$3(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$3=function(){return __assign$3=Object.assign||function(e){for(var t,i=1,r=arguments.length;i=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g}var InnerMoveable=function(n){__extends$3(e,n);function e(i){var r=n.call(this,i)||this;return r.state={},r.state=r.props,r}var t=e.prototype;return t.render=function(){return createElement(Moveable$1,__assign$3({ref:ref(this,"moveable")},this.state))},e}(Component),PROPERTIES$3=MOVEABLE_PROPS,METHODS$2=MOVEABLE_METHODS,EVENTS$2=MOVEABLE_EVENTS,MoveableManager=function(n){__extends$3(e,n);function e(i,r){r===void 0&&(r={});var g=n.call(this)||this;g.containerProvider=null,g.selfElement=null,g._warp=!1;var y=__assign$3({},r),k={};EVENTS$2.forEach(function(z){k[camelize("on ".concat(z))]=function(j){return g.trigger(z,j)}});var L;r.warpSelf?(delete r.warpSelf,g._warp=!0,L=i):(L=getDocument(i).createElement("div"),i.appendChild(L)),g.containerProvider=renderSelf(createElement(InnerMoveable,__assign$3({ref:ref(g,"innerMoveable")},y,k)),L),g.selfElement=L;var V=y.target;return isArray$1(V)&&V.length>1&&g.updateRect(),g}var t=e.prototype;return t.setState=function(i,r){this.innerMoveable.setState(i,r)},t.forceUpdate=function(i){this.innerMoveable.forceUpdate(i)},t.dragStart=function(i,r){r===void 0&&(r=i.target);var g=this.innerMoveable;g.$_timer&&this.forceUpdate(),this.getMoveable().dragStart(i,r)},t.destroy=function(){var i,r=this.selfElement;renderSelf(null,r,this.containerProvider),this._warp||(i=r==null?void 0:r.parentElement)===null||i===void 0||i.removeChild(r),this.containerProvider=null,this.off(),this.selfElement=null,this.innerMoveable=null},t.getMoveable=function(){return this.innerMoveable.moveable},e=__decorate$1([Properties(METHODS$2,function(i,r){i[r]||(i[r]=function(){for(var g=[],y=0;y({name:"actions",props:[],always:!0,events:[],render(t,i){const r=t.getRect(),{pos2:g}=t.state,y=t.useCSS("div","\n {\n position: absolute;\n left: 0px;\n top: 0px;\n will-change: transform;\n transform-origin: 60px 28px;\n display: flex;\n }\n ".concat(ableCss,"\n "));return i.createElement(y,{className:"moveable-editable",style:{transform:"translate(".concat(g[0]-(e.length+3)*20,"px, ").concat(g[1]-28,"px) rotate(").concat(r.rotation,"deg)")}},[...e.map(k=>{const L=k(i);return i.createElement("button",L.props||{},...L.children||[])}),i.createElement("button",{className:"moveable-button moveable-rerender-button",title:"重新收集依赖后渲染",onClick:()=>{n(AbleActionEventType.RERENDER)}},i.createElement("img",{src:"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGNsYXNzPSJpY29uIGljb24tdGFibGVyIGljb24tdGFibGVyLXJlcGxhY2UiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iI2ZmZmZmZiIgZmlsbD0ibm9uZSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICA8cGF0aCBzdHJva2U9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iNiIgaGVpZ2h0PSI2IiByeD0iMSIgLz4KICA8cmVjdCB4PSIxNSIgeT0iMTUiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiIHJ4PSIxIiAvPgogIDxwYXRoIGQ9Ik0yMSAxMXYtM2EyIDIgMCAwIDAgLTIgLTJoLTZsMyAzbTAgLTZsLTMgMyIgLz4KICA8cGF0aCBkPSJNMyAxM3YzYTIgMiAwIDAgMCAyIDJoNmwtMyAtM20wIDZsMyAtMyIgLz4KPC9zdmc+CgoK",width:"16",height:"16"})),i.createElement("button",{className:"moveable-button",title:"选中父组件",onClick:()=>{n(AbleActionEventType.SELECT_PARENT)}},i.createElement("div",{className:"moveable-select-parent-arrow-top-icon"}),i.createElement("div",{className:"moveable-select-parent-arrow-body-icon"})),i.createElement("button",{className:"moveable-button moveable-remove-button",title:"删除",onClick:()=>{n(AbleActionEventType.REMOVE)}}),i.createElement("button",{className:"moveable-button moveable-drag-area-button",title:"拖动"},i.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-top"}),i.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-bottom"}),i.createElement("div",{className:"moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-left"}),i.createElement("div",{className:" moveable-select-parent-arrow-top-icon moveable-select-parent-arrow-top-icon-right"}),i.createElement("div",{className:"moveable-select-parent-arrow-body-icon-horizontal"}),i.createElement("div",{className:"moveable-select-parent-arrow-body-icon-vertical"}))])}});class MoveableOptionsManager extends EventEmitter$3{constructor(t){super();Ni(this,"mode",Mode.ABSOLUTE);Ni(this,"container");Ni(this,"options",{});Ni(this,"horizontalGuidelines",[]);Ni(this,"verticalGuidelines",[]);Ni(this,"elementGuidelines",[]);Ni(this,"customizedOptions");Ni(this,"getRootContainer");this.customizedOptions=t.moveableOptions,this.container=t.container,this.getRootContainer=t.getRootContainer}getOption(t){return this.options[t]}setGuidelines(t,i){t===GuidesType.HORIZONTAL?this.horizontalGuidelines=i:t===GuidesType.VERTICAL&&(this.verticalGuidelines=i),this.emit("update-moveable")}clearGuides(){this.horizontalGuidelines=[],this.verticalGuidelines=[],this.emit("update-moveable")}setElementGuidelines(t){var r,g,y;this.elementGuidelines.forEach(k=>{k.remove()}),this.elementGuidelines=[];const i=((r=this.getCustomizeOptions())==null?void 0:r.elementGuidelines)||Array.from(((y=(g=t[0])==null?void 0:g.parentElement)==null?void 0:y.children)||[]);this.mode===Mode.ABSOLUTE&&this.container.append(this.createGuidelineElements(t,i))}getOptions(t,i={}){const r=this.getDefaultOptions(t),g=this.getCustomizeOptions()||{};return this.options=merge$1(r,g,i),this.options}getDefaultOptions(t){const i=this.mode===Mode.SORTABLE,r={draggable:!0,resizable:!0,rootContainer:this.getRootContainer(),zoom:1,throttleDrag:0,snappable:!0,horizontalGuidelines:this.horizontalGuidelines,verticalGuidelines:this.verticalGuidelines,elementGuidelines:this.elementGuidelines,bounds:{top:0,left:0,right:this.container.clientWidth,bottom:i?void 0:this.container.clientHeight}},g=t?this.getMultiOptions():this.getSingleOptions();return merge$1(r,g)}getSingleOptions(){const t=this.mode===Mode.ABSOLUTE,i=this.mode===Mode.FIXED;return{origin:!1,dragArea:!1,scalable:!1,rotatable:!1,snapGap:t||i,snapThreshold:5,snapDigit:0,isDisplaySnapDigit:t,snapDirections:{top:t,right:t,bottom:t,left:t,center:t,middle:t},elementSnapDirections:{top:t,right:t,bottom:t,left:t},isDisplayInnerSnapDigit:!0,dragTarget:".moveable-drag-area-button",dragTargetSelf:!0,props:{actions:!0},ables:[MoveableActionsAble(this.actionHandler.bind(this))]}}getMultiOptions(){return{defaultGroupRotate:0,defaultGroupOrigin:"50% 50%",startDragRotate:0,throttleDragRotate:0,origin:!0,padding:{left:0,top:0,right:0,bottom:0}}}getCustomizeOptions(){return typeof this.customizedOptions=="function"?this.customizedOptions():this.customizedOptions}actionHandler(t){this.emit(t)}createGuidelineElements(t,i){const r=globalThis.document.createDocumentFragment();for(const g of i){let y=g.element||g;if(!y||typeof y=="string"||(typeof y=="function"&&(y=y()),this.isInElementList(y,t)))continue;const{width:k,height:L}=y.getBoundingClientRect();if(!k||!L)continue;const{left:V,top:z}=getOffset$1(y),j=globalThis.document.createElement("div");j.style.cssText="position: absolute;width: ".concat(k,"px;height: ").concat(L,"px;top: ").concat(z,"px;left: ").concat(V,"px"),this.elementGuidelines.push(j),r.append(j)}return r}isInElementList(t,i){for(const r of i)if(t===r)return!0;return!1}}class StageDragResize extends MoveableOptionsManager{constructor(t){super(t);Ni(this,"target",null);Ni(this,"moveable");Ni(this,"dragStatus",StageDragStatus.END);Ni(this,"dragResizeHelper");Ni(this,"disabledDragStart");Ni(this,"getRenderDocument");Ni(this,"markContainerEnd");Ni(this,"delayedMarkContainer");this.getRenderDocument=t.getRenderDocument,this.markContainerEnd=t.markContainerEnd,this.delayedMarkContainer=t.delayedMarkContainer,this.disabledDragStart=t.disabledDragStart,this.dragResizeHelper=t.dragResizeHelper,this.on("update-moveable",()=>{this.moveable&&this.updateMoveable()})}getTarget(){return this.target}select(t,i){var r,g;if(!t){(r=this.moveable)==null||r.destroy(),this.moveable=void 0;return}!this.moveable||t!==this.target?this.initMoveable(t):this.updateMoveable(t),i&&!this.disabledDragStart&&((g=this.moveable)==null||g.dragStart(i))}updateMoveable(t=this.target){if(!this.moveable)return;if(!t)throw new Error("未选中任何节点");const i=this.init(t);Object.entries(i).forEach(([r,g])=>{this.moveable[r]=g}),this.moveable.updateRect()}clearSelectStatus(){this.moveable&&(this.dragResizeHelper.destroyShadowEl(),this.moveable.target=null,this.moveable.updateRect())}getDragStatus(){return this.dragStatus}destroy(){var t;this.target=null,(t=this.moveable)==null||t.destroy(),this.dragResizeHelper.destroy(),this.dragStatus=StageDragStatus.END,this.removeAllListeners()}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}init(t){return/(auto|scroll)/.test(t.style.overflow)&&(t.style.overflow="hidden"),this.target=t,this.mode=getMode(t),this.dragResizeHelper.updateShadowEl(t),this.dragResizeHelper.setMode(this.mode),this.setElementGuidelines([this.target]),this.getOptions(!1,{target:this.dragResizeHelper.getShadowEl()})}initMoveable(t){var r;const i=this.init(t);this.dragResizeHelper.clear(),(r=this.moveable)==null||r.destroy(),this.moveable=new Moveable(this.container,{...i}),this.bindResizeEvent(),this.bindDragEvent(),this.bindRotateEvent(),this.bindScaleEvent()}bindResizeEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("resizeStart",t=>{this.target&&(this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onResizeStart(t))}).on("resize",t=>{!this.moveable||!this.target||!this.dragResizeHelper.getShadowEl()||(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onResize(t))}).on("resizeEnd",()=>{this.dragStatus=StageDragStatus.END,this.update(!0)})}bindDragEvent(){if(!this.moveable)throw new Error("moveable 未初始化");let t;this.moveable.on("dragStart",i=>{if(!this.target)throw new Error("未选中组件");this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onDragStart(i),this.emit("drag-start",i)}).on("drag",i=>{!this.target||!this.dragResizeHelper.getShadowEl()||(t&&(globalThis.clearTimeout(t),t=void 0),t=this.delayedMarkContainer(i.inputEvent,[this.target]),this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onDrag(i))}).on("dragEnd",()=>{t&&(globalThis.clearTimeout(t),t=void 0);const i=this.markContainerEnd();if(this.dragStatus===StageDragStatus.ING)if(i)this.update(!1,i);else switch(this.mode){case Mode.SORTABLE:this.sort();break;default:this.update()}this.dragStatus=StageDragStatus.END,this.dragResizeHelper.destroyGhostEl()})}bindRotateEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("rotateStart",t=>{this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onRotateStart(t)}).on("rotate",t=>{!this.target||!this.dragResizeHelper.getShadowEl()||(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onRotate(t))}).on("rotateEnd",t=>{var r;this.dragStatus=StageDragStatus.END;const i=(r=this.dragResizeHelper)==null?void 0:r.getFrame(t.target);this.target&&i&&this.emit("update",{data:[{el:this.target,style:{transform:i.get("transform")}}],parentEl:null})})}bindScaleEvent(){if(!this.moveable)throw new Error("moveable 未初始化");this.moveable.on("scaleStart",t=>{this.dragStatus=StageDragStatus.START,this.dragResizeHelper.onScaleStart(t)}).on("scale",t=>{!this.target||!this.dragResizeHelper.getShadowEl()||(this.dragStatus=StageDragStatus.ING,this.dragResizeHelper.onScale(t))}).on("scaleEnd",t=>{this.dragStatus=StageDragStatus.END;const i=this.dragResizeHelper.getFrame(t.target);this.target&&i&&this.emit("update",{data:[{el:this.target,style:{transform:i.get("transform")}}],parentEl:null})})}sort(){if(!this.target||!this.dragResizeHelper.getGhostEl())throw new Error("未知错误");const{top:t}=this.dragResizeHelper.getGhostEl().getBoundingClientRect(),{top:i}=this.target.getBoundingClientRect(),r=t-i;if(Math.abs(r)>=this.target.clientHeight/2)r>0?this.emit("sort",down(r,this.target)):this.emit("sort",up(r,this.target));else{const g=getIdFromEl()(this.target);g&&this.emit("sort",{src:g,dist:g})}}update(t=!1,i=null){if(!this.target)return;const r=this.getRenderDocument();if(!r)return;const g=this.dragResizeHelper.getUpdatedElRect(this.target,i,r);this.emit("update",{data:[{el:this.target,style:t?g:{left:g.left,top:g.top}}],parentEl:i})}}class StageHighlight extends eventsExports.EventEmitter{constructor(t){super();Ni(this,"container");Ni(this,"target");Ni(this,"moveable");Ni(this,"targetShadow");Ni(this,"getRootContainer");this.container=t.container,this.getRootContainer=t.getRootContainer,this.targetShadow=new TargetShadow({container:t.container,updateDragEl:t.updateDragEl,zIndex:ZIndex.HIGHLIGHT_EL,idPrefix:HIGHLIGHT_EL_ID_PREFIX})}highlight(t){var i,r;!t||t===this.target||(this.target=t,(i=this.targetShadow)==null||i.update(t),this.moveable?(this.moveable.zoom=2,this.moveable.updateRect()):this.moveable=new Moveable(this.container,{target:(r=this.targetShadow)==null?void 0:r.el,origin:!1,rootContainer:this.getRootContainer(),zoom:2}))}clearHighlight(){!this.moveable||!this.target||(this.moveable.zoom=0,this.moveable.updateRect(),this.target=void 0)}destroy(){var t,i;this.target=void 0,(t=this.moveable)==null||t.destroy(),(i=this.targetShadow)==null||i.destroy(),this.moveable=void 0,this.targetShadow=void 0}}class StageMultiDragResize extends MoveableOptionsManager{constructor(t){const i={container:t.container,moveableOptions:t.moveableOptions,getRootContainer:t.getRootContainer};super(i);Ni(this,"container");Ni(this,"targetList",[]);Ni(this,"moveableForMulti");Ni(this,"dragStatus",StageDragStatus.END);Ni(this,"dragResizeHelper");Ni(this,"getRenderDocument");Ni(this,"delayedMarkContainer");Ni(this,"markContainerEnd");this.delayedMarkContainer=t.delayedMarkContainer,this.markContainerEnd=t.markContainerEnd,this.container=t.container,this.getRenderDocument=t.getRenderDocument,this.dragResizeHelper=t.dragResizeHelper,this.on("update-moveable",()=>{this.moveableForMulti&&this.updateMoveable()})}multiSelect(t){var r;if(t.length===0)return;this.mode=getMode(t[0]),this.targetList=t,this.dragResizeHelper.updateGroup(t),this.setElementGuidelines(this.targetList),(r=this.moveableForMulti)==null||r.destroy(),this.dragResizeHelper.clear(),this.moveableForMulti=new Moveable(this.container,this.getOptions(!0,{target:this.dragResizeHelper.getShadowEls()}));let i;this.moveableForMulti.on("resizeGroupStart",g=>{this.dragResizeHelper.onResizeGroupStart(g),this.dragStatus=StageDragStatus.START}).on("resizeGroup",g=>{this.dragResizeHelper.onResizeGroup(g),this.dragStatus=StageDragStatus.ING}).on("resizeGroupEnd",()=>{this.update(!0),this.dragStatus=StageDragStatus.END}).on("dragGroupStart",g=>{this.dragResizeHelper.onDragGroupStart(g),this.dragStatus=StageDragStatus.START}).on("dragGroup",g=>{i&&(globalThis.clearTimeout(i),i=void 0),i=this.delayedMarkContainer(g.inputEvent,this.targetList),this.dragResizeHelper.onDragGroup(g),this.dragStatus=StageDragStatus.ING}).on("dragGroupEnd",()=>{i&&(globalThis.clearTimeout(i),i=void 0);const g=this.markContainerEnd();this.update(!1,g),this.dragStatus=StageDragStatus.END}).on("clickGroup",g=>{var L;const{inputTarget:y,targets:k}=g;if(k.length>1&&k.includes(y)){const V=(L=getIdFromEl()(y))==null?void 0:L.replace(DRAG_EL_ID_PREFIX,"");V&&this.emit("change-to-select",V,g.inputEvent)}})}canSelect(t,i){const r=getMode(t);let g="";return!(r===Mode.SORTABLE||(this.targetList.length===0&&i?g=getMode(i):this.targetList.length>0&&(g=getMode(this.targetList[0])),r!==g))}updateMoveable(t=this.targetList){if(!this.moveableForMulti)return;if(!t)throw new Error("未选中任何节点");this.targetList=t,this.dragResizeHelper.setTargetList(t);const i=this.getOptions(!0,{target:this.dragResizeHelper.getShadowEls()});Object.entries(i).forEach(([r,g])=>{this.moveableForMulti[r]=g}),this.moveableForMulti.updateRect()}clearSelectStatus(){this.moveableForMulti&&(this.dragResizeHelper.clearMultiSelectStatus(),this.moveableForMulti.target=null,this.moveableForMulti.updateTarget(),this.targetList=[])}destroy(){var t;(t=this.moveableForMulti)==null||t.destroy(),this.dragResizeHelper.destroy()}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}update(t=!1,i=null){if(this.targetList.length===0)return;const r=this.getRenderDocument();if(!r)return;const g=this.targetList.map(y=>{const k=this.dragResizeHelper.getUpdatedElRect(y,i,r);return{el:y,style:t?k:{left:k.left,top:k.top}}});this.emit("update",{data:g,parentEl:i})}}const throttleTime=100,defaultContainerHighlightDuration=800;class ActionManager extends EventEmitter$3{constructor(t){var i;super();Ni(this,"dr",null);Ni(this,"multiDr",null);Ni(this,"highlightLayer",null);Ni(this,"container");Ni(this,"selectedEl",null);Ni(this,"selectedElList",[]);Ni(this,"highlightedEl");Ni(this,"isMultiSelectStatus",!1);Ni(this,"containerHighlightClassName");Ni(this,"containerHighlightDuration");Ni(this,"containerHighlightType");Ni(this,"isAltKeydown",!1);Ni(this,"getTargetElement");Ni(this,"getElementsFromPoint");Ni(this,"canSelect");Ni(this,"isContainer");Ni(this,"getRenderDocument");Ni(this,"disabledMultiSelect",!1);Ni(this,"config");Ni(this,"mouseMoveHandler",throttle$2(t=>{(async()=>{var y,k;if((k=(y=t.target)==null?void 0:y.classList)!=null&&k.contains("moveable-direction"))return;const r=await this.getElementFromPoint(t),g=getIdFromEl()(r);if(!g){this.clearHighlight();return}this.emit("mousemove",t),this.highlight(g)})()},throttleTime));Ni(this,"mouseDownHandler",t=>{(async()=>{if(this.clearHighlight(),t.stopImmediatePropagation(),t.stopPropagation(),!this.isStopTriggerSelect(t)){if(this.container.removeEventListener("mousemove",this.mouseMoveHandler),this.isMultiSelectStatus)await this.beforeMultiSelect(t),this.selectedElList.length>0&&this.emit("before-multi-select",this.selectedElList);else{const r=await this.getElementFromPoint(t);if(!r)return;this.emit("before-select",r,t)}getDocument$1().addEventListener("mouseup",this.mouseUpHandler)}})()});Ni(this,"mouseUpHandler",t=>{getDocument$1().removeEventListener("mouseup",this.mouseUpHandler),this.container.addEventListener("mousemove",this.mouseMoveHandler),this.isMultiSelectStatus?this.emit("multi-select",this.selectedElList,t):this.emit("select",this.selectedEl,t)});Ni(this,"mouseLeaveHandler",t=>{setTimeout(()=>this.clearHighlight(),throttleTime),this.emit("mouseleave",t)});Ni(this,"mouseWheelHandler",()=>{this.clearHighlight()});Ni(this,"dblclickHandler",t=>{this.emit("dblclick",t)});this.config=t,this.container=t.container,this.containerHighlightClassName=t.containerHighlightClassName||CONTAINER_HIGHLIGHT_CLASS_NAME,this.containerHighlightDuration=t.containerHighlightDuration||defaultContainerHighlightDuration,this.containerHighlightType=t.containerHighlightType,this.disabledMultiSelect=(i=t.disabledMultiSelect)!=null?i:!1,this.getTargetElement=t.getTargetElement,this.getElementsFromPoint=t.getElementsFromPoint,this.canSelect=t.canSelect||(r=>!!getIdFromEl()(r)),this.getRenderDocument=t.getRenderDocument,this.isContainer=t.isContainer,this.dr=this.createDr(t),this.disabledMultiSelect||(this.multiDr=this.createMultiDr(t)),this.highlightLayer=new StageHighlight({container:t.container,updateDragEl:t.updateDragEl,getRootContainer:t.getRootContainer}),this.initMouseEvent(),this.initKeyEvent()}disableMultiSelect(){this.disabledMultiSelect=!0,this.multiDr&&(this.multiDr.destroy(),this.multiDr=null)}enableMultiSelect(){this.disabledMultiSelect=!1,this.multiDr||(this.multiDr=this.createMultiDr(this.config))}setGuidelines(t,i){var r,g;(r=this.dr)==null||r.setGuidelines(t,i),(g=this.multiDr)==null||g.setGuidelines(t,i)}clearGuides(){var t,i;(t=this.dr)==null||t.clearGuides(),(i=this.multiDr)==null||i.clearGuides()}updateMoveable(t){var i,r;(i=this.dr)==null||i.updateMoveable(t),(r=this.multiDr)==null||r.updateMoveable()}isSelectedEl(t){return getIdFromEl()(t)===getIdFromEl()(this.selectedEl)}setSelectedEl(t){this.selectedEl=t}getSelectedEl(){return this.selectedEl}getSelectedElList(){return this.selectedElList}getMoveableOption(t){var i,r;if((i=this.dr)!=null&&i.getTarget())return this.dr.getOption(t);if((r=this.multiDr)!=null&&r.targetList.length)return this.multiDr.getOption(t)}async getElementFromPoint(t){var y;const i=this.getElementsFromPoint(t);this.emit("get-elements-from-point",i);let r=!1;const g=()=>r=!0;for(const k of i)if(!((y=getIdFromEl()(k))!=null&&y.startsWith(GHOST_EL_ID_PREFIX))&&await this.isElCanSelect(k,t,g)){if(r)break;return k}return null}async isElCanSelect(t,i,r){return await this.canSelect(t,i,r)?this.isMultiSelectStatus?this.canMultiSelect(t,r):!0:!1}canMultiSelect(t,i){var g;if(t.className.includes(PAGE_CLASS))return i(),!1;const r=this.getSelectedEl();return r!=null&&r.className.includes(PAGE_CLASS)?!0:((g=this.multiDr)==null?void 0:g.canSelect(t,r))||!1}select(t,i){var r;this.setSelectedEl(t),this.clearSelectStatus(SelectStatus.MULTI_SELECT),(r=this.dr)==null||r.select(t,i)}multiSelect(t){var i;this.selectedElList=[],t.forEach(r=>{const g=this.getTargetElement(r);g&&this.selectedElList.push(g)}),this.clearSelectStatus(SelectStatus.SELECT),(i=this.multiDr)==null||i.multiSelect(this.selectedElList)}getHighlightEl(){return this.highlightedEl}setHighlightEl(t){this.highlightedEl=t}highlight(t){var r,g;let i;try{i=this.getTargetElement(t)}catch(y){this.clearHighlight(),console.warn("getTargetElement error:",y);return}if(i===this.getSelectedEl()||((r=this.multiDr)==null?void 0:r.dragStatus)===StageDragStatus.ING){this.clearHighlight();return}i===this.highlightedEl||!i||((g=this.highlightLayer)==null||g.highlight(i),this.highlightedEl=i,this.emit("highlight",i))}clearHighlight(){var t;this.setHighlightEl(void 0),(t=this.highlightLayer)==null||t.clearHighlight()}clearSelectStatus(t){var i,r;t===SelectStatus.MULTI_SELECT?((i=this.multiDr)==null||i.clearSelectStatus(),this.selectedElList=[]):(r=this.dr)==null||r.clearSelectStatus()}async addContainerHighlightClassName(t,i){var y,k;const r=this.getRenderDocument();if(!r)return;const g=this.getElementsFromPoint(t);for(const L of g)if(!((y=getIdFromEl()(L))!=null&&y.startsWith(GHOST_EL_ID_PREFIX))&&await((k=this.isContainer)==null?void 0:k.call(this,L))&&!i.includes(L)){addClassName(L,r,this.containerHighlightClassName);break}}delayedMarkContainer(t,i=[]){if(this.canAddToContainer())return globalThis.setTimeout(()=>{this.addContainerHighlightClassName(t,i)},this.containerHighlightDuration)}getDragStatus(){var t;return(t=this.dr)==null?void 0:t.getDragStatus()}updateMoveableOptions(){var t,i;(t=this.dr)==null||t.updateMoveable(),(i=this.multiDr)==null||i.updateMoveable()}destroy(){var t,i,r;this.container.removeEventListener("mousedown",this.mouseDownHandler),this.container.removeEventListener("mousemove",this.mouseMoveHandler),this.container.removeEventListener("mouseleave",this.mouseLeaveHandler),this.container.removeEventListener("wheel",this.mouseWheelHandler),this.container.removeEventListener("dblclick",this.dblclickHandler),this.selectedEl=null,this.selectedElList=[],(t=this.dr)==null||t.destroy(),(i=this.multiDr)==null||i.destroy(),(r=this.highlightLayer)==null||r.destroy(),this.dr=null,this.multiDr=null,this.highlightLayer=null}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}createDr(t){const i=()=>new DragResizeHelper({container:t.container,updateDragEl:t.updateDragEl}),r=new StageDragResize({container:t.container,disabledDragStart:t.disabledDragStart,moveableOptions:this.changeCallback(t.moveableOptions,!1),dragResizeHelper:i(),getRootContainer:t.getRootContainer,getRenderDocument:t.getRenderDocument,markContainerEnd:this.markContainerEnd.bind(this),delayedMarkContainer:this.delayedMarkContainer.bind(this)});return r.on("update",g=>{setTimeout(()=>this.emit("update",g))}).on("sort",g=>{setTimeout(()=>this.emit("sort",g))}).on(AbleActionEventType.SELECT_PARENT,()=>{this.emit("select-parent")}).on(AbleActionEventType.REMOVE,()=>{var k;const g=(k=this.dr)==null?void 0:k.getTarget();if(!g)return;const y={data:[{el:g}]};this.emit("remove",y)}).on(AbleActionEventType.RERENDER,()=>{this.emit("rerender")}).on("drag-start",g=>{this.emit("drag-start",g)}),r}createMultiDr(t){const i=()=>new DragResizeHelper({container:t.container,updateDragEl:t.updateDragEl}),r=new StageMultiDragResize({container:t.container,moveableOptions:this.changeCallback(t.moveableOptions,!0),dragResizeHelper:i(),getRootContainer:t.getRootContainer,getRenderDocument:t.getRenderDocument,markContainerEnd:this.markContainerEnd.bind(this),delayedMarkContainer:this.delayedMarkContainer.bind(this)});return r==null||r.on("update",g=>{this.emit("multi-update",g)}).on("change-to-select",(g,y)=>{this.isMultiSelectStatus||this.emit("change-to-select",g,y)}),r}changeCallback(t,i){return typeof t=="function"?()=>{var r;if(typeof t=="function"){const g={targetEl:this.selectedEl,targetElId:getIdFromEl()(this.selectedEl),targetEls:this.selectedElList,targetElIds:(r=this.selectedElList)==null?void 0:r.map(y=>getIdFromEl()(y)||""),isMulti:i,document:this.getRenderDocument()};return t(g)}return t}:t}async beforeMultiSelect(t){const i=await this.getElementFromPoint(t);if(!i)return;this.selectedEl&&!this.selectedEl.className.includes(PAGE_CLASS)&&(this.selectedElList.push(this.selectedEl),this.setSelectedEl(null));const r=this.selectedElList.findIndex(g=>getIdFromEl()(g)===getIdFromEl()(i));r!==-1?this.selectedElList.length>1&&this.selectedElList.splice(r,1):this.selectedElList.push(i)}canAddToContainer(){return this.containerHighlightType===ContainerHighlightType.DEFAULT||this.containerHighlightType===ContainerHighlightType.ALT&&this.isAltKeydown}markContainerEnd(){const t=this.getRenderDocument();return t&&this.canAddToContainer()?removeClassNameByClassName(t,this.containerHighlightClassName):null}initMouseEvent(){this.container.addEventListener("mousedown",this.mouseDownHandler),this.container.addEventListener("mousemove",this.mouseMoveHandler),this.container.addEventListener("mouseleave",this.mouseLeaveHandler),this.container.addEventListener("wheel",this.mouseWheelHandler),this.container.addEventListener("dblclick",this.dblclickHandler)}initKeyEvent(){const{isMac:t}=new Env,i=t?"meta":"ctrl";KeyController.global.keydown(i,r=>{r.inputEvent.preventDefault(),this.disabledMultiSelect||(this.isMultiSelectStatus=!0)}),KeyController.global.on("blur",()=>{this.disabledMultiSelect||(this.isMultiSelectStatus=!1),this.isAltKeydown=!1}),KeyController.global.keyup(i,r=>{r.inputEvent.preventDefault(),this.disabledMultiSelect||(this.isMultiSelectStatus=!1)}),KeyController.global.keydown("alt",r=>{r.inputEvent.preventDefault(),this.isAltKeydown=!0}),KeyController.global.keyup("alt",r=>{r.inputEvent.preventDefault(),this.markContainerEnd(),this.isAltKeydown=!1})}isStopTriggerSelect(t){if(t.button!==MouseButton.LEFT&&t.button!==MouseButton.RIGHT||!t.target)return!0;const i=t.target.classList;return!!(!this.isMultiSelectStatus&&i.contains("moveable-area")||i.contains("moveable-control")||isMoveableButton(t.target))}}var extendStatics$2=function(n,e){return extendStatics$2=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$2(n,e)};function __extends$2(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$2(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var Ruler=function(n){__extends$2(e,n);function e(){var i=n!==null&&n.apply(this,arguments)||this;return i.state={scrollPos:0},i.width=0,i.height=0,i._zoom=0,i._rulerScale=0,i._observer=null,i._checkResize=function(){i.resize()},i}var t=e.prototype;return t.render=function(){var i=this.props;return this._zoom=i.zoom,createElement("canvas",{ref:ref(this,"canvasElement"),style:this.props.style})},t.componentDidMount=function(){var i=this.props;this.state.scrollPos=i.defaultScrollPos||0;var r=this.canvasElement,g=r.getContext("2d",{alpha:!0});this.canvasContext=g,i.useResizeObserver?(this._observer=new ResizeObserver(this._checkResize),this._observer.observe(r,{box:"border-box"})):this.resize()},t.componentDidUpdate=function(){this.resize()},t.componentWillUnmount=function(){var i;this.state.scrollPos=0,(i=this._observer)===null||i===void 0||i.disconnect()},t.getScrollPos=function(){return this.state.scrollPos},t.scroll=function(i,r){this.draw({scrollPos:i,zoom:r})},t.resize=function(i){var r=this.canvasElement,g=this.props,y=g.width,k=g.height,L=g.scrollPos,V=this._getRulerScale();this.width=y||r.offsetWidth,this.height=k||r.offsetHeight,r.width=this.width*V,r.height=this.height*V,this.draw({scrollPos:L,zoom:i})},t.draw=function(i){i===void 0&&(i={});var r=this.props,g=i.zoom,y=g===void 0?this._zoom:g,k=i.scrollPos,L=k===void 0?this.state.scrollPos:k,V=i.marks,z=V===void 0?r.marks:V,j=i.selectedRanges,ie=j===void 0?r.selectedRanges:j,oe=i.segment,re=oe===void 0?r.segment||10:oe,ae=i.unit,le=ae===void 0?r.unit:ae;this._zoom=y;var de=r,ue=de.type,he=de.backgroundColor,pe=de.lineColor,Ce=de.textColor,$e=de.textBackgroundColor,xe=de.direction,Ie=de.negativeRuler,Ne=Ie===void 0?!0:Ie,Fe=de.textFormat,Ve=de.range,Oe=Ve===void 0?[-1/0,1/0]:Ve,ze=de.rangeBackgroundColor,qe=de.selectedBackgroundColor,Ue=de.lineWidth,Et=Ue===void 0?1:Ue,At=de.selectedRangesText,Lt=de.selectedRangesTextColor,kt=Lt===void 0?"#44aaff":Lt,ei=de.selectedRangesTextOffset,jt=ei===void 0?[0,0]:ei,ri=de.markColor,ni=ri===void 0?"#ff5":ri,Ci=this._getRulerScale(),wi=this.width,Ri=this.height,ai=this.state;ai.scrollPos=L;var hi=this.canvasContext,xi=ue==="horizontal",Oi=Ne!==!1,Ei=r.font||"10px sans-serif",si=r.textAlign||"left",fi=r.textOffset||[0,0],li=xi?Ri:wi,Di=convertUnitSize("".concat(r.mainLineSize||"100%"),li),ki=convertUnitSize("".concat(r.longLineSize||10),li),Ai=convertUnitSize("".concat(r.shortLineSize||7),li),Ki=r.lineOffset||[0,0];switch(he==="transparent"?hi.clearRect(0,0,wi*Ci,Ri*Ci):(hi.rect(0,0,wi*Ci,Ri*Ci),hi.fillStyle=he,hi.fill()),hi.save(),hi.scale(Ci,Ci),hi.strokeStyle=pe,hi.lineWidth=Et,hi.font=Ei,hi.fillStyle=Ce,hi.textAlign=si,xe){case"start":hi.textBaseline="top";break;case"center":hi.textBaseline="middle";break;case"end":hi.textBaseline="bottom";break}hi.translate(.5,0),hi.beginPath();for(var zi=xi?wi:Ri,bi=y*le,vi=Math.floor(L*y/bi),Li=Math.ceil((L*y+zi)/bi),oi=Li-vi,ii=Math.max(["left","center","right"].indexOf(si)-1,-1),mi=xi?Ri:wi,yi=[],ti=0;ti<=oi;++ti){var Dt=(ti+vi)*le,Pt="".concat(Dt);Fe&&(Pt=Fe(Dt));var ci=hi.measureText(Pt).width;yi.push({color:Ce,offset:fi,backgroundColor:$e,value:Dt,text:Pt,textSize:ci})}if(qe!=="transparent"&&(ie!=null&&ie.length)&&ie.forEach(function(Nn){var wn=Math.max(Nn[0],Oe[0],Ne?-1/0:0),_i=Math.min(Nn[1],Oe[1]),Si=(wn-L)*y,Ii=(_i-wn)*y;At&&Nn.forEach(function(Pi){var Bi="".concat(Pi);Fe&&(Bi=Fe(Pi));var ji=hi.measureText(Bi).width,qi=Pi*y,hn=qi+ji;findLast(yi,function(_n,Hi){var Xi=_n.value,bn=_n.textSize,En=Xi*y,Dn=En+bn;En<=hn&&qi<=Dn&&yi.splice(Hi,1)}),yi.push({value:Pi,color:kt,offset:jt,text:Bi,textSize:ji})}),!(Ii<=0)&&(hi.save(),hi.fillStyle=qe,xi?hi.fillRect(Si,0,Ii,mi):hi.fillRect(0,Si,mi,Ii),hi.restore())}),ze!=="transparent"&&Oe[0]!==-1/0&&Oe[1]!==1/0){var Ti=(Oe[0]-L)*y,Mi=(Oe[1]-Oe[0])*y;hi.save(),hi.fillStyle=ze,xi?hi.fillRect(Ti,0,Mi,mi):hi.fillRect(0,Ti,mi,Mi),hi.restore()}for(var ti=0;ti<=oi;++ti){var Dt=ti+vi;if(!(!Oi&&Dt<0))for(var pi=Dt*le,ui=(pi-L)*y,$i=0;$i=zi||WiOe[1])){var Gi=$i===0?Di:$i%2===0?ki:Ai,Zi=0;switch(xe){case"start":Zi=0;break;case"center":Zi=mi/2-Gi/2;break;case"end":Zi=mi-Gi;break}var vn=xi?[di+Ki[0],Zi+Ki[1]]:[Zi+Ki[0],di+Ki[1]],Tn=vn[0],In=vn[1],Rn=xi?[Tn,In+Gi]:[Tn+Gi,In],Bn=Rn[0],Ln=Rn[1];hi.moveTo(Tn+Ki[0],In+Ki[1]),hi.lineTo(Bn+Ki[0],Ln+Ki[1])}}}hi.stroke(),hi.beginPath(),hi.strokeStyle=ni,hi.lineWidth=1,(z||[]).forEach(function(Nn){var wn=(-L+Nn)*y;if(!(wn<0||wn>=zi||NnOe[1])){var _i=xi?[wn+Ki[0],Ki[1]]:[Ki[0],wn+Ki[1]],Si=_i[0],Ii=_i[1],Pi=xi?[Si,Ii+li]:[Si+li,Ii],Bi=Pi[0],ji=Pi[1];hi.moveTo(Si+Ki[0],Ii+Ki[1]),hi.lineTo(Bi+Ki[0],ji+Ki[1])}}),hi.stroke(),yi.forEach(function(Nn){var wn=Nn.value,_i=Nn.offset,Si=Nn.backgroundColor,Ii=Nn.color,Pi=Nn.text,Bi=Nn.textSize;if(!(!Oi&&wn<0)){var ji=(wn-L)*y;if(!(ji<-bi||ji>=zi+le*y||wnOe[1])){var qi=0;switch(xe){case"start":qi=17;break;case"center":qi=mi/2;break;case"end":qi=mi-17;break}var hn=xi?[ji+ii*-3,qi]:[qi,ji+ii*3],_n=hn[0],Hi=hn[1];if(Si){var Xi=0;switch(si){case"left":Xi=0;break;case"center":Xi=-Bi/2;break;case"right":Xi=-Bi;break}hi.save(),hi.fillStyle=Si,xi?hi.fillRect(_n+_i[0]+Xi,0,Bi,Di):(hi.translate(0,Hi+_i[1]),hi.rotate(-Math.PI/2),hi.fillRect(Xi,0,Bi,Di)),hi.restore()}hi.save(),hi.fillStyle=Ii,xi?hi.fillText(Pi,_n+_i[0],Hi+_i[1]):(hi.translate(_n+_i[0],Hi+_i[1]),hi.rotate(-Math.PI/2),hi.fillText(Pi,0,0)),hi.restore()}}}),hi.restore()},t._getRulerScale=function(){var i=this.props.defaultPixelScale||2;if(!this._rulerScale){var r=window.devicePixelRatio>1;if(!r&&window.matchMedia){var g=window.matchMedia("only screen and (min--moz-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 2.6/2), only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (min-device-pixel-ratio: 1.3), only screen and (min-resolution: 1.3dppx)");r=g&&g.matches}this._rulerScale=r?3:i}return this._rulerScale},e.defaultProps={type:"horizontal",zoom:1,width:0,height:0,unit:50,negativeRuler:!0,mainLineSize:"100%",longLineSize:10,shortLineSize:7,segment:10,direction:"end",style:{width:"100%",height:"100%"},backgroundColor:"#333333",font:"10px sans-serif",textColor:"#ffffff",textBackgroundColor:"transparent",lineColor:"#777777",range:[-1/0,1/0],rangeBackgroundColor:"transparent",lineWidth:1,selectedBackgroundColor:"#555555",defaultScrollPos:0,markColor:"#f55",marks:[]},e}(PureComponent),PROPERTIES$2=["type","width","height","unit","zoom","direction","textAlign","font","segment","mainLineSize","longLineSize","shortLineSize","lineOffset","textOffset","negativeRuler","range","scrollPos","defaultScrollPos","style","backgroundColor","rangeBackgroundColor","lineColor","textColor","textBackgroundColor","textFormat","warpSelf","selectedBackgroundColor","selectedRanges","defaultPixelScale","useResizeObserver","selectedRangesText","selectedRangesTextColor","selectedRangesTextOffset","marks","markColor"];/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var __assign$2=function(){return __assign$2=Object.assign||function(e){for(var t,i=1,r=arguments.length;i-1&&g.splice(y,1)}}return this},e.once=function(t,i){var r=this;return i&&this._addEvent(t,i,{once:!0}),new Promise(function(g){r._addEvent(t,g,{once:!0})})},e.emit=function(t,i){var r=this;i===void 0&&(i={});var g=this._events[t];if(!t||!g)return!0;var y=!1;return i.eventType=t,i.stop=function(){y=!0},i.currentTarget=this,__spreadArrays$1(g).forEach(function(k){k.listener(i),k.once&&r.off(t,k.listener)}),!y},e.trigger=function(t,i){return i===void 0&&(i={}),this.emit(t,i)},e._addEvent=function(t,i,r){var g=this._events;g[t]=g[t]||[];var y=g[t];y.push(__assign$2({listener:i},r))},n}();/*! ***************************************************************************** Copyright (c) Microsoft Corporation. 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. ***************************************************************************** */var extendStatics$1=function(n,e){return extendStatics$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])},extendStatics$1(n,e)};function __extends$1(n,e){extendStatics$1(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$1$1=function(){return __assign$1$1=Object.assign||function(e){for(var t,i=1,r=arguments.length;iy-L?(j[1]>z.top||yj[1])&&(ie[1]=1),z.left>g-L?(j[0]>z.left||gj[0])&&(ie[0]=1),!ie[0]&&!ie[1]?!1:this._continueDrag(__assign$1$1(__assign$1$1({},r),{direction:ie,inputEvent:i,isDrag:!0}))}},t.checkScroll=function(i){var r=this;if(this._isWait)return!1;var g=i.prevScrollPos,y=g===void 0?this._prevScrollPos:g,k=i.direction,L=i.throttleTime,V=L===void 0?0:L,z=i.inputEvent,j=i.isDrag,ie=this._getScrollPosition(k||[0,0],i),oe=ie[0]-y[0],re=ie[1]-y[1],ae=k||[oe?Math.abs(oe)/oe:0,re?Math.abs(re)/re:0];return this._prevScrollPos=ie,!oe&&!re?!1:(this.trigger("move",{offsetX:ae[0]?oe:0,offsetY:ae[1]?re:0,inputEvent:z}),V&&j&&(clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},V)),!0)},t.dragEnd=function(){this._flag=!1,clearTimeout(this._timer)},t._getScrollPosition=function(i,r){var g=r.container,y=r.getScrollPosition,k=y===void 0?getDefaultScrollPosition:y;return k({container:getContainerElement(g),direction:i})},t._continueDrag=function(i){var r=this,g,y,k=i.container,L=i.direction,V=i.throttleTime,z=i.useScroll,j=i.isDrag,ie=i.inputEvent;if(!(!this._flag||j&&this._isWait)){var oe=now(),re=Math.max(V+this._prevTime-oe,0);if(re>0)return clearTimeout(this._timer),this._timer=window.setTimeout(function(){r._continueDrag(i)},re),!1;this._prevTime=oe;var ae=this._getScrollPosition(L,i);this._prevScrollPos=ae,j&&(this._isWait=!0);var le={container:getContainerElement(k),direction:L,inputEvent:ie};return(y=(g=i).requestScroll)===null||y===void 0||y.call(g,le),this.trigger("scroll",le),this._isWait=!1,z||this.checkScroll(__assign$1$1(__assign$1$1({},i),{prevScrollPos:ae,direction:L,inputEvent:ie}))}},e}(EventEmitter$1),extendStatics$1$1=function(n,e){return extendStatics$1$1=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(t[r]=i[r])},extendStatics$1$1(n,e)};function __extends$1$1(n,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");extendStatics$1$1(n,e);function t(){this.constructor=n}n.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}var __assign$2$1=function(){return __assign$2$1=Object.assign||function(e){for(var t,i=1,r=arguments.length;i=pe&&j.indexOf(he)<0&&r.setState({guides:__spreadArray(__spreadArray([],j,!0),[he],!1)},function(){oe({guides:r.state.guides,distX:L,distY:V,index:j.length,isAdd:!0,isRemove:!1,isChange:!1})});else{var Ce=parseFloat(y.target.getAttribute("data-index")),$e=!1,xe=!1;j=__spreadArray([],j,!0);var Ie=j.indexOf(he);if(k||he-1&&Ie!==Ce){if(le&&(le===!0||le.indexOf("remove")>-1))return;j.splice(Ce,1),$e=!0}else{if(Ie>-1)return;if(le&&(le===!0||le.indexOf("change")>-1))return;j[Ce]=he,xe=!0}r.setState({guides:j},function(){var Ne=r.state.guides;oe({distX:L,distY:V,guides:Ne,isAdd:!1,index:Ce,isChange:xe,isRemove:$e})})}},r._onCheck=function(){r.resize()},r.state.guides=i.defaultGuides||[],r.scrollPos=i.defaultGuidesPos||0,r}var t=e.prototype;return t.render=function(){var i=this.props,r=i.className,g=i.type,y=i.zoom,k=i.guidesZoom,L=i.style,V=i.rulerStyle,z=i.displayDragPos,j=i.cspNonce,ie=i.dragGuideStyle,oe=i.guidePosStyle,re=oe===void 0?{}:oe,ae=this.props,le=this.getTranslateName(),de={};return PROPERTIES$2.forEach(function(ue){ue==="style"||ue==="warpSelf"||ue==="useResizeObserver"||(de[ue]=ae[ue])}),this._zoom=y,this._guidesZoom=k||y,createElement(GuidesElement,{ref:this.managerRef,cspNonce:j,className:"".concat(prefix("manager",g)," ").concat(r),style:L},createElement("div",{className:prefix("guide-origin"),ref:ref(this,"originElement")}),createElement(Ruler,__assign$2$1({ref:ref(this,"ruler"),style:V},de)),createElement("div",{className:GUIDES,ref:ref(this,"guidesElement"),style:{transform:"".concat(le,"(").concat(-this.scrollPos*this._guidesZoom,"px)")}},z&&createElement("div",{className:DISPLAY_DRAG,ref:ref(this,"displayElement"),style:re||{}}),createElement("div",{className:ADDER,ref:ref(this,"adderElement"),style:ie}),this.renderGuides()))},t.drawRuler=function(i){this.ruler.draw(i)},t.renderGuides=function(){var i=this,r=this.props,g=r,y=g.type,k=g.showGuides,L=g.guideStyle,V=g.displayGuidePos,z=g.guidePosStyle,j=z===void 0?{}:z,ie=g.guidesOffset,oe=this._guidesZoom,re=this.getTranslateName(),ae=this.state.guides,le=r.guidePosFormat||r.dragPosFormat||function(de){return de};if(this.guideElements=[],k)return ae.map(function(de,ue){var he=de+(ie||0);return createElement("div",{className:prefix("guide",y),ref:refs(i,"guideElements",ue),key:ue,"data-index":ue,"data-pos":de,style:__assign$2$1(__assign$2$1({},L),{transform:"".concat(re,"(").concat(he*oe,"px) translateZ(0px)")})},V&&createElement("div",{className:prefix("guide-pos"),style:j||{}},le(de)))})},t.componentDidMount=function(){var i=this;this.gesto=new Gesto(this.managerRef.current,{container:document.body}).on("dragStart",function(r){var g=i.props,y=g.type,k=g.lockGuides,L=i._guidesZoom;if(k===!0){r.stop();return}var V=r.inputEvent,z=V.target,j=r.datas,ie=i.ruler.canvasElement,oe=i.guidesElement,re=y==="horizontal",ae=i.originElement.getBoundingClientRect(),le=getDistElementMatrix(i.managerRef.current),de=calculateMatrixDist(le,[r.clientX-ae.left,r.clientY-ae.top]);de[0]-=oe.offsetLeft,de[1]-=oe.offsetTop,de[re?1:0]+=i.scrollPos*L,j.offsetPos=de,j.matrix=le;var ue=k&&k.indexOf("add")>-1,he=k&&k.indexOf("remove")>-1,pe=k&&k.indexOf("change")>-1;if(z===ie){if(ue){r.stop();return}j.fromRuler=!0,j.target=i.adderElement}else if(hasClass$1(z,GUIDE)){if(he&&pe){r.stop();return}j.target=z}else return r.stop(),!1;i.onDragStart(r)}).on("drag",this._onDrag).on("dragEnd",this.onDragEnd),this.props.useResizeObserver?(this._observer=new ResizeObserver(this._onCheck),this._observer.observe(this.guidesElement,{box:"border-box"}),this._observer.observe(this.getRulerElement(),{box:"border-box"})):this._onCheck()},t.componentWillUnmount=function(){var i;this.gesto.unset(),(i=this._observer)===null||i===void 0||i.disconnect()},t.componentDidUpdate=function(i){var r=this.props.defaultGuides;i.defaultGuides!==r&&this.setState({guides:r||[]})},t.loadGuides=function(i){this.setState({guides:i})},t.getGuides=function(){return this.state.guides},t.scrollGuides=function(i,r){r===void 0&&(r=this._guidesZoom),this._setZoom({guidesZoom:r});var g=this.getTranslateName(),y=this.guidesElement;this.scrollPos=i,y.style.transform="".concat(g,"(").concat(-i*r,"px)");var k=this.state.guides,L=this.props.guidesOffset||0;this.guideElements.forEach(function(V,z){if(V){var j=k[z]+(L||0);V.style.transform="".concat(g,"(").concat(j*r,"px) translateZ(0px)"),V.style.display=-i+j<0?"none":"block"}})},t.zoomTo=function(i,r){r===void 0&&(r=i),this.scroll(this.getRulerScrollPos(),i),this.scrollGuides(this.getGuideScrollPos(),r)},t.getElement=function(){return this.managerRef.current},t.getRulerElement=function(){return this.ruler.canvasElement},t.getGuideScrollPos=function(){return this.scrollPos},t.getRulerScrollPos=function(){return this.ruler.getScrollPos()},t.scroll=function(i,r){r===void 0&&(r=this._zoom),this._setZoom({zoom:r}),this.ruler.scroll(i,r)},t.resize=function(i){i===void 0&&(i=this._zoom),this._setZoom({zoom:i}),this.ruler.resize(i)},t.movePos=function(i){var r=i.datas,g=i.distX,y=i.distY,k=this.props,L=k.type,V=k.snaps,z=k.snapThreshold,j=k.displayDragPos,ie=k.digit,oe=k.guidesOffset||0,re=this._guidesZoom,ae=k.dragPosFormat||function(Ve){return Ve},le=L==="horizontal",de=calculateMatrixDist(r.matrix,[g,y]),ue=r.offsetPos,he=de[0]+ue[0],pe=de[1]+ue[1],Ce=oe*re,$e=Math.round(le?pe:he)-oe,xe=parseFloat(($e/re).toFixed(ie||0)),Ie=V.slice().sort(function(Ve,Oe){return Math.abs(xe-Ve)-Math.abs(xe-Oe)});if(Ie.length&&Math.abs(Ie[0]*re-$e)=0;k--)(y=n[k])&&(g=(r<3?y(g):r>3?y(e,t,g):y(e,t))||g);return r>3&&g&&Object.defineProperty(e,t,g),g}var PROPERTIES=PROPERTIES$1,METHODS=METHODS$1,EVENTS=EVENTS$1,InnerGuides=function(n){__extends(e,n);function e(i){var r=n.call(this,i)||this;return r.state={},r.state=r.props,r}var t=e.prototype;return t.render=function(){return createElement(Guides$2,__assign({ref:ref(this,"guides")},this.state))},e}(Component);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */var __assign$1=function(){return __assign$1=Object.assign||function(e){for(var t,i=1,r=arguments.length;i-1&&g.splice(y,1)}}return this},e.once=function(t,i){var r=this;return i&&this._addEvent(t,i,{once:!0}),new Promise(function(g){r._addEvent(t,g,{once:!0})})},e.emit=function(t,i){var r=this;i===void 0&&(i={});var g=this._events[t];if(!t||!g)return!0;var y=!1;return i.eventType=t,i.stop=function(){y=!0},i.currentTarget=this,__spreadArrays(g).forEach(function(k){k.listener(i),k.once&&r.off(t,k.listener)}),!y},e.trigger=function(t,i){return i===void 0&&(i={}),this.emit(t,i)},e._addEvent=function(t,i,r){var g=this._events;g[t]=g[t]||[];var y=g[t];y.push(__assign$1({listener:i},r))},n}(),Guides=function(n){__extends(e,n);function e(i,r){r===void 0&&(r={});var g=n.call(this)||this;g.containerProvider=null,g.selfElement=null,g._warp=!1;var y={};EVENTS.forEach(function(L){y[camelize("on ".concat(L))]=function(V){return g.trigger(L,V)}});var k;return r.warpSelf?(delete r.warpSelf,g._warp=!0,k=i):(k=document.createElement("div"),i.appendChild(k)),g.containerProvider=renderSelf(createElement(InnerGuides,__assign({ref:ref(g,"innerGuides")},y,r)),k),g}var t=e.prototype;return t.setState=function(i,r){this.innerGuides.setState(i,r)},t.forceUpdate=function(i){this.innerGuides.forceUpdate(i)},t.destroy=function(){var i,r=this.selfElement;renderSelf(null,r,this.containerProvider),this._warp||(i=r==null?void 0:r.parentElement)===null||i===void 0||i.removeChild(r),this.selfElement=null,this.innerGuides=null},t.getInnerGuides=function(){return this.innerGuides.guides},e=__decorate([Properties(METHODS,function(i,r){i[r]||(i[r]=function(){for(var g=[],y=0;y({position:"fixed",zIndex:1,left:t===GuidesType.HORIZONTAL?0:"-30px",top:t===GuidesType.HORIZONTAL?"-30px":0,width:t===GuidesType.HORIZONTAL?"100%":"30px",height:t===GuidesType.HORIZONTAL?"30px":"100%"}));Ni(this,"createGuides",(t,i=[])=>{if(!this.container)return;const r=new Guides$1(this.container,{type:t,defaultGuides:i,displayDragPos:!0,className:guidesClass,backgroundColor:"#fff",lineColor:"#000",textColor:"#000",style:this.getGuidesStyle(t),showGuides:this.isShowGuides,...this.guidesOptions}),g={[GuidesType.HORIZONTAL]:this.hGuidesChangeGuidesHandler,[GuidesType.VERTICAL]:this.vGuidesChangeGuidesHandler}[t];return g&&r.on("changeGuides",g),r});Ni(this,"hGuidesChangeGuidesHandler",t=>{this.horizontalGuidelines=t.guides,this.emit("change-guides",{type:GuidesType.HORIZONTAL,guides:this.horizontalGuidelines})});Ni(this,"vGuidesChangeGuidesHandler",t=>{this.verticalGuidelines=t.guides,this.emit("change-guides",{type:GuidesType.VERTICAL,guides:this.verticalGuidelines})});!(i!=null&&i.disabledRule)&&(this.guidesOptions=(i==null?void 0:i.guidesOptions)||{},this.container=t,this.hGuides=this.createGuides(GuidesType.HORIZONTAL,this.horizontalGuidelines),this.vGuides=this.createGuides(GuidesType.VERTICAL,this.verticalGuidelines),this.containerResizeObserver=new ResizeObserver(()=>{var r,g;(r=this.vGuides)==null||r.resize(),(g=this.hGuides)==null||g.resize()}),this.containerResizeObserver.observe(this.container))}showGuides(t=!0){var i,r;this.isShowGuides=t,(i=this.hGuides)==null||i.setState({showGuides:t}),(r=this.vGuides)==null||r.setState({showGuides:t})}setGuides([t,i]){var r,g;this.horizontalGuidelines=t,this.verticalGuidelines=i,(r=this.hGuides)==null||r.setState({defaultGuides:t}),(g=this.vGuides)==null||g.setState({defaultGuides:i}),this.emit("change-guides",{type:GuidesType.HORIZONTAL,guides:t}),this.emit("change-guides",{type:GuidesType.VERTICAL,guides:i})}clearGuides(){this.setGuides([[],[]])}showRule(t=!0){var i,r;t?(this.destroyGuides(),this.hGuides=this.createGuides(GuidesType.HORIZONTAL,this.horizontalGuidelines),this.vGuides=this.createGuides(GuidesType.VERTICAL,this.verticalGuidelines)):((i=this.hGuides)==null||i.setState({rulerStyle:{visibility:"hidden"}}),(r=this.vGuides)==null||r.setState({rulerStyle:{visibility:"hidden"}}))}scrollRule(t){var i,r,g,y;(i=this.hGuides)==null||i.scrollGuides(t),(r=this.hGuides)==null||r.scroll(0),(g=this.vGuides)==null||g.scrollGuides(0),(y=this.vGuides)==null||y.scroll(t)}destroy(){var t,i,r;this.destroyGuides(),(t=this.hGuides)==null||t.off("changeGuides",this.hGuidesChangeGuidesHandler),(i=this.vGuides)==null||i.off("changeGuides",this.vGuidesChangeGuidesHandler),(r=this.containerResizeObserver)==null||r.disconnect(),this.removeAllListeners()}destroyGuides(){var t,i,r;(t=this.hGuides)==null||t.destroy(),(i=this.vGuides)==null||i.destroy(),(r=this.container)==null||r.querySelectorAll(".".concat(guidesClass)).forEach(g=>{g.remove()}),this.hGuides=void 0,this.vGuides=void 0,this.container=void 0}}const wrapperClassName="editor-mask-wrapper",hideScrollbar=()=>{injectStyle$1(getDocument$1(),".".concat(wrapperClassName,"::-webkit-scrollbar { width: 0 !important; display: none }"))},createContent=()=>createDiv({className:"editor-mask",cssText:"\n position: absolute;\n top: 0;\n left: 0;\n transform: translate3d(0, 0, 0);\n "}),createWrapper=()=>{const n=createDiv({className:wrapperClassName,cssText:"\n position: absolute;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n overflow: hidden;\n z-index: ".concat(ZIndex.MASK,";\n ")});return hideScrollbar(),n};class StageMask extends Rule{constructor(t){const i=createWrapper();super(i,t);Ni(this,"content",createContent());Ni(this,"wrapper");Ni(this,"page",null);Ni(this,"scrollTop",0);Ni(this,"scrollLeft",0);Ni(this,"width",0);Ni(this,"height",0);Ni(this,"wrapperHeight",0);Ni(this,"wrapperWidth",0);Ni(this,"maxScrollTop",0);Ni(this,"maxScrollLeft",0);Ni(this,"mode",Mode.ABSOLUTE);Ni(this,"pageScrollParent",null);Ni(this,"intersectionObserver",null);Ni(this,"wrapperResizeObserver",null);Ni(this,"mouseWheelHandler",t=>{if(!this.page)throw new Error("page 未初始化");const{deltaY:i,deltaX:r}=t;this.page.clientHeight0&&(this.scrollTop=this.scrollTop+i),this.maxScrollLeft>0&&(this.scrollLeft=this.scrollLeft+r),this.scroll(),this.emit("scroll",t))});this.wrapper=i,this.content.addEventListener("wheel",this.mouseWheelHandler),this.wrapper.appendChild(this.content)}setMode(t){this.mode=t,this.scroll(),this.content.dataset.mode=t,t===Mode.FIXED?(this.content.style.width="".concat(this.wrapperWidth,"px"),this.content.style.height="".concat(this.wrapperHeight,"px")):(this.content.style.width="".concat(this.width,"px"),this.content.style.height="".concat(this.height,"px"))}observe(t){t&&(this.page=t,this.initObserverIntersection(),this.initObserverWrapper())}pageResize(t){const[i]=t,{clientHeight:r,clientWidth:g}=i.target;this.setHeight(r),this.setWidth(g),this.scroll()}observerIntersection(t){var i;(i=this.intersectionObserver)==null||i.observe(t)}mount(t){if(!this.content)throw new Error("content 不存在");t.appendChild(this.wrapper)}setLayout(t){this.setMode(isFixedParent(t)?Mode.FIXED:Mode.ABSOLUTE)}scrollIntoView(t){if(!this.page||t.getBoundingClientRect().left>=this.page.scrollWidth)return;const i=getScrollParent(t);if(i&&i!==this.pageScrollParent){this.scrollIntoView(i);return}t.scrollIntoView(),this.pageScrollParent&&(this.scrollLeft=this.pageScrollParent.scrollLeft,this.scrollTop=this.pageScrollParent.scrollTop,this.scroll())}destroy(){var t,i;super.destroy(),(t=this.content)==null||t.remove(),this.page=null,this.pageScrollParent=null,(i=this.wrapperResizeObserver)==null||i.disconnect()}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}initObserverIntersection(){var t;this.pageScrollParent=getScrollParent(this.page)||null,(t=this.intersectionObserver)==null||t.disconnect(),typeof IntersectionObserver<"u"&&(this.intersectionObserver=new IntersectionObserver(i=>{i.forEach(r=>{var k;const{target:g,intersectionRatio:y}=r;y<=0&&this.scrollIntoView(g),(k=this.intersectionObserver)==null||k.unobserve(g)})},{root:this.pageScrollParent,rootMargin:"0px",threshold:1}))}initObserverWrapper(){var t;(t=this.wrapperResizeObserver)==null||t.disconnect(),typeof ResizeObserver<"u"&&(this.wrapperResizeObserver=new ResizeObserver(i=>{const[r]=i,{clientHeight:g,clientWidth:y}=r.target;this.wrapperHeight=g,this.wrapperWidth=y,this.mode===Mode.FIXED&&(this.content.style.width="".concat(this.wrapperWidth,"px"),this.content.style.height="".concat(this.wrapperHeight,"px")),this.setMaxScrollLeft(),this.setMaxScrollTop()}),this.wrapperResizeObserver.observe(this.wrapper))}scroll(){this.fixScrollValue();let{scrollLeft:t,scrollTop:i}=this;this.pageScrollParent&&this.pageScrollParent.scrollTo({top:i,left:t}),this.mode===Mode.FIXED&&(t=0,i=0),this.scrollRule(i),this.scrollTo(t,i)}scrollTo(t,i){this.content.style.transform="translate3d(".concat(-t,"px, ").concat(-i,"px, 0)");const r=new CustomEvent("customScroll",{detail:{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop}});this.content.dispatchEvent(r)}setHeight(t){this.height=t,this.setMaxScrollTop(),this.mode!==Mode.FIXED&&(this.content.style.height="".concat(t,"px"))}setWidth(t){this.width=t,this.setMaxScrollLeft(),this.mode!==Mode.FIXED&&(this.content.style.width="".concat(t,"px"))}setMaxScrollLeft(){this.maxScrollLeft=Math.max(this.width-this.wrapperWidth,0)}setMaxScrollTop(){this.maxScrollTop=Math.max(this.height-this.wrapperHeight,0)}fixScrollValue(){this.scrollTop<0&&(this.scrollTop=0),this.scrollLeft<0&&(this.scrollLeft=0),this.maxScrollTop({id:guid(),onPageElUpdate:t=>{this.emit("page-el-update",t)},onRuntimeReady:t=>{this.runtime||(this.runtime=t,globalThis.runtime=t,this.emit("runtime-ready",t))}}));Ni(this,"getRuntime",()=>this.runtime?Promise.resolve(this.runtime):new Promise(t=>{const i=r=>{this.off("runtime-ready",i),t(r)};this.on("runtime-ready",i)}));Ni(this,"iframeLoadHandler",()=>{(async()=>{var i,r,g;if((i=this.contentWindow)!=null&&i.magic||this.postTmagicRuntimeReady(),!!this.contentWindow){if(this.customizedRender){const y=await this.customizedRender();y&&((g=(r=this.contentWindow.document)==null?void 0:r.body)==null||g.appendChild(y))}this.emit("onload"),injectStyle$1(this.contentWindow.document,style)}})()});this.renderType=g,this.runtimeUrl=t||"",this.customizedRender=r,this.setZoom(i),this.renderType===RenderType.IFRAME?this.createIframe():this.renderType===RenderType.NATIVE&&this.createNativeContainer()}async add(t){var r;const i=await this.getRuntime();return(r=i==null?void 0:i.add)==null?void 0:r.call(i,t)}async remove(t){var r;const i=await this.getRuntime();return(r=i==null?void 0:i.remove)==null?void 0:r.call(i,t)}async update(t){var r;const i=await this.getRuntime();(r=i==null?void 0:i.update)==null||r.call(i,t)}async select(t){var r;const i=await this.getRuntime();for(const g of t)await((r=i==null?void 0:i.select)==null?void 0:r.call(i,g)),this.flagSelectedEl(this.getTargetElement(g))}setZoom(t=DEFAULT_ZOOM){this.zoom=t}async mount(t){if(this.iframe){if(!isSameDomain(this.runtimeUrl)&&this.runtimeUrl){let i=await fetch(this.runtimeUrl).then(g=>g.text());const r="".concat(location.protocol,"//").concat(getHost(this.runtimeUrl));i=i.replace("",'\n')),this.iframe.srcdoc=i}t.appendChild(this.iframe),this.postTmagicRuntimeReady()}else this.nativeContainer&&t.appendChild(this.nativeContainer)}getDocument(){var t;return(t=this.contentWindow)==null?void 0:t.document}getElementsFromPoint(t){var g;let i=t.clientX,r=t.clientY;if(this.iframe){const y=this.iframe.getClientRects()[0];y&&(i=i-y.left,r=r-y.top)}return(g=this.getDocument())==null?void 0:g.elementsFromPoint(i/this.zoom,r/this.zoom)}getTargetElement(t){return getElById()(this.getDocument(),t)}postTmagicRuntimeReady(){var t;this.contentWindow=(t=this.iframe)==null?void 0:t.contentWindow,this.contentWindow.magic=this.getMagicApi(),this.contentWindow.postMessage({tmagicRuntimeReady:!0},"*")}reloadIframe(t){var r;if(this.renderType!==RenderType.IFRAME)return;const i=(r=this.iframe)==null?void 0:r.parentElement;this.destroyIframe(),this.runtimeUrl=t,this.createIframe(),this.mount(i),this.runtime=null}destroyIframe(){var t,i;(t=this.iframe)==null||t.removeEventListener("load",this.iframeLoadHandler),this.contentWindow=null,(i=this.iframe)==null||i.remove(),this.iframe=void 0}destroy(){this.destroyIframe(),globalThis.runtime=void 0,this.removeAllListeners()}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}createIframe(){return this.iframe=globalThis.document.createElement("iframe"),this.iframe.src=this.runtimeUrl&&isSameDomain(this.runtimeUrl)?this.runtimeUrl:"",this.iframe.style.cssText="\n border: 0;\n width: 100%;\n height: 100%;\n ",this.iframe.addEventListener("load",this.iframeLoadHandler),this.iframe}async createNativeContainer(){if(this.contentWindow=globalThis,this.nativeContainer=globalThis.document.createElement("div"),this.contentWindow.magic=this.getMagicApi(),this.customizedRender){const t=await this.customizedRender();t&&this.nativeContainer.appendChild(t)}}flagSelectedEl(t){const i=this.getDocument();i&&(removeSelectedClassName(i),t&&addSelectedClassName(t,i))}}class StageCore extends eventsExports.EventEmitter{constructor(t){super();Ni(this,"container");Ni(this,"renderer",null);Ni(this,"mask",null);Ni(this,"actionManager",null);Ni(this,"pageResizeObserver",null);Ni(this,"autoScrollIntoView");Ni(this,"customizedRender");this.autoScrollIntoView=t.autoScrollIntoView,this.customizedRender=t.render,this.renderer=new StageRender({runtimeUrl:t.runtimeUrl,zoom:t.zoom,renderType:t.renderType,customizedRender:async()=>this!=null&&this.customizedRender?await this.customizedRender(this):null}),this.mask=new StageMask({guidesOptions:t.guidesOptions,disabledRule:t.disabledRule}),this.actionManager=new ActionManager(this.getActionManagerConfig(t)),this.initRenderEvent(),this.initActionEvent(),this.initMaskEvent()}async select(t,i){var g,y,k,L,V,z;const r=((g=this.renderer)==null?void 0:g.getTargetElement(t))||null;r!==((y=this.actionManager)==null?void 0:y.getSelectedEl())&&(await((k=this.renderer)==null?void 0:k.select([t])),r&&((L=this.mask)==null||L.setLayout(r)),(V=this.actionManager)==null||V.select(r,i),r&&(this.autoScrollIntoView||r.dataset.autoScrollIntoView)&&((z=this.mask)==null||z.observerIntersection(r)))}async multiSelect(t){var y,k,L,V;const i=t.map(z=>{var j;return(j=this.renderer)==null?void 0:j.getTargetElement(z)}).filter(z=>!!z);if(i.length===0)return;const r=i[i.length-1],g=i.length{var y,k,L;const g=(y=this.renderer)==null?void 0:y.getTargetElement("".concat(i.id));g&&((k=this.actionManager)!=null&&k.isSelectedEl(g))&&((L=this.mask)==null||L.setLayout(g),this.actionManager.setSelectedEl(g),this.actionManager.updateMoveable(g))})}async add(t){var i;return await((i=this.renderer)==null?void 0:i.add(t))}async remove(t){var i;return await((i=this.renderer)==null?void 0:i.remove(t))}setZoom(t=DEFAULT_ZOOM){var i;(i=this.renderer)==null||i.setZoom(t)}async mount(t){this.container=t;const{mask:i,renderer:r}=this;await(r==null?void 0:r.mount(t)),i==null||i.mount(t),this.emit("mounted")}clearGuides(){var t,i;(t=this.mask)==null||t.clearGuides(),(i=this.actionManager)==null||i.clearGuides()}getAddContainerHighlightClassNameTimeout(t,i=[]){return this.delayedMarkContainer(t,i)}delayedMarkContainer(t,i=[]){var r;return(r=this.actionManager)==null?void 0:r.delayedMarkContainer(t,i)}getMoveableOption(t){var i;return(i=this.actionManager)==null?void 0:i.getMoveableOption(t)}getDragStatus(){var t;return(t=this.actionManager)==null?void 0:t.getDragStatus()}disableMultiSelect(){var t;(t=this.actionManager)==null||t.disableMultiSelect()}enableMultiSelect(){var t;(t=this.actionManager)==null||t.enableMultiSelect()}reloadIframe(t){var i;(i=this.renderer)==null||i.reloadIframe(t)}destroy(){const{mask:t,renderer:i,actionManager:r,pageResizeObserver:g}=this;i==null||i.destroy(),t==null||t.destroy(),r==null||r.destroy(),g==null||g.disconnect(),this.removeAllListeners(),this.container=void 0,this.renderer=null,this.mask=null,this.actionManager=null,this.pageResizeObserver=null}on(t,i){return super.on(t,i)}emit(t,...i){return super.emit(t,...i)}observePageResize(t){this.pageResizeObserver&&this.pageResizeObserver.disconnect(),typeof ResizeObserver<"u"&&(this.pageResizeObserver=new ResizeObserver(i=>{var r,g;(r=this.mask)==null||r.pageResize(i),(g=this.actionManager)==null||g.updateMoveable()}),this.pageResizeObserver.observe(t))}getActionManagerConfig(t){return{containerHighlightClassName:t.containerHighlightClassName,containerHighlightDuration:t.containerHighlightDuration,containerHighlightType:t.containerHighlightType,moveableOptions:t.moveableOptions,container:this.mask.content,disabledDragStart:t.disabledDragStart,disabledMultiSelect:t.disabledMultiSelect,canSelect:t.canSelect,isContainer:t.isContainer,updateDragEl:t.updateDragEl,getRootContainer:()=>this.container,getRenderDocument:()=>this.renderer.getDocument(),getTargetElement:r=>this.renderer.getTargetElement(r),getElementsFromPoint:r=>this.renderer.getElementsFromPoint(r)}}initRenderEvent(){var t,i;(t=this.renderer)==null||t.on("runtime-ready",r=>{this.emit("runtime-ready",r)}),(i=this.renderer)==null||i.on("page-el-update",r=>{var g;(g=this.mask)==null||g.observe(r),this.observePageResize(r),this.emit("page-el-update",r)})}initMaskEvent(){var t;(t=this.mask)==null||t.on("change-guides",i=>{var r;(r=this.actionManager)==null||r.setGuidelines(i.type,i.guides),this.emit("change-guides",i)})}initActionEvent(){this.initActionManagerEvent(),this.initDrEvent(),this.initMulDrEvent(),this.initHighlightEvent(),this.initMouseEvent()}initActionManagerEvent(){var t;(t=this.actionManager)==null||t.on("before-select",(i,r)=>{const g=getIdFromEl()(i);g&&this.select(g,r)}).on("select",(i,r)=>{this.emit("select",i,r)}).on("before-multi-select",i=>{this.multiSelect(i.map(r=>getIdFromEl()(r)).filter(r=>!!r))}).on("multi-select",(i,r)=>{this.emit("multi-select",i,r)}).on("dblclick",i=>{this.emit("dblclick",i)})}initDrEvent(){var t;(t=this.actionManager)==null||t.on("update",i=>{this.emit("update",i)}).on("sort",i=>{this.emit("sort",i)}).on("select-parent",()=>{this.emit("select-parent")}).on("rerender",()=>{this.emit("rerender")}).on("remove",i=>{this.emit("remove",i)})}initMulDrEvent(){var t;(t=this.actionManager)==null||t.on("change-to-select",(i,r)=>{this.select(i),setTimeout(()=>{var y;const g=(y=this.renderer)==null?void 0:y.getTargetElement(i);g&&this.emit("select",g,r)})}).on("multi-update",i=>{this.emit("update",i)})}initHighlightEvent(){var t;(t=this.actionManager)==null||t.on("highlight",i=>{this.emit("highlight",i)})}initMouseEvent(){var t;(t=this.actionManager)==null||t.on("mousemove",i=>{this.emit("mousemove",i)}).on("mouseleave",i=>{this.emit("mouseleave",i)}).on("drag-start",i=>{this.emit("drag-start",i)})}}const compose$1=(n,e)=>{if(!Array.isArray(n))throw new TypeError("Middleware 必须是一个数组!");for(const t of n)if(typeof t!="function")throw new TypeError("Middleware 必须由函数组成!");return(t,i)=>{let r=-1;return g(0);function g(y){if(y<=r){const L=new Error("next() 被多次调用");if(e)return Promise.reject(L);throw L}r=y;let k=n[y];if(y===n.length&&i&&(k=i),!k)return e?Promise.resolve():void 0;if(e)try{return Promise.resolve(k(...t,g.bind(null,y+1)))}catch(L){return Promise.reject(L)}try{return k(...t,g.bind(null,y+1))}catch(L){throw L}}}},methodName=(n,e)=>"".concat(n).concat(e[0].toUpperCase()).concat(e.substring(1)),isError=n=>Object.prototype.toString.call(n)==="[object Error]",doAction=(n,e,t,i,r,g)=>{try{let y=n;for(const L of e.pluginOptionsList[i]){if(y=L(...y)||[],isError(y))throw y;Array.isArray(y)||(y=[y])}let k=g(y,t.bind(e));for(const L of e.pluginOptionsList[r])if(k=L(k,...y),isError(k))throw k;return k}catch(y){throw y}},doAsyncAction=async(n,e,t,i,r,g)=>{try{let y=n;for(const L of e.pluginOptionsList[i]){if(y=await L(...y)||[],isError(y))throw y;Array.isArray(y)||(y=[y])}let k=await g(y,t.bind(e));for(const L of e.pluginOptionsList[r])if(k=await L(k,...y),isError(k))throw k;return k}catch(y){throw y}};class BaseService extends eventsExports.EventEmitter{constructor(t=[],i=[]){super();Ni(this,"pluginOptionsList",{});Ni(this,"middleware",{});Ni(this,"taskList",[]);Ni(this,"doingTask",!1);t.forEach(({name:r,isAsync:g})=>{const y=this,k=y[r],L=methodName("before",r),V=methodName("after",r);this.pluginOptionsList[L]=[],this.pluginOptionsList[V]=[],this.middleware[r]=[];const z=compose$1(this.middleware[r],g);Object.defineProperty(y,r,{value:g?async(...j)=>{if(!i.includes(r))return doAsyncAction(j,y,k,L,V,z);const ie=new Promise((oe,re)=>{this.taskList.push(async()=>{try{const ae=await doAsyncAction(j,y,k,L,V,z);oe(ae)}catch(ae){re(ae)}})});return this.doingTask||this.doTask(),ie}:(...j)=>doAction(j,y,k,L,V,z)})})}use(t){for(const[i,r]of Object.entries(t))typeof r=="function"&&this.middleware[i].push(r)}usePlugin(t){for(const[i,r]of Object.entries(t))typeof r=="function"&&this.pluginOptionsList[i].push(r)}removePlugin(t){for(const[i,r]of Object.entries(t))Array.isArray(this.pluginOptionsList[i])&&(this.pluginOptionsList[i]=this.pluginOptionsList[i].filter(g=>g!==r))}removeAllPlugins(){for(const t of Object.keys(this.pluginOptionsList))this.pluginOptionsList[t]=[];for(const t of Object.keys(this.middleware))this.middleware[t]=[]}async doTask(){this.doingTask=!0;let t=this.taskList.shift();for(;t;)await t(),t=this.taskList.shift();this.doingTask=!1}}const canUsePluginMethods$7={async:["setPropsConfig","getPropsConfig","setPropsValue","getPropsValue","fillConfig","getDefaultPropsValue"],sync:["createId","setNewItemId"]};class Props extends BaseService{constructor(){super([...canUsePluginMethods$7.async.map(t=>({name:t,isAsync:!0})),...canUsePluginMethods$7.sync.map(t=>({name:t,isAsync:!1}))]);Ni(this,"state",reactive$1({propsConfigMap:{},propsValueMap:{},relateIdMap:{},disabledDataSource:!1,disabledCodeBlock:!1}))}setDisabledDataSource(t){this.state.disabledDataSource=t}setDisabledCodeBlock(t){this.state.disabledCodeBlock=t}getDisabledDataSource(){return this.state.disabledDataSource}getDisabledCodeBlock(){return this.state.disabledCodeBlock}setPropsConfigs(t){Object.keys(t).forEach(i=>{this.setPropsConfig(toLine(i),t[i])}),this.emit("props-configs-change")}async fillConfig(t,i){return fillConfig$1(t,{labelWidth:typeof i!="function"?i:"80px",disabledDataSource:this.getDisabledDataSource(),disabledCodeBlock:this.getDisabledCodeBlock()})}async setPropsConfig(t,i){let r=i;typeof i=="function"&&(r=i({editorService})),this.state.propsConfigMap[toLine(t)]=await this.fillConfig(Array.isArray(r)?r:[r])}async getPropsConfig(t){return t==="area"?await this.getPropsConfig("button"):cloneDeep(this.state.propsConfigMap[toLine(t)]||await this.fillConfig([]))}setPropsValues(t){Object.keys(t).forEach(i=>{this.setPropsValue(toLine(i),t[i])})}async setPropsValue(t,i){let r=i;typeof i=="function"&&(r=i({editorService})),this.state.propsValueMap[toLine(t)]=r}async getPropsValue(t,{inputEvent:i,...r}={}){const g=toLine(t);if(g==="area"){const V=await this.getPropsValue("button");return V.className="action-area",V.text="",V.style&&(V.style.backgroundColor="rgba(255, 255, 255, 0)"),V}const y=this.createId(g),k=this.getDefaultPropsValue(g),L=this.setNewItemId(cloneDeep({type:g,...r}));return{id:y,...k,...mergeWith({},cloneDeep(this.state.propsValueMap[g]||{}),L)}}createId(t){return"".concat(t,"_").concat(guid())}setNewItemId(t,i=!0){if(i||editorService.getNodeById(t.id)){const r=this.createId(t.type||"component");this.setRelateId(t.id,r),t.id=r}if(t.items&&Array.isArray(t.items))for(const r of t.items)this.setNewItemId(r);return t}getDefaultPropsValue(t){return["page","container"].includes(t)?{type:t,layout:"absolute",style:{},name:t,items:[]}:{type:t,style:{},name:t}}resetState(){this.state.propsConfigMap={},this.state.propsValueMap={}}replaceRelateId(t,i,r){const g=this.getRelateIdMap();if(Object.keys(g).length===0)return;const y=new Target({...r}),k=new Watcher;k.addTarget(y),k.collect(t,{},!0,r.type),t.forEach(L=>{var ie,oe;const V=g[L.id],z=getNodePath(V,i),j=z[z.length-1];j&&((oe=(ie=y.deps[L.id])==null?void 0:ie.keys)==null||oe.forEach(re=>{const ae=getValueByKeyPath(re,L),le=g[ae];le&&setValueByKeyPath(re,le,j)}),L.items&&Array.isArray(L.items)&&this.replaceRelateId(L.items,i,r))})}clearRelateId(){this.state.relateIdMap={}}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(t){super.usePlugin(t)}getRelateIdMap(){return this.state.relateIdMap}setRelateId(t,i){this.state.relateIdMap[t]=i}}const propsService=new Props;class UndoRedo{constructor(e=20){Ni(this,"elementList");Ni(this,"listCursor");Ni(this,"listMaxSize");this.elementList=[],this.listCursor=0,this.listMaxSize=e>2?e:2}pushElement(e){this.elementList.splice(this.listCursor,this.elementList.length-this.listCursor,cloneDeep(e)),this.listCursor+=1,this.elementList.length>this.listMaxSize&&(this.elementList.shift(),this.listCursor-=1)}canUndo(){return this.listCursor>1}undo(){return this.canUndo()?(this.listCursor-=1,this.getCurrentElement()):null}canRedo(){return this.elementList.length>this.listCursor}redo(){return this.canRedo()?(this.listCursor+=1,this.getCurrentElement()):null}getCurrentElement(){return this.listCursor<1?null:cloneDeep(this.elementList[this.listCursor-1])}}class History extends BaseService{constructor(){super([]);Ni(this,"state",reactive$1({pageSteps:{},pageId:void 0,canRedo:!1,canUndo:!1}));this.on("change",this.setCanUndoRedo)}reset(){this.state.pageSteps={},this.resetPage()}resetPage(){this.state.pageId=void 0,this.state.canRedo=!1,this.state.canUndo=!1}changePage(t){if(t){if(this.state.pageId=t.id,!this.state.pageSteps[this.state.pageId]){const i=new UndoRedo;i.pushElement({data:t,modifiedNodeIds:new Map,nodeId:t.id}),this.state.pageSteps[this.state.pageId]=i}this.setCanUndoRedo(),this.emit("page-change",this.state.pageSteps[this.state.pageId])}}resetState(){this.state.pageId=void 0,this.state.pageSteps={},this.state.canRedo=!1,this.state.canUndo=!1}push(t){const i=this.getUndoRedo();return i?(i.pushElement(t),this.emit("change",t),t):null}undo(){const t=this.getUndoRedo();if(!t)return null;const i=t.undo();return this.emit("change",i),i}redo(){const t=this.getUndoRedo();if(!t)return null;const i=t.redo();return this.emit("change",i),i}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}getUndoRedo(){return this.state.pageId?this.state.pageSteps[this.state.pageId]:null}setCanUndoRedo(){const t=this.getUndoRedo();this.state.canRedo=(t==null?void 0:t.canRedo())||!1,this.state.canUndo=(t==null?void 0:t.canUndo())||!1}}const historyService=new History;var Protocol=(n=>(n.OBJECT="object",n.JSON="json",n.STRING="string",n.NUMBER="number",n.BOOLEAN="boolean",n))(Protocol||{});const canUsePluginMethods$6={sync:["getStorage","getNamespace","clear","getItem","removeItem","setItem"]};class WebStorage extends BaseService{constructor(){super(canUsePluginMethods$6.sync.map(t=>({name:t,isAsync:!1})));Ni(this,"storage",globalThis.localStorage);Ni(this,"namespace","tmagic")}getStorage(){return this.storage}getNamespace(){return this.namespace}clear(){this.getStorage().clear()}getItem(t,i={}){const r=this.getStorage(),g=this.getNamespace(),{protocol:y=i.protocol,item:k}=this.getValueAndProtocol(r.getItem("".concat(i.namespace||g,":").concat(t)));if(k===null)return null;switch(y){case"object":return getEditorConfig("parseDSL")("(".concat(k,")"));case"json":return JSON.parse(k);case"number":return Number(k);case"boolean":if(k==="true")return!0;if(k==="false")return!1;default:return k}}key(t){return this.getStorage().key(t)}removeItem(t,i={}){const r=this.getStorage(),g=this.getNamespace();r.removeItem("".concat(i.namespace||g,":").concat(t))}setItem(t,i,r={}){const g=this.getStorage(),y=this.getNamespace();let k=i;const L=r.protocol?"".concat(r.protocol,":"):"";typeof i=="string"||typeof i=="number"?k="".concat(L).concat(i):k="".concat(L).concat(serialize(i)),g.setItem("".concat(r.namespace||y,":").concat(t),k)}destroy(){this.removeAllListeners(),this.removeAllPlugins()}usePlugin(t){super.usePlugin(t)}getValueAndProtocol(t){let i="";if(t===null)return{item:t,protocol:i};const r=t.replace(new RegExp("^(".concat(Object.values(Protocol).join("|"),")(:)(.+)")),(g,y,k,L)=>(i=y,L));return{protocol:i,item:r}}}const storageService=new WebStorage,canUsePluginMethods$5={async:["getLayout","highlight","select","multiSelect","doAdd","add","doRemove","remove","doUpdate","update","sort","copy","paste","doPaste","doAlignCenter","alignCenter","moveLayer","moveToContainer","dragTo","undo","redo","move"]};class Editor extends BaseService{constructor(){super(canUsePluginMethods$5.async.map(t=>({name:t,isAsync:!0})),["select","update","moveLayer"]);Ni(this,"state",reactive$1({root:null,page:null,parent:null,node:null,nodes:[],stage:null,stageLoading:!0,highlightNode:null,modifiedNodeIds:new Map,pageLength:0,pageFragmentLength:0,disabledMultiSelect:!1}));Ni(this,"isHistoryStateChange",!1)}set(t,i){const r=this.state[t];if(this.state[t]=i,t==="nodes"&&Array.isArray(i)&&this.set("node",i[0]),t==="root"){if(Array.isArray(i))throw new Error("root 不能为数组");if(i&&isObject$6(i)){const g=i;this.state.pageLength=getPageList(g).length||0,this.state.pageFragmentLength=getPageFragmentList(g).length||0,this.state.stageLoading=this.state.pageLength!==0}else this.state.pageLength=0,this.state.pageFragmentLength=0,this.state.stageLoading=!1;this.emit("root-change",i,r)}}get(t){return this.state[t]}getNodeInfo(t,i=!0){let r=this.get("root");return i&&(r=toRaw(r)),getNodeInfo(t,r)}getNodeById(t,i=!0){const{node:r}=this.getNodeInfo(t,i);return r}getParentById(t,i=!0){const{parent:r}=this.getNodeInfo(t,i);return r}async getLayout(t,i){var r;return i&&typeof i!="function"&&isFixed(i.style||{})?Layout.FIXED:t.layout?t.layout:(r=t.style)!=null&&r.position?Layout.ABSOLUTE:Layout.RELATIVE}async select(t){var y,k,L,V,z,j,ie;const{node:i,page:r,parent:g}=this.selectedConfigExceptionHandler(t);return this.set("nodes",i?[i]:[]),this.set("page",r),this.set("parent",g),r?historyService.changePage(toRaw(r)):historyService.resetState(),i!=null&&i.id&&((ie=(z=(V=(L=(k=(y=this.get("stage"))==null?void 0:y.renderer)==null?void 0:k.runtime)==null?void 0:L.getApp)==null?void 0:V.call(L))==null?void 0:z.page)==null||ie.emit("editor:select",{node:i,page:r,parent:g},getNodePath(i.id,(j=this.get("root"))==null?void 0:j.items))),this.emit("select",i),i}async selectNextNode(){var y;const t=toRaw(this.get("node"));if(!t||isPage(t)||t.type===NodeType.ROOT)return t;const i=toRaw(this.getParentById(t.id));if(!i)return t;const r=getNodeIndex(t.id,i),g=i.items[r+1]||i.items[0];return await this.select(g),(y=this.get("stage"))==null||y.select(g.id),g}async selectNextPage(){var y;const t=toRaw(this.get("root")),i=toRaw(this.get("page"));if(!i)throw new Error("page不能为空");if(!t)throw new Error("root不能为空");const r=getNodeIndex(i.id,t),g=t.items[r+1]||t.items[0];return await this.select(g),(y=this.get("stage"))==null||y.select(g.id),g}highlight(t){const{node:i}=this.selectedConfigExceptionHandler(t);this.get("highlightNode")!==i&&this.set("highlightNode",i)}multiSelect(t){const i=[];uniq(t).forEach(g=>{const{node:y}=this.getNodeInfo(g);y&&i.push(y)}),this.set("nodes",i)}selectRoot(){const t=this.get("root");t&&(this.set("nodes",[t]),this.set("parent",null),this.set("page",null),this.set("stage",null),this.set("highlightNode",null))}async doAdd(t,i){var V,z;const r=this.get("root");if(!r)throw new Error("root为空");const g=this.get("node"),y=this.get("stage");if(!g)throw new Error("当前选中节点为空");if((i.type===NodeType.ROOT||(g==null?void 0:g.type)===NodeType.ROOT)&&!(isPage(t)||isPageFragment(t)))throw new Error("app下不能添加组件");if(i.id!==g.id&&!(isPage(t)||isPageFragment(t))){const j=i.items.indexOf(g);(V=i.items)==null||V.splice(j+1,0,t)}else(z=i.items)==null||z.push(t);const k=await this.getLayout(toRaw(i),t);t.style=getInitPositionStyle(t.style,k),await(y==null?void 0:y.add({config:cloneDeep(t),parent:cloneDeep(i),parentId:i.id,root:cloneDeep(r)}));const L=fixNodePosition(t,i,y);return L&&(L.top!==t.style.top||L.left!==t.style.left)&&(t.style=L,await(y==null?void 0:y.update({config:cloneDeep(t),parentId:i.id,root:cloneDeep(r)}))),this.addModifiedNodeId(t.id),t}async add(t,i){const r=this.get("stage"),g=[];if(Array.isArray(t))g.push(...t);else{const{type:k,inputEvent:L,...V}=t;if(!k)throw new Error("组件类型不能为空");g.push({...toRaw(await propsService.getPropsValue(k,V))})}const y=await Promise.all(g.map(k=>{const L=this.get("root");if((isPage(k)||isPageFragment(k))&&L)return this.doAdd(k,L);const V=i&&typeof i!="function"?i:getAddParent(k);if(!V)throw new Error("未找到父元素");return this.doAdd(k,V)}));if(y.length>1){const k=y.map(L=>L.id);r==null||r.multiSelect(k),await this.multiSelect(k)}else await this.select(y[0]),isPage(y[0])?this.state.pageLength+=1:isPageFragment(y[0])?this.state.pageFragmentLength+=1:r==null||r.select(y[0].id);return isPage(y[0])||isPageFragment(y[0])||this.pushHistoryState(),this.emit("add",y),Array.isArray(t)?y:y[0]}async doRemove(t){var z;const i=this.get("root");if(!i)throw new Error("root不能为空");const{parent:r,node:g}=this.getNodeInfo(t.id,!1);if(!r||!g)throw new Error("找不要删除的节点");const y=getNodeIndex(g.id,r);if(typeof y!="number"||y===-1)throw new Error("找不要删除的节点");(z=r.items)==null||z.splice(y,1);const k=this.get("stage");k==null||k.remove({id:t.id,parentId:r.id,root:cloneDeep(i)});const L=async j=>{j[0]?(await this.select(j[0]),k==null||k.select(j[0].id)):(this.selectRoot(),historyService.resetPage())},V=i.items||[];isPage(t)?(this.state.pageLength-=1,await L(V)):isPageFragment(t)?(this.state.pageFragmentLength-=1,await L(V)):(await this.select(r),k==null||k.select(r.id),this.addModifiedNodeId(r.id)),V.length||(this.resetModifiedNodeId(),historyService.reset())}async remove(t){const i=Array.isArray(t)?t:[t];await Promise.all(i.map(r=>this.doRemove(r))),isPage(i[0])||isPageFragment(i[0])||this.pushHistoryState(),this.emit("remove",i)}async doUpdate(t,{changeRecords:i=[]}={}){const r=this.get("root");if(!r)throw new Error("root为空");if(!(t!=null&&t.id))throw new Error("没有配置或者配置缺少id值");const g=this.getNodeInfo(t.id,!1);if(!g.node)throw new Error("获取不到id为".concat(t.id,"的节点"));const y=toRaw(g.node);let k=await this.toggleFixedPosition(toRaw(t),y,r);if(k=mergeWith(cloneDeep(y),k,(ae,le,de,ue,he)=>{if(typeof le>"u"&&Object.hasOwn(he,de))return"";if(isObject$6(le)&&Array.isArray(ae)||Array.isArray(le))return le}),!k.type)throw new Error("配置缺少type值");if(k.type===NodeType.ROOT)return this.set("root",k),{oldNode:y,newNode:k,changeRecords:i};const{parent:L}=g;if(!L)throw new Error("获取不到父级节点");const V=L.items,z=getNodeIndex(k.id,L);if(!V||typeof z>"u"||z===-1)throw new Error("更新的节点未找到");const j=await this.getLayout(k),ie=await this.getLayout(y);Array.isArray(k.items)&&j!==ie&&(k=setChildrenLayout(k,j)),V[z]=k;const oe=this.get("nodes"),re=oe.findIndex(ae=>"".concat(ae.id)==="".concat(k.id));return oe.splice(re,1,k),this.set("nodes",[...oe]),(isPage(k)||isPageFragment(k))&&this.set("page",k),this.addModifiedNodeId(k.id),{oldNode:y,newNode:k,changeRecords:i}}async update(t,i={}){var y;const r=Array.isArray(t)?t:[t],g=await Promise.all(r.map(k=>this.doUpdate(k,i)));return((y=g[0].oldNode)==null?void 0:y.type)!==NodeType.ROOT&&this.pushHistoryState(),this.emit("update",g),Array.isArray(t)?g.map(k=>k.newNode):g[0].newNode}async sort(t,i){var V;const r=this.get("root");if(!r)throw new Error("root为空");const g=this.get("node");if(!g)throw new Error("当前节点为空");const y=cloneDeep(toRaw(this.get("parent")));if(!y)throw new Error("父节点为空");const k=y.items.findIndex(z=>"".concat(z.id)==="".concat(i));if(k<0)return;const L=y.items.findIndex(z=>"".concat(z.id)==="".concat(t));y.items.splice(k,0,...y.items.splice(L,1)),await this.update(y),await this.select(g),(V=this.get("stage"))==null||V.update({config:cloneDeep(g),parentId:y.id,root:cloneDeep(r)}),this.addModifiedNodeId(y.id),this.pushHistoryState()}copy(t){storageService.setItem(COPY_STORAGE_KEY,Array.isArray(t)?t:[t],{protocol:Protocol.OBJECT})}copyWithRelated(t,i){const r=Array.isArray(t)?t:[t];if(i&&typeof i.isTarget=="function"){const g=new Target({...i}),y=new Watcher;y.addTarget(g),y.collect(r,{},!0,i.type),Object.keys(g.deps).forEach(k=>{const L=this.getNodeById(k);L&&g.deps[k].keys.forEach(V=>{const z=get(L,V);if(!r.find(ie=>ie.id===z)){const ie=this.getNodeById(z);ie&&r.push(ie)}})})}storageService.setItem(COPY_STORAGE_KEY,r,{protocol:Protocol.OBJECT})}async paste(t={},i){const r=storageService.getItem(COPY_STORAGE_KEY);if(!Array.isArray(r))return;const g=this.get("node");let y=null;r.length===1&&r[0].id===(g==null?void 0:g.id)&&(y=this.get("parent"),(y==null?void 0:y.type)===NodeType.ROOT&&(y=this.get("page")));const k=await this.doPaste(r,t);return i&&typeof i.isTarget=="function"&&propsService.replaceRelateId(r,k,i),this.add(k,y)}async doPaste(t,i={}){var y,k,L;propsService.clearRelateId();const r=(L=(k=(y=this.get("stage"))==null?void 0:y.renderer)==null?void 0:k.contentWindow)==null?void 0:L.document;return beforePaste(i,cloneDeep(t),r)}async doAlignCenter(t){var L,V,z,j;const i=this.getParentById(t.id);if(!i)throw new Error("找不到父节点");const r=cloneDeep(toRaw(t)),g=await this.getLayout(i,r);if(g===Layout.RELATIVE||!r.style)return t;const y=this.get("stage"),k=(V=(L=y==null?void 0:y.renderer)==null?void 0:L.contentWindow)==null?void 0:V.document;if(k){const ie=getElById()(k,r.id),oe=g===Layout.FIXED?k.body:ie==null?void 0:ie.offsetParent;oe&&ie&&(r.style.left=calcValueByFontsize(k,(oe.clientWidth-ie.clientWidth)/2),r.style.right="")}else i.style&&isNumber$6((z=i.style)==null?void 0:z.width)&&isNumber$6((j=r.style)==null?void 0:j.width)&&(r.style.left=(i.style.width-r.style.width)/2,r.style.right="");return r}async alignCenter(t){const i=Array.isArray(t)?t:[t],r=this.get("stage"),g=await Promise.all(i.map(k=>this.doAlignCenter(k))),y=await this.update(g);return g.length>1?await(r==null?void 0:r.multiSelect(g.map(k=>k.id))):await(r==null?void 0:r.select(g[0].id)),y}async moveLayer(t){var ie;const i=this.get("root");if(!i)throw new Error("root为空");const r=this.get("parent");if(!r)throw new Error("父节点为空");const g=this.get("node");if(!g)throw new Error("当前节点为空");const y=r.items||[],k=y.findIndex(oe=>"".concat(oe.id)==="".concat(g==null?void 0:g.id)),V=await this.getLayout(r,g)===Layout.RELATIVE;let z;if(t===LayerOffset.TOP?z=V?0:y.length:t===LayerOffset.BOTTOM?z=V?y.length:0:z=k+(V?-t:t),z>0&&z>y.length||z<0)return;y.splice(k,1),y.splice(z,0,g);const j=this.getParentById(r.id);(ie=this.get("stage"))==null||ie.update({config:cloneDeep(toRaw(r)),parentId:j==null?void 0:j.id,root:cloneDeep(i)}),this.addModifiedNodeId(r.id),this.pushHistoryState(),this.emit("move-layer",t)}async moveToContainer(t,i){var V;const r=this.get("root"),{node:g,parent:y}=this.getNodeInfo(t.id,!1),k=this.getNodeById(i,!1),L=this.get("stage");if(r&&g&&y&&L){const z=getNodeIndex(g.id,y);(V=y.items)==null||V.splice(z,1),await L.remove({id:g.id,parentId:y.id,root:cloneDeep(r)});const j=await this.getLayout(k),ie=mergeWith(cloneDeep(g),t,(re,ae)=>{if(Array.isArray(ae))return ae});ie.style=getInitPositionStyle(ie.style,j),k.items.push(ie),await L.select(i);const oe=this.getParentById(k.id);return await L.update({config:cloneDeep(k),parentId:oe==null?void 0:oe.id,root:cloneDeep(r)}),await this.select(ie),L.select(ie.id),this.addModifiedNodeId(k.id),this.addModifiedNodeId(y.id),this.pushHistoryState(),ie}}async dragTo(t,i,r){var ie;if(!i||!Array.isArray(i.items))return;const g=Array.isArray(t)?t:[t],y=[],k=[],L=await this.getLayout(i);e:for(const oe of g){const{parent:re,node:ae}=this.getNodeInfo(oe.id,!1);if(!re||!ae)continue;const le=getNodePath(ae.id,re.items);for(const ue of le)if(i.id===ue.id)continue e;const de=getNodeIndex(ae.id,re);if(re.id===i.id){if(typeof de!="number"||de===-1)return;y.push(de)}else{const ue=await this.getLayout(re);L!==ue&&setLayout(oe,L),(ie=re.items)==null||ie.splice(de,1),k.push(oe),this.addModifiedNodeId(re.id)}}moveItemsInContainer(y,i,r),k.forEach((oe,re)=>{var ae;(ae=i.items)==null||ae.splice(r+re,0,oe),this.addModifiedNodeId(oe.id)});const V=this.get("page"),z=this.get("root"),j=this.get("stage");j&&V&&z&&j.update({config:cloneDeep(V),parentId:z.id,root:cloneDeep(z)}),this.pushHistoryState(),this.emit("drag-to",{targetIndex:r,configs:g,targetParent:i})}async undo(){const t=historyService.undo();return await this.changeHistoryState(t),t}async redo(){const t=historyService.redo();return await this.changeHistoryState(t),t}async move(t,i){const r=toRaw(this.get("node"));if(!r||isPage(r))return;const{style:g,id:y,type:k}=r;if(!g||!["absolute","fixed"].includes(g.position))return;const L=V=>this.update({id:y,type:k,style:V});i&&(isNumber$6(g.top)?L({...g,top:Number(g.top)+Number(i),bottom:""}):isNumber$6(g.bottom)&&L({...g,bottom:Number(g.bottom)-Number(i),top:""})),t&&(isNumber$6(g.left)?L({...g,left:Number(g.left)+Number(t),right:""}):isNumber$6(g.right)&&L({...g,right:Number(g.right)-Number(t),left:""}))}resetState(){this.set("root",null),this.set("node",null),this.set("nodes",[]),this.set("page",null),this.set("parent",null),this.set("stage",null),this.set("highlightNode",null),this.set("modifiedNodeIds",new Map),this.set("pageLength",0)}destroy(){this.removeAllListeners(),this.resetState(),this.removeAllPlugins()}resetModifiedNodeId(){this.get("modifiedNodeIds").clear()}usePlugin(t){super.usePlugin(t)}on(t,i){return super.on(t,i)}once(t,i){return super.once(t,i)}emit(t,...i){return super.emit(t,...i)}addModifiedNodeId(t){this.isHistoryStateChange||this.get("modifiedNodeIds").set(t,t)}pushHistoryState(){const t=cloneDeep(toRaw(this.get("node"))),i=this.get("page");!this.isHistoryStateChange&&t&&i&&historyService.push({data:cloneDeep(toRaw(i)),modifiedNodeIds:this.get("modifiedNodeIds"),nodeId:t.id}),this.isHistoryStateChange=!1}async changeHistoryState(t){t&&(this.isHistoryStateChange=!0,await this.update(t.data),this.set("modifiedNodeIds",t.modifiedNodeIds),setTimeout(()=>{t.nodeId&&this.select(t.nodeId).then(()=>{var i;(i=this.get("stage"))==null||i.select(t.nodeId)})},0),this.emit("history-change",t.data))}async toggleFixedPosition(t,i,r){var y;const g=cloneDeep(t);return!isPop(i)&&((y=g.style)!=null&&y.position)&&(isFixed(g.style)&&!isFixed(i.style||{})?g.style=change2Fixed(g,r):!isFixed(g.style)&&isFixed(i.style||{})&&(g.style=await Fixed2Other(g,r,this.getLayout))),g}selectedConfigExceptionHandler(t){var k;let i;if(typeof t=="string"||typeof t=="number"?i=t:i=t.id,!i)throw new Error("没有ID,无法选中");const{node:r,parent:g,page:y}=this.getNodeInfo(i);if(!r)throw new Error("获取不到组件信息");if(r.id===((k=this.state.root)==null?void 0:k.id))throw new Error("不能选根节点");return{node:r,parent:g,page:y}}}const editorService=new Editor,beforePaste=(n,e,t)=>{var k;if(!((k=e[0])!=null&&k.style))return e;const i=editorService.get("node"),{left:r,top:g}=e[0].style;return e.map(L=>{var ae,le,de;const{offsetX:V=0,offsetY:z=0,...j}=n;let ie=j;!isEmpty$3(ie)&&(i!=null&&i.items)&&(ie=getPositionInContainer(ie,i.id,t)),ie.left&&((ae=L.style)!=null&&ae.left)&&(ie.left=L.style.left-r+ie.left),ie.top&&((le=L.style)!=null&&le.top)&&(ie.top=((de=L.style)==null?void 0:de.top)-g+ie.top);const oe=propsService.setNewItemId(L,!1);if(oe.style){const{left:ue,top:he}=oe.style;(typeof ue=="number"||ue&&!isNaN(Number(ue)))&&(oe.style.left=Number(ue)+V),(typeof he=="number"||he&&!isNaN(Number(he)))&&(oe.style.top=Number(he)+z),oe.style={...oe.style,...ie}}const re=editorService.get("root");return(isPage(oe)||isPageFragment(oe))&&re&&(oe.name=generatePageNameByApp(re,isPage(oe)?NodeType.PAGE:NodeType.PAGE_FRAGMENT)),oe})},getPositionInContainer=(n={},e,t)=>{var L,V,z;let{left:i=0,top:r=0}=n;const g=(z=(V=(L=editorService.get("stage"))==null?void 0:L.renderer)==null?void 0:V.contentWindow)==null?void 0:z.document,y=g&&getElById()(g,"".concat(e)),k=y==null?void 0:y.getBoundingClientRect();return i=i-calcValueByFontsize(t,(k==null?void 0:k.left)||0),r=r-calcValueByFontsize(t,(k==null?void 0:k.top)||0),{left:i,top:r}},getAddParent=n=>{const e=editorService.get("node");let t;return isPage(n)?t=editorService.get("root"):e!=null&&e.items?t=e:e!=null&&e.id&&(t=editorService.getParentById(e.id,!1)),t},BaseFormConfig=()=>defineFormConfig([{name:"id",type:"hidden"},{name:"type",text:"类型",type:"hidden",defaultValue:"base"},{name:"title",text:"名称",rules:[{required:!0,message:"请输入名称"}]},{name:"description",text:"描述"}]),HttpFormConfig=defineFormConfig([{name:"autoFetch",text:"自动请求",type:"switch",defaultValue:!0},{name:"responseOptions",items:[{name:"dataPath",text:"数据路径"}]},{type:"fieldset",name:"options",legend:"HTTP 配置",items:[{name:"url",text:"URL"},{name:"method",text:"Method",type:"select",options:[{text:"GET",value:"GET"},{text:"POST",value:"POST"},{text:"PUT",value:"PUT"},{text:"DELETE",value:"DELETE"}]},{name:"params",type:"key-value",defaultValue:{},advanced:!0,text:"参数"},{name:"data",type:"key-value",defaultValue:{},advanced:!0,text:"请求体"},{name:"headers",type:"key-value",defaultValue:{},advanced:!0,text:"请求头"}]}]),fillConfig=n=>[...BaseFormConfig(),...n,{type:"tab",items:[{title:"数据定义",items:[{name:"fields",type:"data-source-fields",defaultValue:()=>[]}]},{title:"方法定义",items:[{name:"methods",type:"data-source-methods",defaultValue:()=>[]}]},{title:"事件配置",items:[{name:"events",src:"datasource",type:"event-select"}]},{title:"mock数据",items:[{name:"mocks",type:"data-source-mocks",defaultValue:()=>[]}]},{title:"请求参数裁剪",display:(e,{model:t})=>t.type==="http",items:[{name:"beforeRequest",type:"vs-code",parse:!0,height:"600px"}]},{title:"响应数据裁剪",display:(e,{model:t})=>t.type==="http",items:[{name:"afterResponse",type:"vs-code",parse:!0,height:"600px"}]}]}],getFormConfig=(n,e)=>{switch(n){case"base":return fillConfig([]);case"http":return fillConfig(HttpFormConfig);default:return fillConfig(e[n]||[])}},getFormValue=(n,e)=>n!=="http"?e:{beforeRequest:"(options, context) => {\n /**\n * 用户可以直接编写函数,在原始接口调用之前,会运行该函数,将这个函数的返回值作为该数据源接口的入参\n *\n * options: HttpOptions\n *\n * interface HttpOptions {\n * // 请求链接\n * url: string;\n * // query参数\n * params?: Record;\n * // body数据\n * data?: Record;\n * // 请求头\n * headers?: Record;\n * // 请求方法 GET/POST\n * method?: Method;\n * }\n *\n * context:上下文对象\n *\n * interface Content {\n * app: TMagicApp;\n * dataSource: HttpDataSource;\n * }\n *\n * return: HttpOptions\n */\n\n // 此处的返回值会作为这个接口的入参\n return options;\n}",afterResponse:"(response, context) => {\n /**\n * 用户可以直接编写函数,在原始接口返回之后,会运行该函数,将这个函数的返回值作为该数据源接口的返回\n\n * context:上下文对象\n *\n * interface Content {\n * app: TMagicApp;\n * dataSource: HttpDataSource;\n * }\n *\n */\n\n // 此处的返回值会作为这个接口的返回值\n return response;\n}",...e},getDisplayField=(n,e)=>{const t=[],i=e.matchAll(dataSourceTemplateRegExp);let r=0;for(const g of i){if(typeof g.index>"u")break;t.push({type:"text",value:e.substring(r,g.index)});let y="",k,L;getKeysArray(g[1]).forEach((V,z)=>{if(z===0){k=n.find(j=>j.id===V),y+=(k==null?void 0:k.title)||V,L=k==null?void 0:k.fields;return}if(isNumber$6(V))y+="[".concat(V,"]");else{const j=L==null?void 0:L.find(ie=>ie.name===V);L=j==null?void 0:j.fields,y+=".".concat((j==null?void 0:j.title)||V)}}),t.push({type:"var",value:y}),r=g.index+g[0].length}return r{const t=[];return n.forEach(i=>{e.length||e.push("any");let r=[];i.type&&["any","array","object"].includes(i.type)&&(r=getCascaderOptionsFromFields(i.fields,e));const g={label:"".concat(i.title||i.name,"(").concat(i.type,")"),value:i.name,children:r},y=i.type||"any";if(e.includes("any")||e.includes(y)){t.push(g);return}!e.includes(y)&&!["array","object","any"].includes(y)||!r.length&&["object","array","any"].includes(i.type||"")||t.push(g)}),t},removeDataSourceFieldPrefix=n=>(n==null?void 0:n.replace(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX,""))||"";globalThis.requestIdleCallback=globalThis.requestIdleCallback||function(n){const e=Date.now();return setTimeout(()=>{n({didTimeout:!1,timeRemaining(){return Math.max(0,50-(Date.now()-e))}})},1)};class IdleTask extends eventsExports.EventEmitter{constructor(){super();Ni(this,"taskList",[]);Ni(this,"hightLevelTaskList",[]);Ni(this,"taskHandle",null);this.setMaxListeners(1e3)}enqueueTask(t,i,r=!1){(r?this.hightLevelTaskList:this.taskList).push({handler:t,data:i}),this.taskHandle||(this.taskHandle=globalThis.requestIdleCallback(this.runTaskQueue.bind(this),{timeout:1e4}))}clearTasks(){this.taskHandle&&globalThis.cancelIdleCallback(this.taskHandle),this.hightLevelTaskList=[],this.taskList=[],this.taskHandle=null,this.emit("update-task-length",{length:this.taskList.length+this.hightLevelTaskList.length,hightLevelLength:this.hightLevelTaskList.length})}on(t,i){return super.on(t,i)}once(t,i){return super.once(t,i)}emit(t,...i){return super.emit(t,...i)}runTaskQueue(t){const{hightLevelTaskList:i,taskList:r}=this;for(;t.timeRemaining()>0&&(r.length||i.length);){const g=t.timeRemaining();let y=0;g<=5?y=10:g<=10?y=100:g<=15?y=300:y=600;for(let k=0;k0?i.shift():r.shift();if(L&&L.handler(L.data),i.length===0&&r.length===0)break}}i.length||this.emit("hight-level-finish"),i.length||r.length?this.taskHandle=globalThis.requestIdleCallback(this.runTaskQueue.bind(this),{timeout:300}):(this.taskHandle=0,this.emit("finish")),this.emit("update-task-length",{length:r.length+i.length,hightLevelLength:i.length})}}class ScrollViewer extends eventsExports.EventEmitter{constructor(t){super();Ni(this,"container");Ni(this,"target");Ni(this,"zoom",1);Ni(this,"scrollLeft",0);Ni(this,"scrollTop",0);Ni(this,"scrollHeight",0);Ni(this,"scrollWidth",0);Ni(this,"width",0);Ni(this,"height",0);Ni(this,"translateXCorrectionValue",0);Ni(this,"translateYCorrectionValue",0);Ni(this,"correctionScrollSize",{width:0,height:0});Ni(this,"resizeObserver",new ResizeObserver(()=>{this.setSize(),this.setScrollSize()}));Ni(this,"wheelHandler",t=>{const{deltaX:i,deltaY:r,currentTarget:g}=t;if(g!==this.container)return;let y;this.scrollHeight>this.height&&(y=this.scrollTop+this.getPos(r,this.scrollTop,this.scrollHeight,this.height));let k;this.scrollWidth>this.width&&(k=this.scrollLeft+this.getPos(i,this.scrollLeft,this.scrollWidth,this.width)),this.scrollTo({left:k,top:y}),this.emit("scroll",{scrollLeft:this.scrollLeft,scrollTop:this.scrollTop,scrollHeight:this.scrollHeight,scrollWidth:this.scrollWidth})});Ni(this,"setScrollSize",()=>{const t=this.target.getBoundingClientRect();this.scrollWidth=t.width*this.zoom+this.correctionScrollSize.width;const i=Number(this.target.style.marginTop)||0;this.scrollHeight=(t.height+i)*this.zoom+this.correctionScrollSize.height;let r,g;this.scrollWidth{const{width:t,height:i}=this.container.getBoundingClientRect();this.width=t,this.height=i});this.container=t.container,this.target=t.target,this.zoom=t.zoom,this.correctionScrollSize&&(this.correctionScrollSize={...this.correctionScrollSize,...t.correctionScrollSize}),this.container.addEventListener("wheel",this.wheelHandler,!1),this.setSize(),this.setScrollSize(),this.resizeObserver.observe(this.container),this.resizeObserver.observe(this.target)}destroy(){this.resizeObserver.disconnect(),this.container.removeEventListener("wheel",this.wheelHandler,!1),this.removeAllListeners()}setZoom(t){this.zoom=t,this.setScrollSize()}scrollTo({left:t,top:i}){typeof t<"u"&&(this.scrollLeft=t),typeof i<"u"&&(this.scrollTop=i);const r=-this.scrollLeft+this.translateXCorrectionValue,g=-this.scrollTop+this.translateYCorrectionValue;this.target.style.transform="translate(".concat(r,"px, ").concat(g,"px)")}getPos(t,i,r,g){let y=0;if(t<0)i>0&&(y=Math.max(t,-i));else{const k=r-g-i;k>0&&(y=Math.min(t,k))}return y}}const updateStatus=(n,e,t)=>{const i=n.get(e);i&&getKeys$1(t).forEach(r=>{i[r]!==void 0&&t[r]!==void 0&&(i[r]=!!t[r])})},UI_SELECT_MODE_EVENT_NAME="ui-select",LEFT_COLUMN_WIDTH_STORAGE_KEY="$MagicEditorLeftColumnWidthData",RIGHT_COLUMN_WIDTH_STORAGE_KEY="$MagicEditorRightColumnWidthData",PROPS_PANEL_WIDTH_STORAGE_KEY="$MagicEditorPropsPanelWidthData",DEFAULT_LEFT_COLUMN_WIDTH=310,DEFAULT_RIGHT_COLUMN_WIDTH=480,MIN_LEFT_COLUMN_WIDTH=200,MIN_CENTER_COLUMN_WIDTH=400,MIN_RIGHT_COLUMN_WIDTH=300,H_GUIDE_LINE_STORAGE_KEY="$MagicStageHorizontalGuidelinesData",V_GUIDE_LINE_STORAGE_KEY="$MagicStageVerticalGuidelinesData",_sfc_main$2_=defineComponent({name:"MEditorCodeParams",__name:"CodeParams",props:{model:{},size:{},disabled:{type:Boolean},name:{},paramsConfig:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r=useTemplateRef("form"),g=(L=[])=>[{type:"fieldset",items:L,legend:"参数",labelWidth:"120px",name:t.name}],y=computed$1(()=>g(t.paramsConfig.map(({name:L,text:V,extra:z,...j})=>({type:"data-source-field-select",name:L,text:V,extra:z,fieldConfig:j})))),k=async(L,V)=>{var z;try{const j=await((z=r.value)==null?void 0:z.submitForm(!0));i("change",j,V)}catch(j){error(j)}};return(L,V)=>(openBlock(),createBlock(unref(_sfc_main$3v),{ref:"form",config:y.value,"init-values":L.model,disabled:L.disabled,size:L.size,"watch-props":!1,onChange:k},null,8,["config","init-values","disabled","size"]))}}),_hoisted_1$12={class:"m-fields-code-select-col"},_hoisted_2$p={class:"code-select-container"},_sfc_main$2Z=defineComponent({name:"MFieldsCodeSelectCol",__name:"CodeSelectCol",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=inject("mForm"),{codeBlockService:i,uiService:r}=useServices(),g=inject("eventBus"),y=e,k=n,L=computed$1(()=>filterFunction(t,k.config.notEditable,k)),V=computed$1(()=>(r.get("sideBarItems")||[]).find(de=>de.$key===SideItemKey.CODE_BLOCK)),z=de=>{var he;if(!j.value||!de)return[];const ue=(he=j.value[de])==null?void 0:he.params;return isEmpty$3(ue)?[]:ue.map(pe=>({labelWidth:"100px",text:pe.name,...pe}))},j=computed$1(()=>i.getCodeDsl()),ie=ref$1(z(k.model[k.name]));watch(()=>k.model[k.name],(de,ue)=>{de!==ue&&(ie.value=z(de))});const oe={type:"select",name:k.name,disable:k.disabled,options:()=>j.value?map(j.value,(de,ue)=>({text:"".concat(de.name,"(").concat(ue,")"),label:"".concat(de.name,"(").concat(ue,")"),value:ue})):[],onChange:(de,ue,{setModel:he,model:pe})=>(ie.value=z(ue),ie.value.length?he("params",createValues(de,ie.value,{},pe.params)):he("params",{}),ue)},re=(de,ue)=>{var he;k.model.params=de.params,y("change",k.model,{changeRecords:((he=ue.changeRecords)==null?void 0:he.map(pe=>({prop:"".concat(k.prop.replace(k.name,"")).concat(pe.propPath),value:pe.value})))||[{propPath:k.prop,value:de[k.name]}]})},ae=(de,ue)=>{k.model.params=de.params,y("change",k.model,{...ue,changeRecords:(ue.changeRecords||[]).map(he=>({prop:"".concat(k.prop.replace(k.name,"")).concat(he.propPath),value:he.value}))})},le=de=>{g==null||g.emit("edit-code",de)};return(de,ue)=>(openBlock(),createElementBlock("div",_hoisted_1$12,[createBaseVNode("div",_hoisted_2$p,[createVNode(unref(_sfc_main$3P),{class:"select",config:oe,model:de.model,size:de.size,onChange:re},null,8,["model","size"]),de.model[de.name]&&V.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,class:"m-fields-select-action-button",size:de.size,onClick:ue[0]||(ue[0]=he=>le(de.model[de.name]))},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:L.value?unref(view_default$1):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])):createCommentVNode("",!0)]),ie.value.length?(openBlock(),createBlock(_sfc_main$2_,{name:"params",key:de.model[de.name],model:de.model,size:de.size,"params-config":ie.value,onChange:ae},null,8,["model","size","params-config"])):createCommentVNode("",!0)]))}}),_sfc_main$2Y=defineComponent({name:"MFieldsCondOpSelect",__name:"CondOpSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){var L;const t=e,{dataSourceService:i}=useServices(),r=n,g=(L=getDesignConfig("components"))==null?void 0:L.option,y=computed$1(()=>{const[V,...z]=[...r.config.parentFields||[],...r.model.field],j=i.getDataSourceById(V);let ie=(j==null?void 0:j.fields)||[],oe="";return(z||[]).forEach(re=>{const ae=ie.find(le=>le.name===re);ie=(ae==null?void 0:ae.fields)||[],oe=(ae==null?void 0:ae.type)||""}),oe==="array"?arrayOptions:oe==="boolean"?[{text:"是",value:"is"},{text:"不是",value:"not"}]:oe==="number"?[...eqOptions,...numberOptions]:oe==="string"?[...arrayOptions,...eqOptions]:[...arrayOptions,...eqOptions,...numberOptions]}),k=V=>{t("change",V)};return(V,z)=>(openBlock(),createBlock(unref(_sfc_main$3$),{modelValue:V.model[V.name],"onUpdate:modelValue":z[0]||(z[0]=j=>V.model[V.name]=j),clearable:"",filterable:"",size:V.size,disabled:V.disabled,onChange:k},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,j=>{var ie,oe;return openBlock(),createBlock(resolveDynamicComponent(((ie=unref(g))==null?void 0:ie.component)||"el-option"),mergeProps({class:"tmagic-design-option",key:j.value},{ref_for:!0},((oe=unref(g))==null?void 0:oe.props({label:j.text,value:j.value}))||{label:j.text,value:j.value}),null,16)}),128))]),_:1},8,["modelValue","size","disabled"]))}}),_hoisted_1$11={ref:"title",class:"m-editor-float-box-title"},_sfc_main$2X=defineComponent({__name:"FloatingBox",props:mergeModels({position:{default:()=>({left:0,top:0})},title:{default:""},beforeClose:{}},{width:{default:0},widthModifiers:{},height:{default:0},heightModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:["update:width","update:height","update:visible"],setup(n,{expose:e}){const t=useModel(n,"width"),i=useModel(n,"height"),r=useModel(n,"visible"),g=n,y=useTemplateRef("target"),k=useTemplateRef("title"),L=useZIndex$2(),V=ref$1(0),z=ref$1(0),j=computed$1(()=>i.value?i.value-z.value:y.value?y.value.clientHeight-z.value:"auto"),{uiService:ie}=useServices(),oe=computed$1(()=>ie.get("frameworkRect").width||0),re=computed$1(()=>{let{left:Ce}=g.position;return t.value&&(Ce=Ce+t.value>oe.value?oe.value-t.value:Ce),{left:"".concat(Ce,"px"),top:"".concat(g.position.top,"px"),width:t.value?"".concat(t.value,"px"):"auto",height:i.value?"".concat(i.value,"px"):"auto"}});let ae=null;const le=()=>{ae=new Moveable(globalThis.document.body,{className:"m-editor-floating-box-moveable",target:y.value,draggable:!0,resizable:!0,edge:!0,keepRatio:!1,origin:!1,snappable:!0,dragTarget:k.value,dragTargetSelf:!1,linePadding:10,controlPadding:10,bounds:{left:0,top:0,right:0,bottom:0,position:"css"}}),ae.on("drag",Ce=>{Ce.target.style.transform=Ce.transform}),ae.on("resize",Ce=>{t.value=Ce.width,i.value=Ce.height,Ce.target.style.width="".concat(Ce.width,"px"),Ce.target.style.height="".concat(Ce.height,"px"),Ce.target.style.transform=Ce.drag.transform})},de=()=>{ae==null||ae.destroy(),ae=null};watch(r,async Ce=>{var $e;if(Ce){await nextTick(),V.value=L.nextZIndex();const xe=($e=y.value)==null?void 0:$e.getBoundingClientRect();if(xe&&(t.value=xe.width,i.value=xe.height,le()),k.value){const Ie=k.value.getBoundingClientRect();z.value=Ie.height}}else de()},{immediate:!0}),onBeforeUnmount(()=>{de()});const ue=Ce=>{Ce!==!1&&(r.value=!1)},he=()=>{typeof g.beforeClose=="function"?g.beforeClose(ue):ue()},pe=()=>{V.value=L.nextZIndex()};return provide("parentFloating",y),e({bodyHeight:j,target:y,titleEl:k}),(Ce,$e)=>r.value?(openBlock(),createBlock(Teleport$2,{key:0,to:"body"},[createBaseVNode("div",{ref:"target",class:"m-editor-float-box",style:normalizeStyle({...re.value,zIndex:V.value}),onMousedown:pe},[createBaseVNode("div",_hoisted_1$11,[renderSlot(Ce.$slots,"title",{},()=>[createBaseVNode("span",null,toDisplayString(Ce.title),1)]),createBaseVNode("div",null,[createVNode(unref(_sfc_main$4q),{link:"",size:"small",onClick:he},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(close_default$1)},null,8,["icon"])]),_:1})])],512),createBaseVNode("div",{class:"m-editor-float-box-body",style:normalizeStyle({height:"".concat(j.value,"px")})},[renderSlot(Ce.$slots,"body")],4)],36)])):createCommentVNode("",!0)}}),useCodeBlockEdit=n=>{const e=ref$1(),t=ref$1(),i=useTemplateRef("codeBlockEditor");return{codeId:t,codeConfig:e,codeBlockEditor:i,createCodeBlock:async()=>{var L;e.value={name:"",content:"({app, params, flowState}) => {\n // place your code here\n}",params:[]},t.value=await n.getUniqueId(),await nextTick(),(L=i.value)==null||L.show()},editCode:async L=>{var j;const V=await n.getCodeContentById(L);if(!V){tMagicMessage.error("获取代码块内容失败");return}let z=V.content;typeof z!="string"&&(z=z.toString()),e.value={...cloneDeep(V),content:z},t.value=L,await nextTick(),(j=i.value)==null||j.show()},deleteCode:async L=>{n.deleteCodeDslByIds([L])},submitCodeBlockHandler:async L=>{var V;t.value&&(await n.setCodeDslById(t.value,L),(V=i.value)==null||V.hide())}}},state=shallowReactive({uiSelectMode:!1,showSrc:!1,showStylePanel:!0,zoom:1,stageContainerRect:{width:0,height:0},stageRect:{width:375,height:817},columnWidth:{left:storageService.getItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_LEFT_COLUMN_WIDTH,center:0,right:storageService.getItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_RIGHT_COLUMN_WIDTH},showGuides:!0,showRule:!0,propsPanelSize:"small",showAddPageButton:!0,showPageListButton:!0,hideSlideBar:!1,sideBarItems:[],navMenuRect:{left:0,top:0,width:0,height:0},frameworkRect:{width:0,height:0,left:0,top:0}}),canUsePluginMethods$4={async:["zoom","calcZoom"]};class Ui extends BaseService{constructor(){super(canUsePluginMethods$4.async.map(e=>({name:e,isAsync:!0})))}set(e,t){var r;const i=(r=editorService.get("stage"))==null?void 0:r.mask;if(e==="stageRect"){this.setStageRect(t);return}e==="showGuides"&&(i==null||i.showGuides(t)),e==="showRule"&&(i==null||i.showRule(t)),state[e]=t}get(e){return state[e]}async zoom(e){this.set("zoom",(this.get("zoom")*100+e*100)/100),this.get("zoom")<.1&&this.set("zoom",.1)}async calcZoom(){const{stageRect:e,stageContainerRect:t}=state,{height:i,width:r}=t;if(!r||!i)return 1;let g=convertToNumber(e.width,r),y=convertToNumber(e.height,i);return g=g+30,y=y+30,r>g&&i>y?1:Math.min((r-60)/g||1,(i-80)/y||1)}resetState(){this.set("showSrc",!1),this.set("uiSelectMode",!1),this.set("zoom",1),this.set("stageContainerRect",{width:0,height:0})}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}async setStageRect(e){state.stageRect={...state.stageRect,...e},state.zoom=await this.calcZoom()}}const uiService=new Ui,root=computed$1(()=>editorService.get("root")),page=computed$1(()=>editorService.get("page")),zoom=computed$1(()=>uiService.get("zoom")||1),uiSelectMode=computed$1(()=>uiService.get("uiSelectMode")),getGuideLineKey=n=>{var e,t;return"".concat(n,"_").concat((e=root.value)==null?void 0:e.id,"_").concat((t=page.value)==null?void 0:t.id)},useStage=n=>{var t,i;const e=new StageCore({render:n.render,runtimeUrl:n.runtimeUrl,zoom:(t=n.zoom)!=null?t:zoom.value,autoScrollIntoView:n.autoScrollIntoView,isContainer:n.isContainer,containerHighlightClassName:n.containerHighlightClassName,containerHighlightDuration:n.containerHighlightDuration,containerHighlightType:n.containerHighlightType,disabledDragStart:n.disabledDragStart,renderType:n.renderType,canSelect:(r,g,y)=>{var L;if(!n.canSelect)return!0;const k=(L=n.canSelect)==null?void 0:L.call(n,r);return uiSelectMode.value&&k&&g.type==="mousedown"?(document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME,{detail:r})),y()):k},moveableOptions:n.moveableOptions,updateDragEl:n.updateDragEl,guidesOptions:n.guidesOptions,disabledMultiSelect:n.disabledMultiSelect,disabledRule:n.disabledRule});return watch(()=>editorService.get("disabledMultiSelect"),r=>{r?e.disableMultiSelect():e.enableMultiSelect()}),(i=e.mask)==null||i.setGuides([getGuideLineFromCache(getGuideLineKey(H_GUIDE_LINE_STORAGE_KEY)),getGuideLineFromCache(getGuideLineKey(V_GUIDE_LINE_STORAGE_KEY))]),e.on("page-el-update",()=>{editorService.set("stageLoading",!1)}),e.on("select",r=>{var y;const g=getIdFromEl()(r);"".concat((y=editorService.get("node"))==null?void 0:y.id)===g&&editorService.get("nodes").length===1||g&&editorService.select(g)}),e.on("highlight",r=>{const g=getIdFromEl()(r);g&&editorService.highlight(g)}),e.on("multi-select",r=>{const g=r.map(y=>getIdFromEl()(y)).filter(y=>!!y);editorService.multiSelect(g)}),e.on("update",r=>{if(r.parentEl){for(const g of r.data){const y=getIdFromEl()(g.el),k=getIdFromEl()(r.parentEl);y&&k&&editorService.moveToContainer({id:y,style:g.style},k)}return}editorService.update(r.data.map(g=>({id:getIdFromEl()(g.el)||"",style:g.style})))}),e.on("sort",r=>{editorService.sort(r.src,r.dist)}),e.on("remove",r=>{const g=r.data.map(({el:y})=>editorService.getNodeById(getIdFromEl()(y)||""));editorService.remove(g.filter(y=>!!y))}),e.on("select-parent",()=>{var g;const r=editorService.get("parent");if(!r)throw new Error("父节点为空");editorService.select(r),(g=editorService.get("stage"))==null||g.select(r.id)}),e.on("change-guides",r=>{if(uiService.set("showGuides",!0),!root.value||!page.value)return;const g=getGuideLineKey(r.type===GuidesType.HORIZONTAL?H_GUIDE_LINE_STORAGE_KEY:V_GUIDE_LINE_STORAGE_KEY);r.guides.length?globalThis.localStorage.setItem(g,JSON.stringify(r.guides)):globalThis.localStorage.removeItem(g)}),e},useFloatBox=n=>{const{uiService:e}=useServices(),t=ref$1(n.value.reduce((z,j)=>({...z,[j]:{status:!1,top:0,left:0}}),{})),i=computed$1(()=>Object.keys(t.value).filter(z=>t.value[z].status)),r={startOffset:{x:0,y:0},isDragging:!1},g=z=>{r.isDragging=!0,r.startOffset.x=z.clientX,r.startOffset.y=z.clientY},y=20,k=(z,j)=>{if(!r.isDragging)return;const{startOffset:ie}=r;if(Math.abs(ie.x-j.clientX)>y||Math.abs(ie.y-j.clientY)>y){const oe=e.get("navMenuRect");t.value[z]={left:j.clientX,top:oe.top+oe.height,status:!0}}r.isDragging=!1},L=z=>{r.isDragging&&z.preventDefault()},V=()=>{r.startOffset.x=0,r.startOffset.y=0,r.isDragging=!1};return globalThis.document.body.addEventListener("dragover",L),globalThis.addEventListener("blur",V),onBeforeUnmount(()=>{globalThis.document.body.removeEventListener("dragover",L),globalThis.removeEventListener("blur",V)}),watch(()=>n.value,z=>{z.forEach(j=>{t.value[j]||(t.value[j]={status:!1,top:0,left:0})})},{deep:!0,immediate:!0}),{dragstartHandler:g,dragendHandler:k,floatBoxStates:t,showingBoxKeys:i}},useWindowRect=()=>{const n=reactive$1({width:globalThis.innerWidth,height:globalThis.innerHeight}),e=()=>{n.width=globalThis.innerWidth,n.height=globalThis.innerHeight};return globalThis.addEventListener("resize",e),onBeforeUnmount(()=>{globalThis.removeEventListener("resize",e)}),{rect:n}},useEditorContentHeight=()=>{const{uiService:n}=useServices(),e=computed$1(()=>n.get("frameworkRect").height),t=computed$1(()=>n.get("navMenuRect").height),i=computed$1(()=>e.value-t.value),r=ref$1(0);return watch(i,()=>{r.value>0&&r.value===i.value||(r.value=i.value)},{immediate:!0}),{height:r}},useFilter=(n,e,t)=>{const i=(g,y)=>{const k=Array.isArray(g)?g:[g];return k.length?k.some(L=>t(L,y)):!0},r=g=>{n.value.length&&n.value.forEach(y=>{traverseNode(y,(k,L)=>{if(!e.value)return;const V=i(g,k);V&&L.length&&L.forEach(z=>{updateStatus(e.value,z.id,{visible:V,expand:!0})}),updateStatus(e.value,k.id,{visible:V})})})};return{filterText:ref$1(""),filterTextChangeHandler(g){r(g)}}},useGetSo=(n,e)=>{let t;const i=ref$1(!1);return onMounted(()=>{n.value&&(t=new Gesto(n.value,{container:window,pinchOutside:!0}).on("drag",r=>{n.value&&e("change",r)}).on("dragStart",()=>{i.value=!0}).on("dragEnd",()=>{i.value=!1}))}),onBeforeUnmount(()=>{t==null||t.unset(),i.value=!1}),{isDragging:i}},useNextFloatBoxPosition=(n,e)=>{const t=ref$1({left:0,top:0});return{boxPosition:t,calcBoxPosition:()=>{var k;const r=n.get("columnWidth"),g=n.get("navMenuRect");let y=(k=r.left)!=null?k:0;if(e!=null&&e.value){const L=e.value.getBoundingClientRect();y=L.left+L.width}t.value={left:y,top:g.top+g.height}}}},createPageNodeStatus$1=(n,e)=>{const t=new Map;return n.forEach(i=>traverseNode(i,r=>{t.set(r.id,(e==null?void 0:e.get(r.id))||{visible:!0,expand:!1,selected:!1,draggable:!1})})),t},useNodeStatus$1=n=>{const e=ref$1(new Map);return watch(n,t=>{e.value=createPageNodeStatus$1(t,e.value)},{immediate:!0,deep:!0}),{nodeStatusMap:e}},_hoisted_1$10={class:"m-editor-data-source-fields"},_hoisted_2$o={class:"m-editor-data-source-fields-footer"},_sfc_main$2W=defineComponent({name:"MFieldsDataSourceFields",__name:"DataSourceFields",props:mergeModels({config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{},visible1:{type:Boolean,default:!1},visible1Modifiers:{}}),emits:mergeModels(["change"],["update:width","update:visible","update:visible1"]),setup(n,{emit:e}){const t=n,i=e,{uiService:r}=useServices(),g=ref$1({}),y=ref$1(""),k=useModel(n,"width"),L=()=>{g.value={},y.value="新增属性",xe(),ue.value=!0},V=({index:Ie,...Ne},Fe)=>{if(ue.value=!1,Ie>-1)i("change",Ne,{modifyKey:Ie,changeRecords:(Fe.changeRecords||[]).map(Ve=>({propPath:"".concat(t.prop,".").concat(Ie,".").concat(Ve.propPath),value:Ve.value}))});else{const Ve=t.model[t.name].length;i("change",Ne,{modifyKey:Ve,changeRecords:[{propPath:"".concat(t.prop,".").concat(Ve),value:Ne}]})}},z=[{label:"属性名称",prop:"title"},{label:"属性key",prop:"name"},{label:"属性描述",prop:"description"},{label:"默认值",prop:"defaultValue",formatter(Ie,Ne){try{return JSON.stringify(Ne.defaultValue)}catch(Fe){return error(Fe),Ne.defaultValue}}},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(Ie,Ne)=>{g.value={...Ie,index:Ne},y.value="编辑".concat(Ie.title),xe(),ue.value=!0}},{text:"删除",buttonType:"danger",handler:async(Ie,Ne)=>{await tMagicMessageBox.confirm("确定删除".concat(Ie.title,"(").concat(Ie.name,")?"),"提示"),t.model[t.name].splice(Ne,1),i("change",t.model[t.name])}}]}],j=[{name:"index",type:"hidden",filter:"number",defaultValue:-1},{name:"type",text:"数据类型",type:"select",defaultValue:"string",options:[{text:"字符串",value:"string"},{text:"数字",value:"number"},{text:"布尔值",value:"boolean"},{text:"对象",value:"object"},{text:"数组",value:"array"},{text:"null",value:"null"},{text:"any",value:"any"}],onChange:(Ie,Ne,{setModel:Fe})=>(["any","array","object"].includes(Ne)||Fe("fields",[]),Ne)},{name:"name",text:"字段名称",rules:[{required:!0,message:"请输入字段名称"},{validator:({value:Ie,callback:Ne},{model:Fe,parent:Ve})=>{const Oe=Ve.findIndex(ze=>ze.name===Ie);if(Fe.index===-1&&Oe>-1||Fe.index>-1&&Oe>-1&&Oe!==Fe.index)return Ne("属性key(".concat(Ie,")已存在"));Ne()}}]},{name:"title",text:"展示名称",rules:[{required:!0,message:"请输入展示名称"}]},{name:"description",text:"描述",type:"textarea"},{name:"defaultValue",text:"默认值",height:"200px",parse:!0,type:(Ie,{model:Ne})=>Ne.type==="number"?"number":Ne.type==="boolean"?"select":Ne.type==="string"?"text":"vs-code",options:[{text:"true",value:!0},{text:"false",value:!1}]},{name:"enable",text:"是否可用",type:"switch",defaultValue:!0},{name:"fields",type:"data-source-fields",defaultValue:[],display:(Ie,{model:Ne})=>Ne.type==="object"||Ne.type==="array"}],ie=[{name:"data",type:"vs-code",labelWidth:"0",language:"json",height:"600px",options:inject("codeOptions",{})}],oe=ref$1({data:{}}),re=()=>{oe.value.data=getDefaultValueFromFields(t.model[t.name]),xe(),he.value=!0},ae=Ie=>Array.isArray(Ie)?"array":Ie===null?"null":typeof Ie=="object"?"object":typeof Ie=="number"?"number":typeof Ie=="boolean"?"boolean":typeof Ie=="string"?"string":"any",le=(Ie,Ne=[])=>{if(!Ie||typeof Ie!="object")throw new Error("数据格式错误");const Fe=[];return Object.entries(Ie).forEach(([Ve,Oe])=>{var Et;const ze=ae(Oe),qe=Ne.find(At=>At.name===Ve);let Ue=[];Array.isArray(Oe)&&Oe.length>0?Ue=le(Oe[0],qe==null?void 0:qe.fields):ze==="object"&&(Ue=le(Oe,qe==null?void 0:qe.fields)),Fe.push({name:Ve,title:(qe==null?void 0:qe.title)||Ve,type:ze,description:(qe==null?void 0:qe.description)||"",enable:(Et=qe==null?void 0:qe.enable)!=null?Et:!0,defaultValue:Oe,fields:Ue})}),Fe},de=({data:Ie})=>{try{const Ne=JSON.parse(Ie);he.value=!1,i("change",le(Ne,t.model[t.name]))}catch(Ne){tMagicMessage.error(Ne.message)}},ue=useModel(n,"visible"),he=useModel(n,"visible1"),{height:pe}=useEditorContentHeight(),Ce=inject("parentFloating",ref$1(null)),{boxPosition:$e,calcBoxPosition:xe}=useNextFloatBoxPosition(r,Ce);return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$10,[createVNode(unref(_sfc_main$34),{data:Ie.model[Ie.name],columns:z},null,8,["data"]),createBaseVNode("div",_hoisted_2$o,[createVNode(unref(_sfc_main$4q),{size:"small",disabled:Ie.disabled,plain:"",onClick:Ne[0]||(Ne[0]=Fe=>re())},{default:withCtx(()=>Ne[8]||(Ne[8]=[createTextVNode("快速添加")])),_:1,__:[8]},8,["disabled"]),createVNode(unref(_sfc_main$4q),{size:"small",type:"primary",disabled:Ie.disabled,plain:"",onClick:Ne[1]||(Ne[1]=Fe=>L())},{default:withCtx(()=>Ne[9]||(Ne[9]=[createTextVNode("添加")])),_:1,__:[9]},8,["disabled"])]),createVNode(_sfc_main$2X,{visible:ue.value,"onUpdate:visible":Ne[2]||(Ne[2]=Fe=>ue.value=Fe),width:k.value,"onUpdate:width":Ne[3]||(Ne[3]=Fe=>k.value=Fe),height:unref(pe),"onUpdate:height":Ne[4]||(Ne[4]=Fe=>isRef(pe)?pe.value=Fe:null),title:y.value,position:unref($e)},{body:withCtx(()=>[createVNode(unref(_sfc_main$3a),{"label-width":"80px",title:y.value,config:j,values:g.value,parentValues:Ie.model[Ie.name],disabled:Ie.disabled,onSubmit:V},null,8,["title","values","parentValues","disabled"])]),_:1},8,["visible","width","height","title","position"]),createVNode(_sfc_main$2X,{visible:he.value,"onUpdate:visible":Ne[5]||(Ne[5]=Fe=>he.value=Fe),width:k.value,"onUpdate:width":Ne[6]||(Ne[6]=Fe=>k.value=Fe),height:unref(pe),"onUpdate:height":Ne[7]||(Ne[7]=Fe=>isRef(pe)?pe.value=Fe:null),title:"快速添加数据定义",position:unref($e)},{body:withCtx(()=>[createVNode(unref(_sfc_main$3a),{config:ie,values:oe.value,disabled:Ie.disabled,onSubmit:de},null,8,["values","disabled"])]),_:1},8,["visible","width","height","position"])]))}}),_hoisted_1$$={class:"m-editor-data-source-field-select"},_sfc_main$2V=defineComponent({__name:"FieldSelect",props:mergeModels({value:{},disabled:{type:Boolean},checkStrictly:{type:Boolean},size:{},dataSourceFieldType:{},notEditable:{type:[Boolean,Function]}},{modelValue:{default:[]},modelModifiers:{}}),emits:mergeModels(["change"],["update:modelValue"]),setup(n,{emit:e}){var xe;const t=n,i=e,r=useModel(n,"modelValue"),g=(xe=getDesignConfig("components"))==null?void 0:xe.option,{dataSourceService:y,uiService:k}=useServices(),L=inject("mForm"),V=inject("eventBus"),z=computed$1(()=>y.get("dataSources")||[]),j=computed$1(()=>t.value==="key"),ie=computed$1(()=>filterFunction(L,t.notEditable,t)),oe=computed$1(()=>z.value.map(Ie=>({text:Ie.title||Ie.id,value:j.value?Ie.id:"".concat(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX).concat(Ie.id)}))),re=ref$1(""),ae=ref$1([]);watch(r,Ie=>{if(Array.isArray(Ie)){const[Ne,...Fe]=Ie;re.value=Ne,ae.value=Fe}else re.value="",ae.value=[]},{immediate:!0});const le=computed$1(()=>{const Ie=z.value.find(Ne=>Ne.id===removeDataSourceFieldPrefix(re.value));return Ie?getCascaderOptionsFromFields(Ie.fields,t.dataSourceFieldType):[]}),de=computed$1(()=>{var Ne;return(((Ne=z.value)==null?void 0:Ne.map(Fe=>({label:Fe.title||Fe.id,value:j.value?Fe.id:"".concat(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX).concat(Fe.id),children:getCascaderOptionsFromFields(Fe.fields,t.dataSourceFieldType)})))||[]).filter(Fe=>Fe.children.length)}),ue=Ie=>{r.value=[Ie],i("change",r.value)},he=(Ie=[])=>{r.value=[re.value,...Ie],i("change",r.value)},pe=(Ie=[])=>{r.value=Ie,i("change",Ie)},Ce=computed$1(()=>k.get("sideBarItems").find(Ie=>Ie.$key===SideItemKey.DATA_SOURCE)),$e=Ie=>{V==null||V.emit("edit-data-source",removeDataSourceFieldPrefix(Ie))};return(Ie,Ne)=>(openBlock(),createElementBlock("div",_hoisted_1$$,[Ie.checkStrictly?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$3$),{"model-value":re.value,clearable:"",filterable:"",size:Ie.size,disabled:Ie.disabled,onChange:ue},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(oe.value,Fe=>{var Ve,Oe;return openBlock(),createBlock(resolveDynamicComponent(((Ve=unref(g))==null?void 0:Ve.component)||"el-option"),mergeProps({class:"tmagic-design-option",key:Fe.value},{ref_for:!0},((Oe=unref(g))==null?void 0:Oe.props({label:Fe.text,value:Fe.value,disabled:Fe.disabled}))||{label:Fe.text,value:Fe.value,disabled:Fe.disabled}),null,16)}),128))]),_:1},8,["model-value","size","disabled"]),createVNode(unref(_sfc_main$4o),{"model-value":ae.value,clearable:"",filterable:"",size:Ie.size,disabled:Ie.disabled,options:le.value,props:{checkStrictly:Ie.checkStrictly},onChange:he},null,8,["model-value","size","disabled","options","props"])],64)):(openBlock(),createBlock(unref(_sfc_main$4o),{key:1,clearable:"",filterable:"","model-value":r.value,disabled:Ie.disabled,size:Ie.size,options:de.value,props:{checkStrictly:Ie.checkStrictly},onChange:pe},null,8,["model-value","disabled","size","options","props"])),re.value&&Ce.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:2,content:ie.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{class:"m-fields-select-action-button",size:Ie.size,onClick:Ne[0]||(Ne[0]=Fe=>$e(re.value))},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:ie.value?unref(view_default$1):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("",!0)]))}}),_hoisted_1$_={class:"m-fields-data-source-field-select"},_sfc_main$2U=defineComponent({name:"MFieldsDataSourceFieldSelect",__name:"Index",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,i=n,r=ref$1(!1);watch(()=>i.model[i.name],re=>{Array.isArray(re)&&typeof re[0]=="string"&&re[0].startsWith(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX)?r.value=!0:r.value=!1},{immediate:!0});const{dataSourceService:g,propsService:y}=useServices(),k=inject("mForm"),L=computed$1(()=>g.get("dataSources")||[]),V=computed$1(()=>y.getDisabledDataSource()),z=computed$1(()=>{var ae;let re=(ae=i.config.fieldConfig)==null?void 0:ae.type;return typeof re=="function"&&(re=re(k,{model:i.model})),re==="form"||re==="container"?"":(re==null?void 0:re.replace(/([A-Z])/g,"-$1").toLowerCase())||(i.config.items?"":"text")}),j=computed$1(()=>{const re=resolveComponent("m-".concat(i.config.items?"form":"fields","-").concat(z.value));return typeof re!="string"?re:"m-fields-text"}),ie=computed$1(()=>{let re;if(typeof i.config.checkStrictly!="function")re=i.config.checkStrictly;else{const ae=removeDataSourceFieldPrefix(i.model[0]),le=L.value.find(de=>de.id===ae);re=i.config.checkStrictly(k,{values:(k==null?void 0:k.initValues)||{},model:i.model,parent:(k==null?void 0:k.parentValues)||{},formValue:(k==null?void 0:k.values)||i.model,prop:i.prop,config:i.config,dataSource:le})}return re!=null?re:i.config.value==="key"}),oe=(re,ae)=>{if(!Array.isArray(re)){t("change",re,ae);return}const[le,...de]=re,ue=L.value.find($e=>$e.id===removeDataSourceFieldPrefix(le));if(!ue){t("change",re,ae);return}let he=ue.fields||[],pe;(de||[]).forEach($e=>{pe=he.find(xe=>xe.name===$e),he=(pe==null?void 0:pe.fields)||[]});const Ce=i.config.dataSourceFieldType||["any"];Ce.length||Ce.push("any"),!de.length||pe!=null&&pe.type&&(pe.type==="any"||Ce.includes("any")||Ce.includes(pe.type))?t("change",re,ae):(tMagicMessage.error("请选择类型为".concat(Ce.join("或"),"的字段")),t("change",[le],ae))};return(re,ae)=>(openBlock(),createElementBlock("div",_hoisted_1$_,[!V.value&&(r.value||!re.config.fieldConfig)?(openBlock(),createBlock(_sfc_main$2V,{key:0,"model-value":re.model[re.name],disabled:re.disabled,size:re.size,value:re.config.value,checkStrictly:ie.value,dataSourceFieldType:re.config.dataSourceFieldType,onChange:oe},null,8,["model-value","disabled","size","value","checkStrictly","dataSourceFieldType"])):(openBlock(),createBlock(resolveDynamicComponent(j.value),{key:1,config:re.config.fieldConfig,model:re.model,name:re.name,disabled:re.disabled,size:re.size,"last-values":re.lastValues,"init-values":re.initValues,values:re.values,prop:re.prop,onChange:oe},null,40,["config","model","name","disabled","size","last-values","init-values","values","prop"])),re.config.fieldConfig&&!V.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:2,disabled:r.value,content:"选择数据源"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{style:{"margin-left":"5px"},type:r.value?"primary":"default",size:re.size,onClick:ae[0]||(ae[0]=le=>r.value=!r.value)},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(coin_default$1)},null,8,["icon"])]),_:1},8,["type","size"])]),_:1},8,["disabled"])):createCommentVNode("",!0)]))}}),_hoisted_1$Z={style:{display:"flex","flex-direction":"column","line-height":"1.2em"}},_hoisted_2$n={style:{"font-size":"10px",color:"rgba(0, 0, 0, 0.6)"}},_hoisted_3$8={class:"el-input__inner t-input__inner"},_sfc_main$2T=defineComponent({name:"MFieldsDataSourceInput",__name:"DataSourceInput",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,{dataSourceService:r,propsService:g}=useServices(),y=useTemplateRef("autocomplete"),k=ref$1(!1),L=ref$1(""),V=ref$1([]),z=computed$1(()=>{var Ve,Oe;return(Oe=(Ve=y.value)==null?void 0:Ve.inputRef)==null?void 0:Oe.input}),j=computed$1(()=>r.get("dataSources")),ie=computed$1(()=>g.getDisabledDataSource()),oe=()=>{V.value=getDisplayField(j.value,L.value)};watch(()=>t.model[t.name],(Ve="")=>{L.value=Ve,oe()},{immediate:!0});const re=async()=>{var qe;const Ve=globalThis.document.getSelection(),Oe=(Ve==null?void 0:Ve.anchorOffset)||0,ze=(Ve==null?void 0:Ve.focusOffset)||0;k.value=!0,await nextTick(),(qe=y.value)==null||qe.focus(),ze&&z.value&&z.value.setSelectionRange(Oe,ze)},ae=()=>{k.value=!1,oe(),i("change",L.value)},le=Ve=>{i("change",Ve)};let de="";const ue=Ve=>{Ve||(de=Ve)},he=(Ve=0)=>de.substring(Ve-1,Ve)==="}",pe=()=>{var Oe;let Ve=((Oe=z.value)==null?void 0:Oe.selectionStart)||0;return he(Ve)&&(Ve-=1),Ve},Ce=Ve=>Ve>0&&Ve===pe()-1,$e=Ve=>Ve>-1&&Ve===pe()-1,xe=(Ve,Oe,ze)=>{let qe=[];if(Ce(Oe))qe=j.value;else if(Oe>0){const Ue=Ve.substring(Oe+1).toLowerCase();qe=j.value.filter(Et=>{var At;return((At=Et.title)==null?void 0:At.toLowerCase().includes(Ue))||Et.id.includes(Ue)})}ze(qe.map(Ue=>({value:Ue.id,text:Ue.title,type:"dataSource"})))},Ie=(Ve,Oe,ze,qe)=>{let Ue=[];const Et=Ve.substring(Oe+1,ze),At=getKeysArray(Et),Lt=At.shift(),kt=j.value.find(ri=>ri.id===Lt);if(!kt){qe([]);return}let ei=kt.fields||[],jt=At.shift();for(;jt;){if(isNumber$6(jt)){jt=At.shift();continue}for(const ri of ei)if(ri.name===jt){ei=ri.fields||[],jt=At.shift();break}}if($e(ze))Ue=ei||[];else if(ze>-1){const ri=Ve.substring(ze+1).toLowerCase();Ue=ei.filter(ni=>{var Ci,wi;return((Ci=ni.name)==null?void 0:Ci.toLowerCase().includes(ri))||((wi=ni.title)==null?void 0:wi.toLowerCase().includes(ri))})||[]}qe(Ue.map(ri=>({value:ri.name,text:ri.title,type:"field"})))},Ne=(Ve,Oe)=>{de=Ve;const ze=pe(),qe=Ve.substring(0,ze),Ue=qe.lastIndexOf("."),Et=qe.lastIndexOf("${")+1;Ue>Et?Ie(qe,Et,Ue,Oe):xe(qe,Et,Oe)},Fe=async({value:Ve,type:Oe})=>{var jt,ri;const ze=Oe==="dataSource",qe=((jt=z.value)==null?void 0:jt.selectionStart)||0;let Ue=de.substring(0,qe);const Et=Ue.lastIndexOf("."),At=Ue.lastIndexOf("${")+1,Lt=de.substring(qe);let kt=Ve;ze?(Ce(At)||(Ue=Ue.substring(0,At+1)),he(qe+1)||(kt="".concat(kt,"}"))):$e(Et)||(Ue=Ue.substring(0,Et+1)),L.value="".concat(Ue).concat(kt).concat(Lt),await nextTick();let ei=0;ze?ei=At+kt.length:ei=Et+kt.length+1,(ri=z.value)==null||ri.setSelectionRange(ei,ei),le(L.value)};return(Ve,Oe)=>{var ze,qe,Ue;return ie.value?(openBlock(),createBlock(unref(_sfc_main$48),{key:0,modelValue:L.value,"onUpdate:modelValue":Oe[0]||(Oe[0]=Et=>L.value=Et),disabled:Ve.disabled,size:Ve.size,clearable:!0,onChange:le},null,8,["modelValue","disabled","size"])):Ve.disabled||k.value?(openBlock(),createBlock(resolveDynamicComponent(((ze=unref(getDesignConfig)("components"))==null?void 0:ze.autocomplete.component)||"el-autocomplete"),mergeProps({key:1,class:"tmagic-design-auto-complete",ref:"autocomplete",modelValue:L.value,"onUpdate:modelValue":Oe[1]||(Oe[1]=Et=>L.value=Et)},((qe=unref(getDesignConfig)("components"))==null?void 0:qe.autocomplete.props({disabled:Ve.disabled,size:Ve.size,fetchSuggestions:Ne,triggerOnFocus:!1,clearable:!0}))||{},{style:{width:"100%"},onBlur:ae,onInput:ue,onSelect:Fe}),{suffix:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(coin_default$1)},null,8,["icon"])]),default:withCtx(({item:Et})=>[createBaseVNode("div",_hoisted_1$Z,[createBaseVNode("div",null,toDisplayString(Et.text),1),createBaseVNode("span",_hoisted_2$n,toDisplayString(Et.value),1)])]),_:1},16,["modelValue"])):(openBlock(),createElementBlock("div",{key:2,class:normalizeClass("tmagic-data-source-input-text el-input t-input t-size-".concat((Ue=Ve.size)==null?void 0:Ue[0]," el-input--").concat(Ve.size)),onMouseup:re},[createBaseVNode("div",{class:normalizeClass("tmagic-data-source-input-text-wrapper el-input__wrapper ".concat(k.value?" is-focus":""))},[createBaseVNode("div",_hoisted_3$8,[(openBlock(!0),createElementBlock(Fragment,null,renderList(V.value,(Et,At)=>(openBlock(),createElementBlock(Fragment,null,[Et.type==="text"?(openBlock(),createElementBlock("span",{key:At,style:{"margin-right":"2px"}},toDisplayString(Et.value),1)):createCommentVNode("",!0),Et.type==="var"?(openBlock(),createBlock(unref(_sfc_main$3T),{key:At,size:Ve.size},{default:withCtx(()=>[createTextVNode(toDisplayString(Et.value),1)]),_:2},1032,["size"])):createCommentVNode("",!0)],64))),256)),createVNode(_sfc_main$33,{class:"tmagic-data-source-input-icon",icon:unref(coin_default$1)},null,8,["icon"])])],2)],34))}}}),_hoisted_1$Y={style:{display:"flex","margin-bottom":"10px"}},_hoisted_2$m={style:{flex:"1"}},_hoisted_3$7={style:{flex:"1"}},_hoisted_4$6={class:"dialog-footer"},_sfc_main$2S=defineComponent({name:"MEditorCodeBlockEditor",__name:"CodeBlockEditor",props:mergeModels({content:{},disabled:{type:Boolean},isDataSource:{type:Boolean},dataSourceType:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:mergeModels(["submit","close","open"],["update:width","update:visible"]),setup(n,{expose:e,emit:t}){const i=useModel(n,"width"),r=useModel(n,"visible"),g=n,y=t,{codeBlockService:k,uiService:L}=useServices(),{height:V}=useEditorContentHeight(),z=ref$1(!1),{rect:j}=useWindowRect(),ie=useTemplateRef("magicVsEditor"),oe=()=>{var Fe;!ie.value||!((Fe=ue.value)!=null&&Fe.form)||(ue.value.form.values.content=ie.value.getEditorValue(),z.value=!1)},re={type:"row",label:"参数类型",items:[{text:"参数类型",labelWidth:"70px",type:"select",name:"type",options:[{text:"数字",label:"数字",value:"number"},{text:"字符串",label:"字符串",value:"text"},{text:"组件",label:"组件",value:"ui-select"}]}]},ae=computed$1(()=>[{text:"名称",name:"name",rules:[{required:!0,message:"请输入名称",trigger:"blur"}]},{text:"描述",name:"desc"},{text:"执行时机",name:"timing",type:"select",options:()=>{const Fe=[{text:"初始化前",value:"beforeInit"},{text:"初始化后",value:"afterInit"}];return g.dataSourceType!=="base"&&(Fe.push({text:"请求前",value:"beforeRequest"}),Fe.push({text:"请求后",value:"afterRequest"})),Fe},display:()=>g.isDataSource},{type:"table",border:!0,text:"参数",enableFullscreen:!1,enableToggleMode:!1,name:"params",dropSort:!1,items:[{type:"text",label:"参数名",name:"name"},{type:"text",label:"描述",name:"extra"},k.getParamsColConfig()||re]},{name:"content",type:"vs-code",options:inject("codeOptions",{}),height:"500px",onChange:(Fe,Ve)=>{try{return getEditorConfig("parseDSL")(Ve),Ve}catch(Oe){throw tMagicMessage.error(Oe.message),Oe}}}]),le=(Fe,Ve)=>{he.value=void 0,y("submit",Fe,Ve)},de=Fe=>{tMagicMessage.error(Fe.message)},ue=useTemplateRef("formBox"),he=ref$1(),pe=Fe=>{he.value=Fe},Ce=Fe=>{if(!he.value){Fe();return}tMagicMessageBox.confirm("当前代码块已修改,是否保存?","提示",{confirmButtonText:"保存并关闭",cancelButtonText:"不保存并关闭",type:"warning",distinguishCancelAndClose:!0}).then(()=>{var Ve,Oe;he.value&&le(he.value,{changeRecords:(Oe=(Ve=ue.value)==null?void 0:Ve.form)==null?void 0:Oe.changeRecords}),Fe()}).catch(Ve=>{Fe(Ve==="cancel")})},$e=()=>{he.value=void 0},xe=inject("parentFloating",ref$1(null)),{boxPosition:Ie,calcBoxPosition:Ne}=useNextFloatBoxPosition(L,xe);return watch(r,Fe=>{nextTick(()=>{y(Fe?"open":"close")})}),e({async show(){Ne(),r.value=!0},async hide(){r.value=!1}}),(Fe,Ve)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(_sfc_main$2X,{visible:r.value,"onUpdate:visible":Ve[1]||(Ve[1]=Oe=>r.value=Oe),width:i.value,"onUpdate:width":Ve[2]||(Ve[2]=Oe=>i.value=Oe),height:unref(V),"onUpdate:height":Ve[3]||(Ve[3]=Oe=>isRef(V)?V.value=Oe:null),title:Fe.content.name?"".concat(Fe.disabled?"查看":"编辑").concat(Fe.content.name):"新增代码",position:unref(Ie),"before-close":Ce},{body:withCtx(()=>[createVNode(unref(_sfc_main$3a),{class:"m-editor-code-block-editor",ref_key:"formBox",ref:ue,"label-width":"80px","close-on-press-escape":!1,title:Fe.content.name,config:ae.value,values:Fe.content,disabled:Fe.disabled,style:{height:"100%"},onChange:pe,onSubmit:le,onError:de,onClosed:$e},{left:withCtx(()=>[Fe.disabled?createCommentVNode("",!0):(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,type:"primary",link:"",onClick:Ve[0]||(Ve[0]=Oe=>z.value=!0)},{default:withCtx(()=>Ve[6]||(Ve[6]=[createTextVNode("查看修改")])),_:1,__:[6]}))]),_:1},8,["title","config","values","disabled"])]),_:1},8,["visible","width","height","title","position"]),(openBlock(),createBlock(Teleport$2,{to:"body"},[createVNode(unref(_sfc_main$4g),{title:"查看修改",modelValue:z.value,"onUpdate:modelValue":Ve[5]||(Ve[5]=Oe=>z.value=Oe),fullscreen:"","destroy-on-close":""},{footer:withCtx(()=>[createBaseVNode("span",_hoisted_4$6,[createVNode(unref(_sfc_main$4q),{size:"small",onClick:Ve[4]||(Ve[4]=Oe=>z.value=!1)},{default:withCtx(()=>Ve[9]||(Ve[9]=[createTextVNode("取消")])),_:1,__:[9]}),createVNode(unref(_sfc_main$4q),{size:"small",type:"primary",onClick:oe},{default:withCtx(()=>Ve[10]||(Ve[10]=[createTextVNode("确定")])),_:1,__:[10]})])]),default:withCtx(()=>{var Oe,ze;return[createBaseVNode("div",_hoisted_1$Y,[createBaseVNode("div",_hoisted_2$m,[createVNode(unref(_sfc_main$3T),{size:"small",type:"info"},{default:withCtx(()=>Ve[7]||(Ve[7]=[createTextVNode("修改前")])),_:1,__:[7]})]),createBaseVNode("div",_hoisted_3$7,[createVNode(unref(_sfc_main$3T),{size:"small",type:"success"},{default:withCtx(()=>Ve[8]||(Ve[8]=[createTextVNode("修改后")])),_:1,__:[8]})])]),createVNode(_sfc_main$32,{ref:"magicVsEditor",type:"diff",language:"json","disabled-full-screen":!0,initValues:Fe.content.content,modifiedValues:(ze=(Oe=ue.value)==null?void 0:Oe.form)==null?void 0:ze.values.content,height:"".concat(unref(j).height-150,"px")},null,8,["initValues","modifiedValues","height"])]}),_:1},8,["modelValue"])]))],64))}}),_hoisted_1$X={class:"m-editor-data-source-methods"},_hoisted_2$l={class:"m-editor-data-source-methods-footer"},_sfc_main$2R=defineComponent({name:"MFieldsDataSourceMethods",__name:"DataSourceMethods",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r=ref$1(),g=useTemplateRef("codeBlockEditor");let y=-1;const k=[{label:"名称",prop:"name"},{label:"描述",prop:"desc"},{label:"执行时机",prop:"timing"},{label:"参数",prop:"params",formatter:(z=[])=>z.map(j=>j.name).join(", ")},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(z,j)=>{let ie=z.content||"({ params, dataSource, app }) => {\n // place your code here\n}";typeof ie!="string"&&(ie=ie.toString()),r.value={...cloneDeep(z),content:ie},y=j,nextTick(()=>{var oe;(oe=g.value)==null||oe.show()})}},{text:"删除",buttonType:"danger",handler:async(z,j)=>{await tMagicMessageBox.confirm("确定删除".concat(z.name,"?"),"提示"),t.model[t.name].splice(j,1),i("change",t.model[t.name])}}]}],L=()=>{r.value={name:"",content:"({ params, dataSource, app, flowState }) => {\n // place your code here\n}",params:[]},y=-1,nextTick(()=>{var z;(z=g.value)==null||z.show()})},V=(z,j)=>{var ie;if(z.content){const oe=getEditorConfig("parseDSL");typeof z.content=="string"&&(z.content=oe(z.content))}if(y>-1)i("change",z,{modifyKey:y,changeRecords:(j.changeRecords||[]).map(oe=>({propPath:"".concat(t.prop,".").concat(y,".").concat(oe.propPath),value:oe.value}))});else{const oe=t.model[t.name].length;i("change",z,{modifyKey:oe,changeRecords:[{propPath:"".concat(t.prop,".").concat(oe),value:z}]})}y=-1,r.value=void 0,(ie=g.value)==null||ie.hide()};return(z,j)=>(openBlock(),createElementBlock("div",_hoisted_1$X,[createVNode(unref(_sfc_main$34),{data:z.model[z.name],columns:k},null,8,["data"]),createBaseVNode("div",_hoisted_2$l,[createVNode(unref(_sfc_main$4q),{size:"small",type:"primary",disabled:z.disabled,plain:"",onClick:L},{default:withCtx(()=>j[0]||(j[0]=[createTextVNode("添加")])),_:1,__:[0]},8,["disabled"])]),r.value?(openBlock(),createBlock(_sfc_main$2S,{key:0,ref:"codeBlockEditor",disabled:z.disabled,content:r.value,"is-data-source":!0,"data-source-type":z.model.type,onSubmit:V},null,8,["disabled","content","data-source-type"])):createCommentVNode("",!0)]))}}),_hoisted_1$W={class:"m-fields-data-source-method-select"},_hoisted_2$k={class:"data-source-method-select-container"},_sfc_main$2Q=defineComponent({name:"MFieldsDataSourceMethodSelect",__name:"DataSourceMethodSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const{dataSourceService:t,uiService:i}=useServices(),r=inject("mForm"),g=inject("eventBus"),y=e,k=n,L=computed$1(()=>(i.get("sideBarItems")||[]).find(he=>he.$key===SideItemKey.DATA_SOURCE)),V=computed$1(()=>filterFunction(r,k.config.notEditable,k)),z=computed$1(()=>t.get("dataSources")),j=computed$1(()=>{const[he,pe]=k.model[k.name],Ce=t.getDataSourceById(he);return!!(Ce!=null&&Ce.methods.find($e=>$e.name===pe))}),ie=([he,pe]=["",""])=>{var $e,xe,Ie,Ne;if(!he)return[];const Ce=(Ne=(Ie=(xe=($e=z.value)==null?void 0:$e.find(Fe=>Fe.id===he))==null?void 0:xe.methods)==null?void 0:Ie.find(Fe=>Fe.name===pe))==null?void 0:Ne.params;return Ce?Ce.map(Fe=>({text:Fe.name,...Fe})):[]},oe=ref$1(ie(k.model[k.name||"dataSourceMethod"])),re=(he,pe={},Ce)=>{oe.value=he?ie(he):[],oe.value.length?Ce("params",createValues(pe,oe.value,{},k.model.params)):Ce("params",{})},ae=computed$1(()=>{var he,pe;return((pe=(he=z.value)==null?void 0:he.filter(Ce=>{var $e;return(($e=Ce.methods)==null?void 0:$e.length)||t.getFormMethod(Ce.type).length}))==null?void 0:pe.map(Ce=>({label:Ce.title||Ce.id,value:Ce.id,children:[...(t==null?void 0:t.getFormMethod(Ce.type))||[],...(Ce.methods||[]).map($e=>({label:$e.name,value:$e.name}))]})))||[]}),le=computed$1(()=>({type:"cascader",name:k.name,options:ae.value,disable:k.disabled,onChange:(he,pe,{setModel:Ce})=>(re(pe,he,Ce),pe)})),de=he=>{k.model.params=he.params,y("change",k.model)},ue=()=>{const[he]=k.model[k.name];t.getDataSourceById(he)&&(g==null||g.emit("edit-data-source",he))};return(he,pe)=>(openBlock(),createElementBlock("div",_hoisted_1$W,[createBaseVNode("div",_hoisted_2$k,[createVNode(unref(_sfc_main$3P),{class:"select",config:le.value,model:he.model,size:he.size,onChange:de},null,8,["config","model","size"]),he.model[he.name]&&j.value&&L.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,content:V.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{class:"m-fields-select-action-button",size:he.size,onClick:ue},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:V.value?unref(view_default$1):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("",!0)]),oe.value.length?(openBlock(),createBlock(_sfc_main$2_,{key:0,name:"params",model:he.model,size:he.size,disabled:he.disabled,"params-config":oe.value,onChange:de},null,8,["model","size","disabled","params-config"])):createCommentVNode("",!0)]))}}),_hoisted_1$V={class:"m-editor-data-source-fields"},_hoisted_2$j={class:"m-editor-data-source-fields-footer"},_sfc_main$2P=defineComponent({name:"MFieldsDataSourceMocks",__name:"DataSourceMocks",props:mergeModels({config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},{width:{default:670},widthModifiers:{},visible:{type:Boolean,default:!1},visibleModifiers:{}}),emits:mergeModels(["change"],["update:width","update:visible"]),setup(n,{emit:e}){const t=n,i=e,{uiService:r}=useServices(),g=useModel(n,"width"),y=ref$1(""),k=ref$1({}),L=[{name:"index",type:"hidden",filter:"number",defaultValue:-1},{name:"title",text:"名称",rules:[{required:!0,message:"请输入字段名称"},{required:!0,message:"请输入名称"}]},{name:"description",text:"描述"},{name:"enable",text:"启用",type:"switch"},{name:"useInEditor",text:"编辑器中使用",type:"switch"},{name:"data",text:"mock数据",type:"vs-code",language:"json",options:inject("codeOptions",{}),defaultValue:"{}",height:"400px",onChange:(ue,he)=>typeof he!="string"?he:JSON.parse(he),rules:[{validator:({value:ue,callback:he})=>{if(typeof ue!="string")return he();try{JSON.parse(ue),he()}catch(pe){he(pe)}}}]}],V=[{type:"expand",component:_sfc_main$32,props:ue=>({initValues:ue.data,language:"json",height:"150px",options:{readOnly:!0}})},{label:"名称",prop:"title"},{label:"描述",prop:"description"},{label:"是否启用",prop:"enable",type:"component",component:_sfc_main$3Y,props:ue=>({modelValue:ue.enable,activeValue:!0,inactiveValue:!1}),listeners:(ue,he)=>({"update:modelValue":pe=>{ie(ue,"enable",pe,he)}})},{label:"编辑器中使用",prop:"useInEditor",type:"component",component:_sfc_main$3Y,props:ue=>({modelValue:ue.useInEditor,activeValue:!0,inactiveValue:!1}),listeners:(ue,he)=>({"update:modelValue":pe=>{ie(ue,"useInEditor",pe,he)}})},{label:"操作",fixed:"right",actions:[{text:"编辑",handler:(ue,he)=>{k.value={...ue,index:he},y.value="编辑".concat(ue.title),de(),oe.value=!0}},{text:"删除",buttonType:"danger",handler:async(ue,he)=>{await tMagicMessageBox.confirm("确定删除".concat(ue.title,"?"),"提示"),t.model[t.name].splice(he,1),i("change",t.model[t.name])}}]}],z=()=>{const ue=t.model[t.name].length===0;k.value={data:getDefaultValueFromFields(t.model.fields||[]),useInEditor:ue,enable:ue},y.value="新增Mock",de(),oe.value=!0},j=({index:ue,...he})=>{ue>-1?t.model[t.name][ue]=he:t.model[t.name].push(he),oe.value=!1,i("change",t.model[t.name])},ie=(ue,he,pe,Ce)=>{pe&&t.model[t.name].forEach($e=>{$e[he]=!1}),j({...ue,[he]:pe,index:Ce})},oe=useModel(n,"visible"),{height:re}=useEditorContentHeight(),ae=inject("parentFloating",ref$1(null)),{boxPosition:le,calcBoxPosition:de}=useNextFloatBoxPosition(r,ae);return(ue,he)=>(openBlock(),createElementBlock("div",_hoisted_1$V,[createVNode(unref(_sfc_main$34),{data:ue.model[ue.name],columns:V},null,8,["data"]),createBaseVNode("div",_hoisted_2$j,[createVNode(unref(_sfc_main$4q),{size:"small",type:"primary",disabled:ue.disabled,plain:"",onClick:he[0]||(he[0]=pe=>z())},{default:withCtx(()=>he[4]||(he[4]=[createTextVNode("添加")])),_:1,__:[4]},8,["disabled"])]),createVNode(_sfc_main$2X,{visible:oe.value,"onUpdate:visible":he[1]||(he[1]=pe=>oe.value=pe),width:g.value,"onUpdate:width":he[2]||(he[2]=pe=>g.value=pe),height:unref(re),"onUpdate:height":he[3]||(he[3]=pe=>isRef(re)?re.value=pe:null),title:y.value,position:unref(le)},{body:withCtx(()=>[createVNode(unref(_sfc_main$3a),{"label-width":"120px",config:L,values:k.value,parentValues:ue.model[ue.name],disabled:ue.disabled,onSubmit:j},null,8,["values","parentValues","disabled"])]),_:1},8,["visible","width","height","title","position"])]))}}),_hoisted_1$U={class:"m-fields-data-source-select"},_sfc_main$2O=defineComponent({name:"MFieldsDataSourceSelect",__name:"DataSourceSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,i=n,r=inject("mForm"),{dataSourceService:g,uiService:y}=useServices(),k=inject("eventBus"),L=computed$1(()=>g.get("dataSources")),V=computed$1(()=>filterFunction(r,i.config.notEditable,i)),z=computed$1(()=>y.get("sideBarItems").find(re=>re.$key===SideItemKey.DATA_SOURCE)),j=computed$1(()=>{const{type:re,dataSourceType:ae,value:le,...de}=i.config,ue=i.config.value==="id";return{...de,type:"select",valueKey:"dataSourceId",options:L.value.filter(he=>!i.config.dataSourceType||he.type===i.config.dataSourceType).map(he=>({value:ue?he.id:{isBindDataSource:!0,dataSourceType:he.type,dataSourceId:he.id},text:he.title||he.id}))}}),ie=re=>{t("change",re)},oe=()=>{const re=i.model[i.name];if(!re)return;const ae=typeof re=="string"?re:re.dataSourceId;g.getDataSourceById(ae)&&(k==null||k.emit("edit-data-source",ae))};return(re,ae)=>(openBlock(),createElementBlock("div",_hoisted_1$U,[createVNode(unref(_sfc_main$3g),{model:re.model,name:re.name,size:re.size,prop:re.prop,disabled:re.disabled,config:j.value,"last-values":re.lastValues,onChange:ie},null,8,["model","name","size","prop","disabled","config","last-values"]),re.model[re.name]&&z.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,content:V.value?"查看":"编辑"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{class:"m-fields-select-action-button",size:re.size,onClick:oe},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:V.value?unref(view_default$1):unref(edit_default)},null,8,["icon"])]),_:1},8,["size"])]),_:1},8,["content"])):createCommentVNode("",!0)]))}}),_sfc_main$2N=defineComponent({name:"m-fields-display-conds",__name:"DisplayConds",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,i=n,{dataSourceService:r}=useServices(),g=inject("mForm"),y=computed$1(()=>filterFunction(g,i.config.parentFields,i)||[]),k=computed$1(()=>({type:"groupList",name:i.name,titlePrefix:i.config.titlePrefix,expandAll:!0,items:[{type:"table",name:"cond",operateColWidth:100,enableToggleMode:!1,items:[y.value.length?{type:"cascader",options:()=>{const[V,...z]=y.value,j=r.getDataSourceById(V);if(!j)return[];let ie=j.fields||[];return z.forEach(oe=>{const re=ie.find(ae=>ae.name===oe);ie=(re==null?void 0:re.fields)||[]}),getCascaderOptionsFromFields(ie,["string","number","boolean","any"])},name:"field",value:"key",label:"字段",checkStrictly:!1}:{type:"data-source-field-select",name:"field",value:"key",label:"字段",checkStrictly:!1,dataSourceFieldType:["string","number","boolean","any"]},{type:"cond-op-select",parentFields:y.value,label:"条件",width:160,name:"op"},{label:"值",width:160,items:[{name:"value",type:(V,{model:z})=>{const[j,...ie]=[...y.value,...z.field],oe=r.getDataSourceById(j);let re=(oe==null?void 0:oe.fields)||[],ae="";return(ie||[]).forEach(le=>{const de=re.find(ue=>ue.name===le);re=(de==null?void 0:de.fields)||[],ae=(de==null?void 0:de.type)||""}),ae==="number"?"number":ae==="boolean"?"select":"text"},options:[{text:"true",value:!0},{text:"false",value:!1}],display:(V,{model:z})=>!["between","not_between"].includes(z.op)},{name:"range",type:"number-range",display:(V,{model:z})=>["between","not_between"].includes(z.op)}]}]}]})),L=(V,z)=>{Array.isArray(i.model[i.name])||(i.model[i.name]=[]),t("change",V,z)};return(V,z)=>(openBlock(),createBlock(unref(_sfc_main$3M),{style:{width:"100%"},config:k.value,name:V.name,disabled:V.disabled,model:V.model,"last-values":V.lastValues,prop:V.prop,size:V.size,onChange:L},null,8,["config","name","disabled","model","last-values","prop","size"]))}}),_hoisted_1$T={class:"m-fields-event-select"},_hoisted_2$i={key:1,class:"fullWidth"},_sfc_main$2M=defineComponent({name:"MFieldsEventSelect",__name:"EventSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,{editorService:r,dataSourceService:g,eventsService:y,codeBlockService:k,propsService:L}=useServices(),V=computed$1(()=>({...{name:"name",text:"事件",type:(xe,{formValue:Ie})=>t.config.src!=="component"||Ie.type==="page-fragment-container"&&Ie.pageFragmentId?"cascader":"select",labelWidth:"40px",checkStrictly:()=>t.config.src!=="component",valueSeparator:".",options:(xe,{formValue:Ie})=>{var Fe,Ve;let Ne=[];if(t.config.src==="component"){if(Ne=y.getEvent(Ie.type),Ie.type==="page-fragment-container"&&Ie.pageFragmentId){const Oe=(Ve=(Fe=r.get("root"))==null?void 0:Fe.items)==null?void 0:Ve.find(ze=>ze.id===Ie.pageFragmentId);if(Oe)return Ne=[{label:Oe.name||"页面片容器",value:Oe.id,children:Ne}],Oe.items.forEach(ze=>{traverseNode(ze,qe=>{const Ue=qe.type&&y.getEvent(qe.type)||[];Ne.push({label:"".concat(qe.name,"_").concat(qe.id),value:"".concat(qe.id),children:Ue})})}),Ne}return Ne.map(Oe=>({text:Oe.label,value:Oe.value}))}if(t.config.src==="datasource"){Ne=g.getFormEvent(Ie.type);const Oe=g.getDataSourceById(Ie.id),ze=(Oe==null?void 0:Oe.fields)||[];return ze.length>0?[...Ne,{label:"数据变化",value:DATA_SOURCE_FIELDS_CHANGE_EVENT_PREFIX,children:getCascaderOptionsFromFields(ze)}]:Ne}}},...t.config.eventNameConfig})),z=computed$1(()=>({...{name:"actionType",text:"联动类型",type:"select",defaultValue:ActionType.COMP,options:()=>{const xe=[{text:"组件",label:"组件",value:ActionType.COMP}];return L.getDisabledCodeBlock()||xe.push({text:"代码",label:"代码",disabled:!Object.keys(k.getCodeDsl()||{}).length,value:ActionType.CODE}),L.getDisabledDataSource()||xe.push({text:"数据源",label:"数据源",value:ActionType.DATA_SOURCE}),xe}},...t.config.actionTypeConfig})),j=computed$1(()=>({...{name:"to",text:"联动组件",type:"ui-select",display:(xe,{model:Ie})=>Ie.actionType===ActionType.COMP,onChange:(xe,Ie,{setModel:Ne})=>(Ne("method",""),Ie)},...t.config.targetCompConfig})),ie=computed$1(()=>({...{name:"method",text:"动作",type:(xe,{model:Ie})=>{const Ne=r.getNodeById(Ie.to);return Ne&&Ne.type==="page-fragment-container"&&Ne.pageFragmentId?"cascader":"select"},checkStrictly:()=>t.config.src!=="component",display:(xe,{model:Ie})=>Ie.actionType===ActionType.COMP,options:(xe,{model:Ie})=>{var Ve,Oe;const Ne=r.getNodeById(Ie.to);if(!(Ne!=null&&Ne.type))return[];let Fe=[];if(Fe=y.getMethod(Ne.type,Ie.to),Ne.type==="page-fragment-container"&&Ne.pageFragmentId){const ze=(Oe=(Ve=r.get("root"))==null?void 0:Ve.items)==null?void 0:Oe.find(qe=>qe.id===Ne.pageFragmentId);if(ze)return Fe=[],ze.items.forEach(qe=>{traverseNode(qe,Ue=>{const Et=Ue.type&&y.getMethod(Ue.type,Ue.id)||[];Et.length&&Fe.push({label:"".concat(Ue.name,"_").concat(Ue.id),value:"".concat(Ue.id),children:Et})})}),Fe}return Fe.map(ze=>({text:ze.label,value:ze.value}))}},...t.config.compActionConfig})),oe=computed$1(()=>({...{type:"code-select-col",text:"代码块",name:"codeId",notEditable:()=>!k.getEditStatus(),display:(xe,{model:Ie})=>Ie.actionType===ActionType.CODE},...t.config.codeActionConfig})),re=computed$1(()=>({...{type:"data-source-method-select",text:"数据源方法",name:"dataSourceMethod",notEditable:()=>!g.get("editable"),display:(xe,{model:Ie})=>Ie.actionType===ActionType.DATA_SOURCE},...t.config.dataSourceActionConfig})),ae=computed$1(()=>({type:"table",name:"events",items:[{name:"name",label:"事件名",type:V.value.type,options:($e,{formValue:xe})=>y.getEvent(xe.type).map(Ie=>({text:Ie.label,value:Ie.value}))},{name:"to",label:"联动组件",type:"ui-select"},{name:"method",label:"动作",type:ie.value.type,options:($e,{model:xe})=>{const Ie=r.getNodeById(xe.to);return Ie!=null&&Ie.type?y.getMethod(Ie.type,xe.to).map(Ne=>({text:Ne.label,value:Ne.value})):[]}}]})),le=computed$1(()=>({type:"panel",items:[{type:"group-list",name:"actions",expandAll:!0,enableToggleMode:!1,titlePrefix:"动作",items:[z.value,j.value,ie.value,oe.value,re.value]}]})),de=computed$1(()=>t.model[t.name].length===0?!1:!has(t.model[t.name][0],"actions")),ue=()=>{const $e={name:"",actions:[]};t.model[t.name]||(t.model[t.name]=[]),i("change",$e,{modifyKey:t.model[t.name].length})},he=$e=>{t.name&&(t.model[t.name].splice($e,1),i("change",t.model[t.name]))},pe=($e,xe)=>{i("change",t.model[t.name],xe)},Ce=($e,xe)=>i("change",t.model[t.name],xe);return($e,xe)=>{const Ie=resolveComponent("m-form-table");return openBlock(),createElementBlock("div",_hoisted_1$T,[de.value?(openBlock(),createBlock(Ie,{key:0,name:"events",size:$e.size,disabled:$e.disabled,model:$e.model,config:ae.value,onChange:Ce},null,8,["size","disabled","model","config"])):(openBlock(),createElementBlock("div",_hoisted_2$i,[createVNode(unref(_sfc_main$4q),{class:"create-button",type:"primary",size:$e.size,disabled:$e.disabled,onClick:xe[0]||(xe[0]=Ne=>ue())},{default:withCtx(()=>xe[1]||(xe[1]=[createTextVNode("添加事件")])),_:1,__:[1]},8,["size","disabled"]),(openBlock(!0),createElementBlock(Fragment,null,renderList($e.model[$e.name],(Ne,Fe)=>(openBlock(),createBlock(unref(_sfc_main$3L),{key:Fe,disabled:$e.disabled,size:$e.size,prop:"".concat($e.prop,".").concat(Fe),config:le.value,model:Ne,"label-width":$e.config.labelWidth||"100px",onChange:Ce},{header:withCtx(()=>[createVNode(unref(_sfc_main$3P),{class:"fullWidth",config:V.value,model:Ne,disabled:$e.disabled,size:$e.size,prop:"".concat($e.prop,".").concat(Fe),onChange:pe},null,8,["config","model","disabled","size","prop"]),createVNode(unref(_sfc_main$4q),{style:{color:"#f56c6c"},link:"",icon:unref(delete_default$1),disabled:$e.disabled,size:$e.size,onClick:Ve=>he(Fe)},null,8,["icon","disabled","size","onClick"])]),_:2},1032,["disabled","size","prop","config","model","label-width"]))),128))]))])}}}),_hoisted_1$S={viewBox:"0 0 32 32",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},_sfc_main$2L=defineComponent({name:"MEditorCodeIcon",__name:"CodeIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$S,t[0]||(t[0]=[createStaticVNode('',2)])))}}),_hoisted_1$R={class:"m-fields-key-value"},_hoisted_2$h={key:0},_sfc_main$2K=defineComponent({name:"MFieldsKeyValue",__name:"KeyValue",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r=ref$1([]),g=ref$1(!1);watchEffect(()=>{if(typeof t.model[t.name]=="function")g.value=!0;else{const ie=Object.entries(t.model[t.name]||{});for(const[,oe]of ie)if(typeof oe!="string"){g.value=!0;break}r.value=ie}});const y=()=>{const ie={};return r.value.forEach(([oe,re])=>{oe&&(ie[oe]=re)}),ie},k=()=>{i("change",y())},L=()=>{i("change",y())},V=()=>{r.value.push(["",""])},z=ie=>{r.value.splice(ie,1),i("change",y())},j=ie=>{i("change",ie)};return(ie,oe)=>(openBlock(),createElementBlock("div",_hoisted_1$R,[g.value?createCommentVNode("",!0):(openBlock(),createElementBlock("div",_hoisted_2$h,[(openBlock(!0),createElementBlock(Fragment,null,renderList(r.value,(re,ae)=>(openBlock(),createElementBlock("div",{class:"m-fields-key-value-item",key:ae},[createVNode(unref(_sfc_main$48),{placeholder:"key",modelValue:r.value[ae][0],"onUpdate:modelValue":le=>r.value[ae][0]=le,disabled:ie.disabled,size:ie.size,onChange:k},null,8,["modelValue","onUpdate:modelValue","disabled","size"]),oe[1]||(oe[1]=createBaseVNode("span",{class:"m-fields-key-value-delimiter"},":",-1)),createVNode(unref(_sfc_main$48),{placeholder:"value",modelValue:r.value[ae][1],"onUpdate:modelValue":le=>r.value[ae][1]=le,disabled:ie.disabled,size:ie.size,onChange:L},null,8,["modelValue","onUpdate:modelValue","disabled","size"]),createVNode(unref(_sfc_main$4q),{class:"m-fields-key-value-delete",type:"danger",size:ie.size,disabled:ie.disabled,circle:"",plain:"",icon:unref(delete_default$1),onClick:le=>z(ae)},null,8,["size","disabled","icon","onClick"])]))),128)),createVNode(unref(_sfc_main$4q),{type:"primary",size:ie.size,disabled:ie.disabled,plain:"",icon:unref(plus_default$1),onClick:V},{default:withCtx(()=>oe[2]||(oe[2]=[createTextVNode("添加")])),_:1,__:[2]},8,["size","disabled","icon"])])),ie.config.advanced&&g.value?(openBlock(),createBlock(_sfc_main$32,{key:1,height:"200px","init-values":ie.model[ie.name],language:"javascript",options:{readOnly:ie.disabled},parse:!0,onSave:j},null,8,["init-values","options"])):createCommentVNode("",!0),ie.config.advanced?(openBlock(),createBlock(unref(_sfc_main$4q),{key:2,size:"default",disabled:ie.disabled,link:"",icon:_sfc_main$2L,onClick:oe[0]||(oe[0]=re=>g.value=!g.value)},null,8,["disabled"])):createCommentVNode("",!0)]))}}),_hoisted_1$Q={class:"m-fields-page-fragment-select"},_hoisted_2$g={class:"page-fragment-select-container"},_sfc_main$2J=defineComponent({name:"MFieldsPageFragmentSelect",__name:"PageFragmentSelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean,default:!1},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const{editorService:t}=useServices(),i=e,r=n,g=computed$1(()=>{var V;return(V=t.get("root"))==null?void 0:V.items.filter(z=>z.type===NodeType.PAGE_FRAGMENT)}),y={type:"select",name:r.name,options:()=>g.value?g.value.map(V=>{var z,j;return{text:"".concat(((z=V.devconfig)==null?void 0:z.tabName)||V.title||V.name,"(").concat(V.id,")"),label:"".concat(((j=V.devconfig)==null?void 0:j.tabName)||V.title||V.name,"(").concat(V.id,")"),value:V.id}}):[]},k=async()=>{i("change",r.model[r.name])},L=V=>{t.select(V)};return(V,z)=>{const j=resolveComponent("m-form-container");return openBlock(),createElementBlock("div",_hoisted_1$Q,[createBaseVNode("div",_hoisted_2$g,[createVNode(j,{class:"select",config:y,model:V.model,size:V.size,onChange:k},null,8,["model","size"]),V.model[V.name]?(openBlock(),createBlock(_sfc_main$33,{key:0,class:"icon",icon:unref(edit_default),onClick:z[0]||(z[0]=ie=>L(V.model[V.name]))},null,8,["icon"])):createCommentVNode("",!0)])])}}}),_hoisted_1$P={class:"background-position-container"},_hoisted_2$f={class:"presets-value-list"},_hoisted_3$6={class:"custom-value"},_sfc_main$2I=defineComponent({__name:"BackgroundPosition",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=e,i=[{value:"left",text:"左"},{value:"center",text:"中"},{value:"right",text:"右"}],g=[{value:"top",text:"上"},{value:"center",text:"中"},{value:"bottom",text:"下"}].map(k=>i.map(L=>({value:"".concat(L.value," ").concat(k.value),tips:"".concat(L.text).concat(k.text),class:"".concat(L.value,"-").concat(k.value)}))).flat(),y=k=>{t("change",k)};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$P,[createBaseVNode("div",_hoisted_2$f,[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(g),(V,z)=>(openBlock(),createBlock(unref(_sfc_main$4q),{key:z,link:"",class:normalizeClass(k.model[k.name]===V.value&&"btn-active"),onClick:j=>y(V.value)},{default:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(["position-icon",V.class,k.model[k.name]===V.value&&"active"])},null,2)]),_:2},1032,["class","onClick"]))),128))]),createBaseVNode("div",_hoisted_3$6,[createVNode(unref(_sfc_main$48),{modelValue:k.model[k.name],"onUpdate:modelValue":L[0]||(L[0]=V=>k.model[k.name]=V),size:"small",placeholder:"自定义背景位置",clearable:"",onChange:y},null,8,["modelValue"])])]))}}),_export_sfc$1=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t},_sfc_main$2H={},_hoisted_1$O={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$L(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$O,e[0]||(e[0]=[createStaticVNode('',9)]))}const BackgroundRepeat=_export_sfc$1(_sfc_main$2H,[["render",_sfc_render$L]]),_sfc_main$2G={},_hoisted_1$N={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$K(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$N,e[0]||(e[0]=[createBaseVNode("path",{d:"M796.444444 170.666667h-227.555555v682.666666h227.555555V170.666667z m-56.888888 625.777777h-113.777778V227.555556h113.777778v568.888888zM455.111111 170.666667H227.555556v682.666666h227.555555V170.666667zM398.222222 796.444444H284.444444V227.555556h113.777778v568.888888zM910.222222 56.888889h56.888889v910.222222h-56.888889zM56.888889 56.888889h56.888889v910.222222H56.888889z",fill:"#333333"},null,-1)]))}const BackgroundRepeatX=_export_sfc$1(_sfc_main$2G,[["render",_sfc_render$K]]),_sfc_main$2F={},_hoisted_1$M={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$J(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$M,e[0]||(e[0]=[createBaseVNode("path",{d:"M170.666667 227.555556v227.555555h682.666666V227.555556H170.666667z m625.777777 56.888888v113.777778H227.555556V284.444444h568.888888zM170.666667 568.888889v227.555555h682.666666v-227.555555H170.666667z m625.777777 56.888889v113.777778H227.555556v-113.777778h568.888888zM56.888889 56.888889h910.222222v56.888889H56.888889zM56.888889 910.222222h910.222222v56.888889H56.888889z",fill:"#333333"},null,-1)]))}const BackgroundRepeatY=_export_sfc$1(_sfc_main$2F,[["render",_sfc_render$J]]),_sfc_main$2E={},_hoisted_1$L={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$I(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$L,e[0]||(e[0]=[createBaseVNode("path",{d:"M912.526651 867.741144 555.540144 510.712681l356.986507-357.000833c11.171434-11.18576 11.171434-29.257348 0-40.443108-11.20111-11.18576-29.272697-11.18576-40.444131 0L515.096013 470.267527 158.096203 113.267716c-11.187807-11.159154-29.258371-11.159154-40.444131 0-11.186783 11.186783-11.186783 29.286 0 40.47176L474.623229 510.712681 117.623419 867.741144c-11.159154 11.172457-11.159154 29.216415 0 40.443108 11.18576 11.17348 29.284977 11.17348 40.47176 0l357.000833-357.027439 356.985484 357.027439c11.171434 11.17348 29.243021 11.17348 40.444131 0C923.698085 896.957559 923.725714 878.913601 912.526651 867.741144z",fill:"#5D5D5D"},null,-1)]))}const BackgroundNoRepeat=_export_sfc$1(_sfc_main$2E,[["render",_sfc_render$I]]),_sfc_main$2D=defineComponent({__name:"Background",props:{values:{}},emits:["change"],setup(n,{emit:e}){const t=e,i={items:[{name:"backgroundColor",text:"背景色",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:"backgroundImage",text:"背景图",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"img-upload"}},{name:"backgroundSize",text:"背景尺寸",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"auto",text:"默认",tooltip:"默认 auto"},{value:"contain",text:"等比填充",tooltip:"等比填充 contain"},{value:"cover",text:"等比覆盖",tooltip:"等比覆盖 cover"}]},{name:"backgroundRepeat",text:"重复显示",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"repeat",icon:markRaw(BackgroundRepeat),tooltip:"垂直和水平方向重复 repeat"},{value:"repeat-x",icon:markRaw(BackgroundRepeatX),tooltip:"水平方向重复 repeat-x"},{value:"repeat-y",icon:markRaw(BackgroundRepeatY),tooltip:"垂直方向重复 repeat-y"},{value:"no-repeat",icon:markRaw(BackgroundNoRepeat),tooltip:"不重复 no-repeat"}]},{name:"backgroundPosition",text:"背景定位",type:"component",component:_sfc_main$2I,labelWidth:"68px"}]},r=(g,y)=>{t("change",g,y)};return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$3P),{config:i,model:g.values,onChange:r},null,8,["model"]))}}),_sfc_main$2C={},_hoisted_1$K={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$H(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$K,e[0]||(e[0]=[createBaseVNode("path",{d:"M128 810.666667h768v85.333333H128z m0-170.666667h512v85.333333H128z m0-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m0 170.666667h512v85.333333H128z"},null,-1)]))}const AlignLeft=_export_sfc$1(_sfc_main$2C,[["render",_sfc_render$H]]),_sfc_main$2B={},_hoisted_1$J={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$G(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$J,e[0]||(e[0]=[createBaseVNode("path",{d:"M128 810.666667h768v85.333333H128z m128-170.666667h512v85.333333H256z m-128-170.666667h768v85.333334H128z m0-341.333333h768v85.333333H128z m128 170.666667h512v85.333333H256z"},null,-1)]))}const AlignCenter=_export_sfc$1(_sfc_main$2B,[["render",_sfc_render$G]]),_sfc_main$2A={},_hoisted_1$I={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$F(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$I,e[0]||(e[0]=[createBaseVNode("path",{d:"M128 128h768v85.333333H128z m0 682.666667h768v85.333333H128z m213.333333-170.666667h554.666667v85.333333H341.333333z m-213.333333-170.666667h768v85.333334H128z m213.333333-170.666666h554.666667v85.333333H341.333333z"},null,-1)]))}const AlignRight=_export_sfc$1(_sfc_main$2A,[["render",_sfc_render$F]]),_sfc_main$2z=defineComponent({__name:"Font",props:{values:{}},emits:["change"],setup(n,{emit:e}){const t=e,i={items:[{type:"row",items:[{labelWidth:"68px",name:"fontSize",text:"字号",type:"data-source-field-select",fieldConfig:{type:"text"}},{labelWidth:"68px",name:"lineHeight",text:"行高",type:"data-source-field-select",fieldConfig:{type:"text"}}]},{name:"fontWeight",text:"字重",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:["normal","bold"].concat(Array(7).fill(1).map((g,y)=>"".concat(y+1,"00"))).map(g=>({value:g,text:g}))}},{labelWidth:"68px",name:"color",text:"颜色",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:"textAlign",text:"对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"left",icon:markRaw(AlignLeft),tooltip:"左对齐 row"},{value:"center",icon:markRaw(AlignCenter),tooltip:"居中对齐 center"},{value:"right",icon:markRaw(AlignRight),tooltip:"右对齐 right"}]}]},r=(g,y)=>{t("change",g,y)};return(g,y)=>(openBlock(),createBlock(unref(_sfc_main$3P),{config:i,model:g.values,onChange:r},null,8,["model"]))}}),_hoisted_1$H={class:"layout-box-container"},_hoisted_2$e={key:0,class:"help-txt"},_hoisted_3$5={class:"next-input"},_hoisted_4$5=["onUpdate:modelValue","title","onChange"],_sfc_main$2y=defineComponent({__name:"Box",props:{model:{}},emits:["change"],setup(n,{emit:e}){const t=[{name:"marginTop",class:"outer-top-border"},{name:"marginRight",class:"outer-right-border"},{name:"marginBottom",text:"MARGIN",class:"outer-bottom-border"},{name:"marginLeft",class:"outer-left-border"},{name:"paddingTop",class:"inner-top-border"},{name:"paddingRight",class:"inner-right-border"},{name:"paddingBottom",text:"PADDING",class:"inner-bottom-border"},{name:"paddingLeft",class:"inner-left-border"}],i=e,r=(g,y)=>{i("change",g.target.value,{modifyKey:y})};return(g,y)=>(openBlock(),createElementBlock("div",_hoisted_1$H,[(openBlock(),createElementBlock(Fragment,null,renderList(t,(k,L)=>createBaseVNode("div",{key:L,class:normalizeClass(k.class)},[k.text?(openBlock(),createElementBlock("span",_hoisted_2$e,toDisplayString(k.text),1)):createCommentVNode("",!0),createBaseVNode("span",_hoisted_3$5,[withDirectives(createBaseVNode("input",{"onUpdate:modelValue":V=>g.model[k.name]=V,title:g.model[k.name],onChange:V=>r(V,k.name),placeholder:"0"},null,40,_hoisted_4$5),[[vModelText,g.model[k.name]]])])],2)),64))]))}}),_sfc_main$2x={},_hoisted_1$G={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$E(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$G,e[0]||(e[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192z m-96 64a32 32 0 0 1 32 32v448a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V288a32 32 0 0 1 32-32h704z"},null,-1)]))}const DisplayBlock=_export_sfc$1(_sfc_main$2x,[["render",_sfc_render$E]]),_sfc_main$2w={},_hoisted_1$F={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$D(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$F,e[0]||(e[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192zM352 256v512H160V256h192z m256 0v512h-192V256h192z m256 0v512h-192V256h192z"},null,-1)]))}const DisplayFlex=_export_sfc$1(_sfc_main$2w,[["render",_sfc_render$D]]),_sfc_main$2v={},_hoisted_1$E={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$C(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$E,e[0]||(e[0]=[createBaseVNode("path",{d:"M787.616 651.36a142.72 142.72 0 0 0 52.864 31.904 205.504 205.504 0 0 0 67.264 10.848 245.76 245.76 0 0 0 38.784-2.4c9.504-1.6 19.36-4 30.208-7.04 8.16-2.24 15.968-5.12 23.36-8.32l23.392-10.816V587.52h-8.736c-3.968 3.424-8.96 7.648-15.104 12.544a190.272 190.272 0 0 1-19.936 13.504 120.32 120.32 0 0 1-27.616 12.544 102.528 102.528 0 0 1-62.72-0.576 80 80 0 0 1-29.824-17.088 89.28 89.28 0 0 1-21.664-32.512c-5.696-13.664-8.64-30.784-8.64-51.296 0-19.744 2.72-36.384 7.968-50.08 5.248-13.664 12.384-24.896 20.992-33.056 9.12-8.832 18.816-14.816 29.632-18.816a101.824 101.824 0 0 1 63.68-0.736c9.408 3.136 18.08 7.04 26.112 11.68 13.024 7.808 25.28 16.768 36.672 26.784H1024v-78.72c-6.08-2.88-13.12-6.08-21.12-9.6a205.984 205.984 0 0 0-57.152-15.36 270.016 270.016 0 0 0-37.056-2.304c-24.864 0-47.744 4-68.704 11.84-20.992 7.776-38.432 18.784-52.64 33.6a144.256 144.256 0 0 0-33.632 54.176 207.68 207.68 0 0 0-12.48 70.176c0 27.84 3.968 52.352 12.16 73.568a146.08 146.08 0 0 0 34.176 53.184l0.064 0.416z m-186.112 34.656a122.912 122.912 0 0 0 42.784-21.504c11.2-8.32 20.224-19.296 26.24-31.936 6.56-13.664 9.888-28.704 9.664-43.904 0-22.784-6.272-41.024-18.912-54.72-12.544-13.92-29.664-23.04-51.104-27.36v-2.304c14.4-6.24 26.688-16.448 35.52-29.408 8.384-12.544 12.544-27.008 12.544-43.52 0-14.24-2.944-26.784-9.12-37.6a65.696 65.696 0 0 0-27.936-26.24 117.44 117.44 0 0 0-36.48-12.096A437.312 437.312 0 0 0 526.656 352h-127.552v340.384h143.392c23.84 0 43.52-2.112 59.008-6.4z m-118.112-271.584h7.968c16.544 0 29.472 0.128 38.656 0.352 9.248 0.576 16.864 1.728 23.04 4a26.24 26.24 0 0 1 14.4 13.12c2.656 5.28 4.064 11.072 4.128 16.96 0.16 6.656-1.056 13.248-3.52 19.392a28.064 28.064 0 0 1-15.04 13.696c-7.04 2.912-14.56 4.48-22.208 4.576-9.472 0.32-20.864 0.544-34.24 0.544h-13.184v-72.64z m6.144 215.52h-6.144v-84.8h18.464c12.64 0 24.736 0 36.384 0.256 9.216-0.16 18.432 0.896 27.36 3.2 9.696 2.848 16.544 7.232 20.512 13.12 4 5.92 6.08 14.24 6.08 25.088 0 8.192-1.728 15.488-4.992 21.824-3.232 6.336-9.696 11.392-18.24 15.392-8.544 4-18.24 5.696-28.48 6.272-10.304 0.224-27.392 0.224-51.328 0.224l0.384-0.576z m-378.56-6.016h124.672l23.36 68.416H348.8L224.32 353.728H124.416L0 692.384h87.52l23.488-68.416-0.064-0.032z m62.336-183.552l41.472 121.44h-82.88l41.408-121.44z"},null,-1)]))}const DisplayInline=_export_sfc$1(_sfc_main$2v,[["render",_sfc_render$C]]),_sfc_main$2u={},_hoisted_1$D={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$B(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$D,e[0]||(e[0]=[createBaseVNode("path",{d:"M960 128a64 64 0 0 1 64 64v640a64 64 0 0 1-64 64H64a64 64 0 0 1-64-64V192a64 64 0 0 1 64-64h896z m0 64H64v640h896V192z m-131.936 158.496c65.984 1.824 109.024 32.512 129.184 92.064l-65.952 15.136-1.856-5.664c-9.984-27.52-30.432-42.112-61.376-43.84-46.72 2.784-71.456 35.296-74.208 97.6 1.856 63.2 26.56 96.64 74.24 100.32 37.536-0.928 59.52-23.36 65.92-67.328L960 559.36l-1.792 7.232c-16.96 63.872-60.352 95.84-130.144 95.84-93.44-4.608-142.464-56.8-147.04-156.672 4.576-98.048 53.6-149.792 147.04-155.296z m-568.928 4.128l114.08 302.336H297.6l-22.016-65.984H160.192L138.24 656.96H64l112.672-302.336h82.464z m278.976 0l7.68 0.32c62.816 3.36 96 27.104 99.52 71.136 0 35.744-19.712 59.552-59.104 71.456 42.144 9.184 65.952 32.544 71.456 70.08 0 59.552-37.568 89.344-112.672 89.344h-148.416v-302.336h141.536z m-4.128 173.152H465.28v81.088h67.328c33.92 0 51.296-13.76 52.224-41.248-2.752-25.632-19.68-38.912-50.848-39.84zM217.92 408.224h-1.376l-0.96 7.36c-1.184 7.232-3.168 13.92-5.92 20.128l-34.336 103.04h87.936l-38.464-104.416-2.624-9.024c-1.6-5.888-3.04-11.584-4.256-17.088z m309.184-2.752H465.28v71.456h61.824c29.344-0.928 44.448-13.76 45.376-38.464-0.96-22.016-16.032-32.992-45.376-32.992z"},null,-1)]))}const DisplayInlineBlock=_export_sfc$1(_sfc_main$2u,[["render",_sfc_render$B]]),_sfc_main$2t={},_hoisted_1$C={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$A(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$C,e[0]||(e[0]=[createBaseVNode("path",{d:"M931.37 477.14c-43.94-69.49-93.39-125.03-147.99-166.35L663.31 441.46c8.79 21.36 13.63 44.91 13.63 69.62 0 96.27-73.84 174.32-164.95 174.32-21.63 0-42.28-4.39-61.32-12.47l-94.09 102.52a455.097 455.097 0 0 0 155.41 26.2c172.62 0 312.43-85.54 419.59-256.63 12.83-20.43 12.72-47.45-0.21-67.88zM795.52 127.99L682.24 252.82C627.73 231 570.1 220.04 512.11 220.5c-171.15 0-310.99 85.66-419.48 256.75-12.93 20.43-13.04 47.33-0.2 67.78 46.95 75.15 100.3 133.68 160.01 175.82L131.9 853.65l38.9 42.36 663.6-725.76-38.88-42.26zM519.68 438.37c-3.72-0.59-7.46-0.81-11.27-0.81-45.63 0-82.43 39.03-82.43 87.16 0 4.97 0.42 9.81 1.14 14.54l-57.15 60.14-5.92 8.33c-13.15-24.94-20.5-53.68-20.5-84.28 0-96.3 73.84-174.45 164.95-174.45 27.2 0 52.76 6.93 75.4 19.29l-64.22 70.08z m52.05 135.53c21.74-23.26 27.17-55.48 16.31-81.39l-96.42 103.16c26.59 9.08 58.38 1.48 80.11-21.77z"},null,-1)]))}const DisplayNone=_export_sfc$1(_sfc_main$2t,[["render",_sfc_render$A]]),_sfc_main$2s={},_hoisted_1$B={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$z(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$B,e[0]||(e[0]=[createBaseVNode("path",{d:"M896 320H128V0h768v320z m0 320H128v-256h768v256z m-128 192l-256 192-256-192 192-0.032V704h128v128h192z"},null,-1)]))}const FlexDirectionColumn=_export_sfc$1(_sfc_main$2s,[["render",_sfc_render$z]]),_sfc_main$2r={},_hoisted_1$A={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$y(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$A,e[0]||(e[0]=[createBaseVNode("path",{d:"M896 704H128v320h768V704z m0-320H128v256h768v-256z m-128-192l-256-192-256 192 192 0.032V320h128V192h192z"},null,-1)]))}const FlexDirectionColumnReverse=_export_sfc$1(_sfc_main$2r,[["render",_sfc_render$y]]),_sfc_main$2q={},_hoisted_1$z={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$x(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$z,e[0]||(e[0]=[createBaseVNode("path",{d:"M320 128v768H0V128h320z m320 0v768h-256V128h256z m192 128l192 256-192 256-0.032-192H704v-128h128V256z"},null,-1)]))}const FlexDirectionRow=_export_sfc$1(_sfc_main$2q,[["render",_sfc_render$x]]),_sfc_main$2p={},_hoisted_1$y={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$w(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$y,e[0]||(e[0]=[createBaseVNode("path",{d:"M704 128v768h320V128H704zM384 128v768h256V128h-256zM192 256l-192 256 192 256 0.032-192H320v-128H192V256z"},null,-1)]))}const FlexDirectionRowReverse=_export_sfc$1(_sfc_main$2p,[["render",_sfc_render$w]]),_sfc_main$2o={},_hoisted_1$x={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$v(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$x,e[0]||(e[0]=[createBaseVNode("path",{d:"M480 1024V0h64v1024h-64z m128-64V64h320v896H608zM96 960V64h320v896H96z"},null,-1)]))}const JustifyContentCenter=_export_sfc$1(_sfc_main$2o,[["render",_sfc_render$v]]),_sfc_main$2n={},_hoisted_1$w={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$u(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$w,e[0]||(e[0]=[createBaseVNode("path",{d:"M416 160H96v704h320V160z m384 0H480v704h320V160z m128-160h-64v1024h64V0z"},null,-1)]))}const JustifyContentFlexEnd=_export_sfc$1(_sfc_main$2n,[["render",_sfc_render$u]]),_sfc_main$2m={},_hoisted_1$v={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$t(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$v,e[0]||(e[0]=[createBaseVNode("path",{d:"M608 160h320v704H608V160zM224 160h320v704H224V160zM96 0h64v1024H96V0z"},null,-1)]))}const JustifyContentFlexStart=_export_sfc$1(_sfc_main$2m,[["render",_sfc_render$t]]),_sfc_main$2l={},_hoisted_1$u={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$s(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$u,e[0]||(e[0]=[createBaseVNode("path",{d:"M320 864H192v160H128v-160H0V160h128V0h64v160h128v704z m704 0h-128v160h-64v-160h-128V160h128V0h64v160h128v704z"},null,-1)]))}const JustifyContentSpaceAround=_export_sfc$1(_sfc_main$2l,[["render",_sfc_render$s]]),_sfc_main$2k={},_hoisted_1$t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function _sfc_render$r(n,e){return openBlock(),createElementBlock("svg",_hoisted_1$t,e[0]||(e[0]=[createBaseVNode("path",{d:"M64 1024H0V0h64v1024z m384-160H128V160h320v704z m448 0H576V160h320v704z m128 160h-64V0h64v1024z"},null,-1)]))}const JustifyContentSpaceBetween=_export_sfc$1(_sfc_main$2k,[["render",_sfc_render$r]]),_sfc_main$2j=defineComponent({__name:"Layout",props:{values:{}},emits:["change"],setup(n,{emit:e}){const t=e,i={items:[{name:"display",text:"模式",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"inline",icon:markRaw(DisplayInline),tooltip:"内联布局 inline"},{value:"flex",icon:markRaw(DisplayFlex),tooltip:"弹性布局 flex"},{value:"block",icon:markRaw(DisplayBlock),tooltip:"块级布局 block"},{value:"inline-block",icon:markRaw(DisplayInlineBlock),tooltip:"内联块布局 inline-block"},{value:"none",icon:markRaw(DisplayNone),tooltip:"隐藏 none"}]},{name:"flexDirection",text:"主轴方向",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"row",icon:markRaw(FlexDirectionRow),tooltip:"水平方向 起点在左侧 row"},{value:"row-reverse",icon:markRaw(FlexDirectionRowReverse),tooltip:"水平方向 起点在右侧 row-reverse"},{value:"column",icon:markRaw(FlexDirectionColumn),tooltip:"垂直方向 起点在上沿 column"},{value:"column-reverse",icon:markRaw(FlexDirectionColumnReverse),tooltip:"垂直方向 起点在下沿 column-reverse"}],display:(g,{model:y})=>y.display==="flex"},{name:"justifyContent",text:"主轴对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"flex-start",icon:markRaw(JustifyContentFlexStart),tooltip:"左对齐 flex-start"},{value:"flex-end",icon:markRaw(JustifyContentFlexEnd),tooltip:"右对齐 flex-end"},{value:"center",icon:markRaw(JustifyContentCenter),tooltip:"居中 center"},{value:"space-between",icon:markRaw(JustifyContentSpaceBetween),tooltip:"两端对齐 space-between"},{value:"space-around",icon:markRaw(JustifyContentSpaceAround),tooltip:"横向平分 space-around"}],display:(g,{model:y})=>y.display==="flex"},{name:"alignItems",text:"辅轴对齐",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"flex-start",icon:markRaw(JustifyContentFlexStart),tooltip:"左对齐 flex-start"},{value:"flex-end",icon:markRaw(JustifyContentFlexEnd),tooltip:"右对齐 flex-end"},{value:"center",icon:markRaw(JustifyContentCenter),tooltip:"居中 center"},{value:"space-between",icon:markRaw(JustifyContentSpaceBetween),tooltip:"两端对齐 space-between"},{value:"space-around",icon:markRaw(JustifyContentSpaceAround),tooltip:"横向平分 space-around"}],display:(g,{model:y})=>y.display==="flex"},{name:"flexWrap",text:"换行",type:"radioGroup",childType:"button",labelWidth:"68px",options:[{value:"nowrap",text:"不换行",tooltip:"不换行 nowrap"},{value:"wrap",text:"正换行",tooltip:"第一行在上方 wrap"},{value:"wrap-reverse",text:"逆换行",tooltip:"第一行在下方 wrap-reverse"}],display:(g,{model:y})=>y.display==="flex"},{type:"row",items:[{name:"width",text:"宽度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}},{name:"height",text:"高度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}}]},{type:"row",items:[{type:"data-source-field-select",text:"overflow",name:"overflow",labelWidth:"68px",checkStrictly:!1,dataSourceFieldType:["string"],fieldConfig:{type:"select",clearable:!0,allowCreate:!0,options:[{text:"visible",value:"visible"},{text:"hidden",value:"hidden"},{text:"clip",value:"clip"},{text:"scroll",value:"scroll"},{text:"auto",value:"auto"},{text:"overlay",value:"overlay"},{text:"initial",value:"initial"}]}},{type:"data-source-field-select",text:"透明度",name:"opacity",labelWidth:"68px",dataSourceFieldType:["string","number"],fieldConfig:{type:"text"}}]}]},r=(g,y)=>{t("change",g,y)};return(g,y)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$3P),{config:i,model:g.values,onChange:r},null,8,["model"]),withDirectives(createVNode(_sfc_main$2y,{model:g.values,onChange:r},null,8,["model"]),[[vShow,!["fixed","absolute"].includes(g.values.position)]])],64))}}),_sfc_main$2i=defineComponent({__name:"Position",props:{values:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r={static:"不定位",relative:"相对定位",absolute:"绝对定位",fixed:"固定定位",sticky:"粘性定位"},g={items:[{name:"position",text:"定位",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:Object.keys(r).map(k=>({value:k,text:"".concat(k,"(").concat(r[k],")")}))}},{type:"row",labelWidth:"68px",display:()=>t.values.position!=="static",items:[{name:"left",type:"data-source-field-select",text:"left",fieldConfig:{type:"text"}},{name:"top",type:"data-source-field-select",text:"top",fieldConfig:{type:"text"}}]},{type:"row",labelWidth:"68px",display:()=>t.values.position!=="static",items:[{name:"right",type:"data-source-field-select",text:"right",fieldConfig:{type:"text"}},{name:"bottom",type:"data-source-field-select",text:"bottom",fieldConfig:{type:"text"}}]},{labelWidth:"68px",name:"zIndex",text:"zIndex",type:"data-source-field-select",fieldConfig:{type:"text"}}]},y=(k,L)=>{i("change",k,L)};return(k,L)=>(openBlock(),createBlock(unref(_sfc_main$3P),{config:g,model:k.values,onChange:y},null,8,["model"]))}}),_hoisted_1$s={class:"border-box-container"},_hoisted_2$d={class:"border-icon-container"},_hoisted_3$4={class:"border-icon-container-row"},_hoisted_4$4={class:"border-icon-container-row"},_hoisted_5$1={class:"border-icon-container-row"},_hoisted_6$1={class:"border-value-container"},_sfc_main$2h=defineComponent({__name:"Border",props:{model:{}},emits:["change"],setup(n,{emit:e}){const t=ref$1(""),i=computed$1(()=>({items:[{name:"border".concat(t.value,"Width"),text:"边框宽度",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"text"}},{name:"border".concat(t.value,"Color"),text:"边框颜色",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"colorPicker"}},{name:"border".concat(t.value,"Style"),text:"边框样式",labelWidth:"68px",type:"data-source-field-select",fieldConfig:{type:"select",options:["solid","dashed","dotted"].map(k=>({value:k,text:k}))}}]})),r=k=>t.value=k||"",g=e,y=(k,L)=>{var V;(V=L.changeRecords)==null||V.forEach(z=>{g("change",z.value,{modifyKey:z.propPath})})};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$s,[createBaseVNode("div",_hoisted_2$d,[createBaseVNode("div",_hoisted_3$4,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-top",{active:t.value==="Top"}]),onClick:L[0]||(L[0]=V=>r("Top"))},null,2)]),createBaseVNode("div",_hoisted_4$4,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-left",{active:t.value==="Left"}]),onClick:L[1]||(L[1]=V=>r("Left"))},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon",{active:t.value===""}]),onClick:L[2]||(L[2]=V=>r())},null,2),createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-right",{active:t.value==="Right"}]),onClick:L[3]||(L[3]=V=>r("Right"))},null,2)]),createBaseVNode("div",_hoisted_5$1,[createBaseVNode("div",{class:normalizeClass(["border-icon border-icon-bottom",{active:t.value==="Bottom"}]),onClick:L[4]||(L[4]=V=>r("Bottom"))},null,2)])]),createBaseVNode("div",_hoisted_6$1,[createVNode(unref(_sfc_main$3P),{config:i.value,model:k.model,onChange:y},null,8,["config","model"])])]))}}),_sfc_main$2g=defineComponent({__name:"Border",props:{values:{}},emits:["change"],setup(n,{emit:e}){const t=e,i={items:[{labelWidth:"68px",name:"borderRadius",text:"圆角",type:"data-source-field-select",fieldConfig:{type:"text"}}]},r=(g,y)=>{t("change",g,y)};return(g,y)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$3P),{config:i,model:g.values,onChange:r},null,8,["model"]),createVNode(_sfc_main$2h,{model:g.values,onChange:r},null,8,["model"])],64))}}),_hoisted_1$r={class:"m-fields-style-setter"},_sfc_main$2f=defineComponent({name:"MFieldsStyleSetter",__name:"Index",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,r=[{name:"font",title:"布局",component:_sfc_main$2j},{title:"位置",component:_sfc_main$2i},{title:"背景",component:_sfc_main$2D},{title:"文字",component:_sfc_main$2z},{title:"边框与圆角",component:_sfc_main$2g}],g=shallowRef(Array(r.length).fill(1).map((k,L)=>"".concat(L))),y=(k,L)=>{var V;(V=L.changeRecords)==null||V.forEach(z=>{z.propPath="".concat(t.name,".").concat(z.propPath)}),i("change",k,L)};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$r,[createVNode(unref(_sfc_main$4k),{"model-value":g.value},{default:withCtx(()=>[(openBlock(),createElementBlock(Fragment,null,renderList(r,(V,z)=>createVNode(unref(_sfc_main$4j),{key:z,name:"".concat(z)},{title:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(grid_default$1)},null,8,["icon"]),createTextVNode(toDisplayString(V.title),1)]),default:withCtx(()=>[V.component?(openBlock(),createBlock(resolveDynamicComponent(V.component),{key:0,values:k.model[k.name],onChange:y},null,40,["values"])):createCommentVNode("",!0)]),_:2},1032,["name"])),64))]),_:1},8,["model-value"])]))}}),_hoisted_1$q={key:1,class:"m-fields-ui-select",style:{display:"flex"}},_sfc_main$2e=defineComponent({name:"MFieldsUISelect",__name:"UISelect",props:{config:{},model:{},initValues:{},values:{},name:{},prop:{},disabled:{type:Boolean},size:{},lastValues:{}},emits:["change"],setup(n,{emit:e}){const t=n,i=e,{editorService:r,uiService:g,stageOverlayService:y}=useServices(),k=inject("mForm"),L=computed$1(()=>t.model[t.name]),V=ref$1(!1),z=()=>{g.set("uiSelectMode",!1),V.value=!1,globalThis.document.removeEventListener(UI_SELECT_MODE_EVENT_NAME,j)},j=({detail:ue})=>{let{id:he}=ue;ue.nodeType&&(he=getIdFromEl()(ue)||he),he&&(t.model[t.name]=he,i("change",he),k==null||k.$emit("field-change",t.prop,he)),z&&z()},ie=computed$1(()=>{const ue=r.getNodeById(L.value);return(ue==null?void 0:ue.name)||""}),oe=()=>{g.set("uiSelectMode",!0),V.value=!0,globalThis.document.addEventListener(UI_SELECT_MODE_EVENT_NAME,j)},re=()=>{t.model&&(t.model[t.name]="",i("change",""),k==null||k.$emit("field-change",t.prop,""))},ae=async ue=>{var he,pe;await r.select(ue),(he=r.get("stage"))==null||he.select(ue),(pe=y.get("stage"))==null||pe.select(ue)},le=throttle$2(ue=>{var he,pe;r.highlight(ue),(he=r.get("stage"))==null||he.highlight(ue),(pe=y.get("stage"))==null||pe.highlight(ue)},150),de=()=>{var ue,he;r.set("highlightNode",null),(ue=r.get("stage"))==null||ue.clearHighlight(),(he=y.get("stage"))==null||he.clearHighlight()};return(ue,he)=>V.value?(openBlock(),createElementBlock("div",{key:0,class:"m-fields-ui-select",onClick:z},[createVNode(unref(_sfc_main$4q),{type:"danger",icon:unref(delete_default$1),disabled:ue.disabled,size:ue.size,link:"",style:{padding:"0"}},{default:withCtx(()=>he[2]||(he[2]=[createTextVNode("取消")])),_:1,__:[2]},8,["icon","disabled","size"])])):(openBlock(),createElementBlock("div",_hoisted_1$q,[L.value?(openBlock(),createElementBlock(Fragment,{key:0},[createVNode(unref(_sfc_main$3R),{content:"清除",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{style:{padding:"0"},type:"danger",icon:unref(close_default$1),disabled:ue.disabled,size:ue.size,link:"",onClick:withModifiers(re,["stop"])},null,8,["icon","disabled","size"])]),_:1}),createVNode(unref(_sfc_main$3R),{content:"点击选中组件",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{link:"",style:{padding:"0",margin:"0"},disabled:ue.disabled,size:ue.size,onClick:he[0]||(he[0]=pe=>ae(L.value)),onMouseenter:he[1]||(he[1]=pe=>unref(le)(L.value)),onMouseleave:de},{default:withCtx(()=>[createTextVNode(toDisplayString("".concat(ie.value,"_").concat(L.value)),1)]),_:1},8,["disabled","size"])]),_:1})],64)):(openBlock(),createBlock(unref(_sfc_main$3R),{key:1,content:"点击此处选择",placement:"top"},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{link:"",style:{padding:"0",margin:"0"},disabled:ue.disabled,size:ue.size,onClick:oe},{default:withCtx(()=>he[3]||(he[3]=[createTextVNode("点击此处选择")])),_:1,__:[3]},8,["disabled","size"])]),_:1}))]))}}),_sfc_main$2d=defineComponent({name:"MEditorResizer",__name:"Resizer",emits:["change"],setup(n,{emit:e}){const t=e,i=useTemplateRef("target"),{isDragging:r}=useGetSo(i,t);return(g,y)=>(openBlock(),createElementBlock("span",{ref:"target",class:normalizeClass(["m-editor-resizer",{"m-editor-resizer-dragging":unref(r)}])},[renderSlot(g.$slots,"default")],2))}}),_sfc_main$2c=defineComponent({name:"MEditorSplitView",__name:"SplitView",props:{width:{},left:{},right:{},minLeft:{default:1},minRight:{default:1},minCenter:{default:5},leftClass:{},rightClass:{},centerClass:{}},emits:["update:left","change","update:right"],setup(n,{expose:e,emit:t}){const i=t,r=n,g=useTemplateRef("target"),y=computed$1(()=>typeof r.left<"u"),k=computed$1(()=>typeof r.right<"u"),L=ref$1(0);let V=0;const z=(re=0,ae=0)=>{let le=ae>0?ae:0,de=re>0?re:0,ue=V-de-le;if(ue{if(re<=0)return;V=re;let ae=r.left||r.minLeft||0,le=r.right||r.minRight||0;ae>V&&(ae=V/3),le>V&&(le=V/3);const de=z(ae,le);L.value=de.center,i("change",de)};if(typeof r.width!="number"){const re=new ResizeObserver(ae=>{for(const{contentRect:le}of ae)j(le.width)});onMounted(()=>{g.value&&re.observe(g.value)}),onBeforeUnmount(()=>{re.disconnect()})}else watchEffect(()=>{typeof r.width=="number"&&j(r.width)});const ie=({deltaX:re})=>{if(typeof r.left>"u")return;let ae=Math.max(r.left+re,r.minLeft)||0;i("update:left",ae),V-ae-(r.right||0)<=0&&(ae=r.left);const le=z(ae,r.right||0);L.value=le.center,i("change",{left:le.left,center:L.value,right:le.right})},oe=({deltaX:re})=>{if(typeof r.right>"u")return;let ae=Math.max(r.right-re,r.minRight)||0;i("update:right",ae),V-(r.left||0)-ae<=0&&(ae=r.right);const le=z(r.left,ae);L.value=le.center,i("change",{left:le.left,center:L.value,right:le.right})};return e({updateWidth(){var ae,le,de;if(V=(de=(le=r.width)!=null?le:(ae=g.value)==null?void 0:ae.clientWidth)!=null?de:V,V<=0)return;const re=z(r.left,r.right);i("change",{left:re.left,center:L.value,right:re.right})}}),(re,ae)=>(openBlock(),createElementBlock("div",{ref:"target",class:"m-editor-layout",style:normalizeStyle("min-width: ".concat(r.minCenter+r.minLeft+r.minRight,"px"))},[y.value&&re.$slots.left?(openBlock(),createElementBlock(Fragment,{key:0},[createBaseVNode("div",{class:normalizeClass(["m-editor-layout-left",re.leftClass]),style:normalizeStyle("width: ".concat(re.left,"px"))},[renderSlot(re.$slots,"left")],6),createVNode(_sfc_main$2d,{onChange:ie})],64)):createCommentVNode("",!0),createBaseVNode("div",{class:normalizeClass(["m-editor-layout-center",re.centerClass]),style:normalizeStyle("width: ".concat(L.value,"px"))},[renderSlot(re.$slots,"center")],6),k.value&&re.$slots.right?(openBlock(),createElementBlock(Fragment,{key:1},[createVNode(_sfc_main$2d,{onChange:oe}),createBaseVNode("div",{class:normalizeClass(["m-editor-layout-right",re.rightClass]),style:normalizeStyle("width: ".concat(re.right,"px"))},[renderSlot(re.$slots,"right")],6)],64)):createCommentVNode("",!0)],4))}}),_hoisted_1$p={key:1,class:"menu-item-text"},_hoisted_2$c={class:"el-dropdown-link menubar-menu-button"},_sfc_main$2b=defineComponent({name:"MEditorToolButton",__name:"ToolButton",props:{data:{default:()=>({type:"text",display:!1})},eventType:{default:"click"}},setup(n){const e=n,t=useServices(),i=computed$1(()=>typeof e.data=="string"||e.data.type==="component"?!1:typeof e.data.disabled=="function"?e.data.disabled(t):e.data.disabled),r=computed$1(()=>{var z;return e.data?typeof e.data=="string"?!0:typeof e.data.display=="function"?e.data.display(t):(z=e.data.display)!=null?z:!0:!1}),g=(z,j)=>{var ie;i.value||typeof z.handler=="function"&&((ie=z.handler)==null||ie.call(z,t,j))},y=z=>{z.item.handler&&z.item.handler(t)},k=(z,j)=>{e.eventType==="click"&&z.type==="button"&&g(z,j)},L=(z,j)=>{e.eventType==="mousedown"&&z.type==="button"&&g(z,j)},V=(z,j)=>{e.eventType==="mouseup"&&z.type==="button"&&j.button===0&&g(z,j)};return(z,j)=>r.value?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(["menu-item","".concat(z.data.type," ").concat(z.data.className||"")]),onClick:j[0]||(j[0]=ie=>k(z.data,ie)),onMousedown:j[1]||(j[1]=ie=>L(z.data,ie)),onMouseup:j[2]||(j[2]=ie=>V(z.data,ie))},[z.data.type==="divider"?(openBlock(),createBlock(unref(_sfc_main$4f),{key:0,direction:z.data.direction||"vertical"},null,8,["direction"])):z.data.type==="text"?(openBlock(),createElementBlock("div",_hoisted_1$p,toDisplayString(z.data.text),1)):z.data.type==="button"?(openBlock(),createElementBlock(Fragment,{key:2},[z.data.tooltip?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,effect:"dark",placement:"bottom-start",content:z.data.tooltip},{default:withCtx(()=>[createVNode(unref(_sfc_main$4q),{size:"small",link:"",disabled:i.value},{default:withCtx(()=>[z.data.icon?(openBlock(),createBlock(_sfc_main$33,{key:0,icon:z.data.icon},null,8,["icon"])):createCommentVNode("",!0),createBaseVNode("span",null,toDisplayString(z.data.text),1)]),_:1},8,["disabled"])]),_:1},8,["content"])):(openBlock(),createBlock(unref(_sfc_main$4q),{key:1,size:"small",link:"",disabled:i.value,title:z.data.text},{default:withCtx(()=>[z.data.icon?(openBlock(),createBlock(_sfc_main$33,{key:0,icon:z.data.icon},null,8,["icon"])):createCommentVNode("",!0),createBaseVNode("span",null,toDisplayString(z.data.text),1)]),_:1},8,["disabled","title"]))],64)):z.data.type==="dropdown"?(openBlock(),createBlock(unref(_sfc_main$4e),{key:3,trigger:"click",disabled:i.value,onCommand:y},{dropdown:withCtx(()=>[z.data.items&&z.data.items.length?(openBlock(),createBlock(unref(_sfc_main$4c),{key:0},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(z.data.items,(ie,oe)=>(openBlock(),createBlock(unref(_sfc_main$4d),{key:oe,command:{data:z.data,subItem:ie}},{default:withCtx(()=>[createTextVNode(toDisplayString(ie.text),1)]),_:2},1032,["command"]))),128))]),_:1})):createCommentVNode("",!0)]),default:withCtx(()=>[createBaseVNode("span",_hoisted_2$c,[createTextVNode(toDisplayString(z.data.text),1),createVNode(unref(_sfc_main$49),{class:"el-icon--right"},{default:withCtx(()=>[createVNode(unref(arrow_down_default$1))]),_:1})])]),_:1},8,["disabled"])):z.data.type==="component"?(openBlock(),createBlock(resolveDynamicComponent(z.data.component),mergeProps({key:4},z.data.props||{},toHandlers(z.data.listeners||{})),null,16)):createCommentVNode("",!0)],34)):createCommentVNode("",!0)}}),_hoisted_1$o={key:0,id:"m-editor-page-bar-add-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_hoisted_2$b={key:1,style:{width:"21px"}},_sfc_main$2a=defineComponent({name:"MEditorPageBarAddButton",__name:"AddButton",setup(n){const{editorService:e,uiService:t}=useServices(),i=computed$1(()=>t.get("showAddPageButton")),r=g=>{const y=toRaw(e.get("root"));if(!y)throw new Error("root 不能为空");const k={type:g,name:generatePageNameByApp(y,g),items:[]};e.add(k)};return(g,y)=>i.value?(openBlock(),createElementBlock("div",_hoisted_1$o,[createVNode(unref(_sfc_main$45),{"popper-class":"data-source-list-panel-add-menu"},{reference:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(plus_default$1)},null,8,["icon"])]),default:withCtx(()=>[createVNode(_sfc_main$2b,{data:{type:"button",text:"页面",handler:()=>{r(unref(NodeType).PAGE)}}},null,8,["data"]),createVNode(_sfc_main$2b,{data:{type:"button",text:"页面片",handler:()=>{r(unref(NodeType).PAGE_FRAGMENT)}}},null,8,["data"])]),_:1})])):(openBlock(),createElementBlock("div",_hoisted_2$b))}}),_hoisted_1$n={class:"m-editor-page-bar",ref:"pageBar"},_hoisted_2$a={key:0,class:"m-editor-page-bar-items",ref:"itemsContainer"},_sfc_main$29=defineComponent({name:"MEditorPageBarScrollContainer",__name:"PageBarScrollContainer",props:{pageBarSortOptions:{},length:{}},setup(n,{expose:e}){const t=n,{editorService:i,uiService:r}=useServices(),g=useTemplateRef("itemsContainer"),y=ref$1(!1),k=computed$1(()=>r.get("showAddPageButton")),L=computed$1(()=>r.get("showPageListButton")),V=ref$1(0),z=useTemplateRef("pageBar"),j=()=>{var le;V.value=(((le=z.value)==null?void 0:le.clientWidth)||0)-37*2-37-(k.value?37:21)-(L.value?37:0),nextTick(()=>{g.value&&(y.value=g.value.scrollWidth-V.value>1)})},ie=new ResizeObserver(()=>{j()});onMounted(()=>{z.value&&ie.observe(z.value)}),onBeforeUnmount(()=>{ie.disconnect()});let oe=0;const re=le=>{if(!g.value||!y.value)return;const de=g.value.scrollWidth-V.value;le==="left"?ae(oe+200):le==="right"?ae(oe-200):le==="start"?ae(0):le==="end"&&ae(-de)},ae=le=>{if(!g.value||!y.value)return;const de=g.value.scrollWidth-V.value;le>=0&&(le=0),-le>de&&(le=-de),oe=le,g.value.style.transform="translate(".concat(oe,"px, 0px)")};return watch(()=>t.length,(le=0,de=0)=>{setTimeout(()=>{if(j(),nextTick(()=>{le1){const ue=document.querySelector(".m-editor-page-bar-items");let he=[];const pe={dataIdAttr:"data-page-id",onStart:async $e=>{var xe;typeof((xe=t.pageBarSortOptions)==null?void 0:xe.beforeStart)=="function"&&await t.pageBarSortOptions.beforeStart($e,Ce),he=Ce.toArray()},onUpdate:async $e=>{var xe;await i.sort(he[$e.oldIndex],he[$e.newIndex]),typeof((xe=t.pageBarSortOptions)==null?void 0:xe.afterUpdate)=="function"&&await t.pageBarSortOptions.afterUpdate($e,Ce)},...t.pageBarSortOptions?t.pageBarSortOptions:{}};if(!ue)return;const Ce=new Sortable(ue,pe)}})},{immediate:!0}),e({itemsContainerWidth:V,scroll:re,scrollTo:ae,getTranslateLeft(){return oe}}),(le,de)=>(openBlock(),createElementBlock("div",_hoisted_1$n,[renderSlot(le.$slots,"prepend"),le.length?(openBlock(),createElementBlock("div",_hoisted_2$a,[renderSlot(le.$slots,"default")],512)):createCommentVNode("",!0),y.value?(openBlock(),createElementBlock("div",{key:1,class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-item-left-icon",onClick:de[0]||(de[0]=ue=>re("left"))},[createVNode(_sfc_main$33,{icon:unref(arrow_left_bold_default)},null,8,["icon"])])):createCommentVNode("",!0),y.value?(openBlock(),createElementBlock("div",{key:2,class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-item-right-icon",onClick:de[1]||(de[1]=ue=>re("right"))},[createVNode(_sfc_main$33,{icon:unref(arrow_right_bold_default)},null,8,["icon"])])):createCommentVNode("",!0)],512))}}),_hoisted_1$m={key:0,id:"m-editor-page-bar-list-icon",class:"m-editor-page-bar-item m-editor-page-bar-item-icon"},_sfc_main$28=defineComponent({name:"MEditorPageList",__name:"PageList",props:{list:{}},setup(n){const{editorService:e,uiService:t}=useServices(),i=computed$1(()=>t.get("showPageListButton")),r=computed$1(()=>e.get("page")),g=async y=>{await e.select(y)};return(y,k)=>i.value?(openBlock(),createElementBlock("div",_hoisted_1$m,[createVNode(unref(_sfc_main$45),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$49),{class:"m-editor-page-list-menu-icon"},{default:withCtx(()=>[createVNode(unref(files_default$1))]),_:1})]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(y.$slots,"page-list-popover",{list:y.list},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.list,(L,V)=>{var z,j;return openBlock(),createBlock(_sfc_main$2b,{data:{type:"button",text:((z=L.devconfig)==null?void 0:z.tabName)||L.name||L.id,className:L.id===((j=r.value)==null?void 0:j.id)?"active":"",handler:()=>g(L.id)},key:V},null,8,["data"])}),128))])])]),_:3})])):createCommentVNode("",!0)}}),_hoisted_1$l={class:"m-editor-page-bar-item m-editor-page-bar-item-icon m-editor-page-bar-search"},_sfc_main$27=defineComponent({__name:"Search",props:{query:{},queryModifiers:{}},emits:mergeModels(["search"],["update:query"]),setup(n,{emit:e}){const t=e,i=useModel(n,"query"),r=createForm([{type:"checkbox-group",name:"pageType",options:[{value:NodeType.PAGE,text:"页面"},{value:NodeType.PAGE_FRAGMENT,text:"页面片段"}]},{name:"keyword",type:"text",placeholder:"请输入关键字",clearable:!0}]),g=ref$1(!1),y=k=>{i.value=k,t("search",k)};return(k,L)=>(openBlock(),createElementBlock("div",_hoisted_1$l,[createVNode(_sfc_main$33,{icon:unref(search_default),onClick:L[0]||(L[0]=V=>g.value=!g.value),class:normalizeClass({"icon-active":g.value})},null,8,["icon","class"]),g.value?(openBlock(),createBlock(Teleport$2,{key:0,to:".m-editor-page-bar-tabs"},[i.value?(openBlock(),createBlock(unref(_sfc_main$3v),{key:0,class:"m-editor-page-bar-search-panel",inline:!0,config:unref(r),"init-values":i.value,"prevent-submit-default":!0,onChange:y},null,8,["config","init-values"])):createCommentVNode("",!0)])):createCommentVNode("",!0)]))}}),_hoisted_1$k={class:"m-editor-page-bar-tabs"},_hoisted_2$9=["data-page-id","onClick"],_hoisted_3$3={class:"m-editor-page-bar-title"},_hoisted_4$3=["title"],_sfc_main$26=defineComponent({name:"MEditorPageBar",__name:"PageBar",props:{disabledPageFragment:{type:Boolean},pageBarSortOptions:{},filterFunction:{type:Function,default:(n,e)=>{var t;return((t=n.name)==null?void 0:t.includes(e))||"".concat(n.id).includes(e)}}},setup(n){const e=n,{editorService:t}=useServices(),i=computed$1(()=>t.get("root")),r=computed$1(()=>t.get("page")),g=ref$1({pageType:[NodeType.PAGE,NodeType.PAGE_FRAGMENT],keyword:""}),y=computed$1(()=>{var re;const{pageType:ie,keyword:oe}=g.value;return ie.length===0?[]:(((re=i.value)==null?void 0:re.items)||[]).filter(ae=>ie.includes(ae.type)?oe?e.filterFunction(ae,oe):!0:!1)}),k=ie=>{t.select(ie)},L=ie=>{ie&&t.copy(ie),t.paste({left:0,top:0})},V=ie=>{t.remove(ie)},z=useTemplateRef("pageBarScrollContainer"),j=useTemplateRef("pageBarItems");return watch(r,ie=>{var ae;if(!ie||!((ae=z.value)!=null&&ae.itemsContainerWidth)||!j.value||j.value.length<2)return;const oe=j.value[0],re=j.value[j.value.length-1];if(ie.id===oe.dataset.pageId)z.value.scroll("start");else if(ie.id===re.dataset.pageId)z.value.scroll("end");else{const le=j.value.find($e=>$e.dataset.pageId===ie.id);if(!le)return;const de=le.getBoundingClientRect(),ue=de.left-oe.getBoundingClientRect().left,{itemsContainerWidth:he}=z.value,pe=he-ue-de.width,Ce=z.value.getTranslateLeft();(ue+Ce<0||ue+de.width>he-Ce)&&z.value.scrollTo(pe)}}),(ie,oe)=>(openBlock(),createElementBlock("div",_hoisted_1$k,[createVNode(_sfc_main$29,{ref:"pageBarScrollContainer","page-bar-sort-options":ie.pageBarSortOptions,length:y.value.length},{prepend:withCtx(()=>[renderSlot(ie.$slots,"page-bar-add-button",{},()=>[createVNode(_sfc_main$2a)]),createVNode(_sfc_main$27,{query:g.value,"onUpdate:query":oe[0]||(oe[0]=re=>g.value=re)},null,8,["query"]),createVNode(_sfc_main$28,{list:y.value},{"page-list-popover":withCtx(({list:re})=>[renderSlot(ie.$slots,"page-list-popover",{list:re})]),_:3},8,["list"])]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(y.value,re=>{var ae;return openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-page-bar-item",{active:((ae=r.value)==null?void 0:ae.id)===re.id}]),ref_for:!0,ref:"pageBarItems",key:re.id,"data-page-id":re.id,onClick:le=>k(re.id)},[createBaseVNode("div",_hoisted_3$3,[renderSlot(ie.$slots,"page-bar-title",{page:re},()=>[createBaseVNode("span",{title:re.name},toDisplayString(re.name||re.id),9,_hoisted_4$3)])]),createVNode(unref(_sfc_main$45),{"popper-class":"page-bar-popover",placement:"top",trigger:"hover",width:160,"destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$49),{class:"m-editor-page-bar-menu-icon"},{default:withCtx(()=>[createVNode(unref(caret_bottom_default))]),_:1})]),default:withCtx(()=>[createBaseVNode("div",null,[renderSlot(ie.$slots,"page-bar-popover",{page:re},()=>[createVNode(_sfc_main$2b,{data:{type:"button",text:"复制",icon:unref(document_copy_default$1),handler:()=>L(re)}},null,8,["data"]),createVNode(_sfc_main$2b,{data:{type:"button",text:"删除",icon:unref(delete_default$1),handler:()=>V(re)}},null,8,["data"])])])]),_:2},1024)],10,_hoisted_2$9)}),128))]),_:3},8,["page-bar-sort-options","length"])]))}}),_hoisted_1$j={class:"m-editor-empty-panel"},_hoisted_2$8={class:"m-editor-empty-content"},_sfc_main$25=defineComponent({name:"MEditorAddPageBox",__name:"AddPageBox",props:{disabledPageFragment:{type:Boolean}},setup(n){const{editorService:e}=useServices(),t=i=>{const r=toRaw(e.get("root"));if(!r)throw new Error("root 不能为空");e.add({type:i,name:generatePageNameByApp(r,i),items:[]})};return(i,r)=>(openBlock(),createElementBlock("div",_hoisted_1$j,[createBaseVNode("div",_hoisted_2$8,[createBaseVNode("div",{class:"m-editor-empty-button",onClick:r[0]||(r[0]=g=>t(unref(NodeType).PAGE))},[createBaseVNode("div",null,[createVNode(_sfc_main$33,{icon:unref(plus_default$1)},null,8,["icon"])]),r[2]||(r[2]=createBaseVNode("p",null,"新增页面",-1))]),i.disabledPageFragment?createCommentVNode("",!0):(openBlock(),createElementBlock("div",{key:0,class:"m-editor-empty-button",onClick:r[1]||(r[1]=g=>t(unref(NodeType).PAGE_FRAGMENT))},[createBaseVNode("div",null,[createVNode(_sfc_main$33,{icon:unref(plus_default$1)},null,8,["icon"])]),r[3]||(r[3]=createBaseVNode("p",null,"新增页面片",-1))]))])]))}}),_hoisted_1$i={class:"m-editor",ref:"content",style:{"min-width":"900px"}},_sfc_main$24=defineComponent({name:"MEditorFramework",__name:"Framework",props:{disabledPageFragment:{type:Boolean},pageBarSortOptions:{},pageFilterFunction:{type:Function}},setup(n){const e=inject("codeOptions",{}),{editorService:t,uiService:i,storageService:r}=useServices(),g=useTemplateRef("content"),y=useTemplateRef("splitView"),k=computed$1(()=>t.get("root")),L=computed$1(()=>t.get("page")),V=computed$1(()=>t.get("pageLength")||0),z=computed$1(()=>i.get("showSrc")),j=computed$1(()=>i.get("columnWidth"));watch(V,()=>{var le;(le=y.value)==null||le.updateWidth()}),watch(()=>i.get("hideSlideBar"),le=>{i.set("columnWidth",{...j.value,left:le?0:r.getItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||DEFAULT_LEFT_COLUMN_WIDTH})});const ie=le=>{r.setItem(LEFT_COLUMN_WIDTH_STORAGE_KEY,le.left,{protocol:Protocol.NUMBER}),r.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,le.right,{protocol:Protocol.NUMBER}),i.set("columnWidth",le)},oe=computed$1(()=>i.get("frameworkRect")),re=new ResizeObserver(le=>{const{contentRect:de}=le[0];i.set("frameworkRect",{width:de.width,height:de.height,left:de.left,top:de.top})});onMounted(()=>{g.value&&re.observe(g.value)}),onBeforeUnmount(()=>{re.disconnect()});const ae=le=>{try{const de=getEditorConfig("parseDSL");t.set("root",de(le))}catch(de){console.error(de)}};return(le,de)=>(openBlock(),createElementBlock("div",_hoisted_1$i,[renderSlot(le.$slots,"header"),renderSlot(le.$slots,"nav"),renderSlot(le.$slots,"content-before"),z.value?renderSlot(le.$slots,"src-code",{key:0},()=>[createVNode(_sfc_main$32,{class:"m-editor-content","init-values":k.value,options:unref(e),onSave:ae},null,8,["init-values","options"])]):(openBlock(),createBlock(_sfc_main$2c,{key:1,ref:"splitView",class:"m-editor-content","left-class":"m-editor-framework-left","center-class":"m-editor-framework-center","right-class":"m-editor-framework-right",left:j.value.left,right:j.value.right,"min-left":unref(MIN_LEFT_COLUMN_WIDTH),"min-right":unref(MIN_RIGHT_COLUMN_WIDTH),"min-center":unref(MIN_CENTER_COLUMN_WIDTH),width:oe.value.width,onChange:ie},createSlots({left:withCtx(()=>[renderSlot(le.$slots,"sidebar")]),center:withCtx(()=>[L.value?renderSlot(le.$slots,"workspace",{key:0}):renderSlot(le.$slots,"empty",{key:1},()=>[createVNode(_sfc_main$25,{"disabled-page-fragment":le.disabledPageFragment},null,8,["disabled-page-fragment"])]),renderSlot(le.$slots,"page-bar",{},()=>[createVNode(_sfc_main$26,{"disabled-page-fragment":le.disabledPageFragment,"page-bar-sort-options":le.pageBarSortOptions,"filter-function":le.pageFilterFunction},{"page-bar-add-button":withCtx(()=>[renderSlot(le.$slots,"page-bar-add-button")]),"page-bar-title":withCtx(({page:ue})=>[renderSlot(le.$slots,"page-bar-title",{page:ue})]),"page-bar-popover":withCtx(({page:ue})=>[renderSlot(le.$slots,"page-bar-popover",{page:ue})]),"page-list-popover":withCtx(({list:ue})=>[renderSlot(le.$slots,"page-list-popover",{list:ue})]),_:3},8,["disabled-page-fragment","page-bar-sort-options","filter-function"])])]),_:2},[L.value?{name:"right",fn:withCtx(()=>[renderSlot(le.$slots,"props-panel")]),key:"0"}:void 0]),1032,["left","right","min-left","min-right","min-center","width"])),renderSlot(le.$slots,"content-after"),renderSlot(le.$slots,"footer")],512))}}),_sfc_main$23=defineComponent({name:"MEditorNavMenu",__name:"NavMenu",props:{data:{default:()=>({})},height:{default:35}},setup(n){const e=n,{uiService:t,editorService:i,historyService:r}=useServices(),g=computed$1(()=>t.get("columnWidth")),y=Object.values(ColumnLayout),k=computed$1(()=>t.get("showGuides")),L=computed$1(()=>t.get("showRule")),V=computed$1(()=>t.get("zoom")),j=/mac os x/.test(navigator.userAgent.toLowerCase())?"Command":"Ctrl",ie=le=>{if(typeof le!="string")return[le];const de=[];switch(le){case"/":de.push({type:"divider",className:"divider"});break;case"zoom":de.push(...ie("zoom-out"),...ie("".concat(parseInt("".concat(V.value*100),10),"%")),...ie("zoom-in"),...ie("scale-to-original"),...ie("scale-to-fit"));break;case"delete":de.push({type:"button",className:"delete",icon:markRaw(delete_default$1),tooltip:"刪除(Delete)",disabled:()=>{var ue;return((ue=i.get("node"))==null?void 0:ue.type)===NodeType.PAGE},handler:()=>{const ue=i.get("node");ue&&i.remove(ue)}});break;case"undo":de.push({type:"button",className:"undo",icon:markRaw(back_default),tooltip:"后退(".concat(j,"+z)"),disabled:()=>!r.state.canUndo,handler:()=>i.undo()});break;case"redo":de.push({type:"button",className:"redo",icon:markRaw(right_default),tooltip:"前进(".concat(j,"+Shift+z)"),disabled:()=>!r.state.canRedo,handler:()=>i.redo()});break;case"zoom-in":de.push({type:"button",className:"zoom-in",icon:markRaw(zoom_in_default$1),tooltip:"放大(".concat(j,"+=)"),handler:()=>t==null?void 0:t.zoom(.1)});break;case"zoom-out":de.push({type:"button",className:"zoom-out",icon:markRaw(zoom_out_default),tooltip:"縮小(".concat(j,"+-)"),handler:()=>t==null?void 0:t.zoom(-.1)});break;case"scale-to-original":de.push({type:"button",className:"scale-to-original",icon:markRaw(scale_to_original_default),tooltip:"缩放到实际大小(".concat(j,"+1)"),handler:()=>t==null?void 0:t.set("zoom",1)});break;case"scale-to-fit":de.push({type:"button",className:"scale-to-fit",icon:markRaw(full_screen_default),tooltip:"缩放以适应(".concat(j,"+0)"),handler:async()=>t==null?void 0:t.set("zoom",await t.calcZoom())});break;case"rule":de.push({type:"button",className:"rule",icon:markRaw(memo_default),tooltip:L.value?"隐藏标尺":"显示标尺",handler:()=>t==null?void 0:t.set("showRule",!L.value)});break;case"guides":de.push({type:"button",className:"guides",icon:markRaw(grid_default$1),tooltip:k.value?"隐藏参考线":"显示参考线",handler:()=>t==null?void 0:t.set("showGuides",!k.value)});break;default:de.push({type:"text",text:le})}return de},oe=computed$1(()=>{const le={[ColumnLayout.LEFT]:[],[ColumnLayout.CENTER]:[],[ColumnLayout.RIGHT]:[]};return y.forEach(de=>{(e.data[de]||[]).forEach(he=>{le[de].push(...ie(he))})}),le}),re=useTemplateRef("navMenu"),ae=new ResizeObserver(()=>{var de;const le=(de=re.value)==null?void 0:de.getBoundingClientRect();le&&t.set("navMenuRect",{left:le.left,top:le.top,width:le.width,height:le.height})});return onMounted(()=>{re.value&&ae.observe(re.value)}),onBeforeUnmount(()=>{ae.disconnect()}),(le,de)=>(openBlock(),createElementBlock("div",{class:"m-editor-nav-menu",style:normalizeStyle({height:"".concat(le.height,"px")}),ref:"navMenu"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(y),ue=>{var he;return openBlock(),createElementBlock("div",{class:normalizeClass("menu-".concat(ue)),key:ue,style:normalizeStyle("width: ".concat((he=g.value)==null?void 0:he[ue],"px"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(oe.value[ue],(pe,Ce)=>(openBlock(),createBlock(_sfc_main$2b,{data:pe,key:Ce},null,8,["data"]))),128))],6)}),128))],4))}}),_hoisted_1$h={class:"m-editor-props-form-panel"},_sfc_main$22=defineComponent({name:"MEditorFormPanel",__name:"FormPanel",props:{config:{},values:{},disabledShowSrc:{type:Boolean},labelWidth:{},codeValueKey:{},labelPosition:{},extendState:{type:Function}},emits:["submit","submit-error","form-error","mounted","unmounted"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=useServices(),{editorService:y,uiService:k}=g,L=inject("codeOptions",{}),V=ref$1(!1),z=computed$1(()=>k.get("propsPanelSize")||"small"),{height:j}=useEditorContentHeight(),ie=computed$1(()=>y.get("stage")),oe=useTemplateRef("configForm");watchEffect(()=>{oe.value&&(oe.value.formState.stage=ie.value,oe.value.formState.services=g)});const re=getCurrentInstance$1();onMounted(()=>{r("mounted",re==null?void 0:re.proxy)}),onUnmounted(()=>{r("unmounted")});const ae=async(ue,he)=>{var pe;try{const Ce=await((pe=oe.value)==null?void 0:pe.submitForm());r("submit",Ce,he)}catch(Ce){r("submit-error",Ce)}},le=ue=>{r("form-error",ue)},de=ue=>{r("submit",i.codeValueKey?{[i.codeValueKey]:ue}:ue)};return e({configForm:oe,submit:ae}),(ue,he)=>(openBlock(),createElementBlock("div",_hoisted_1$h,[renderSlot(ue.$slots,"props-form-panel-header"),createVNode(unref(_sfc_main$40),null,{default:withCtx(()=>[createVNode(unref(_sfc_main$3v),{ref:"configForm",class:normalizeClass(z.value),"popper-class":"m-editor-props-panel-popper ".concat(z.value),"label-width":ue.labelWidth,"label-position":ue.labelPosition,size:z.value,"init-values":ue.values,config:ue.config,"extend-state":ue.extendState,onChange:ae,onError:le},null,8,["class","popper-class","label-width","label-position","size","init-values","config","extend-state"])]),_:1}),ue.disabledShowSrc?createCommentVNode("",!0):(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,class:"m-editor-props-panel-src-icon",circle:"",title:"源码",type:V.value?"primary":"",onClick:he[0]||(he[0]=pe=>V.value=!V.value)},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(document_default$2)},null,8,["icon"])]),_:1},8,["type"])),V.value?(openBlock(),createBlock(_sfc_main$32,{key:1,class:"m-editor-props-panel-src-code",height:"".concat(unref(j),"px"),"init-values":ue.codeValueKey?ue.values[ue.codeValueKey]:ue.values,options:unref(L),parse:!0,onSave:de},null,8,["height","init-values","options"])):createCommentVNode("",!0)]))}}),useStylePanel=({uiService:n,storageService:e},t)=>{const i="props-panel-show-style-panel",r=e.getItem(i,{protocol:Protocol.BOOLEAN});typeof r=="boolean"&&n.set("showStylePanel",r);const g=computed$1(()=>{var L;return y.value&&((L=n.get("showStylePanel"))!=null?L:!0)}),y=computed$1(()=>n.get("frameworkRect").width>=1280);watch(()=>n.get("frameworkRect").width,()=>{n.get("columnWidth").right{n.set("showStylePanel",L),e.setItem(i,L,{protocol:Protocol.BOOLEAN});const V={...n.get("columnWidth")};L?(V.right+=t.value,V.center-=t.value):(V.right-=t.value,V.center+=t.value),V.center<0&&(V.right=V.right+V.center-MIN_CENTER_COLUMN_WIDTH,V.center=MIN_CENTER_COLUMN_WIDTH,t.value=V.right/2),e.setItem(RIGHT_COLUMN_WIDTH_STORAGE_KEY,V.right,{protocol:Protocol.NUMBER}),n.set("columnWidth",V)};return{showStylePanel:g,showStylePanelToggleButton:y,toggleStylePanel:k}},_hoisted_1$g={ref:"propsPanel",class:"m-editor-props-panel"},_hoisted_2$7={class:"m-editor-props-style-panel-title"},_sfc_main$21=defineComponent({name:"MEditorPropsPanel",__name:"PropsPanel",props:{disabledShowSrc:{type:Boolean},extendState:{type:Function}},emits:["submit-error","form-error","mounted","unmounted"],setup(n,{expose:e,emit:t}){const i=t,{editorService:r,uiService:g,propsService:y,storageService:k}=useServices(),L=ref$1({}),V=ref$1([]),z=computed$1(()=>r.get("node")),j=computed$1(()=>r.get("nodes")),ie=[{tabPosition:"right",items:styleTabConfig.items}],oe=async()=>{if(!z.value){V.value=[];return}const Ne=z.value.type||(z.value.items?"container":"text");V.value=await y.getPropsConfig(Ne),L.value=z.value};watchEffect(oe),y.on("props-configs-change",oe),onBeforeUnmount(()=>{y.off("props-configs-change",oe)});const re=async(Ne,Fe)=>{var Ve;try{Ne.id||(Ne.id=L.value.id);const Oe={...Ne,style:{}};Ne.style&&(Object.entries(Ne.style).forEach(([ze,qe])=>{qe!==""&&Oe.style&&(Oe.style[ze]=qe)}),(Ve=Fe==null?void 0:Fe.changeRecords)==null||Ve.forEach(ze=>{var qe;(qe=ze.propPath)!=null&&qe.startsWith("style")&&ze.value===""&&setValueByKeyPath(ze.propPath,ze.value,Oe)})),r.update(Oe,{changeRecords:Fe==null?void 0:Fe.changeRecords})}catch(Oe){i("submit-error",Oe)}},ae=Ne=>{i("form-error",Ne)},le=()=>{Ie.value&&i("mounted",Ie.value)},de=()=>{i("unmounted")},ue=useTemplateRef("propsPanel"),he=ref$1(k.getItem(PROPS_PANEL_WIDTH_STORAGE_KEY,{protocol:Protocol.NUMBER})||300);onMounted(()=>{var Ne;(Ne=ue.value)==null||Ne.style.setProperty("--props-style-panel-width","".concat(Math.max(he.value,0),"px"))});const pe=({deltaX:Ne})=>{if(!ue.value)return;let Ve=globalThis.parseFloat(getComputedStyle(ue.value).getPropertyValue("--props-style-panel-width"))-Ne;Ve>g.get("columnWidth").right&&(Ve=g.get("columnWidth").right-40),he.value=Math.max(Ve,0)};watch(he,Ne=>{var Fe;(Fe=ue.value)==null||Fe.style.setProperty("--props-style-panel-width","".concat(Ne,"px")),k.setItem(PROPS_PANEL_WIDTH_STORAGE_KEY,Ne,{protocol:Protocol.NUMBER})});const{showStylePanel:Ce,showStylePanelToggleButton:$e,toggleStylePanel:xe}=useStylePanel({storageService:k,uiService:g},he),Ie=useTemplateRef("propertyFormPanel");return e({getFormState(){var Ne,Fe;return(Fe=(Ne=Ie.value)==null?void 0:Ne.configForm)==null?void 0:Fe.formState},submit:re}),(Ne,Fe)=>withDirectives((openBlock(),createElementBlock("div",_hoisted_1$g,[renderSlot(Ne.$slots,"props-panel-header"),createVNode(_sfc_main$22,{ref:"propertyFormPanel",class:normalizeClass(["m-editor-props-property-panel",{"show-style-panel":unref(Ce)}]),config:V.value,values:L.value,disabledShowSrc:Ne.disabledShowSrc,extendState:Ne.extendState,onSubmit:re,onSubmitError:ae,onFormError:ae,onMounted:le,onUnmounted:de},null,8,["class","config","values","disabledShowSrc","extendState"]),unref(Ce)?(openBlock(),createBlock(_sfc_main$2d,{key:0,onChange:pe})):createCommentVNode("",!0),unref(Ce)?(openBlock(),createBlock(_sfc_main$22,{key:1,class:"m-editor-props-style-panel","label-position":"top","code-value-key":"style",config:ie,values:L.value,disabledShowSrc:Ne.disabledShowSrc,extendState:Ne.extendState,onSubmit:re,onSubmitError:ae,onFormError:ae},{"props-form-panel-header":withCtx(()=>[createBaseVNode("div",_hoisted_2$7,[Fe[2]||(Fe[2]=createBaseVNode("span",null,"样式",-1)),createBaseVNode("div",null,[createVNode(unref(_sfc_main$4q),{link:"",size:"small",onClick:Fe[0]||(Fe[0]=Ve=>unref(xe)(!1))},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(close_default$1)},null,8,["icon"])]),_:1})])])]),_:1},8,["values","disabledShowSrc","extendState"])):createCommentVNode("",!0),unref($e)&&!unref(Ce)?(openBlock(),createBlock(unref(_sfc_main$4q),{key:2,class:"m-editor-props-panel-style-icon",circle:"",onClick:Fe[1]||(Fe[1]=Ve=>unref(xe)(!0))},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(sugar_default)},null,8,["icon"])]),_:1})):createCommentVNode("",!0)],512)),[[vShow,j.value.length===1]])}}),_sfc_main$20=defineComponent({name:"MEditorContentMenu",__name:"ContentMenu",props:{menuData:{default:()=>[]},isSubMenu:{type:Boolean,default:!1},active:{},autoHide:{type:Boolean,default:!0}},emits:["hide","show","mouseenter"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=useTemplateRef("menu"),y=useTemplateRef("buttons"),k=useTemplateRef("subMenu"),L=ref$1(!1),V=ref$1([]),z=useZIndex$2(),j=ref$1(0),ie=ref$1({left:0,top:0}),oe=computed$1(()=>({top:"".concat(ie.value.top+2,"px"),left:"".concat(ie.value.left+2,"px"),zIndex:j.value})),re=$e=>{var xe,Ie;return((xe=g.value)==null?void 0:xe.contains($e))||((Ie=k.value)==null?void 0:Ie.contains($e))},ae=()=>{var $e;L.value&&(L.value=!1,($e=k.value)==null||$e.hide(),r("hide"))},le=$e=>{i.autoHide&&$e.button===0&&ae()},de=$e=>{if(!i.autoHide)return;const xe=$e.target;!L.value||!xe||re(xe)||ae()},ue=$e=>{var Ne;const xe=((Ne=g.value)==null?void 0:Ne.clientHeight)||0;let Ie=$e.clientY;xe+$e.clientY>document.body.clientHeight&&(Ie=document.body.clientHeight-xe),ie.value={top:Ie,left:$e.clientX}},he=$e=>{L.value=!0,nextTick(()=>{$e&&ue($e),j.value=z.nextZIndex(),r("show")})},pe=($e,xe)=>{const Ie=$e;typeof $e=="object"&&(V.value=Ie.items||[],setTimeout(()=>{var Ne,Fe,Ve;if(L.value&&g.value){let Oe=g.value.offsetTop;(Ne=y.value)!=null&&Ne[xe].$el&&(Oe=((Fe=y.value)==null?void 0:Fe[xe].$el.getBoundingClientRect()).top),(Ve=k.value)==null||Ve.show({clientX:g.value.offsetLeft+g.value.clientWidth-2,clientY:Oe})}},0))},Ce=()=>{r("mouseenter")};return onMounted(()=>{i.isSubMenu||globalThis.addEventListener("mousedown",de,!0)}),onBeforeUnmount(()=>{i.isSubMenu||globalThis.removeEventListener("mousedown",de,!0)}),e({menu:g,menuPosition:ie,hide:ae,show:he,contains:re,setPosition:ue}),($e,xe)=>{const Ie=resolveComponent("content-menu",!0);return openBlock(),createBlock(Transition,{name:"fade"},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{class:"magic-editor-content-menu",ref:"menu",style:normalizeStyle(oe.value),onMouseenter:xe[0]||(xe[0]=Ne=>Ce()),onContextmenu:xe[1]||(xe[1]=withModifiers(()=>{},["prevent"]))},[renderSlot($e.$slots,"title"),createBaseVNode("div",null,[(openBlock(!0),createElementBlock(Fragment,null,renderList($e.menuData,(Ne,Fe)=>(openBlock(),createBlock(_sfc_main$2b,{"event-type":"mouseup",ref_for:!0,ref:"buttons",class:normalizeClass({active:$e.active&&Ne.id===$e.active}),data:Ne,key:Fe,onMouseup:le,onMouseenter:Ve=>pe(Ne,Fe)},null,8,["class","data","onMouseenter"]))),128))]),(openBlock(),createBlock(Teleport$2,{to:"body"},[V.value.length?(openBlock(),createBlock(Ie,{key:0,class:"sub-menu",ref:"subMenu",active:$e.active,"menu-data":V.value,"is-sub-menu":!0,onHide:ae},null,8,["active","menu-data"])):createCommentVNode("",!0)]))],36),[[vShow,L.value]])]),_:3})}}}),_sfc_main$1$=defineComponent({name:"MEditorSearchInput",__name:"SearchInput",emits:["search"],setup(n,{emit:e}){const t=e,i=ref$1("");let r=null;const g=()=>{r&&clearTimeout(r),r=setTimeout(()=>{t("search",i.value),r=null},300)};return(y,k)=>(openBlock(),createBlock(unref(_sfc_main$48),{modelValue:i.value,"onUpdate:modelValue":k[0]||(k[0]=L=>i.value=L),class:"search-input",size:"small",placeholder:"输入关键字进行过滤",clearable:"",onInput:g},{prefix:withCtx(()=>[createVNode(unref(_sfc_main$49),null,{default:withCtx(()=>[createVNode(unref(search_default))]),_:1})]),_:1},8,["modelValue"]))}}),_hoisted_1$f=["draggable","data-node-id","data-parent-id","data-parents-id","data-is-container"],_hoisted_2$6={class:"tree-node-label"},_hoisted_3$2={class:"tree-node-tool"},_hoisted_4$2={key:0,class:"m-editor-tree-node-children"},_sfc_main$1_=defineComponent({name:"MEditorTreeNode",__name:"TreeNode",props:{data:{},parent:{},parentsId:{default:()=>[]},nodeStatusMap:{},indent:{default:0},nextLevelIndentIncrement:{default:11}},emits:["node-dragstart","node-dragleave","node-dragend","node-contextmenu","node-mouseenter","node-click"],setup(n,{emit:e}){const t=inject("treeEmit"),i=n,r=computed$1(()=>{var de;return((de=i.nodeStatusMap)==null?void 0:de.get(i.data.id))||{selected:!1,expand:!1,visible:!1,draggable:!1}}),g=computed$1(()=>r.value.expand),y=computed$1(()=>r.value.selected),k=computed$1(()=>r.value.visible),L=computed$1(()=>r.value.draggable),V=computed$1(()=>Array.isArray(i.data.items)&&i.data.items.some(de=>{var ue;return(ue=i.nodeStatusMap.get(de.id))==null?void 0:ue.visible})),z=de=>{t==null||t("node-dragstart",de,i.data)},j=de=>{t==null||t("node-dragleave",de,i.data)},ie=de=>{t==null||t("node-dragend",de,i.data)},oe=de=>{t==null||t("node-contextmenu",de,i.data)},re=de=>{t==null||t("node-mouseenter",de,i.data)},ae=()=>{updateStatus(i.nodeStatusMap,i.data.id,{expand:!g.value})},le=de=>{t==null||t("node-click",de,i.data)};return(de,ue)=>{var pe;const he=resolveComponent("TreeNode",!0);return withDirectives((openBlock(),createElementBlock("div",{class:"m-editor-tree-node",draggable:L.value,"data-node-id":de.data.id,"data-parent-id":(pe=de.parent)==null?void 0:pe.id,"data-parents-id":de.parentsId,"data-is-container":Array.isArray(de.data.items),onDragstart:z,onDragleave:j,onDragend:ie},[createBaseVNode("div",{class:normalizeClass(["tree-node",{selected:y.value,expanded:g.value}]),style:normalizeStyle("padding-left: ".concat(de.indent,"px")),onContextmenu:oe,onMouseenter:re},[createVNode(_sfc_main$33,{class:"expand-icon",style:normalizeStyle(V.value?"":"color: transparent; cursor: default"),icon:g.value?unref(arrow_down_default$1):unref(arrow_right_default$1),onClick:ae},null,8,["style","icon"]),createBaseVNode("div",{class:"tree-node-content",onClick:le},[renderSlot(de.$slots,"tree-node-content",{data:de.data},()=>[createBaseVNode("div",_hoisted_2$6,[renderSlot(de.$slots,"tree-node-label",{data:de.data},()=>[createTextVNode(toDisplayString("".concat(de.data.name," (").concat(de.data.id,")")),1)])]),createBaseVNode("div",_hoisted_3$2,[renderSlot(de.$slots,"tree-node-tool",{data:de.data})])])])],38),V.value&&g.value?(openBlock(),createElementBlock("div",_hoisted_4$2,[(openBlock(!0),createElementBlock(Fragment,null,renderList(de.data.items,Ce=>(openBlock(),createBlock(he,{key:Ce.id,data:Ce,parent:de.data,parentsId:[...de.parentsId,de.data.id],"node-status-map":de.nodeStatusMap,indent:de.indent+de.nextLevelIndentIncrement},{"tree-node-content":withCtx(({data:$e})=>[renderSlot(de.$slots,"tree-node-content",{data:$e})]),"tree-node-label":withCtx(({data:$e})=>[renderSlot(de.$slots,"tree-node-label",{data:$e})]),"tree-node-tool":withCtx(({data:$e})=>[renderSlot(de.$slots,"tree-node-tool",{data:$e})]),_:2},1032,["data","parent","parentsId","node-status-map","indent"]))),128))])):createCommentVNode("",!0)],40,_hoisted_1$f)),[[vShow,k.value]])}}}),_hoisted_1$e={key:1,class:"m-editor-tree-empty"},_sfc_main$1Z=defineComponent({name:"MEditorTree",__name:"Tree",props:{data:{},nodeStatusMap:{},indent:{default:0},nextLevelIndentIncrement:{},emptyText:{default:"暂无数据"}},emits:["node-dragover","node-dragstart","node-dragleave","node-dragend","node-contextmenu","node-mouseenter","node-click"],setup(n,{emit:e}){const t=e;provide("treeEmit",t);const i=r=>{t("node-dragover",r)};return(r,g)=>{var y;return openBlock(),createElementBlock("div",{class:"m-editor-tree",onDragover:i},[(y=r.data)!=null&&y.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(r.data,k=>(openBlock(),createBlock(_sfc_main$1_,{key:k.id,data:k,indent:r.indent,"next-level-indent-increment":r.nextLevelIndentIncrement,"node-status-map":r.nodeStatusMap},{"tree-node-content":withCtx(({data:L})=>[renderSlot(r.$slots,"tree-node-content",{data:L})]),"tree-node-label":withCtx(({data:L})=>[renderSlot(r.$slots,"tree-node-label",{data:L})]),"tree-node-tool":withCtx(({data:L})=>[renderSlot(r.$slots,"tree-node-tool",{data:L})]),_:2},1032,["data","indent","next-level-indent-increment","node-status-map"]))),128)):(openBlock(),createElementBlock("div",_hoisted_1$e,[createBaseVNode("p",null,toDisplayString(r.emptyText),1)]))],32)}}}),_sfc_main$1Y=defineComponent({name:"MEditorCodeBlockList",__name:"CodeBlockList",props:{indent:{},nextLevelIndentIncrement:{},customError:{type:Function}},emits:["edit","remove","node-contextmenu"],setup(n,{expose:e,emit:t}){const i=n,r=t,{codeBlockService:g,depService:y,editorService:k}=useServices(),L=computed$1(()=>Object.entries(g.getCodeDsl()||{}).map(([ue,he])=>{var xe,Ie;const pe=y.getTarget(ue,DepTargetType.CODE_BLOCK),Ce=((xe=k.get("root"))==null?void 0:xe.items.map(Ne=>{var Fe;return{name:((Fe=Ne.devconfig)==null?void 0:Fe.tabName)||Ne.name,type:"node",id:"".concat(ue,"_").concat(Ne.id),key:Ne.id,items:[]}}))||[];return pe&&Object.entries(pe.deps).forEach(([Ne,Fe])=>{var Oe;const Ve=Ce.find(ze=>{var qe;return ze.key===((qe=Fe.data)==null?void 0:qe.pageId)});(Oe=Ve==null?void 0:Ve.items)==null||Oe.push({name:Fe.name,type:"node",id:"".concat(Ve.id,"_").concat(Ne),key:Ne,items:Fe.keys.map(ze=>({name:"".concat(ze),id:"".concat(pe.id,"_").concat(Ne,"_").concat(ze),type:"key"}))})}),{id:ue,key:ue,name:he.name,type:"code",codeBlockContent:g.getCodeContentById(ue),items:Ce.length>1?Ce.filter(Ne=>{var Fe;return(Fe=Ne.items)==null?void 0:Fe.length}):((Ie=Ce[0])==null?void 0:Ie.items)||[]}})),V=(ue,he)=>ue?"".concat(he.name).concat(he.id).toLocaleLowerCase().includes(ue.toLocaleLowerCase()):!0,{nodeStatusMap:z}=useNodeStatus$1(L),{filterTextChangeHandler:j}=useFilter(L,z,V),ie=computed$1(()=>g.getEditStatus()),oe=ue=>{const he=k.get("stage");k.select(ue),he==null||he.select(ue)},re=(ue,he)=>{he.type==="node"&&oe(he.key)},ae=ue=>{r("edit",ue)},le=async ue=>{var $e;const he=L.value.find(xe=>xe.id===ue),pe=!!(($e=he==null?void 0:he.items)!=null&&$e.length),Ce=g.getUndeletableList()||[];!pe&&!Ce.includes(ue)?(await tMagicMessageBox.confirm("确定删除该代码块吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),r("remove",ue)):typeof i.customError=="function"?i.customError(ue,pe?CodeDeleteErrorType.BIND:CodeDeleteErrorType.UNDELETEABLE):pe?tMagicMessage.error("代码块存在绑定关系,不可删除"):tMagicMessage.error("代码块不可删除")},de=(ue,he)=>{r("node-contextmenu",ue,he)};return e({nodeStatusMap:z,filter:j,deleteCode:le}),(ue,he)=>(openBlock(),createBlock(_sfc_main$1Z,{data:L.value,"node-status-map":unref(z),indent:ue.indent,"next-level-indent-increment":ue.nextLevelIndentIncrement,onNodeClick:re,onNodeContextmenu:de},{"tree-node-label":withCtx(({data:pe})=>[createBaseVNode("div",{class:normalizeClass({code:pe.type==="code",hook:pe.type==="key",disabled:pe.type==="key"||pe.type==="code"})},toDisplayString(pe.name)+" "+toDisplayString(pe.key?"(".concat(pe.key,")"):""),3)]),"tree-node-tool":withCtx(({data:pe})=>[pe.type==="code"?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,effect:"dark",content:ie.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:ie.value?unref(edit_default):unref(view_default$1),class:"edit-icon",onClick:withModifiers(Ce=>ae("".concat(pe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("",!0),pe.type==="code"&&ie.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(close_default$1),class:"edit-icon",onClick:withModifiers(Ce=>le("".concat(pe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("",!0),renderSlot(ue.$slots,"code-block-panel-tool",{id:pe.key,data:pe})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment"]))}}),useContentMenu$1=n=>{const e=inject("eventBus"),t=useTemplateRef("menu");let i="";return{menuData:[{type:"button",text:"编辑",icon:edit_default,display:({codeBlockService:k})=>k.getEditStatus(),handler:()=>{i&&(e==null||e.emit("edit-code",i))}},{type:"button",text:"复制并粘贴至当前",icon:markRaw(copy_document_default$1),handler:async({codeBlockService:k})=>{if(!i)return;const L=k.getCodeContentById(i);if(!L)return;const V=await k.getUniqueId();k.setCodeDslById(V,cloneDeep(L))}},{type:"button",text:"删除",icon:delete_default$1,handler:()=>{i&&n(i)}}],nodeContentMenuHandler:(k,L)=>{var V;k.preventDefault(),L.type==="code"&&((V=t.value)==null||V.show(k),L.id?i="".concat(L.id):i="")},contentMenuHideHandler:()=>{i=""}}},_hoisted_1$d={class:"search-wrapper"},_sfc_main$1X=defineComponent({name:"MEditorCodeBlockListPanel",__name:"CodeBlockListPanel",props:{indent:{},nextLevelIndentIncrement:{},customError:{type:Function},customContentMenu:{type:Function}},setup(n){const e=n,t=inject("eventBus"),{codeBlockService:i}=useServices(),r=computed$1(()=>i.getEditStatus()),{codeId:g,codeBlockEditor:y,codeConfig:k,editCode:L,deleteCode:V,createCodeBlock:z,submitCodeBlockHandler:j}=useCodeBlockEdit(i),ie=useTemplateRef("codeBlockList"),oe=he=>{var pe;(pe=ie.value)==null||pe.filter(he)};t==null||t.on("edit-code",he=>{L(he)}),watch(g,()=>{if(ie.value)for(const[he,pe]of ie.value.nodeStatusMap.entries())pe.selected=he===g.value});const re=()=>{if(ie.value)for(const[,he]of ie.value.nodeStatusMap.entries())he.selected=!1},{nodeContentMenuHandler:ae,menuData:le,contentMenuHideHandler:de}=useContentMenu$1(he=>{var pe;(pe=ie.value)==null||pe.deleteCode(he)}),ue=computed$1(()=>e.customContentMenu(le,"code-block"));return(he,pe)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$40),{class:"m-editor-code-block-list m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(he.$slots,"code-block-panel-header",{},()=>[createBaseVNode("div",_hoisted_1$d,[createVNode(_sfc_main$1$,{onSearch:oe}),r.value?(openBlock(),createBlock(unref(_sfc_main$4q),{key:0,class:"create-code-button",type:"primary",size:"small",onClick:unref(z)},{default:withCtx(()=>pe[0]||(pe[0]=[createTextVNode("新增")])),_:1,__:[0]},8,["onClick"])):createCommentVNode("",!0),renderSlot(he.$slots,"code-block-panel-search")])]),createVNode(_sfc_main$1Y,{ref:"codeBlockList","custom-error":he.customError,indent:he.indent,"next-level-indent-increment":he.nextLevelIndentIncrement,onEdit:unref(L),onRemove:unref(V),onNodeContextmenu:unref(ae)},{"code-block-panel-tool":withCtx(({id:Ce,data:$e})=>[renderSlot(he.$slots,"code-block-panel-tool",{id:Ce,data:$e})]),_:3},8,["custom-error","indent","next-level-indent-increment","onEdit","onRemove","onNodeContextmenu"])]),_:3}),unref(k)?(openBlock(),createBlock(_sfc_main$2S,{key:0,ref_key:"codeBlockEditor",ref:y,disabled:!r.value,content:unref(k),onSubmit:unref(j),onClose:re},null,8,["disabled","content","onSubmit"])):createCommentVNode("",!0),(openBlock(),createBlock(Teleport$2,{to:"body"},[ue.value.length?(openBlock(),createBlock(_sfc_main$20,{key:0,"menu-data":ue.value,ref:"menu",style:{overflow:"initial"},onHide:unref(de)},null,8,["menu-data","onHide"])):createCommentVNode("",!0)]))],64))}}),useDataSourceEdit=n=>{const e=ref$1(""),t=ref$1(),i=ref$1({}),r=computed$1(()=>n.get("editable"));return{dialogTitle:e,editDialog:t,dataSourceValues:i,editable:r,editHandler:k=>{t.value&&(i.value={...n.getDataSourceById(k)||{}},e.value="编辑".concat(i.value.title||""),t.value.show())},submitDataSourceHandler:(k,L)=>{var V;k.id?n.update(k,{changeRecords:L.changeRecords}):n.add(k),(V=t.value)==null||V.hide()}}},_sfc_main$1W=defineComponent({name:"MEditorDataSourceConfigPanel",__name:"DataSourceConfigPanel",props:mergeModels({title:{},values:{},disabled:{type:Boolean}},{visible:{type:Boolean,default:!1},visibleModifiers:{},width:{default:670},widthModifiers:{}}),emits:mergeModels(["submit","close","open"],["update:visible","update:width"]),setup(n,{expose:e,emit:t}){const i=n,r=useModel(n,"visible"),g=useModel(n,"width"),y=t,{uiService:k,dataSourceService:L}=useServices(),V=ref$1({}),z=ref$1([]),{height:j}=useEditorContentHeight(),ie=inject("parentFloating",ref$1(null)),{boxPosition:oe,calcBoxPosition:re}=useNextFloatBoxPosition(k,ie);watchEffect(()=>{V.value=i.values,z.value=L.getFormConfig(V.value.type)});const ae=(de,ue)=>{y("submit",de,ue)},le=de=>{tMagicMessage.error(de.message)};return watch(r,de=>{nextTick(()=>{var ue;de?(ue=V.value)!=null&&ue.id&&y("open",V.value.id):y("close")})}),e({show(){re(),r.value=!0},hide(){r.value=!1}}),(de,ue)=>(openBlock(),createBlock(_sfc_main$2X,{visible:r.value,"onUpdate:visible":ue[0]||(ue[0]=he=>r.value=he),width:g.value,"onUpdate:width":ue[1]||(ue[1]=he=>g.value=he),height:unref(j),"onUpdate:height":ue[2]||(ue[2]=he=>isRef(j)?j.value=he:null),title:de.title,position:unref(oe)},{body:withCtx(()=>[createVNode(unref(_sfc_main$3a),{"label-width":"80px",title:de.title,config:z.value,values:V.value,disabled:de.disabled,style:{height:"100%"},onSubmit:ae,onError:le},null,8,["title","config","values","disabled"])]),_:1},8,["visible","width","height","title","position"]))}}),_sfc_main$1V=defineComponent({name:"MEditorDataSourceList",__name:"DataSourceList",props:{indent:{},nextLevelIndentIncrement:{}},emits:["edit","remove","node-contextmenu"],setup(n,{expose:e,emit:t}){const i=t,{depService:r,editorService:g,dataSourceService:y}=useServices(),k=computed$1(()=>y.get("editable")),L=computed$1(()=>y.get("dataSources")),V=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE)),z=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE_METHOD)),j=computed$1(()=>r.getTargets(DepTargetType.DATA_SOURCE_COND)),ie=(Ie,Ne,Fe)=>Ie.keys.map(Ve=>({name:Ve,id:"".concat(Fe,"_").concat(Ve),type:"key",isMethod:Ne==="method",isCond:Ne==="cond"})),oe=(Ie,Ne,Fe,Ve)=>({name:Ne.name,type:"node",id:"".concat(Ve,"_").concat(Ie),key:Ie,items:ie(Ne,Fe,"".concat(Ve,"_").concat(Ie))}),re=(Ie,Ne,Fe,Ve)=>{Object.entries(Fe).forEach(([Oe,ze])=>{const qe=Ne.find(Et=>{var At;return Et.key===((At=ze.data)==null?void 0:At.pageId)}),Ue=qe==null?void 0:qe.items.find(Et=>Et.key===Oe);Ue?Ue.items=Ue.items.concat(ie(ze,Ve,Ue.key)):qe==null||qe.items.push(oe(Oe,ze,Ve,qe.id))})},ae=computed$1(()=>L.value.map(Ie=>{var ze,qe,Ue,Et,At;const Ne=((ze=V.value[Ie.id])==null?void 0:ze.deps)||{},Fe=((qe=z.value[Ie.id])==null?void 0:qe.deps)||{},Ve=((Ue=j.value[Ie.id])==null?void 0:Ue.deps)||{},Oe=((Et=g.get("root"))==null?void 0:Et.items.map(Lt=>{var kt;return{name:((kt=Lt.devconfig)==null?void 0:kt.tabName)||Lt.name,type:"node",id:"".concat(Ie.id,"_").concat(Lt.id),key:Lt.id,items:[]}}))||[];return re(Ie.id,Oe,Ne),re(Ie.id,Oe,Fe,"method"),re(Ie.id,Oe,Ve,"cond"),{id:Ie.id,key:Ie.id,name:Ie.title,type:"ds",items:Oe.length>1?Oe.filter(Lt=>Lt.items.length):((At=Oe[0])==null?void 0:At.items)||[]}})),le=(Ie,Ne)=>Ie?"".concat(Ne.name).concat(Ne.id).toLocaleLowerCase().includes(Ie.toLocaleLowerCase()):!0,{nodeStatusMap:de}=useNodeStatus$1(ae),{filterTextChangeHandler:ue}=useFilter(ae,de,le),he=Ie=>{i("edit",Ie)},pe=async Ie=>{i("remove",Ie)},Ce=Ie=>{const Ne=g.get("stage");g.select(Ie),Ne==null||Ne.select(Ie)},$e=(Ie,Ne)=>{Ne.type==="node"&&Ce(Ne.key)},xe=(Ie,Ne)=>{i("node-contextmenu",Ie,Ne)};return e({nodeStatusMap:de,filter:ue}),(Ie,Ne)=>(openBlock(),createBlock(_sfc_main$1Z,{data:ae.value,"node-status-map":unref(de),indent:Ie.indent,"next-level-indent-increment":Ie.nextLevelIndentIncrement,onNodeClick:$e,onNodeContextmenu:xe},{"tree-node-label":withCtx(({data:Fe})=>[createBaseVNode("div",{class:normalizeClass({ds:Fe.type==="ds",hook:Fe.type==="key",disabled:Fe.type==="key"||Fe.type==="ds"})},toDisplayString(Fe.name)+" "+toDisplayString(Fe.key?"(".concat(Fe.key,")"):""),3)]),"tree-node-tool":withCtx(({data:Fe})=>[Fe.type==="ds"?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,effect:"dark",content:k.value?"编辑":"查看",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:k.value?unref(edit_default):unref(view_default$1),class:"edit-icon",onClick:withModifiers(Ve=>he("".concat(Fe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1032,["content"])):createCommentVNode("",!0),Fe.type==="ds"&&k.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:1,effect:"dark",content:"删除",placement:"bottom"},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(close_default$1),class:"edit-icon",onClick:withModifiers(Ve=>pe("".concat(Fe.key)),["stop"])},null,8,["icon","onClick"])]),_:2},1024)):createCommentVNode("",!0),renderSlot(Ie.$slots,"data-source-panel-tool",{data:Fe})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment"]))}}),useContentMenu=()=>{const n=inject("eventBus"),e=useTemplateRef("menu");let t="";return{menuData:[{type:"button",text:"编辑",icon:edit_default,display:({dataSourceService:y})=>y.get("editable"),handler:()=>{t&&(n==null||n.emit("edit-data-source",t))}},{type:"button",text:"复制并粘贴至当前",icon:markRaw(copy_document_default$1),handler:({dataSourceService:y})=>{if(!t)return;const k=y.getDataSourceById(t);k&&y.add(cloneDeep(k))}},{type:"button",text:"删除",icon:delete_default$1,handler:()=>{t&&(n==null||n.emit("remove-data-source",t))}}],nodeContentMenuHandler:(y,k)=>{var L;y.preventDefault(),k.type==="ds"&&((L=e.value)==null||L.show(y),k.id?t="".concat(k.id):t="")},contentMenuHideHandler:()=>{t=""}}},_hoisted_1$c={class:"search-wrapper"},_sfc_main$1U=defineComponent({name:"MEditorDataSourceListPanel",__name:"DataSourceListPanel",props:{indent:{},nextLevelIndentIncrement:{},customContentMenu:{type:Function}},setup(n){const e=n,t=inject("eventBus"),{dataSourceService:i}=useServices(),{editDialog:r,dataSourceValues:g,dialogTitle:y,editable:k,editHandler:L,submitDataSourceHandler:V}=useDataSourceEdit(i),z=()=>{if(re.value)for(const[,pe]of re.value.nodeStatusMap.entries())pe.selected=!1};watch(g,pe=>{if(re.value&&pe.id)for(const[Ce,$e]of re.value.nodeStatusMap.entries())$e.selected=Ce===pe.id});const j=computed$1(()=>[{text:"基础",type:"base"},{text:"HTTP",type:"http"}].concat(i.get("datasourceTypeList"))),ie=pe=>{if(!r.value)return;const Ce=j.value.find($e=>$e.type===pe);g.value=mergeWith({type:pe,title:Ce==null?void 0:Ce.text},i.getFormValue(pe),($e,xe)=>{if(Array.isArray(xe))return xe}),y.value="新增".concat((Ce==null?void 0:Ce.text)||""),r.value.show()},oe=async pe=>{await tMagicMessageBox.confirm("确定删除?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),i.remove(pe)},re=useTemplateRef("dataSourceList"),ae=pe=>{var Ce;(Ce=re.value)==null||Ce.filter(pe)};t==null||t.on("edit-data-source",pe=>{L(pe)}),t==null||t.on("remove-data-source",pe=>{oe(pe)});const{nodeContentMenuHandler:le,menuData:de,contentMenuHideHandler:ue}=useContentMenu(),he=computed$1(()=>e.customContentMenu(de,"data-source"));return(pe,Ce)=>(openBlock(),createElementBlock(Fragment,null,[createVNode(unref(_sfc_main$40),{class:"data-source-list-panel m-editor-layer-panel"},{default:withCtx(()=>[createBaseVNode("div",_hoisted_1$c,[createVNode(_sfc_main$1$,{onSearch:ae}),unref(k)?(openBlock(),createBlock(unref(_sfc_main$45),{key:0,placement:"right",trigger:"hover","popper-class":"data-source-list-panel-add-menu","destroy-on-close":!0},{reference:withCtx(()=>[createVNode(unref(_sfc_main$4q),{type:"primary",size:"small"},{default:withCtx(()=>Ce[0]||(Ce[0]=[createTextVNode("新增")])),_:1,__:[0]})]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(j.value,($e,xe)=>(openBlock(),createBlock(_sfc_main$2b,{data:{type:"button",text:$e.text,handler:()=>{ie($e.type)}},key:xe},null,8,["data"]))),128))]),_:1})):createCommentVNode("",!0),renderSlot(pe.$slots,"data-source-panel-search")]),createVNode(_sfc_main$1V,{ref:"dataSourceList",indent:pe.indent,"next-level-indent-increment":pe.nextLevelIndentIncrement,onEdit:unref(L),onRemove:oe,onNodeContextmenu:unref(le)},null,8,["indent","next-level-indent-increment","onEdit","onNodeContextmenu"])]),_:3}),createVNode(_sfc_main$1W,{ref_key:"editDialog",ref:r,disabled:!unref(k),values:unref(g),title:unref(y),onSubmit:unref(V),onClose:z},null,8,["disabled","values","title","onSubmit"]),(openBlock(),createBlock(Teleport$2,{to:"body"},[he.value.length?(openBlock(),createBlock(_sfc_main$20,{key:0,"menu-data":he.value,ref:"menu",style:{overflow:"initial"},onHide:unref(ue)},null,8,["menu-data","onHide"])):createCommentVNode("",!0)]))],64))}}),_hoisted_1$b={width:"1em",height:"1em",viewBox:"0 0 16 16",class:"bi bi-folder-minus",fill:"currentColor",xmlns:"http://www.w3.org/2000/svg"},_sfc_main$1T=defineComponent({name:"MEditorFolderMinusIcon",__name:"FolderMinusIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$b,t[0]||(t[0]=[createBaseVNode("path",{"fill-rule":"evenodd",d:"M9.828 4H2.19a1 1 0 0 0-.996 1.09l.637 7a1 1 0 0 0 .995.91H9v1H2.826a2 2 0 0 1-1.991-1.819l-.637-7a1.99 1.99 0 0 1 .342-1.31L.5 3a2 2 0 0 1 2-2h3.672a2 2 0 0 1 1.414.586l.828.828A2 2 0 0 0 9.828 3h3.982a2 2 0 0 1 1.992 2.181L15.546 8H14.54l.265-2.91A1 1 0 0 0 13.81 4H9.828zm-2.95-1.707L7.587 3H2.19c-.24 0-.47.042-.684.12L1.5 2.98a1 1 0 0 1 1-.98h3.672a1 1 0 0 1 .707.293z"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd",d:"M11 11.5a.5.5 0 0 1 .5-.5h4a.5.5 0 0 1 0 1h-4a.5.5 0 0 1-.5-.5z"},null,-1)])))}}),useDeleteMenu=()=>({type:"button",text:"删除",icon:delete_default$1,display:({editorService:n})=>{const e=n.get("node");return(e==null?void 0:e.type)!==NodeType.ROOT&&!isPage(e)&&!isPageFragment(e)},handler:({editorService:n})=>{const e=n.get("nodes");e&&n.remove(e)}}),useCopyMenu=()=>({type:"button",text:"复制",icon:markRaw(copy_document_default$1),handler:({editorService:n})=>{const e=n==null?void 0:n.get("nodes");e&&(n==null||n.copy(e))}}),usePasteMenu=n=>({type:"button",text:"粘贴",icon:markRaw(document_copy_default$1),display:({storageService:e})=>!!e.getItem(COPY_STORAGE_KEY),handler:({editorService:e,uiService:t})=>{var r,g,y,k;const i=e==null?void 0:e.get("nodes");if(!(!i||i.length===0))if((r=n==null?void 0:n.value)!=null&&r.$el){const L=e.get("stage"),V=n.value.$el.getBoundingClientRect(),z=(g=L==null?void 0:L.container)==null?void 0:g.getBoundingClientRect(),j=calcValueByFontsize((y=L==null?void 0:L.renderer)==null?void 0:y.getDocument(),(V.left||0)-((z==null?void 0:z.left)||0))/t.get("zoom"),ie=calcValueByFontsize((k=L==null?void 0:L.renderer)==null?void 0:k.getDocument(),(V.top||0)-((z==null?void 0:z.top)||0))/t.get("zoom");e.paste({left:j,top:ie})}else e.paste()}}),moveTo=(n,{editorService:e})=>{const t=e.get("nodes")||[],i=e.getNodeById(n);i&&(e.add(t,i),e.remove(t))},useMoveToMenu=({editorService:n})=>{var t;const e=computed$1(()=>n.get("root"));return{type:"button",text:"移动至",display:({editorService:i})=>{const r=i.get("node"),g=i.get("pageLength");return!isPage(r)&&g>1},items:(((t=e.value)==null?void 0:t.items)||[]).filter(i=>{var r;return i.id!==((r=n.get("page"))==null?void 0:r.id)}).map(i=>({text:"".concat(i.name,"(").concat(i.id,")"),type:"button",handler:r=>{moveTo(i.id,r)}}))}},_sfc_main$1S=defineComponent({name:"MEditorLayerMenu",__name:"LayerMenu",props:{layerContentMenu:{},customContentMenu:{type:Function}},emits:["collapse-all"],setup(n,{expose:e,emit:t}){const i=n,r=t,g=useServices(),{editorService:y,componentListService:k}=g,L=useTemplateRef("menu"),V=computed$1(()=>y.get("node")),z=computed$1(()=>y.get("nodes")),j=computed$1(()=>k.getList()),ie=le=>le.items.map(de=>({text:de.text,type:"button",icon:de.icon,handler:()=>{y.add({name:de.text,type:de.type,...de.data||{}})}})),oe=computed$1(()=>{var le,de;return((le=V.value)==null?void 0:le.type)==="tabs"?[{text:"标签页",type:"button",icon:files_default$1,handler:()=>{y.add({type:"tab-pane"})}}]:(de=V.value)!=null&&de.items?j.value.reduce((ue,he,pe)=>ue.concat(ie(he),pei.customContentMenu([{type:"button",text:"全部折叠",icon:_sfc_main$1T,display:()=>isPage(V.value)||isPageFragment(V.value),handler:()=>{r("collapse-all")}},{type:"button",text:"新增",icon:markRaw(plus_default$1),display:()=>{var le,de;return((le=V.value)==null?void 0:le.items)&&((de=z.value)==null?void 0:de.length)===1},items:oe.value},useCopyMenu(),usePasteMenu(),useDeleteMenu(),useMoveToMenu(g),...i.layerContentMenu],"layer"));return e({show:le=>{var de;(de=L.value)==null||de.show(le)}}),(le,de)=>(openBlock(),createBlock(_sfc_main$20,{"menu-data":re.value,ref:"menu",style:{overflow:"initial"}},null,8,["menu-data"]))}}),_sfc_main$1R=defineComponent({__name:"LayerNodeTool",props:{data:{}},setup(n){const e=n,{editorService:t}=useServices(),i=r=>{t.update({id:e.data.id,visible:r})};return(r,g)=>r.data.type!=="page"?(openBlock(),createElementBlock(Fragment,{key:0},[r.data.visible===!1?(openBlock(),createBlock(_sfc_main$33,{key:0,icon:unref(hide_default$1),onClick:g[0]||(g[0]=withModifiers(y=>i(!0),["stop"])),title:"点击显示"},null,8,["icon"])):(openBlock(),createBlock(_sfc_main$33,{key:1,icon:unref(view_default$1),onClick:g[1]||(g[1]=withModifiers(y=>i(!1),["stop"])),class:"node-lock",title:"点击隐藏"},null,8,["icon"]))],64)):createCommentVNode("",!0)}}),useClick=({editorService:n,stageOverlayService:e,uiService:t},i,r,g)=>{const y=computed$1(()=>i.value&&!n.get("disabledMultiSelect")),k=async oe=>{var re,ae;if(!oe.id)throw new Error("没有id");y.value?L(oe):(await n.select(oe),(re=n.get("stage"))==null||re.select(oe.id),(ae=e.get("stage"))==null||ae.select(oe.id))},L=async oe=>{var de,ue;if(isPage(oe)||isPageFragment(oe))return;const re=n.get("nodes")||[],ae=[];let le=!1;re.forEach(he=>{if(he.id===oe.id){le=!0;return}isPage(he)||isPageFragment(he)||ae.push(he.id)}),(!le||ae.length===0)&&ae.push(oe.id),await n.multiSelect(ae),(de=n.get("stage"))==null||de.multiSelect(ae),(ue=e.get("stage"))==null||ue.multiSelect(ae)},z=throttle$2((oe,re)=>{j(re)},300),j=oe=>{var re,ae;n.highlight(oe),(re=n.get("stage"))==null||re.highlight(oe.id),(ae=e.get("stage"))==null||ae.highlight(oe.id)},ie=(oe,re)=>{if(r!=null&&r.value){if(t.get("uiSelectMode")){document.dispatchEvent(new CustomEvent(UI_SELECT_MODE_EVENT_NAME,{detail:re}));return}re.items&&re.items.length>0&&!y.value&&updateStatus(r.value,re.id,{expand:!0}),nextTick(()=>{k(re)})}};return{menuRef:g,nodeClickHandler:ie,nodeContentMenuHandler(oe,re){var le;oe.preventDefault();const ae=n.get("nodes")||[];(ae.length<2||!ae.includes(re))&&ie(oe,re),(le=g.value)==null||le.show(oe)},highlightHandler:z}},dragState={dragOverNodeId:"",dropType:"",container:null},getNodeEl=n=>{if(n.dataset.nodeId)return n;if(n.parentElement)return getNodeEl(n.parentElement)},removeStatusClass=n=>{n&&["drag-before","drag-after","drag-inner"].forEach(e=>{n.querySelectorAll(".".concat(e)).forEach(t=>{removeClassName(t,e)})})},useDrag=({editorService:n})=>({handleDragStart:g=>{if(!g.dataTransfer||!g.target||!g.currentTarget)return;const y=getNodeEl(g.target);if(!(!y||y!==g.currentTarget)){g.dataTransfer.effectAllowed="move",dragState.nodeId=y.dataset.nodeId;try{g.dataTransfer.setData("text/json",JSON.stringify({dragType:DragType.LAYER_TREE}))}catch(k){}}},handleDragEnd:(g,y)=>{if(!g.target||!g.currentTarget)return;const k=getNodeEl(g.target);if(!(!k||k!==g.currentTarget)){if(removeStatusClass(dragState.container),y&&dragState.dragOverNodeId&&dragState.dropType){if(dragState.dragOverNodeId===y.id)return;const L=n.getNodeInfo(dragState.dragOverNodeId,!1),V=L.node;let z=L.parent;if(!z||!V)return;let j=-1;Array.isArray(V.items)&&dragState.dropType==="inner"?(j=V.items.length,z=V):j=getNodeIndex(dragState.dragOverNodeId,z),dragState.dropType==="after"&&(j+=1);const ie=n.get("nodes");ie.find(oe=>"".concat(oe.id)==="".concat(y.id))?n.dragTo(ie,z,j):n.dragTo([y],z,j)}dragState.dragOverNodeId="",dragState.dropType="",dragState.container=null}},handleDragLeave:g=>{if(!g.target||!g.currentTarget)return;const y=getNodeEl(g.target);if(!y||y!==g.currentTarget)return;const k=y.children[0];removeClassName(k,"drag-before","drag-after","drag-inner")},handleDragOver:g=>{var ae;if(!g.target)return;const y=getNodeEl(g.target);if(!(y!=null&&y.draggable))return;const k=y.children[0];if(!k)return;removeClassName(k,"drag-before","drag-after","drag-inner");const{top:L,height:V}=k.getBoundingClientRect(),z=g.clientY-L,j=y.dataset.isContainer==="true",ie=y.dataset.nodeId,{nodeId:oe}=dragState,re=(ae=y.dataset.parentsId)==null?void 0:ae.split(",");if(ie){if(re){let le=-1;for(let de=0,ue=re.length;de=le)return}}zV*2/3?(dragState.dropType="after",addClassName(k,globalThis.document,"drag-after")):j&&(dragState.dropType="inner",addClassName(k,globalThis.document,"drag-inner")),dragState.dropType&&(dragState.dragOverNodeId=ie,dragState.container=g.currentTarget,g.preventDefault())}}});var KeyBindingContainerKey=(n=>(n.STAGE="stage",n.LAYER_PANEL="layer-panel",n))(KeyBindingContainerKey||{});const keybindingConfig=[{command:KeyBindingCommand.DELETE_NODE,keybinding:["delete","backspace"],when:[["stage","keyup"],["layer-panel","keydown"]]},{command:KeyBindingCommand.COPY_NODE,keybinding:"ctrl+c",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.PASTE_NODE,keybinding:"ctrl+v",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.CUT_NODE,keybinding:"ctrl+x",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.UNDO,keybinding:"ctrl+z",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.REDO,keybinding:"ctrl+shift+z",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.MOVE_UP_1,keybinding:"up",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_DOWN_1,keybinding:"down",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_LEFT_1,keybinding:"left",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_RIGHT_1,keybinding:"right",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_UP_10,keybinding:"ctrl+up",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_DOWN_10,keybinding:"ctrl+down",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_LEFT_10,keybinding:"ctrl+left",when:[["stage","keydown"]]},{command:KeyBindingCommand.MOVE_RIGHT_10,keybinding:"ctrl+right",when:[["stage","keydown"]]},{command:KeyBindingCommand.SWITCH_NODE,keybinding:"tab",when:[["stage","keydown"],["layer-panel","keydown"]]},{command:KeyBindingCommand.ZOOM_IN,keybinding:["ctrl+=","ctrl+numpadplus"],when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_OUT,keybinding:["ctrl+-","ctrl+numpad-"],when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_FIT,keybinding:"ctrl+0",when:[["stage","keydown"]]},{command:KeyBindingCommand.ZOOM_RESET,keybinding:"ctrl+1",when:[["stage","keydown"]]}],useKeybinding=({keybindingService:n},e)=>{const t=ref$1(!1),i=()=>{t.value=!1};return n.registerCommand("layer-panel-global-keyup",()=>{t.value=!1}),n.registerCommand("layer-panel-global-keydown",()=>{t.value=!0}),n.register([{command:"layer-panel-global-keydown",keybinding:"ctrl",when:[["global","keydown"]]},{command:"layer-panel-global-keyup",keybinding:"ctrl",when:[["global","keyup"]]}]),watchEffect(()=>{e.value?(globalThis.addEventListener("blur",i),n.registerEl(KeyBindingContainerKey.LAYER_PANEL,e.value.$el)):(globalThis.removeEventListener("blur",i),n.unregisterEl(KeyBindingContainerKey.LAYER_PANEL))}),{isCtrlKeyDown:t}},createPageNodeStatus=(n,e)=>{const t=new Map;return t.set(n.id,{visible:!0,expand:!0,selected:!0,draggable:!1}),n.items.forEach(i=>traverseNode(i,r=>{t.set(r.id,(e==null?void 0:e.get(r.id))||{visible:!0,expand:!1,selected:!1,draggable:!0})})),t},useNodeStatus=({editorService:n})=>{const e=computed$1(()=>n.get("page")),t=computed$1(()=>n.get("nodes")),i=ref$1(new Map),r=computed$1(()=>e.value?i.value.get(e.value.id):new Map);watch(()=>{var k;return(k=e.value)==null?void 0:k.id},k=>{k&&i.value.set(k,createPageNodeStatus(e.value,i.value.get(k)))},{immediate:!0}),watch(t,k=>{var L;if(r.value)for(const[V,z]of r.value.entries())z.selected=k.some(j=>j.id===V),z.selected&&getNodePath(V,(L=e.value)==null?void 0:L.items).forEach(j=>{updateStatus(r.value,j.id,{expand:!0})})},{immediate:!0});const g=k=>{k.forEach(L=>{isPage(L)||isPageFragment(L)||traverseNode(L,V=>{var z;(z=r.value)==null||z.set(V.id,{visible:!0,expand:Array.isArray(V.items),selected:!0,draggable:!0})})})};n.on("add",g);const y=k=>{k.forEach(L=>{traverseNode(L,V=>{var z;(z=r.value)==null||z.delete(V.id)})})};return n.on("remove",y),onBeforeUnmount(()=>{n.off("remove",y),n.off("add",g)}),{nodeStatusMaps:i,nodeStatusMap:r}},_sfc_main$1Q=defineComponent({name:"MEditorLayerPanel",__name:"LayerPanel",props:{layerContentMenu:{},indent:{},nextLevelIndentIncrement:{},customContentMenu:{type:Function}},setup(n){const e=useServices(),{editorService:t}=e,i=useTemplateRef("tree"),r=computed$1(()=>t.get("page")),g=computed$1(()=>r.value?[r.value]:[]),{nodeStatusMap:y}=useNodeStatus(e),{isCtrlKeyDown:k}=useKeybinding(e,i),L=(he,pe)=>{let Ce="";return pe.name?Ce=pe.name:pe.items&&(Ce="container"),"".concat(pe.id).concat(Ce).concat(pe.type).includes(he)},{filterTextChangeHandler:V}=useFilter(g,y,L),z=()=>{if(!r.value||!y.value)return;const he=y.value.entries();for(const[pe,Ce]of he)pe!==r.value.id&&(Ce.expand=!1)},{handleDragStart:j,handleDragEnd:ie,handleDragLeave:oe,handleDragOver:re}=useDrag(e),ae=useTemplateRef("menu"),{nodeClickHandler:le,nodeContentMenuHandler:de,highlightHandler:ue}=useClick(e,k,y,ae);return(he,pe)=>(openBlock(),createBlock(unref(_sfc_main$40),{class:"m-editor-layer-panel"},{default:withCtx(()=>[renderSlot(he.$slots,"layer-panel-header"),createVNode(_sfc_main$1$,{onSearch:unref(V)},null,8,["onSearch"]),r.value&&unref(y)?(openBlock(),createBlock(_sfc_main$1Z,{key:0,tabindex:"-1",ref:"tree",data:g.value,"node-status-map":unref(y),indent:he.indent,"next-level-indent-increment":he.nextLevelIndentIncrement,onNodeDragover:unref(re),onNodeDragstart:unref(j),onNodeDragleave:unref(oe),onNodeDragend:unref(ie),onNodeContextmenu:unref(de),onNodeMouseenter:unref(ue),onNodeClick:unref(le)},{"tree-node-content":withCtx(({data:Ce})=>[renderSlot(he.$slots,"layer-node-content",{data:Ce})]),"tree-node-tool":withCtx(({data:Ce})=>[renderSlot(he.$slots,"layer-node-tool",{data:Ce},()=>[createVNode(_sfc_main$1R,{data:Ce},null,8,["data"])])]),"tree-node-label":withCtx(({data:Ce})=>[renderSlot(he.$slots,"layer-node-label",{data:Ce})]),_:3},8,["data","node-status-map","indent","next-level-indent-increment","onNodeDragover","onNodeDragstart","onNodeDragleave","onNodeDragend","onNodeContextmenu","onNodeMouseenter","onNodeClick"])):createCommentVNode("",!0),(openBlock(),createBlock(Teleport$2,{to:"body"},[createVNode(_sfc_main$1S,{ref:"menu","layer-content-menu":he.layerContentMenu,"custom-content-menu":he.customContentMenu,onCollapseAll:z},null,8,["layer-content-menu","custom-content-menu"])]))]),_:3}))}}),_hoisted_1$a=["onClick","onDragstart"],_hoisted_2$5=["title"],_sfc_main$1P=defineComponent({name:"MEditorComponentListPanel",__name:"ComponentListPanel",setup(n){const e=ref$1(""),t=le=>{e.value=le},{editorService:i,componentListService:r}=useServices(),g=inject("stageOptions"),y=computed$1(()=>i.get("stage")),k=computed$1(()=>r.getList().map(le=>({...le,items:le.items.filter(de=>de.text.includes(e.value))}))),L=computed$1(()=>{var le;return Array((le=k.value)==null?void 0:le.length).fill(1).map((de,ue)=>"".concat(ue))});let V,z,j;const ie=({text:le,type:de,data:ue={}})=>{i.add({name:le,type:de,...ue})},oe=({text:le,type:de,data:ue={}},he)=>{var pe;(pe=he.dataTransfer)==null||pe.setData("text/json",serialize({dragType:DragType.COMPONENT_LIST,data:{name:le,type:de,...ue}}))},re=()=>{var de,ue;V&&(globalThis.clearTimeout(V),V=void 0);const le=(ue=(de=y.value)==null?void 0:de.renderer)==null?void 0:ue.getDocument();le&&(g!=null&&g.containerHighlightClassName)&&removeClassNameByClassName(le,g.containerHighlightClassName),z=0,j=0},ae=le=>{if(le.clientX!==z||le.clientY!==j){z=le.clientX,j=le.clientY,V&&(globalThis.clearTimeout(V),V=void 0);return}V||!y.value||(V=y.value.delayedMarkContainer(le))};return(le,de)=>(openBlock(),createBlock(unref(_sfc_main$40),null,{default:withCtx(()=>[renderSlot(le.$slots,"component-list-panel-header"),createVNode(_sfc_main$1$,{onSearch:t}),renderSlot(le.$slots,"component-list",{componentGroupList:k.value},()=>[createVNode(unref(_sfc_main$4k),{class:"ui-component-panel","model-value":L.value},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(k.value,(ue,he)=>(openBlock(),createElementBlock(Fragment,null,[ue.items&&ue.items.length?(openBlock(),createBlock(unref(_sfc_main$4j),{key:he,name:"".concat(he)},{title:withCtx(()=>[createVNode(_sfc_main$33,{icon:unref(grid_default$1)},null,8,["icon"]),createTextVNode(toDisplayString(ue.title),1)]),default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(ue.items,pe=>(openBlock(),createElementBlock("div",{class:"component-item",draggable:"true",key:pe.type,onClick:Ce=>ie(pe),onDragstart:Ce=>oe(pe,Ce),onDragend:re,onDrag:ae},[renderSlot(le.$slots,"component-list-item",{component:pe},()=>[createVNode(unref(_sfc_main$3R),{placement:"right",disabled:!pe.desc,content:pe.desc},{default:withCtx(()=>[createVNode(_sfc_main$33,{icon:pe.icon},null,8,["icon"])]),_:2},1032,["disabled","content"]),createBaseVNode("span",{title:pe.text},toDisplayString(pe.text),9,_hoisted_2$5)])],40,_hoisted_1$a))),128))]),_:2},1032,["name"])):createCommentVNode("",!0)],64))),256))]),_:3},8,["model-value"])])]),_:3}))}}),_hoisted_1$9={key:0,class:"m-editor-sidebar"},_hoisted_2$4={class:"m-editor-sidebar-header"},_hoisted_3$1=["draggable","onClick","onDragend"],_hoisted_4$1={key:1,class:"magic-editor-tab-panel-title"},_hoisted_5={key:0,class:"m-editor-sidebar-tips"},_hoisted_6={class:"m-editor-slide-list-box"},_sfc_main$1O=defineComponent({name:"MEditorSidebar",__name:"Sidebar",props:{data:{default:()=>({type:"tabs",status:"组件",items:[SideItemKey.COMPONENT_LIST,SideItemKey.LAYER,SideItemKey.CODE_BLOCK,SideItemKey.DATA_SOURCE]})},layerContentMenu:{},indent:{},nextLevelIndentIncrement:{},customContentMenu:{}},setup(n,{expose:e}){var $e;const t=n,{depService:i,uiService:r,propsService:g}=useServices(),y=computed$1(()=>i.get("collecting")),k=computed$1(()=>i.get("taskLength")),L=ref$1(!0),V=computed$1(()=>r.get("columnWidth")[ColumnLayout.LEFT]),{height:z}=useEditorContentHeight(),j=ref$1(0),ie=watch(z,xe=>{xe&&(j.value=xe*.5,nextTick().then(()=>{ie()}))},{immediate:!0}),oe=ref$1(($e=t.data)==null?void 0:$e.status),re=xe=>{const Ie={[SideItemKey.COMPONENT_LIST]:{$key:SideItemKey.COMPONENT_LIST,type:"component",icon:goods_default,text:"组件",component:_sfc_main$1P,slots:{}},layer:{$key:"layer",type:"component",icon:list_default,text:"已选组件",props:{layerContentMenu:t.layerContentMenu,customContentMenu:t.customContentMenu,indent:t.indent,nextLevelIndentIncrement:t.nextLevelIndentIncrement},component:_sfc_main$1Q,slots:{}},[SideItemKey.CODE_BLOCK]:{$key:"code-block",type:"component",icon:edit_pen_default,text:"代码编辑",component:_sfc_main$1X,props:{indent:t.indent,nextLevelIndentIncrement:t.nextLevelIndentIncrement,customContentMenu:t.customContentMenu},slots:{}},[SideItemKey.DATA_SOURCE]:{$key:SideItemKey.DATA_SOURCE,type:"component",icon:coin_default$1,text:"数据源",component:_sfc_main$1U,props:{indent:t.indent,nextLevelIndentIncrement:t.nextLevelIndentIncrement,customContentMenu:t.customContentMenu},slots:{}}};return typeof xe=="string"?Ie[xe]:xe},ae=computed$1(()=>t.data.items.map(xe=>re(xe)).filter(xe=>xe.$key===SideItemKey.DATA_SOURCE?!g.getDisabledDataSource():xe.$key===SideItemKey.CODE_BLOCK?!g.getDisabledCodeBlock():!0));watch(ae,xe=>{r.set("sideBarItems",xe)},{immediate:!0}),watch(()=>t.data.status,xe=>{oe.value=xe||"0"});const le=computed$1(()=>ae.value.map(xe=>xe.$key)),{dragstartHandler:de,dragendHandler:ue,floatBoxStates:he,showingBoxKeys:pe}=useFloatBox(le);watch(()=>pe.value.length,()=>{if(!pe.value.some(Ne=>{var Fe;return oe.value===((Fe=ae.value.find(Ve=>Ve.$key===Ne))==null?void 0:Fe.text)})&&oe.value)return;const Ie=ae.value.find(Ne=>!pe.value.includes(Ne.$key));if(!Ie){oe.value="",r.set("hideSlideBar",!0);return}r.set("hideSlideBar",!1),oe.value=Ie==null?void 0:Ie.text});const Ce=async(xe,Ie)=>{typeof xe.beforeClick=="function"&&await xe.beforeClick(xe)===!1||(oe.value=xe.text||xe.$key||"".concat(Ie))};return e({activeTabName:oe}),(xe,Ie)=>(openBlock(),createElementBlock(Fragment,null,[xe.data.type==="tabs"&&xe.data.items.length?(openBlock(),createElementBlock("div",_hoisted_1$9,[createBaseVNode("div",_hoisted_2$4,[(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,Fe)=>{var Ve,Oe,ze;return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-header-item",{"is-active":oe.value===Ne.text}]),draggable:(Ve=Ne.draggable)!=null?Ve:!0,key:(Oe=Ne.$key)!=null?Oe:Fe,style:normalizeStyle(Ne.tabStyle||{}),onClick:qe=>Ce(Ne,Fe),onDragstart:Ie[0]||(Ie[0]=(...qe)=>unref(de)&&unref(de)(...qe)),onDragend:qe=>unref(ue)(Ne.$key,qe)},[Ne.icon?(openBlock(),createBlock(_sfc_main$33,{key:0,icon:Ne.icon},null,8,["icon"])):createCommentVNode("",!0),Ne.text?(openBlock(),createElementBlock("div",_hoisted_4$1,toDisplayString(Ne.text),1)):createCommentVNode("",!0)],46,_hoisted_3$1)),[[vShow,!((ze=unref(he)[Ne.$key])!=null&&ze.status)]])}),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,Fe)=>{var Ve,Oe,ze,qe,Ue,Et,At,Lt,kt,ei,jt,ri,ni,Ci;return withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(["m-editor-sidebar-content",{"m-editor-dep-collecting":y.value}]),key:(Ve=Ne.$key)!=null?Ve:Fe},[Ne!=null&&Ne.component&&!((Oe=unref(he)[Ne.$key])!=null&&Oe.status)?(openBlock(),createBlock(resolveDynamicComponent(Ne.component),mergeProps({key:0,ref_for:!0},Ne.props||{},toHandlers((Ne==null?void 0:Ne.listeners)||{})),createSlots({_:2},[Ne.$key==="component-list"||(ze=Ne.slots)!=null&&ze.componentList?{name:"component-list",fn:withCtx(({componentGroupList:wi})=>{var Ri;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list",{key:0,componentGroupList:wi}):(Ri=Ne.slots)!=null&&Ri.componentList?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentList),{key:1})):createCommentVNode("",!0)]}),key:"0"}:void 0,Ne.$key==="component-list"||(qe=Ne.slots)!=null&&qe.componentListPanelHeader?{name:"component-list-panel-header",fn:withCtx(()=>{var wi;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list-panel-header",{key:0}):(wi=Ne.slots)!=null&&wi.componentListPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentListPanelHeader),{key:1})):createCommentVNode("",!0)]}),key:"1"}:void 0,Ne.$key==="component-list"||(Ue=Ne.slots)!=null&&Ue.componentListItem?{name:"component-list-item",fn:withCtx(({component:wi})=>{var Ri;return[Ne.$key==="component-list"?renderSlot(xe.$slots,"component-list-item",{key:0,component:wi}):(Ri=Ne.slots)!=null&&Ri.componentListItem?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.componentListItem),{key:1,component:wi},null,8,["component"])):createCommentVNode("",!0)]}),key:"2"}:void 0,Ne.$key==="layer"||(Et=Ne.slots)!=null&&Et.layerPanelHeader?{name:"layer-panel-header",fn:withCtx(()=>{var wi;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-panel-header",{key:0}):(wi=Ne.slots)!=null&&wi.layerPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerPanelHeader),{key:1})):createCommentVNode("",!0)]}),key:"3"}:void 0,Ne.$key==="code-block"||(At=Ne.slots)!=null&&At.codeBlockPanelHeader?{name:"code-block-panel-header",fn:withCtx(()=>{var wi;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-header",{key:0}):(wi=Ne.slots)!=null&&wi.codeBlockPanelHeader?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelHeader),{key:1})):createCommentVNode("",!0)]}),key:"4"}:void 0,Ne.$key==="code-block"||(Lt=Ne.slots)!=null&&Lt.codeBlockPanelTool?{name:"code-block-panel-tool",fn:withCtx(({id:wi,data:Ri})=>{var ai;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-tool",{key:0,id:wi,data:Ri}):(ai=Ne.slots)!=null&&ai.codeBlockPanelTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelTool),{key:1})):createCommentVNode("",!0)]}),key:"5"}:void 0,Ne.$key==="code-block"||(kt=Ne.slots)!=null&&kt.codeBlockPanelSearch?{name:"code-block-panel-search",fn:withCtx(()=>{var wi;return[Ne.$key==="code-block"?renderSlot(xe.$slots,"code-block-panel-search",{key:0}):(wi=Ne.slots)!=null&&wi.codeBlockPanelSearch?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.codeBlockPanelSearch),{key:1})):createCommentVNode("",!0)]}),key:"6"}:void 0,Ne.$key==="layer"||(ei=Ne.slots)!=null&&ei.layerNodeContent?{name:"layer-node-content",fn:withCtx(({data:wi})=>{var Ri;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-content",{key:0,data:wi}):(Ri=Ne.slots)!=null&&Ri.layerNodeContent?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeContent),{key:1,data:wi},null,8,["data"])):createCommentVNode("",!0)]}),key:"7"}:void 0,Ne.$key==="layer"||(jt=Ne.slots)!=null&&jt.layerNodeLabel?{name:"layer-node-label",fn:withCtx(({data:wi})=>{var Ri;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-label",{key:0,data:wi}):(Ri=Ne.slots)!=null&&Ri.layerNodeLabel?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeTool),{key:1,data:wi},null,8,["data"])):createCommentVNode("",!0)]}),key:"8"}:void 0,Ne.$key==="layer"||(ri=Ne.slots)!=null&&ri.layerNodeTool?{name:"layer-node-tool",fn:withCtx(({data:wi})=>{var Ri;return[Ne.$key==="layer"?renderSlot(xe.$slots,"layer-node-tool",{key:0,data:wi}):(Ri=Ne.slots)!=null&&Ri.layerNodeTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.layerNodeTool),{key:1,data:wi},null,8,["data"])):createCommentVNode("",!0)]}),key:"9"}:void 0,Ne.$key==="data-source"||(ni=Ne.slots)!=null&&ni.dataSourcePanelTool?{name:"data-source-panel-tool",fn:withCtx(({data:wi})=>{var Ri;return[Ne.$key==="data-source"?renderSlot(xe.$slots,"data-source-panel-tool",{key:0,data:wi}):(Ri=Ne.slots)!=null&&Ri.DataSourcePanelTool?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.DataSourcePanelTool),{key:1})):createCommentVNode("",!0)]}),key:"10"}:void 0,Ne.$key==="data-source"||(Ci=Ne.slots)!=null&&Ci.dataSourcePanelSearch?{name:"data-source-panel-search",fn:withCtx(()=>{var wi;return[Ne.$key==="data-source"?renderSlot(xe.$slots,"data-source-panel-search",{key:0}):(wi=Ne.slots)!=null&&wi.dataSourcePanelSearch?(openBlock(),createBlock(resolveDynamicComponent(Ne.slots.dataSourcePanelSearch),{key:1})):createCommentVNode("",!0)]}),key:"11"}:void 0]),1040)):createCommentVNode("",!0)],2)),[[vShow,[Ne.text,Ne.$key,"".concat(Fe)].includes(oe.value)]])}),128)),L.value&&y.value&&k.value>0?(openBlock(),createElementBlock("div",_hoisted_5,[createBaseVNode("span",null,"依赖收集中(剩余任务:"+toDisplayString(k.value)+")",1),createVNode(_sfc_main$33,{icon:unref(close_default$1),class:"close-icon",onClick:Ie[1]||(Ie[1]=withModifiers(Ne=>L.value=!1,["stop"]))},null,8,["icon"])])):createCommentVNode("",!0)])):createCommentVNode("",!0),(openBlock(),createBlock(Teleport$2,{to:"body"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(ae.value,(Ne,Fe)=>{var Ve,Oe;return openBlock(),createElementBlock(Fragment,null,[(Ve=unref(he)[Ne.$key])!=null&&Ve.status?(openBlock(),createBlock(_sfc_main$2X,{key:(Oe=Ne.$key)!=null?Oe:Fe,visible:unref(he)[Ne.$key].status,"onUpdate:visible":ze=>unref(he)[Ne.$key].status=ze,height:j.value,"onUpdate:height":Ie[2]||(Ie[2]=ze=>j.value=ze),width:V.value,title:Ne.text,position:{left:unref(he)[Ne.$key].left,top:unref(he)[Ne.$key].top}},{body:withCtx(()=>[createBaseVNode("div",_hoisted_6,[Ne&&unref(he)[Ne.$key].status?(openBlock(),createBlock(resolveDynamicComponent(Ne.component),mergeProps({key:0,ref_for:!0},Ne.props||{},toHandlers((Ne==null?void 0:Ne.listeners)||{})),null,16)):createCommentVNode("",!0)])]),_:2},1032,["visible","onUpdate:visible","height","width","title","position"])):createCommentVNode("",!0)],64)}),256))]))],64))}}),_sfc_main$1N=defineComponent({name:"MEditorScrollBar",__name:"ScrollBar",props:{size:{},scrollSize:{},isHorizontal:{type:Boolean},pos:{}},emits:["scroll"],setup(n,{emit:e}){const t=n,i=e,r=useTemplateRef("bar"),g=useTemplateRef("thumb"),y=computed$1(()=>t.size*(t.size/t.scrollSize)),k=computed$1(()=>t.pos/t.scrollSize*t.size),L=computed$1(()=>({[t.isHorizontal?"width":"height"]:"".concat(y.value,"px"),transform:"translate".concat(t.isHorizontal?"X":"Y","(").concat(k.value,"px)")}));let V;onMounted(()=>{var oe;g.value&&(V=new Gesto(g.value,{container:window}),V.on("dragStart",re=>{re.inputEvent.stopPropagation(),re.inputEvent.preventDefault()}).on("drag",re=>{ie(j(re))}),(oe=r.value)==null||oe.addEventListener("wheel",z,!1))}),onBeforeUnmount(()=>{var oe;V&&V.off(),(oe=r.value)==null||oe.removeEventListener("wheel",z,!1)});const z=oe=>{const re=t.isHorizontal?oe.deltaX:oe.deltaY;re&&oe.preventDefault(),ie(re)},j=oe=>{const re=(t.isHorizontal?oe.deltaX:oe.deltaY)/t.size;return t.scrollSize*re},ie=oe=>{if(oe<0)t.pos<=0?i("scroll",0):i("scroll",-Math.min(-oe,t.pos));else{const re=t.size-(y.value+k.value);re<=0?i("scroll",0):i("scroll",Math.min(oe,re))}};return(oe,re)=>(openBlock(),createElementBlock("div",{ref:"bar",class:normalizeClass(["m-editor-scroll-bar",oe.isHorizontal?"horizontal":"vertical"])},[createBaseVNode("div",{ref:"thumb",class:"m-editor-scroll-bar-thumb",style:normalizeStyle(L.value)},null,4)],2))}}),_hoisted_1$8={class:"m-editor-scroll-viewer-container",ref:"container"},_sfc_main$1M=defineComponent({name:"MEditorScrollViewer",__name:"ScrollViewer",props:{width:{default:0},height:{default:0},wrapWidth:{default:0},wrapHeight:{default:0},zoom:{default:1},correctionScrollSize:{default:()=>({width:0,height:0})}},setup(n,{expose:e}){const t=n,i=useTemplateRef("container"),r=useTemplateRef("target"),g=computed$1(()=>"\n width: ".concat(isNumber$6("".concat(t.width))?"".concat(t.width,"px"):t.width,";\n height: ").concat(isNumber$6("".concat(t.height))?"".concat(t.height,"px"):t.height,";\n position: absolute;\n margin-top: 30px;\n ")),y=ref$1(0),k=ref$1(0);let L;onMounted(()=>{!i.value||!r.value||(L=new ScrollViewer({container:i.value,target:r.value,zoom:t.zoom,correctionScrollSize:t.correctionScrollSize}),L.on("scroll",oe=>{j.value=oe.scrollLeft,V.value=oe.scrollTop,y.value=oe.scrollWidth,k.value=oe.scrollHeight}))}),onBeforeUnmount(()=>{L.destroy()}),watch(()=>t.zoom,()=>{L.setZoom(t.zoom)});const V=ref$1(0),z=oe=>{V.value+=oe,L.scrollTo({top:V.value})},j=ref$1(0),ie=oe=>{j.value+=oe,L.scrollTo({left:j.value})};return e({container:i}),(oe,re)=>(openBlock(),createElementBlock("div",_hoisted_1$8,[createBaseVNode("div",{ref:"target",style:normalizeStyle(g.value)},[renderSlot(oe.$slots,"default")],4),renderSlot(oe.$slots,"content"),k.value>oe.wrapHeight?(openBlock(),createBlock(_sfc_main$1N,{key:0,"scroll-size":k.value,pos:V.value,size:oe.wrapHeight,onScroll:z},null,8,["scroll-size","pos","size"])):createCommentVNode("",!0),y.value>oe.wrapWidth?(openBlock(),createBlock(_sfc_main$1N,{key:1,"is-horizontal":!0,"scroll-size":y.value,pos:j.value,size:oe.wrapWidth,onScroll:ie},null,8,["scroll-size","pos","size"])):createCommentVNode("",!0)],512))}}),_sfc_main$1L=defineComponent({__name:"NodeListMenu",setup(n){const e=useServices(),{editorService:t}=e,i=ref$1(!1),r=ref$1(!1),g=useTemplateRef("button"),y=useTemplateRef("box"),k=computed$1(()=>t.get("stage")),L=computed$1(()=>t.get("page")),V=computed$1(()=>t.get("nodes")),z=computed$1(()=>L.value?[L.value]:[]),{nodeStatusMap:j}=useNodeStatus(e),ie=(de,ue)=>ue.id===de,{filterTextChangeHandler:oe}=useFilter(z,j,ie),re=watch(k,de=>{de&&(nextTick(()=>re()),de.on("select",(ue,he)=>{var $e;const Ce=((($e=de.renderer)==null?void 0:$e.getElementsFromPoint(he))||[]).map(xe=>getIdFromEl()(xe)).filter(xe=>!!xe);r.value=Ce.length>3,oe(Ce)}))},{immediate:!0});watch(V,de=>{if(j.value)for(const[ue,he]of j.value.entries())he.selected=de.some(pe=>pe.id===ue)},{immediate:!0});const ae=async(de,ue)=>{var he;await t.select(ue.id),(he=k.value)==null||he.select(ue.id)},le=ref$1({left:0,top:0});return watch(i,async de=>{var pe,Ce;if(!g.value||!de)return;await nextTick();const ue=g.value.getBoundingClientRect(),he=((Ce=(pe=y.value)==null?void 0:pe.target)==null?void 0:Ce.clientHeight)||0;le.value={left:ue.left+ue.width+5,top:ue.top-he/2+ue.height/2}}),(de,ue)=>(openBlock(),createElementBlock(Fragment,null,[L.value&&r.value?(openBlock(),createBlock(unref(_sfc_main$3R),{key:0,content:"点击查看当前位置下的组件"},{default:withCtx(()=>[createBaseVNode("div",{ref:"button",class:"m-editor-stage-float-button",onClick:ue[0]||(ue[0]=he=>i.value=!0)},"可选组件",512)]),_:1})):createCommentVNode("",!0),L.value&&unref(j)&&r.value?(openBlock(),createBlock(_sfc_main$2X,{key:1,ref:"box",visible:i.value,"onUpdate:visible":ue[1]||(ue[1]=he=>i.value=he),title:"当前位置下的组件",position:le.value},{body:withCtx(()=>[createVNode(_sfc_main$1Z,{class:"m-editor-node-list-menu magic-editor-layer-tree",data:z.value,"node-status-map":unref(j),onNodeClick:ae},null,8,["data","node-status-map"])]),_:1},8,["visible","position"])):createCommentVNode("",!0)],64))}}),_hoisted_1$7={key:0,class:"m-editor-stage-overlay"},_sfc_main$1K=defineComponent({__name:"StageOverlay",setup(n){const{stageOverlayService:e,editorService:t,uiService:i}=useServices(),r=inject("stageOptions"),g=useTemplateRef("stageOverlay"),y=computed$1(()=>e.get("stageOverlayVisible")),k=computed$1(()=>e.get("wrapWidth")),L=computed$1(()=>e.get("wrapHeight")),V=computed$1(()=>t.get("stage")),z=computed$1(()=>i.get("zoom")),j=computed$1(()=>i.get("columnWidth")),ie=computed$1(()=>i.get("frameworkRect")),oe=computed$1(()=>({transform:"scale(".concat(z.value,")")}));watch(V,ae=>{ae?ae.on("dblclick",async le=>{var ue;const de=await((ue=ae.actionManager)==null?void 0:ue.getElementFromPoint(le))||null;e.openOverlay(de)}):e.closeOverlay()}),watch(z,ae=>{const le=e.get("stage");!le||!ae||le.setZoom(ae)}),watch(g,ae=>{const le=e.createStage(r);if(e.set("stage",le),ae&&le){le.mount(ae);const{mask:de,renderer:ue}=le,{contentWindow:he}=ue;de==null||de.showRule(!1),e.updateOverlay(),he==null||he.magic.onRuntimeReady({})}}),onBeforeUnmount(()=>{var ae;(ae=e.get("stage"))==null||ae.destroy(),e.set("stage",null)});const re=()=>{e.closeOverlay()};return(ae,le)=>y.value?(openBlock(),createElementBlock("div",_hoisted_1$7,[createVNode(unref(_sfc_main$49),{class:"m-editor-stage-overlay-close",size:"30",onClick:re},{default:withCtx(()=>[createVNode(unref(close_bold_default))]),_:1}),createVNode(_sfc_main$1M,{class:"m-editor-stage",width:k.value,height:L.value,"wrap-width":j.value.center,"wrap-height":ie.value.height,zoom:z.value},{default:withCtx(()=>[createBaseVNode("div",{ref:"stageOverlay",class:"m-editor-stage-container",style:normalizeStyle(oe.value)},null,4)]),_:1},8,["width","height","wrap-width","wrap-height","zoom"])])):createCommentVNode("",!0)}}),_hoisted_1$6={viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},_sfc_main$1J=defineComponent({name:"MEditorCenterIcon",__name:"CenterIcon",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",_hoisted_1$6,t[0]||(t[0]=[createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 4H21V6H2V4Z",fill:"black","fill-opacity":"0.9"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M5 11H18V13H5V11Z",fill:"black","fill-opacity":"0.9"},null,-1),createBaseVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 18H21V20H2V18Z",fill:"black","fill-opacity":"0.9"},null,-1)])))}}),_sfc_main$1I=defineComponent({name:"MEditorViewerMenu",__name:"ViewerMenu",props:{isMultiSelect:{type:Boolean,default:!1},stageContentMenu:{},customContentMenu:{}},setup(n,{expose:e}){const t=n,i=useServices(),{editorService:r}=i,g=useTemplateRef("menu"),y=ref$1(!1),k=computed$1(()=>r.get("node")),L=computed$1(()=>r.get("nodes")),V=computed$1(()=>r.get("parent")),z=computed$1(()=>t.customContentMenu([{type:"button",text:"水平居中",icon:markRaw(_sfc_main$1J),display:()=>y.value,handler:()=>{L.value&&r.alignCenter(L.value)}},useCopyMenu(),usePasteMenu(g),{type:"divider",direction:"horizontal",display:()=>k.value?!isPage(k.value)&&!isPageFragment(k.value):!1},{type:"button",text:"上移一层",icon:markRaw(top_default),display:()=>!isPage(k.value)&&!isPageFragment(k.value)&&!t.isMultiSelect,handler:()=>{r.moveLayer(1)}},{type:"button",text:"下移一层",icon:markRaw(bottom_default),display:()=>!isPage(k.value)&&!isPageFragment(k.value)&&!t.isMultiSelect,handler:()=>{r.moveLayer(-1)}},{type:"button",text:"置顶",icon:markRaw(top_default),display:()=>!isPage(k.value)&&!isPageFragment(k.value)&&!t.isMultiSelect,handler:()=>{r.moveLayer(LayerOffset.TOP)}},{type:"button",text:"置底",icon:markRaw(bottom_default),display:()=>!isPage(k.value)&&!isPageFragment(k.value)&&!t.isMultiSelect,handler:()=>{r.moveLayer(LayerOffset.BOTTOM)}},useMoveToMenu(i),{type:"divider",direction:"horizontal",display:()=>!isPage(k.value)&&!isPageFragment(k.value)&&!t.isMultiSelect},useDeleteMenu(),{type:"divider",direction:"horizontal"},{type:"button",text:"清空参考线",handler:()=>{var ie;(ie=r.get("stage"))==null||ie.clearGuides()}},...t.stageContentMenu],"viewer"));return watch(V,async()=>{var ae;if(!V.value)return y.value=!1;const ie=await r.getLayout(V.value),oe=[Layout.ABSOLUTE,Layout.FIXED].includes(ie),re=(ae=L.value)==null?void 0:ae.every(le=>![NodeType.ROOT,NodeType.PAGE,"pop"].includes("".concat(le==null?void 0:le.type)));y.value=oe&&!!re},{immediate:!0}),e({show:ie=>{var oe;(oe=g.value)==null||oe.show(ie)}}),(ie,oe)=>(openBlock(),createBlock(_sfc_main$20,{"menu-data":z.value,ref:"menu"},null,8,["menu-data"]))}}),_sfc_main$1H=defineComponent({name:"MEditorStage",__name:"Stage",props:{stageOptions:{},stageContentMenu:{},disabledStageOverlay:{type:Boolean,default:!1},customContentMenu:{}},setup(n){const e=n;let t=null,i=null;const{editorService:r,uiService:g,keybindingService:y}=useServices(),k=computed$1(()=>r.get("stageLoading")),L=useTemplateRef("stageWrap"),V=useTemplateRef("stageContainer"),z=useTemplateRef("menu"),j=computed$1(()=>r.get("nodes")),ie=computed$1(()=>j.value.length>1),oe=computed$1(()=>g.get("stageRect")),re=computed$1(()=>g.get("stageContainerRect")),ae=computed$1(()=>r.get("root")),le=computed$1(()=>r.get("page")),de=computed$1(()=>g.get("zoom")),ue=computed$1(()=>r.get("node"));watchEffect(()=>{var Fe,Ve,Oe;t||!le.value||V.value&&(!((Fe=e.stageOptions)!=null&&Fe.runtimeUrl||(Ve=e.stageOptions)!=null&&Ve.render)||!ae.value||(t=useStage(e.stageOptions),t.on("select",()=>{var ze,qe;(qe=(ze=L.value)==null?void 0:ze.container)==null||qe.focus()}),r.set("stage",markRaw(t)),t.mount(V.value),(Oe=ue.value)!=null&&Oe.id&&t.on("runtime-ready",ze=>{var qe,Ue,Et;i=ze,ae.value&&((qe=i==null?void 0:i.updateRootConfig)==null||qe.call(i,cloneDeep(toRaw(ae.value)))),(Ue=le.value)!=null&&Ue.id&&((Et=i==null?void 0:i.updatePageId)==null||Et.call(i,le.value.id)),setTimeout(()=>{ue.value&&(t==null||t.select(toRaw(ue.value.id)))})})))}),onBeforeUnmount(()=>{t==null||t.destroy(),r.set("stage",null)}),watch(de,Fe=>{!t||!Fe||t.setZoom(Fe)});let he=null;watch(le,Fe=>{var Ve;if(i&&Fe){r.set("stageLoading",!0),he&&globalThis.clearTimeout(he),he=globalThis.setTimeout(()=>{r.set("stageLoading",!1),he=null},3e3),(Ve=i.updatePageId)==null||Ve.call(i,Fe.id);const Oe=watch(k,()=>{k.value||nextTick(()=>{t==null||t.select(Fe.id),Oe()})},{immediate:!0})}});const pe=Fe=>{var Ve;i&&Fe&&((Ve=i.updateRootConfig)==null||Ve.call(i,cloneDeep(toRaw(Fe))))};r.on("root-change",pe);const Ce=new ResizeObserver(Fe=>{for(const{contentRect:Ve}of Fe)g.set("stageContainerRect",{width:Ve.width,height:Ve.height})});onMounted(()=>{var Fe;(Fe=L.value)!=null&&Fe.container&&(Ce.observe(L.value.container),y.registerEl(KeyBindingContainerKey.STAGE,L.value.container))}),onBeforeUnmount(()=>{t==null||t.destroy(),Ce.disconnect(),r.set("stage",null),y.unregisterEl("stage"),r.off("root-change",pe)});const $e=getEditorConfig("parseDSL"),xe=Fe=>{var Ve;Fe.preventDefault(),(Ve=z.value)==null||Ve.show(Fe)},Ie=Fe=>{Fe.dataTransfer&&(Fe.preventDefault(),Fe.dataTransfer.dropEffect="move")},Ne=async Fe=>{var At,Lt,kt;if(!Fe.dataTransfer)return;const Ve=Fe.dataTransfer.getData("text/json");if(!Ve)return;const Oe=$e("(".concat(Ve,")"));if(!Oe||Oe.dragType!==DragType.COMPONENT_LIST)return;Fe.preventDefault();const ze=(Lt=(At=t==null?void 0:t.renderer)==null?void 0:At.contentWindow)==null?void 0:Lt.document,qe=ze==null?void 0:ze.querySelector(".".concat((kt=e.stageOptions)==null?void 0:kt.containerHighlightClassName));let Ue=le.value;const Et=getIdFromEl()(qe);if(Et&&(Ue=r.getNodeById(Et,!1)),Ue&&V.value&&t){const ei=await r.getLayout(Ue),jt=V.value.getBoundingClientRect(),{scrollTop:ri,scrollLeft:ni}=t.mask,{style:Ci={}}=Oe.data;let wi=0,Ri=0,ai="relative";if(Ci.position==="fixed")ai="fixed",wi=Fe.clientY-jt.top,Ri=Fe.clientX-jt.left;else if(ei===Layout.ABSOLUTE&&(ai="absolute",wi=Fe.clientY-jt.top+ri,Ri=Fe.clientX-jt.left+ni,qe)){const{left:hi,top:xi}=getOffset$1(qe);Ri=Ri-hi*de.value,wi=wi-xi*de.value}Oe.data.style={...Ci,position:ai,top:calcValueByFontsize(ze,wi/de.value),left:calcValueByFontsize(ze,Ri/de.value)},Oe.data.inputEvent=Fe,r.add(Oe.data,Ue)}};return(Fe,Ve)=>{var ze,qe,Ue,Et;const Oe=vLoading$1;return withDirectives((openBlock(),createBlock(_sfc_main$1M,{class:"m-editor-stage",ref:"stageWrap",tabindex:"-1","element-loading-text":"Runtime 加载中...",width:(ze=oe.value)==null?void 0:ze.width,height:(qe=oe.value)==null?void 0:qe.height,"wrap-width":(Ue=re.value)==null?void 0:Ue.width,"wrap-height":(Et=re.value)==null?void 0:Et.height,zoom:de.value,"correction-scroll-size":{width:60,height:50},onClick:Ve[0]||(Ve[0]=At=>{var Lt,kt;return(kt=(Lt=L.value)==null?void 0:Lt.container)==null?void 0:kt.focus()})},{content:withCtx(()=>[Fe.disabledStageOverlay?createCommentVNode("",!0):(openBlock(),createBlock(_sfc_main$1K,{key:0})),(openBlock(),createBlock(Teleport$2,{to:"body"},[createVNode(_sfc_main$1I,{ref:"menu","is-multi-select":ie.value,"stage-content-menu":Fe.stageContentMenu,"custom-content-menu":Fe.customContentMenu},null,8,["is-multi-select","stage-content-menu","custom-content-menu"])]))]),default:withCtx(()=>[createBaseVNode("div",{class:"m-editor-stage-container",ref:"stageContainer",style:normalizeStyle("transform: scale(".concat(de.value,");")),onContextmenu:xe,onDrop:Ne,onDragover:Ie},null,36),createVNode(_sfc_main$1L)]),_:1},8,["width","height","wrap-width","wrap-height","zoom"])),[[Oe,k.value]])}}}),_hoisted_1$5={key:0,class:"m-editor-breadcrumb"},_hoisted_2$3={key:0},_sfc_main$1G=defineComponent({name:"MEditorBreadcrumb",__name:"Breadcrumb",setup(n){const{editorService:e}=useServices(),t=computed$1(()=>e.get("node")),i=computed$1(()=>e.get("nodes")),r=computed$1(()=>e.get("root")),g=computed$1(()=>{var k,L;return getNodePath(((k=t.value)==null?void 0:k.id)||"",((L=r.value)==null?void 0:L.items)||[])}),y=async k=>{var L;await e.select(k),(L=e.get("stage"))==null||L.select(k.id)};return(k,L)=>i.value.length===1?(openBlock(),createElementBlock("div",_hoisted_1$5,[(openBlock(!0),createElementBlock(Fragment,null,renderList(g.value,(V,z)=>{var j;return openBlock(),createElementBlock(Fragment,{key:V.id},[createVNode(unref(_sfc_main$4q),{link:"",disabled:V.id===((j=t.value)==null?void 0:j.id),onClick:ie=>y(V)},{default:withCtx(()=>[createTextVNode(toDisplayString(V.name),1)]),_:2},1032,["disabled","onClick"]),zt.get("page"));return(r,g)=>(openBlock(),createElementBlock("div",_hoisted_1$4,[createVNode(_sfc_main$1G),renderSlot(r.$slots,"stage",{},()=>{var y,k;return[i.value&&((y=unref(e))!=null&&y.render||(k=unref(e))!=null&&k.runtimeUrl)?(openBlock(),createBlock(_sfc_main$1H,{key:0,"stage-options":unref(e),"disabled-stage-overlay":r.disabledStageOverlay,"stage-content-menu":r.stageContentMenu,"custom-content-menu":r.customContentMenu},null,8,["stage-options","disabled-stage-overlay","stage-content-menu","custom-content-menu"])):createCommentVNode("",!0)]}),renderSlot(r.$slots,"workspace-content")]))}}),canUsePluginMethods$3={async:["setCodeDslById","setEditStatus","setCombineIds","setUndeleteableList","deleteCodeDslByIds"],sync:["setCodeDslByIdSync"]};class CodeBlock extends BaseService{constructor(){super([...canUsePluginMethods$3.async.map(t=>({name:t,isAsync:!0})),...canUsePluginMethods$3.sync.map(t=>({name:t,isAsync:!1}))]);Ni(this,"state",reactive$1({codeDsl:null,editable:!0,combineIds:[],undeletableList:[],paramsColConfig:void 0}))}async setCodeDsl(t){this.state.codeDsl=t,this.emit("code-dsl-change",this.state.codeDsl)}getCodeDsl(){return this.state.codeDsl}getCodeContentById(t){var r;if(!t)return null;const i=this.getCodeDsl();return i&&(r=i[t])!=null?r:null}async setCodeDslById(t,i){this.setCodeDslByIdSync(t,i,!0)}setCodeDslByIdSync(t,i,r=!0){const g=this.getCodeDsl();if(!g)throw new Error("dsl中没有codeBlocks");if(g[t]&&!r)return;const y=cloneDeep(i);if(y.content){const L=getEditorConfig("parseDSL");typeof y.content=="string"&&(y.content=L(y.content))}const k=g[t]||{};g[t]={...k,...y},this.emit("addOrUpdate",t,g[t])}getCodeDslByIds(t){const i=this.getCodeDsl();return pick(i,t)}getEditStatus(){return this.state.editable}async setEditStatus(t){this.state.editable=t}async setCombineIds(t){this.state.combineIds=t}getCombineIds(){return this.state.combineIds}getUndeletableList(){return this.state.undeletableList}async setUndeleteableList(t){this.state.undeletableList=t}setCodeDraft(t,i){globalThis.localStorage.setItem("".concat(CODE_DRAFT_STORAGE_KEY,"_").concat(t),i)}getCodeDraft(t){return globalThis.localStorage.getItem("".concat(CODE_DRAFT_STORAGE_KEY,"_").concat(t))}removeCodeDraft(t){globalThis.localStorage.removeItem("".concat(CODE_DRAFT_STORAGE_KEY,"_").concat(t))}async deleteCodeDslByIds(t){const i=await this.getCodeDsl();i&&t.forEach(r=>{delete i[r],this.emit("remove",r)})}setParamsColConfig(t){this.state.paramsColConfig=t}getParamsColConfig(){return this.state.paramsColConfig}async getUniqueId(){const t="code_".concat(Math.random().toString(10).substring(2).substring(0,4)),i=await this.getCodeDsl();return keys$1(i).includes(t)?await this.getUniqueId():t}copyWithRelated(t,i){const r=Array.isArray(t)?t:[t],g={};if(i&&typeof i.isTarget=="function"){const y=new Target({...i}),k=new Watcher;k.addTarget(y),k.collect(r,{},!0,i.type),Object.keys(y.deps).forEach(L=>{const V=editorService.getNodeById(L);V&&y.deps[L].keys.forEach(z=>{const j=get(V,z);if(!Object.keys(g).find(oe=>oe===j)){const oe=this.getCodeContentById(j);oe&&(g[j]=oe)}})})}storageService.setItem(COPY_CODE_STORAGE_KEY,g,{protocol:Protocol.OBJECT})}paste(){const t=storageService.getItem(COPY_CODE_STORAGE_KEY);Object.keys(t).forEach(i=>{this.setCodeDslByIdSync(i,t[i],!1)})}resetState(){this.state.codeDsl=null,this.state.editable=!0,this.state.combineIds=[],this.state.undeletableList=[]}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(t){super.usePlugin(t)}}const codeBlockService=new CodeBlock;class ComponentList extends BaseService{constructor(){super([]);Ni(this,"state",shallowReactive({list:[]}))}setList(t){this.state.list=t}getList(){return this.state.list}resetState(){this.state.list=[]}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}}const componentListService=new ComponentList,canUsePluginMethods$2={sync:["getFormConfig","setFormConfig","getFormValue","setFormValue","getFormEvent","setFormEvent","getFormMethod","setFormMethod","add","update","remove","createId"]};class DataSource extends BaseService{constructor(){super(canUsePluginMethods$2.sync.map(t=>({name:t,isAsync:!1})));Ni(this,"state",reactive$1({datasourceTypeList:[],dataSources:[],editable:!0,configs:{},values:{},events:{},methods:{}}))}set(t,i){this.state[t]=i}get(t){return this.state[t]}getFormConfig(t="base"){return getFormConfig(toLine(t),this.get("configs"))}setFormConfig(t,i){this.get("configs")[toLine(t)]=i}getFormValue(t="base"){return getFormValue(toLine(t),this.get("values")[t])}setFormValue(t,i){this.get("values")[toLine(t)]=i}getFormEvent(t="base"){return this.get("events")[toLine(t)]||[]}setFormEvent(t,i=[]){this.get("events")[toLine(t)]=i}getFormMethod(t="base"){return this.get("methods")[toLine(t)]||[]}setFormMethod(t,i=[]){this.get("methods")[toLine(t)]=i}add(t){const i={...t,id:t.id&&!this.getDataSourceById(t.id)?t.id:this.createId()};return this.get("dataSources").push(i),this.emit("add",i),i}update(t,{changeRecords:i=[]}={}){const r=this.get("dataSources"),g=r.findIndex(L=>L.id===t.id),y=r[g],k=cloneDeep(t);return r[g]=k,this.emit("update",k,{oldConfig:y,changeRecords:i}),k}remove(t){const i=this.get("dataSources"),r=i.findIndex(g=>g.id===t);i.splice(r,1),this.emit("remove",t)}createId(){return"ds_".concat(guid())}getDataSourceById(t){return this.get("dataSources").find(i=>i.id===t)}resetState(){this.set("dataSources",[])}destroy(){this.removeAllListeners(),this.resetState(),this.removeAllPlugins()}usePlugin(t){super.usePlugin(t)}copyWithRelated(t,i){const r=Array.isArray(t)?t:[t],g=[];if(i&&typeof i.isTarget=="function"){const y=new Target({...i}),k=new Watcher;k.addTarget(y),k.collect(r,{},!0,i.type),Object.keys(y.deps).forEach(L=>{const V=editorService.getNodeById(L);V&&y.deps[L].keys.forEach(z=>{const[j]=get(V,z);if(!g.find(oe=>oe.id===j)){const oe=this.getDataSourceById(j);oe&&g.push(oe)}})})}storageService.setItem(COPY_DS_STORAGE_KEY,g,{protocol:Protocol.OBJECT})}paste(){storageService.getItem(COPY_DS_STORAGE_KEY).forEach(i=>{this.getDataSourceById(i.id)||this.add(i)})}}const dataSourceService=new DataSource,jsContent='var P=Object.defineProperty;var j=(r,t,n)=>t in r?P(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n;var L=(r,t,n)=>j(r,typeof t!="symbol"?t+"":t,n);(function(){"use strict";var events={exports:{}},hasRequiredEvents;function requireEvents(){if(hasRequiredEvents)return events.exports;hasRequiredEvents=1;var r=typeof Reflect=="object"?Reflect:null,t=r&&typeof r.apply=="function"?r.apply:function(s,o,f){return Function.prototype.apply.call(s,o,f)},n;r&&typeof r.ownKeys=="function"?n=r.ownKeys:Object.getOwnPropertySymbols?n=function(s){return Object.getOwnPropertyNames(s).concat(Object.getOwnPropertySymbols(s))}:n=function(s){return Object.getOwnPropertyNames(s)};function c(i){console&&console.warn&&console.warn(i)}var u=Number.isNaN||function(s){return s!==s};function a(){a.init.call(this)}events.exports=a,events.exports.once=I,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var p=10;function g(i){if(typeof i!="function")throw new TypeError(\'The "listener" argument must be of type Function. Received type \'+typeof i)}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return p},set:function(i){if(typeof i!="number"||i<0||u(i))throw new RangeError(\'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received \'+i+".");p=i}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},a.prototype.setMaxListeners=function(s){if(typeof s!="number"||s<0||u(s))throw new RangeError(\'The value of "n" is out of range. It must be a non-negative number. Received \'+s+".");return this._maxListeners=s,this};function T(i){return i._maxListeners===void 0?a.defaultMaxListeners:i._maxListeners}a.prototype.getMaxListeners=function(){return T(this)},a.prototype.emit=function(s){for(var o=[],f=1;f0&&(l=o[0]),l instanceof Error)throw l;var v=new Error("Unhandled error."+(l?" ("+l.message+")":""));throw v.context=l,v}var A=h[s];if(A===void 0)return!1;if(typeof A=="function")t(A,this,o);else for(var b=A.length,R=O(A,b),f=0;f0&&l.length>d&&!l.warned){l.warned=!0;var v=new Error("Possible EventEmitter memory leak detected. "+l.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");v.name="MaxListenersExceededWarning",v.emitter=i,v.type=s,v.count=l.length,c(v)}return i}a.prototype.addListener=function(s,o){return m(this,s,o,!1)},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(s,o){return m(this,s,o,!0)};function y(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _(i,s,o){var f={fired:!1,wrapFn:void 0,target:i,type:s,listener:o},d=y.bind(f);return d.listener=o,f.wrapFn=d,d}a.prototype.once=function(s,o){return g(o),this.on(s,_(this,s,o)),this},a.prototype.prependOnceListener=function(s,o){return g(o),this.prependListener(s,_(this,s,o)),this},a.prototype.removeListener=function(s,o){var f,d,h,l,v;if(g(o),d=this._events,d===void 0)return this;if(f=d[s],f===void 0)return this;if(f===o||f.listener===o)--this._eventsCount===0?this._events=Object.create(null):(delete d[s],d.removeListener&&this.emit("removeListener",s,f.listener||o));else if(typeof f!="function"){for(h=-1,l=f.length-1;l>=0;l--)if(f[l]===o||f[l].listener===o){v=f[l].listener,h=l;break}if(h<0)return this;h===0?f.shift():C(f,h),f.length===1&&(d[s]=f[0]),d.removeListener!==void 0&&this.emit("removeListener",s,v||o)}return this},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(s){var o,f,d;if(f=this._events,f===void 0)return this;if(f.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):f[s]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete f[s]),this;if(arguments.length===0){var h=Object.keys(f),l;for(d=0;d=0;d--)this.removeListener(s,o[d]);return this};function E(i,s,o){var f=i._events;if(f===void 0)return[];var d=f[s];return d===void 0?[]:typeof d=="function"?o?[d.listener||d]:[d]:o?w(d):O(d,d.length)}a.prototype.listeners=function(s){return E(this,s,!0)},a.prototype.rawListeners=function(s){return E(this,s,!1)},a.listenerCount=function(i,s){return typeof i.listenerCount=="function"?i.listenerCount(s):D.call(i,s)},a.prototype.listenerCount=D;function D(i){var s=this._events;if(s!==void 0){var o=s[i];if(typeof o=="function")return 1;if(o!==void 0)return o.length}return 0}a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[]};function O(i,s){for(var o=new Array(s),f=0;f(r.CODE="code",r))(HookType||{});const isObject=r=>Object.prototype.toString.call(r)==="[object Object]",getKeysArray=r=>"".concat(r).replace(/\\[(\\d+)\\]/g,".$1").split("."),DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX="ds-field::",dataSourceTemplateRegExp=/\\$\\{([\\s\\S]+?)\\}/g;var DepTargetType=(r=>(r.DEFAULT="default",r.CODE_BLOCK="code-block",r.DATA_SOURCE="data-source",r.DATA_SOURCE_METHOD="data-source-method",r.DATA_SOURCE_COND="data-source-cond",r))(DepTargetType||{});class Target{constructor(t){L(this,"isTarget");L(this,"id");L(this,"name");L(this,"type",DepTargetType.DEFAULT);L(this,"deps",{});L(this,"isCollectByDefault");var n;this.isTarget=t.isTarget,this.id=t.id,this.name=t.name,this.isCollectByDefault=(n=t.isCollectByDefault)!=null?n:!0,t.type&&(this.type=t.type),t.initialDeps&&(this.deps=t.initialDeps)}updateDep({id:t,name:n,key:c,data:u}){const a=this.deps[t]||{name:n,keys:[]};a.name=n,a.data=u,this.deps[t]=a,a.keys.indexOf(c)===-1&&a.keys.push(c)}removeDep(t,n){if(typeof t>"u"){Object.keys(this.deps).forEach(u=>{delete this.deps[u]});return}const c=this.deps[t];if(c)if(n){const u=c.keys.indexOf(n);c.keys.splice(u,1),c.keys.length===0&&delete this.deps[t]}else delete this.deps[t]}hasDep(t,n){const c=this.deps[t];return!!(c!=null&&c.keys.find(u=>u===n))}destroy(){this.deps={}}}const createCodeBlockTarget=(r,t,n={})=>new Target({type:DepTargetType.CODE_BLOCK,id:r,initialDeps:n,name:t.name,isTarget:(c,u)=>r===u?!0:(u==null?void 0:u.hookType)===HookType.CODE&&Array.isArray(u.hookData)?u.hookData.findIndex(p=>p.codeId===r)>-1:!1}),isIncludeArrayField=(r,t)=>{let n=t;return r.some((c,u)=>{const a=n.find(({name:p})=>p===c);return n=(a==null?void 0:a.fields)||[],a&&a.type==="array"&&/^(?!\\d+$).*$/.test("".concat(r[u+1]))&&u{const c=r.match(dataSourceTemplateRegExp)||[];if(c.length<=0)return!1;const u=[],a=[];return c.forEach(p=>{const g=p.substring(2,p.length-1),T=getKeysArray(g),m=T.shift();!m||m!==t.id||(isIncludeArrayField(T,t.fields)?u.push(p):a.push(p))}),n?u.length>0:a.length>0},isSpecificDataSourceTemplate=(r,t)=>(r==null?void 0:r.isBindDataSourceField)&&r.dataSourceId&&r.dataSourceId===t&&typeof r.template=="string",isUseDataSourceField=(r,t)=>{if(!Array.isArray(r)||typeof r[0]!="string")return!1;const[n]=r,c=n.indexOf(DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX);return c===-1?!1:n.substring(c+DATA_SOURCE_FIELDS_SELECT_VALUE_PREFIX.length)===t},isDataSourceTarget=(r,t,n,c=!1)=>{if(!n||!["string","object"].includes(typeof n)||"".concat(t).startsWith(NODE_CONDS_KEY))return!1;if(typeof n=="string")return isDataSourceTemplate(n,r,c);if(isObject(n)&&(n!=null&&n.isBindDataSource)&&n.dataSourceId&&n.dataSourceId===r.id||isSpecificDataSourceTemplate(n,r.id))return!0;if(isUseDataSourceField(n,r.id)){const[,...u]=n,a=isIncludeArrayField(u,r.fields);return c?a:!a}return!1},isDataSourceCondTarget=(r,t,n,c=!1)=>{var p;if(!Array.isArray(n)||!r)return!1;const[u,...a]=n;if(u!==r.id||!"".concat(t).startsWith(NODE_CONDS_KEY))return!1;if((p=r.fields)!=null&&p.find(g=>g.name===a[0])){const g=isIncludeArrayField(a,r.fields);return c?g:!g}return!1},createDataSourceTarget=(r,t={})=>new Target({type:DepTargetType.DATA_SOURCE,id:r.id,initialDeps:t,isTarget:(n,c)=>isDataSourceTarget(r,n,c)}),createDataSourceCondTarget=(r,t={})=>new Target({type:DepTargetType.DATA_SOURCE_COND,id:r.id,initialDeps:t,isTarget:(n,c)=>isDataSourceCondTarget(r,n,c)}),createDataSourceMethodTarget=(r,t={})=>new Target({type:DepTargetType.DATA_SOURCE_METHOD,id:r.id,initialDeps:t,isTarget:(n,c)=>{var p,g;if(!Array.isArray(c))return!1;const[u,a]=c;return!a||u!==r.id?!1:(p=r.methods)!=null&&p.find(T=>T.name===a)?!0:!((g=r.fields)!=null&&g.find(T=>T.name===a))}}),traverseTarget=(r,t,n)=>{for(const c of Object.values(r))for(const u of Object.values(c))n&&u.type!==n||t(u)};class Watcher{constructor(t){L(this,"targetsList",{});L(this,"childrenProp","items");L(this,"idProp","id");L(this,"nameProp","name");t!=null&&t.initialTargets&&(this.targetsList=t.initialTargets),t!=null&&t.childrenProp&&(this.childrenProp=t.childrenProp)}getTargetsList(){return this.targetsList}getTargets(t=DepTargetType.DEFAULT){return this.targetsList[t]||{}}addTarget(t){const n=this.getTargets(t.type)||{};this.targetsList[t.type]=n,n[t.id]=t}getTarget(t,n=DepTargetType.DEFAULT){return this.getTargets(n)[t]}hasTarget(t,n=DepTargetType.DEFAULT){return!!this.getTarget(t,n)}hasSpecifiedTypeTarget(t=DepTargetType.DEFAULT){return Object.keys(this.getTargets(t)).length>0}removeTarget(t,n=DepTargetType.DEFAULT){const c=this.getTargets(n);c[t]&&(c[t].destroy(),delete c[t])}removeTargets(t=DepTargetType.DEFAULT){const n=this.targetsList[t];if(n){for(const c of Object.values(n))c.destroy();delete this.targetsList[t]}}clearTargets(){for(const t of Object.keys(this.targetsList))delete this.targetsList[t]}collect(t,n={},c=!1,u){this.collectByCallback(t,u,({node:a,target:p})=>{this.removeTargetDep(p,a),this.collectItem(a,p,n,c)})}collectByCallback(t,n,c){traverseTarget(this.targetsList,u=>{if(!(!n&&!u.isCollectByDefault))for(const a of t)c({node:a,target:u})},n)}clear(t,n){let{targetsList:c}=this;n&&(c={[n]:this.getTargets(n)});const u=[];traverseTarget(c,a=>{if(t)for(const p of t)a.removeDep(p[this.idProp]),Array.isArray(p[this.childrenProp])&&p[this.childrenProp].length&&!u.includes(p[this.idProp])&&(u.push(p[this.idProp]),this.clear(p[this.childrenProp]));else a.removeDep()})}clearByType(t,n){this.clear(n,t)}collectItem(t,n,c={},u=!1){const a=(p,g="")=>{const T=(m,y)=>{const _=m===this.childrenProp,E=g?"".concat(g,".").concat(m):m;if(n.isTarget(E,y))n.updateDep({id:t[this.idProp],name:"".concat(t[this.nameProp]||t[this.idProp]),data:c,key:E});else if(!_&&Array.isArray(y))for(let D=0,O=y.length;D"u"||y===""||T(m,y)};a(t)}removeTargetDep(t,n,c){if(t.removeDep(n[this.idProp],c),typeof c>"u"&&Array.isArray(n[this.childrenProp])&&n[this.childrenProp].length)for(const u of n[this.childrenProp])this.removeTargetDep(t,u,c)}}const error=(...r)=>{};onmessage=e=>{const watcher=new Watcher({initialTargets:{}}),{dsl}=e.data;try{const mApp=eval("(".concat(dsl,")"));if(mApp||postMessage({}),watcher.clearTargets(),mApp.codeBlocks)for(const[r,t]of Object.entries(mApp.codeBlocks))watcher.addTarget(createCodeBlockTarget(r,t));if(mApp.dataSources)for(const r of mApp.dataSources)watcher.addTarget(createDataSourceTarget(r,{})),watcher.addTarget(createDataSourceMethodTarget(r,{})),watcher.addTarget(createDataSourceCondTarget(r,{}));watcher.collectByCallback(mApp.items,void 0,({node:r,target:t})=>{watcher.collectItem(r,t,{pageId:r.id},!0)});const data={[DepTargetType.DATA_SOURCE]:{},[DepTargetType.DATA_SOURCE_METHOD]:{},[DepTargetType.DATA_SOURCE_COND]:{},[DepTargetType.CODE_BLOCK]:{}};traverseTarget(watcher.getTargetsList(),r=>{data[r.type][r.id]=r.deps}),postMessage(data)}catch(r){error(r),postMessage({})}}})();\n//# sourceMappingURL=worker-DRePQm5-.js.map\n',blob=typeof self<"u"&&self.Blob&&new Blob([jsContent],{type:"text/javascript;charset=utf-8"});function WorkerWrapper(n){let e;try{if(e=blob&&(self.URL||self.webkitURL).createObjectURL(blob),!e)throw"";const t=new Worker(e,{name:n==null?void 0:n.name});return t.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),t}catch(t){return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(jsContent),{name:n==null?void 0:n.name})}finally{e&&(self.URL||self.webkitURL).revokeObjectURL(e)}}class Dep extends BaseService{constructor(){super();Ni(this,"state",shallowReactive({collecting:!1,taskLength:0}));Ni(this,"idleTask",new IdleTask);Ni(this,"watcher",new Watcher({initialTargets:reactive$1({})}));Ni(this,"waitingWorker");this.idleTask.on("update-task-length",throttle$2(({length:t})=>{this.set("taskLength",t)},1e3))}set(t,i){this.state[t]=i}get(t){return this.state[t]}removeTargets(t=DepTargetType.DEFAULT){this.watcher.removeTargets(t);const i=this.watcher.getTargets(t);if(i)for(const r of Object.values(i))this.emit("remove-target",r.id,t)}getTargets(t=DepTargetType.DEFAULT){return this.watcher.getTargets(t)}getTarget(t,i=DepTargetType.DEFAULT){return this.watcher.getTarget(t,i)}addTarget(t){this.watcher.addTarget(t),this.emit("add-target",t)}removeTarget(t,i=DepTargetType.DEFAULT){this.watcher.removeTarget(t,i),this.emit("remove-target",t,i)}clearTargets(){this.watcher.clearTargets()}collect(t,i={},r=!1,g){this.set("collecting",!0),this.watcher.collectByCallback(t,g,({node:y,target:k})=>{this.collectNode(y,k,i,r)}),this.set("collecting",!1),this.emit("collected",t,r),this.emit("ds-collected",t,r)}async collectIdle(t,i={},r=!1,g){this.waitingWorker&&await this.waitingWorker,this.set("collecting",!0);let y=!1;return this.watcher.collectByCallback(t,g,({node:k,target:L})=>{y=!0,this.enqueueTask(k,L,i,r)}),new Promise(k=>{if(!y){this.emit("collected",t,r),this.set("collecting",!1),k();return}this.idleTask.once("finish",()=>{this.emit("collected",t,r),this.set("collecting",!1)}),this.idleTask.once("hight-level-finish",()=>{this.emit("ds-collected",t,r),k()})})}collectByWorker(t){this.set("collecting",!0);const{promise:i,resolve:r}=Promise.withResolvers();return this.waitingWorker=i,new Promise(g=>{const y=new WorkerWrapper;y.postMessage({dsl:serialize(t)}),y.onmessage=k=>{g(k.data)},y.onerror=()=>{g({})}}).then(g=>(traverseTarget(this.watcher.getTargetsList(),y=>{var k;(k=g[y.type])!=null&&k[y.id]&&(y.deps=reactive$1(g[y.type][y.id]),y.type===DepTargetType.DATA_SOURCE&&t.dataSourceDeps?t.dataSourceDeps[y.id]=y.deps:y.type===DepTargetType.DATA_SOURCE_COND&&t.dataSourceCondDeps?t.dataSourceCondDeps[y.id]=y.deps:y.type===DepTargetType.DATA_SOURCE_METHOD&&(t.dataSourceMethodDeps[y.id]=y.deps))}),this.set("collecting",!1),this.emit("collected",t.items,!0),this.emit("ds-collected",t.items,!0),r(),g))}collectNode(t,i,r={},g=!1){var y;if(isPage(t))for(const[k,L]of Object.entries(i.deps))(y=L.data)!=null&&y.pageId&&L.data.pageId===r.pageId&&delete i.deps[k];else this.watcher.removeTargetDep(i,t);this.watcher.collectItem(t,i,r,g)}clear(t){return this.watcher.clear(t)}clearByType(t,i){return this.watcher.clearByType(t,i)}hasTarget(t,i=DepTargetType.DEFAULT){return this.watcher.hasTarget(t,i)}hasSpecifiedTypeTarget(t=DepTargetType.DEFAULT){return this.watcher.hasSpecifiedTypeTarget(t)}clearIdleTasks(){this.idleTask.clearTasks()}on(t,i){return super.on(t,i)}once(t,i){return super.once(t,i)}reset(){this.idleTask.clearTasks();for(const t of Object.keys(this.watcher.getTargetsList()))this.removeTargets(t);this.set("collecting",!1)}destroy(){this.idleTask.removeAllListeners(),this.removeAllListeners(),this.reset(),this.removeAllPlugins(),this.idleTask.removeAllListeners()}emit(t,...i){return super.emit(t,...i)}enqueueTask(t,i,r,g){this.idleTask.enqueueTask(({node:y,deep:k,target:L})=>{this.collectNode(y,L,r,k)},{node:t,deep:!1,target:i},i.type===DepTargetType.DATA_SOURCE),g&&Array.isArray(t.items)&&t.items.length&&t.items.forEach(y=>{this.enqueueTask(y,i,r,g)})}}const depService=new Dep,canUsePluginMethods$1={async:[],sync:["setEvent","getEvent","setMethod","getMethod"]};let eventMap=reactive$1({}),methodMap=reactive$1({});class Events extends BaseService{constructor(){super([...canUsePluginMethods$1.async.map(e=>({name:e,isAsync:!0})),...canUsePluginMethods$1.sync.map(e=>({name:e,isAsync:!1}))])}setEvents(e){Object.keys(e).forEach(t=>{this.setEvent(toLine(t),e[t]||[])})}setEvent(e,t){eventMap[toLine(e)]=[...t]}getEvent(e){return cloneDeep(eventMap[toLine(e)])||[]}setMethods(e){Object.keys(e).forEach(t=>{this.setMethod(toLine(t),e[t]||[])})}setMethod(e,t){methodMap[toLine(e)]=[...t]}getMethod(e,t){return cloneDeep(methodMap[toLine(e)])||[]}resetState(){eventMap=reactive$1({}),methodMap=reactive$1({})}destroy(){this.resetState(),this.removeAllListeners(),this.removeAllPlugins()}usePlugin(e){super.usePlugin(e)}}const eventsService=new Events;class Keybinding extends BaseService{constructor(){super(...arguments);Ni(this,"ctrlKey",/mac os x/.test(navigator.userAgent.toLowerCase())?"meta":"ctrl");Ni(this,"controllers",new Map);Ni(this,"bindingList",[]);Ni(this,"commands",{[KeyBindingCommand.DELETE_NODE]:()=>{const t=editorService.get("nodes");!t||isPage(t[0])||isPageFragment(t[0])||editorService.remove(t)},[KeyBindingCommand.COPY_NODE]:()=>{const t=editorService.get("nodes");t&&editorService.copy(t)},[KeyBindingCommand.CUT_NODE]:()=>{const t=editorService.get("nodes");!t||isPage(t[0])||isPageFragment(t[0])||(editorService.copy(t),editorService.remove(t))},[KeyBindingCommand.PASTE_NODE]:()=>{editorService.get("nodes")&&editorService.paste({offsetX:10,offsetY:10})},[KeyBindingCommand.UNDO]:()=>{editorService.undo()},[KeyBindingCommand.REDO]:()=>{editorService.redo()},[KeyBindingCommand.ZOOM_IN]:()=>{uiService.zoom(.1)},[KeyBindingCommand.ZOOM_OUT]:()=>{uiService.zoom(-.1)},[KeyBindingCommand.ZOOM_RESET]:()=>{uiService.set("zoom",1)},[KeyBindingCommand.ZOOM_FIT]:async()=>{uiService.set("zoom",await uiService.calcZoom())},[KeyBindingCommand.MOVE_UP_1]:()=>{editorService.move(0,-1)},[KeyBindingCommand.MOVE_DOWN_1]:()=>{editorService.move(0,1)},[KeyBindingCommand.MOVE_LEFT_1]:()=>{editorService.move(-1,0)},[KeyBindingCommand.MOVE_RIGHT_1]:()=>{editorService.move(1,0)},[KeyBindingCommand.MOVE_UP_10]:()=>{editorService.move(0,-10)},[KeyBindingCommand.MOVE_DOWN_10]:()=>{editorService.move(0,10)},[KeyBindingCommand.MOVE_LEFT_10]:()=>{editorService.move(-10,0)},[KeyBindingCommand.MOVE_RIGHT_10]:()=>{editorService.move(10,0)},[KeyBindingCommand.SWITCH_NODE]:()=>{editorService.selectNextNode()}})}registerCommand(t,i){this.commands[t]=i}registeCommand(t,i){this.registerCommand(t,i)}unregisterCommand(t){delete this.commands[t]}unregisteCommand(t){this.unregisterCommand(t)}registerEl(t,i){if(t!=="global"&&!i)throw new Error("只有name为global可以不传el");const r=new KeyController(i);this.controllers.set(t,r),this.bind(t)}registeEl(t,i){this.registerEl(t,i)}unregisterEl(t){var i;(i=this.controllers.get(t))==null||i.destroy(),this.controllers.delete(t),this.bindingList.forEach(r=>{r.bound=!1})}unregisteEl(t){this.unregisterEl(t)}register(t){for(const i of t){const{command:r,keybinding:g,when:y}=i;for(const[k="",L="keydown"]of y){const V={type:k,command:r,keybinding:g,eventType:L,bound:!1};this.bindingList.find(z=>z.command===r&&z.eventType===L&&z.type===k&&z.keybinding===g)||this.bindingList.push(V)}}this.bind()}registe(t){this.register(t)}reset(){this.controllers.forEach(t=>{t.destroy()}),this.controllers.clear(),this.bindingList=[]}destroy(){this.reset()}bind(t){for(const i of this.bindingList){const{type:r,eventType:g,command:y,keybinding:k,bound:L}=i;if(t&&t!==r||L)continue;const V=this.controllers.get(r);if(!V)continue;const z=j=>{var ie,oe;j.inputEvent.preventDefault(),(oe=(ie=this.commands)[y])==null||oe.call(ie,j.inputEvent)};this.getKeyconKeys(k).forEach(j=>{j[0]?V[g](j,z):V[g](z)}),i.bound=!0}}getKeyconKeys(t=""){const i=r=>r.split("+").map(g=>g==="ctrl"?this.ctrlKey:g);return Array.isArray(t)?t.map(r=>i(r)):[i(t)]}}const keybindingService=new Keybinding,canUsePluginMethods={sync:["openOverlay","closeOverlay","updateOverlay","createStage"]};class StageOverlay extends BaseService{constructor(){super(canUsePluginMethods.sync.map(t=>({name:t,isAsync:!1})));Ni(this,"state",shallowReactive({wrapDiv:document.createElement("div"),sourceEl:null,contentEl:null,stage:null,stageOptions:null,wrapWidth:0,wrapHeight:0,stageOverlayVisible:!1}));Ni(this,"updateHandler",()=>{setTimeout(()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()})});Ni(this,"addHandler",()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()});Ni(this,"removeHandler",()=>{this.render(),this.updateOverlay(),this.updateSelectStatus()});this.get("wrapDiv").classList.add("tmagic-editor-sub-stage-wrap")}get(t){return this.state[t]}set(t,i){this.state[t]=i}openOverlay(t){const i=this.get("stageOptions");!t||!i||(this.set("sourceEl",t),this.createContentEl(),this.set("stageOverlayVisible",!0),editorService.on("update",this.updateHandler),editorService.on("add",this.addHandler),editorService.on("remove",this.removeHandler),editorService.on("drag-to",this.updateHandler),editorService.on("move-layer",this.updateHandler))}closeOverlay(){this.set("stageOverlayVisible",!1);const t=this.get("stage"),i=this.get("wrapDiv");t==null||t.destroy();for(let r=0,g=i.children.length;r{var y,k;this.copyDocumentElement();const r=(k=(y=i.renderer)==null?void 0:y.getDocument())==null?void 0:k.body.children;r&&Array.from(r).forEach(L=>{["SCRIPT","STYLE"].includes(L.tagName)||L.remove()});const g=this.get("wrapDiv");return await this.render(),g}})}usePlugin(t){super.usePlugin(t)}createContentEl(){const t=this.get("sourceEl");if(!t)return;const i=t.cloneNode(!0);this.set("contentEl",i),i.style.position="static",i.style.overflow="visible"}copyDocumentElement(){var y,k,L;const t=this.get("stage"),i=editorService.get("stage"),r=(y=t==null?void 0:t.renderer)==null?void 0:y.getDocument(),g=(L=(k=i==null?void 0:i.renderer)==null?void 0:k.getDocument())==null?void 0:L.documentElement;r&&g&&r.replaceChild(g.cloneNode(!0),r.documentElement)}async render(){var k;this.createContentEl();const t=this.get("contentEl"),i=this.get("sourceEl"),r=this.get("wrapDiv"),g=this.get("stage"),y=this.get("stageOptions");if(t){r.style.cssText="\n width: ".concat(i==null?void 0:i.scrollWidth,"px;\n height: ").concat(i==null?void 0:i.scrollHeight,"px;\n background-color: #fff;\n ");for(let L=0,V=r.children.length;L{var L,V;(V=(L=g==null?void 0:g.renderer)==null?void 0:L.contentWindow)==null||V.magic.onPageElUpdate(r)}),await((k=y==null?void 0:y.canSelect)==null?void 0:k.call(y,t))){const L=getIdFromEl()(t);L&&(g==null||g.select(L))}}}updateSelectStatus(){const t=this.get("stage"),i=editorService.get("nodes");i.length>1?t==null||t.multiSelect(i.map(r=>r.id)):t==null||t.select(i[0].id)}}const stageOverlayService=new StageOverlay,defaultEditorProps={renderType:RenderType.IFRAME,disabledMultiSelect:!1,disabledPageFragment:!1,disabledStageOverlay:!1,containerHighlightClassName:CONTAINER_HIGHLIGHT_CLASS_NAME,containerHighlightDuration:800,containerHighlightType:ContainerHighlightType.DEFAULT,disabledShowSrc:!1,disabledDataSource:!1,disabledCodeBlock:!1,componentGroupList:()=>[],datasourceList:()=>[],menu:()=>({left:[],right:[]}),layerContentMenu:()=>[],stageContentMenu:()=>[],propsConfigs:()=>({}),propsValues:()=>({}),eventMethodList:()=>({}),datasourceValues:()=>({}),datasourceConfigs:()=>({}),canSelect:n=>!!getIdFromEl()(n),isContainer:n=>n.classList.contains("magic-ui-container"),codeOptions:()=>({}),customContentMenu:n=>n},initServiceState=(n,{editorService:e,historyService:t,componentListService:i,propsService:r,eventsService:g,uiService:y,codeBlockService:k,keybindingService:L,dataSourceService:V,depService:z})=>{watch(()=>n.modelValue,j=>{e.set("root",j||null)},{immediate:!0}),watch(()=>n.disabledMultiSelect,j=>{e.set("disabledMultiSelect",j||!1)},{immediate:!0}),watch(()=>n.componentGroupList,j=>j&&i.setList(j),{immediate:!0}),watch(()=>n.datasourceList,j=>j&&V.set("datasourceTypeList",j),{immediate:!0}),watch(()=>n.propsConfigs,j=>j&&r.setPropsConfigs(j),{immediate:!0}),watch(()=>n.propsValues,j=>j&&r.setPropsValues(j),{immediate:!0}),watch(()=>n.eventMethodList,j=>{const ie={},oe={};if(j)for(const re of Object.keys(j))ie[re]=j[re].events,oe[re]=j[re].methods;g.setEvents(ie),g.setMethods(oe)},{immediate:!0}),watch(()=>n.datasourceConfigs,j=>{if(j)for(const[ie,oe]of Object.entries(j))V.setFormConfig(ie,oe)},{immediate:!0}),watch(()=>n.datasourceValues,j=>{if(j)for(const[ie,oe]of Object.entries(j))V.setFormValue(ie,oe)},{immediate:!0}),watch(()=>n.datasourceEventMethodList,j=>{const ie={},oe={};if(j)for(const re of Object.keys(j))ie[re]=j[re].events,oe[re]=j[re].methods;for(const[re,ae]of Object.entries(ie))V.setFormEvent(re,ae);for(const[re,ae]of Object.entries(oe))V.setFormMethod(re,ae)},{immediate:!0}),watch(()=>n.defaultSelected,j=>j&&e.select(j),{immediate:!0}),watch(()=>n.stageRect,j=>j&&y.set("stageRect",j),{immediate:!0}),watch(()=>n.disabledCodeBlock,j=>r.setDisabledCodeBlock(j!=null?j:!1),{immediate:!0}),watch(()=>n.disabledDataSource,j=>r.setDisabledDataSource(j!=null?j:!1),{immediate:!0}),onBeforeUnmount(()=>{e.resetState(),t.resetState(),r.resetState(),y.resetState(),i.resetState(),k.resetState(),L.reset(),z.reset()})},initServiceEvents=(n,e,{editorService:t,codeBlockService:i,dataSourceService:r,depService:g})=>{let y=null;const k=()=>{var ze,qe,Ue;const Oe=(ze=t.get("stage"))==null?void 0:ze.renderer;return Oe?Oe.runtime?Promise.resolve((Ue=(qe=Oe.runtime).getApp)==null?void 0:Ue.call(qe)):y||(y=new Promise(Et=>{const At=globalThis.setTimeout(()=>{Et(void 0)},1e4);Oe.once("runtime-ready",()=>{var Lt,kt;At&&globalThis.clearTimeout(At),Et((kt=(Lt=Oe.runtime)==null?void 0:Lt.getApp)==null?void 0:kt.call(Lt))})}),y):Promise.resolve(void 0)},L=Oe=>{for(const ze of Oe)V(ze)},V=Oe=>{var qe,Ue;const ze=t.get("root");if(ze)return(Ue=t.get("stage"))==null?void 0:Ue.update({config:cloneDeep(Oe),parentId:(qe=t.getParentById(Oe.id))==null?void 0:qe.id,root:cloneDeep(ze)})},z=async()=>{const Oe=t.get("root"),ze=await k();!ze||!Oe||ze.dsl&&(ze.dsl.dataSources=Oe.dataSources)},j=()=>{var ze;const Oe=t.get("root");(ze=k())==null||ze.then(qe=>{Oe&&(qe!=null&&qe.dsl)&&(qe.dsl.dataSourceDeps=Oe.dataSourceDeps)})},ie=Oe=>{var qe;let ze;return isPage(Oe)?ze=Oe.id:ze=(qe=t.getNodeInfo(Oe.id).page)==null?void 0:qe.id,ze},oe=(Oe,ze,qe)=>Promise.all(Oe.map(Ue=>Ue.type===NodeType.ROOT?Promise.resolve():g.collectIdle([Ue],{pageId:ie(Ue)},ze,qe)));watch(()=>t.get("stage"),Oe=>{Oe&&Oe.on("rerender",async()=>{const ze=t.get("node");ze&&(await oe([ze],!0,DepTargetType.DATA_SOURCE),V(ze))})});const re=Oe=>{g.addTarget(createDataSourceTarget(Oe,reactive$1({}))),g.addTarget(createDataSourceMethodTarget(Oe,reactive$1({}))),g.addTarget(createDataSourceCondTarget(Oe,reactive$1({})))},ae=(Oe,ze)=>{if(!Oe)return;Oe.codeBlocks=Oe.codeBlocks||{},Oe.dataSources=Oe.dataSources||[],i.setCodeDsl(Oe.codeBlocks),r.set("dataSources",Oe.dataSources),g.clearTargets();for(const[Ue,Et]of Object.entries(Oe.codeBlocks))g.addTarget(createCodeBlockTarget(Ue,Et));for(const Ue of r.get("dataSources"))re(Ue);Array.isArray(Oe.items)?(g.clearIdleTasks(),(typeof Worker>"u"?oe(Oe.items,!0):g.collectByWorker(Oe)).then(()=>{L(Oe.items)})):(g.clear(),delete Oe.dataSourceDeps,delete Oe.dataSourceCondDeps),(async()=>{var At,Lt;const Ue=((At=t.get("node"))==null?void 0:At.id)||n.defaultSelected;let Et;Ue&&(Et=t.getNodeById(Ue)),Et&&Et!==Oe?await t.select(Et.id):(Lt=Oe.items)!=null&&Lt.length?await t.select(Oe.items[0]):Oe.id&&(t.set("nodes",[Oe]),t.set("parent",null),t.set("page",null)),toRaw(Oe)!==toRaw(ze)&&e("update:modelValue",Oe)})()},le=Oe=>{oe(Oe,!0).then(()=>{L(Oe)})},de=Oe=>{const ze=[],qe=[];for(const{newNode:Ue,oldNode:Et,changeRecords:At}of Oe)if(Ue.type===NodeType.ROOT)qe.push(Ue);else if(At!=null&&At.length)e:for(const Lt of At){if(!Lt.propPath){ze.push(Ue);break e}if(new RegExp("".concat(NODE_CONDS_KEY,".(\\d)+.cond")).test(Lt.propPath)||new RegExp("".concat(NODE_CONDS_KEY,".(\\d)+.cond.(\\d)+.value")).test(Lt.propPath)||Lt.propPath===NODE_CONDS_KEY||isValueIncludeDataSource(Lt.value)){ze.push(Ue);break e}for(const kt of Object.values(g.getTargets(DepTargetType.DATA_SOURCE)))if(kt.deps[Ue.id]&&kt.deps[Ue.id].keys.includes(Lt.propPath)){ze.push(Ue);break e}qe.push(Ue)}else isIncludeDataSource(Ue,Et)?ze.push(Ue):qe.push(Ue);ze.length?(async()=>(await oe(ze,!0,DepTargetType.DATA_SOURCE),await oe(ze,!0,DepTargetType.DATA_SOURCE_COND),L(ze)))():(L(qe),Promise.all([oe(qe,!0,DepTargetType.CODE_BLOCK),oe(qe,!0,DepTargetType.DATA_SOURCE_METHOD)]))},ue=Oe=>{g.clear(Oe)},he=Oe=>{oe([Oe],!0).then(()=>{V(Oe)})};t.on("history-change",he),t.on("root-change",ae),t.on("add",le),t.on("remove",ue),t.on("update",de);const pe=Oe=>{(async()=>{re(Oe);const qe=await k();if(!(qe!=null&&qe.dataSourceManager))return;qe.dataSourceManager.addDataSource(Oe);const Ue=qe.dataSourceManager.get(Oe.id);Ue&&qe.dataSourceManager.init(Ue)})()},Ce=(Oe,{changeRecords:ze})=>{const qe=async()=>{var ri,ni;const ei=await k();if(!(ei!=null&&ei.dataSourceManager))return;const jt=ei.dataSourceManager.get(Oe.id);jt&&(jt.setFields(Oe.fields),jt.setData(((ni=(ri=Oe.mocks)==null?void 0:ri.find(Ci=>Ci.useInEditor))==null?void 0:ni.data)||jt.getDefaultData()))};let Ue=!1,Et=!1,At=!1,Lt=!1;for(const ei of ze)if(ei.propPath&&(Et=ei.propPath==="fields"||/fields.(\d)+.name/.test(ei.propPath)||/fields.(\d)+.defaultValue/.test(ei.propPath)||/fields.(\d)+$/.test(ei.propPath),At=ei.propPath==="mocks",Lt=ei.propPath==="methods"||/methods.(\d)+.name/.test(ei.propPath)||/methods.(\d)+$/.test(ei.propPath),Ue=Et||At||Lt,Ue))break;const kt=t.get("root");if(Ue){if(Array.isArray(kt==null?void 0:kt.items)){g.clearIdleTasks();let ei=[];Et?(g.removeTarget(Oe.id,DepTargetType.DATA_SOURCE),g.removeTarget(Oe.id,DepTargetType.DATA_SOURCE_COND),g.addTarget(createDataSourceTarget(Oe,reactive$1({}))),g.addTarget(createDataSourceCondTarget(Oe,reactive$1({}))),ei=[oe(kt.items,!0,DepTargetType.DATA_SOURCE),oe(kt.items,!0,DepTargetType.DATA_SOURCE_COND)]):At?(g.removeTarget(Oe.id,DepTargetType.DATA_SOURCE),g.addTarget(createDataSourceTarget(Oe,reactive$1({}))),ei=[oe(kt.items,!0,DepTargetType.DATA_SOURCE)]):Lt&&(g.removeTarget(Oe.id,DepTargetType.DATA_SOURCE_METHOD),g.addTarget(createDataSourceMethodTarget(Oe,reactive$1({}))),ei=[oe(kt.items,!0,DepTargetType.DATA_SOURCE_METHOD)]),Promise.all(ei).then(()=>z()).then(()=>qe()).then(()=>L(kt.items))}}else kt!=null&&kt.dataSources&&qe()},$e=Oe=>{g.removeTarget(Oe,DepTargetType.DATA_SOURCE),g.removeTarget(Oe,DepTargetType.DATA_SOURCE_COND),g.removeTarget(Oe,DepTargetType.DATA_SOURCE_METHOD)},xe=Oe=>{const ze=t.get("root");if(!ze)return;(async()=>{var Lt,kt;const Ue=Object.keys(((Lt=ze.dataSourceDeps)==null?void 0:Lt[Oe])||{}),Et=getNodes(Ue,ze.items);await Promise.all([oe(Et,!1,DepTargetType.DATA_SOURCE),oe(Et,!1,DepTargetType.DATA_SOURCE_COND),oe(Et,!1,DepTargetType.DATA_SOURCE_METHOD)]),z();const At=await k();(kt=At==null?void 0:At.dataSourceManager)==null||kt.removeDataSource(Oe),L(Et),$e(Oe)})()};r.on("add",pe),r.on("update",Ce),r.on("remove",xe);const Ie=(Oe,ze)=>{if(g.hasTarget(Oe,DepTargetType.CODE_BLOCK)){g.getTarget(Oe,DepTargetType.CODE_BLOCK).name=ze.name;return}g.addTarget(createCodeBlockTarget(Oe,ze))},Ne=Oe=>{g.removeTarget(Oe,DepTargetType.CODE_BLOCK)};i.on("addOrUpdate",Ie),i.on("remove",Ne);const Fe=Oe=>{const ze=t.get("root");ze&&(Oe.type===DepTargetType.DATA_SOURCE?(ze.dataSourceDeps||(ze.dataSourceDeps={}),ze.dataSourceDeps[Oe.id]=Oe.deps):Oe.type===DepTargetType.DATA_SOURCE_COND?(ze.dataSourceCondDeps||(ze.dataSourceCondDeps={}),ze.dataSourceCondDeps[Oe.id]=Oe.deps):Oe.type===DepTargetType.DATA_SOURCE_METHOD&&(ze.dataSourceMethodDeps||(ze.dataSourceMethodDeps={}),ze.dataSourceMethodDeps[Oe.id]=Oe.deps))},Ve=(Oe,ze)=>{const qe=t.get("root");qe&&(qe.dataSourceDeps&&ze===DepTargetType.DATA_SOURCE&&delete qe.dataSourceDeps[Oe],qe.dataSourceCondDeps&&ze===DepTargetType.DATA_SOURCE_COND&&delete qe.dataSourceCondDeps[Oe],qe.dataSourceMethodDeps&&ze===DepTargetType.DATA_SOURCE_METHOD&&delete qe.dataSourceMethodDeps[Oe])};g.on("add-target",Fe),g.on("remove-target",Ve),g.on("ds-collected",j),onBeforeUnmount(()=>{g.off("add-target",Fe),g.off("remove-target",Ve),g.off("ds-collected",j),t.off("history-change",he),t.off("root-change",ae),t.off("add",le),t.off("remove",ue),t.off("update",de),i.off("addOrUpdate",Ie),i.off("remove",Ne),r.off("add",pe),r.off("update",Ce),r.off("remove",xe)})},_sfc_main$1E=defineComponent({name:"MEditor",__name:"Editor",props:mergeDefaults({modelValue:{},componentGroupList:{},datasourceList:{},sidebar:{},menu:{},layerContentMenu:{},stageContentMenu:{},runtimeUrl:{},renderType:{},autoScrollIntoView:{type:Boolean},propsConfigs:{},propsValues:{},eventMethodList:{},datasourceValues:{},datasourceConfigs:{},datasourceEventMethodList:{},moveableOptions:{type:[Object,Function]},defaultSelected:{},containerHighlightClassName:{},containerHighlightDuration:{},containerHighlightType:{},stageRect:{},codeOptions:{},disabledDragStart:{type:Boolean},guidesOptions:{},disabledMultiSelect:{type:Boolean},disabledPageFragment:{type:Boolean},disabledStageOverlay:{type:Boolean},disabledShowSrc:{type:Boolean},disabledDataSource:{type:Boolean},disabledCodeBlock:{type:Boolean},treeIndent:{},treeNextLevelIndentIncrement:{},render:{type:Function},updateDragEl:{type:Function},canSelect:{type:Function},isContainer:{type:Function},customContentMenu:{type:Function},extendFormState:{type:Function},pageBarSortOptions:{},pageFilterFunction:{type:Function}},defaultEditorProps),emits:["props-panel-mounted","props-panel-unmounted","update:modelValue","props-form-error","props-submit-error"],setup(n,{expose:e,emit:t}){const i=t,r=n,g={componentListService,eventsService,historyService,propsService,editorService,uiService,storageService,codeBlockService,depService,dataSourceService,keybindingService,stageOverlayService};initServiceEvents(r,i,g),initServiceState(r,g),keybindingService.register(keybindingConfig),keybindingService.registerEl("global");const y={runtimeUrl:r.runtimeUrl,autoScrollIntoView:r.autoScrollIntoView,render:r.render,moveableOptions:r.moveableOptions,canSelect:r.canSelect,updateDragEl:r.updateDragEl,isContainer:r.isContainer,containerHighlightClassName:r.containerHighlightClassName,containerHighlightDuration:r.containerHighlightDuration,containerHighlightType:r.containerHighlightType,disabledDragStart:r.disabledDragStart,renderType:r.renderType,guidesOptions:r.guidesOptions,disabledMultiSelect:r.disabledMultiSelect};stageOverlayService.set("stageOptions",y),watch(()=>r.runtimeUrl,j=>{if(!j)return;const ie=editorService.get("stage");ie&&ie.reloadIframe(j)}),provide("services",g),provide("codeOptions",r.codeOptions),provide("stageOptions",y),provide("eventBus",new eventsExports.EventEmitter);const k=j=>{i("props-panel-mounted",j)},L=()=>{i("props-panel-unmounted")},V=j=>{i("props-submit-error",j)},z=j=>{i("props-form-error",j)};return e(g),(j,ie)=>(openBlock(),createBlock(_sfc_main$24,{"disabled-page-fragment":j.disabledPageFragment,"page-bar-sort-options":j.pageBarSortOptions,"page-filter-function":j.pageFilterFunction},{header:withCtx(()=>[renderSlot(j.$slots,"header")]),nav:withCtx(()=>[renderSlot(j.$slots,"nav",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$23,{data:j.menu},null,8,["data"])])]),"content-before":withCtx(()=>[renderSlot(j.$slots,"content-before")]),"src-code":withCtx(()=>[renderSlot(j.$slots,"src-code",{editorService:unref(editorService)})]),sidebar:withCtx(()=>[renderSlot(j.$slots,"sidebar",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$1O,{data:j.sidebar,"layer-content-menu":j.layerContentMenu,"custom-content-menu":j.customContentMenu,indent:j.treeIndent,"next-level-indent-increment":j.treeNextLevelIndentIncrement},{"layer-panel-header":withCtx(()=>[renderSlot(j.$slots,"layer-panel-header")]),"layer-node-content":withCtx(({data:oe})=>[renderSlot(j.$slots,"layer-node-content",{data:oe})]),"layer-node-label":withCtx(({data:oe})=>[renderSlot(j.$slots,"layer-node-label",{data:oe})]),"layer-node-tool":withCtx(({data:oe})=>[renderSlot(j.$slots,"layer-node-tool",{data:oe})]),"component-list":withCtx(({componentGroupList:oe})=>[renderSlot(j.$slots,"component-list",{componentGroupList:oe})]),"component-list-panel-header":withCtx(()=>[renderSlot(j.$slots,"component-list-panel-header")]),"component-list-item":withCtx(({component:oe})=>[renderSlot(j.$slots,"component-list-item",{component:oe})]),"code-block-panel-header":withCtx(()=>[renderSlot(j.$slots,"code-block-panel-header")]),"code-block-panel-tool":withCtx(({id:oe,data:re})=>[renderSlot(j.$slots,"code-block-panel-tool",{id:oe,data:re})]),"code-block-panel-search":withCtx(()=>[renderSlot(j.$slots,"code-block-panel-search")]),"data-source-panel-tool":withCtx(({data:oe})=>[renderSlot(j.$slots,"data-source-panel-tool",{data:oe})]),"data-source-panel-search":withCtx(()=>[renderSlot(j.$slots,"data-source-panel-search")]),_:3},8,["data","layer-content-menu","custom-content-menu","indent","next-level-indent-increment"])])]),workspace:withCtx(()=>[renderSlot(j.$slots,"workspace",{editorService:unref(editorService)},()=>[createVNode(_sfc_main$1F,{"disabled-stage-overlay":j.disabledStageOverlay,"stage-content-menu":j.stageContentMenu,"custom-content-menu":j.customContentMenu},{stage:withCtx(()=>[renderSlot(j.$slots,"stage")]),"workspace-content":withCtx(()=>[renderSlot(j.$slots,"workspace-content",{editorService:unref(editorService)})]),_:3},8,["disabled-stage-overlay","stage-content-menu","custom-content-menu"])])]),"props-panel":withCtx(()=>[renderSlot(j.$slots,"props-panel",{},()=>[createVNode(_sfc_main$21,{"extend-state":j.extendFormState,"disabled-show-src":j.disabledShowSrc,onMounted:k,onUnmounted:L,onFormError:z,onSubmitError:V},{"props-panel-header":withCtx(()=>[renderSlot(j.$slots,"props-panel-header")]),_:3},8,["extend-state","disabled-show-src"])])]),empty:withCtx(()=>[renderSlot(j.$slots,"empty",{editorService:unref(editorService)})]),"content-after":withCtx(()=>[renderSlot(j.$slots,"content-after")]),footer:withCtx(()=>[renderSlot(j.$slots,"footer")]),"page-bar":withCtx(()=>[renderSlot(j.$slots,"page-bar")]),"page-bar-add-button":withCtx(()=>[renderSlot(j.$slots,"page-bar-add-button")]),"page-bar-title":withCtx(({page:oe})=>[renderSlot(j.$slots,"page-bar-title",{page:oe})]),"page-bar-popover":withCtx(({page:oe})=>[renderSlot(j.$slots,"page-bar-popover",{page:oe})]),"page-list-popover":withCtx(({list:oe})=>[renderSlot(j.$slots,"page-list-popover",{list:oe})]),_:3},8,["disabled-page-fragment","page-bar-sort-options","page-filter-function"]))}}),defaultInstallOpt={parseDSL:dsl=>eval(dsl),customCreateMonacoEditor:(n,e,t)=>n.editor.create(e,t),customCreateMonacoDiffEditor:(n,e,t)=>n.editor.createDiffEditor(e,t)},editorPlugin={install:(n,e)=>{const t=Object.assign(defaultInstallOpt,e||{});n.use(designPlugin,e||{}),n.use(formPlugin,e||{}),n.use(tablePlugin),n.config.globalProperties.$TMAGIC_EDITOR=t,setEditorConfig(t),n.component("".concat(_sfc_main$1E.name||"MEditor"),_sfc_main$1E),n.component("magic-code-editor",_sfc_main$32),n.component("m-fields-ui-select",_sfc_main$2e),n.component("m-fields-code-link",_sfc_main$30),n.component("m-fields-vs-code",_sfc_main$31),n.component("m-fields-code-select",_sfc_main$2$),n.component("m-fields-code-select-col",_sfc_main$2Z),n.component("m-fields-event-select",_sfc_main$2M),n.component("m-fields-data-source-fields",_sfc_main$2W),n.component("m-fields-data-source-mocks",_sfc_main$2P),n.component("m-fields-key-value",_sfc_main$2K),n.component("m-fields-data-source-input",_sfc_main$2T),n.component("m-fields-data-source-select",_sfc_main$2O),n.component("m-fields-data-source-methods",_sfc_main$2R),n.component("m-fields-data-source-method-select",_sfc_main$2Q),n.component("m-fields-data-source-field-select",_sfc_main$2U),n.component("m-fields-page-fragment-select",_sfc_main$2J),n.component("m-fields-display-conds",_sfc_main$2N),n.component("m-fields-cond-op-select",_sfc_main$2Y),n.component("m-form-style-setter",_sfc_main$2f)}},configProviderContextKey=Symbol(),defaultNamespace="el",statePrefix="is-",_bem=(n,e,t,i,r)=>{let g="".concat(n,"-").concat(e);return t&&(g+="-".concat(t)),i&&(g+="__".concat(i)),r&&(g+="--".concat(r)),g},namespaceContextKey=Symbol("namespaceContextKey"),useGetDerivedNamespace=n=>{const e=n||(getCurrentInstance$1()?inject(namespaceContextKey,ref$1(defaultNamespace)):ref$1(defaultNamespace));return computed$1(()=>unref(e)||defaultNamespace)},useNamespace=(n,e)=>{const t=useGetDerivedNamespace(e);return{namespace:t,b:(ae="")=>_bem(t.value,n,ae,"",""),e:ae=>ae?_bem(t.value,n,"",ae,""):"",m:ae=>ae?_bem(t.value,n,"","",ae):"",be:(ae,le)=>ae&&le?_bem(t.value,n,ae,le,""):"",em:(ae,le)=>ae&&le?_bem(t.value,n,"",ae,le):"",bm:(ae,le)=>ae&&le?_bem(t.value,n,ae,"",le):"",bem:(ae,le,de)=>ae&&le&&de?_bem(t.value,n,ae,le,de):"",is:(ae,...le)=>{const de=le.length>=1?le[0]:!0;return ae&&de?"".concat(statePrefix).concat(ae):""},cssVar:ae=>{const le={};for(const de in ae)ae[de]&&(le["--".concat(t.value,"-").concat(de)]=ae[de]);return le},cssVarName:ae=>"--".concat(t.value,"-").concat(ae),cssVarBlock:ae=>{const le={};for(const de in ae)ae[de]&&(le["--".concat(t.value,"-").concat(n,"-").concat(de)]=ae[de]);return le},cssVarBlockName:ae=>"--".concat(t.value,"-").concat(n,"-").concat(ae)}},isUndefined=n=>n===void 0,isBoolean=n=>typeof n=="boolean",isNumber=n=>typeof n=="number",isEmpty=n=>!n&&n!==0||isArray$2(n)&&n.length===0||isObject$4(n)&&!Object.keys(n).length,isElement=n=>typeof Element>"u"?!1:n instanceof Element,isPropAbsent=n=>isNil(n),isStringNumber=n=>isString$5(n)?!Number.isNaN(Number(n)):!1;var __defProp$9=Object.defineProperty,__defProps$6=Object.defineProperties,__getOwnPropDescs$6=Object.getOwnPropertyDescriptors,__getOwnPropSymbols$b=Object.getOwnPropertySymbols,__hasOwnProp$b=Object.prototype.hasOwnProperty,__propIsEnum$b=Object.prototype.propertyIsEnumerable,__defNormalProp$9=(n,e,t)=>e in n?__defProp$9(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,__spreadValues$9=(n,e)=>{for(var t in e||(e={}))__hasOwnProp$b.call(e,t)&&__defNormalProp$9(n,t,e[t]);if(__getOwnPropSymbols$b)for(var t of __getOwnPropSymbols$b(e))__propIsEnum$b.call(e,t)&&__defNormalProp$9(n,t,e[t]);return n},__spreadProps$6=(n,e)=>__defProps$6(n,__getOwnPropDescs$6(e));function computedEager(n,e){var t;const i=shallowRef();return watchEffect(()=>{i.value=n()},__spreadProps$6(__spreadValues$9({},e),{flush:(t=void 0)!=null?t:"sync"})),readonly(i)}var _a;const isClient=typeof window<"u",isDef=n=>typeof n<"u",isFunction=n=>typeof n=="function",isString=n=>typeof n=="string",noop$1=()=>{},isIOS=isClient&&((_a=window==null?void 0:window.navigator)==null?void 0:_a.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent);function resolveUnref(n){return typeof n=="function"?n():unref(n)}function createFilterWrapper(n,e){function t(...i){return new Promise((r,g)=>{Promise.resolve(n(()=>e.apply(this,i),{fn:e,thisArg:this,args:i})).then(r).catch(g)})}return t}function debounceFilter(n,e={}){let t,i,r=noop$1;const g=k=>{clearTimeout(k),r(),r=noop$1};return k=>{const L=resolveUnref(n),V=resolveUnref(e.maxWait);return t&&g(t),L<=0||V!==void 0&&V<=0?(i&&(g(i),i=null),Promise.resolve(k())):new Promise((z,j)=>{r=e.rejectOnCancel?j:z,V&&!i&&(i=setTimeout(()=>{t&&g(t),i=null,z(k())},V)),t=setTimeout(()=>{i&&g(i),i=null,z(k())},L)})}}function identity(n){return n}function tryOnScopeDispose(n){return getCurrentScope()?(onScopeDispose(n),!0):!1}function useDebounceFn(n,e=200,t={}){return createFilterWrapper(debounceFilter(e,t),n)}function refDebounced(n,e=200,t={}){const i=ref$1(n.value),r=useDebounceFn(()=>{i.value=n.value},e,t);return watch(n,()=>r()),i}function tryOnMounted(n,e=!0){getCurrentInstance$1()?onMounted(n):e?n():nextTick(n)}function useTimeoutFn(n,e,t={}){const{immediate:i=!0}=t,r=ref$1(!1);let g=null;function y(){g&&(clearTimeout(g),g=null)}function k(){r.value=!1,y()}function L(...V){y(),r.value=!0,g=setTimeout(()=>{r.value=!1,g=null,n(...V)},resolveUnref(e))}return i&&(r.value=!0,isClient&&L()),tryOnScopeDispose(k),{isPending:readonly(r),start:L,stop:k}}function unrefElement(n){var e;const t=resolveUnref(n);return(e=t==null?void 0:t.$el)!=null?e:t}const defaultWindow=isClient?window:void 0,defaultDocument=isClient?window.document:void 0;function useEventListener(...n){let e,t,i,r;if(isString(n[0])||Array.isArray(n[0])?([t,i,r]=n,e=defaultWindow):[e,t,i,r]=n,!e)return noop$1;Array.isArray(t)||(t=[t]),Array.isArray(i)||(i=[i]);const g=[],y=()=>{g.forEach(z=>z()),g.length=0},k=(z,j,ie,oe)=>(z.addEventListener(j,ie,oe),()=>z.removeEventListener(j,ie,oe)),L=watch(()=>[unrefElement(e),resolveUnref(r)],([z,j])=>{y(),z&&g.push(...t.flatMap(ie=>i.map(oe=>k(z,ie,oe,j))))},{immediate:!0,flush:"post"}),V=()=>{L(),y()};return tryOnScopeDispose(V),V}let _iOSWorkaround=!1;function onClickOutside(n,e,t={}){const{window:i=defaultWindow,ignore:r=[],capture:g=!0,detectIframe:y=!1}=t;if(!i)return;isIOS&&!_iOSWorkaround&&(_iOSWorkaround=!0,Array.from(i.document.body.children).forEach(ie=>ie.addEventListener("click",noop$1)));let k=!0;const L=ie=>r.some(oe=>{if(typeof oe=="string")return Array.from(i.document.querySelectorAll(oe)).some(re=>re===ie.target||ie.composedPath().includes(re));{const re=unrefElement(oe);return re&&(ie.target===re||ie.composedPath().includes(re))}}),z=[useEventListener(i,"click",ie=>{const oe=unrefElement(n);if(!(!oe||oe===ie.target||ie.composedPath().includes(oe))){if(ie.detail===0&&(k=!L(ie)),!k){k=!0;return}e(ie)}},{passive:!0,capture:g}),useEventListener(i,"pointerdown",ie=>{const oe=unrefElement(n);oe&&(k=!ie.composedPath().includes(oe)&&!L(ie))},{passive:!0}),y&&useEventListener(i,"blur",ie=>{var oe;const re=unrefElement(n);((oe=i.document.activeElement)==null?void 0:oe.tagName)==="IFRAME"&&!(re!=null&&re.contains(i.document.activeElement))&&e(ie)})].filter(Boolean);return()=>z.forEach(ie=>ie())}function useSupported(n,e=!1){const t=ref$1(),i=()=>t.value=!!n();return i(),tryOnMounted(i,e),t}function cloneFnJSON(n){return JSON.parse(JSON.stringify(n))}const _global=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},globalKey="__vueuse_ssr_handlers__";_global[globalKey]=_global[globalKey]||{};function useCssVar(n,e,{window:t=defaultWindow,initialValue:i=""}={}){const r=ref$1(i),g=computed$1(()=>{var y;return unrefElement(e)||((y=t==null?void 0:t.document)==null?void 0:y.documentElement)});return watch([g,()=>resolveUnref(n)],([y,k])=>{var L;if(y&&t){const V=(L=t.getComputedStyle(y).getPropertyValue(k))==null?void 0:L.trim();r.value=V||i}},{immediate:!0}),watch(r,y=>{var k;(k=g.value)!=null&&k.style&&g.value.style.setProperty(resolveUnref(n),y)}),r}function useDocumentVisibility({document:n=defaultDocument}={}){if(!n)return ref$1("visible");const e=ref$1(n.visibilityState);return useEventListener(n,"visibilitychange",()=>{e.value=n.visibilityState}),e}var __getOwnPropSymbols$g=Object.getOwnPropertySymbols,__hasOwnProp$g=Object.prototype.hasOwnProperty,__propIsEnum$g=Object.prototype.propertyIsEnumerable,__objRest$2=(n,e)=>{var t={};for(var i in n)__hasOwnProp$g.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&__getOwnPropSymbols$g)for(var i of __getOwnPropSymbols$g(n))e.indexOf(i)<0&&__propIsEnum$g.call(n,i)&&(t[i]=n[i]);return t};function useResizeObserver(n,e,t={}){const i=t,{window:r=defaultWindow}=i,g=__objRest$2(i,["window"]);let y;const k=useSupported(()=>r&&"ResizeObserver"in r),L=()=>{y&&(y.disconnect(),y=void 0)},V=watch(()=>unrefElement(n),j=>{L(),k.value&&r&&j&&(y=new ResizeObserver(e),y.observe(j,g))},{immediate:!0,flush:"post"}),z=()=>{L(),V()};return tryOnScopeDispose(z),{isSupported:k,stop:z}}var __getOwnPropSymbols$8=Object.getOwnPropertySymbols,__hasOwnProp$8=Object.prototype.hasOwnProperty,__propIsEnum$8=Object.prototype.propertyIsEnumerable,__objRest$1=(n,e)=>{var t={};for(var i in n)__hasOwnProp$8.call(n,i)&&e.indexOf(i)<0&&(t[i]=n[i]);if(n!=null&&__getOwnPropSymbols$8)for(var i of __getOwnPropSymbols$8(n))e.indexOf(i)<0&&__propIsEnum$8.call(n,i)&&(t[i]=n[i]);return t};function useMutationObserver(n,e,t={}){const i=t,{window:r=defaultWindow}=i,g=__objRest$1(i,["window"]);let y;const k=useSupported(()=>r&&"MutationObserver"in r),L=()=>{y&&(y.disconnect(),y=void 0)},V=watch(()=>unrefElement(n),j=>{L(),k.value&&r&&j&&(y=new MutationObserver(e),y.observe(j,g))},{immediate:!0}),z=()=>{L(),V()};return tryOnScopeDispose(z),{isSupported:k,stop:z}}var SwipeDirection;(function(n){n.UP="UP",n.RIGHT="RIGHT",n.DOWN="DOWN",n.LEFT="LEFT",n.NONE="NONE"})(SwipeDirection||(SwipeDirection={}));var __defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,e,t)=>e in n?__defProp(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t,__spreadValues=(n,e)=>{for(var t in e||(e={}))__hasOwnProp.call(e,t)&&__defNormalProp(n,t,e[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(e))__propIsEnum.call(e,t)&&__defNormalProp(n,t,e[t]);return n};const _TransitionPresets={easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]};__spreadValues({linear:identity},_TransitionPresets);function useVModel(n,e,t,i={}){var r,g,y;const{clone:k=!1,passive:L=!1,eventName:V,deep:z=!1,defaultValue:j}=i,ie=getCurrentInstance$1(),oe=(ie==null?void 0:ie.emit)||((r=ie==null?void 0:ie.$emit)==null?void 0:r.bind(ie))||((y=(g=ie==null?void 0:ie.proxy)==null?void 0:g.$emit)==null?void 0:y.bind(ie==null?void 0:ie.proxy));let re=V;re=V||re||"update:".concat(e.toString());const ae=de=>k?isFunction(k)?k(de):cloneFnJSON(de):de,le=()=>isDef(n[e])?ae(n[e]):j;if(L){const de=le(),ue=ref$1(de);return watch(()=>n[e],he=>ue.value=ae(he)),watch(ue,he=>{(he!==n[e]||z)&&oe(re,he)},{deep:z}),ue}else return computed$1({get(){return le()},set(de){oe(re,de)}})}function useWindowFocus({window:n=defaultWindow}={}){if(!n)return ref$1(!1);const e=ref$1(n.document.hasFocus());return useEventListener(n,"blur",()=>{e.value=!1}),useEventListener(n,"focus",()=>{e.value=!0}),e}class ElementPlusError extends Error{constructor(e){super(e),this.name="ElementPlusError"}}function throwError(n,e){throw new ElementPlusError("[".concat(n,"] ").concat(e))}function debugWarn(n,e){}const initial={current:0},zIndex=ref$1(0),defaultInitialZIndex=2e3,ZINDEX_INJECTION_KEY=Symbol("elZIndexContextKey"),zIndexContextKey=Symbol("zIndexContextKey"),useZIndex=n=>{const e=getCurrentInstance$1()?inject(ZINDEX_INJECTION_KEY,initial):initial,t=n||(getCurrentInstance$1()?inject(zIndexContextKey,void 0):void 0),i=computed$1(()=>{const y=unref(t);return isNumber(y)?y:defaultInitialZIndex}),r=computed$1(()=>i.value+zIndex.value),g=()=>(e.current++,zIndex.value=e.current,r.value);return!isClient&&inject(ZINDEX_INJECTION_KEY),{initialZIndex:i,currentZIndex:r,nextZIndex:g}};var English={name:"en",el:{breadcrumb:{label:"Breadcrumb"},colorpicker:{confirm:"OK",clear:"Clear",defaultLabel:"color picker",description:"current color is {color}. press enter to select a new color.",alphaLabel:"pick alpha value"},datepicker:{now:"Now",today:"Today",cancel:"Cancel",clear:"Clear",confirm:"OK",dateTablePrompt:"Use the arrow keys and enter to select the day of the month",monthTablePrompt:"Use the arrow keys and enter to select the month",yearTablePrompt:"Use the arrow keys and enter to select the year",selectedDate:"Selected date",selectDate:"Select date",selectTime:"Select time",startDate:"Start Date",startTime:"Start Time",endDate:"End Date",endTime:"End Time",prevYear:"Previous Year",nextYear:"Next Year",prevMonth:"Previous Month",nextMonth:"Next Month",year:"",month1:"January",month2:"February",month3:"March",month4:"April",month5:"May",month6:"June",month7:"July",month8:"August",month9:"September",month10:"October",month11:"November",month12:"December",week:"week",weeks:{sun:"Sun",mon:"Mon",tue:"Tue",wed:"Wed",thu:"Thu",fri:"Fri",sat:"Sat"},weeksFull:{sun:"Sunday",mon:"Monday",tue:"Tuesday",wed:"Wednesday",thu:"Thursday",fri:"Friday",sat:"Saturday"},months:{jan:"Jan",feb:"Feb",mar:"Mar",apr:"Apr",may:"May",jun:"Jun",jul:"Jul",aug:"Aug",sep:"Sep",oct:"Oct",nov:"Nov",dec:"Dec"}},inputNumber:{decrease:"decrease number",increase:"increase number"},select:{loading:"Loading",noMatch:"No matching data",noData:"No data",placeholder:"Select"},mention:{loading:"Loading"},dropdown:{toggleDropdown:"Toggle Dropdown"},cascader:{noMatch:"No matching data",loading:"Loading",placeholder:"Select",noData:"No data"},pagination:{goto:"Go to",pagesize:"/page",total:"Total {total}",pageClassifier:"",page:"Page",prev:"Go to previous page",next:"Go to next page",currentPage:"page {pager}",prevPages:"Previous {pager} pages",nextPages:"Next {pager} pages",deprecationWarning:"Deprecated usages detected, please refer to the el-pagination documentation for more details"},dialog:{close:"Close this dialog"},drawer:{close:"Close this dialog"},messagebox:{title:"Message",confirm:"OK",cancel:"Cancel",error:"Illegal input",close:"Close this dialog"},upload:{deleteTip:"press delete to remove",delete:"Delete",preview:"Preview",continue:"Continue"},slider:{defaultLabel:"slider between {min} and {max}",defaultRangeStartLabel:"pick start value",defaultRangeEndLabel:"pick end value"},table:{emptyText:"No Data",confirmFilter:"Confirm",resetFilter:"Reset",clearFilter:"All",sumText:"Sum"},tour:{next:"Next",previous:"Previous",finish:"Finish"},tree:{emptyText:"No Data"},transfer:{noMatch:"No matching data",noData:"No data",titles:["List 1","List 2"],filterPlaceholder:"Enter keyword",noCheckedFormat:"{total} items",hasCheckedFormat:"{checked}/{total} checked"},image:{error:"FAILED"},pageHeader:{title:"Back"},popconfirm:{confirmButtonText:"Yes",cancelButtonText:"No"},carousel:{leftArrow:"Carousel arrow left",rightArrow:"Carousel arrow right",indicator:"Carousel switch to index {index}"}}};const buildTranslator=n=>(e,t)=>translate(e,t,unref(n)),translate=(n,e,t)=>get(t,n,n).replace(/\{(\w+)\}/g,(i,r)=>{var g;return"".concat((g=e==null?void 0:e[r])!=null?g:"{".concat(r,"}"))}),buildLocaleContext=n=>{const e=computed$1(()=>unref(n).name),t=isRef(n)?n:ref$1(n);return{lang:e,locale:t,t:buildTranslator(n)}},localeContextKey=Symbol("localeContextKey"),useLocale=n=>{const e=n||inject(localeContextKey,ref$1());return buildLocaleContext(computed$1(()=>e.value||English))},epPropKey="__epPropKey",definePropType=n=>n,isEpProp=n=>isObject$4(n)&&!!n[epPropKey],buildProp=(n,e)=>{if(!isObject$4(n)||isEpProp(n))return n;const{values:t,required:i,default:r,type:g,validator:y}=n,L={type:g,required:!!i,validator:t||y?V=>{let z=!1,j=[];if(t&&(j=Array.from(t),hasOwn(n,"default")&&j.push(r),z||(z=j.includes(V))),y&&(z||(z=y(V))),!z&&j.length>0){const ie=[...new Set(j)].map(oe=>JSON.stringify(oe)).join(", ");warn("Invalid prop: validation failed".concat(e?' for prop "'.concat(e,'"'):"",". Expected one of [").concat(ie,"], got value ").concat(JSON.stringify(V),"."))}return z}:void 0,[epPropKey]:!0};return hasOwn(n,"default")&&(L.default=r),L},buildProps=n=>fromPairs(Object.entries(n).map(([e,t])=>[e,buildProp(t,e)])),componentSizes=["","default","small","large"],useSizeProp=buildProp({type:String,values:componentSizes,required:!1}),SIZE_INJECTION_KEY=Symbol("size"),useGlobalSize=()=>{const n=inject(SIZE_INJECTION_KEY,{});return computed$1(()=>unref(n.size)||"")},emptyValuesContextKey=Symbol("emptyValuesContextKey"),DEFAULT_EMPTY_VALUES=["",void 0,null],DEFAULT_VALUE_ON_CLEAR=void 0,useEmptyValuesProps=buildProps({emptyValues:Array,valueOnClear:{type:[String,Number,Boolean,Function],default:void 0,validator:n=>isFunction$4(n)?!n():!n}}),useEmptyValues=(n,e)=>{const t=getCurrentInstance$1()?inject(emptyValuesContextKey,ref$1({})):ref$1({}),i=computed$1(()=>n.emptyValues||t.value.emptyValues||DEFAULT_EMPTY_VALUES),r=computed$1(()=>isFunction$4(n.valueOnClear)?n.valueOnClear():n.valueOnClear!==void 0?n.valueOnClear:isFunction$4(t.value.valueOnClear)?t.value.valueOnClear():t.value.valueOnClear!==void 0?t.value.valueOnClear:e!==void 0?e:DEFAULT_VALUE_ON_CLEAR),g=y=>i.value.includes(y);return i.value.includes(r.value),{emptyValues:i,valueOnClear:r,isEmptyValue:g}},keysOf=n=>Object.keys(n),entriesOf=n=>Object.entries(n),getProp=(n,e,t)=>({get value(){return get(n,e,t)},set value(i){set(n,e,i)}}),globalConfig=ref$1();function useGlobalConfig(n,e=void 0){const t=getCurrentInstance$1()?inject(configProviderContextKey,globalConfig):globalConfig;return n?computed$1(()=>{var i,r;return(r=(i=t.value)==null?void 0:i[n])!=null?r:e}):t}function useGlobalComponentSettings(n,e){const t=useGlobalConfig(),i=useNamespace(n,computed$1(()=>{var k;return((k=t.value)==null?void 0:k.namespace)||defaultNamespace})),r=useLocale(computed$1(()=>{var k;return(k=t.value)==null?void 0:k.locale})),g=useZIndex(computed$1(()=>{var k;return((k=t.value)==null?void 0:k.zIndex)||defaultInitialZIndex})),y=computed$1(()=>{var k;return unref(e)||((k=t.value)==null?void 0:k.size)||""});return provideGlobalConfig(computed$1(()=>unref(t)||{})),{ns:i,locale:r,zIndex:g,size:y}}const provideGlobalConfig=(n,e,t=!1)=>{var i;const r=!!getCurrentInstance$1(),g=r?useGlobalConfig():void 0,y=(i=void 0)!=null?i:r?provide:void 0;if(!y)return;const k=computed$1(()=>{const L=unref(n);return g!=null&&g.value?mergeConfig(g.value,L):L});return y(configProviderContextKey,k),y(localeContextKey,computed$1(()=>k.value.locale)),y(namespaceContextKey,computed$1(()=>k.value.namespace)),y(zIndexContextKey,computed$1(()=>k.value.zIndex)),y(SIZE_INJECTION_KEY,{size:computed$1(()=>k.value.size||"")}),y(emptyValuesContextKey,computed$1(()=>({emptyValues:k.value.emptyValues,valueOnClear:k.value.valueOnClear}))),(t||!globalConfig.value)&&(globalConfig.value=k.value),k},mergeConfig=(n,e)=>{const t=[...new Set([...keysOf(n),...keysOf(e)])],i={};for(const r of t)i[r]=e[r]!==void 0?e[r]:n[r];return i},UPDATE_MODEL_EVENT="update:modelValue",CHANGE_EVENT="change",INPUT_EVENT="input";var _export_sfc=(n,e)=>{const t=n.__vccOpts||n;for(const[i,r]of e)t[i]=r;return t};const rAF=n=>isClient?window.requestAnimationFrame(n):setTimeout(n,16),classNameToArray=(n="")=>n.split(" ").filter(e=>!!e.trim()),hasClass=(n,e)=>{if(!n||!e)return!1;if(e.includes(" "))throw new Error("className should not contain space.");return n.classList.contains(e)},addClass=(n,e)=>{!n||!e.trim()||n.classList.add(...classNameToArray(e))},removeClass=(n,e)=>{!n||!e.trim()||n.classList.remove(...classNameToArray(e))},getStyle=(n,e)=>{var t;if(!isClient||!n||!e)return"";let i=camelize$1(e);i==="float"&&(i="cssFloat");try{const r=n.style[i];if(r)return r;const g=(t=document.defaultView)==null?void 0:t.getComputedStyle(n,"");return g?g[i]:""}catch(r){return n.style[i]}};function addUnit(n,e="px"){if(!n)return"";if(isNumber(n)||isStringNumber(n))return"".concat(n).concat(e);if(isString$5(n))return n}let scrollBarWidth;const getScrollBarWidth=n=>{var e;if(!isClient)return 0;if(scrollBarWidth!==void 0)return scrollBarWidth;const t=document.createElement("div");t.className="".concat(n,"-scrollbar__wrap"),t.style.visibility="hidden",t.style.width="100px",t.style.position="absolute",t.style.top="-9999px",document.body.appendChild(t);const i=t.offsetWidth;t.style.overflow="scroll";const r=document.createElement("div");r.style.width="100%",t.appendChild(r);const g=r.offsetWidth;return(e=t.parentNode)==null||e.removeChild(t),scrollBarWidth=i-g,scrollBarWidth};function scrollIntoView(n,e){if(!isClient)return;if(!e){n.scrollTop=0;return}const t=[];let i=e.offsetParent;for(;i!==null&&n!==i&&n.contains(i);)t.push(i),i=i.offsetParent;const r=e.offsetTop+t.reduce((L,V)=>L+V.offsetTop,0),g=r+e.offsetHeight,y=n.scrollTop,k=y+n.clientHeight;rk&&(n.scrollTop=g-n.clientHeight)}const withInstall=(n,e)=>{if(n.install=t=>{for(const i of[n,...Object.values(e!=null?e:{})])t.component(i.name,i)},e)for(const[t,i]of Object.entries(e))n[t]=i;return n},withInstallFunction=(n,e)=>(n.install=t=>{n._context=t._context,t.config.globalProperties[e]=n},n),withNoopInstall=n=>(n.install=NOOP,n),iconProps=buildProps({size:{type:definePropType([Number,String])},color:{type:String}}),__default__$W=defineComponent({name:"ElIcon",inheritAttrs:!1}),_sfc_main$1D=defineComponent({...__default__$W,props:iconProps,setup(n){const e=n,t=useNamespace("icon"),i=computed$1(()=>{const{size:r,color:g}=e;return!r&&!g?{}:{fontSize:isUndefined(r)?void 0:addUnit(r),"--color":g}});return(r,g)=>(openBlock(),createElementBlock("i",mergeProps({class:unref(t).b(),style:unref(i)},r.$attrs),[renderSlot(r.$slots,"default")],16))}});var Icon=_export_sfc(_sfc_main$1D,[["__file","icon.vue"]]);const ElIcon=withInstall(Icon);/*! Element Plus Icons Vue v2.3.1 */var arrow_down_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowDown",__name:"arrow-down",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M831.872 340.864 512 652.672 192.128 340.864a30.592 30.592 0 0 0-42.752 0 29.12 29.12 0 0 0 0 41.6L489.664 714.24a32 32 0 0 0 44.672 0l340.288-331.712a29.12 29.12 0 0 0 0-41.728 30.592 30.592 0 0 0-42.752 0z"})]))}}),arrow_down_default=arrow_down_vue_vue_type_script_setup_true_lang_default,arrow_left_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowLeft",__name:"arrow-left",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M609.408 149.376 277.76 489.6a32 32 0 0 0 0 44.672l331.648 340.352a29.12 29.12 0 0 0 41.728 0 30.592 30.592 0 0 0 0-42.752L339.264 511.936l311.872-319.872a30.592 30.592 0 0 0 0-42.688 29.12 29.12 0 0 0-41.728 0z"})]))}}),arrow_left_default=arrow_left_vue_vue_type_script_setup_true_lang_default,arrow_right_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowRight",__name:"arrow-right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M340.864 149.312a30.592 30.592 0 0 0 0 42.752L652.736 512 340.864 831.872a30.592 30.592 0 0 0 0 42.752 29.12 29.12 0 0 0 41.728 0L714.24 534.336a32 32 0 0 0 0-44.672L382.592 149.376a29.12 29.12 0 0 0-41.728 0z"})]))}}),arrow_right_default=arrow_right_vue_vue_type_script_setup_true_lang_default,arrow_up_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ArrowUp",__name:"arrow-up",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m488.832 344.32-339.84 356.672a32 32 0 0 0 0 44.16l.384.384a29.44 29.44 0 0 0 42.688 0l320-335.872 319.872 335.872a29.44 29.44 0 0 0 42.688 0l.384-.384a32 32 0 0 0 0-44.16L535.168 344.32a32 32 0 0 0-46.336 0"})]))}}),arrow_up_default=arrow_up_vue_vue_type_script_setup_true_lang_default,calendar_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Calendar",__name:"calendar",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 384v512h768V192H768v32a32 32 0 1 1-64 0v-32H320v32a32 32 0 0 1-64 0v-32H128v128h768v64zm192-256h384V96a32 32 0 1 1 64 0v32h160a32 32 0 0 1 32 32v768a32 32 0 0 1-32 32H96a32 32 0 0 1-32-32V160a32 32 0 0 1 32-32h160V96a32 32 0 0 1 64 0zm-32 384h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 0 1 0 64h-64a32 32 0 0 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m192-192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64m0 192h64a32 32 0 1 1 0 64h-64a32 32 0 1 1 0-64"})]))}}),calendar_default=calendar_vue_vue_type_script_setup_true_lang_default,caret_right_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CaretRight",__name:"caret-right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M384 192v640l384-320.064z"})]))}}),caret_right_default=caret_right_vue_vue_type_script_setup_true_lang_default,check_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Check",__name:"check",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M406.656 706.944 195.84 496.256a32 32 0 1 0-45.248 45.248l256 256 512-512a32 32 0 0 0-45.248-45.248L406.592 706.944z"})]))}}),check_default=check_vue_vue_type_script_setup_true_lang_default,circle_check_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CircleCheck",__name:"circle-check",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),createBaseVNode("path",{fill:"currentColor",d:"M745.344 361.344a32 32 0 0 1 45.312 45.312l-288 288a32 32 0 0 1-45.312 0l-160-160a32 32 0 1 1 45.312-45.312L480 626.752l265.344-265.408z"})]))}}),circle_check_default=circle_check_vue_vue_type_script_setup_true_lang_default,circle_close_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CircleCloseFilled",__name:"circle-close-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 393.664L407.936 353.6a38.4 38.4 0 1 0-54.336 54.336L457.664 512 353.6 616.064a38.4 38.4 0 1 0 54.336 54.336L512 566.336 616.064 670.4a38.4 38.4 0 1 0 54.336-54.336L566.336 512 670.4 407.936a38.4 38.4 0 1 0-54.336-54.336z"})]))}}),circle_close_filled_default=circle_close_filled_vue_vue_type_script_setup_true_lang_default,circle_close_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"CircleClose",__name:"circle-close",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m466.752 512-90.496-90.496a32 32 0 0 1 45.248-45.248L512 466.752l90.496-90.496a32 32 0 1 1 45.248 45.248L557.248 512l90.496 90.496a32 32 0 1 1-45.248 45.248L512 557.248l-90.496 90.496a32 32 0 0 1-45.248-45.248z"}),createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"})]))}}),circle_close_default=circle_close_vue_vue_type_script_setup_true_lang_default,clock_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Clock",__name:"clock",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 896a384 384 0 1 0 0-768 384 384 0 0 0 0 768m0 64a448 448 0 1 1 0-896 448 448 0 0 1 0 896"}),createBaseVNode("path",{fill:"currentColor",d:"M480 256a32 32 0 0 1 32 32v256a32 32 0 0 1-64 0V288a32 32 0 0 1 32-32"}),createBaseVNode("path",{fill:"currentColor",d:"M480 512h256q32 0 32 32t-32 32H480q-32 0-32-32t32-32"})]))}}),clock_default=clock_vue_vue_type_script_setup_true_lang_default,close_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Close",__name:"close",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M764.288 214.592 512 466.88 259.712 214.592a31.936 31.936 0 0 0-45.12 45.12L466.752 512 214.528 764.224a31.936 31.936 0 1 0 45.12 45.184L512 557.184l252.288 252.288a31.936 31.936 0 0 0 45.12-45.12L557.12 512.064l252.288-252.352a31.936 31.936 0 1 0-45.12-45.184z"})]))}}),close_default=close_vue_vue_type_script_setup_true_lang_default,d_arrow_left_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"DArrowLeft",__name:"d-arrow-left",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M529.408 149.376a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L259.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L197.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224zm256 0a29.12 29.12 0 0 1 41.728 0 30.592 30.592 0 0 1 0 42.688L515.264 511.936l311.872 319.936a30.592 30.592 0 0 1-.512 43.264 29.12 29.12 0 0 1-41.216-.512L453.76 534.272a32 32 0 0 1 0-44.672l331.648-340.224z"})]))}}),d_arrow_left_default=d_arrow_left_vue_vue_type_script_setup_true_lang_default,d_arrow_right_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"DArrowRight",__name:"d-arrow-right",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M452.864 149.312a29.12 29.12 0 0 1 41.728.064L826.24 489.664a32 32 0 0 1 0 44.672L494.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L764.736 512 452.864 192a30.592 30.592 0 0 1 0-42.688m-256 0a29.12 29.12 0 0 1 41.728.064L570.24 489.664a32 32 0 0 1 0 44.672L238.592 874.624a29.12 29.12 0 0 1-41.728 0 30.592 30.592 0 0 1 0-42.752L508.736 512 196.864 192a30.592 30.592 0 0 1 0-42.688z"})]))}}),d_arrow_right_default=d_arrow_right_vue_vue_type_script_setup_true_lang_default,delete_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Delete",__name:"delete",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M160 256H96a32 32 0 0 1 0-64h256V95.936a32 32 0 0 1 32-32h256a32 32 0 0 1 32 32V192h256a32 32 0 1 1 0 64h-64v672a32 32 0 0 1-32 32H192a32 32 0 0 1-32-32zm448-64v-64H416v64zM224 896h576V256H224zm192-128a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32m192 0a32 32 0 0 1-32-32V416a32 32 0 0 1 64 0v320a32 32 0 0 1-32 32"})]))}}),delete_default=delete_vue_vue_type_script_setup_true_lang_default,document_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Document",__name:"document",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M832 384H576V128H192v768h640zm-26.496-64L640 154.496V320zM160 64h480l256 256v608a32 32 0 0 1-32 32H160a32 32 0 0 1-32-32V96a32 32 0 0 1 32-32m160 448h384v64H320zm0-192h160v64H320zm0 384h384v64H320z"})]))}}),document_default=document_vue_vue_type_script_setup_true_lang_default,hide_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Hide",__name:"hide",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M876.8 156.8c0-9.6-3.2-16-9.6-22.4-6.4-6.4-12.8-9.6-22.4-9.6-9.6 0-16 3.2-22.4 9.6L736 220.8c-64-32-137.6-51.2-224-60.8-160 16-288 73.6-377.6 176C44.8 438.4 0 496 0 512s48 73.6 134.4 176c22.4 25.6 44.8 48 73.6 67.2l-86.4 89.6c-6.4 6.4-9.6 12.8-9.6 22.4 0 9.6 3.2 16 9.6 22.4 6.4 6.4 12.8 9.6 22.4 9.6 9.6 0 16-3.2 22.4-9.6l704-710.4c3.2-6.4 6.4-12.8 6.4-22.4Zm-646.4 528c-76.8-70.4-128-128-153.6-172.8 28.8-48 80-105.6 153.6-172.8C304 272 400 230.4 512 224c64 3.2 124.8 19.2 176 44.8l-54.4 54.4C598.4 300.8 560 288 512 288c-64 0-115.2 22.4-160 64s-64 96-64 160c0 48 12.8 89.6 35.2 124.8L256 707.2c-9.6-6.4-19.2-16-25.6-22.4Zm140.8-96c-12.8-22.4-19.2-48-19.2-76.8 0-44.8 16-83.2 48-112 32-28.8 67.2-48 112-48 28.8 0 54.4 6.4 73.6 19.2zM889.599 336c-12.8-16-28.8-28.8-41.6-41.6l-48 48c73.6 67.2 124.8 124.8 150.4 169.6-28.8 48-80 105.6-153.6 172.8-73.6 67.2-172.8 108.8-284.8 115.2-51.2-3.2-99.2-12.8-140.8-28.8l-48 48c57.6 22.4 118.4 38.4 188.8 44.8 160-16 288-73.6 377.6-176C979.199 585.6 1024 528 1024 512s-48.001-73.6-134.401-176Z"}),createBaseVNode("path",{fill:"currentColor",d:"M511.998 672c-12.8 0-25.6-3.2-38.4-6.4l-51.2 51.2c28.8 12.8 57.6 19.2 89.6 19.2 64 0 115.2-22.4 160-64 41.6-41.6 64-96 64-160 0-32-6.4-64-19.2-89.6l-51.2 51.2c3.2 12.8 6.4 25.6 6.4 38.4 0 44.8-16 83.2-48 112-32 28.8-67.2 48-112 48Z"})]))}}),hide_default=hide_vue_vue_type_script_setup_true_lang_default,info_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"InfoFilled",__name:"info-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896.064A448 448 0 0 1 512 64m67.2 275.072c33.28 0 60.288-23.104 60.288-57.344s-27.072-57.344-60.288-57.344c-33.28 0-60.16 23.104-60.16 57.344s26.88 57.344 60.16 57.344M590.912 699.2c0-6.848 2.368-24.64 1.024-34.752l-52.608 60.544c-10.88 11.456-24.512 19.392-30.912 17.28a12.992 12.992 0 0 1-8.256-14.72l87.68-276.992c7.168-35.136-12.544-67.2-54.336-71.296-44.096 0-108.992 44.736-148.48 101.504 0 6.784-1.28 23.68.064 33.792l52.544-60.608c10.88-11.328 23.552-19.328 29.952-17.152a12.8 12.8 0 0 1 7.808 16.128L388.48 728.576c-10.048 32.256 8.96 63.872 55.04 71.04 67.84 0 107.904-43.648 147.456-100.416z"})]))}}),info_filled_default=info_filled_vue_vue_type_script_setup_true_lang_default,loading_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Loading",__name:"loading",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a32 32 0 0 1 32 32v192a32 32 0 0 1-64 0V96a32 32 0 0 1 32-32m0 640a32 32 0 0 1 32 32v192a32 32 0 1 1-64 0V736a32 32 0 0 1 32-32m448-192a32 32 0 0 1-32 32H736a32 32 0 1 1 0-64h192a32 32 0 0 1 32 32m-640 0a32 32 0 0 1-32 32H96a32 32 0 0 1 0-64h192a32 32 0 0 1 32 32M195.2 195.2a32 32 0 0 1 45.248 0L376.32 331.008a32 32 0 0 1-45.248 45.248L195.2 240.448a32 32 0 0 1 0-45.248zm452.544 452.544a32 32 0 0 1 45.248 0L828.8 783.552a32 32 0 0 1-45.248 45.248L647.744 692.992a32 32 0 0 1 0-45.248zM828.8 195.264a32 32 0 0 1 0 45.184L692.992 376.32a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0m-452.544 452.48a32 32 0 0 1 0 45.248L240.448 828.8a32 32 0 0 1-45.248-45.248l135.808-135.808a32 32 0 0 1 45.248 0z"})]))}}),loading_default=loading_vue_vue_type_script_setup_true_lang_default,minus_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Minus",__name:"minus",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M128 544h768a32 32 0 1 0 0-64H128a32 32 0 0 0 0 64"})]))}}),minus_default=minus_vue_vue_type_script_setup_true_lang_default,more_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"MoreFilled",__name:"more-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M176 416a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224m336 0a112 112 0 1 1 0 224 112 112 0 0 1 0-224"})]))}}),more_filled_default=more_filled_vue_vue_type_script_setup_true_lang_default,plus_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"Plus",__name:"plus",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M480 480V128a32 32 0 0 1 64 0v352h352a32 32 0 1 1 0 64H544v352a32 32 0 1 1-64 0V544H128a32 32 0 0 1 0-64z"})]))}}),plus_default=plus_vue_vue_type_script_setup_true_lang_default,success_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"SuccessFilled",__name:"success-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-55.808 536.384-99.52-99.584a38.4 38.4 0 1 0-54.336 54.336l126.72 126.72a38.272 38.272 0 0 0 54.336 0l262.4-262.464a38.4 38.4 0 1 0-54.272-54.336z"})]))}}),success_filled_default=success_filled_vue_vue_type_script_setup_true_lang_default,view_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"View",__name:"view",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 160c320 0 512 352 512 352S832 864 512 864 0 512 0 512s192-352 512-352m0 64c-225.28 0-384.128 208.064-436.8 288 52.608 79.872 211.456 288 436.8 288 225.28 0 384.128-208.064 436.8-288-52.608-79.872-211.456-288-436.8-288zm0 64a224 224 0 1 1 0 448 224 224 0 0 1 0-448m0 64a160.192 160.192 0 0 0-160 160c0 88.192 71.744 160 160 160s160-71.808 160-160-71.744-160-160-160"})]))}}),view_default=view_vue_vue_type_script_setup_true_lang_default,warning_filled_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"WarningFilled",__name:"warning-filled",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m0 192a58.432 58.432 0 0 0-58.24 63.744l23.36 256.384a35.072 35.072 0 0 0 69.76 0l23.296-256.384A58.432 58.432 0 0 0 512 256m0 512a51.2 51.2 0 1 0 0-102.4 51.2 51.2 0 0 0 0 102.4"})]))}}),warning_filled_default=warning_filled_vue_vue_type_script_setup_true_lang_default,zoom_in_vue_vue_type_script_setup_true_lang_default=defineComponent({name:"ZoomIn",__name:"zoom-in",setup(n){return(e,t)=>(openBlock(),createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[createBaseVNode("path",{fill:"currentColor",d:"m795.904 750.72 124.992 124.928a32 32 0 0 1-45.248 45.248L750.656 795.904a416 416 0 1 1 45.248-45.248zM480 832a352 352 0 1 0 0-704 352 352 0 0 0 0 704m-32-384v-96a32 32 0 0 1 64 0v96h96a32 32 0 0 1 0 64h-96v96a32 32 0 0 1-64 0v-96h-96a32 32 0 0 1 0-64z"})]))}}),zoom_in_default=zoom_in_vue_vue_type_script_setup_true_lang_default;const iconPropType=definePropType([String,Object,Function]),CloseComponents={Close:close_default},TypeComponents={Close:close_default,SuccessFilled:success_filled_default,InfoFilled:info_filled_default,WarningFilled:warning_filled_default,CircleCloseFilled:circle_close_filled_default},TypeComponentsMap={success:success_filled_default,warning:warning_filled_default,error:circle_close_filled_default,info:info_filled_default},ValidateComponentsMap={validating:loading_default,success:circle_check_default,error:circle_close_default},isFirefox=()=>isClient&&/firefox/i.test(window.navigator.userAgent);let hiddenTextarea;const HIDDEN_STYLE="\n height:0 !important;\n visibility:hidden !important;\n ".concat(isFirefox()?"":"overflow:hidden !important;","\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n"),CONTEXT_STYLE=["letter-spacing","line-height","padding-top","padding-bottom","font-family","font-weight","font-size","text-rendering","text-transform","width","text-indent","padding-left","padding-right","border-width","box-sizing"];function calculateNodeStyling(n){const e=window.getComputedStyle(n),t=e.getPropertyValue("box-sizing"),i=Number.parseFloat(e.getPropertyValue("padding-bottom"))+Number.parseFloat(e.getPropertyValue("padding-top")),r=Number.parseFloat(e.getPropertyValue("border-bottom-width"))+Number.parseFloat(e.getPropertyValue("border-top-width"));return{contextStyle:CONTEXT_STYLE.map(y=>"".concat(y,":").concat(e.getPropertyValue(y))).join(";"),paddingSize:i,borderSize:r,boxSizing:t}}function calcTextareaHeight(n,e=1,t){var i;hiddenTextarea||(hiddenTextarea=document.createElement("textarea"),document.body.appendChild(hiddenTextarea));const{paddingSize:r,borderSize:g,boxSizing:y,contextStyle:k}=calculateNodeStyling(n);hiddenTextarea.setAttribute("style","".concat(k,";").concat(HIDDEN_STYLE)),hiddenTextarea.value=n.value||n.placeholder||"";let L=hiddenTextarea.scrollHeight;const V={};y==="border-box"?L=L+g:y==="content-box"&&(L=L-r),hiddenTextarea.value="";const z=hiddenTextarea.scrollHeight-r;if(isNumber(e)){let j=z*e;y==="border-box"&&(j=j+r+g),L=Math.max(j,L),V.minHeight="".concat(j,"px")}if(isNumber(t)){let j=z*t;y==="border-box"&&(j=j+r+g),L=Math.min(j,L)}return V.height="".concat(L,"px"),(i=hiddenTextarea.parentNode)==null||i.removeChild(hiddenTextarea),hiddenTextarea=void 0,V}const mutable=n=>n,ariaProps=buildProps({ariaLabel:String,ariaOrientation:{type:String,values:["horizontal","vertical","undefined"]},ariaControls:String}),useAriaProps=n=>pick(ariaProps,n),inputProps=buildProps({id:{type:String,default:void 0},size:useSizeProp,disabled:Boolean,modelValue:{type:definePropType([String,Number,Object]),default:""},maxlength:{type:[String,Number]},minlength:{type:[String,Number]},type:{type:String,default:"text"},resize:{type:String,values:["none","both","horizontal","vertical"]},autosize:{type:definePropType([Boolean,Object]),default:!1},autocomplete:{type:String,default:"off"},formatter:{type:Function},parser:{type:Function},placeholder:{type:String},form:{type:String},readonly:Boolean,clearable:Boolean,showPassword:Boolean,showWordLimit:Boolean,suffixIcon:{type:iconPropType},prefixIcon:{type:iconPropType},containerRole:{type:String,default:void 0},tabindex:{type:[String,Number],default:0},validateEvent:{type:Boolean,default:!0},inputStyle:{type:definePropType([Object,Array,String]),default:()=>mutable({})},autofocus:Boolean,rows:{type:Number,default:2},...useAriaProps(["ariaLabel"])}),inputEmits={[UPDATE_MODEL_EVENT]:n=>isString$5(n),input:n=>isString$5(n),change:n=>isString$5(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,mouseleave:n=>n instanceof MouseEvent,mouseenter:n=>n instanceof MouseEvent,keydown:n=>n instanceof Event,compositionstart:n=>n instanceof CompositionEvent,compositionupdate:n=>n instanceof CompositionEvent,compositionend:n=>n instanceof CompositionEvent},DEFAULT_EXCLUDE_KEYS=["class","style"],LISTENER_PREFIX=/^on[A-Z]/,useAttrs=(n={})=>{const{excludeListeners:e=!1,excludeKeys:t}=n,i=computed$1(()=>((t==null?void 0:t.value)||[]).concat(DEFAULT_EXCLUDE_KEYS)),r=getCurrentInstance$1();return computed$1(r?()=>{var g;return fromPairs(Object.entries((g=r.proxy)==null?void 0:g.$attrs).filter(([y])=>!i.value.includes(y)&&!(e&&LISTENER_PREFIX.test(y))))}:()=>({}))},formContextKey=Symbol("formContextKey"),formItemContextKey=Symbol("formItemContextKey"),defaultIdInjection={prefix:Math.floor(Math.random()*1e4),current:0},ID_INJECTION_KEY=Symbol("elIdInjection"),useIdInjection=()=>getCurrentInstance$1()?inject(ID_INJECTION_KEY,defaultIdInjection):defaultIdInjection,useId=n=>{const e=useIdInjection(),t=useGetDerivedNamespace();return computedEager(()=>unref(n)||"".concat(t.value,"-id-").concat(e.prefix,"-").concat(e.current++))},useFormItem=()=>{const n=inject(formContextKey,void 0),e=inject(formItemContextKey,void 0);return{form:n,formItem:e}},useFormItemInputId=(n,{formItemContext:e,disableIdGeneration:t,disableIdManagement:i})=>{t||(t=ref$1(!1)),i||(i=ref$1(!1));const r=ref$1();let g;const y=computed$1(()=>{var k;return!!(!(n.label||n.ariaLabel)&&e&&e.inputIds&&((k=e.inputIds)==null?void 0:k.length)<=1)});return onMounted(()=>{g=watch([toRef(n,"id"),t],([k,L])=>{const V=k!=null?k:L?void 0:useId().value;V!==r.value&&(e!=null&&e.removeInputId&&(r.value&&e.removeInputId(r.value),!(i!=null&&i.value)&&!L&&V&&e.addInputId(V)),r.value=V)},{immediate:!0})}),onUnmounted(()=>{g&&g(),e!=null&&e.removeInputId&&r.value&&e.removeInputId(r.value)}),{isLabeledByFormItem:y,inputId:r}},useProp=n=>{const e=getCurrentInstance$1();return computed$1(()=>{var t,i;return(i=(t=e==null?void 0:e.proxy)==null?void 0:t.$props)==null?void 0:i[n]})},useFormSize=(n,e={})=>{const t=ref$1(void 0),i=e.prop?t:useProp("size"),r=e.global?t:useGlobalSize(),g=e.form?{size:void 0}:inject(formContextKey,void 0),y=e.formItem?{size:void 0}:inject(formItemContextKey,void 0);return computed$1(()=>i.value||unref(n)||(y==null?void 0:y.size)||(g==null?void 0:g.size)||r.value||"")},useFormDisabled=n=>{const e=useProp("disabled"),t=inject(formContextKey,void 0);return computed$1(()=>e.value||unref(n)||(t==null?void 0:t.disabled)||!1)};function useFocusController(n,{beforeFocus:e,afterFocus:t,beforeBlur:i,afterBlur:r}={}){const g=getCurrentInstance$1(),{emit:y}=g,k=shallowRef(),L=ref$1(!1),V=ie=>{isFunction$4(e)&&e(ie)||L.value||(L.value=!0,y("focus",ie),t==null||t())},z=ie=>{var oe;isFunction$4(i)&&i(ie)||ie.relatedTarget&&((oe=k.value)!=null&&oe.contains(ie.relatedTarget))||(L.value=!1,y("blur",ie),r==null||r())},j=()=>{var ie,oe;(ie=k.value)!=null&&ie.contains(document.activeElement)&&k.value!==document.activeElement||(oe=n.value)==null||oe.focus()};return watch(k,ie=>{ie&&ie.setAttribute("tabindex","-1")}),useEventListener(k,"focus",V,!0),useEventListener(k,"blur",z,!0),useEventListener(k,"click",j,!0),{isFocused:L,wrapperRef:k,handleFocus:V,handleBlur:z}}const isKorean=n=>/([\uAC00-\uD7AF\u3130-\u318F])+/gi.test(n);function useComposition({afterComposition:n,emit:e}){const t=ref$1(!1),i=k=>{e==null||e("compositionstart",k),t.value=!0},r=k=>{var L;e==null||e("compositionupdate",k);const V=(L=k.target)==null?void 0:L.value,z=V[V.length-1]||"";t.value=!isKorean(z)},g=k=>{e==null||e("compositionend",k),t.value&&(t.value=!1,nextTick(()=>n(k)))};return{isComposing:t,handleComposition:k=>{k.type==="compositionend"?g(k):r(k)},handleCompositionStart:i,handleCompositionUpdate:r,handleCompositionEnd:g}}function useCursor(n){let e;function t(){if(n.value==null)return;const{selectionStart:r,selectionEnd:g,value:y}=n.value;if(r==null||g==null)return;const k=y.slice(0,Math.max(0,r)),L=y.slice(Math.max(0,g));e={selectionStart:r,selectionEnd:g,value:y,beforeTxt:k,afterTxt:L}}function i(){if(n.value==null||e==null)return;const{value:r}=n.value,{beforeTxt:g,afterTxt:y,selectionStart:k}=e;if(g==null||y==null||k==null)return;let L=r.length;if(r.endsWith(y))L=r.length-y.length;else if(r.startsWith(g))L=g.length;else{const V=g[k-1],z=r.indexOf(V,k-1);z!==-1&&(L=z+1)}n.value.setSelectionRange(L,L)}return[t,i]}const __default__$V=defineComponent({name:"ElInput",inheritAttrs:!1}),_sfc_main$1C=defineComponent({...__default__$V,props:inputProps,emits:inputEmits,setup(n,{expose:e,emit:t}){const i=n,r=useAttrs$1(),g=useAttrs(),y=useSlots(),k=computed$1(()=>[i.type==="textarea"?ae.b():re.b(),re.m(ie.value),re.is("disabled",oe.value),re.is("exceed",ri.value),{[re.b("group")]:y.prepend||y.append,[re.m("prefix")]:y.prefix||i.prefixIcon,[re.m("suffix")]:y.suffix||i.suffixIcon||i.clearable||i.showPassword,[re.bm("suffix","password-clear")]:Lt.value&&kt.value,[re.b("hidden")]:i.type==="hidden"},r.class]),L=computed$1(()=>[re.e("wrapper"),re.is("focus",Ie.value)]),{form:V,formItem:z}=useFormItem(),{inputId:j}=useFormItemInputId(i,{formItemContext:z}),ie=useFormSize(),oe=useFormDisabled(),re=useNamespace("input"),ae=useNamespace("textarea"),le=shallowRef(),de=shallowRef(),ue=ref$1(!1),he=ref$1(!1),pe=ref$1(),Ce=shallowRef(i.inputStyle),$e=computed$1(()=>le.value||de.value),{wrapperRef:xe,isFocused:Ie,handleFocus:Ne,handleBlur:Fe}=useFocusController($e,{beforeFocus(){return oe.value},afterBlur(){var ii;i.validateEvent&&((ii=z==null?void 0:z.validate)==null||ii.call(z,"blur").catch(mi=>void 0))}}),Ve=computed$1(()=>{var ii;return(ii=V==null?void 0:V.statusIcon)!=null?ii:!1}),Oe=computed$1(()=>(z==null?void 0:z.validateState)||""),ze=computed$1(()=>Oe.value&&ValidateComponentsMap[Oe.value]),qe=computed$1(()=>he.value?view_default:hide_default),Ue=computed$1(()=>[r.style]),Et=computed$1(()=>[i.inputStyle,Ce.value,{resize:i.resize}]),At=computed$1(()=>isNil(i.modelValue)?"":String(i.modelValue)),Lt=computed$1(()=>i.clearable&&!oe.value&&!i.readonly&&!!At.value&&(Ie.value||ue.value)),kt=computed$1(()=>i.showPassword&&!oe.value&&!!At.value&&(!!At.value||Ie.value)),ei=computed$1(()=>i.showWordLimit&&!!i.maxlength&&(i.type==="text"||i.type==="textarea")&&!oe.value&&!i.readonly&&!i.showPassword),jt=computed$1(()=>At.value.length),ri=computed$1(()=>!!ei.value&&jt.value>Number(i.maxlength)),ni=computed$1(()=>!!y.suffix||!!i.suffixIcon||Lt.value||i.showPassword||ei.value||!!Oe.value&&Ve.value),[Ci,wi]=useCursor(le);useResizeObserver(de,ii=>{if(hi(),!ei.value||i.resize!=="both")return;const mi=ii[0],{width:yi}=mi.contentRect;pe.value={right:"calc(100% - ".concat(yi+15+6,"px)")}});const Ri=()=>{const{type:ii,autosize:mi}=i;if(!(!isClient||ii!=="textarea"||!de.value))if(mi){const yi=isObject$4(mi)?mi.minRows:void 0,ti=isObject$4(mi)?mi.maxRows:void 0,Dt=calcTextareaHeight(de.value,yi,ti);Ce.value={overflowY:"hidden",...Dt},nextTick(()=>{de.value.offsetHeight,Ce.value=Dt})}else Ce.value={minHeight:calcTextareaHeight(de.value).minHeight}},hi=(ii=>{let mi=!1;return()=>{var yi;if(mi||!i.autosize)return;((yi=de.value)==null?void 0:yi.offsetParent)===null||(ii(),mi=!0)}})(Ri),xi=()=>{const ii=$e.value,mi=i.formatter?i.formatter(At.value):At.value;!ii||ii.value===mi||(ii.value=mi)},Oi=async ii=>{Ci();let{value:mi}=ii.target;if(i.formatter&&(mi=i.parser?i.parser(mi):mi),!si.value){if(mi===At.value){xi();return}t(UPDATE_MODEL_EVENT,mi),t("input",mi),await nextTick(),xi(),wi()}},Ei=ii=>{t("change",ii.target.value)},{isComposing:si,handleCompositionStart:fi,handleCompositionUpdate:li,handleCompositionEnd:Di}=useComposition({emit:t,afterComposition:Oi}),ki=()=>{Ci(),he.value=!he.value,setTimeout(wi)},Ai=()=>{var ii;return(ii=$e.value)==null?void 0:ii.focus()},Ki=()=>{var ii;return(ii=$e.value)==null?void 0:ii.blur()},zi=ii=>{ue.value=!1,t("mouseleave",ii)},bi=ii=>{ue.value=!0,t("mouseenter",ii)},vi=ii=>{t("keydown",ii)},Li=()=>{var ii;(ii=$e.value)==null||ii.select()},oi=()=>{t(UPDATE_MODEL_EVENT,""),t("change",""),t("clear"),t("input","")};return watch(()=>i.modelValue,()=>{var ii;nextTick(()=>Ri()),i.validateEvent&&((ii=z==null?void 0:z.validate)==null||ii.call(z,"change").catch(mi=>void 0))}),watch(At,()=>xi()),watch(()=>i.type,async()=>{await nextTick(),xi(),Ri()}),onMounted(()=>{!i.formatter&&i.parser,xi(),nextTick(Ri)}),e({input:le,textarea:de,ref:$e,textareaStyle:Et,autosize:toRef(i,"autosize"),isComposing:si,focus:Ai,blur:Ki,select:Li,clear:oi,resizeTextarea:Ri}),(ii,mi)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(k),{[unref(re).bm("group","append")]:ii.$slots.append,[unref(re).bm("group","prepend")]:ii.$slots.prepend}]),style:normalizeStyle(unref(Ue)),onMouseenter:bi,onMouseleave:zi},[createCommentVNode(" input "),ii.type!=="textarea"?(openBlock(),createElementBlock(Fragment,{key:0},[createCommentVNode(" prepend slot "),ii.$slots.prepend?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(re).be("group","prepend"))},[renderSlot(ii.$slots,"prepend")],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{ref_key:"wrapperRef",ref:xe,class:normalizeClass(unref(L))},[createCommentVNode(" prefix slot "),ii.$slots.prefix||ii.prefixIcon?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(re).e("prefix"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("prefix-inner"))},[renderSlot(ii.$slots,"prefix"),ii.prefixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(re).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(ii.prefixIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],2)):createCommentVNode("v-if",!0),createBaseVNode("input",mergeProps({id:unref(j),ref_key:"input",ref:le,class:unref(re).e("inner")},unref(g),{minlength:ii.minlength,maxlength:ii.maxlength,type:ii.showPassword?he.value?"text":"password":ii.type,disabled:unref(oe),readonly:ii.readonly,autocomplete:ii.autocomplete,tabindex:ii.tabindex,"aria-label":ii.ariaLabel,placeholder:ii.placeholder,style:ii.inputStyle,form:ii.form,autofocus:ii.autofocus,role:ii.containerRole,onCompositionstart:unref(fi),onCompositionupdate:unref(li),onCompositionend:unref(Di),onInput:Oi,onChange:Ei,onKeydown:vi}),null,16,["id","minlength","maxlength","type","disabled","readonly","autocomplete","tabindex","aria-label","placeholder","form","autofocus","role","onCompositionstart","onCompositionupdate","onCompositionend"]),createCommentVNode(" suffix slot "),unref(ni)?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(re).e("suffix"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("suffix-inner"))},[!unref(Lt)||!unref(kt)||!unref(ei)?(openBlock(),createElementBlock(Fragment,{key:0},[renderSlot(ii.$slots,"suffix"),ii.suffixIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(re).e("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(ii.suffixIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],64)):createCommentVNode("v-if",!0),unref(Lt)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(re).e("icon"),unref(re).e("clear")]),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:oi},{default:withCtx(()=>[createVNode(unref(circle_close_default))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0),unref(kt)?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass([unref(re).e("icon"),unref(re).e("password")]),onClick:ki},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(qe))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),unref(ei)?(openBlock(),createElementBlock("span",{key:3,class:normalizeClass(unref(re).e("count"))},[createBaseVNode("span",{class:normalizeClass(unref(re).e("count-inner"))},toDisplayString(unref(jt))+" / "+toDisplayString(ii.maxlength),3)],2)):createCommentVNode("v-if",!0),unref(Oe)&&unref(ze)&&unref(Ve)?(openBlock(),createBlock(unref(ElIcon),{key:4,class:normalizeClass([unref(re).e("icon"),unref(re).e("validateIcon"),unref(re).is("loading",unref(Oe)==="validating")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(ze))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],2)):createCommentVNode("v-if",!0)],2),createCommentVNode(" append slot "),ii.$slots.append?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(re).be("group","append"))},[renderSlot(ii.$slots,"append")],2)):createCommentVNode("v-if",!0)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createCommentVNode(" textarea "),createBaseVNode("textarea",mergeProps({id:unref(j),ref_key:"textarea",ref:de,class:[unref(ae).e("inner"),unref(re).is("focus",unref(Ie))]},unref(g),{minlength:ii.minlength,maxlength:ii.maxlength,tabindex:ii.tabindex,disabled:unref(oe),readonly:ii.readonly,autocomplete:ii.autocomplete,style:unref(Et),"aria-label":ii.ariaLabel,placeholder:ii.placeholder,form:ii.form,autofocus:ii.autofocus,rows:ii.rows,role:ii.containerRole,onCompositionstart:unref(fi),onCompositionupdate:unref(li),onCompositionend:unref(Di),onInput:Oi,onFocus:unref(Ne),onBlur:unref(Fe),onChange:Ei,onKeydown:vi}),null,16,["id","minlength","maxlength","tabindex","disabled","readonly","autocomplete","aria-label","placeholder","form","autofocus","rows","role","onCompositionstart","onCompositionupdate","onCompositionend","onFocus","onBlur"]),unref(ei)?(openBlock(),createElementBlock("span",{key:0,style:normalizeStyle(pe.value),class:normalizeClass(unref(re).e("count"))},toDisplayString(unref(jt))+" / "+toDisplayString(ii.maxlength),7)):createCommentVNode("v-if",!0)],64))],38))}});var Input=_export_sfc(_sfc_main$1C,[["__file","input.vue"]]);const ElInput=withInstall(Input),GAP=4,BAR_MAP={vertical:{offset:"offsetHeight",scroll:"scrollTop",scrollSize:"scrollHeight",size:"height",key:"vertical",axis:"Y",client:"clientY",direction:"top"},horizontal:{offset:"offsetWidth",scroll:"scrollLeft",scrollSize:"scrollWidth",size:"width",key:"horizontal",axis:"X",client:"clientX",direction:"left"}},renderThumbStyle=({move:n,size:e,bar:t})=>({[t.size]:e,transform:"translate".concat(t.axis,"(").concat(n,"%)")}),scrollbarContextKey=Symbol("scrollbarContextKey"),thumbProps=buildProps({vertical:Boolean,size:String,move:Number,ratio:{type:Number,required:!0},always:Boolean}),COMPONENT_NAME$c="Thumb",_sfc_main$1B=defineComponent({__name:"thumb",props:thumbProps,setup(n){const e=n,t=inject(scrollbarContextKey),i=useNamespace("scrollbar");t||throwError(COMPONENT_NAME$c,"can not inject scrollbar context");const r=ref$1(),g=ref$1(),y=ref$1({}),k=ref$1(!1);let L=!1,V=!1,z=isClient?document.onselectstart:null;const j=computed$1(()=>BAR_MAP[e.vertical?"vertical":"horizontal"]),ie=computed$1(()=>renderThumbStyle({size:e.size,move:e.move,bar:j.value})),oe=computed$1(()=>r.value[j.value.offset]**2/t.wrapElement[j.value.scrollSize]/e.ratio/g.value[j.value.offset]),re=$e=>{var xe;if($e.stopPropagation(),$e.ctrlKey||[1,2].includes($e.button))return;(xe=window.getSelection())==null||xe.removeAllRanges(),le($e);const Ie=$e.currentTarget;Ie&&(y.value[j.value.axis]=Ie[j.value.offset]-($e[j.value.client]-Ie.getBoundingClientRect()[j.value.direction]))},ae=$e=>{if(!g.value||!r.value||!t.wrapElement)return;const xe=Math.abs($e.target.getBoundingClientRect()[j.value.direction]-$e[j.value.client]),Ie=g.value[j.value.offset]/2,Ne=(xe-Ie)*100*oe.value/r.value[j.value.offset];t.wrapElement[j.value.scroll]=Ne*t.wrapElement[j.value.scrollSize]/100},le=$e=>{$e.stopImmediatePropagation(),L=!0,document.addEventListener("mousemove",de),document.addEventListener("mouseup",ue),z=document.onselectstart,document.onselectstart=()=>!1},de=$e=>{if(!r.value||!g.value||L===!1)return;const xe=y.value[j.value.axis];if(!xe)return;const Ie=(r.value.getBoundingClientRect()[j.value.direction]-$e[j.value.client])*-1,Ne=g.value[j.value.offset]-xe,Fe=(Ie-Ne)*100*oe.value/r.value[j.value.offset];t.wrapElement[j.value.scroll]=Fe*t.wrapElement[j.value.scrollSize]/100},ue=()=>{L=!1,y.value[j.value.axis]=0,document.removeEventListener("mousemove",de),document.removeEventListener("mouseup",ue),Ce(),V&&(k.value=!1)},he=()=>{V=!1,k.value=!!e.size},pe=()=>{V=!0,k.value=L};onBeforeUnmount(()=>{Ce(),document.removeEventListener("mouseup",ue)});const Ce=()=>{document.onselectstart!==z&&(document.onselectstart=z)};return useEventListener(toRef(t,"scrollbarElement"),"mousemove",he),useEventListener(toRef(t,"scrollbarElement"),"mouseleave",pe),($e,xe)=>(openBlock(),createBlock(Transition,{name:unref(i).b("fade"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{ref_key:"instance",ref:r,class:normalizeClass([unref(i).e("bar"),unref(i).is(unref(j).key)]),onMousedown:ae},[createBaseVNode("div",{ref_key:"thumb",ref:g,class:normalizeClass(unref(i).e("thumb")),style:normalizeStyle(unref(ie)),onMousedown:re},null,38)],34),[[vShow,$e.always||k.value]])]),_:1},8,["name"]))}});var Thumb=_export_sfc(_sfc_main$1B,[["__file","thumb.vue"]]);const barProps=buildProps({always:{type:Boolean,default:!0},minSize:{type:Number,required:!0}}),_sfc_main$1A=defineComponent({__name:"bar",props:barProps,setup(n,{expose:e}){const t=n,i=inject(scrollbarContextKey),r=ref$1(0),g=ref$1(0),y=ref$1(""),k=ref$1(""),L=ref$1(1),V=ref$1(1);return e({handleScroll:ie=>{if(ie){const oe=ie.offsetHeight-GAP,re=ie.offsetWidth-GAP;g.value=ie.scrollTop*100/oe*L.value,r.value=ie.scrollLeft*100/re*V.value}},update:()=>{const ie=i==null?void 0:i.wrapElement;if(!ie)return;const oe=ie.offsetHeight-GAP,re=ie.offsetWidth-GAP,ae=oe**2/ie.scrollHeight,le=re**2/ie.scrollWidth,de=Math.max(ae,t.minSize),ue=Math.max(le,t.minSize);L.value=ae/(oe-ae)/(de/(oe-de)),V.value=le/(re-le)/(ue/(re-ue)),k.value=de+GAP(openBlock(),createElementBlock(Fragment,null,[createVNode(Thumb,{move:r.value,ratio:V.value,size:y.value,always:ie.always},null,8,["move","ratio","size","always"]),createVNode(Thumb,{move:g.value,ratio:L.value,size:k.value,vertical:"",always:ie.always},null,8,["move","ratio","size","always"])],64))}});var Bar=_export_sfc(_sfc_main$1A,[["__file","bar.vue"]]);const scrollbarProps=buildProps({height:{type:[String,Number],default:""},maxHeight:{type:[String,Number],default:""},native:{type:Boolean,default:!1},wrapStyle:{type:definePropType([String,Object,Array]),default:""},wrapClass:{type:[String,Array],default:""},viewClass:{type:[String,Array],default:""},viewStyle:{type:[String,Array,Object],default:""},noresize:Boolean,tag:{type:String,default:"div"},always:Boolean,minSize:{type:Number,default:20},tabindex:{type:[String,Number],default:void 0},id:String,role:String,...useAriaProps(["ariaLabel","ariaOrientation"])}),scrollbarEmits={scroll:({scrollTop:n,scrollLeft:e})=>[n,e].every(isNumber)},COMPONENT_NAME$b="ElScrollbar",__default__$U=defineComponent({name:COMPONENT_NAME$b}),_sfc_main$1z=defineComponent({...__default__$U,props:scrollbarProps,emits:scrollbarEmits,setup(n,{expose:e,emit:t}){const i=n,r=useNamespace("scrollbar");let g,y,k=0,L=0;const V=ref$1(),z=ref$1(),j=ref$1(),ie=ref$1(),oe=computed$1(()=>{const Ce={};return i.height&&(Ce.height=addUnit(i.height)),i.maxHeight&&(Ce.maxHeight=addUnit(i.maxHeight)),[i.wrapStyle,Ce]}),re=computed$1(()=>[i.wrapClass,r.e("wrap"),{[r.em("wrap","hidden-default")]:!i.native}]),ae=computed$1(()=>[r.e("view"),i.viewClass]),le=()=>{var Ce;z.value&&((Ce=ie.value)==null||Ce.handleScroll(z.value),k=z.value.scrollTop,L=z.value.scrollLeft,t("scroll",{scrollTop:z.value.scrollTop,scrollLeft:z.value.scrollLeft}))};function de(Ce,$e){isObject$4(Ce)?z.value.scrollTo(Ce):isNumber(Ce)&&isNumber($e)&&z.value.scrollTo(Ce,$e)}const ue=Ce=>{isNumber(Ce)&&(z.value.scrollTop=Ce)},he=Ce=>{isNumber(Ce)&&(z.value.scrollLeft=Ce)},pe=()=>{var Ce;(Ce=ie.value)==null||Ce.update()};return watch(()=>i.noresize,Ce=>{Ce?(g==null||g(),y==null||y()):({stop:g}=useResizeObserver(j,pe),y=useEventListener("resize",pe))},{immediate:!0}),watch(()=>[i.maxHeight,i.height],()=>{i.native||nextTick(()=>{var Ce;pe(),z.value&&((Ce=ie.value)==null||Ce.handleScroll(z.value))})}),provide(scrollbarContextKey,reactive$1({scrollbarElement:V,wrapElement:z})),onActivated(()=>{z.value&&(z.value.scrollTop=k,z.value.scrollLeft=L)}),onMounted(()=>{i.native||nextTick(()=>{pe()})}),onUpdated(()=>pe()),e({wrapRef:z,update:pe,scrollTo:de,setScrollTop:ue,setScrollLeft:he,handleScroll:le}),(Ce,$e)=>(openBlock(),createElementBlock("div",{ref_key:"scrollbarRef",ref:V,class:normalizeClass(unref(r).b())},[createBaseVNode("div",{ref_key:"wrapRef",ref:z,class:normalizeClass(unref(re)),style:normalizeStyle(unref(oe)),tabindex:Ce.tabindex,onScroll:le},[(openBlock(),createBlock(resolveDynamicComponent(Ce.tag),{id:Ce.id,ref_key:"resizeRef",ref:j,class:normalizeClass(unref(ae)),style:normalizeStyle(Ce.viewStyle),role:Ce.role,"aria-label":Ce.ariaLabel,"aria-orientation":Ce.ariaOrientation},{default:withCtx(()=>[renderSlot(Ce.$slots,"default")]),_:3},8,["id","class","style","role","aria-label","aria-orientation"]))],46,["tabindex"]),Ce.native?createCommentVNode("v-if",!0):(openBlock(),createBlock(Bar,{key:0,ref_key:"barRef",ref:ie,always:Ce.always,"min-size":Ce.minSize},null,8,["always","min-size"]))],2))}});var Scrollbar=_export_sfc(_sfc_main$1z,[["__file","scrollbar.vue"]]);const ElScrollbar=withInstall(Scrollbar),POPPER_INJECTION_KEY=Symbol("popper"),POPPER_CONTENT_INJECTION_KEY=Symbol("popperContent"),roleTypes=["dialog","grid","group","listbox","menu","navigation","tooltip","tree"],popperProps=buildProps({role:{type:String,values:roleTypes,default:"tooltip"}}),__default__$T=defineComponent({name:"ElPopper",inheritAttrs:!1}),_sfc_main$1y=defineComponent({...__default__$T,props:popperProps,setup(n,{expose:e}){const t=n,i=ref$1(),r=ref$1(),g=ref$1(),y=ref$1(),k=computed$1(()=>t.role),L={triggerRef:i,popperInstanceRef:r,contentRef:g,referenceRef:y,role:k};return e(L),provide(POPPER_INJECTION_KEY,L),(V,z)=>renderSlot(V.$slots,"default")}});var Popper=_export_sfc(_sfc_main$1y,[["__file","popper.vue"]]);const popperArrowProps=buildProps({arrowOffset:{type:Number,default:5}}),__default__$S=defineComponent({name:"ElPopperArrow",inheritAttrs:!1}),_sfc_main$1x=defineComponent({...__default__$S,props:popperArrowProps,setup(n,{expose:e}){const t=n,i=useNamespace("popper"),{arrowOffset:r,arrowRef:g,arrowStyle:y}=inject(POPPER_CONTENT_INJECTION_KEY,void 0);return watch(()=>t.arrowOffset,k=>{r.value=k}),onBeforeUnmount(()=>{g.value=void 0}),e({arrowRef:g}),(k,L)=>(openBlock(),createElementBlock("span",{ref_key:"arrowRef",ref:g,class:normalizeClass(unref(i).e("arrow")),style:normalizeStyle(unref(y)),"data-popper-arrow":""},null,6))}});var ElPopperArrow=_export_sfc(_sfc_main$1x,[["__file","arrow.vue"]]);const popperTriggerProps=buildProps({virtualRef:{type:definePropType(Object)},virtualTriggering:Boolean,onMouseenter:{type:definePropType(Function)},onMouseleave:{type:definePropType(Function)},onClick:{type:definePropType(Function)},onKeydown:{type:definePropType(Function)},onFocus:{type:definePropType(Function)},onBlur:{type:definePropType(Function)},onContextmenu:{type:definePropType(Function)},id:String,open:Boolean}),FORWARD_REF_INJECTION_KEY=Symbol("elForwardRef"),useForwardRef=n=>{provide(FORWARD_REF_INJECTION_KEY,{setForwardRef:t=>{n.value=t}})},useForwardRefDirective=n=>({mounted(e){n(e)},updated(e){n(e)},unmounted(){n(null)}}),FOCUSABLE_ELEMENT_SELECTORS='a[href],button:not([disabled]),button:not([hidden]),:not([tabindex="-1"]),input:not([disabled]),input:not([type="hidden"]),select:not([disabled]),textarea:not([disabled])',isVisible=n=>getComputedStyle(n).position==="fixed"?!1:n.offsetParent!==null,obtainAllFocusableElements$1=n=>Array.from(n.querySelectorAll(FOCUSABLE_ELEMENT_SELECTORS)).filter(e=>isFocusable(e)&&isVisible(e)),isFocusable=n=>{if(n.tabIndex>0||n.tabIndex===0&&n.getAttribute("tabIndex")!==null)return!0;if(n.tabIndex<0||n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true")return!1;switch(n.nodeName){case"A":return!!n.href&&n.rel!=="ignore";case"INPUT":return!(n.type==="hidden"||n.type==="file");case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}},isLeaf=n=>!n.getAttribute("aria-owns"),getSibling=(n,e,t)=>{const{parentNode:i}=n;if(!i)return null;const r=i.querySelectorAll(t),g=Array.prototype.indexOf.call(r,n);return r[g+e]||null},focusNode=n=>{n&&(n.focus(),!isLeaf(n)&&n.click())},NAME="ElOnlyChild",OnlyChild=defineComponent({name:NAME,setup(n,{slots:e,attrs:t}){var i;const r=inject(FORWARD_REF_INJECTION_KEY),g=useForwardRefDirective((i=r==null?void 0:r.setForwardRef)!=null?i:NOOP);return()=>{var y;const k=(y=e.default)==null?void 0:y.call(e,t);if(!k||k.length>1)return null;const L=findFirstLegitChild(k);return L?withDirectives(cloneVNode(L,t),[[g]]):null}}});function findFirstLegitChild(n){if(!n)return null;const e=n;for(const t of e){if(isObject$4(t))switch(t.type){case Comment:continue;case Text$2:case"svg":return wrapTextContent(t);case Fragment:return findFirstLegitChild(t.children);default:return t}return wrapTextContent(t)}return null}function wrapTextContent(n){const e=useNamespace("only-child");return createVNode("span",{class:e.e("content")},[n])}const __default__$R=defineComponent({name:"ElPopperTrigger",inheritAttrs:!1}),_sfc_main$1w=defineComponent({...__default__$R,props:popperTriggerProps,setup(n,{expose:e}){const t=n,{role:i,triggerRef:r}=inject(POPPER_INJECTION_KEY,void 0);useForwardRef(r);const g=computed$1(()=>k.value?t.id:void 0),y=computed$1(()=>{if(i&&i.value==="tooltip")return t.open&&t.id?t.id:void 0}),k=computed$1(()=>{if(i&&i.value!=="tooltip")return i.value}),L=computed$1(()=>k.value?"".concat(t.open):void 0);let V;const z=["onMouseenter","onMouseleave","onClick","onKeydown","onFocus","onBlur","onContextmenu"];return onMounted(()=>{watch(()=>t.virtualRef,j=>{j&&(r.value=unrefElement(j))},{immediate:!0}),watch(r,(j,ie)=>{V==null||V(),V=void 0,isElement(j)&&(z.forEach(oe=>{var re;const ae=t[oe];ae&&(j.addEventListener(oe.slice(2).toLowerCase(),ae),(re=ie==null?void 0:ie.removeEventListener)==null||re.call(ie,oe.slice(2).toLowerCase(),ae))}),isFocusable(j)&&(V=watch([g,y,k,L],oe=>{["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach((re,ae)=>{isNil(oe[ae])?j.removeAttribute(re):j.setAttribute(re,oe[ae])})},{immediate:!0}))),isElement(ie)&&isFocusable(ie)&&["aria-controls","aria-describedby","aria-haspopup","aria-expanded"].forEach(oe=>ie.removeAttribute(oe))},{immediate:!0})}),onBeforeUnmount(()=>{if(V==null||V(),V=void 0,r.value&&isElement(r.value)){const j=r.value;z.forEach(ie=>{const oe=t[ie];oe&&j.removeEventListener(ie.slice(2).toLowerCase(),oe)}),r.value=void 0}}),e({triggerRef:r}),(j,ie)=>j.virtualTriggering?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(OnlyChild),mergeProps({key:0},j.$attrs,{"aria-controls":unref(g),"aria-describedby":unref(y),"aria-expanded":unref(L),"aria-haspopup":unref(k)}),{default:withCtx(()=>[renderSlot(j.$slots,"default")]),_:3},16,["aria-controls","aria-describedby","aria-expanded","aria-haspopup"]))}});var ElPopperTrigger=_export_sfc(_sfc_main$1w,[["__file","trigger.vue"]]);const FOCUS_AFTER_TRAPPED="focus-trap.focus-after-trapped",FOCUS_AFTER_RELEASED="focus-trap.focus-after-released",FOCUSOUT_PREVENTED="focus-trap.focusout-prevented",FOCUS_AFTER_TRAPPED_OPTS={cancelable:!0,bubbles:!1},FOCUSOUT_PREVENTED_OPTS={cancelable:!0,bubbles:!1},ON_TRAP_FOCUS_EVT="focusAfterTrapped",ON_RELEASE_FOCUS_EVT="focusAfterReleased",FOCUS_TRAP_INJECTION_KEY=Symbol("elFocusTrap"),focusReason=ref$1(),lastUserFocusTimestamp=ref$1(0),lastAutomatedFocusTimestamp=ref$1(0);let focusReasonUserCount=0;const obtainAllFocusableElements=n=>{const e=[],t=document.createTreeWalker(n,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const r=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||r?NodeFilter.FILTER_SKIP:i.tabIndex>=0||i===document.activeElement?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;t.nextNode();)e.push(t.currentNode);return e},getVisibleElement=(n,e)=>{for(const t of n)if(!isHidden(t,e))return t},isHidden=(n,e)=>{if(getComputedStyle(n).visibility==="hidden")return!0;for(;n;){if(e&&n===e)return!1;if(getComputedStyle(n).display==="none")return!0;n=n.parentElement}return!1},getEdges=n=>{const e=obtainAllFocusableElements(n),t=getVisibleElement(e,n),i=getVisibleElement(e.reverse(),n);return[t,i]},isSelectable=n=>n instanceof HTMLInputElement&&"select"in n,tryFocus=(n,e)=>{if(n&&n.focus){const t=document.activeElement;let i=!1;isElement(n)&&!isFocusable(n)&&!n.getAttribute("tabindex")&&(n.setAttribute("tabindex","-1"),i=!0),n.focus({preventScroll:!0}),lastAutomatedFocusTimestamp.value=window.performance.now(),n!==t&&isSelectable(n)&&e&&n.select(),isElement(n)&&i&&n.removeAttribute("tabindex")}};function removeFromStack(n,e){const t=[...n],i=n.indexOf(e);return i!==-1&&t.splice(i,1),t}const createFocusableStack=()=>{let n=[];return{push:i=>{const r=n[0];r&&i!==r&&r.pause(),n=removeFromStack(n,i),n.unshift(i)},remove:i=>{var r,g;n=removeFromStack(n,i),(g=(r=n[0])==null?void 0:r.resume)==null||g.call(r)}}},focusFirstDescendant=(n,e=!1)=>{const t=document.activeElement;for(const i of n)if(tryFocus(i,e),document.activeElement!==t)return},focusableStack=createFocusableStack(),isFocusCausedByUserEvent=()=>lastUserFocusTimestamp.value>lastAutomatedFocusTimestamp.value,notifyFocusReasonPointer=()=>{focusReason.value="pointer",lastUserFocusTimestamp.value=window.performance.now()},notifyFocusReasonKeydown=()=>{focusReason.value="keyboard",lastUserFocusTimestamp.value=window.performance.now()},useFocusReason=()=>(onMounted(()=>{focusReasonUserCount===0&&(document.addEventListener("mousedown",notifyFocusReasonPointer),document.addEventListener("touchstart",notifyFocusReasonPointer),document.addEventListener("keydown",notifyFocusReasonKeydown)),focusReasonUserCount++}),onBeforeUnmount(()=>{focusReasonUserCount--,focusReasonUserCount<=0&&(document.removeEventListener("mousedown",notifyFocusReasonPointer),document.removeEventListener("touchstart",notifyFocusReasonPointer),document.removeEventListener("keydown",notifyFocusReasonKeydown))}),{focusReason,lastUserFocusTimestamp,lastAutomatedFocusTimestamp}),createFocusOutPreventedEvent=n=>new CustomEvent(FOCUSOUT_PREVENTED,{...FOCUSOUT_PREVENTED_OPTS,detail:n}),EVENT_CODE={tab:"Tab",enter:"Enter",space:"Space",left:"ArrowLeft",up:"ArrowUp",right:"ArrowRight",down:"ArrowDown",esc:"Escape",delete:"Delete",backspace:"Backspace",numpadEnter:"NumpadEnter",pageUp:"PageUp",pageDown:"PageDown",home:"Home",end:"End"};let registeredEscapeHandlers=[];const cachedHandler=n=>{n.code===EVENT_CODE.esc&®isteredEscapeHandlers.forEach(e=>e(n))},useEscapeKeydown=n=>{onMounted(()=>{registeredEscapeHandlers.length===0&&document.addEventListener("keydown",cachedHandler),isClient&®isteredEscapeHandlers.push(n)}),onBeforeUnmount(()=>{registeredEscapeHandlers=registeredEscapeHandlers.filter(e=>e!==n),registeredEscapeHandlers.length===0&&isClient&&document.removeEventListener("keydown",cachedHandler)})},_sfc_main$1v=defineComponent({name:"ElFocusTrap",inheritAttrs:!1,props:{loop:Boolean,trapped:Boolean,focusTrapEl:Object,focusStartEl:{type:[Object,String],default:"first"}},emits:[ON_TRAP_FOCUS_EVT,ON_RELEASE_FOCUS_EVT,"focusin","focusout","focusout-prevented","release-requested"],setup(n,{emit:e}){const t=ref$1();let i,r;const{focusReason:g}=useFocusReason();useEscapeKeydown(re=>{n.trapped&&!y.paused&&e("release-requested",re)});const y={paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}},k=re=>{if(!n.loop&&!n.trapped||y.paused)return;const{code:ae,altKey:le,ctrlKey:de,metaKey:ue,currentTarget:he,shiftKey:pe}=re,{loop:Ce}=n,$e=ae===EVENT_CODE.tab&&!le&&!de&&!ue,xe=document.activeElement;if($e&&xe){const Ie=he,[Ne,Fe]=getEdges(Ie);if(Ne&&Fe){if(!pe&&xe===Fe){const Oe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||(re.preventDefault(),Ce&&tryFocus(Ne,!0))}else if(pe&&[Ne,Ie].includes(xe)){const Oe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||(re.preventDefault(),Ce&&tryFocus(Fe,!0))}}else if(xe===Ie){const Oe=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",Oe),Oe.defaultPrevented||re.preventDefault()}}};provide(FOCUS_TRAP_INJECTION_KEY,{focusTrapRef:t,onKeydown:k}),watch(()=>n.focusTrapEl,re=>{re&&(t.value=re)},{immediate:!0}),watch([t],([re],[ae])=>{re&&(re.addEventListener("keydown",k),re.addEventListener("focusin",z),re.addEventListener("focusout",j)),ae&&(ae.removeEventListener("keydown",k),ae.removeEventListener("focusin",z),ae.removeEventListener("focusout",j))});const L=re=>{e(ON_TRAP_FOCUS_EVT,re)},V=re=>e(ON_RELEASE_FOCUS_EVT,re),z=re=>{const ae=unref(t);if(!ae)return;const le=re.target,de=re.relatedTarget,ue=le&&ae.contains(le);n.trapped||de&&ae.contains(de)||(i=de),ue&&e("focusin",re),!y.paused&&n.trapped&&(ue?r=le:tryFocus(r,!0))},j=re=>{const ae=unref(t);if(!(y.paused||!ae))if(n.trapped){const le=re.relatedTarget;!isNil(le)&&!ae.contains(le)&&setTimeout(()=>{if(!y.paused&&n.trapped){const de=createFocusOutPreventedEvent({focusReason:g.value});e("focusout-prevented",de),de.defaultPrevented||tryFocus(r,!0)}},0)}else{const le=re.target;le&&ae.contains(le)||e("focusout",re)}};async function ie(){await nextTick();const re=unref(t);if(re){focusableStack.push(y);const ae=re.contains(document.activeElement)?i:document.activeElement;if(i=ae,!re.contains(ae)){const de=new Event(FOCUS_AFTER_TRAPPED,FOCUS_AFTER_TRAPPED_OPTS);re.addEventListener(FOCUS_AFTER_TRAPPED,L),re.dispatchEvent(de),de.defaultPrevented||nextTick(()=>{let ue=n.focusStartEl;isString$5(ue)||(tryFocus(ue),document.activeElement!==ue&&(ue="first")),ue==="first"&&focusFirstDescendant(obtainAllFocusableElements(re),!0),(document.activeElement===ae||ue==="container")&&tryFocus(re)})}}}function oe(){const re=unref(t);if(re){re.removeEventListener(FOCUS_AFTER_TRAPPED,L);const ae=new CustomEvent(FOCUS_AFTER_RELEASED,{...FOCUS_AFTER_TRAPPED_OPTS,detail:{focusReason:g.value}});re.addEventListener(FOCUS_AFTER_RELEASED,V),re.dispatchEvent(ae),!ae.defaultPrevented&&(g.value=="keyboard"||!isFocusCausedByUserEvent()||re.contains(document.activeElement))&&tryFocus(i!=null?i:document.body),re.removeEventListener(FOCUS_AFTER_RELEASED,V),focusableStack.remove(y)}}return onMounted(()=>{n.trapped&&ie(),watch(()=>n.trapped,re=>{re?ie():oe()})}),onBeforeUnmount(()=>{n.trapped&&oe(),t.value&&(t.value.removeEventListener("keydown",k),t.value.removeEventListener("focusin",z),t.value.removeEventListener("focusout",j),t.value=void 0)}),{onKeydown:k}}});function _sfc_render$q(n,e,t,i,r,g){return renderSlot(n.$slots,"default",{handleKeydown:n.onKeydown})}var ElFocusTrap=_export_sfc(_sfc_main$1v,[["render",_sfc_render$q],["__file","focus-trap.vue"]]);const POSITIONING_STRATEGIES=["fixed","absolute"],popperCoreConfigProps=buildProps({boundariesPadding:{type:Number,default:0},fallbackPlacements:{type:definePropType(Array),default:void 0},gpuAcceleration:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:String,values:Ee,default:"bottom"},popperOptions:{type:definePropType(Object),default:()=>({})},strategy:{type:String,values:POSITIONING_STRATEGIES,default:"absolute"}}),popperContentProps=buildProps({...popperCoreConfigProps,id:String,style:{type:definePropType([String,Array,Object])},className:{type:definePropType([String,Array,Object])},effect:{type:definePropType(String),default:"dark"},visible:Boolean,enterable:{type:Boolean,default:!0},pure:Boolean,focusOnShow:{type:Boolean,default:!1},trapping:{type:Boolean,default:!1},popperClass:{type:definePropType([String,Array,Object])},popperStyle:{type:definePropType([String,Array,Object])},referenceEl:{type:definePropType(Object)},triggerTargetEl:{type:definePropType(Object)},stopPopperMouseEvent:{type:Boolean,default:!0},virtualTriggering:Boolean,zIndex:Number,...useAriaProps(["ariaLabel"])}),popperContentEmits={mouseenter:n=>n instanceof MouseEvent,mouseleave:n=>n instanceof MouseEvent,focus:()=>!0,blur:()=>!0,close:()=>!0},usePopperContentFocusTrap=(n,e)=>{const t=ref$1(!1),i=ref$1();return{focusStartRef:i,trapped:t,onFocusAfterReleased:V=>{var z;((z=V.detail)==null?void 0:z.focusReason)!=="pointer"&&(i.value="first",e("blur"))},onFocusAfterTrapped:()=>{e("focus")},onFocusInTrap:V=>{n.visible&&!t.value&&(V.target&&(i.value=V.target),t.value=!0)},onFocusoutPrevented:V=>{n.trapping||(V.detail.focusReason==="pointer"&&V.preventDefault(),t.value=!1)},onReleaseRequested:()=>{t.value=!1,e("close")}}},buildPopperOptions=(n,e=[])=>{const{placement:t,strategy:i,popperOptions:r}=n,g={placement:t,strategy:i,...r,modifiers:[...genModifiers(n),...e]};return deriveExtraModifiers(g,r==null?void 0:r.modifiers),g},unwrapMeasurableEl=n=>{if(isClient)return unrefElement(n)};function genModifiers(n){const{offset:e,gpuAcceleration:t,fallbackPlacements:i}=n;return[{name:"offset",options:{offset:[0,e!=null?e:12]}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5,fallbackPlacements:i}},{name:"computeStyles",options:{gpuAcceleration:t}}]}function deriveExtraModifiers(n,e){e&&(n.modifiers=[...n.modifiers,...e!=null?e:[]])}const usePopper=(n,e,t={})=>{const i={name:"updateState",enabled:!0,phase:"write",fn:({state:L})=>{const V=deriveState(L);Object.assign(y.value,V)},requires:["computeStyles"]},r=computed$1(()=>{const{onFirstUpdate:L,placement:V,strategy:z,modifiers:j}=unref(t);return{onFirstUpdate:L,placement:V||"bottom",strategy:z||"absolute",modifiers:[...j||[],i,{name:"applyStyles",enabled:!1}]}}),g=shallowRef(),y=ref$1({styles:{popper:{position:unref(r).strategy,left:"0",top:"0"},arrow:{position:"absolute"}},attributes:{}}),k=()=>{g.value&&(g.value.destroy(),g.value=void 0)};return watch(r,L=>{const V=unref(g);V&&V.setOptions(L)},{deep:!0}),watch([n,e],([L,V])=>{k(),!(!L||!V)&&(g.value=yn(L,V,unref(r)))}),onBeforeUnmount(()=>{k()}),{state:computed$1(()=>{var L;return{...((L=unref(g))==null?void 0:L.state)||{}}}),styles:computed$1(()=>unref(y).styles),attributes:computed$1(()=>unref(y).attributes),update:()=>{var L;return(L=unref(g))==null?void 0:L.update()},forceUpdate:()=>{var L;return(L=unref(g))==null?void 0:L.forceUpdate()},instanceRef:computed$1(()=>unref(g))}};function deriveState(n){const e=Object.keys(n.elements),t=fromPairs(e.map(r=>[r,n.styles[r]||{}])),i=fromPairs(e.map(r=>[r,n.attributes[r]]));return{styles:t,attributes:i}}const DEFAULT_ARROW_OFFSET=0,usePopperContent=n=>{const{popperInstanceRef:e,contentRef:t,triggerRef:i,role:r}=inject(POPPER_INJECTION_KEY,void 0),g=ref$1(),y=ref$1(),k=computed$1(()=>({name:"eventListeners",enabled:!!n.visible})),L=computed$1(()=>{var de;const ue=unref(g),he=(de=unref(y))!=null?de:DEFAULT_ARROW_OFFSET;return{name:"arrow",enabled:!isUndefined$4(ue),options:{element:ue,padding:he}}}),V=computed$1(()=>({onFirstUpdate:()=>{re()},...buildPopperOptions(n,[unref(L),unref(k)])})),z=computed$1(()=>unwrapMeasurableEl(n.referenceEl)||unref(i)),{attributes:j,state:ie,styles:oe,update:re,forceUpdate:ae,instanceRef:le}=usePopper(z,t,V);return watch(le,de=>e.value=de),onMounted(()=>{watch(()=>{var de;return(de=unref(z))==null?void 0:de.getBoundingClientRect()},()=>{re()})}),{attributes:j,arrowRef:g,contentRef:t,instanceRef:le,state:ie,styles:oe,role:r,forceUpdate:ae,update:re}},usePopperContentDOM=(n,{attributes:e,styles:t,role:i})=>{const{nextZIndex:r}=useZIndex(),g=useNamespace("popper"),y=computed$1(()=>unref(e).popper),k=ref$1(isNumber(n.zIndex)?n.zIndex:r()),L=computed$1(()=>[g.b(),g.is("pure",n.pure),g.is(n.effect),n.popperClass]),V=computed$1(()=>[{zIndex:unref(k)},unref(t).popper,n.popperStyle||{}]),z=computed$1(()=>i.value==="dialog"?"false":void 0),j=computed$1(()=>unref(t).arrow||{});return{ariaModal:z,arrowStyle:j,contentAttrs:y,contentClass:L,contentStyle:V,contentZIndex:k,updateZIndex:()=>{k.value=isNumber(n.zIndex)?n.zIndex:r()}}},__default__$Q=defineComponent({name:"ElPopperContent"}),_sfc_main$1u=defineComponent({...__default__$Q,props:popperContentProps,emits:popperContentEmits,setup(n,{expose:e,emit:t}){const i=n,{focusStartRef:r,trapped:g,onFocusAfterReleased:y,onFocusAfterTrapped:k,onFocusInTrap:L,onFocusoutPrevented:V,onReleaseRequested:z}=usePopperContentFocusTrap(i,t),{attributes:j,arrowRef:ie,contentRef:oe,styles:re,instanceRef:ae,role:le,update:de}=usePopperContent(i),{ariaModal:ue,arrowStyle:he,contentAttrs:pe,contentClass:Ce,contentStyle:$e,updateZIndex:xe}=usePopperContentDOM(i,{styles:re,attributes:j,role:le}),Ie=inject(formItemContextKey,void 0),Ne=ref$1();provide(POPPER_CONTENT_INJECTION_KEY,{arrowStyle:he,arrowRef:ie,arrowOffset:Ne}),Ie&&provide(formItemContextKey,{...Ie,addInputId:NOOP,removeInputId:NOOP});let Fe;const Ve=(ze=!0)=>{de(),ze&&xe()},Oe=()=>{Ve(!1),i.visible&&i.focusOnShow?g.value=!0:i.visible===!1&&(g.value=!1)};return onMounted(()=>{watch(()=>i.triggerTargetEl,(ze,qe)=>{Fe==null||Fe(),Fe=void 0;const Ue=unref(ze||oe.value),Et=unref(qe||oe.value);isElement(Ue)&&(Fe=watch([le,()=>i.ariaLabel,ue,()=>i.id],At=>{["role","aria-label","aria-modal","id"].forEach((Lt,kt)=>{isNil(At[kt])?Ue.removeAttribute(Lt):Ue.setAttribute(Lt,At[kt])})},{immediate:!0})),Et!==Ue&&isElement(Et)&&["role","aria-label","aria-modal","id"].forEach(At=>{Et.removeAttribute(At)})},{immediate:!0}),watch(()=>i.visible,Oe,{immediate:!0})}),onBeforeUnmount(()=>{Fe==null||Fe(),Fe=void 0}),e({popperContentRef:oe,popperInstanceRef:ae,updatePopper:Ve,contentStyle:$e}),(ze,qe)=>(openBlock(),createElementBlock("div",mergeProps({ref_key:"contentRef",ref:oe},unref(pe),{style:unref($e),class:unref(Ce),tabindex:"-1",onMouseenter:Ue=>ze.$emit("mouseenter",Ue),onMouseleave:Ue=>ze.$emit("mouseleave",Ue)}),[createVNode(unref(ElFocusTrap),{trapped:unref(g),"trap-on-focus-in":!0,"focus-trap-el":unref(oe),"focus-start-el":unref(r),onFocusAfterTrapped:unref(k),onFocusAfterReleased:unref(y),onFocusin:unref(L),onFocusoutPrevented:unref(V),onReleaseRequested:unref(z)},{default:withCtx(()=>[renderSlot(ze.$slots,"default")]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusin","onFocusoutPrevented","onReleaseRequested"])],16,["onMouseenter","onMouseleave"]))}});var ElPopperContent=_export_sfc(_sfc_main$1u,[["__file","content.vue"]]);const ElPopper=withInstall(Popper),TOOLTIP_INJECTION_KEY=Symbol("elTooltip");function useTimeout(){let n;const e=(i,r)=>{t(),n=window.setTimeout(i,r)},t=()=>window.clearTimeout(n);return tryOnScopeDispose(()=>t()),{registerTimeout:e,cancelTimeout:t}}const useDelayedToggleProps=buildProps({showAfter:{type:Number,default:0},hideAfter:{type:Number,default:200},autoClose:{type:Number,default:0}}),useDelayedToggle=({showAfter:n,hideAfter:e,autoClose:t,open:i,close:r})=>{const{registerTimeout:g}=useTimeout(),{registerTimeout:y,cancelTimeout:k}=useTimeout();return{onOpen:z=>{g(()=>{i(z);const j=unref(t);isNumber(j)&&j>0&&y(()=>{r(z)},j)},unref(n))},onClose:z=>{k(),g(()=>{r(z)},unref(e))}}},useTooltipContentProps=buildProps({...useDelayedToggleProps,...popperContentProps,appendTo:{type:definePropType([String,Object])},content:{type:String,default:""},rawContent:Boolean,persistent:Boolean,visible:{type:definePropType(Boolean),default:null},transition:String,teleported:{type:Boolean,default:!0},disabled:Boolean,...useAriaProps(["ariaLabel"])}),useTooltipTriggerProps=buildProps({...popperTriggerProps,disabled:Boolean,trigger:{type:definePropType([String,Array]),default:"hover"},triggerKeys:{type:definePropType(Array),default:()=>[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space]}}),_prop=buildProp({type:definePropType(Boolean),default:null}),_event=buildProp({type:definePropType(Function)}),createModelToggleComposable=n=>{const e="update:".concat(n),t="onUpdate:".concat(n),i=[e],r={[n]:_prop,[t]:_event};return{useModelToggle:({indicator:y,toggleReason:k,shouldHideWhenRouteChanges:L,shouldProceed:V,onShow:z,onHide:j})=>{const ie=getCurrentInstance$1(),{emit:oe}=ie,re=ie.props,ae=computed$1(()=>isFunction$4(re[t])),le=computed$1(()=>re[n]===null),de=xe=>{y.value!==!0&&(y.value=!0,k&&(k.value=xe),isFunction$4(z)&&z(xe))},ue=xe=>{y.value!==!1&&(y.value=!1,k&&(k.value=xe),isFunction$4(j)&&j(xe))},he=xe=>{if(re.disabled===!0||isFunction$4(V)&&!V())return;const Ie=ae.value&&isClient;Ie&&oe(e,!0),(le.value||!Ie)&&de(xe)},pe=xe=>{if(re.disabled===!0||!isClient)return;const Ie=ae.value&&isClient;Ie&&oe(e,!1),(le.value||!Ie)&&ue(xe)},Ce=xe=>{isBoolean(xe)&&(re.disabled&&xe?ae.value&&oe(e,!1):y.value!==xe&&(xe?de():ue()))},$e=()=>{y.value?pe():he()};return watch(()=>re[n],Ce),L&&ie.appContext.config.globalProperties.$route!==void 0&&watch(()=>({...ie.proxy.$route}),()=>{L.value&&y.value&&pe()}),onMounted(()=>{Ce(re[n])}),{hide:pe,show:he,toggle:$e,hasUpdateHandler:ae}},useModelToggleProps:r,useModelToggleEmits:i}},{useModelToggleProps:useTooltipModelToggleProps,useModelToggleEmits:useTooltipModelToggleEmits,useModelToggle:useTooltipModelToggle}=createModelToggleComposable("visible"),useTooltipProps=buildProps({...popperProps,...useTooltipModelToggleProps,...useTooltipContentProps,...useTooltipTriggerProps,...popperArrowProps,showArrow:{type:Boolean,default:!0}}),tooltipEmits=[...useTooltipModelToggleEmits,"before-show","before-hide","show","hide","open","close"],isTriggerType=(n,e)=>isArray$2(n)?n.includes(e):n===e,whenTrigger=(n,e,t)=>i=>{isTriggerType(unref(n),e)&&t(i)},composeEventHandlers=(n,e,{checkForDefaultPrevented:t=!0}={})=>r=>{const g=n==null?void 0:n(r);if(t===!1||!g)return e==null?void 0:e(r)},whenMouse=n=>e=>e.pointerType==="mouse"?n(e):void 0,__default__$P=defineComponent({name:"ElTooltipTrigger"}),_sfc_main$1t=defineComponent({...__default__$P,props:useTooltipTriggerProps,setup(n,{expose:e}){const t=n,i=useNamespace("tooltip"),{controlled:r,id:g,open:y,onOpen:k,onClose:L,onToggle:V}=inject(TOOLTIP_INJECTION_KEY,void 0),z=ref$1(null),j=()=>{if(unref(r)||t.disabled)return!0},ie=toRef(t,"trigger"),oe=composeEventHandlers(j,whenTrigger(ie,"hover",k)),re=composeEventHandlers(j,whenTrigger(ie,"hover",L)),ae=composeEventHandlers(j,whenTrigger(ie,"click",pe=>{pe.button===0&&V(pe)})),le=composeEventHandlers(j,whenTrigger(ie,"focus",k)),de=composeEventHandlers(j,whenTrigger(ie,"focus",L)),ue=composeEventHandlers(j,whenTrigger(ie,"contextmenu",pe=>{pe.preventDefault(),V(pe)})),he=composeEventHandlers(j,pe=>{const{code:Ce}=pe;t.triggerKeys.includes(Ce)&&(pe.preventDefault(),V(pe))});return e({triggerRef:z}),(pe,Ce)=>(openBlock(),createBlock(unref(ElPopperTrigger),{id:unref(g),"virtual-ref":pe.virtualRef,open:unref(y),"virtual-triggering":pe.virtualTriggering,class:normalizeClass(unref(i).e("trigger")),onBlur:unref(de),onClick:unref(ae),onContextmenu:unref(ue),onFocus:unref(le),onMouseenter:unref(oe),onMouseleave:unref(re),onKeydown:unref(he)},{default:withCtx(()=>[renderSlot(pe.$slots,"default")]),_:3},8,["id","virtual-ref","open","virtual-triggering","class","onBlur","onClick","onContextmenu","onFocus","onMouseenter","onMouseleave","onKeydown"]))}});var ElTooltipTrigger=_export_sfc(_sfc_main$1t,[["__file","trigger.vue"]]);const teleportProps=buildProps({to:{type:definePropType([String,Object]),required:!0},disabled:Boolean}),_sfc_main$1s=defineComponent({__name:"teleport",props:teleportProps,setup(n){return(e,t)=>e.disabled?renderSlot(e.$slots,"default",{key:0}):(openBlock(),createBlock(Teleport$2,{key:1,to:e.to},[renderSlot(e.$slots,"default")],8,["to"]))}});var Teleport=_export_sfc(_sfc_main$1s,[["__file","teleport.vue"]]);const ElTeleport=withInstall(Teleport),usePopperContainerId=()=>{const n=useGetDerivedNamespace(),e=useIdInjection(),t=computed$1(()=>"".concat(n.value,"-popper-container-").concat(e.prefix)),i=computed$1(()=>"#".concat(t.value));return{id:t,selector:i}},createContainer=n=>{const e=document.createElement("div");return e.id=n,document.body.appendChild(e),e},usePopperContainer=()=>{const{id:n,selector:e}=usePopperContainerId();return onBeforeMount(()=>{isClient&&(document.body.querySelector(e.value)||createContainer(n.value))}),{id:n,selector:e}},__default__$O=defineComponent({name:"ElTooltipContent",inheritAttrs:!1}),_sfc_main$1r=defineComponent({...__default__$O,props:useTooltipContentProps,setup(n,{expose:e}){const t=n,{selector:i}=usePopperContainerId(),r=useNamespace("tooltip"),g=ref$1();let y;const{controlled:k,id:L,open:V,trigger:z,onClose:j,onOpen:ie,onShow:oe,onHide:re,onBeforeShow:ae,onBeforeHide:le}=inject(TOOLTIP_INJECTION_KEY,void 0),de=computed$1(()=>t.transition||"".concat(r.namespace.value,"-fade-in-linear")),ue=computed$1(()=>t.persistent);onBeforeUnmount(()=>{y==null||y()});const he=computed$1(()=>unref(ue)?!0:unref(V)),pe=computed$1(()=>t.disabled?!1:unref(V)),Ce=computed$1(()=>t.appendTo||i.value),$e=computed$1(()=>{var At;return(At=t.style)!=null?At:{}}),xe=ref$1(!0),Ie=()=>{re(),Et()&&tryFocus(document.body),xe.value=!0},Ne=()=>{if(unref(k))return!0},Fe=composeEventHandlers(Ne,()=>{t.enterable&&unref(z)==="hover"&&ie()}),Ve=composeEventHandlers(Ne,()=>{unref(z)==="hover"&&j()}),Oe=()=>{var At,Lt;(Lt=(At=g.value)==null?void 0:At.updatePopper)==null||Lt.call(At),ae==null||ae()},ze=()=>{le==null||le()},qe=()=>{oe(),y=onClickOutside(computed$1(()=>{var At;return(At=g.value)==null?void 0:At.popperContentRef}),()=>{if(unref(k))return;unref(z)!=="hover"&&j()})},Ue=()=>{t.virtualTriggering||j()},Et=At=>{var Lt;const kt=(Lt=g.value)==null?void 0:Lt.popperContentRef,ei=(At==null?void 0:At.relatedTarget)||document.activeElement;return kt==null?void 0:kt.contains(ei)};return watch(()=>unref(V),At=>{At?xe.value=!1:y==null||y()},{flush:"post"}),watch(()=>t.content,()=>{var At,Lt;(Lt=(At=g.value)==null?void 0:At.updatePopper)==null||Lt.call(At)}),e({contentRef:g,isFocusInsideContent:Et}),(At,Lt)=>(openBlock(),createBlock(unref(ElTeleport),{disabled:!At.teleported,to:unref(Ce)},{default:withCtx(()=>[createVNode(Transition,{name:unref(de),onAfterLeave:Ie,onBeforeEnter:Oe,onAfterEnter:qe,onBeforeLeave:ze},{default:withCtx(()=>[unref(he)?withDirectives((openBlock(),createBlock(unref(ElPopperContent),mergeProps({key:0,id:unref(L),ref_key:"contentRef",ref:g},At.$attrs,{"aria-label":At.ariaLabel,"aria-hidden":xe.value,"boundaries-padding":At.boundariesPadding,"fallback-placements":At.fallbackPlacements,"gpu-acceleration":At.gpuAcceleration,offset:At.offset,placement:At.placement,"popper-options":At.popperOptions,strategy:At.strategy,effect:At.effect,enterable:At.enterable,pure:At.pure,"popper-class":At.popperClass,"popper-style":[At.popperStyle,unref($e)],"reference-el":At.referenceEl,"trigger-target-el":At.triggerTargetEl,visible:unref(pe),"z-index":At.zIndex,onMouseenter:unref(Fe),onMouseleave:unref(Ve),onBlur:Ue,onClose:unref(j)}),{default:withCtx(()=>[renderSlot(At.$slots,"default")]),_:3},16,["id","aria-label","aria-hidden","boundaries-padding","fallback-placements","gpu-acceleration","offset","placement","popper-options","strategy","effect","enterable","pure","popper-class","popper-style","reference-el","trigger-target-el","visible","z-index","onMouseenter","onMouseleave","onClose"])),[[vShow,unref(pe)]]):createCommentVNode("v-if",!0)]),_:3},8,["name"])]),_:3},8,["disabled","to"]))}});var ElTooltipContent=_export_sfc(_sfc_main$1r,[["__file","content.vue"]]);const __default__$N=defineComponent({name:"ElTooltip"}),_sfc_main$1q=defineComponent({...__default__$N,props:useTooltipProps,emits:tooltipEmits,setup(n,{expose:e,emit:t}){const i=n;usePopperContainer();const r=useId(),g=ref$1(),y=ref$1(),k=()=>{var de;const ue=unref(g);ue&&((de=ue.popperInstanceRef)==null||de.update())},L=ref$1(!1),V=ref$1(),{show:z,hide:j,hasUpdateHandler:ie}=useTooltipModelToggle({indicator:L,toggleReason:V}),{onOpen:oe,onClose:re}=useDelayedToggle({showAfter:toRef(i,"showAfter"),hideAfter:toRef(i,"hideAfter"),autoClose:toRef(i,"autoClose"),open:z,close:j}),ae=computed$1(()=>isBoolean(i.visible)&&!ie.value);provide(TOOLTIP_INJECTION_KEY,{controlled:ae,id:r,open:readonly(L),trigger:toRef(i,"trigger"),onOpen:de=>{oe(de)},onClose:de=>{re(de)},onToggle:de=>{unref(L)?re(de):oe(de)},onShow:()=>{t("show",V.value)},onHide:()=>{t("hide",V.value)},onBeforeShow:()=>{t("before-show",V.value)},onBeforeHide:()=>{t("before-hide",V.value)},updatePopper:k}),watch(()=>i.disabled,de=>{de&&L.value&&(L.value=!1)});const le=de=>{var ue;return(ue=y.value)==null?void 0:ue.isFocusInsideContent(de)};return onDeactivated(()=>L.value&&j()),e({popperRef:g,contentRef:y,isFocusInsideContent:le,updatePopper:k,onOpen:oe,onClose:re,hide:j}),(de,ue)=>(openBlock(),createBlock(unref(ElPopper),{ref_key:"popperRef",ref:g,role:de.role},{default:withCtx(()=>[createVNode(ElTooltipTrigger,{disabled:de.disabled,trigger:de.trigger,"trigger-keys":de.triggerKeys,"virtual-ref":de.virtualRef,"virtual-triggering":de.virtualTriggering},{default:withCtx(()=>[de.$slots.default?renderSlot(de.$slots,"default",{key:0}):createCommentVNode("v-if",!0)]),_:3},8,["disabled","trigger","trigger-keys","virtual-ref","virtual-triggering"]),createVNode(ElTooltipContent,{ref_key:"contentRef",ref:y,"aria-label":de.ariaLabel,"boundaries-padding":de.boundariesPadding,content:de.content,disabled:de.disabled,effect:de.effect,enterable:de.enterable,"fallback-placements":de.fallbackPlacements,"hide-after":de.hideAfter,"gpu-acceleration":de.gpuAcceleration,offset:de.offset,persistent:de.persistent,"popper-class":de.popperClass,"popper-style":de.popperStyle,placement:de.placement,"popper-options":de.popperOptions,pure:de.pure,"raw-content":de.rawContent,"reference-el":de.referenceEl,"trigger-target-el":de.triggerTargetEl,"show-after":de.showAfter,strategy:de.strategy,teleported:de.teleported,transition:de.transition,"virtual-triggering":de.virtualTriggering,"z-index":de.zIndex,"append-to":de.appendTo},{default:withCtx(()=>[renderSlot(de.$slots,"content",{},()=>[de.rawContent?(openBlock(),createElementBlock("span",{key:0,innerHTML:de.content},null,8,["innerHTML"])):(openBlock(),createElementBlock("span",{key:1},toDisplayString(de.content),1))]),de.showArrow?(openBlock(),createBlock(unref(ElPopperArrow),{key:0,"arrow-offset":de.arrowOffset},null,8,["arrow-offset"])):createCommentVNode("v-if",!0)]),_:3},8,["aria-label","boundaries-padding","content","disabled","effect","enterable","fallback-placements","hide-after","gpu-acceleration","offset","persistent","popper-class","popper-style","placement","popper-options","pure","raw-content","reference-el","trigger-target-el","show-after","strategy","teleported","transition","virtual-triggering","z-index","append-to"])]),_:3},8,["role"]))}});var Tooltip=_export_sfc(_sfc_main$1q,[["__file","tooltip.vue"]]);const ElTooltip=withInstall(Tooltip),autocompleteProps=buildProps({valueKey:{type:String,default:"value"},modelValue:{type:[String,Number],default:""},debounce:{type:Number,default:300},placement:{type:definePropType(String),values:["top","top-start","top-end","bottom","bottom-start","bottom-end"],default:"bottom-start"},fetchSuggestions:{type:definePropType([Function,Array]),default:NOOP},popperClass:{type:String,default:""},triggerOnFocus:{type:Boolean,default:!0},selectWhenUnmatched:{type:Boolean,default:!1},hideLoading:{type:Boolean,default:!1},teleported:useTooltipContentProps.teleported,highlightFirstItem:{type:Boolean,default:!1},fitInputWidth:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},name:String,...useAriaProps(["ariaLabel"])}),autocompleteEmits={[UPDATE_MODEL_EVENT]:n=>isString$5(n),[INPUT_EVENT]:n=>isString$5(n),[CHANGE_EVENT]:n=>isString$5(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,select:n=>isObject$4(n)},COMPONENT_NAME$a="ElAutocomplete",__default__$M=defineComponent({name:COMPONENT_NAME$a,inheritAttrs:!1}),_sfc_main$1p=defineComponent({...__default__$M,props:autocompleteProps,emits:autocompleteEmits,setup(n,{expose:e,emit:t}){const i=n,r=useAttrs(),g=useAttrs$1(),y=useFormDisabled(),k=useNamespace("autocomplete"),L=ref$1(),V=ref$1(),z=ref$1(),j=ref$1();let ie=!1,oe=!1;const re=ref$1([]),ae=ref$1(-1),le=ref$1(""),de=ref$1(!1),ue=ref$1(!1),he=ref$1(!1),pe=useId(),Ce=computed$1(()=>g.style),$e=computed$1(()=>(re.value.length>0||he.value)&&de.value),xe=computed$1(()=>!i.hideLoading&&he.value),Ie=computed$1(()=>L.value?Array.from(L.value.$el.querySelectorAll("input")):[]),Ne=()=>{$e.value&&(le.value="".concat(L.value.$el.offsetWidth,"px"))},Fe=()=>{ae.value=-1},Ve=async ai=>{if(ue.value)return;const hi=xi=>{he.value=!1,!ue.value&&(isArray$2(xi)?(re.value=xi,ae.value=i.highlightFirstItem?0:-1):throwError(COMPONENT_NAME$a,"autocomplete suggestions must be an array"))};if(he.value=!0,isArray$2(i.fetchSuggestions))hi(i.fetchSuggestions);else{const xi=await i.fetchSuggestions(ai,hi);isArray$2(xi)&&hi(xi)}},Oe=debounce(Ve,i.debounce),ze=ai=>{const hi=!!ai;if(t(INPUT_EVENT,ai),t(UPDATE_MODEL_EVENT,ai),ue.value=!1,de.value||(de.value=hi),!i.triggerOnFocus&&!ai){ue.value=!0,re.value=[];return}Oe(ai)},qe=ai=>{var hi;y.value||(((hi=ai.target)==null?void 0:hi.tagName)!=="INPUT"||Ie.value.includes(document.activeElement))&&(de.value=!0)},Ue=ai=>{t(CHANGE_EVENT,ai)},Et=ai=>{oe?oe=!1:(de.value=!0,t("focus",ai),i.triggerOnFocus&&!ie&&Oe(String(i.modelValue)))},At=ai=>{setTimeout(()=>{var hi;if((hi=z.value)!=null&&hi.isFocusInsideContent()){oe=!0;return}de.value&&jt(),t("blur",ai)})},Lt=()=>{de.value=!1,t(UPDATE_MODEL_EVENT,""),t("clear")},kt=async()=>{$e.value&&ae.value>=0&&ae.value{$e.value&&(ai.preventDefault(),ai.stopPropagation(),jt())},jt=()=>{de.value=!1},ri=()=>{var ai;(ai=L.value)==null||ai.focus()},ni=()=>{var ai;(ai=L.value)==null||ai.blur()},Ci=async ai=>{t(INPUT_EVENT,ai[i.valueKey]),t(UPDATE_MODEL_EVENT,ai[i.valueKey]),t("select",ai),re.value=[],ae.value=-1},wi=ai=>{if(!$e.value||he.value)return;if(ai<0){ae.value=-1;return}ai>=re.value.length&&(ai=re.value.length-1);const hi=V.value.querySelector(".".concat(k.be("suggestion","wrap"))),Oi=hi.querySelectorAll(".".concat(k.be("suggestion","list")," li"))[ai],Ei=hi.scrollTop,{offsetTop:si,scrollHeight:fi}=Oi;si+fi>Ei+hi.clientHeight&&(hi.scrollTop+=fi),si{$e.value&&jt()});return onBeforeUnmount(()=>{Ri==null||Ri()}),onMounted(()=>{L.value.ref.setAttribute("role","textbox"),L.value.ref.setAttribute("aria-autocomplete","list"),L.value.ref.setAttribute("aria-controls","id"),L.value.ref.setAttribute("aria-activedescendant","".concat(pe.value,"-item-").concat(ae.value)),ie=L.value.ref.hasAttribute("readonly")}),e({highlightedIndex:ae,activated:de,loading:he,inputRef:L,popperRef:z,suggestions:re,handleSelect:Ci,handleKeyEnter:kt,focus:ri,blur:ni,close:jt,highlight:wi,getData:Ve}),(ai,hi)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popperRef",ref:z,visible:unref($e),placement:ai.placement,"fallback-placements":["bottom-start","top-start"],"popper-class":[unref(k).e("popper"),ai.popperClass],teleported:ai.teleported,"gpu-acceleration":!1,pure:"","manual-mode":"",effect:"light",trigger:"click",transition:"".concat(unref(k).namespace.value,"-zoom-in-top"),persistent:"",role:"listbox",onBeforeShow:Ne,onHide:Fe},{content:withCtx(()=>[createBaseVNode("div",{ref_key:"regionRef",ref:V,class:normalizeClass([unref(k).b("suggestion"),unref(k).is("loading",unref(xe))]),style:normalizeStyle({[ai.fitInputWidth?"width":"minWidth"]:le.value,outline:"none"}),role:"region"},[createVNode(unref(ElScrollbar),{id:unref(pe),tag:"ul","wrap-class":unref(k).be("suggestion","wrap"),"view-class":unref(k).be("suggestion","list"),role:"listbox"},{default:withCtx(()=>[unref(xe)?(openBlock(),createElementBlock("li",{key:0},[renderSlot(ai.$slots,"loading",{},()=>[createVNode(unref(ElIcon),{class:normalizeClass(unref(k).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])])])):(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(re.value,(xi,Oi)=>(openBlock(),createElementBlock("li",{id:"".concat(unref(pe),"-item-").concat(Oi),key:Oi,class:normalizeClass({highlighted:ae.value===Oi}),role:"option","aria-selected":ae.value===Oi,onClick:Ei=>Ci(xi)},[renderSlot(ai.$slots,"default",{item:xi},()=>[createTextVNode(toDisplayString(xi[ai.valueKey]),1)])],10,["id","aria-selected","onClick"]))),128))]),_:3},8,["id","wrap-class","view-class"])],6)]),default:withCtx(()=>[createBaseVNode("div",{ref_key:"listboxRef",ref:j,class:normalizeClass([unref(k).b(),ai.$attrs.class]),style:normalizeStyle(unref(Ce)),role:"combobox","aria-haspopup":"listbox","aria-expanded":unref($e),"aria-owns":unref(pe)},[createVNode(unref(ElInput),mergeProps({ref_key:"inputRef",ref:L},unref(r),{clearable:ai.clearable,disabled:unref(y),name:ai.name,"model-value":ai.modelValue,"aria-label":ai.ariaLabel,onInput:ze,onChange:Ue,onFocus:Et,onBlur:At,onClear:Lt,onKeydown:[withKeys(withModifiers(xi=>wi(ae.value-1),["prevent"]),["up"]),withKeys(withModifiers(xi=>wi(ae.value+1),["prevent"]),["down"]),withKeys(kt,["enter"]),withKeys(jt,["tab"]),withKeys(ei,["esc"])],onMousedown:qe}),createSlots({_:2},[ai.$slots.prepend?{name:"prepend",fn:withCtx(()=>[renderSlot(ai.$slots,"prepend")])}:void 0,ai.$slots.append?{name:"append",fn:withCtx(()=>[renderSlot(ai.$slots,"append")])}:void 0,ai.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(ai.$slots,"prefix")])}:void 0,ai.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(ai.$slots,"suffix")])}:void 0]),1040,["clearable","disabled","name","model-value","aria-label","onKeydown"])],14,["aria-expanded","aria-owns"])]),_:3},8,["visible","placement","popper-class","teleported","transition"]))}});var Autocomplete=_export_sfc(_sfc_main$1p,[["__file","autocomplete.vue"]]);const ElAutocomplete=withInstall(Autocomplete),badgeProps=buildProps({value:{type:[String,Number],default:""},max:{type:Number,default:99},isDot:Boolean,hidden:Boolean,type:{type:String,values:["primary","success","warning","info","danger"],default:"danger"},showZero:{type:Boolean,default:!0},color:String,badgeStyle:{type:definePropType([String,Object,Array])},offset:{type:definePropType(Array),default:[0,0]},badgeClass:{type:String}}),__default__$L=defineComponent({name:"ElBadge"}),_sfc_main$1o=defineComponent({...__default__$L,props:badgeProps,setup(n,{expose:e}){const t=n,i=useNamespace("badge"),r=computed$1(()=>t.isDot?"":isNumber(t.value)&&isNumber(t.max)&&t.max{var y,k,L,V,z;return[{backgroundColor:t.color,marginRight:addUnit(-((k=(y=t.offset)==null?void 0:y[0])!=null?k:0)),marginTop:addUnit((V=(L=t.offset)==null?void 0:L[1])!=null?V:0)},(z=t.badgeStyle)!=null?z:{}]});return e({content:r}),(y,k)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(i).b())},[renderSlot(y.$slots,"default"),createVNode(Transition,{name:"".concat(unref(i).namespace.value,"-zoom-in-center"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("sup",{class:normalizeClass([unref(i).e("content"),unref(i).em("content",y.type),unref(i).is("fixed",!!y.$slots.default),unref(i).is("dot",y.isDot),unref(i).is("hide-zero",!y.showZero&&t.value===0),y.badgeClass]),style:normalizeStyle(unref(g))},[renderSlot(y.$slots,"content",{value:unref(r)},()=>[createTextVNode(toDisplayString(unref(r)),1)])],6),[[vShow,!y.hidden&&(unref(r)||y.isDot||y.$slots.content)]])]),_:3},8,["name"])],2))}});var Badge=_export_sfc(_sfc_main$1o,[["__file","badge.vue"]]);const ElBadge=withInstall(Badge),buttonGroupContextKey=Symbol("buttonGroupContextKey"),useDeprecated=({from:n,replacement:e,scope:t,version:i,ref:r,type:g="API"},y)=>{watch(()=>unref(y),k=>{},{immediate:!0})},useButton=(n,e)=>{useDeprecated({from:"type.text",replacement:"link",version:"3.0.0",scope:"props",ref:"https://element-plus.org/en-US/component/button.html#button-attributes"},computed$1(()=>n.type==="text"));const t=inject(buttonGroupContextKey,void 0),i=useGlobalConfig("button"),{form:r}=useFormItem(),g=useFormSize(computed$1(()=>t==null?void 0:t.size)),y=useFormDisabled(),k=ref$1(),L=useSlots(),V=computed$1(()=>n.type||(t==null?void 0:t.type)||""),z=computed$1(()=>{var re,ae,le;return(le=(ae=n.autoInsertSpace)!=null?ae:(re=i.value)==null?void 0:re.autoInsertSpace)!=null?le:!1}),j=computed$1(()=>n.tag==="button"?{ariaDisabled:y.value||n.loading,disabled:y.value||n.loading,autofocus:n.autofocus,type:n.nativeType}:{}),ie=computed$1(()=>{var re;const ae=(re=L.default)==null?void 0:re.call(L);if(z.value&&(ae==null?void 0:ae.length)===1){const le=ae[0];if((le==null?void 0:le.type)===Text$2){const de=le.children;return new RegExp("^\\p{Unified_Ideograph}{2}$","u").test(de.trim())}}return!1});return{_disabled:y,_size:g,_type:V,_ref:k,_props:j,shouldAddSpace:ie,handleClick:re=>{if(y.value||n.loading){re.stopPropagation();return}n.nativeType==="reset"&&(r==null||r.resetFields()),e("click",re)}}},buttonTypes=["default","primary","success","warning","info","danger","text",""],buttonNativeTypes=["button","submit","reset"],buttonProps=buildProps({size:useSizeProp,disabled:Boolean,type:{type:String,values:buttonTypes,default:""},icon:{type:iconPropType},nativeType:{type:String,values:buttonNativeTypes,default:"button"},loading:Boolean,loadingIcon:{type:iconPropType,default:()=>loading_default},plain:Boolean,text:Boolean,link:Boolean,bg:Boolean,autofocus:Boolean,round:Boolean,circle:Boolean,color:String,dark:Boolean,autoInsertSpace:{type:Boolean,default:void 0},tag:{type:definePropType([String,Object]),default:"button"}}),buttonEmits={click:n=>n instanceof MouseEvent};function darken(n,e=20){return n.mix("#141414",e).toString()}function useButtonCustomStyle(n){const e=useFormDisabled(),t=useNamespace("button");return computed$1(()=>{let i={},r=n.color;if(r){const g=r.match(/var\((.*?)\)/);g&&(r=window.getComputedStyle(window.document.documentElement).getPropertyValue(g[1]));const y=new TinyColor(r),k=n.dark?y.tint(20).toString():darken(y,20);if(n.plain)i=t.cssVarBlock({"bg-color":n.dark?darken(y,90):y.tint(90).toString(),"text-color":r,"border-color":n.dark?darken(y,50):y.tint(50).toString(),"hover-text-color":"var(".concat(t.cssVarName("color-white"),")"),"hover-bg-color":r,"hover-border-color":r,"active-bg-color":k,"active-text-color":"var(".concat(t.cssVarName("color-white"),")"),"active-border-color":k}),e.value&&(i[t.cssVarBlockName("disabled-bg-color")]=n.dark?darken(y,90):y.tint(90).toString(),i[t.cssVarBlockName("disabled-text-color")]=n.dark?darken(y,50):y.tint(50).toString(),i[t.cssVarBlockName("disabled-border-color")]=n.dark?darken(y,80):y.tint(80).toString());else{const L=n.dark?darken(y,30):y.tint(30).toString(),V=y.isDark()?"var(".concat(t.cssVarName("color-white"),")"):"var(".concat(t.cssVarName("color-black"),")");if(i=t.cssVarBlock({"bg-color":r,"text-color":V,"border-color":r,"hover-bg-color":L,"hover-text-color":V,"hover-border-color":L,"active-bg-color":k,"active-border-color":k}),e.value){const z=n.dark?darken(y,50):y.tint(50).toString();i[t.cssVarBlockName("disabled-bg-color")]=z,i[t.cssVarBlockName("disabled-text-color")]=n.dark?"rgba(255, 255, 255, 0.5)":"var(".concat(t.cssVarName("color-white"),")"),i[t.cssVarBlockName("disabled-border-color")]=z}}}return i})}const __default__$K=defineComponent({name:"ElButton"}),_sfc_main$1n=defineComponent({...__default__$K,props:buttonProps,emits:buttonEmits,setup(n,{expose:e,emit:t}){const i=n,r=useButtonCustomStyle(i),g=useNamespace("button"),{_ref:y,_size:k,_type:L,_disabled:V,_props:z,shouldAddSpace:j,handleClick:ie}=useButton(i,t),oe=computed$1(()=>[g.b(),g.m(L.value),g.m(k.value),g.is("disabled",V.value),g.is("loading",i.loading),g.is("plain",i.plain),g.is("round",i.round),g.is("circle",i.circle),g.is("text",i.text),g.is("link",i.link),g.is("has-bg",i.bg)]);return e({ref:y,size:k,type:L,disabled:V,shouldAddSpace:j}),(re,ae)=>(openBlock(),createBlock(resolveDynamicComponent(re.tag),mergeProps({ref_key:"_ref",ref:y},unref(z),{class:unref(oe),style:unref(r),onClick:unref(ie)}),{default:withCtx(()=>[re.loading?(openBlock(),createElementBlock(Fragment,{key:0},[re.$slots.loading?renderSlot(re.$slots,"loading",{key:0}):(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass(unref(g).is("loading"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(re.loadingIcon)))]),_:1},8,["class"]))],64)):re.icon||re.$slots.icon?(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[re.icon?(openBlock(),createBlock(resolveDynamicComponent(re.icon),{key:0})):renderSlot(re.$slots,"icon",{key:1})]),_:3})):createCommentVNode("v-if",!0),re.$slots.default?(openBlock(),createElementBlock("span",{key:2,class:normalizeClass({[unref(g).em("text","expand")]:unref(j)})},[renderSlot(re.$slots,"default")],2)):createCommentVNode("v-if",!0)]),_:3},16,["class","style","onClick"]))}});var Button=_export_sfc(_sfc_main$1n,[["__file","button.vue"]]);const buttonGroupProps={size:buttonProps.size,type:buttonProps.type},__default__$J=defineComponent({name:"ElButtonGroup"}),_sfc_main$1m=defineComponent({...__default__$J,props:buttonGroupProps,setup(n){const e=n;provide(buttonGroupContextKey,reactive$1({size:toRef(e,"size"),type:toRef(e,"type")}));const t=useNamespace("button");return(i,r)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(t).b("group"))},[renderSlot(i.$slots,"default")],2))}});var ButtonGroup=_export_sfc(_sfc_main$1m,[["__file","button-group.vue"]]);const ElButton=withInstall(Button,{ButtonGroup});withNoopInstall(ButtonGroup);const buildTimeList=(n,e)=>[n>0?n-1:void 0,n,nArray.from(Array.from({length:n}).keys()),extractDateFormat=n=>n.replace(/\W?m{1,2}|\W?ZZ/g,"").replace(/\W?h{1,2}|\W?s{1,3}|\W?a/gi,"").trim(),extractTimeFormat=n=>n.replace(/\W?D{1,2}|\W?Do|\W?d{1,4}|\W?M{1,4}|\W?Y{2,4}/g,"").trim(),dateEquals=function(n,e){const t=isDate$1(n),i=isDate$1(e);return t&&i?n.getTime()===e.getTime():!t&&!i?n===e:!1},valueEquals=function(n,e){const t=isArray$2(n),i=isArray$2(e);return t&&i?n.length!==e.length?!1:n.every((r,g)=>dateEquals(r,e[g])):!t&&!i?dateEquals(n,e):!1},parseDate=function(n,e,t){const i=isEmpty(e)||e==="x"?dayjs(n).locale(t):dayjs(n,e).locale(t);return i.isValid()?i:void 0},formatter=function(n,e,t){return isEmpty(e)?n:e==="x"?+n:dayjs(n).locale(t).format(e)},makeList=(n,e)=>{var t;const i=[],r=e==null?void 0:e();for(let g=0;gisArray$2(n)?n.map(e=>e.toDate()):n.toDate(),datePickTypes=["year","years","month","months","date","dates","week","datetime","datetimerange","daterange","monthrange","yearrange"],cardProps=buildProps({header:{type:String,default:""},footer:{type:String,default:""},bodyStyle:{type:definePropType([String,Object,Array]),default:""},bodyClass:String,shadow:{type:String,values:["always","hover","never"],default:"always"}}),__default__$I=defineComponent({name:"ElCard"}),_sfc_main$1l=defineComponent({...__default__$I,props:cardProps,setup(n){const e=useNamespace("card");return(t,i)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(e).b(),unref(e).is("".concat(t.shadow,"-shadow"))])},[t.$slots.header||t.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(e).e("header"))},[renderSlot(t.$slots,"header",{},()=>[createTextVNode(toDisplayString(t.header),1)])],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([unref(e).e("body"),t.bodyClass]),style:normalizeStyle(t.bodyStyle)},[renderSlot(t.$slots,"default")],6),t.$slots.footer||t.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(e).e("footer"))},[renderSlot(t.$slots,"footer",{},()=>[createTextVNode(toDisplayString(t.footer),1)])],2)):createCommentVNode("v-if",!0)],2))}});var Card=_export_sfc(_sfc_main$1l,[["__file","card.vue"]]);const ElCard=withInstall(Card);var PatchFlags=(n=>(n[n.TEXT=1]="TEXT",n[n.CLASS=2]="CLASS",n[n.STYLE=4]="STYLE",n[n.PROPS=8]="PROPS",n[n.FULL_PROPS=16]="FULL_PROPS",n[n.HYDRATE_EVENTS=32]="HYDRATE_EVENTS",n[n.STABLE_FRAGMENT=64]="STABLE_FRAGMENT",n[n.KEYED_FRAGMENT=128]="KEYED_FRAGMENT",n[n.UNKEYED_FRAGMENT=256]="UNKEYED_FRAGMENT",n[n.NEED_PATCH=512]="NEED_PATCH",n[n.DYNAMIC_SLOTS=1024]="DYNAMIC_SLOTS",n[n.HOISTED=-1]="HOISTED",n[n.BAIL=-2]="BAIL",n))(PatchFlags||{});const flattedChildren=n=>{const e=isArray$2(n)?n:[n],t=[];return e.forEach(i=>{var r;isArray$2(i)?t.push(...flattedChildren(i)):isVNode(i)&&((r=i.component)!=null&&r.subTree)?t.push(i,...flattedChildren(i.component.subTree)):isVNode(i)&&isArray$2(i.children)?t.push(...flattedChildren(i.children)):t.push(i)}),t},getOrderedChildren=(n,e,t)=>flattedChildren(n.subTree).filter(g=>{var y;return isVNode(g)&&((y=g.type)==null?void 0:y.name)===e&&!!g.component}).map(g=>g.component.uid).map(g=>t[g]).filter(g=>!!g),useOrderedChildren=(n,e)=>{const t={},i=shallowRef([]);return{children:i,addChild:y=>{t[y.uid]=y,i.value=getOrderedChildren(n,e,t)},removeChild:y=>{delete t[y],i.value=i.value.filter(k=>k.uid!==y)}}},checkboxProps={modelValue:{type:[Number,String,Boolean],default:void 0},label:{type:[String,Boolean,Number,Object],default:void 0},value:{type:[String,Boolean,Number,Object],default:void 0},indeterminate:Boolean,disabled:Boolean,checked:Boolean,name:{type:String,default:void 0},trueValue:{type:[String,Number],default:void 0},falseValue:{type:[String,Number],default:void 0},trueLabel:{type:[String,Number],default:void 0},falseLabel:{type:[String,Number],default:void 0},id:{type:String,default:void 0},border:Boolean,size:useSizeProp,tabindex:[String,Number],validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaControls"])},checkboxEmits={[UPDATE_MODEL_EVENT]:n=>isString$5(n)||isNumber(n)||isBoolean(n),change:n=>isString$5(n)||isNumber(n)||isBoolean(n)},checkboxGroupContextKey=Symbol("checkboxGroupContextKey"),useCheckboxDisabled=({model:n,isChecked:e})=>{const t=inject(checkboxGroupContextKey,void 0),i=computed$1(()=>{var g,y;const k=(g=t==null?void 0:t.max)==null?void 0:g.value,L=(y=t==null?void 0:t.min)==null?void 0:y.value;return!isUndefined(k)&&n.value.length>=k&&!e.value||!isUndefined(L)&&n.value.length<=L&&e.value});return{isDisabled:useFormDisabled(computed$1(()=>(t==null?void 0:t.disabled.value)||i.value)),isLimitDisabled:i}},useCheckboxEvent=(n,{model:e,isLimitExceeded:t,hasOwnLabel:i,isDisabled:r,isLabeledByFormItem:g})=>{const y=inject(checkboxGroupContextKey,void 0),{formItem:k}=useFormItem(),{emit:L}=getCurrentInstance$1();function V(re){var ae,le,de,ue;return[!0,n.trueValue,n.trueLabel].includes(re)?(le=(ae=n.trueValue)!=null?ae:n.trueLabel)!=null?le:!0:(ue=(de=n.falseValue)!=null?de:n.falseLabel)!=null?ue:!1}function z(re,ae){L("change",V(re),ae)}function j(re){if(t.value)return;const ae=re.target;L("change",V(ae.checked),re)}async function ie(re){t.value||!i.value&&!r.value&&g.value&&(re.composedPath().some(de=>de.tagName==="LABEL")||(e.value=V([!1,n.falseValue,n.falseLabel].includes(e.value)),await nextTick(),z(e.value,re)))}const oe=computed$1(()=>(y==null?void 0:y.validateEvent)||n.validateEvent);return watch(()=>n.modelValue,()=>{oe.value&&(k==null||k.validate("change").catch(re=>void 0))}),{handleChange:j,onClickRoot:ie}},useCheckboxModel=n=>{const e=ref$1(!1),{emit:t}=getCurrentInstance$1(),i=inject(checkboxGroupContextKey,void 0),r=computed$1(()=>isUndefined(i)===!1),g=ref$1(!1),y=computed$1({get(){var k,L;return r.value?(k=i==null?void 0:i.modelValue)==null?void 0:k.value:(L=n.modelValue)!=null?L:e.value},set(k){var L,V;r.value&&isArray$2(k)?(g.value=((L=i==null?void 0:i.max)==null?void 0:L.value)!==void 0&&k.length>(i==null?void 0:i.max.value)&&k.length>y.value.length,g.value===!1&&((V=i==null?void 0:i.changeEvent)==null||V.call(i,k))):(t(UPDATE_MODEL_EVENT,k),e.value=k)}});return{model:y,isGroup:r,isLimitExceeded:g}},useCheckboxStatus=(n,e,{model:t})=>{const i=inject(checkboxGroupContextKey,void 0),r=ref$1(!1),g=computed$1(()=>isPropAbsent(n.value)?n.label:n.value),y=computed$1(()=>{const z=t.value;return isBoolean(z)?z:isArray$2(z)?isObject$4(g.value)?z.map(toRaw).some(j=>isEqual$1(j,g.value)):z.map(toRaw).includes(g.value):z!=null?z===n.trueValue||z===n.trueLabel:!!z}),k=useFormSize(computed$1(()=>{var z;return(z=i==null?void 0:i.size)==null?void 0:z.value}),{prop:!0}),L=useFormSize(computed$1(()=>{var z;return(z=i==null?void 0:i.size)==null?void 0:z.value})),V=computed$1(()=>!!e.default||!isPropAbsent(g.value));return{checkboxButtonSize:k,isChecked:y,isFocused:r,checkboxSize:L,hasOwnLabel:V,actualValue:g}},useCheckbox=(n,e)=>{const{formItem:t}=useFormItem(),{model:i,isGroup:r,isLimitExceeded:g}=useCheckboxModel(n),{isFocused:y,isChecked:k,checkboxButtonSize:L,checkboxSize:V,hasOwnLabel:z,actualValue:j}=useCheckboxStatus(n,e,{model:i}),{isDisabled:ie}=useCheckboxDisabled({model:i,isChecked:k}),{inputId:oe,isLabeledByFormItem:re}=useFormItemInputId(n,{formItemContext:t,disableIdGeneration:z,disableIdManagement:r}),{handleChange:ae,onClickRoot:le}=useCheckboxEvent(n,{model:i,isLimitExceeded:g,hasOwnLabel:z,isDisabled:ie,isLabeledByFormItem:re});return(()=>{function ue(){var he,pe;isArray$2(i.value)&&!i.value.includes(j.value)?i.value.push(j.value):i.value=(pe=(he=n.trueValue)!=null?he:n.trueLabel)!=null?pe:!0}n.checked&&ue()})(),useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>r.value&&isPropAbsent(n.value))),useDeprecated({from:"true-label",replacement:"true-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>!!n.trueLabel)),useDeprecated({from:"false-label",replacement:"false-value",version:"3.0.0",scope:"el-checkbox",ref:"https://element-plus.org/en-US/component/checkbox.html"},computed$1(()=>!!n.falseLabel)),{inputId:oe,isLabeledByFormItem:re,isChecked:k,isDisabled:ie,isFocused:y,checkboxButtonSize:L,checkboxSize:V,hasOwnLabel:z,model:i,actualValue:j,handleChange:ae,onClickRoot:le}},__default__$H=defineComponent({name:"ElCheckbox"}),_sfc_main$1k=defineComponent({...__default__$H,props:checkboxProps,emits:checkboxEmits,setup(n){const e=n,t=useSlots(),{inputId:i,isLabeledByFormItem:r,isChecked:g,isDisabled:y,isFocused:k,checkboxSize:L,hasOwnLabel:V,model:z,actualValue:j,handleChange:ie,onClickRoot:oe}=useCheckbox(e,t),re=useNamespace("checkbox"),ae=computed$1(()=>[re.b(),re.m(L.value),re.is("disabled",y.value),re.is("bordered",e.border),re.is("checked",g.value)]),le=computed$1(()=>[re.e("input"),re.is("disabled",y.value),re.is("checked",g.value),re.is("indeterminate",e.indeterminate),re.is("focus",k.value)]);return(de,ue)=>(openBlock(),createBlock(resolveDynamicComponent(!unref(V)&&unref(r)?"span":"label"),{class:normalizeClass(unref(ae)),"aria-controls":de.indeterminate?de.ariaControls:null,onClick:unref(oe)},{default:withCtx(()=>{var he,pe,Ce,$e;return[createBaseVNode("span",{class:normalizeClass(unref(le))},[de.trueValue||de.falseValue||de.trueLabel||de.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,id:unref(i),"onUpdate:modelValue":xe=>isRef(z)?z.value=xe:null,class:normalizeClass(unref(re).e("original")),type:"checkbox",indeterminate:de.indeterminate,name:de.name,tabindex:de.tabindex,disabled:unref(y),"true-value":(pe=(he=de.trueValue)!=null?he:de.trueLabel)!=null?pe:!0,"false-value":($e=(Ce=de.falseValue)!=null?Ce:de.falseLabel)!=null?$e:!1,onChange:unref(ie),onFocus:xe=>k.value=!0,onBlur:xe=>k.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(z)]]):withDirectives((openBlock(),createElementBlock("input",{key:1,id:unref(i),"onUpdate:modelValue":xe=>isRef(z)?z.value=xe:null,class:normalizeClass(unref(re).e("original")),type:"checkbox",indeterminate:de.indeterminate,disabled:unref(y),value:unref(j),name:de.name,tabindex:de.tabindex,onChange:unref(ie),onFocus:xe=>k.value=!0,onBlur:xe=>k.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["id","onUpdate:modelValue","indeterminate","disabled","value","name","tabindex","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(z)]]),createBaseVNode("span",{class:normalizeClass(unref(re).e("inner"))},null,2)],2),unref(V)?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(re).e("label"))},[renderSlot(de.$slots,"default"),de.$slots.default?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(de.label),1)],64))],2)):createCommentVNode("v-if",!0)]}),_:3},8,["class","aria-controls","onClick"]))}});var Checkbox=_export_sfc(_sfc_main$1k,[["__file","checkbox.vue"]]);const __default__$G=defineComponent({name:"ElCheckboxButton"}),_sfc_main$1j=defineComponent({...__default__$G,props:checkboxProps,emits:checkboxEmits,setup(n){const e=n,t=useSlots(),{isFocused:i,isChecked:r,isDisabled:g,checkboxButtonSize:y,model:k,actualValue:L,handleChange:V}=useCheckbox(e,t),z=inject(checkboxGroupContextKey,void 0),j=useNamespace("checkbox"),ie=computed$1(()=>{var re,ae,le,de;const ue=(ae=(re=z==null?void 0:z.fill)==null?void 0:re.value)!=null?ae:"";return{backgroundColor:ue,borderColor:ue,color:(de=(le=z==null?void 0:z.textColor)==null?void 0:le.value)!=null?de:"",boxShadow:ue?"-1px 0 0 0 ".concat(ue):void 0}}),oe=computed$1(()=>[j.b("button"),j.bm("button",y.value),j.is("disabled",g.value),j.is("checked",r.value),j.is("focus",i.value)]);return(re,ae)=>{var le,de,ue,he;return openBlock(),createElementBlock("label",{class:normalizeClass(unref(oe))},[re.trueValue||re.falseValue||re.trueLabel||re.falseLabel?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":pe=>isRef(k)?k.value=pe:null,class:normalizeClass(unref(j).be("button","original")),type:"checkbox",name:re.name,tabindex:re.tabindex,disabled:unref(g),"true-value":(de=(le=re.trueValue)!=null?le:re.trueLabel)!=null?de:!0,"false-value":(he=(ue=re.falseValue)!=null?ue:re.falseLabel)!=null?he:!1,onChange:unref(V),onFocus:pe=>i.value=!0,onBlur:pe=>i.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","true-value","false-value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(k)]]):withDirectives((openBlock(),createElementBlock("input",{key:1,"onUpdate:modelValue":pe=>isRef(k)?k.value=pe:null,class:normalizeClass(unref(j).be("button","original")),type:"checkbox",name:re.name,tabindex:re.tabindex,disabled:unref(g),value:unref(L),onChange:unref(V),onFocus:pe=>i.value=!0,onBlur:pe=>i.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","name","tabindex","disabled","value","onChange","onFocus","onBlur","onClick"])),[[vModelCheckbox,unref(k)]]),re.$slots.default||re.label?(openBlock(),createElementBlock("span",{key:2,class:normalizeClass(unref(j).be("button","inner")),style:normalizeStyle(unref(r)?unref(ie):void 0)},[renderSlot(re.$slots,"default",{},()=>[createTextVNode(toDisplayString(re.label),1)])],6)):createCommentVNode("v-if",!0)],2)}}});var CheckboxButton=_export_sfc(_sfc_main$1j,[["__file","checkbox-button.vue"]]);const checkboxGroupProps=buildProps({modelValue:{type:definePropType(Array),default:()=>[]},disabled:Boolean,min:Number,max:Number,size:useSizeProp,fill:String,textColor:String,tag:{type:String,default:"div"},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),checkboxGroupEmits={[UPDATE_MODEL_EVENT]:n=>isArray$2(n),change:n=>isArray$2(n)},__default__$F=defineComponent({name:"ElCheckboxGroup"}),_sfc_main$1i=defineComponent({...__default__$F,props:checkboxGroupProps,emits:checkboxGroupEmits,setup(n,{emit:e}){const t=n,i=useNamespace("checkbox"),{formItem:r}=useFormItem(),{inputId:g,isLabeledByFormItem:y}=useFormItemInputId(t,{formItemContext:r}),k=async V=>{e(UPDATE_MODEL_EVENT,V),await nextTick(),e("change",V)},L=computed$1({get(){return t.modelValue},set(V){k(V)}});return provide(checkboxGroupContextKey,{...pick(toRefs(t),["size","min","max","disabled","validateEvent","fill","textColor"]),modelValue:L,changeEvent:k}),watch(()=>t.modelValue,()=>{t.validateEvent&&(r==null||r.validate("change").catch(V=>void 0))}),(V,z)=>{var j;return openBlock(),createBlock(resolveDynamicComponent(V.tag),{id:unref(g),class:normalizeClass(unref(i).b("group")),role:"group","aria-label":unref(y)?void 0:V.ariaLabel||"checkbox-group","aria-labelledby":unref(y)?(j=unref(r))==null?void 0:j.labelId:void 0},{default:withCtx(()=>[renderSlot(V.$slots,"default")]),_:3},8,["id","class","aria-label","aria-labelledby"])}}});var CheckboxGroup=_export_sfc(_sfc_main$1i,[["__file","checkbox-group.vue"]]);const ElCheckbox=withInstall(Checkbox,{CheckboxButton,CheckboxGroup});withNoopInstall(CheckboxButton);const ElCheckboxGroup$1=withNoopInstall(CheckboxGroup),radioPropsBase=buildProps({modelValue:{type:[String,Number,Boolean],default:void 0},size:useSizeProp,disabled:Boolean,label:{type:[String,Number,Boolean],default:void 0},value:{type:[String,Number,Boolean],default:void 0},name:{type:String,default:void 0}}),radioProps=buildProps({...radioPropsBase,border:Boolean}),radioEmits={[UPDATE_MODEL_EVENT]:n=>isString$5(n)||isNumber(n)||isBoolean(n),[CHANGE_EVENT]:n=>isString$5(n)||isNumber(n)||isBoolean(n)},radioGroupKey=Symbol("radioGroupKey"),useRadio=(n,e)=>{const t=ref$1(),i=inject(radioGroupKey,void 0),r=computed$1(()=>!!i),g=computed$1(()=>isPropAbsent(n.value)?n.label:n.value),y=computed$1({get(){return r.value?i.modelValue:n.modelValue},set(j){r.value?i.changeEvent(j):e&&e(UPDATE_MODEL_EVENT,j),t.value.checked=n.modelValue===g.value}}),k=useFormSize(computed$1(()=>i==null?void 0:i.size)),L=useFormDisabled(computed$1(()=>i==null?void 0:i.disabled)),V=ref$1(!1),z=computed$1(()=>L.value||r.value&&y.value!==g.value?-1:0);return useDeprecated({from:"label act as value",replacement:"value",version:"3.0.0",scope:"el-radio",ref:"https://element-plus.org/en-US/component/radio.html"},computed$1(()=>r.value&&isPropAbsent(n.value))),{radioRef:t,isGroup:r,radioGroup:i,focus:V,size:k,disabled:L,tabIndex:z,modelValue:y,actualValue:g}},__default__$E=defineComponent({name:"ElRadio"}),_sfc_main$1h=defineComponent({...__default__$E,props:radioProps,emits:radioEmits,setup(n,{emit:e}){const t=n,i=useNamespace("radio"),{radioRef:r,radioGroup:g,focus:y,size:k,disabled:L,modelValue:V,actualValue:z}=useRadio(t,e);function j(){nextTick(()=>e("change",V.value))}return(ie,oe)=>{var re;return openBlock(),createElementBlock("label",{class:normalizeClass([unref(i).b(),unref(i).is("disabled",unref(L)),unref(i).is("focus",unref(y)),unref(i).is("bordered",ie.border),unref(i).is("checked",unref(V)===unref(z)),unref(i).m(unref(k))])},[createBaseVNode("span",{class:normalizeClass([unref(i).e("input"),unref(i).is("disabled",unref(L)),unref(i).is("checked",unref(V)===unref(z))])},[withDirectives(createBaseVNode("input",{ref_key:"radioRef",ref:r,"onUpdate:modelValue":ae=>isRef(V)?V.value=ae:null,class:normalizeClass(unref(i).e("original")),value:unref(z),name:ie.name||((re=unref(g))==null?void 0:re.name),disabled:unref(L),checked:unref(V)===unref(z),type:"radio",onFocus:ae=>y.value=!0,onBlur:ae=>y.value=!1,onChange:j,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","checked","onFocus","onBlur","onClick"]),[[vModelRadio,unref(V)]]),createBaseVNode("span",{class:normalizeClass(unref(i).e("inner"))},null,2)],2),createBaseVNode("span",{class:normalizeClass(unref(i).e("label")),onKeydown:withModifiers(()=>{},["stop"])},[renderSlot(ie.$slots,"default",{},()=>[createTextVNode(toDisplayString(ie.label),1)])],42,["onKeydown"])],2)}}});var Radio=_export_sfc(_sfc_main$1h,[["__file","radio.vue"]]);const radioButtonProps=buildProps({...radioPropsBase}),__default__$D=defineComponent({name:"ElRadioButton"}),_sfc_main$1g=defineComponent({...__default__$D,props:radioButtonProps,setup(n){const e=n,t=useNamespace("radio"),{radioRef:i,focus:r,size:g,disabled:y,modelValue:k,radioGroup:L,actualValue:V}=useRadio(e),z=computed$1(()=>({backgroundColor:(L==null?void 0:L.fill)||"",borderColor:(L==null?void 0:L.fill)||"",boxShadow:L!=null&&L.fill?"-1px 0 0 0 ".concat(L.fill):"",color:(L==null?void 0:L.textColor)||""}));return(j,ie)=>{var oe;return openBlock(),createElementBlock("label",{class:normalizeClass([unref(t).b("button"),unref(t).is("active",unref(k)===unref(V)),unref(t).is("disabled",unref(y)),unref(t).is("focus",unref(r)),unref(t).bm("button",unref(g))])},[withDirectives(createBaseVNode("input",{ref_key:"radioRef",ref:i,"onUpdate:modelValue":re=>isRef(k)?k.value=re:null,class:normalizeClass(unref(t).be("button","original-radio")),value:unref(V),type:"radio",name:j.name||((oe=unref(L))==null?void 0:oe.name),disabled:unref(y),onFocus:re=>r.value=!0,onBlur:re=>r.value=!1,onClick:withModifiers(()=>{},["stop"])},null,42,["onUpdate:modelValue","value","name","disabled","onFocus","onBlur","onClick"]),[[vModelRadio,unref(k)]]),createBaseVNode("span",{class:normalizeClass(unref(t).be("button","inner")),style:normalizeStyle(unref(k)===unref(V)?unref(z):{}),onKeydown:withModifiers(()=>{},["stop"])},[renderSlot(j.$slots,"default",{},()=>[createTextVNode(toDisplayString(j.label),1)])],46,["onKeydown"])],2)}}});var RadioButton=_export_sfc(_sfc_main$1g,[["__file","radio-button.vue"]]);const radioGroupProps=buildProps({id:{type:String,default:void 0},size:useSizeProp,disabled:Boolean,modelValue:{type:[String,Number,Boolean],default:void 0},fill:{type:String,default:""},textColor:{type:String,default:""},name:{type:String,default:void 0},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),radioGroupEmits=radioEmits,__default__$C=defineComponent({name:"ElRadioGroup"}),_sfc_main$1f=defineComponent({...__default__$C,props:radioGroupProps,emits:radioGroupEmits,setup(n,{emit:e}){const t=n,i=useNamespace("radio"),r=useId(),g=ref$1(),{formItem:y}=useFormItem(),{inputId:k,isLabeledByFormItem:L}=useFormItemInputId(t,{formItemContext:y}),V=j=>{e(UPDATE_MODEL_EVENT,j),nextTick(()=>e("change",j))};onMounted(()=>{const j=g.value.querySelectorAll("[type=radio]"),ie=j[0];!Array.from(j).some(oe=>oe.checked)&&ie&&(ie.tabIndex=0)});const z=computed$1(()=>t.name||r.value);return provide(radioGroupKey,reactive$1({...toRefs(t),changeEvent:V,name:z})),watch(()=>t.modelValue,()=>{t.validateEvent&&(y==null||y.validate("change").catch(j=>void 0))}),(j,ie)=>(openBlock(),createElementBlock("div",{id:unref(k),ref_key:"radioGroupRef",ref:g,class:normalizeClass(unref(i).b("group")),role:"radiogroup","aria-label":unref(L)?void 0:j.ariaLabel||"radio-group","aria-labelledby":unref(L)?unref(y).labelId:void 0},[renderSlot(j.$slots,"default")],10,["id","aria-label","aria-labelledby"]))}});var RadioGroup=_export_sfc(_sfc_main$1f,[["__file","radio-group.vue"]]);const ElRadio=withInstall(Radio,{RadioButton,RadioGroup}),ElRadioGroup=withNoopInstall(RadioGroup),ElRadioButton=withNoopInstall(RadioButton);var NodeContent$1=defineComponent({name:"NodeContent",setup(){return{ns:useNamespace("cascader-node")}},render(){const{ns:n}=this,{node:e,panel:t}=this.$parent,{data:i,label:r}=e,{renderLabelFn:g}=t;return h$3("span",{class:n.e("label")},g?g({node:e,data:i}):r)}});const CASCADER_PANEL_INJECTION_KEY=Symbol(),_sfc_main$1e=defineComponent({name:"ElCascaderNode",components:{ElCheckbox,ElRadio,NodeContent:NodeContent$1,ElIcon,Check:check_default,Loading:loading_default,ArrowRight:arrow_right_default},props:{node:{type:Object,required:!0},menuId:String},emits:["expand"],setup(n,{emit:e}){const t=inject(CASCADER_PANEL_INJECTION_KEY),i=useNamespace("cascader-node"),r=computed$1(()=>t.isHoverMenu),g=computed$1(()=>t.config.multiple),y=computed$1(()=>t.config.checkStrictly),k=computed$1(()=>{var $e;return($e=t.checkedNodes[0])==null?void 0:$e.uid}),L=computed$1(()=>n.node.isDisabled),V=computed$1(()=>n.node.isLeaf),z=computed$1(()=>y.value&&!V.value||!L.value),j=computed$1(()=>oe(t.expandingNode)),ie=computed$1(()=>y.value&&t.checkedNodes.some(oe)),oe=$e=>{var xe;const{level:Ie,uid:Ne}=n.node;return((xe=$e==null?void 0:$e.pathNodes[Ie-1])==null?void 0:xe.uid)===Ne},re=()=>{j.value||t.expandNode(n.node)},ae=$e=>{const{node:xe}=n;$e!==xe.checked&&t.handleCheckChange(xe,$e)},le=()=>{t.lazyLoad(n.node,()=>{V.value||re()})},de=$e=>{r.value&&(ue(),!V.value&&e("expand",$e))},ue=()=>{const{node:$e}=n;!z.value||$e.loading||($e.loaded?re():le())},he=()=>{r.value&&!V.value||(V.value&&!L.value&&!y.value&&!g.value?Ce(!0):ue())},pe=$e=>{y.value?(ae($e),n.node.loaded&&re()):Ce($e)},Ce=$e=>{n.node.loaded?(ae($e),!y.value&&re()):le()};return{panel:t,isHoverMenu:r,multiple:g,checkStrictly:y,checkedNodeId:k,isDisabled:L,isLeaf:V,expandable:z,inExpandingPath:j,inCheckedPath:ie,ns:i,handleHoverExpand:de,handleExpand:ue,handleClick:he,handleCheck:Ce,handleSelectCheck:pe}}});function _sfc_render$p(n,e,t,i,r,g){const y=resolveComponent("el-checkbox"),k=resolveComponent("el-radio"),L=resolveComponent("check"),V=resolveComponent("el-icon"),z=resolveComponent("node-content"),j=resolveComponent("loading"),ie=resolveComponent("arrow-right");return openBlock(),createElementBlock("li",{id:"".concat(n.menuId,"-").concat(n.node.uid),role:"menuitem","aria-haspopup":!n.isLeaf,"aria-owns":n.isLeaf?null:n.menuId,"aria-expanded":n.inExpandingPath,tabindex:n.expandable?-1:void 0,class:normalizeClass([n.ns.b(),n.ns.is("selectable",n.checkStrictly),n.ns.is("active",n.node.checked),n.ns.is("disabled",!n.expandable),n.inExpandingPath&&"in-active-path",n.inCheckedPath&&"in-checked-path"]),onMouseenter:n.handleHoverExpand,onFocus:n.handleHoverExpand,onClick:n.handleClick},[createCommentVNode(" prefix "),n.multiple?(openBlock(),createBlock(y,{key:0,"model-value":n.node.checked,indeterminate:n.node.indeterminate,disabled:n.isDisabled,onClick:withModifiers(()=>{},["stop"]),"onUpdate:modelValue":n.handleSelectCheck},null,8,["model-value","indeterminate","disabled","onClick","onUpdate:modelValue"])):n.checkStrictly?(openBlock(),createBlock(k,{key:1,"model-value":n.checkedNodeId,label:n.node.uid,disabled:n.isDisabled,"onUpdate:modelValue":n.handleSelectCheck,onClick:withModifiers(()=>{},["stop"])},{default:withCtx(()=>[createCommentVNode("\n Add an empty element to avoid render label,\n do not use empty fragment here for https://github.com/vuejs/vue-next/pull/2485\n "),createBaseVNode("span")]),_:1},8,["model-value","label","disabled","onUpdate:modelValue","onClick"])):n.isLeaf&&n.node.checked?(openBlock(),createBlock(V,{key:2,class:normalizeClass(n.ns.e("prefix"))},{default:withCtx(()=>[createVNode(L)]),_:1},8,["class"])):createCommentVNode("v-if",!0),createCommentVNode(" content "),createVNode(z),createCommentVNode(" postfix "),n.isLeaf?createCommentVNode("v-if",!0):(openBlock(),createElementBlock(Fragment,{key:3},[n.node.loading?(openBlock(),createBlock(V,{key:0,class:normalizeClass([n.ns.is("loading"),n.ns.e("postfix")])},{default:withCtx(()=>[createVNode(j)]),_:1},8,["class"])):(openBlock(),createBlock(V,{key:1,class:normalizeClass(["arrow-right",n.ns.e("postfix")])},{default:withCtx(()=>[createVNode(ie)]),_:1},8,["class"]))],64))],42,["id","aria-haspopup","aria-owns","aria-expanded","tabindex","onMouseenter","onFocus","onClick"])}var ElCascaderNode=_export_sfc(_sfc_main$1e,[["render",_sfc_render$p],["__file","node.vue"]]);const _sfc_main$1d=defineComponent({name:"ElCascaderMenu",components:{Loading:loading_default,ElIcon,ElScrollbar,ElCascaderNode},props:{nodes:{type:Array,required:!0},index:{type:Number,required:!0}},setup(n){const e=getCurrentInstance$1(),t=useNamespace("cascader-menu"),{t:i}=useLocale(),r=useId();let g=null,y=null;const k=inject(CASCADER_PANEL_INJECTION_KEY),L=ref$1(null),V=computed$1(()=>!n.nodes.length),z=computed$1(()=>!k.initialLoaded),j=computed$1(()=>"".concat(r.value,"-").concat(n.index)),ie=le=>{g=le.target},oe=le=>{if(!(!k.isHoverMenu||!g||!L.value))if(g.contains(le.target)){re();const de=e.vnode.el,{left:ue}=de.getBoundingClientRect(),{offsetWidth:he,offsetHeight:pe}=de,Ce=le.clientX-ue,$e=g.offsetTop,xe=$e+g.offsetHeight;L.value.innerHTML='\n \n \n ')}else y||(y=window.setTimeout(ae,k.config.hoverThreshold))},re=()=>{y&&(clearTimeout(y),y=null)},ae=()=>{L.value&&(L.value.innerHTML="",re())};return{ns:t,panel:k,hoverZone:L,isEmpty:V,isLoading:z,menuId:j,t:i,handleExpand:ie,handleMouseMove:oe,clearHoverZone:ae}}});function _sfc_render$o(n,e,t,i,r,g){const y=resolveComponent("el-cascader-node"),k=resolveComponent("loading"),L=resolveComponent("el-icon"),V=resolveComponent("el-scrollbar");return openBlock(),createBlock(V,{key:n.menuId,tag:"ul",role:"menu",class:normalizeClass(n.ns.b()),"wrap-class":n.ns.e("wrap"),"view-class":[n.ns.e("list"),n.ns.is("empty",n.isEmpty)],onMousemove:n.handleMouseMove,onMouseleave:n.clearHoverZone},{default:withCtx(()=>{var z;return[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.nodes,j=>(openBlock(),createBlock(y,{key:j.uid,node:j,"menu-id":n.menuId,onExpand:n.handleExpand},null,8,["node","menu-id","onExpand"]))),128)),n.isLoading?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(n.ns.e("empty-text"))},[createVNode(L,{size:"14",class:normalizeClass(n.ns.is("loading"))},{default:withCtx(()=>[createVNode(k)]),_:1},8,["class"]),createTextVNode(" "+toDisplayString(n.t("el.cascader.loading")),1)],2)):n.isEmpty?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(n.ns.e("empty-text"))},[renderSlot(n.$slots,"empty",{},()=>[createTextVNode(toDisplayString(n.t("el.cascader.noData")),1)])],2)):(z=n.panel)!=null&&z.isHoverMenu?(openBlock(),createElementBlock("svg",{key:2,ref:"hoverZone",class:normalizeClass(n.ns.e("hover-zone"))},null,2)):createCommentVNode("v-if",!0)]}),_:3},8,["class","wrap-class","view-class","onMousemove","onMouseleave"])}var ElCascaderMenu=_export_sfc(_sfc_main$1d,[["render",_sfc_render$o],["__file","menu.vue"]]);const escapeStringRegexp=(n="")=>n.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d"),capitalize=n=>capitalize$2(n);let uid=0;const calculatePathNodes=n=>{const e=[n];let{parent:t}=n;for(;t;)e.unshift(t),t=t.parent;return e};let Node$2=class Jd{constructor(e,t,i,r=!1){this.data=e,this.config=t,this.parent=i,this.root=r,this.uid=uid++,this.checked=!1,this.indeterminate=!1,this.loading=!1;const{value:g,label:y,children:k}=t,L=e[k],V=calculatePathNodes(this);this.level=r?0:i?i.level+1:1,this.value=e[g],this.label=e[y],this.pathNodes=V,this.pathValues=V.map(z=>z.value),this.pathLabels=V.map(z=>z.label),this.childrenData=L,this.children=(L||[]).map(z=>new Jd(z,t,this)),this.loaded=!t.lazy||this.isLeaf||!isEmpty(L)}get isDisabled(){const{data:e,parent:t,config:i}=this,{disabled:r,checkStrictly:g}=i;return(isFunction$4(r)?r(e,this):!!e[r])||!g&&(t==null?void 0:t.isDisabled)}get isLeaf(){const{data:e,config:t,childrenData:i,loaded:r}=this,{lazy:g,leaf:y}=t,k=isFunction$4(y)?y(e,this):e[y];return isUndefined(k)?g&&!r?!1:!(isArray$2(i)&&i.length):!!k}get valueByOption(){return this.config.emitPath?this.pathValues:this.value}appendChild(e){const{childrenData:t,children:i}=this,r=new Jd(e,this.config,this);return isArray$2(t)?t.push(e):this.childrenData=[e],i.push(r),r}calcText(e,t){const i=e?this.pathLabels.join(t):this.label;return this.text=i,i}broadcast(e,...t){const i="onParent".concat(capitalize(e));this.children.forEach(r=>{r&&(r.broadcast(e,...t),r[i]&&r[i](...t))})}emit(e,...t){const{parent:i}=this,r="onChild".concat(capitalize(e));i&&(i[r]&&i[r](...t),i.emit(e,...t))}onParentCheck(e){this.isDisabled||this.setCheckState(e)}onChildCheck(){const{children:e}=this,t=e.filter(r=>!r.isDisabled),i=t.length?t.every(r=>r.checked):!1;this.setCheckState(i)}setCheckState(e){const t=this.children.length,i=this.children.reduce((r,g)=>{const y=g.checked?1:g.indeterminate?.5:0;return r+y},0);this.checked=this.loaded&&this.children.filter(r=>!r.isDisabled).every(r=>r.loaded&&r.checked)&&e,this.indeterminate=this.loaded&&i!==t&&i>0}doCheck(e){if(this.checked===e)return;const{checkStrictly:t,multiple:i}=this.config;t||!i?this.checked=e:(this.broadcast("check",e),this.setCheckState(e),this.emit("check"))}};const flatNodes=(n,e)=>n.reduce((t,i)=>(i.isLeaf?t.push(i):(!e&&t.push(i),t=t.concat(flatNodes(i.children,e))),t),[]);class Store{constructor(e,t){this.config=t;const i=(e||[]).map(r=>new Node$2(r,this.config));this.nodes=i,this.allNodes=flatNodes(i,!1),this.leafNodes=flatNodes(i,!0)}getNodes(){return this.nodes}getFlattedNodes(e){return e?this.leafNodes:this.allNodes}appendNode(e,t){const i=t?t.appendChild(e):new Node$2(e,this.config);t||this.nodes.push(i),this.allNodes.push(i),i.isLeaf&&this.leafNodes.push(i)}appendNodes(e,t){e.forEach(i=>this.appendNode(i,t))}getNodeByValue(e,t=!1){return!e&&e!==0?null:this.getFlattedNodes(t).find(r=>isEqual$1(r.value,e)||isEqual$1(r.pathValues,e))||null}getSameNode(e){return e&&this.getFlattedNodes(!1).find(({value:i,level:r})=>isEqual$1(e.value,i)&&e.level===r)||null}}const CommonProps=buildProps({modelValue:{type:definePropType([Number,String,Array])},options:{type:definePropType(Array),default:()=>[]},props:{type:definePropType(Object),default:()=>({})}}),DefaultProps={expandTrigger:"click",multiple:!1,checkStrictly:!1,emitPath:!0,lazy:!1,lazyLoad:NOOP,value:"value",label:"label",children:"children",leaf:"leaf",disabled:"disabled",hoverThreshold:500},useCascaderConfig=n=>computed$1(()=>({...DefaultProps,...n.props})),getMenuIndex=n=>{if(!n)return 0;const e=n.id.split("-");return Number(e[e.length-2])},checkNode=n=>{if(!n)return;const e=n.querySelector("input");e?e.click():isLeaf(n)&&n.click()},sortByOriginalOrder=(n,e)=>{const t=e.slice(0),i=t.map(g=>g.uid),r=n.reduce((g,y)=>{const k=i.indexOf(y.uid);return k>-1&&(g.push(y),t.splice(k,1),i.splice(k,1)),g},[]);return r.push(...t),r},unique=n=>[...new Set(n)],castArray=n=>!n&&n!==0?[]:isArray$2(n)?n:[n],_sfc_main$1c=defineComponent({name:"ElCascaderPanel",components:{ElCascaderMenu},props:{...CommonProps,border:{type:Boolean,default:!0},renderLabel:Function},emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"close","expand-change"],setup(n,{emit:e,slots:t}){let i=!1;const r=useNamespace("cascader"),g=useCascaderConfig(n);let y=null;const k=ref$1(!0),L=ref$1([]),V=ref$1(null),z=ref$1([]),j=ref$1(null),ie=ref$1([]),oe=computed$1(()=>g.value.expandTrigger==="hover"),re=computed$1(()=>n.renderLabel||t.default),ae=()=>{const{options:Oe}=n,ze=g.value;i=!1,y=new Store(Oe,ze),z.value=[y.getNodes()],ze.lazy&&isEmpty(n.options)?(k.value=!1,le(void 0,qe=>{qe&&(y=new Store(qe,ze),z.value=[y.getNodes()]),k.value=!0,Ie(!1,!0)})):Ie(!1,!0)},le=(Oe,ze)=>{const qe=g.value;Oe=Oe||new Node$2({},qe,void 0,!0),Oe.loading=!0;const Ue=Et=>{const At=Oe,Lt=At.root?null:At;Et&&(y==null||y.appendNodes(Et,Lt)),At.loading=!1,At.loaded=!0,At.childrenData=At.childrenData||[],ze&&ze(Et)};qe.lazyLoad(Oe,Ue)},de=(Oe,ze)=>{var qe;const{level:Ue}=Oe,Et=z.value.slice(0,Ue);let At;Oe.isLeaf?At=Oe.pathNodes[Ue-2]:(At=Oe,Et.push(Oe.children)),((qe=j.value)==null?void 0:qe.uid)!==(At==null?void 0:At.uid)&&(j.value=Oe,z.value=Et,!ze&&e("expand-change",(Oe==null?void 0:Oe.pathValues)||[]))},ue=(Oe,ze,qe=!0)=>{const{checkStrictly:Ue,multiple:Et}=g.value,At=ie.value[0];i=!0,!Et&&(At==null||At.doCheck(!1)),Oe.doCheck(ze),xe(),qe&&!Et&&!Ue&&e("close"),!qe&&!Et&&!Ue&&he(Oe)},he=Oe=>{Oe&&(Oe=Oe.parent,he(Oe),Oe&&de(Oe))},pe=Oe=>y==null?void 0:y.getFlattedNodes(Oe),Ce=Oe=>{var ze;return(ze=pe(Oe))==null?void 0:ze.filter(qe=>qe.checked!==!1)},$e=()=>{ie.value.forEach(Oe=>Oe.doCheck(!1)),xe(),z.value=z.value.slice(0,1),j.value=null,e("expand-change",[])},xe=()=>{var Oe;const{checkStrictly:ze,multiple:qe}=g.value,Ue=ie.value,Et=Ce(!ze),At=sortByOriginalOrder(Ue,Et),Lt=At.map(kt=>kt.valueByOption);ie.value=At,V.value=qe?Lt:(Oe=Lt[0])!=null?Oe:null},Ie=(Oe=!1,ze=!1)=>{const{modelValue:qe}=n,{lazy:Ue,multiple:Et,checkStrictly:At}=g.value,Lt=!At;if(!(!k.value||i||!ze&&isEqual$1(qe,V.value)))if(Ue&&!Oe){const ei=unique(flattenDeep(castArray(qe))).map(jt=>y==null?void 0:y.getNodeByValue(jt)).filter(jt=>!!jt&&!jt.loaded&&!jt.loading);ei.length?ei.forEach(jt=>{le(jt,()=>Ie(!1,ze))}):Ie(!0,ze)}else{const kt=Et?castArray(qe):[qe],ei=unique(kt.map(jt=>y==null?void 0:y.getNodeByValue(jt,Lt)));Ne(ei,ze),V.value=cloneDeep(qe)}},Ne=(Oe,ze=!0)=>{const{checkStrictly:qe}=g.value,Ue=ie.value,Et=Oe.filter(kt=>!!kt&&(qe||kt.isLeaf)),At=y==null?void 0:y.getSameNode(j.value),Lt=ze&&At||Et[0];Lt?Lt.pathNodes.forEach(kt=>de(kt,!0)):j.value=null,Ue.forEach(kt=>kt.doCheck(!1)),reactive$1(Et).forEach(kt=>kt.doCheck(!0)),ie.value=Et,nextTick(Fe)},Fe=()=>{isClient&&L.value.forEach(Oe=>{const ze=Oe==null?void 0:Oe.$el;if(ze){const qe=ze.querySelector(".".concat(r.namespace.value,"-scrollbar__wrap")),Ue=ze.querySelector(".".concat(r.b("node"),".").concat(r.is("active")))||ze.querySelector(".".concat(r.b("node"),".in-active-path"));scrollIntoView(qe,Ue)}})},Ve=Oe=>{const ze=Oe.target,{code:qe}=Oe;switch(qe){case EVENT_CODE.up:case EVENT_CODE.down:{Oe.preventDefault();const Ue=qe===EVENT_CODE.up?-1:1;focusNode(getSibling(ze,Ue,".".concat(r.b("node"),'[tabindex="-1"]')));break}case EVENT_CODE.left:{Oe.preventDefault();const Ue=L.value[getMenuIndex(ze)-1],Et=Ue==null?void 0:Ue.$el.querySelector(".".concat(r.b("node"),'[aria-expanded="true"]'));focusNode(Et);break}case EVENT_CODE.right:{Oe.preventDefault();const Ue=L.value[getMenuIndex(ze)+1],Et=Ue==null?void 0:Ue.$el.querySelector(".".concat(r.b("node"),'[tabindex="-1"]'));focusNode(Et);break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:checkNode(ze);break}};return provide(CASCADER_PANEL_INJECTION_KEY,reactive$1({config:g,expandingNode:j,checkedNodes:ie,isHoverMenu:oe,initialLoaded:k,renderLabelFn:re,lazyLoad:le,expandNode:de,handleCheckChange:ue})),watch([g,()=>n.options],ae,{deep:!0,immediate:!0}),watch(()=>n.modelValue,()=>{i=!1,Ie()},{deep:!0}),watch(()=>V.value,Oe=>{isEqual$1(Oe,n.modelValue)||(e(UPDATE_MODEL_EVENT,Oe),e(CHANGE_EVENT,Oe))}),onBeforeUpdate(()=>L.value=[]),onMounted(()=>!isEmpty(n.modelValue)&&Ie()),{ns:r,menuList:L,menus:z,checkedNodes:ie,handleKeyDown:Ve,handleCheckChange:ue,getFlattedNodes:pe,getCheckedNodes:Ce,clearCheckedNodes:$e,calculateCheckedValue:xe,scrollToExpandingNode:Fe}}});function _sfc_render$n(n,e,t,i,r,g){const y=resolveComponent("el-cascader-menu");return openBlock(),createElementBlock("div",{class:normalizeClass([n.ns.b("panel"),n.ns.is("bordered",n.border)]),onKeydown:n.handleKeyDown},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.menus,(k,L)=>(openBlock(),createBlock(y,{key:L,ref_for:!0,ref:V=>n.menuList[L]=V,index:L,nodes:[...k]},{empty:withCtx(()=>[renderSlot(n.$slots,"empty")]),_:2},1032,["index","nodes"]))),128))],42,["onKeydown"])}var CascaderPanel=_export_sfc(_sfc_main$1c,[["render",_sfc_render$n],["__file","index.vue"]]);const ElCascaderPanel=withInstall(CascaderPanel),tagProps=buildProps({type:{type:String,values:["primary","success","info","warning","danger"],default:"primary"},closable:Boolean,disableTransitions:Boolean,hit:Boolean,color:String,size:{type:String,values:componentSizes},effect:{type:String,values:["dark","light","plain"],default:"light"},round:Boolean}),tagEmits={close:n=>n instanceof MouseEvent,click:n=>n instanceof MouseEvent},__default__$B=defineComponent({name:"ElTag"}),_sfc_main$1b=defineComponent({...__default__$B,props:tagProps,emits:tagEmits,setup(n,{emit:e}){const t=n,i=useFormSize(),r=useNamespace("tag"),g=computed$1(()=>{const{type:V,hit:z,effect:j,closable:ie,round:oe}=t;return[r.b(),r.is("closable",ie),r.m(V||"primary"),r.m(i.value),r.m(j),r.is("hit",z),r.is("round",oe)]}),y=V=>{e("close",V)},k=V=>{e("click",V)},L=V=>{var z,j,ie;(ie=(j=(z=V==null?void 0:V.component)==null?void 0:z.subTree)==null?void 0:j.component)!=null&&ie.bum&&(V.component.subTree.component.bum=null)};return(V,z)=>V.disableTransitions?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(g)),style:normalizeStyle({backgroundColor:V.color}),onClick:k},[createBaseVNode("span",{class:normalizeClass(unref(r).e("content"))},[renderSlot(V.$slots,"default")],2),V.closable?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(r).e("close")),onClick:withModifiers(y,["stop"])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],6)):(openBlock(),createBlock(Transition,{key:1,name:"".concat(unref(r).namespace.value,"-zoom-in-center"),appear:"",onVnodeMounted:L},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(unref(g)),style:normalizeStyle({backgroundColor:V.color}),onClick:k},[createBaseVNode("span",{class:normalizeClass(unref(r).e("content"))},[renderSlot(V.$slots,"default")],2),V.closable?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(r).e("close")),onClick:withModifiers(y,["stop"])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],6)]),_:3},8,["name"]))}});var Tag=_export_sfc(_sfc_main$1b,[["__file","tag.vue"]]);const ElTag=withInstall(Tag),cascaderProps=buildProps({...CommonProps,size:useSizeProp,placeholder:String,disabled:Boolean,clearable:Boolean,filterable:Boolean,filterMethod:{type:definePropType(Function),default:(n,e)=>n.text.includes(e)},separator:{type:String,default:" / "},showAllLevels:{type:Boolean,default:!0},collapseTags:Boolean,maxCollapseTags:{type:Number,default:1},collapseTagsTooltip:{type:Boolean,default:!1},debounce:{type:Number,default:300},beforeFilter:{type:definePropType(Function),default:()=>!0},placement:{type:definePropType(String),values:Ee,default:"bottom-start"},fallbackPlacements:{type:definePropType(Array),default:["bottom-start","bottom","top-start","top","right","left"]},popperClass:{type:String,default:""},teleported:useTooltipContentProps.teleported,tagType:{...tagProps.type,default:"info"},tagEffect:{...tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},persistent:{type:Boolean,default:!0},...useEmptyValuesProps}),cascaderEmits={[UPDATE_MODEL_EVENT]:n=>!0,[CHANGE_EVENT]:n=>!0,focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent,clear:()=>!0,visibleChange:n=>isBoolean(n),expandChange:n=>!!n,removeTag:n=>!!n},nodeList=new Map;if(isClient){let n;document.addEventListener("mousedown",e=>n=e),document.addEventListener("mouseup",e=>{if(n){for(const t of nodeList.values())for(const{documentHandler:i}of t)i(e,n);n=void 0}})}function createDocumentHandler(n,e){let t=[];return isArray$2(e.arg)?t=e.arg:isElement(e.arg)&&t.push(e.arg),function(i,r){const g=e.instance.popperRef,y=i.target,k=r==null?void 0:r.target,L=!e||!e.instance,V=!y||!k,z=n.contains(y)||n.contains(k),j=n===y,ie=t.length&&t.some(re=>re==null?void 0:re.contains(y))||t.length&&t.includes(k),oe=g&&(g.contains(y)||g.contains(k));L||V||z||j||ie||oe||e.value(i,r)}}const ClickOutside={beforeMount(n,e){nodeList.has(n)||nodeList.set(n,[]),nodeList.get(n).push({documentHandler:createDocumentHandler(n,e),bindingFn:e.value})},updated(n,e){nodeList.has(n)||nodeList.set(n,[]);const t=nodeList.get(n),i=t.findIndex(g=>g.bindingFn===e.oldValue),r={documentHandler:createDocumentHandler(n,e),bindingFn:e.value};i>=0?t.splice(i,1,r):t.push(r)},unmounted(n){nodeList.delete(n)}},COMPONENT_NAME$9="ElCascader",__default__$A=defineComponent({name:COMPONENT_NAME$9}),_sfc_main$1a=defineComponent({...__default__$A,props:cascaderProps,emits:cascaderEmits,setup(n,{expose:e,emit:t}){const i=n,r={modifiers:[{name:"arrowPosition",enabled:!0,phase:"main",fn:({state:ui})=>{const{modifiersData:$i,placement:di}=ui;["right","left","bottom","top"].includes(di)||($i.arrow.x=35)},requires:["arrow"]}]},g=useAttrs$1();let y=0,k=0;const L=useNamespace("cascader"),V=useNamespace("input"),{t:z}=useLocale(),{form:j,formItem:ie}=useFormItem(),{valueOnClear:oe}=useEmptyValues(i),{isComposing:re,handleComposition:ae}=useComposition({afterComposition(ui){var $i;const di=($i=ui.target)==null?void 0:$i.value;Mi(di)}}),le=ref$1(null),de=ref$1(null),ue=ref$1(null),he=ref$1(null),pe=ref$1(null),Ce=ref$1(!1),$e=ref$1(!1),xe=ref$1(!1),Ie=ref$1(!1),Ne=ref$1(""),Fe=ref$1(""),Ve=ref$1([]),Oe=ref$1([]),ze=ref$1([]),qe=computed$1(()=>g.style),Ue=computed$1(()=>i.disabled||(j==null?void 0:j.disabled)),Et=computed$1(()=>i.placeholder||z("el.cascader.placeholder")),At=computed$1(()=>Fe.value||Ve.value.length>0||re.value?"":Et.value),Lt=useFormSize(),kt=computed$1(()=>Lt.value==="small"?"small":"default"),ei=computed$1(()=>!!i.props.multiple),jt=computed$1(()=>!i.filterable||ei.value),ri=computed$1(()=>ei.value?Fe.value:Ne.value),ni=computed$1(()=>{var ui;return((ui=he.value)==null?void 0:ui.checkedNodes)||[]}),Ci=computed$1(()=>!i.clearable||Ue.value||xe.value||!$e.value?!1:!!ni.value.length),wi=computed$1(()=>{const{showAllLevels:ui,separator:$i}=i,di=ni.value;return di.length?ei.value?"":di[0].calcText(ui,$i):""}),Ri=computed$1(()=>(ie==null?void 0:ie.validateState)||""),ai=computed$1({get(){return cloneDeep(i.modelValue)},set(ui){const $i=ui!=null?ui:oe.value;t(UPDATE_MODEL_EVENT,$i),t(CHANGE_EVENT,$i),i.validateEvent&&(ie==null||ie.validate("change").catch(di=>void 0))}}),hi=computed$1(()=>[L.b(),L.m(Lt.value),L.is("disabled",Ue.value),g.class]),xi=computed$1(()=>[V.e("icon"),"icon-arrow-down",L.is("reverse",Ce.value)]),Oi=computed$1(()=>L.is("focus",Ce.value||Ie.value)),Ei=computed$1(()=>{var ui,$i;return($i=(ui=le.value)==null?void 0:ui.popperRef)==null?void 0:$i.contentRef}),si=ui=>{var $i,di,Wi;Ue.value||(ui=ui!=null?ui:!Ce.value,ui!==Ce.value&&(Ce.value=ui,(di=($i=de.value)==null?void 0:$i.input)==null||di.setAttribute("aria-expanded","".concat(ui)),ui?(fi(),nextTick((Wi=he.value)==null?void 0:Wi.scrollToExpandingNode)):i.filterable&&mi(),t("visibleChange",ui)))},fi=()=>{nextTick(()=>{var ui;(ui=le.value)==null||ui.updatePopper()})},li=()=>{xe.value=!1},Di=ui=>{const{showAllLevels:$i,separator:di}=i;return{node:ui,key:ui.uid,text:ui.calcText($i,di),hitState:!1,closable:!Ue.value&&!ui.isDisabled,isCollapseTag:!1}},ki=ui=>{var $i;const di=ui.node;di.doCheck(!1),($i=he.value)==null||$i.calculateCheckedValue(),t("removeTag",di.valueByOption)},Ai=()=>{if(!ei.value)return;const ui=ni.value,$i=[],di=[];if(ui.forEach(Wi=>di.push(Di(Wi))),Oe.value=di,ui.length){ui.slice(0,i.maxCollapseTags).forEach(Zi=>$i.push(Di(Zi)));const Wi=ui.slice(i.maxCollapseTags),Gi=Wi.length;Gi&&(i.collapseTags?$i.push({key:-1,text:"+ ".concat(Gi),closable:!1,isCollapseTag:!0}):Wi.forEach(Zi=>$i.push(Di(Zi))))}Ve.value=$i},Ki=()=>{var ui,$i;const{filterMethod:di,showAllLevels:Wi,separator:Gi}=i,Zi=($i=(ui=he.value)==null?void 0:ui.getFlattedNodes(!i.props.checkStrictly))==null?void 0:$i.filter(vn=>vn.isDisabled?!1:(vn.calcText(Wi,Gi),di(vn,ri.value)));ei.value&&(Ve.value.forEach(vn=>{vn.hitState=!1}),Oe.value.forEach(vn=>{vn.hitState=!1})),xe.value=!0,ze.value=Zi,fi()},zi=()=>{var ui;let $i;xe.value&&pe.value?$i=pe.value.$el.querySelector(".".concat(L.e("suggestion-item"))):$i=(ui=he.value)==null?void 0:ui.$el.querySelector(".".concat(L.b("node"),'[tabindex="-1"]')),$i&&($i.focus(),!xe.value&&$i.click())},bi=()=>{var ui,$i;const di=(ui=de.value)==null?void 0:ui.input,Wi=ue.value,Gi=($i=pe.value)==null?void 0:$i.$el;if(!(!isClient||!di)){if(Gi){const Zi=Gi.querySelector(".".concat(L.e("suggestion-list")));Zi.style.minWidth="".concat(di.offsetWidth,"px")}if(Wi){const{offsetHeight:Zi}=Wi,vn=Ve.value.length>0?"".concat(Math.max(Zi,y)-2,"px"):"".concat(y,"px");di.style.height=vn,fi()}}},vi=ui=>{var $i;return($i=he.value)==null?void 0:$i.getCheckedNodes(ui)},Li=ui=>{fi(),t("expandChange",ui)},oi=ui=>{if(!re.value)switch(ui.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:si();break;case EVENT_CODE.down:si(!0),nextTick(zi),ui.preventDefault();break;case EVENT_CODE.esc:Ce.value===!0&&(ui.preventDefault(),ui.stopPropagation(),si(!1));break;case EVENT_CODE.tab:si(!1);break}},ii=()=>{var ui;(ui=he.value)==null||ui.clearCheckedNodes(),!Ce.value&&i.filterable&&mi(),si(!1),t("clear")},mi=()=>{const{value:ui}=wi;Ne.value=ui,Fe.value=ui},yi=ui=>{var $i,di;const{checked:Wi}=ui;ei.value?($i=he.value)==null||$i.handleCheckChange(ui,!Wi,!1):(!Wi&&((di=he.value)==null||di.handleCheckChange(ui,!0,!1)),si(!1))},ti=ui=>{const $i=ui.target,{code:di}=ui;switch(di){case EVENT_CODE.up:case EVENT_CODE.down:{const Wi=di===EVENT_CODE.up?-1:1;focusNode(getSibling($i,Wi,".".concat(L.e("suggestion-item"),'[tabindex="-1"]')));break}case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:$i.click();break}},Dt=()=>{const ui=Ve.value,$i=ui[ui.length-1];k=Fe.value?0:k+1,!(!$i||!k||i.collapseTags&&ui.length>1)&&($i.hitState?ki($i):$i.hitState=!0)},Pt=ui=>{const $i=ui.target,di=L.e("search-input");$i.className===di&&(Ie.value=!0),t("focus",ui)},ci=ui=>{Ie.value=!1,t("blur",ui)},Ti=debounce(()=>{const{value:ui}=ri;if(!ui)return;const $i=i.beforeFilter(ui);isPromise($i)?$i.then(Ki).catch(()=>{}):$i!==!1?Ki():li()},i.debounce),Mi=(ui,$i)=>{!Ce.value&&si(!0),!($i!=null&&$i.isComposing)&&(ui?Ti():li())},pi=ui=>Number.parseFloat(useCssVar(V.cssVarName("input-height"),ui).value)-2;return watch(xe,fi),watch([ni,Ue,()=>i.collapseTags],Ai),watch(Ve,()=>{nextTick(()=>bi())}),watch(Lt,async()=>{await nextTick();const ui=de.value.input;y=pi(ui)||y,bi()}),watch(wi,mi,{immediate:!0}),onMounted(()=>{const ui=de.value.input,$i=pi(ui);y=ui.offsetHeight||$i,useResizeObserver(ui,bi)}),e({getCheckedNodes:vi,cascaderPanelRef:he,togglePopperVisible:si,contentRef:Ei,presentText:wi}),(ui,$i)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"tooltipRef",ref:le,visible:Ce.value,teleported:ui.teleported,"popper-class":[unref(L).e("dropdown"),ui.popperClass],"popper-options":r,"fallback-placements":ui.fallbackPlacements,"stop-popper-mouse-event":!1,"gpu-acceleration":!1,placement:ui.placement,transition:"".concat(unref(L).namespace.value,"-zoom-in-top"),effect:"light",pure:"",persistent:ui.persistent,onHide:li},{default:withCtx(()=>[withDirectives((openBlock(),createElementBlock("div",{class:normalizeClass(unref(hi)),style:normalizeStyle(unref(qe)),onClick:()=>si(unref(jt)?void 0:!0),onKeydown:oi,onMouseenter:di=>$e.value=!0,onMouseleave:di=>$e.value=!1},[createVNode(unref(ElInput),{ref_key:"input",ref:de,modelValue:Ne.value,"onUpdate:modelValue":di=>Ne.value=di,placeholder:unref(At),readonly:unref(jt),disabled:unref(Ue),"validate-event":!1,size:unref(Lt),class:normalizeClass(unref(Oi)),tabindex:unref(ei)&&ui.filterable&&!unref(Ue)?-1:void 0,onCompositionstart:unref(ae),onCompositionupdate:unref(ae),onCompositionend:unref(ae),onFocus:Pt,onBlur:ci,onInput:Mi},{suffix:withCtx(()=>[unref(Ci)?(openBlock(),createBlock(unref(ElIcon),{key:"clear",class:normalizeClass([unref(V).e("icon"),"icon-circle-close"]),onClick:withModifiers(ii,["stop"])},{default:withCtx(()=>[createVNode(unref(circle_close_default))]),_:1},8,["class","onClick"])):(openBlock(),createBlock(unref(ElIcon),{key:"arrow-down",class:normalizeClass(unref(xi)),onClick:withModifiers(di=>si(),["stop"])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class","onClick"]))]),_:1},8,["modelValue","onUpdate:modelValue","placeholder","readonly","disabled","size","class","tabindex","onCompositionstart","onCompositionupdate","onCompositionend"]),unref(ei)?(openBlock(),createElementBlock("div",{key:0,ref_key:"tagWrapper",ref:ue,class:normalizeClass([unref(L).e("tags"),unref(L).is("validate",!!unref(Ri))])},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ve.value,di=>(openBlock(),createBlock(unref(ElTag),{key:di.key,type:ui.tagType,size:unref(kt),effect:ui.tagEffect,hit:di.hitState,closable:di.closable,"disable-transitions":"",onClose:Wi=>ki(di)},{default:withCtx(()=>[di.isCollapseTag===!1?(openBlock(),createElementBlock("span",{key:0},toDisplayString(di.text),1)):(openBlock(),createBlock(unref(ElTooltip),{key:1,disabled:Ce.value||!ui.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],placement:"bottom",effect:"light"},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(di.text),1)]),content:withCtx(()=>[createBaseVNode("div",{class:normalizeClass(unref(L).e("collapse-tags"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Oe.value.slice(ui.maxCollapseTags),(Wi,Gi)=>(openBlock(),createElementBlock("div",{key:Gi,class:normalizeClass(unref(L).e("collapse-tag"))},[(openBlock(),createBlock(unref(ElTag),{key:Wi.key,class:"in-tooltip",type:ui.tagType,size:unref(kt),effect:ui.tagEffect,hit:Wi.hitState,closable:Wi.closable,"disable-transitions":"",onClose:Zi=>ki(Wi)},{default:withCtx(()=>[createBaseVNode("span",null,toDisplayString(Wi.text),1)]),_:2},1032,["type","size","effect","hit","closable","onClose"]))],2))),128))],2)]),_:2},1032,["disabled"]))]),_:2},1032,["type","size","effect","hit","closable","onClose"]))),128)),ui.filterable&&!unref(Ue)?withDirectives((openBlock(),createElementBlock("input",{key:0,"onUpdate:modelValue":di=>Fe.value=di,type:"text",class:normalizeClass(unref(L).e("search-input")),placeholder:unref(wi)?"":unref(Et),onInput:di=>Mi(Fe.value,di),onClick:withModifiers(di=>si(!0),["stop"]),onKeydown:withKeys(Dt,["delete"]),onCompositionstart:unref(ae),onCompositionupdate:unref(ae),onCompositionend:unref(ae),onFocus:Pt,onBlur:ci},null,42,["onUpdate:modelValue","placeholder","onInput","onClick","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend"])),[[vModelText,Fe.value]]):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],46,["onClick","onMouseenter","onMouseleave"])),[[unref(ClickOutside),()=>si(!1),unref(Ei)]])]),content:withCtx(()=>[withDirectives(createVNode(unref(ElCascaderPanel),{ref_key:"cascaderPanelRef",ref:he,modelValue:unref(ai),"onUpdate:modelValue":di=>isRef(ai)?ai.value=di:null,options:ui.options,props:i.props,border:!1,"render-label":ui.$slots.default,onExpandChange:Li,onClose:di=>ui.$nextTick(()=>si(!1))},{empty:withCtx(()=>[renderSlot(ui.$slots,"empty")]),_:3},8,["modelValue","onUpdate:modelValue","options","props","render-label","onClose"]),[[vShow,!xe.value]]),ui.filterable?withDirectives((openBlock(),createBlock(unref(ElScrollbar),{key:0,ref_key:"suggestionPanel",ref:pe,tag:"ul",class:normalizeClass(unref(L).e("suggestion-panel")),"view-class":unref(L).e("suggestion-list"),onKeydown:ti},{default:withCtx(()=>[ze.value.length?(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(ze.value,di=>(openBlock(),createElementBlock("li",{key:di.uid,class:normalizeClass([unref(L).e("suggestion-item"),unref(L).is("checked",di.checked)]),tabindex:-1,onClick:Wi=>yi(di)},[createBaseVNode("span",null,toDisplayString(di.text),1),di.checked?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1})):createCommentVNode("v-if",!0)],10,["onClick"]))),128)):renderSlot(ui.$slots,"empty",{key:1},()=>[createBaseVNode("li",{class:normalizeClass(unref(L).e("empty-text"))},toDisplayString(unref(z)("el.cascader.noMatch")),3)])]),_:3},8,["class","view-class"])),[[vShow,xe.value]]):createCommentVNode("v-if",!0)]),_:3},8,["visible","teleported","popper-class","fallback-placements","placement","transition","persistent"]))}});var Cascader=_export_sfc(_sfc_main$1a,[["__file","cascader.vue"]]);const ElCascader=withInstall(Cascader),colProps=buildProps({tag:{type:String,default:"div"},span:{type:Number,default:24},offset:{type:Number,default:0},pull:{type:Number,default:0},push:{type:Number,default:0},xs:{type:definePropType([Number,Object]),default:()=>mutable({})},sm:{type:definePropType([Number,Object]),default:()=>mutable({})},md:{type:definePropType([Number,Object]),default:()=>mutable({})},lg:{type:definePropType([Number,Object]),default:()=>mutable({})},xl:{type:definePropType([Number,Object]),default:()=>mutable({})}}),rowContextKey=Symbol("rowContextKey"),__default__$z=defineComponent({name:"ElCol"}),_sfc_main$19=defineComponent({...__default__$z,props:colProps,setup(n){const e=n,{gutter:t}=inject(rowContextKey,{gutter:computed$1(()=>0)}),i=useNamespace("col"),r=computed$1(()=>{const y={};return t.value&&(y.paddingLeft=y.paddingRight="".concat(t.value/2,"px")),y}),g=computed$1(()=>{const y=[];return["span","offset","pull","push"].forEach(V=>{const z=e[V];isNumber(z)&&(V==="span"?y.push(i.b("".concat(e[V]))):z>0&&y.push(i.b("".concat(V,"-").concat(e[V]))))}),["xs","sm","md","lg","xl"].forEach(V=>{isNumber(e[V])?y.push(i.b("".concat(V,"-").concat(e[V]))):isObject$4(e[V])&&Object.entries(e[V]).forEach(([z,j])=>{y.push(z!=="span"?i.b("".concat(V,"-").concat(z,"-").concat(j)):i.b("".concat(V,"-").concat(j)))})}),t.value&&y.push(i.is("guttered")),[i.b(),y]});return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(y.tag),{class:normalizeClass(unref(g)),style:normalizeStyle(unref(r))},{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},8,["class","style"]))}});var Col=_export_sfc(_sfc_main$19,[["__file","col.vue"]]);const ElCol=withInstall(Col),emitChangeFn=n=>isNumber(n)||isString$5(n)||isArray$2(n),collapseProps=buildProps({accordion:Boolean,modelValue:{type:definePropType([Array,String,Number]),default:()=>mutable([])}}),collapseEmits={[UPDATE_MODEL_EVENT]:emitChangeFn,[CHANGE_EVENT]:emitChangeFn},collapseContextKey=Symbol("collapseContextKey"),useCollapse=(n,e)=>{const t=ref$1(castArray$1(n.modelValue)),i=g=>{t.value=g;const y=n.accordion?t.value[0]:t.value;e(UPDATE_MODEL_EVENT,y),e(CHANGE_EVENT,y)},r=g=>{if(n.accordion)i([t.value[0]===g?"":g]);else{const y=[...t.value],k=y.indexOf(g);k>-1?y.splice(k,1):y.push(g),i(y)}};return watch(()=>n.modelValue,()=>t.value=castArray$1(n.modelValue),{deep:!0}),provide(collapseContextKey,{activeNames:t,handleItemClick:r}),{activeNames:t,setActiveNames:i}},useCollapseDOM=()=>{const n=useNamespace("collapse");return{rootKls:computed$1(()=>n.b())}},__default__$y=defineComponent({name:"ElCollapse"}),_sfc_main$18=defineComponent({...__default__$y,props:collapseProps,emits:collapseEmits,setup(n,{expose:e,emit:t}){const i=n,{activeNames:r,setActiveNames:g}=useCollapse(i,t),{rootKls:y}=useCollapseDOM();return e({activeNames:r,setActiveNames:g}),(k,L)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(y))},[renderSlot(k.$slots,"default")],2))}});var Collapse=_export_sfc(_sfc_main$18,[["__file","collapse.vue"]]);const __default__$x=defineComponent({name:"ElCollapseTransition"}),_sfc_main$17=defineComponent({...__default__$x,setup(n){const e=useNamespace("collapse-transition"),t=r=>{r.style.maxHeight="",r.style.overflow=r.dataset.oldOverflow,r.style.paddingTop=r.dataset.oldPaddingTop,r.style.paddingBottom=r.dataset.oldPaddingBottom},i={beforeEnter(r){r.dataset||(r.dataset={}),r.dataset.oldPaddingTop=r.style.paddingTop,r.dataset.oldPaddingBottom=r.style.paddingBottom,r.style.height&&(r.dataset.elExistsHeight=r.style.height),r.style.maxHeight=0,r.style.paddingTop=0,r.style.paddingBottom=0},enter(r){requestAnimationFrame(()=>{r.dataset.oldOverflow=r.style.overflow,r.dataset.elExistsHeight?r.style.maxHeight=r.dataset.elExistsHeight:r.scrollHeight!==0?r.style.maxHeight="".concat(r.scrollHeight,"px"):r.style.maxHeight=0,r.style.paddingTop=r.dataset.oldPaddingTop,r.style.paddingBottom=r.dataset.oldPaddingBottom,r.style.overflow="hidden"})},afterEnter(r){r.style.maxHeight="",r.style.overflow=r.dataset.oldOverflow},enterCancelled(r){t(r)},beforeLeave(r){r.dataset||(r.dataset={}),r.dataset.oldPaddingTop=r.style.paddingTop,r.dataset.oldPaddingBottom=r.style.paddingBottom,r.dataset.oldOverflow=r.style.overflow,r.style.maxHeight="".concat(r.scrollHeight,"px"),r.style.overflow="hidden"},leave(r){r.scrollHeight!==0&&(r.style.maxHeight=0,r.style.paddingTop=0,r.style.paddingBottom=0)},afterLeave(r){t(r)},leaveCancelled(r){t(r)}};return(r,g)=>(openBlock(),createBlock(Transition,mergeProps({name:unref(e).b()},toHandlers(i)),{default:withCtx(()=>[renderSlot(r.$slots,"default")]),_:3},16,["name"]))}});var CollapseTransition=_export_sfc(_sfc_main$17,[["__file","collapse-transition.vue"]]);const ElCollapseTransition=withInstall(CollapseTransition),collapseItemProps=buildProps({title:{type:String,default:""},name:{type:definePropType([String,Number]),default:void 0},icon:{type:iconPropType,default:arrow_right_default},disabled:Boolean}),useCollapseItem=n=>{const e=inject(collapseContextKey),{namespace:t}=useNamespace("collapse"),i=ref$1(!1),r=ref$1(!1),g=useIdInjection(),y=computed$1(()=>g.current++),k=computed$1(()=>{var ie;return(ie=n.name)!=null?ie:"".concat(t.value,"-id-").concat(g.prefix,"-").concat(unref(y))}),L=computed$1(()=>e==null?void 0:e.activeNames.value.includes(unref(k)));return{focusing:i,id:y,isActive:L,handleFocus:()=>{setTimeout(()=>{r.value?r.value=!1:i.value=!0},50)},handleHeaderClick:()=>{n.disabled||(e==null||e.handleItemClick(unref(k)),i.value=!1,r.value=!0)},handleEnterClick:()=>{e==null||e.handleItemClick(unref(k))}}},useCollapseItemDOM=(n,{focusing:e,isActive:t,id:i})=>{const r=useNamespace("collapse"),g=computed$1(()=>[r.b("item"),r.is("active",unref(t)),r.is("disabled",n.disabled)]),y=computed$1(()=>[r.be("item","header"),r.is("active",unref(t)),{focusing:unref(e)&&!n.disabled}]),k=computed$1(()=>[r.be("item","arrow"),r.is("active",unref(t))]),L=computed$1(()=>r.be("item","wrap")),V=computed$1(()=>r.be("item","content")),z=computed$1(()=>r.b("content-".concat(unref(i)))),j=computed$1(()=>r.b("head-".concat(unref(i))));return{arrowKls:k,headKls:y,rootKls:g,itemWrapperKls:L,itemContentKls:V,scopedContentId:z,scopedHeadId:j}},__default__$w=defineComponent({name:"ElCollapseItem"}),_sfc_main$16=defineComponent({...__default__$w,props:collapseItemProps,setup(n,{expose:e}){const t=n,{focusing:i,id:r,isActive:g,handleFocus:y,handleHeaderClick:k,handleEnterClick:L}=useCollapseItem(t),{arrowKls:V,headKls:z,rootKls:j,itemWrapperKls:ie,itemContentKls:oe,scopedContentId:re,scopedHeadId:ae}=useCollapseItemDOM(t,{focusing:i,isActive:g,id:r});return e({isActive:g}),(le,de)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(j))},[createBaseVNode("button",{id:unref(ae),class:normalizeClass(unref(z)),"aria-expanded":unref(g),"aria-controls":unref(re),"aria-describedby":unref(re),tabindex:le.disabled?-1:0,type:"button",onClick:unref(k),onKeydown:withKeys(withModifiers(unref(L),["stop","prevent"]),["space","enter"]),onFocus:unref(y),onBlur:ue=>i.value=!1},[renderSlot(le.$slots,"title",{},()=>[createTextVNode(toDisplayString(le.title),1)]),renderSlot(le.$slots,"icon",{isActive:unref(g)},()=>[createVNode(unref(ElIcon),{class:normalizeClass(unref(V))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(le.icon)))]),_:1},8,["class"])])],42,["id","aria-expanded","aria-controls","aria-describedby","tabindex","onClick","onKeydown","onFocus","onBlur"]),createVNode(unref(ElCollapseTransition),null,{default:withCtx(()=>[withDirectives(createBaseVNode("div",{id:unref(re),role:"region",class:normalizeClass(unref(ie)),"aria-hidden":!unref(g),"aria-labelledby":unref(ae)},[createBaseVNode("div",{class:normalizeClass(unref(oe))},[renderSlot(le.$slots,"default")],2)],10,["id","aria-hidden","aria-labelledby"]),[[vShow,unref(g)]])]),_:3})],2))}});var CollapseItem=_export_sfc(_sfc_main$16,[["__file","collapse-item.vue"]]);const ElCollapse=withInstall(Collapse,{CollapseItem}),ElCollapseItem=withNoopInstall(CollapseItem),alphaSliderProps=buildProps({color:{type:definePropType(Object),required:!0},vertical:{type:Boolean,default:!1}});let isDragging=!1;function draggable(n,e){if(!isClient)return;const t=function(g){var y;(y=e.drag)==null||y.call(e,g)},i=function(g){var y;document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",i),document.removeEventListener("touchmove",t),document.removeEventListener("touchend",i),document.onselectstart=null,document.ondragstart=null,isDragging=!1,(y=e.end)==null||y.call(e,g)},r=function(g){var y;isDragging||(g.preventDefault(),document.onselectstart=()=>!1,document.ondragstart=()=>!1,document.addEventListener("mousemove",t),document.addEventListener("mouseup",i),document.addEventListener("touchmove",t),document.addEventListener("touchend",i),isDragging=!0,(y=e.start)==null||y.call(e,g))};n.addEventListener("mousedown",r),n.addEventListener("touchstart",r,{passive:!1})}const getClientXY=n=>{let e,t;return n.type==="touchend"?(t=n.changedTouches[0].clientY,e=n.changedTouches[0].clientX):n.type.startsWith("touch")?(t=n.touches[0].clientY,e=n.touches[0].clientX):(t=n.clientY,e=n.clientX),{clientX:e,clientY:t}},useAlphaSlider=n=>{const e=getCurrentInstance$1(),{t}=useLocale(),i=shallowRef(),r=shallowRef(),g=computed$1(()=>n.color.get("alpha")),y=computed$1(()=>t("el.colorpicker.alphaLabel"));function k(j){var ie;j.target!==i.value&&L(j),(ie=i.value)==null||ie.focus()}function L(j){if(!r.value||!i.value)return;const oe=e.vnode.el.getBoundingClientRect(),{clientX:re,clientY:ae}=getClientXY(j);if(n.vertical){let le=ae-oe.top;le=Math.max(i.value.offsetHeight/2,le),le=Math.min(le,oe.height-i.value.offsetHeight/2),n.color.set("alpha",Math.round((le-i.value.offsetHeight/2)/(oe.height-i.value.offsetHeight)*100))}else{let le=re-oe.left;le=Math.max(i.value.offsetWidth/2,le),le=Math.min(le,oe.width-i.value.offsetWidth/2),n.color.set("alpha",Math.round((le-i.value.offsetWidth/2)/(oe.width-i.value.offsetWidth)*100))}}function V(j){const{code:ie,shiftKey:oe}=j,re=oe?10:1;switch(ie){case EVENT_CODE.left:case EVENT_CODE.down:j.preventDefault(),j.stopPropagation(),z(-re);break;case EVENT_CODE.right:case EVENT_CODE.up:j.preventDefault(),j.stopPropagation(),z(re);break}}function z(j){let ie=g.value+j;ie=ie<0?0:ie>100?100:ie,n.color.set("alpha",ie)}return{thumb:i,bar:r,alpha:g,alphaLabel:y,handleDrag:L,handleClick:k,handleKeydown:V}},useAlphaSliderDOM=(n,{bar:e,thumb:t,handleDrag:i})=>{const r=getCurrentInstance$1(),g=useNamespace("color-alpha-slider"),y=ref$1(0),k=ref$1(0),L=ref$1();function V(){if(!t.value||n.vertical)return 0;const ue=r.vnode.el,he=n.color.get("alpha");return ue?Math.round(he*(ue.offsetWidth-t.value.offsetWidth/2)/100):0}function z(){if(!t.value)return 0;const ue=r.vnode.el;if(!n.vertical)return 0;const he=n.color.get("alpha");return ue?Math.round(he*(ue.offsetHeight-t.value.offsetHeight/2)/100):0}function j(){if(n.color&&n.color.value){const{r:ue,g:he,b:pe}=n.color.toRgb();return"linear-gradient(to right, rgba(".concat(ue,", ").concat(he,", ").concat(pe,", 0) 0%, rgba(").concat(ue,", ").concat(he,", ").concat(pe,", 1) 100%)")}return""}function ie(){y.value=V(),k.value=z(),L.value=j()}onMounted(()=>{if(!e.value||!t.value)return;const ue={drag:he=>{i(he)},end:he=>{i(he)}};draggable(e.value,ue),draggable(t.value,ue),ie()}),watch(()=>n.color.get("alpha"),()=>ie()),watch(()=>n.color.value,()=>ie());const oe=computed$1(()=>[g.b(),g.is("vertical",n.vertical)]),re=computed$1(()=>g.e("bar")),ae=computed$1(()=>g.e("thumb")),le=computed$1(()=>({background:L.value})),de=computed$1(()=>({left:addUnit(y.value),top:addUnit(k.value)}));return{rootKls:oe,barKls:re,barStyle:le,thumbKls:ae,thumbStyle:de,update:ie}},COMPONENT_NAME$8="ElColorAlphaSlider",__default__$v=defineComponent({name:COMPONENT_NAME$8}),_sfc_main$15=defineComponent({...__default__$v,props:alphaSliderProps,setup(n,{expose:e}){const t=n,{alpha:i,alphaLabel:r,bar:g,thumb:y,handleDrag:k,handleClick:L,handleKeydown:V}=useAlphaSlider(t),{rootKls:z,barKls:j,barStyle:ie,thumbKls:oe,thumbStyle:re,update:ae}=useAlphaSliderDOM(t,{bar:g,thumb:y,handleDrag:k});return e({update:ae,bar:g,thumb:y}),(le,de)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(z))},[createBaseVNode("div",{ref_key:"bar",ref:g,class:normalizeClass(unref(j)),style:normalizeStyle(unref(ie)),onClick:unref(L)},null,14,["onClick"]),createBaseVNode("div",{ref_key:"thumb",ref:y,class:normalizeClass(unref(oe)),style:normalizeStyle(unref(re)),"aria-label":unref(r),"aria-valuenow":unref(i),"aria-orientation":le.vertical?"vertical":"horizontal","aria-valuemin":"0","aria-valuemax":"100",role:"slider",tabindex:"0",onKeydown:unref(V)},null,46,["aria-label","aria-valuenow","aria-orientation","onKeydown"])],2))}});var AlphaSlider=_export_sfc(_sfc_main$15,[["__file","alpha-slider.vue"]]);const _sfc_main$14=defineComponent({name:"ElColorHueSlider",props:{color:{type:Object,required:!0},vertical:Boolean},setup(n){const e=useNamespace("color-hue-slider"),t=getCurrentInstance$1(),i=ref$1(),r=ref$1(),g=ref$1(0),y=ref$1(0),k=computed$1(()=>n.color.get("hue"));watch(()=>k.value,()=>{ie()});function L(oe){oe.target!==i.value&&V(oe)}function V(oe){if(!r.value||!i.value)return;const ae=t.vnode.el.getBoundingClientRect(),{clientX:le,clientY:de}=getClientXY(oe);let ue;if(n.vertical){let he=de-ae.top;he=Math.min(he,ae.height-i.value.offsetHeight/2),he=Math.max(i.value.offsetHeight/2,he),ue=Math.round((he-i.value.offsetHeight/2)/(ae.height-i.value.offsetHeight)*360)}else{let he=le-ae.left;he=Math.min(he,ae.width-i.value.offsetWidth/2),he=Math.max(i.value.offsetWidth/2,he),ue=Math.round((he-i.value.offsetWidth/2)/(ae.width-i.value.offsetWidth)*360)}n.color.set("hue",ue)}function z(){if(!i.value)return 0;const oe=t.vnode.el;if(n.vertical)return 0;const re=n.color.get("hue");return oe?Math.round(re*(oe.offsetWidth-i.value.offsetWidth/2)/360):0}function j(){if(!i.value)return 0;const oe=t.vnode.el;if(!n.vertical)return 0;const re=n.color.get("hue");return oe?Math.round(re*(oe.offsetHeight-i.value.offsetHeight/2)/360):0}function ie(){g.value=z(),y.value=j()}return onMounted(()=>{if(!r.value||!i.value)return;const oe={drag:re=>{V(re)},end:re=>{V(re)}};draggable(r.value,oe),draggable(i.value,oe),ie()}),{bar:r,thumb:i,thumbLeft:g,thumbTop:y,hueValue:k,handleClick:L,update:ie,ns:e}}});function _sfc_render$m(n,e,t,i,r,g){return openBlock(),createElementBlock("div",{class:normalizeClass([n.ns.b(),n.ns.is("vertical",n.vertical)])},[createBaseVNode("div",{ref:"bar",class:normalizeClass(n.ns.e("bar")),onClick:n.handleClick},null,10,["onClick"]),createBaseVNode("div",{ref:"thumb",class:normalizeClass(n.ns.e("thumb")),style:normalizeStyle({left:n.thumbLeft+"px",top:n.thumbTop+"px"})},null,6)],2)}var HueSlider=_export_sfc(_sfc_main$14,[["render",_sfc_render$m],["__file","hue-slider.vue"]]);const colorPickerProps=buildProps({modelValue:String,id:String,showAlpha:Boolean,colorFormat:String,disabled:Boolean,size:useSizeProp,popperClass:{type:String,default:""},tabindex:{type:[String,Number],default:0},teleported:useTooltipContentProps.teleported,predefine:{type:definePropType(Array)},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),colorPickerEmits={[UPDATE_MODEL_EVENT]:n=>isString$5(n)||isNil(n),[CHANGE_EVENT]:n=>isString$5(n)||isNil(n),activeChange:n=>isString$5(n)||isNil(n),focus:n=>n instanceof FocusEvent,blur:n=>n instanceof FocusEvent},colorPickerContextKey=Symbol("colorPickerContextKey"),hsv2hsl=function(n,e,t){return[n,e*t/((n=(2-e)*t)<1?n:2-n)||0,n/2]},isOnePointZero=function(n){return isString$5(n)&&n.includes(".")&&Number.parseFloat(n)===1},isPercentage=function(n){return isString$5(n)&&n.includes("%")},bound01=function(n,e){isOnePointZero(n)&&(n="100%");const t=isPercentage(n);return n=Math.min(e,Math.max(0,Number.parseFloat("".concat(n)))),t&&(n=Number.parseInt("".concat(n*e),10)/100),Math.abs(n-e)<1e-6?1:n%e/Number.parseFloat(e)},INT_HEX_MAP={10:"A",11:"B",12:"C",13:"D",14:"E",15:"F"},hexOne=n=>{n=Math.min(Math.round(n),255);const e=Math.floor(n/16),t=n%16;return"".concat(INT_HEX_MAP[e]||e).concat(INT_HEX_MAP[t]||t)},toHex=function({r:n,g:e,b:t}){return Number.isNaN(+n)||Number.isNaN(+e)||Number.isNaN(+t)?"":"#".concat(hexOne(n)).concat(hexOne(e)).concat(hexOne(t))},HEX_INT_MAP={A:10,B:11,C:12,D:13,E:14,F:15},parseHexChannel=function(n){return n.length===2?(HEX_INT_MAP[n[0].toUpperCase()]||+n[0])*16+(HEX_INT_MAP[n[1].toUpperCase()]||+n[1]):HEX_INT_MAP[n[1].toUpperCase()]||+n[1]},hsl2hsv=function(n,e,t){e=e/100,t=t/100;let i=e;const r=Math.max(t,.01);t*=2,e*=t<=1?t:2-t,i*=r<=1?r:2-r;const g=(t+e)/2,y=t===0?2*i/(r+i):2*e/(t+e);return{h:n,s:y*100,v:g*100}},rgb2hsv=(n,e,t)=>{n=bound01(n,255),e=bound01(e,255),t=bound01(t,255);const i=Math.max(n,e,t),r=Math.min(n,e,t);let g;const y=i,k=i-r,L=i===0?0:k/i;if(i===r)g=0;else{switch(i){case n:{g=(e-t)/k+(e{this._hue=Math.max(0,Math.min(360,i)),this._saturation=Math.max(0,Math.min(100,r)),this._value=Math.max(0,Math.min(100,g)),this.doOnChange()};if(e.includes("hsl")){const i=e.replace(/hsla|hsl|\(|\)/gm,"").split(/\s|,/g).filter(r=>r!=="").map((r,g)=>g>2?Number.parseFloat(r):Number.parseInt(r,10));if(i.length===4?this._alpha=Number.parseFloat(i[3])*100:i.length===3&&(this._alpha=100),i.length>=3){const{h:r,s:g,v:y}=hsl2hsv(i[0],i[1],i[2]);t(r,g,y)}}else if(e.includes("hsv")){const i=e.replace(/hsva|hsv|\(|\)/gm,"").split(/\s|,/g).filter(r=>r!=="").map((r,g)=>g>2?Number.parseFloat(r):Number.parseInt(r,10));i.length===4?this._alpha=Number.parseFloat(i[3])*100:i.length===3&&(this._alpha=100),i.length>=3&&t(i[0],i[1],i[2])}else if(e.includes("rgb")){const i=e.replace(/rgba|rgb|\(|\)/gm,"").split(/\s|,/g).filter(r=>r!=="").map((r,g)=>g>2?Number.parseFloat(r):Number.parseInt(r,10));if(i.length===4?this._alpha=Number.parseFloat(i[3])*100:i.length===3&&(this._alpha=100),i.length>=3){const{h:r,s:g,v:y}=rgb2hsv(i[0],i[1],i[2]);t(r,g,y)}}else if(e.includes("#")){const i=e.replace("#","").trim();if(!/^[0-9a-fA-F]{3}$|^[0-9a-fA-F]{6}$|^[0-9a-fA-F]{8}$/.test(i))return;let r,g,y;i.length===3?(r=parseHexChannel(i[0]+i[0]),g=parseHexChannel(i[1]+i[1]),y=parseHexChannel(i[2]+i[2])):(i.length===6||i.length===8)&&(r=parseHexChannel(i.slice(0,2)),g=parseHexChannel(i.slice(2,4)),y=parseHexChannel(i.slice(4,6))),i.length===8?this._alpha=parseHexChannel(i.slice(6))/255*100:(i.length===3||i.length===6)&&(this._alpha=100);const{h:k,s:L,v:V}=rgb2hsv(r,g,y);t(k,L,V)}}compare(e){return Math.abs(e._hue-this._hue)<2&&Math.abs(e._saturation-this._saturation)<1&&Math.abs(e._value-this._value)<1&&Math.abs(e._alpha-this._alpha)<1}doOnChange(){const{_hue:e,_saturation:t,_value:i,_alpha:r,format:g}=this;if(this.enableAlpha)switch(g){case"hsl":{const y=hsv2hsl(e,t/100,i/100);this.value="hsla(".concat(e,", ").concat(Math.round(y[1]*100),"%, ").concat(Math.round(y[2]*100),"%, ").concat(this.get("alpha")/100,")");break}case"hsv":{this.value="hsva(".concat(e,", ").concat(Math.round(t),"%, ").concat(Math.round(i),"%, ").concat(this.get("alpha")/100,")");break}case"hex":{this.value="".concat(toHex(hsv2rgb(e,t,i))).concat(hexOne(r*255/100));break}default:{const{r:y,g:k,b:L}=hsv2rgb(e,t,i);this.value="rgba(".concat(y,", ").concat(k,", ").concat(L,", ").concat(this.get("alpha")/100,")")}}else switch(g){case"hsl":{const y=hsv2hsl(e,t/100,i/100);this.value="hsl(".concat(e,", ").concat(Math.round(y[1]*100),"%, ").concat(Math.round(y[2]*100),"%)");break}case"hsv":{this.value="hsv(".concat(e,", ").concat(Math.round(t),"%, ").concat(Math.round(i),"%)");break}case"rgb":{const{r:y,g:k,b:L}=hsv2rgb(e,t,i);this.value="rgb(".concat(y,", ").concat(k,", ").concat(L,")");break}default:this.value=toHex(hsv2rgb(e,t,i))}}}const _sfc_main$13=defineComponent({props:{colors:{type:Array,required:!0},color:{type:Object,required:!0},enableAlpha:{type:Boolean,required:!0}},setup(n){const e=useNamespace("color-predefine"),{currentColor:t}=inject(colorPickerContextKey),i=ref$1(g(n.colors,n.color));watch(()=>t.value,y=>{const k=new Color;k.fromString(y),i.value.forEach(L=>{L.selected=k.compare(L)})}),watchEffect(()=>{i.value=g(n.colors,n.color)});function r(y){n.color.fromString(n.colors[y])}function g(y,k){return y.map(L=>{const V=new Color;return V.enableAlpha=n.enableAlpha,V.format="rgba",V.fromString(L),V.selected=V.value===k.value,V})}return{rgbaColors:i,handleSelect:r,ns:e}}});function _sfc_render$l(n,e,t,i,r,g){return openBlock(),createElementBlock("div",{class:normalizeClass(n.ns.b())},[createBaseVNode("div",{class:normalizeClass(n.ns.e("colors"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.rgbaColors,(y,k)=>(openBlock(),createElementBlock("div",{key:n.colors[k],class:normalizeClass([n.ns.e("color-selector"),n.ns.is("alpha",y._alpha<100),{selected:y.selected}]),onClick:L=>n.handleSelect(k)},[createBaseVNode("div",{style:normalizeStyle({backgroundColor:y.value})},null,4)],10,["onClick"]))),128))],2)],2)}var Predefine=_export_sfc(_sfc_main$13,[["render",_sfc_render$l],["__file","predefine.vue"]]);const _sfc_main$12=defineComponent({name:"ElSlPanel",props:{color:{type:Object,required:!0}},setup(n){const e=useNamespace("color-svpanel"),t=getCurrentInstance$1(),i=ref$1(0),r=ref$1(0),g=ref$1("hsl(0, 100%, 50%)"),y=computed$1(()=>{const V=n.color.get("hue"),z=n.color.get("value");return{hue:V,value:z}});function k(){const V=n.color.get("saturation"),z=n.color.get("value"),j=t.vnode.el,{clientWidth:ie,clientHeight:oe}=j;r.value=V*ie/100,i.value=(100-z)*oe/100,g.value="hsl(".concat(n.color.get("hue"),", 100%, 50%)")}function L(V){const j=t.vnode.el.getBoundingClientRect(),{clientX:ie,clientY:oe}=getClientXY(V);let re=ie-j.left,ae=oe-j.top;re=Math.max(0,re),re=Math.min(re,j.width),ae=Math.max(0,ae),ae=Math.min(ae,j.height),r.value=re,i.value=ae,n.color.set({saturation:re/j.width*100,value:100-ae/j.height*100})}return watch(()=>y.value,()=>{k()}),onMounted(()=>{draggable(t.vnode.el,{drag:V=>{L(V)},end:V=>{L(V)}}),k()}),{cursorTop:i,cursorLeft:r,background:g,colorValue:y,handleDrag:L,update:k,ns:e}}});function _sfc_render$k(n,e,t,i,r,g){return openBlock(),createElementBlock("div",{class:normalizeClass(n.ns.b()),style:normalizeStyle({backgroundColor:n.background})},[createBaseVNode("div",{class:normalizeClass(n.ns.e("white"))},null,2),createBaseVNode("div",{class:normalizeClass(n.ns.e("black"))},null,2),createBaseVNode("div",{class:normalizeClass(n.ns.e("cursor")),style:normalizeStyle({top:n.cursorTop+"px",left:n.cursorLeft+"px"})},[createBaseVNode("div")],6)],6)}var SvPanel=_export_sfc(_sfc_main$12,[["render",_sfc_render$k],["__file","sv-panel.vue"]]);const __default__$u=defineComponent({name:"ElColorPicker"}),_sfc_main$11=defineComponent({...__default__$u,props:colorPickerProps,emits:colorPickerEmits,setup(n,{expose:e,emit:t}){const i=n,{t:r}=useLocale(),g=useNamespace("color"),{formItem:y}=useFormItem(),k=useFormSize(),L=useFormDisabled(),{inputId:V,isLabeledByFormItem:z}=useFormItemInputId(i,{formItemContext:y}),j=ref$1(),ie=ref$1(),oe=ref$1(),re=ref$1(),ae=ref$1(),le=ref$1(),{isFocused:de,handleFocus:ue,handleBlur:he}=useFocusController(ae,{beforeFocus(){return L.value},beforeBlur(xi){var Oi;return(Oi=re.value)==null?void 0:Oi.isFocusInsideContent(xi)},afterBlur(){Ue(!1),kt()}});let pe=!0;const Ce=reactive$1(new Color({enableAlpha:i.showAlpha,format:i.colorFormat||"",value:i.modelValue})),$e=ref$1(!1),xe=ref$1(!1),Ie=ref$1(""),Ne=computed$1(()=>!i.modelValue&&!xe.value?"transparent":qe(Ce,i.showAlpha)),Fe=computed$1(()=>!i.modelValue&&!xe.value?"":Ce.value),Ve=computed$1(()=>z.value?void 0:i.ariaLabel||r("el.colorpicker.defaultLabel")),Oe=computed$1(()=>z.value?y==null?void 0:y.labelId:void 0),ze=computed$1(()=>[g.b("picker"),g.is("disabled",L.value),g.bm("picker",k.value),g.is("focused",de.value)]);function qe(xi,Oi){if(!(xi instanceof Color))throw new TypeError("color should be instance of _color Class");const{r:Ei,g:si,b:fi}=xi.toRgb();return Oi?"rgba(".concat(Ei,", ").concat(si,", ").concat(fi,", ").concat(xi.get("alpha")/100,")"):"rgb(".concat(Ei,", ").concat(si,", ").concat(fi,")")}function Ue(xi){$e.value=xi}const Et=debounce(Ue,100,{leading:!0});function At(){L.value||Ue(!0)}function Lt(){Et(!1),kt()}function kt(){nextTick(()=>{i.modelValue?Ce.fromString(i.modelValue):(Ce.value="",nextTick(()=>{xe.value=!1}))})}function ei(){L.value||($e.value&&kt(),Et(!$e.value))}function jt(){Ce.fromString(Ie.value)}function ri(){const xi=Ce.value;t(UPDATE_MODEL_EVENT,xi),t("change",xi),i.validateEvent&&(y==null||y.validate("change").catch(Oi=>void 0)),Et(!1),nextTick(()=>{const Oi=new Color({enableAlpha:i.showAlpha,format:i.colorFormat||"",value:i.modelValue});Ce.compare(Oi)||kt()})}function ni(){Et(!1),t(UPDATE_MODEL_EVENT,null),t("change",null),i.modelValue!==null&&i.validateEvent&&(y==null||y.validate("change").catch(xi=>void 0)),kt()}function Ci(){$e.value&&(Lt(),de.value&&ai())}function wi(xi){xi.preventDefault(),xi.stopPropagation(),Ue(!1),kt()}function Ri(xi){switch(xi.code){case EVENT_CODE.enter:case EVENT_CODE.numpadEnter:case EVENT_CODE.space:xi.preventDefault(),xi.stopPropagation(),At(),le.value.focus();break;case EVENT_CODE.esc:wi(xi);break}}function ai(){ae.value.focus()}function hi(){ae.value.blur()}return onMounted(()=>{i.modelValue&&(Ie.value=Fe.value)}),watch(()=>i.modelValue,xi=>{xi?xi&&xi!==Ce.value&&(pe=!1,Ce.fromString(xi)):xe.value=!1}),watch(()=>[i.colorFormat,i.showAlpha],()=>{Ce.enableAlpha=i.showAlpha,Ce.format=i.colorFormat||Ce.format,Ce.doOnChange(),t(UPDATE_MODEL_EVENT,Ce.value)}),watch(()=>Fe.value,xi=>{Ie.value=xi,pe&&t("activeChange",xi),pe=!0}),watch(()=>Ce.value,()=>{!i.modelValue&&!xe.value&&(xe.value=!0)}),watch(()=>$e.value,()=>{nextTick(()=>{var xi,Oi,Ei;(xi=j.value)==null||xi.update(),(Oi=ie.value)==null||Oi.update(),(Ei=oe.value)==null||Ei.update()})}),provide(colorPickerContextKey,{currentColor:Fe}),e({color:Ce,show:At,hide:Lt,focus:ai,blur:hi}),(xi,Oi)=>(openBlock(),createBlock(unref(ElTooltip),{ref_key:"popper",ref:re,visible:$e.value,"show-arrow":!1,"fallback-placements":["bottom","top","right","left"],offset:0,"gpu-acceleration":!1,"popper-class":[unref(g).be("picker","panel"),unref(g).b("dropdown"),xi.popperClass],"stop-popper-mouse-event":!1,effect:"light",trigger:"click",teleported:xi.teleported,transition:"".concat(unref(g).namespace.value,"-zoom-in-top"),persistent:"",onHide:Ei=>Ue(!1)},{content:withCtx(()=>[withDirectives((openBlock(),createElementBlock("div",{onKeydown:withKeys(wi,["esc"])},[createBaseVNode("div",{class:normalizeClass(unref(g).be("dropdown","main-wrapper"))},[createVNode(HueSlider,{ref_key:"hue",ref:j,class:"hue-slider",color:unref(Ce),vertical:""},null,8,["color"]),createVNode(SvPanel,{ref_key:"sv",ref:ie,color:unref(Ce)},null,8,["color"])],2),xi.showAlpha?(openBlock(),createBlock(AlphaSlider,{key:0,ref_key:"alpha",ref:oe,color:unref(Ce)},null,8,["color"])):createCommentVNode("v-if",!0),xi.predefine?(openBlock(),createBlock(Predefine,{key:1,ref:"predefine","enable-alpha":xi.showAlpha,color:unref(Ce),colors:xi.predefine},null,8,["enable-alpha","color","colors"])):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(g).be("dropdown","btns"))},[createBaseVNode("span",{class:normalizeClass(unref(g).be("dropdown","value"))},[createVNode(unref(ElInput),{ref_key:"inputRef",ref:le,modelValue:Ie.value,"onUpdate:modelValue":Ei=>Ie.value=Ei,"validate-event":!1,size:"small",onKeyup:withKeys(jt,["enter"]),onBlur:jt},null,8,["modelValue","onUpdate:modelValue","onKeyup"])],2),createVNode(unref(ElButton),{class:normalizeClass(unref(g).be("dropdown","link-btn")),text:"",size:"small",onClick:ni},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(r)("el.colorpicker.clear")),1)]),_:1},8,["class"]),createVNode(unref(ElButton),{plain:"",size:"small",class:normalizeClass(unref(g).be("dropdown","btn")),onClick:ri},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(r)("el.colorpicker.confirm")),1)]),_:1},8,["class"])],2)],40,["onKeydown"])),[[unref(ClickOutside),Ci,ae.value]])]),default:withCtx(()=>[createBaseVNode("div",mergeProps({id:unref(V),ref_key:"triggerRef",ref:ae},xi.$attrs,{class:unref(ze),role:"button","aria-label":unref(Ve),"aria-labelledby":unref(Oe),"aria-description":unref(r)("el.colorpicker.description",{color:xi.modelValue||""}),"aria-disabled":unref(L),tabindex:unref(L)?-1:xi.tabindex,onKeydown:Ri,onFocus:unref(ue),onBlur:unref(he)}),[unref(L)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(g).be("picker","mask"))},null,2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(g).be("picker","trigger")),onClick:ei},[createBaseVNode("span",{class:normalizeClass([unref(g).be("picker","color"),unref(g).is("alpha",xi.showAlpha)])},[createBaseVNode("span",{class:normalizeClass(unref(g).be("picker","color-inner")),style:normalizeStyle({backgroundColor:unref(Ne)})},[withDirectives(createVNode(unref(ElIcon),{class:normalizeClass([unref(g).be("picker","icon"),unref(g).is("icon-arrow-down")])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class"]),[[vShow,xi.modelValue||xe.value]]),withDirectives(createVNode(unref(ElIcon),{class:normalizeClass([unref(g).be("picker","empty"),unref(g).is("icon-close")])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"]),[[vShow,!xi.modelValue&&!xe.value]])],6)],2)],2)],16,["id","aria-label","aria-labelledby","aria-description","aria-disabled","tabindex","onFocus","onBlur"])]),_:1},8,["visible","popper-class","teleported","transition","onHide"]))}});var ColorPicker=_export_sfc(_sfc_main$11,[["__file","color-picker.vue"]]);const ElColorPicker=withInstall(ColorPicker),messageConfig={},timeUnits=["hours","minutes","seconds"],DEFAULT_FORMATS_TIME="HH:mm:ss",DEFAULT_FORMATS_DATE="YYYY-MM-DD",DEFAULT_FORMATS_DATEPICKER={date:DEFAULT_FORMATS_DATE,dates:DEFAULT_FORMATS_DATE,week:"gggg[w]ww",year:"YYYY",years:"YYYY",month:"YYYY-MM",months:"YYYY-MM",datetime:"".concat(DEFAULT_FORMATS_DATE," ").concat(DEFAULT_FORMATS_TIME),monthrange:"YYYY-MM",yearrange:"YYYY",daterange:DEFAULT_FORMATS_DATE,datetimerange:"".concat(DEFAULT_FORMATS_DATE," ").concat(DEFAULT_FORMATS_TIME)},disabledTimeListsProps=buildProps({disabledHours:{type:definePropType(Function)},disabledMinutes:{type:definePropType(Function)},disabledSeconds:{type:definePropType(Function)}}),timePanelSharedProps=buildProps({visible:Boolean,actualVisible:{type:Boolean,default:void 0},format:{type:String,default:""}}),timePickerDefaultProps=buildProps({id:{type:definePropType([Array,String])},name:{type:definePropType([Array,String])},popperClass:{type:String,default:""},format:String,valueFormat:String,dateFormat:String,timeFormat:String,type:{type:String,default:""},clearable:{type:Boolean,default:!0},clearIcon:{type:definePropType([String,Object]),default:circle_close_default},editable:{type:Boolean,default:!0},prefixIcon:{type:definePropType([String,Object]),default:""},size:useSizeProp,readonly:Boolean,disabled:Boolean,placeholder:{type:String,default:""},popperOptions:{type:definePropType(Object),default:()=>({})},modelValue:{type:definePropType([Date,Array,String,Number]),default:""},rangeSeparator:{type:String,default:"-"},startPlaceholder:String,endPlaceholder:String,defaultValue:{type:definePropType([Date,Array])},defaultTime:{type:definePropType([Date,Array])},isRange:Boolean,...disabledTimeListsProps,disabledDate:{type:Function},cellClassName:{type:Function},shortcuts:{type:Array,default:()=>[]},arrowControl:Boolean,tabindex:{type:definePropType([String,Number]),default:0},validateEvent:{type:Boolean,default:!0},unlinkPanels:Boolean,placement:{type:definePropType(String),values:Ee,default:"bottom"},fallbackPlacements:{type:definePropType(Array),default:["bottom","top","right","left"]},...useEmptyValuesProps,...useAriaProps(["ariaLabel"]),showNow:{type:Boolean,default:!0}}),timePickerRngeTriggerProps=buildProps({id:{type:definePropType(Array)},name:{type:definePropType(Array)},modelValue:{type:definePropType([Array,String])},startPlaceholder:String,endPlaceholder:String}),__default__$t=defineComponent({name:"PickerRangeTrigger",inheritAttrs:!1}),_sfc_main$10=defineComponent({...__default__$t,props:timePickerRngeTriggerProps,emits:["mouseenter","mouseleave","click","touchstart","focus","blur","startInput","endInput","startChange","endChange"],setup(n,{expose:e,emit:t}){const i=useAttrs(),r=useNamespace("date"),g=useNamespace("range"),y=ref$1(),k=ref$1(),{wrapperRef:L,isFocused:V}=useFocusController(y),z=pe=>{t("click",pe)},j=pe=>{t("mouseenter",pe)},ie=pe=>{t("mouseleave",pe)},oe=pe=>{t("mouseenter",pe)},re=pe=>{t("startInput",pe)},ae=pe=>{t("endInput",pe)},le=pe=>{t("startChange",pe)},de=pe=>{t("endChange",pe)};return e({focus:()=>{var pe;(pe=y.value)==null||pe.focus()},blur:()=>{var pe,Ce;(pe=y.value)==null||pe.blur(),(Ce=k.value)==null||Ce.blur()}}),(pe,Ce)=>(openBlock(),createElementBlock("div",{ref_key:"wrapperRef",ref:L,class:normalizeClass([unref(r).is("active",unref(V)),pe.$attrs.class]),style:normalizeStyle(pe.$attrs.style),onClick:z,onMouseenter:j,onMouseleave:ie,onTouchstartPassive:oe},[renderSlot(pe.$slots,"prefix"),createBaseVNode("input",mergeProps(unref(i),{id:pe.id&&pe.id[0],ref_key:"inputRef",ref:y,name:pe.name&&pe.name[0],placeholder:pe.startPlaceholder,value:pe.modelValue&&pe.modelValue[0],class:unref(g).b("input"),onInput:re,onChange:le}),null,16,["id","name","placeholder","value"]),renderSlot(pe.$slots,"range-separator"),createBaseVNode("input",mergeProps(unref(i),{id:pe.id&&pe.id[1],ref_key:"endInputRef",ref:k,name:pe.name&&pe.name[1],placeholder:pe.endPlaceholder,value:pe.modelValue&&pe.modelValue[1],class:unref(g).b("input"),onInput:ae,onChange:de}),null,16,["id","name","placeholder","value"]),renderSlot(pe.$slots,"suffix")],38))}});var PickerRangeTrigger=_export_sfc(_sfc_main$10,[["__file","picker-range-trigger.vue"]]);const __default__$s=defineComponent({name:"Picker"}),_sfc_main$$=defineComponent({...__default__$s,props:timePickerDefaultProps,emits:["update:modelValue","change","focus","blur","clear","calendar-change","panel-change","visible-change","keydown"],setup(n,{expose:e,emit:t}){const i=n,r=useAttrs$1(),{lang:g}=useLocale(),y=useNamespace("date"),k=useNamespace("input"),L=useNamespace("range"),{form:V,formItem:z}=useFormItem(),j=inject("ElPopperOptions",{}),{valueOnClear:ie}=useEmptyValues(i,null),oe=ref$1(),re=ref$1(),ae=ref$1(!1),le=ref$1(!1),de=ref$1(null);let ue=!1;const{isFocused:he,handleFocus:pe,handleBlur:Ce}=useFocusController(re,{beforeFocus(){return i.readonly||kt.value},afterFocus(){ae.value=!0},beforeBlur(di){var Wi;return!ue&&((Wi=oe.value)==null?void 0:Wi.isFocusInsideContent(di))},afterBlur(){bi(),ae.value=!1,ue=!1,i.validateEvent&&(z==null||z.validate("blur").catch(di=>void 0))}}),$e=computed$1(()=>[y.b("editor"),y.bm("editor",i.type),k.e("wrapper"),y.is("disabled",kt.value),y.is("active",ae.value),L.b("editor"),ki?L.bm("editor",ki.value):"",r.class]),xe=computed$1(()=>[k.e("icon"),L.e("close-icon"),hi.value?"":L.e("close-icon--hidden")]);watch(ae,di=>{di?nextTick(()=>{di&&(de.value=i.modelValue)}):(zi.value=null,nextTick(()=>{Ie(i.modelValue)}))});const Ie=(di,Wi)=>{(Wi||!valueEquals(di,de.value))&&(t("change",di),i.validateEvent&&(z==null||z.validate("change").catch(Gi=>void 0)))},Ne=di=>{if(!valueEquals(i.modelValue,di)){let Wi;isArray$2(di)?Wi=di.map(Gi=>formatter(Gi,i.valueFormat,g.value)):di&&(Wi=formatter(di,i.valueFormat,g.value)),t("update:modelValue",di&&Wi,g.value)}},Fe=di=>{t("keydown",di)},Ve=computed$1(()=>re.value?Array.from(re.value.$el.querySelectorAll("input")):[]),Oe=(di,Wi,Gi)=>{const Zi=Ve.value;Zi.length&&(!Gi||Gi==="min"?(Zi[0].setSelectionRange(di,Wi),Zi[0].focus()):Gi==="max"&&(Zi[1].setSelectionRange(di,Wi),Zi[1].focus()))},ze=(di="",Wi=!1)=>{ae.value=Wi;let Gi;isArray$2(di)?Gi=di.map(Zi=>Zi.toDate()):Gi=di&&di.toDate(),zi.value=null,Ne(Gi)},qe=()=>{le.value=!0},Ue=()=>{t("visible-change",!0)},Et=()=>{le.value=!1,ae.value=!1,t("visible-change",!1)},At=()=>{ae.value=!0},Lt=()=>{ae.value=!1},kt=computed$1(()=>i.disabled||(V==null?void 0:V.disabled)),ei=computed$1(()=>{let di;if(Oi.value?ci.value.getDefaultValue&&(di=ci.value.getDefaultValue()):isArray$2(i.modelValue)?di=i.modelValue.map(Wi=>parseDate(Wi,i.valueFormat,g.value)):di=parseDate(i.modelValue,i.valueFormat,g.value),ci.value.getRangeAvailableTime){const Wi=ci.value.getRangeAvailableTime(di);isEqual$1(Wi,di)||(di=Wi,Oi.value||Ne(dayOrDaysToDate(di)))}return isArray$2(di)&&di.some(Wi=>!Wi)&&(di=[]),di}),jt=computed$1(()=>{if(!ci.value.panelReady)return"";const di=Li(ei.value);return isArray$2(zi.value)?[zi.value[0]||di&&di[0]||"",zi.value[1]||di&&di[1]||""]:zi.value!==null?zi.value:!ni.value&&Oi.value||!ae.value&&Oi.value?"":di?Ci.value||wi.value||Ri.value?di.join(", "):di:""}),ri=computed$1(()=>i.type.includes("time")),ni=computed$1(()=>i.type.startsWith("time")),Ci=computed$1(()=>i.type==="dates"),wi=computed$1(()=>i.type==="months"),Ri=computed$1(()=>i.type==="years"),ai=computed$1(()=>i.prefixIcon||(ri.value?clock_default:calendar_default)),hi=ref$1(!1),xi=di=>{i.readonly||kt.value||(hi.value&&(di.stopPropagation(),ci.value.handleClear?ci.value.handleClear():Ne(ie.value),Ie(ie.value,!0),hi.value=!1,Et()),t("clear"))},Oi=computed$1(()=>{const{modelValue:di}=i;return!di||isArray$2(di)&&!di.filter(Boolean).length}),Ei=async di=>{var Wi;i.readonly||kt.value||(((Wi=di.target)==null?void 0:Wi.tagName)!=="INPUT"||he.value)&&(ae.value=!0)},si=()=>{i.readonly||kt.value||!Oi.value&&i.clearable&&(hi.value=!0)},fi=()=>{hi.value=!1},li=di=>{var Wi;i.readonly||kt.value||(((Wi=di.touches[0].target)==null?void 0:Wi.tagName)!=="INPUT"||he.value)&&(ae.value=!0)},Di=computed$1(()=>i.type.includes("range")),ki=useFormSize(),Ai=computed$1(()=>{var di,Wi;return(Wi=(di=unref(oe))==null?void 0:di.popperRef)==null?void 0:Wi.contentRef}),Ki=onClickOutside(re,di=>{const Wi=unref(Ai),Gi=unrefElement(re);Wi&&(di.target===Wi||di.composedPath().includes(Wi))||di.target===Gi||Gi&&di.composedPath().includes(Gi)||(ae.value=!1)});onBeforeUnmount(()=>{Ki==null||Ki()});const zi=ref$1(null),bi=()=>{if(zi.value){const di=vi(jt.value);di&&oi(di)&&(Ne(dayOrDaysToDate(di)),zi.value=null)}zi.value===""&&(Ne(ie.value),Ie(ie.value),zi.value=null)},vi=di=>di?ci.value.parseUserInput(di):null,Li=di=>di?ci.value.formatToString(di):null,oi=di=>ci.value.isValidValue(di),ii=async di=>{if(i.readonly||kt.value)return;const{code:Wi}=di;if(Fe(di),Wi===EVENT_CODE.esc){ae.value===!0&&(ae.value=!1,di.preventDefault(),di.stopPropagation());return}if(Wi===EVENT_CODE.down&&(ci.value.handleFocusPicker&&(di.preventDefault(),di.stopPropagation()),ae.value===!1&&(ae.value=!0,await nextTick()),ci.value.handleFocusPicker)){ci.value.handleFocusPicker();return}if(Wi===EVENT_CODE.tab){ue=!0;return}if(Wi===EVENT_CODE.enter||Wi===EVENT_CODE.numpadEnter){(zi.value===null||zi.value===""||oi(vi(jt.value)))&&(bi(),ae.value=!1),di.stopPropagation();return}if(zi.value){di.stopPropagation();return}ci.value.handleKeydownInput&&ci.value.handleKeydownInput(di)},mi=di=>{zi.value=di,ae.value||(ae.value=!0)},yi=di=>{const Wi=di.target;zi.value?zi.value=[Wi.value,zi.value[1]]:zi.value=[Wi.value,null]},ti=di=>{const Wi=di.target;zi.value?zi.value=[zi.value[0],Wi.value]:zi.value=[null,Wi.value]},Dt=()=>{var di;const Wi=zi.value,Gi=vi(Wi&&Wi[0]),Zi=unref(ei);if(Gi&&Gi.isValid()){zi.value=[Li(Gi),((di=jt.value)==null?void 0:di[1])||null];const vn=[Gi,Zi&&(Zi[1]||null)];oi(vn)&&(Ne(dayOrDaysToDate(vn)),zi.value=null)}},Pt=()=>{var di;const Wi=unref(zi),Gi=vi(Wi&&Wi[1]),Zi=unref(ei);if(Gi&&Gi.isValid()){zi.value=[((di=unref(jt))==null?void 0:di[0])||null,Li(Gi)];const vn=[Zi&&Zi[0],Gi];oi(vn)&&(Ne(dayOrDaysToDate(vn)),zi.value=null)}},ci=ref$1({}),Ti=di=>{ci.value[di[0]]=di[1],ci.value.panelReady=!0},Mi=di=>{t("calendar-change",di)},pi=(di,Wi,Gi)=>{t("panel-change",di,Wi,Gi)},ui=()=>{var di;(di=re.value)==null||di.focus()},$i=()=>{var di;(di=re.value)==null||di.blur()};return provide("EP_PICKER_BASE",{props:i}),e({focus:ui,blur:$i,handleOpen:At,handleClose:Lt,onPick:ze}),(di,Wi)=>(openBlock(),createBlock(unref(ElTooltip),mergeProps({ref_key:"refPopper",ref:oe,visible:ae.value,effect:"light",pure:"",trigger:"click"},di.$attrs,{role:"dialog",teleported:"",transition:"".concat(unref(y).namespace.value,"-zoom-in-top"),"popper-class":["".concat(unref(y).namespace.value,"-picker__popper"),di.popperClass],"popper-options":unref(j),"fallback-placements":di.fallbackPlacements,"gpu-acceleration":!1,placement:di.placement,"stop-popper-mouse-event":!1,"hide-after":0,persistent:"",onBeforeShow:qe,onShow:Ue,onHide:Et}),{default:withCtx(()=>[unref(Di)?(openBlock(),createBlock(PickerRangeTrigger,{key:1,id:di.id,ref_key:"inputRef",ref:re,"model-value":unref(jt),name:di.name,disabled:unref(kt),readonly:!di.editable||di.readonly,"start-placeholder":di.startPlaceholder,"end-placeholder":di.endPlaceholder,class:normalizeClass(unref($e)),style:normalizeStyle(di.$attrs.style),"aria-label":di.ariaLabel,tabindex:di.tabindex,autocomplete:"off",role:"combobox",onClick:Ei,onFocus:unref(pe),onBlur:unref(Ce),onStartInput:yi,onStartChange:Dt,onEndInput:ti,onEndChange:Pt,onMousedown:Ei,onMouseenter:si,onMouseleave:fi,onTouchstartPassive:li,onKeydown:ii},{prefix:withCtx(()=>[unref(ai)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(k).e("icon"),unref(L).e("icon")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(ai))))]),_:1},8,["class"])):createCommentVNode("v-if",!0)]),"range-separator":withCtx(()=>[renderSlot(di.$slots,"range-separator",{},()=>[createBaseVNode("span",{class:normalizeClass(unref(L).b("separator"))},toDisplayString(di.rangeSeparator),3)])]),suffix:withCtx(()=>[di.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(xe)),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:xi},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(di.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),_:3},8,["id","model-value","name","disabled","readonly","start-placeholder","end-placeholder","class","style","aria-label","tabindex","onFocus","onBlur"])):(openBlock(),createBlock(unref(ElInput),{key:0,id:di.id,ref_key:"inputRef",ref:re,"container-role":"combobox","model-value":unref(jt),name:di.name,size:unref(ki),disabled:unref(kt),placeholder:di.placeholder,class:normalizeClass([unref(y).b("editor"),unref(y).bm("editor",di.type),di.$attrs.class]),style:normalizeStyle(di.$attrs.style),readonly:!di.editable||di.readonly||unref(Ci)||unref(wi)||unref(Ri)||di.type==="week","aria-label":di.ariaLabel,tabindex:di.tabindex,"validate-event":!1,onInput:mi,onFocus:unref(pe),onBlur:unref(Ce),onKeydown:ii,onChange:bi,onMousedown:Ei,onMouseenter:si,onMouseleave:fi,onTouchstartPassive:li,onClick:withModifiers(()=>{},["stop"])},{prefix:withCtx(()=>[unref(ai)?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(k).e("icon")),onMousedown:withModifiers(Ei,["prevent"]),onTouchstartPassive:li},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(ai))))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),suffix:withCtx(()=>[hi.value&&di.clearIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass("".concat(unref(k).e("icon")," clear-icon")),onMousedown:withModifiers(unref(NOOP),["prevent"]),onClick:xi},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(di.clearIcon)))]),_:1},8,["class","onMousedown"])):createCommentVNode("v-if",!0)]),_:1},8,["id","model-value","name","size","disabled","placeholder","class","style","readonly","aria-label","tabindex","onFocus","onBlur","onClick"]))]),content:withCtx(()=>[renderSlot(di.$slots,"default",{visible:ae.value,actualVisible:le.value,parsedValue:unref(ei),format:di.format,dateFormat:di.dateFormat,timeFormat:di.timeFormat,unlinkPanels:di.unlinkPanels,type:di.type,defaultValue:di.defaultValue,showNow:di.showNow,onPick:ze,onSelectRange:Oe,onSetPickerOption:Ti,onCalendarChange:Mi,onPanelChange:pi,onMousedown:withModifiers(()=>{},["stop"])})]),_:3},16,["visible","transition","popper-class","popper-options","fallback-placements","placement"]))}});var CommonPicker=_export_sfc(_sfc_main$$,[["__file","picker.vue"]]);const panelTimePickerProps=buildProps({...timePanelSharedProps,datetimeRole:String,parsedValue:{type:definePropType(Object)}}),useTimePanel=({getAvailableHours:n,getAvailableMinutes:e,getAvailableSeconds:t})=>{const i=(y,k,L,V)=>{const z={hour:n,minute:e,second:t};let j=y;return["hour","minute","second"].forEach(ie=>{if(z[ie]){let oe;const re=z[ie];switch(ie){case"minute":{oe=re(j.hour(),k,V);break}case"second":{oe=re(j.hour(),j.minute(),k,V);break}default:{oe=re(k,V);break}}if(oe!=null&&oe.length&&!oe.includes(j[ie]())){const ae=L?0:oe.length-1;j=j[ie](oe[ae])}}}),j},r={};return{timePickerOptions:r,getAvailableTime:i,onSetOption:([y,k])=>{r[y]=k}}},makeAvailableArr=n=>{const e=(i,r)=>i||r,t=i=>i!==!0;return n.map(e).filter(t)},getTimeLists=(n,e,t)=>({getHoursList:(y,k)=>makeList(24,n&&(()=>n==null?void 0:n(y,k))),getMinutesList:(y,k,L)=>makeList(60,e&&(()=>e==null?void 0:e(y,k,L))),getSecondsList:(y,k,L,V)=>makeList(60,t&&(()=>t==null?void 0:t(y,k,L,V)))}),buildAvailableTimeSlotGetter=(n,e,t)=>{const{getHoursList:i,getMinutesList:r,getSecondsList:g}=getTimeLists(n,e,t);return{getAvailableHours:(V,z)=>makeAvailableArr(i(V,z)),getAvailableMinutes:(V,z,j)=>makeAvailableArr(r(V,z,j)),getAvailableSeconds:(V,z,j,ie)=>makeAvailableArr(g(V,z,j,ie))}},useOldValue=n=>{const e=ref$1(n.parsedValue);return watch(()=>n.visible,t=>{t||(e.value=n.parsedValue)}),e},basicTimeSpinnerProps=buildProps({role:{type:String,required:!0},spinnerDate:{type:definePropType(Object),required:!0},showSeconds:{type:Boolean,default:!0},arrowControl:Boolean,amPmMode:{type:definePropType(String),default:""},...disabledTimeListsProps}),REPEAT_INTERVAL=100,REPEAT_DELAY=600,vRepeatClick={beforeMount(n,e){const t=e.value,{interval:i=REPEAT_INTERVAL,delay:r=REPEAT_DELAY}=isFunction$4(t)?{}:t;let g,y;const k=()=>isFunction$4(t)?t():t.handler(),L=()=>{y&&(clearTimeout(y),y=void 0),g&&(clearInterval(g),g=void 0)};n.addEventListener("mousedown",V=>{V.button===0&&(L(),k(),document.addEventListener("mouseup",()=>L(),{once:!0}),y=setTimeout(()=>{g=setInterval(()=>{k()},i)},r))})}},_sfc_main$_=defineComponent({__name:"basic-time-spinner",props:basicTimeSpinnerProps,emits:["change","select-range","set-option"],setup(n,{emit:e}){const t=n,i=inject("EP_PICKER_BASE"),{isRange:r}=i.props,g=useNamespace("time"),{getHoursList:y,getMinutesList:k,getSecondsList:L}=getTimeLists(t.disabledHours,t.disabledMinutes,t.disabledSeconds);let V=!1;const z=ref$1(),j=ref$1(),ie=ref$1(),oe=ref$1(),re={hours:j,minutes:ie,seconds:oe},ae=computed$1(()=>t.showSeconds?timeUnits:timeUnits.slice(0,2)),le=computed$1(()=>{const{spinnerDate:jt}=t,ri=jt.hour(),ni=jt.minute(),Ci=jt.second();return{hours:ri,minutes:ni,seconds:Ci}}),de=computed$1(()=>{const{hours:jt,minutes:ri}=unref(le),{role:ni,spinnerDate:Ci}=t,wi=r?void 0:Ci;return{hours:y(ni,wi),minutes:k(jt,ni,wi),seconds:L(jt,ri,ni,wi)}}),ue=computed$1(()=>{const{hours:jt,minutes:ri,seconds:ni}=unref(le);return{hours:buildTimeList(jt,23),minutes:buildTimeList(ri,59),seconds:buildTimeList(ni,59)}}),he=debounce(jt=>{V=!1,$e(jt)},200),pe=jt=>{if(!!!t.amPmMode)return"";const ni=t.amPmMode==="A";let Ci=jt<12?" am":" pm";return ni&&(Ci=Ci.toUpperCase()),Ci},Ce=jt=>{let ri;switch(jt){case"hours":ri=[0,2];break;case"minutes":ri=[3,5];break;case"seconds":ri=[6,8];break}const[ni,Ci]=ri;e("select-range",ni,Ci),z.value=jt},$e=jt=>{Ne(jt,unref(le)[jt])},xe=()=>{$e("hours"),$e("minutes"),$e("seconds")},Ie=jt=>jt.querySelector(".".concat(g.namespace.value,"-scrollbar__wrap")),Ne=(jt,ri)=>{if(t.arrowControl)return;const ni=unref(re[jt]);ni&&ni.$el&&(Ie(ni.$el).scrollTop=Math.max(0,ri*Fe(jt)))},Fe=jt=>{const ri=unref(re[jt]),ni=ri==null?void 0:ri.$el.querySelector("li");return ni&&Number.parseFloat(getStyle(ni,"height"))||0},Ve=()=>{ze(1)},Oe=()=>{ze(-1)},ze=jt=>{z.value||Ce("hours");const ri=z.value,ni=unref(le)[ri],Ci=z.value==="hours"?24:60,wi=qe(ri,ni,jt,Ci);Ue(ri,wi),Ne(ri,wi),nextTick(()=>Ce(ri))},qe=(jt,ri,ni,Ci)=>{let wi=(ri+ni+Ci)%Ci;const Ri=unref(de)[jt];for(;Ri[wi]&&wi!==ri;)wi=(wi+ni+Ci)%Ci;return wi},Ue=(jt,ri)=>{if(unref(de)[jt][ri])return;const{hours:wi,minutes:Ri,seconds:ai}=unref(le);let hi;switch(jt){case"hours":hi=t.spinnerDate.hour(ri).minute(Ri).second(ai);break;case"minutes":hi=t.spinnerDate.hour(wi).minute(ri).second(ai);break;case"seconds":hi=t.spinnerDate.hour(wi).minute(Ri).second(ri);break}e("change",hi)},Et=(jt,{value:ri,disabled:ni})=>{ni||(Ue(jt,ri),Ce(jt),Ne(jt,ri))},At=jt=>{const ri=unref(re[jt]);if(!ri)return;V=!0,he(jt);const ni=Math.min(Math.round((Ie(ri.$el).scrollTop-(Lt(jt)*.5-10)/Fe(jt)+3)/Fe(jt)),jt==="hours"?23:59);Ue(jt,ni)},Lt=jt=>unref(re[jt]).$el.offsetHeight,kt=()=>{const jt=ri=>{const ni=unref(re[ri]);ni&&ni.$el&&(Ie(ni.$el).onscroll=()=>{At(ri)})};jt("hours"),jt("minutes"),jt("seconds")};onMounted(()=>{nextTick(()=>{!t.arrowControl&&kt(),xe(),t.role==="start"&&Ce("hours")})});const ei=(jt,ri)=>{re[ri].value=jt!=null?jt:void 0};return e("set-option",["".concat(t.role,"_scrollDown"),ze]),e("set-option",["".concat(t.role,"_emitSelectRange"),Ce]),watch(()=>t.spinnerDate,()=>{V||xe()}),(jt,ri)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(g).b("spinner"),{"has-seconds":jt.showSeconds}])},[jt.arrowControl?createCommentVNode("v-if",!0):(openBlock(!0),createElementBlock(Fragment,{key:0},renderList(unref(ae),ni=>(openBlock(),createBlock(unref(ElScrollbar),{key:ni,ref_for:!0,ref:Ci=>ei(Ci,ni),class:normalizeClass(unref(g).be("spinner","wrapper")),"wrap-style":"max-height: inherit;","view-class":unref(g).be("spinner","list"),noresize:"",tag:"ul",onMouseenter:Ci=>Ce(ni),onMousemove:Ci=>$e(ni)},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(de)[ni],(Ci,wi)=>(openBlock(),createElementBlock("li",{key:wi,class:normalizeClass([unref(g).be("spinner","item"),unref(g).is("active",wi===unref(le)[ni]),unref(g).is("disabled",Ci)]),onClick:Ri=>Et(ni,{value:wi,disabled:Ci})},[ni==="hours"?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(jt.amPmMode?wi%12||12:wi)).slice(-2))+toDisplayString(pe(wi)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+wi).slice(-2)),1)],64))],10,["onClick"]))),128))]),_:2},1032,["class","view-class","onMouseenter","onMousemove"]))),128)),jt.arrowControl?(openBlock(!0),createElementBlock(Fragment,{key:1},renderList(unref(ae),ni=>(openBlock(),createElementBlock("div",{key:ni,class:normalizeClass([unref(g).be("spinner","wrapper"),unref(g).is("arrow")]),onMouseenter:Ci=>Ce(ni)},[withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-up",unref(g).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_up_default))]),_:1},8,["class"])),[[unref(vRepeatClick),Oe]]),withDirectives((openBlock(),createBlock(unref(ElIcon),{class:normalizeClass(["arrow-down",unref(g).be("spinner","arrow")])},{default:withCtx(()=>[createVNode(unref(arrow_down_default))]),_:1},8,["class"])),[[unref(vRepeatClick),Ve]]),createBaseVNode("ul",{class:normalizeClass(unref(g).be("spinner","list"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(ue)[ni],(Ci,wi)=>(openBlock(),createElementBlock("li",{key:wi,class:normalizeClass([unref(g).be("spinner","item"),unref(g).is("active",Ci===unref(le)[ni]),unref(g).is("disabled",unref(de)[ni][Ci])])},[unref(isNumber)(Ci)?(openBlock(),createElementBlock(Fragment,{key:0},[ni==="hours"?(openBlock(),createElementBlock(Fragment,{key:0},[createTextVNode(toDisplayString(("0"+(jt.amPmMode?Ci%12||12:Ci)).slice(-2))+toDisplayString(pe(Ci)),1)],64)):(openBlock(),createElementBlock(Fragment,{key:1},[createTextVNode(toDisplayString(("0"+Ci).slice(-2)),1)],64))],64)):createCommentVNode("v-if",!0)],2))),128))],2)],42,["onMouseenter"]))),128)):createCommentVNode("v-if",!0)],2))}});var TimeSpinner=_export_sfc(_sfc_main$_,[["__file","basic-time-spinner.vue"]]);const _sfc_main$Z=defineComponent({__name:"panel-time-pick",props:panelTimePickerProps,emits:["pick","select-range","set-picker-option"],setup(n,{emit:e}){const t=n,i=inject("EP_PICKER_BASE"),{arrowControl:r,disabledHours:g,disabledMinutes:y,disabledSeconds:k,defaultValue:L}=i.props,{getAvailableHours:V,getAvailableMinutes:z,getAvailableSeconds:j}=buildAvailableTimeSlotGetter(g,y,k),ie=useNamespace("time"),{t:oe,lang:re}=useLocale(),ae=ref$1([0,2]),le=useOldValue(t),de=computed$1(()=>isUndefined(t.actualVisible)?"".concat(ie.namespace.value,"-zoom-in-top"):""),ue=computed$1(()=>t.format.includes("ss")),he=computed$1(()=>t.format.includes("A")?"A":t.format.includes("a")?"a":""),pe=Lt=>{const kt=dayjs(Lt).locale(re.value),ei=qe(kt);return kt.isSame(ei)},Ce=()=>{e("pick",le.value,!1)},$e=(Lt=!1,kt=!1)=>{kt||e("pick",t.parsedValue,Lt)},xe=Lt=>{if(!t.visible)return;const kt=qe(Lt).millisecond(0);e("pick",kt,!0)},Ie=(Lt,kt)=>{e("select-range",Lt,kt),ae.value=[Lt,kt]},Ne=Lt=>{const kt=[0,3].concat(ue.value?[6]:[]),ei=["hours","minutes"].concat(ue.value?["seconds"]:[]),ri=(kt.indexOf(ae.value[0])+Lt+kt.length)%kt.length;Ve.start_emitSelectRange(ei[ri])},Fe=Lt=>{const kt=Lt.code,{left:ei,right:jt,up:ri,down:ni}=EVENT_CODE;if([ei,jt].includes(kt)){Ne(kt===ei?-1:1),Lt.preventDefault();return}if([ri,ni].includes(kt)){const Ci=kt===ri?-1:1;Ve.start_scrollDown(Ci),Lt.preventDefault();return}},{timePickerOptions:Ve,onSetOption:Oe,getAvailableTime:ze}=useTimePanel({getAvailableHours:V,getAvailableMinutes:z,getAvailableSeconds:j}),qe=Lt=>ze(Lt,t.datetimeRole||"",!0),Ue=Lt=>Lt?dayjs(Lt,t.format).locale(re.value):null,Et=Lt=>Lt?Lt.format(t.format):null,At=()=>dayjs(L).locale(re.value);return e("set-picker-option",["isValidValue",pe]),e("set-picker-option",["formatToString",Et]),e("set-picker-option",["parseUserInput",Ue]),e("set-picker-option",["handleKeydownInput",Fe]),e("set-picker-option",["getRangeAvailableTime",qe]),e("set-picker-option",["getDefaultValue",At]),(Lt,kt)=>(openBlock(),createBlock(Transition,{name:unref(de)},{default:withCtx(()=>[Lt.actualVisible||Lt.visible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(ie).b("panel"))},[createBaseVNode("div",{class:normalizeClass([unref(ie).be("panel","content"),{"has-seconds":unref(ue)}])},[createVNode(TimeSpinner,{ref:"spinner",role:Lt.datetimeRole||"start","arrow-control":unref(r),"show-seconds":unref(ue),"am-pm-mode":unref(he),"spinner-date":Lt.parsedValue,"disabled-hours":unref(g),"disabled-minutes":unref(y),"disabled-seconds":unref(k),onChange:xe,onSetOption:unref(Oe),onSelectRange:Ie},null,8,["role","arrow-control","show-seconds","am-pm-mode","spinner-date","disabled-hours","disabled-minutes","disabled-seconds","onSetOption"])],2),createBaseVNode("div",{class:normalizeClass(unref(ie).be("panel","footer"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(ie).be("panel","btn"),"cancel"]),onClick:Ce},toDisplayString(unref(oe)("el.datepicker.cancel")),3),createBaseVNode("button",{type:"button",class:normalizeClass([unref(ie).be("panel","btn"),"confirm"]),onClick:ei=>$e()},toDisplayString(unref(oe)("el.datepicker.confirm")),11,["onClick"])],2)],2)):createCommentVNode("v-if",!0)]),_:1},8,["name"]))}});var TimePickPanel=_export_sfc(_sfc_main$Z,[["__file","panel-time-pick.vue"]]);const panelTimeRangeProps=buildProps({...timePanelSharedProps,parsedValue:{type:definePropType(Array)}}),_sfc_main$Y=defineComponent({__name:"panel-time-range",props:panelTimeRangeProps,emits:["pick","select-range","set-picker-option"],setup(n,{emit:e}){const t=n,i=(Ei,si)=>{const fi=[];for(let li=Ei;li<=si;li++)fi.push(li);return fi},{t:r,lang:g}=useLocale(),y=useNamespace("time"),k=useNamespace("picker"),L=inject("EP_PICKER_BASE"),{arrowControl:V,disabledHours:z,disabledMinutes:j,disabledSeconds:ie,defaultValue:oe}=L.props,re=computed$1(()=>[y.be("range-picker","body"),y.be("panel","content"),y.is("arrow",V),pe.value?"has-seconds":""]),ae=computed$1(()=>[y.be("range-picker","body"),y.be("panel","content"),y.is("arrow",V),pe.value?"has-seconds":""]),le=computed$1(()=>t.parsedValue[0]),de=computed$1(()=>t.parsedValue[1]),ue=useOldValue(t),he=()=>{e("pick",ue.value,!1)},pe=computed$1(()=>t.format.includes("ss")),Ce=computed$1(()=>t.format.includes("A")?"A":t.format.includes("a")?"a":""),$e=(Ei=!1)=>{e("pick",[le.value,de.value],Ei)},xe=Ei=>{Fe(Ei.millisecond(0),de.value)},Ie=Ei=>{Fe(le.value,Ei.millisecond(0))},Ne=Ei=>{const si=Ei.map(li=>dayjs(li).locale(g.value)),fi=jt(si);return si[0].isSame(fi[0])&&si[1].isSame(fi[1])},Fe=(Ei,si)=>{t.visible&&e("pick",[Ei,si],!0)},Ve=computed$1(()=>le.value>de.value),Oe=ref$1([0,2]),ze=(Ei,si)=>{e("select-range",Ei,si,"min"),Oe.value=[Ei,si]},qe=computed$1(()=>pe.value?11:8),Ue=(Ei,si)=>{e("select-range",Ei,si,"max");const fi=unref(qe);Oe.value=[Ei+fi,si+fi]},Et=Ei=>{const si=pe.value?[0,3,6,11,14,17]:[0,3,8,11],fi=["hours","minutes"].concat(pe.value?["seconds"]:[]),Di=(si.indexOf(Oe.value[0])+Ei+si.length)%si.length,ki=si.length/2;Di{const si=Ei.code,{left:fi,right:li,up:Di,down:ki}=EVENT_CODE;if([fi,li].includes(si)){Et(si===fi?-1:1),Ei.preventDefault();return}if([Di,ki].includes(si)){const Ai=si===Di?-1:1,Ki=Oe.value[0]{const fi=z?z(Ei):[],li=Ei==="start",ki=(si||(li?de.value:le.value)).hour(),Ai=li?i(ki+1,23):i(0,ki-1);return union(fi,Ai)},kt=(Ei,si,fi)=>{const li=j?j(Ei,si):[],Di=si==="start",ki=fi||(Di?de.value:le.value),Ai=ki.hour();if(Ei!==Ai)return li;const Ki=ki.minute(),zi=Di?i(Ki+1,59):i(0,Ki-1);return union(li,zi)},ei=(Ei,si,fi,li)=>{const Di=ie?ie(Ei,si,fi):[],ki=fi==="start",Ai=li||(ki?de.value:le.value),Ki=Ai.hour(),zi=Ai.minute();if(Ei!==Ki||si!==zi)return Di;const bi=Ai.second(),vi=ki?i(bi+1,59):i(0,bi-1);return union(Di,vi)},jt=([Ei,si])=>[Ri(Ei,"start",!0,si),Ri(si,"end",!1,Ei)],{getAvailableHours:ri,getAvailableMinutes:ni,getAvailableSeconds:Ci}=buildAvailableTimeSlotGetter(Lt,kt,ei),{timePickerOptions:wi,getAvailableTime:Ri,onSetOption:ai}=useTimePanel({getAvailableHours:ri,getAvailableMinutes:ni,getAvailableSeconds:Ci}),hi=Ei=>Ei?isArray$2(Ei)?Ei.map(si=>dayjs(si,t.format).locale(g.value)):dayjs(Ei,t.format).locale(g.value):null,xi=Ei=>Ei?isArray$2(Ei)?Ei.map(si=>si.format(t.format)):Ei.format(t.format):null,Oi=()=>{if(isArray$2(oe))return oe.map(si=>dayjs(si).locale(g.value));const Ei=dayjs(oe).locale(g.value);return[Ei,Ei.add(60,"m")]};return e("set-picker-option",["formatToString",xi]),e("set-picker-option",["parseUserInput",hi]),e("set-picker-option",["isValidValue",Ne]),e("set-picker-option",["handleKeydownInput",At]),e("set-picker-option",["getDefaultValue",Oi]),e("set-picker-option",["getRangeAvailableTime",jt]),(Ei,si)=>Ei.actualVisible?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(y).b("range-picker"),unref(k).b("panel")])},[createBaseVNode("div",{class:normalizeClass(unref(y).be("range-picker","content"))},[createBaseVNode("div",{class:normalizeClass(unref(y).be("range-picker","cell"))},[createBaseVNode("div",{class:normalizeClass(unref(y).be("range-picker","header"))},toDisplayString(unref(r)("el.datepicker.startTime")),3),createBaseVNode("div",{class:normalizeClass(unref(re))},[createVNode(TimeSpinner,{ref:"minSpinner",role:"start","show-seconds":unref(pe),"am-pm-mode":unref(Ce),"arrow-control":unref(V),"spinner-date":unref(le),"disabled-hours":Lt,"disabled-minutes":kt,"disabled-seconds":ei,onChange:xe,onSetOption:unref(ai),onSelectRange:ze},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2),createBaseVNode("div",{class:normalizeClass(unref(y).be("range-picker","cell"))},[createBaseVNode("div",{class:normalizeClass(unref(y).be("range-picker","header"))},toDisplayString(unref(r)("el.datepicker.endTime")),3),createBaseVNode("div",{class:normalizeClass(unref(ae))},[createVNode(TimeSpinner,{ref:"maxSpinner",role:"end","show-seconds":unref(pe),"am-pm-mode":unref(Ce),"arrow-control":unref(V),"spinner-date":unref(de),"disabled-hours":Lt,"disabled-minutes":kt,"disabled-seconds":ei,onChange:Ie,onSetOption:unref(ai),onSelectRange:Ue},null,8,["show-seconds","am-pm-mode","arrow-control","spinner-date","onSetOption"])],2)],2)],2),createBaseVNode("div",{class:normalizeClass(unref(y).be("panel","footer"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(y).be("panel","btn"),"cancel"]),onClick:fi=>he()},toDisplayString(unref(r)("el.datepicker.cancel")),11,["onClick"]),createBaseVNode("button",{type:"button",class:normalizeClass([unref(y).be("panel","btn"),"confirm"]),disabled:unref(Ve),onClick:fi=>$e()},toDisplayString(unref(r)("el.datepicker.confirm")),11,["disabled","onClick"])],2)],2)):createCommentVNode("v-if",!0)}});var TimeRangePanel=_export_sfc(_sfc_main$Y,[["__file","panel-time-range.vue"]]);dayjs.extend(customParseFormat);var TimePicker=defineComponent({name:"ElTimePicker",install:null,props:{...timePickerDefaultProps,isRange:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(n,e){const t=ref$1(),[i,r]=n.isRange?["timerange",TimeRangePanel]:["time",TimePickPanel],g=y=>e.emit("update:modelValue",y);return provide("ElPopperOptions",n.popperOptions),e.expose({focus:()=>{var y;(y=t.value)==null||y.focus()},blur:()=>{var y;(y=t.value)==null||y.blur()},handleOpen:()=>{var y;(y=t.value)==null||y.handleOpen()},handleClose:()=>{var y;(y=t.value)==null||y.handleClose()}}),()=>{var y;const k=(y=n.format)!=null?y:DEFAULT_FORMATS_TIME;return createVNode(CommonPicker,mergeProps(n,{ref:t,type:i,format:k,"onUpdate:modelValue":g}),{default:L=>createVNode(r,L,null)})}}});const ElTimePicker=withInstall(TimePicker),ROOT_PICKER_INJECTION_KEY=Symbol(),datePickerProps=buildProps({...timePickerDefaultProps,type:{type:definePropType(String),default:"date"}}),selectionModes=["date","dates","year","years","month","months","week","range"],datePickerSharedProps=buildProps({disabledDate:{type:definePropType(Function)},date:{type:definePropType(Object),required:!0},minDate:{type:definePropType(Object)},maxDate:{type:definePropType(Object)},parsedValue:{type:definePropType([Object,Array])},rangeState:{type:definePropType(Object),default:()=>({endDate:null,selecting:!1})}}),panelSharedProps=buildProps({type:{type:definePropType(String),required:!0,values:datePickTypes},dateFormat:String,timeFormat:String,showNow:{type:Boolean,default:!0}}),panelRangeSharedProps=buildProps({unlinkPanels:Boolean,parsedValue:{type:definePropType(Array)}}),selectionModeWithDefault=n=>({type:String,values:selectionModes,default:n}),panelDatePickProps=buildProps({...panelSharedProps,parsedValue:{type:definePropType([Object,Array])},visible:{type:Boolean},format:{type:String,default:""}}),isValidRange=n=>{if(!isArray$2(n))return!1;const[e,t]=n;return dayjs.isDayjs(e)&&dayjs.isDayjs(t)&&e.isSameOrBefore(t)},getDefaultValue=(n,{lang:e,unit:t,unlinkPanels:i})=>{let r;if(isArray$2(n)){let[g,y]=n.map(k=>dayjs(k).locale(e));return i||(y=g.add(1,t)),[g,y]}else n?r=dayjs(n):r=dayjs();return r=r.locale(e),[r,r.add(1,t)]},buildPickerTable=(n,e,{columnIndexOffset:t,startDate:i,nextEndDate:r,now:g,unit:y,relativeDateGetter:k,setCellMetadata:L,setRowMetadata:V})=>{for(let z=0;z{const i=dayjs().locale(t).startOf("month").month(e).year(n),r=i.daysInMonth();return rangeArr(r).map(g=>i.add(g,"day").toDate())},getValidDateOfMonth=(n,e,t,i)=>{const r=dayjs().year(n).month(e).startOf("month"),g=datesInMonth(n,e,t).find(y=>!(i!=null&&i(y)));return g?dayjs(g).locale(t):r.locale(t)},getValidDateOfYear=(n,e,t)=>{const i=n.year();if(!(t!=null&&t(n.toDate())))return n.locale(e);const r=n.month();if(!datesInMonth(i,r,e).every(t))return getValidDateOfMonth(i,r,e,t);for(let g=0;g<12;g++)if(!datesInMonth(i,g,e).every(t))return getValidDateOfMonth(i,g,e,t);return n},basicDateTableProps=buildProps({...datePickerSharedProps,cellClassName:{type:definePropType(Function)},showWeekNumber:Boolean,selectionMode:selectionModeWithDefault("date")}),basicDateTableEmits=["changerange","pick","select"],isNormalDay=(n="")=>["normal","today"].includes(n),useBasicDateTable=(n,e)=>{const{lang:t}=useLocale(),i=ref$1(),r=ref$1(),g=ref$1(),y=ref$1(),k=ref$1([[],[],[],[],[],[]]);let L=!1;const V=n.date.$locale().weekStart||7,z=n.date.locale("en").localeData().weekdaysShort().map(kt=>kt.toLowerCase()),j=computed$1(()=>V>3?7-V:-V),ie=computed$1(()=>{const kt=n.date.startOf("month");return kt.subtract(kt.day()||7,"day")}),oe=computed$1(()=>z.concat(z).slice(V,V+7)),re=computed$1(()=>flatten(unref(pe)).some(kt=>kt.isCurrent)),ae=computed$1(()=>{const kt=n.date.startOf("month"),ei=kt.day()||7,jt=kt.daysInMonth(),ri=kt.subtract(1,"month").daysInMonth();return{startOfMonthDay:ei,dateCountOfMonth:jt,dateCountOfLastMonth:ri}}),le=computed$1(()=>n.selectionMode==="dates"?castArray(n.parsedValue):[]),de=(kt,{count:ei,rowIndex:jt,columnIndex:ri})=>{const{startOfMonthDay:ni,dateCountOfMonth:Ci,dateCountOfLastMonth:wi}=unref(ae),Ri=unref(j);if(jt>=0&&jt<=1){const ai=ni+Ri<0?7+ni+Ri:ni+Ri;if(ri+jt*7>=ai)return kt.text=ei,!0;kt.text=wi-(ai-ri%7)+1+jt*7,kt.type="prev-month"}else return ei<=Ci?kt.text=ei:(kt.text=ei-Ci,kt.type="next-month"),!0;return!1},ue=(kt,{columnIndex:ei,rowIndex:jt},ri)=>{const{disabledDate:ni,cellClassName:Ci}=n,wi=unref(le),Ri=de(kt,{count:ri,rowIndex:jt,columnIndex:ei}),ai=kt.dayjs.toDate();return kt.selected=wi.find(hi=>hi.isSame(kt.dayjs,"day")),kt.isSelected=!!kt.selected,kt.isCurrent=$e(kt),kt.disabled=ni==null?void 0:ni(ai),kt.customClass=Ci==null?void 0:Ci(ai),Ri},he=kt=>{if(n.selectionMode==="week"){const[ei,jt]=n.showWeekNumber?[1,7]:[0,6],ri=Lt(kt[ei+1]);kt[ei].inRange=ri,kt[ei].start=ri,kt[jt].inRange=ri,kt[jt].end=ri}},pe=computed$1(()=>{const{minDate:kt,maxDate:ei,rangeState:jt,showWeekNumber:ri}=n,ni=unref(j),Ci=unref(k),wi="day";let Ri=1;if(ri)for(let ai=0;ai<6;ai++)Ci[ai][0]||(Ci[ai][0]={type:"week",text:unref(ie).add(ai*7+1,wi).week()});return buildPickerTable({row:6,column:7},Ci,{startDate:kt,columnIndexOffset:ri?1:0,nextEndDate:jt.endDate||ei||jt.selecting&&kt||null,now:dayjs().locale(unref(t)).startOf(wi),unit:wi,relativeDateGetter:ai=>unref(ie).add(ai-ni,wi),setCellMetadata:(...ai)=>{ue(...ai,Ri)&&(Ri+=1)},setRowMetadata:he}),Ci});watch(()=>n.date,async()=>{var kt;(kt=unref(i))!=null&&kt.contains(document.activeElement)&&(await nextTick(),await Ce())});const Ce=async()=>{var kt;return(kt=unref(r))==null?void 0:kt.focus()},$e=kt=>n.selectionMode==="date"&&isNormalDay(kt.type)&&xe(kt,n.parsedValue),xe=(kt,ei)=>ei?dayjs(ei).locale(unref(t)).isSame(n.date.date(Number(kt.text)),"day"):!1,Ie=(kt,ei)=>{const jt=kt*7+(ei-(n.showWeekNumber?1:0))-unref(j);return unref(ie).add(jt,"day")},Ne=kt=>{var ei;if(!n.rangeState.selecting)return;let jt=kt.target;if(jt.tagName==="SPAN"&&(jt=(ei=jt.parentNode)==null?void 0:ei.parentNode),jt.tagName==="DIV"&&(jt=jt.parentNode),jt.tagName!=="TD")return;const ri=jt.parentNode.rowIndex-1,ni=jt.cellIndex;unref(pe)[ri][ni].disabled||(ri!==unref(g)||ni!==unref(y))&&(g.value=ri,y.value=ni,e("changerange",{selecting:!0,endDate:Ie(ri,ni)}))},Fe=kt=>!unref(re)&&(kt==null?void 0:kt.text)===1&&kt.type==="normal"||kt.isCurrent,Ve=kt=>{L||unref(re)||n.selectionMode!=="date"||At(kt,!0)},Oe=kt=>{kt.target.closest("td")&&(L=!0)},ze=kt=>{kt.target.closest("td")&&(L=!1)},qe=kt=>{!n.rangeState.selecting||!n.minDate?(e("pick",{minDate:kt,maxDate:null}),e("select",!0)):(kt>=n.minDate?e("pick",{minDate:n.minDate,maxDate:kt}):e("pick",{minDate:kt,maxDate:n.minDate}),e("select",!1))},Ue=kt=>{const ei=kt.week(),jt="".concat(kt.year(),"w").concat(ei);e("pick",{year:kt.year(),week:ei,value:jt,date:kt.startOf("week")})},Et=(kt,ei)=>{const jt=ei?castArray(n.parsedValue).filter(ri=>(ri==null?void 0:ri.valueOf())!==kt.valueOf()):castArray(n.parsedValue).concat([kt]);e("pick",jt)},At=(kt,ei=!1)=>{const jt=kt.target.closest("td");if(!jt)return;const ri=jt.parentNode.rowIndex-1,ni=jt.cellIndex,Ci=unref(pe)[ri][ni];if(Ci.disabled||Ci.type==="week")return;const wi=Ie(ri,ni);switch(n.selectionMode){case"range":{qe(wi);break}case"date":{e("pick",wi,ei);break}case"week":{Ue(wi);break}case"dates":{Et(wi,!!Ci.selected);break}}},Lt=kt=>{if(n.selectionMode!=="week")return!1;let ei=n.date.startOf("day");if(kt.type==="prev-month"&&(ei=ei.subtract(1,"month")),kt.type==="next-month"&&(ei=ei.add(1,"month")),ei=ei.date(Number.parseInt(kt.text,10)),n.parsedValue&&!isArray$2(n.parsedValue)){const jt=(n.parsedValue.day()-V+7)%7-1;return n.parsedValue.subtract(jt,"day").isSame(ei,"day")}return!1};return{WEEKS:oe,rows:pe,tbodyRef:i,currentCellRef:r,focus:Ce,isCurrent:$e,isWeekActive:Lt,isSelectedCell:Fe,handlePickDate:At,handleMouseUp:ze,handleMouseDown:Oe,handleMouseMove:Ne,handleFocus:Ve}},useBasicDateTableDOM=(n,{isCurrent:e,isWeekActive:t})=>{const i=useNamespace("date-table"),{t:r}=useLocale(),g=computed$1(()=>[i.b(),{"is-week-mode":n.selectionMode==="week"}]),y=computed$1(()=>r("el.datepicker.dateTablePrompt")),k=computed$1(()=>r("el.datepicker.week"));return{tableKls:g,tableLabel:y,weekLabel:k,getCellClasses:z=>{const j=[];return isNormalDay(z.type)&&!z.disabled?(j.push("available"),z.type==="today"&&j.push("today")):j.push(z.type),e(z)&&j.push("current"),z.inRange&&(isNormalDay(z.type)||n.selectionMode==="week")&&(j.push("in-range"),z.start&&j.push("start-date"),z.end&&j.push("end-date")),z.disabled&&j.push("disabled"),z.selected&&j.push("selected"),z.customClass&&j.push(z.customClass),j.join(" ")},getRowKls:z=>[i.e("row"),{current:t(z)}],t:r}},basicCellProps=buildProps({cell:{type:definePropType(Object)}});var ElDatePickerCell=defineComponent({name:"ElDatePickerCell",props:basicCellProps,setup(n){const e=useNamespace("date-table-cell"),{slots:t}=inject(ROOT_PICKER_INJECTION_KEY);return()=>{const{cell:i}=n;return renderSlot(t,"default",{...i},()=>{var r;return[createVNode("div",{class:e.b()},[createVNode("span",{class:e.e("text")},[(r=i==null?void 0:i.renderText)!=null?r:i==null?void 0:i.text])])]})}}});const _sfc_main$X=defineComponent({__name:"basic-date-table",props:basicDateTableProps,emits:basicDateTableEmits,setup(n,{expose:e,emit:t}){const i=n,{WEEKS:r,rows:g,tbodyRef:y,currentCellRef:k,focus:L,isCurrent:V,isWeekActive:z,isSelectedCell:j,handlePickDate:ie,handleMouseUp:oe,handleMouseDown:re,handleMouseMove:ae,handleFocus:le}=useBasicDateTable(i,t),{tableLabel:de,tableKls:ue,weekLabel:he,getCellClasses:pe,getRowKls:Ce,t:$e}=useBasicDateTableDOM(i,{isCurrent:V,isWeekActive:z});return e({focus:L}),(xe,Ie)=>(openBlock(),createElementBlock("table",{"aria-label":unref(de),class:normalizeClass(unref(ue)),cellspacing:"0",cellpadding:"0",role:"grid",onClick:unref(ie),onMousemove:unref(ae),onMousedown:withModifiers(unref(re),["prevent"]),onMouseup:unref(oe)},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:y},[createBaseVNode("tr",null,[xe.showWeekNumber?(openBlock(),createElementBlock("th",{key:0,scope:"col"},toDisplayString(unref(he)),1)):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(r),(Ne,Fe)=>(openBlock(),createElementBlock("th",{key:Fe,"aria-label":unref($e)("el.datepicker.weeksFull."+Ne),scope:"col"},toDisplayString(unref($e)("el.datepicker.weeks."+Ne)),9,["aria-label"]))),128))]),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(g),(Ne,Fe)=>(openBlock(),createElementBlock("tr",{key:Fe,class:normalizeClass(unref(Ce)(Ne[1]))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ne,(Ve,Oe)=>(openBlock(),createElementBlock("td",{key:"".concat(Fe,".").concat(Oe),ref_for:!0,ref:ze=>unref(j)(Ve)&&(k.value=ze),class:normalizeClass(unref(pe)(Ve)),"aria-current":Ve.isCurrent?"date":void 0,"aria-selected":Ve.isCurrent,tabindex:unref(j)(Ve)?0:-1,onFocus:unref(le)},[createVNode(unref(ElDatePickerCell),{cell:Ve},null,8,["cell"])],42,["aria-current","aria-selected","tabindex","onFocus"]))),128))],2))),128))],512)],42,["aria-label","onClick","onMousemove","onMousedown","onMouseup"]))}});var DateTable=_export_sfc(_sfc_main$X,[["__file","basic-date-table.vue"]]);const basicMonthTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("month")}),_sfc_main$W=defineComponent({__name:"basic-month-table",props:basicMonthTableProps,emits:["changerange","pick","select"],setup(n,{expose:e,emit:t}){const i=n,r=useNamespace("month-table"),{t:g,lang:y}=useLocale(),k=ref$1(),L=ref$1(),V=ref$1(i.date.locale("en").localeData().monthsShort().map(he=>he.toLowerCase())),z=ref$1([[],[],[]]),j=ref$1(),ie=ref$1(),oe=computed$1(()=>{var he,pe;const Ce=z.value,$e=dayjs().locale(y.value).startOf("month");for(let xe=0;xe<3;xe++){const Ie=Ce[xe];for(let Ne=0;Ne<4;Ne++){const Fe=Ie[Ne]||(Ie[Ne]={row:xe,column:Ne,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1});Fe.type="normal";const Ve=xe*4+Ne,Oe=i.date.startOf("year").month(Ve),ze=i.rangeState.endDate||i.maxDate||i.rangeState.selecting&&i.minDate||null;Fe.inRange=!!(i.minDate&&Oe.isSameOrAfter(i.minDate,"month")&&ze&&Oe.isSameOrBefore(ze,"month"))||!!(i.minDate&&Oe.isSameOrBefore(i.minDate,"month")&&ze&&Oe.isSameOrAfter(ze,"month")),(he=i.minDate)!=null&&he.isSameOrAfter(ze)?(Fe.start=!!(ze&&Oe.isSame(ze,"month")),Fe.end=i.minDate&&Oe.isSame(i.minDate,"month")):(Fe.start=!!(i.minDate&&Oe.isSame(i.minDate,"month")),Fe.end=!!(ze&&Oe.isSame(ze,"month"))),$e.isSame(Oe)&&(Fe.type="today"),Fe.text=Ve,Fe.disabled=((pe=i.disabledDate)==null?void 0:pe.call(i,Oe.toDate()))||!1}}return Ce}),re=()=>{var he;(he=L.value)==null||he.focus()},ae=he=>{const pe={},Ce=i.date.year(),$e=new Date,xe=he.text;return pe.disabled=i.disabledDate?datesInMonth(Ce,xe,y.value).every(i.disabledDate):!1,pe.current=castArray(i.parsedValue).findIndex(Ie=>dayjs.isDayjs(Ie)&&Ie.year()===Ce&&Ie.month()===xe)>=0,pe.today=$e.getFullYear()===Ce&&$e.getMonth()===xe,he.inRange&&(pe["in-range"]=!0,he.start&&(pe["start-date"]=!0),he.end&&(pe["end-date"]=!0)),pe},le=he=>{const pe=i.date.year(),Ce=he.text;return castArray(i.date).findIndex($e=>$e.year()===pe&&$e.month()===Ce)>=0},de=he=>{var pe;if(!i.rangeState.selecting)return;let Ce=he.target;if(Ce.tagName==="SPAN"&&(Ce=(pe=Ce.parentNode)==null?void 0:pe.parentNode),Ce.tagName==="DIV"&&(Ce=Ce.parentNode),Ce.tagName!=="TD")return;const $e=Ce.parentNode.rowIndex,xe=Ce.cellIndex;oe.value[$e][xe].disabled||($e!==j.value||xe!==ie.value)&&(j.value=$e,ie.value=xe,t("changerange",{selecting:!0,endDate:i.date.startOf("year").month($e*4+xe)}))},ue=he=>{var pe;const Ce=(pe=he.target)==null?void 0:pe.closest("td");if((Ce==null?void 0:Ce.tagName)!=="TD"||hasClass(Ce,"disabled"))return;const $e=Ce.cellIndex,Ie=Ce.parentNode.rowIndex*4+$e,Ne=i.date.startOf("year").month(Ie);if(i.selectionMode==="months"){if(he.type==="keydown"){t("pick",castArray(i.parsedValue),!1);return}const Fe=getValidDateOfMonth(i.date.year(),Ie,y.value,i.disabledDate),Ve=hasClass(Ce,"current")?castArray(i.parsedValue).filter(Oe=>(Oe==null?void 0:Oe.month())!==Fe.month()):castArray(i.parsedValue).concat([dayjs(Fe)]);t("pick",Ve)}else i.selectionMode==="range"?i.rangeState.selecting?(i.minDate&&Ne>=i.minDate?t("pick",{minDate:i.minDate,maxDate:Ne}):t("pick",{minDate:Ne,maxDate:i.minDate}),t("select",!1)):(t("pick",{minDate:Ne,maxDate:null}),t("select",!0)):t("pick",Ie)};return watch(()=>i.date,async()=>{var he,pe;(he=k.value)!=null&&he.contains(document.activeElement)&&(await nextTick(),(pe=L.value)==null||pe.focus())}),e({focus:re}),(he,pe)=>(openBlock(),createElementBlock("table",{role:"grid","aria-label":unref(g)("el.datepicker.monthTablePrompt"),class:normalizeClass(unref(r).b()),onClick:ue,onMousemove:de},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:k},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(oe),(Ce,$e)=>(openBlock(),createElementBlock("tr",{key:$e},[(openBlock(!0),createElementBlock(Fragment,null,renderList(Ce,(xe,Ie)=>(openBlock(),createElementBlock("td",{key:Ie,ref_for:!0,ref:Ne=>le(xe)&&(L.value=Ne),class:normalizeClass(ae(xe)),"aria-selected":"".concat(le(xe)),"aria-label":unref(g)("el.datepicker.month".concat(+xe.text+1)),tabindex:le(xe)?0:-1,onKeydown:[withKeys(withModifiers(ue,["prevent","stop"]),["space"]),withKeys(withModifiers(ue,["prevent","stop"]),["enter"])]},[createVNode(unref(ElDatePickerCell),{cell:{...xe,renderText:unref(g)("el.datepicker.months."+V.value[xe.text])}},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var MonthTable=_export_sfc(_sfc_main$W,[["__file","basic-month-table.vue"]]);const basicYearTableProps=buildProps({...datePickerSharedProps,selectionMode:selectionModeWithDefault("year")}),_sfc_main$V=defineComponent({__name:"basic-year-table",props:basicYearTableProps,emits:["changerange","pick","select"],setup(n,{expose:e,emit:t}){const i=n,r=(pe,Ce)=>{const $e=dayjs(String(pe)).locale(Ce).startOf("year"),Ie=$e.endOf("year").dayOfYear();return rangeArr(Ie).map(Ne=>$e.add(Ne,"day").toDate())},g=useNamespace("year-table"),{t:y,lang:k}=useLocale(),L=ref$1(),V=ref$1(),z=computed$1(()=>Math.floor(i.date.year()/10)*10),j=ref$1([[],[],[]]),ie=ref$1(),oe=ref$1(),re=computed$1(()=>{var pe;const Ce=j.value,$e=dayjs().locale(k.value).startOf("year");for(let xe=0;xe<3;xe++){const Ie=Ce[xe];for(let Ne=0;Ne<4&&!(xe*4+Ne>=10);Ne++){let Fe=Ie[Ne];Fe||(Fe={row:xe,column:Ne,type:"normal",inRange:!1,start:!1,end:!1,text:-1,disabled:!1}),Fe.type="normal";const Ve=xe*4+Ne+z.value,Oe=dayjs().year(Ve),ze=i.rangeState.endDate||i.maxDate||i.rangeState.selecting&&i.minDate||null;Fe.inRange=!!(i.minDate&&Oe.isSameOrAfter(i.minDate,"year")&&ze&&Oe.isSameOrBefore(ze,"year"))||!!(i.minDate&&Oe.isSameOrBefore(i.minDate,"year")&&ze&&Oe.isSameOrAfter(ze,"year")),(pe=i.minDate)!=null&&pe.isSameOrAfter(ze)?(Fe.start=!!(ze&&Oe.isSame(ze,"year")),Fe.end=!!(i.minDate&&Oe.isSame(i.minDate,"year"))):(Fe.start=!!(i.minDate&&Oe.isSame(i.minDate,"year")),Fe.end=!!(ze&&Oe.isSame(ze,"year"))),$e.isSame(Oe)&&(Fe.type="today"),Fe.text=Ve;const Ue=Oe.toDate();Fe.disabled=i.disabledDate&&i.disabledDate(Ue)||!1,Ie[Ne]=Fe}}return Ce}),ae=()=>{var pe;(pe=V.value)==null||pe.focus()},le=pe=>{const Ce={},$e=dayjs().locale(k.value),xe=pe.text;return Ce.disabled=i.disabledDate?r(xe,k.value).every(i.disabledDate):!1,Ce.today=$e.year()===xe,Ce.current=castArray(i.parsedValue).findIndex(Ie=>Ie.year()===xe)>=0,pe.inRange&&(Ce["in-range"]=!0,pe.start&&(Ce["start-date"]=!0),pe.end&&(Ce["end-date"]=!0)),Ce},de=pe=>{const Ce=pe.text;return castArray(i.date).findIndex($e=>$e.year()===Ce)>=0},ue=pe=>{var Ce;const $e=(Ce=pe.target)==null?void 0:Ce.closest("td");if(!$e||!$e.textContent||hasClass($e,"disabled"))return;const xe=$e.cellIndex,Ne=$e.parentNode.rowIndex*4+xe+z.value,Fe=dayjs().year(Ne);if(i.selectionMode==="range")i.rangeState.selecting?(i.minDate&&Fe>=i.minDate?t("pick",{minDate:i.minDate,maxDate:Fe}):t("pick",{minDate:Fe,maxDate:i.minDate}),t("select",!1)):(t("pick",{minDate:Fe,maxDate:null}),t("select",!0));else if(i.selectionMode==="years"){if(pe.type==="keydown"){t("pick",castArray(i.parsedValue),!1);return}const Ve=getValidDateOfYear(Fe.startOf("year"),k.value,i.disabledDate),Oe=hasClass($e,"current")?castArray(i.parsedValue).filter(ze=>(ze==null?void 0:ze.year())!==Ne):castArray(i.parsedValue).concat([Ve]);t("pick",Oe)}else t("pick",Ne)},he=pe=>{var Ce;if(!i.rangeState.selecting)return;const $e=(Ce=pe.target)==null?void 0:Ce.closest("td");if(!$e)return;const xe=$e.parentNode.rowIndex,Ie=$e.cellIndex;re.value[xe][Ie].disabled||(xe!==ie.value||Ie!==oe.value)&&(ie.value=xe,oe.value=Ie,t("changerange",{selecting:!0,endDate:dayjs().year(z.value).add(xe*4+Ie,"year")}))};return watch(()=>i.date,async()=>{var pe,Ce;(pe=L.value)!=null&&pe.contains(document.activeElement)&&(await nextTick(),(Ce=V.value)==null||Ce.focus())}),e({focus:ae}),(pe,Ce)=>(openBlock(),createElementBlock("table",{role:"grid","aria-label":unref(y)("el.datepicker.yearTablePrompt"),class:normalizeClass(unref(g).b()),onClick:ue,onMousemove:he},[createBaseVNode("tbody",{ref_key:"tbodyRef",ref:L},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(re),($e,xe)=>(openBlock(),createElementBlock("tr",{key:xe},[(openBlock(!0),createElementBlock(Fragment,null,renderList($e,(Ie,Ne)=>(openBlock(),createElementBlock("td",{key:"".concat(xe,"_").concat(Ne),ref_for:!0,ref:Fe=>de(Ie)&&(V.value=Fe),class:normalizeClass(["available",le(Ie)]),"aria-selected":de(Ie),"aria-label":String(Ie.text),tabindex:de(Ie)?0:-1,onKeydown:[withKeys(withModifiers(ue,["prevent","stop"]),["space"]),withKeys(withModifiers(ue,["prevent","stop"]),["enter"])]},[createVNode(unref(ElDatePickerCell),{cell:Ie},null,8,["cell"])],42,["aria-selected","aria-label","tabindex","onKeydown"]))),128))]))),128))],512)],42,["aria-label"]))}});var YearTable=_export_sfc(_sfc_main$V,[["__file","basic-year-table.vue"]]);const _sfc_main$U=defineComponent({__name:"panel-date-pick",props:panelDatePickProps,emits:["pick","set-picker-option","panel-change"],setup(n,{emit:e}){const t=n,i=(pi,ui,$i)=>!0,r=useNamespace("picker-panel"),g=useNamespace("date-picker"),y=useAttrs$1(),k=useSlots(),{t:L,lang:V}=useLocale(),z=inject("EP_PICKER_BASE"),j=inject(TOOLTIP_INJECTION_KEY),{shortcuts:ie,disabledDate:oe,cellClassName:re,defaultTime:ae}=z.props,le=toRef(z.props,"defaultValue"),de=ref$1(),ue=ref$1(dayjs().locale(V.value)),he=ref$1(!1);let pe=!1;const Ce=computed$1(()=>dayjs(ae).locale(V.value)),$e=computed$1(()=>ue.value.month()),xe=computed$1(()=>ue.value.year()),Ie=ref$1([]),Ne=ref$1(null),Fe=ref$1(null),Ve=pi=>Ie.value.length>0?i(pi,Ie.value,t.format||"HH:mm:ss"):!0,Oe=pi=>ae&&!Di.value&&!he.value&&!pe?Ce.value.year(pi.year()).month(pi.month()).date(pi.date()):ai.value?pi.millisecond(0):pi.startOf("day"),ze=(pi,...ui)=>{if(!pi)e("pick",pi,...ui);else if(isArray$2(pi)){const $i=pi.map(Oe);e("pick",$i,...ui)}else e("pick",Oe(pi),...ui);Ne.value=null,Fe.value=null,he.value=!1,pe=!1},qe=async(pi,ui)=>{if(ei.value==="date"){pi=pi;let $i=t.parsedValue?t.parsedValue.year(pi.year()).month(pi.month()).date(pi.date()):pi;Ve($i)||($i=Ie.value[0][0].year(pi.year()).month(pi.month()).date(pi.date())),ue.value=$i,ze($i,ai.value||ui),t.type==="datetime"&&(await nextTick(),Dt())}else ei.value==="week"?ze(pi.date):ei.value==="dates"&&ze(pi,!0)},Ue=pi=>{const ui=pi?"add":"subtract";ue.value=ue.value[ui](1,"month"),Mi("month")},Et=pi=>{const ui=ue.value,$i=pi?"add":"subtract";ue.value=At.value==="year"?ui[$i](10,"year"):ui[$i](1,"year"),Mi("year")},At=ref$1("date"),Lt=computed$1(()=>{const pi=L("el.datepicker.year");if(At.value==="year"){const ui=Math.floor(xe.value/10)*10;return pi?"".concat(ui," ").concat(pi," - ").concat(ui+9," ").concat(pi):"".concat(ui," - ").concat(ui+9)}return"".concat(xe.value," ").concat(pi)}),kt=pi=>{const ui=isFunction$4(pi.value)?pi.value():pi.value;if(ui){pe=!0,ze(dayjs(ui).locale(V.value));return}pi.onClick&&pi.onClick({attrs:y,slots:k,emit:e})},ei=computed$1(()=>{const{type:pi}=t;return["week","month","months","year","years","dates"].includes(pi)?pi:"date"}),jt=computed$1(()=>ei.value==="dates"||ei.value==="months"||ei.value==="years"),ri=computed$1(()=>ei.value==="date"?At.value:ei.value),ni=computed$1(()=>!!ie.length),Ci=async(pi,ui)=>{ei.value==="month"?(ue.value=getValidDateOfMonth(ue.value.year(),pi,V.value,oe),ze(ue.value,!1)):ei.value==="months"?ze(pi,ui!=null?ui:!0):(ue.value=getValidDateOfMonth(ue.value.year(),pi,V.value,oe),At.value="date",["month","year","date","week"].includes(ei.value)&&(ze(ue.value,!0),await nextTick(),Dt())),Mi("month")},wi=async(pi,ui)=>{if(ei.value==="year"){const $i=ue.value.startOf("year").year(pi);ue.value=getValidDateOfYear($i,V.value,oe),ze(ue.value,!1)}else if(ei.value==="years")ze(pi,ui!=null?ui:!0);else{const $i=ue.value.year(pi);ue.value=getValidDateOfYear($i,V.value,oe),At.value="month",["month","year","date","week"].includes(ei.value)&&(ze(ue.value,!0),await nextTick(),Dt())}Mi("year")},Ri=async pi=>{At.value=pi,await nextTick(),Dt()},ai=computed$1(()=>t.type==="datetime"||t.type==="datetimerange"),hi=computed$1(()=>{const pi=ai.value||ei.value==="dates",ui=ei.value==="years",$i=ei.value==="months",di=At.value==="date",Wi=At.value==="year",Gi=At.value==="month";return pi&&di||ui&&Wi||$i&&Gi}),xi=computed$1(()=>oe?t.parsedValue?isArray$2(t.parsedValue)?oe(t.parsedValue[0].toDate()):oe(t.parsedValue.toDate()):!0:!1),Oi=()=>{if(jt.value)ze(t.parsedValue);else{let pi=t.parsedValue;if(!pi){const ui=dayjs(ae).locale(V.value),$i=ti();pi=ui.year($i.year()).month($i.month()).date($i.date())}ue.value=pi,ze(pi)}},Ei=computed$1(()=>oe?oe(dayjs().locale(V.value).toDate()):!1),si=()=>{const ui=dayjs().locale(V.value).toDate();he.value=!0,(!oe||!oe(ui))&&Ve(ui)&&(ue.value=dayjs().locale(V.value),ze(ue.value))},fi=computed$1(()=>t.timeFormat||extractTimeFormat(t.format)),li=computed$1(()=>t.dateFormat||extractDateFormat(t.format)),Di=computed$1(()=>{if(Fe.value)return Fe.value;if(!(!t.parsedValue&&!le.value))return(t.parsedValue||ue.value).format(fi.value)}),ki=computed$1(()=>{if(Ne.value)return Ne.value;if(!(!t.parsedValue&&!le.value))return(t.parsedValue||ue.value).format(li.value)}),Ai=ref$1(!1),Ki=()=>{Ai.value=!0},zi=()=>{Ai.value=!1},bi=pi=>({hour:pi.hour(),minute:pi.minute(),second:pi.second(),year:pi.year(),month:pi.month(),date:pi.date()}),vi=(pi,ui,$i)=>{const{hour:di,minute:Wi,second:Gi}=bi(pi),Zi=t.parsedValue?t.parsedValue.hour(di).minute(Wi).second(Gi):pi;ue.value=Zi,ze(ue.value,!0),$i||(Ai.value=ui)},Li=pi=>{const ui=dayjs(pi,fi.value).locale(V.value);if(ui.isValid()&&Ve(ui)){const{year:$i,month:di,date:Wi}=bi(ue.value);ue.value=ui.year($i).month(di).date(Wi),Fe.value=null,Ai.value=!1,ze(ue.value,!0)}},oi=pi=>{const ui=dayjs(pi,li.value).locale(V.value);if(ui.isValid()){if(oe&&oe(ui.toDate()))return;const{hour:$i,minute:di,second:Wi}=bi(ue.value);ue.value=ui.hour($i).minute(di).second(Wi),Ne.value=null,ze(ue.value,!0)}},ii=pi=>dayjs.isDayjs(pi)&&pi.isValid()&&(oe?!oe(pi.toDate()):!0),mi=pi=>isArray$2(pi)?pi.map(ui=>ui.format(t.format)):pi.format(t.format),yi=pi=>dayjs(pi,t.format).locale(V.value),ti=()=>{const pi=dayjs(le.value).locale(V.value);if(!le.value){const ui=Ce.value;return dayjs().hour(ui.hour()).minute(ui.minute()).second(ui.second()).locale(V.value)}return pi},Dt=()=>{var pi;["week","month","year","date"].includes(ei.value)&&((pi=de.value)==null||pi.focus())},Pt=()=>{Dt(),ei.value==="week"&&Ti(EVENT_CODE.down)},ci=pi=>{const{code:ui}=pi;[EVENT_CODE.up,EVENT_CODE.down,EVENT_CODE.left,EVENT_CODE.right,EVENT_CODE.home,EVENT_CODE.end,EVENT_CODE.pageUp,EVENT_CODE.pageDown].includes(ui)&&(Ti(ui),pi.stopPropagation(),pi.preventDefault()),[EVENT_CODE.enter,EVENT_CODE.space,EVENT_CODE.numpadEnter].includes(ui)&&Ne.value===null&&Fe.value===null&&(pi.preventDefault(),ze(ue.value,!1))},Ti=pi=>{var ui;const{up:$i,down:di,left:Wi,right:Gi,home:Zi,end:vn,pageUp:Tn,pageDown:In}=EVENT_CODE,Rn={year:{[$i]:-4,[di]:4,[Wi]:-1,[Gi]:1,offset:(Ln,Nn)=>Ln.setFullYear(Ln.getFullYear()+Nn)},month:{[$i]:-4,[di]:4,[Wi]:-1,[Gi]:1,offset:(Ln,Nn)=>Ln.setMonth(Ln.getMonth()+Nn)},week:{[$i]:-1,[di]:1,[Wi]:-1,[Gi]:1,offset:(Ln,Nn)=>Ln.setDate(Ln.getDate()+Nn*7)},date:{[$i]:-7,[di]:7,[Wi]:-1,[Gi]:1,[Zi]:Ln=>-Ln.getDay(),[vn]:Ln=>-Ln.getDay()+6,[Tn]:Ln=>-new Date(Ln.getFullYear(),Ln.getMonth(),0).getDate(),[In]:Ln=>new Date(Ln.getFullYear(),Ln.getMonth()+1,0).getDate(),offset:(Ln,Nn)=>Ln.setDate(Ln.getDate()+Nn)}},Bn=ue.value.toDate();for(;Math.abs(ue.value.diff(Bn,"year",!0))<1;){const Ln=Rn[ri.value];if(!Ln)return;if(Ln.offset(Bn,isFunction$4(Ln[pi])?Ln[pi](Bn):(ui=Ln[pi])!=null?ui:0),oe&&oe(Bn))break;const Nn=dayjs(Bn).locale(V.value);ue.value=Nn,e("pick",Nn,!0);break}},Mi=pi=>{e("panel-change",ue.value.toDate(),pi,At.value)};return watch(()=>ei.value,pi=>{if(["month","year"].includes(pi)){At.value=pi;return}else if(pi==="years"){At.value="year";return}else if(pi==="months"){At.value="month";return}At.value="date"},{immediate:!0}),watch(()=>At.value,()=>{j==null||j.updatePopper()}),watch(()=>le.value,pi=>{pi&&(ue.value=ti())},{immediate:!0}),watch(()=>t.parsedValue,pi=>{if(pi){if(jt.value||isArray$2(pi))return;ue.value=pi}else ue.value=ti()},{immediate:!0}),e("set-picker-option",["isValidValue",ii]),e("set-picker-option",["formatToString",mi]),e("set-picker-option",["parseUserInput",yi]),e("set-picker-option",["handleFocusPicker",Pt]),(pi,ui)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(r).b(),unref(g).b(),{"has-sidebar":pi.$slots.sidebar||unref(ni),"has-time":unref(ai)}])},[createBaseVNode("div",{class:normalizeClass(unref(r).e("body-wrapper"))},[renderSlot(pi.$slots,"sidebar",{class:normalizeClass(unref(r).e("sidebar"))}),unref(ni)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(r).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(ie),($i,di)=>(openBlock(),createElementBlock("button",{key:di,type:"button",class:normalizeClass(unref(r).e("shortcut")),onClick:Wi=>kt($i)},toDisplayString($i.text),11,["onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(r).e("body"))},[unref(ai)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(g).e("time-header"))},[createBaseVNode("span",{class:normalizeClass(unref(g).e("editor-wrap"))},[createVNode(unref(ElInput),{placeholder:unref(L)("el.datepicker.selectDate"),"model-value":unref(ki),size:"small","validate-event":!1,onInput:$i=>Ne.value=$i,onChange:oi},null,8,["placeholder","model-value","onInput"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(g).e("editor-wrap"))},[createVNode(unref(ElInput),{placeholder:unref(L)("el.datepicker.selectTime"),"model-value":unref(Di),size:"small","validate-event":!1,onFocus:Ki,onInput:$i=>Fe.value=$i,onChange:Li},null,8,["placeholder","model-value","onInput"]),createVNode(unref(TimePickPanel),{visible:Ai.value,format:unref(fi),"parsed-value":ue.value,onPick:vi},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),zi]])],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",{class:normalizeClass([unref(g).e("header"),(At.value==="year"||At.value==="month")&&unref(g).e("header--bordered")])},[createBaseVNode("span",{class:normalizeClass(unref(g).e("prev-btn"))},[createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.prevYear"),class:normalizeClass(["d-arrow-left",unref(r).e("icon-btn")]),onClick:$i=>Et(!1)},[renderSlot(pi.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label","onClick"]),withDirectives(createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.prevMonth"),class:normalizeClass([unref(r).e("icon-btn"),"arrow-left"]),onClick:$i=>Ue(!1)},[renderSlot(pi.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label","onClick"]),[[vShow,At.value==="date"]])],2),createBaseVNode("span",{role:"button",class:normalizeClass(unref(g).e("header-label")),"aria-live":"polite",tabindex:"0",onKeydown:withKeys($i=>Ri("year"),["enter"]),onClick:$i=>Ri("year")},toDisplayString(unref(Lt)),43,["onKeydown","onClick"]),withDirectives(createBaseVNode("span",{role:"button","aria-live":"polite",tabindex:"0",class:normalizeClass([unref(g).e("header-label"),{active:At.value==="month"}]),onKeydown:withKeys($i=>Ri("month"),["enter"]),onClick:$i=>Ri("month")},toDisplayString(unref(L)("el.datepicker.month".concat(unref($e)+1))),43,["onKeydown","onClick"]),[[vShow,At.value==="date"]]),createBaseVNode("span",{class:normalizeClass(unref(g).e("next-btn"))},[withDirectives(createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.nextMonth"),class:normalizeClass([unref(r).e("icon-btn"),"arrow-right"]),onClick:$i=>Ue(!0)},[renderSlot(pi.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["aria-label","onClick"]),[[vShow,At.value==="date"]]),createBaseVNode("button",{type:"button","aria-label":unref(L)("el.datepicker.nextYear"),class:normalizeClass([unref(r).e("icon-btn"),"d-arrow-right"]),onClick:$i=>Et(!0)},[renderSlot(pi.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label","onClick"])],2)],2),[[vShow,At.value!=="time"]]),createBaseVNode("div",{class:normalizeClass(unref(r).e("content")),onKeydown:ci},[At.value==="date"?(openBlock(),createBlock(DateTable,{key:0,ref_key:"currentViewRef",ref:de,"selection-mode":unref(ei),date:ue.value,"parsed-value":pi.parsedValue,"disabled-date":unref(oe),"cell-class-name":unref(re),onPick:qe},null,8,["selection-mode","date","parsed-value","disabled-date","cell-class-name"])):createCommentVNode("v-if",!0),At.value==="year"?(openBlock(),createBlock(YearTable,{key:1,ref_key:"currentViewRef",ref:de,"selection-mode":unref(ei),date:ue.value,"disabled-date":unref(oe),"parsed-value":pi.parsedValue,onPick:wi},null,8,["selection-mode","date","disabled-date","parsed-value"])):createCommentVNode("v-if",!0),At.value==="month"?(openBlock(),createBlock(MonthTable,{key:2,ref_key:"currentViewRef",ref:de,"selection-mode":unref(ei),date:ue.value,"parsed-value":pi.parsedValue,"disabled-date":unref(oe),onPick:Ci},null,8,["selection-mode","date","parsed-value","disabled-date"])):createCommentVNode("v-if",!0)],34)],2)],2),withDirectives(createBaseVNode("div",{class:normalizeClass(unref(r).e("footer"))},[withDirectives(createVNode(unref(ElButton),{text:"",size:"small",class:normalizeClass(unref(r).e("link-btn")),disabled:unref(Ei),onClick:si},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(L)("el.datepicker.now")),1)]),_:1},8,["class","disabled"]),[[vShow,!unref(jt)&&pi.showNow]]),createVNode(unref(ElButton),{plain:"",size:"small",class:normalizeClass(unref(r).e("link-btn")),disabled:unref(xi),onClick:Oi},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(L)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled"])],2),[[vShow,unref(hi)]])],2))}});var DatePickPanel=_export_sfc(_sfc_main$U,[["__file","panel-date-pick.vue"]]);const panelDateRangeProps=buildProps({...panelSharedProps,...panelRangeSharedProps,visible:Boolean}),useShortcut=n=>{const{emit:e}=getCurrentInstance$1(),t=useAttrs$1(),i=useSlots();return g=>{const y=isFunction$4(g.value)?g.value():g.value;if(y){e("pick",[dayjs(y[0]).locale(n.value),dayjs(y[1]).locale(n.value)]);return}g.onClick&&g.onClick({attrs:t,slots:i,emit:e})}},useRangePicker=(n,{defaultValue:e,leftDate:t,rightDate:i,unit:r,onParsedValueChanged:g})=>{const{emit:y}=getCurrentInstance$1(),{pickerNs:k}=inject(ROOT_PICKER_INJECTION_KEY),L=useNamespace("date-range-picker"),{t:V,lang:z}=useLocale(),j=useShortcut(z),ie=ref$1(),oe=ref$1(),re=ref$1({endDate:null,selecting:!1}),ae=pe=>{re.value=pe},le=(pe=!1)=>{const Ce=unref(ie),$e=unref(oe);isValidRange([Ce,$e])&&y("pick",[Ce,$e],pe)},de=pe=>{re.value.selecting=pe,pe||(re.value.endDate=null)},ue=pe=>{if(isArray$2(pe)&&pe.length===2){const[Ce,$e]=pe;ie.value=Ce,t.value=Ce,oe.value=$e,g(unref(ie),unref(oe))}else he()},he=()=>{const[pe,Ce]=getDefaultValue(unref(e),{lang:unref(z),unit:r,unlinkPanels:n.unlinkPanels});ie.value=void 0,oe.value=void 0,t.value=pe,i.value=Ce};return watch(e,pe=>{pe&&he()},{immediate:!0}),watch(()=>n.parsedValue,ue,{immediate:!0}),{minDate:ie,maxDate:oe,rangeState:re,lang:z,ppNs:k,drpNs:L,handleChangeRange:ae,handleRangeConfirm:le,handleShortcutClick:j,onSelect:de,onReset:ue,t:V}},unit$2="month",_sfc_main$T=defineComponent({__name:"panel-date-range",props:panelDateRangeProps,emits:["pick","set-picker-option","calendar-change","panel-change"],setup(n,{emit:e}){const t=n,i=inject("EP_PICKER_BASE"),{disabledDate:r,cellClassName:g,defaultTime:y,clearable:k}=i.props,L=toRef(i.props,"format"),V=toRef(i.props,"shortcuts"),z=toRef(i.props,"defaultValue"),{lang:j}=useLocale(),ie=ref$1(dayjs().locale(j.value)),oe=ref$1(dayjs().locale(j.value).add(1,unit$2)),{minDate:re,maxDate:ae,rangeState:le,ppNs:de,drpNs:ue,handleChangeRange:he,handleRangeConfirm:pe,handleShortcutClick:Ce,onSelect:$e,onReset:xe,t:Ie}=useRangePicker(t,{defaultValue:z,leftDate:ie,rightDate:oe,unit:unit$2,onParsedValueChanged:pi});watch(()=>t.visible,ui=>{!ui&&le.value.selecting&&(xe(t.parsedValue),$e(!1))});const Ne=ref$1({min:null,max:null}),Fe=ref$1({min:null,max:null}),Ve=computed$1(()=>"".concat(ie.value.year()," ").concat(Ie("el.datepicker.year")," ").concat(Ie("el.datepicker.month".concat(ie.value.month()+1)))),Oe=computed$1(()=>"".concat(oe.value.year()," ").concat(Ie("el.datepicker.year")," ").concat(Ie("el.datepicker.month".concat(oe.value.month()+1)))),ze=computed$1(()=>ie.value.year()),qe=computed$1(()=>ie.value.month()),Ue=computed$1(()=>oe.value.year()),Et=computed$1(()=>oe.value.month()),At=computed$1(()=>!!V.value.length),Lt=computed$1(()=>Ne.value.min!==null?Ne.value.min:re.value?re.value.format(ni.value):""),kt=computed$1(()=>Ne.value.max!==null?Ne.value.max:ae.value||re.value?(ae.value||re.value).format(ni.value):""),ei=computed$1(()=>Fe.value.min!==null?Fe.value.min:re.value?re.value.format(ri.value):""),jt=computed$1(()=>Fe.value.max!==null?Fe.value.max:ae.value||re.value?(ae.value||re.value).format(ri.value):""),ri=computed$1(()=>t.timeFormat||extractTimeFormat(L.value)),ni=computed$1(()=>t.dateFormat||extractDateFormat(L.value)),Ci=ui=>isValidRange(ui)&&(r?!r(ui[0].toDate())&&!r(ui[1].toDate()):!0),wi=()=>{ie.value=ie.value.subtract(1,"year"),t.unlinkPanels||(oe.value=ie.value.add(1,"month")),fi("year")},Ri=()=>{ie.value=ie.value.subtract(1,"month"),t.unlinkPanels||(oe.value=ie.value.add(1,"month")),fi("month")},ai=()=>{t.unlinkPanels?oe.value=oe.value.add(1,"year"):(ie.value=ie.value.add(1,"year"),oe.value=ie.value.add(1,"month")),fi("year")},hi=()=>{t.unlinkPanels?oe.value=oe.value.add(1,"month"):(ie.value=ie.value.add(1,"month"),oe.value=ie.value.add(1,"month")),fi("month")},xi=()=>{ie.value=ie.value.add(1,"year"),fi("year")},Oi=()=>{ie.value=ie.value.add(1,"month"),fi("month")},Ei=()=>{oe.value=oe.value.subtract(1,"year"),fi("year")},si=()=>{oe.value=oe.value.subtract(1,"month"),fi("month")},fi=ui=>{e("panel-change",[ie.value.toDate(),oe.value.toDate()],ui)},li=computed$1(()=>{const ui=(qe.value+1)%12,$i=qe.value+1>=12?1:0;return t.unlinkPanels&&new Date(ze.value+$i,ui)t.unlinkPanels&&Ue.value*12+Et.value-(ze.value*12+qe.value+1)>=12),ki=computed$1(()=>!(re.value&&ae.value&&!le.value.selecting&&isValidRange([re.value,ae.value]))),Ai=computed$1(()=>t.type==="datetime"||t.type==="datetimerange"),Ki=(ui,$i)=>{if(ui)return y?dayjs(y[$i]||y).locale(j.value).year(ui.year()).month(ui.month()).date(ui.date()):ui},zi=(ui,$i=!0)=>{const di=ui.minDate,Wi=ui.maxDate,Gi=Ki(di,0),Zi=Ki(Wi,1);ae.value===Zi&&re.value===Gi||(e("calendar-change",[di.toDate(),Wi&&Wi.toDate()]),ae.value=Zi,re.value=Gi,!(!$i||Ai.value)&&pe())},bi=ref$1(!1),vi=ref$1(!1),Li=()=>{bi.value=!1},oi=()=>{vi.value=!1},ii=(ui,$i)=>{Ne.value[$i]=ui;const di=dayjs(ui,ni.value).locale(j.value);if(di.isValid()){if(r&&r(di.toDate()))return;$i==="min"?(ie.value=di,re.value=(re.value||ie.value).year(di.year()).month(di.month()).date(di.date()),!t.unlinkPanels&&(!ae.value||ae.value.isBefore(re.value))&&(oe.value=di.add(1,"month"),ae.value=re.value.add(1,"month"))):(oe.value=di,ae.value=(ae.value||oe.value).year(di.year()).month(di.month()).date(di.date()),!t.unlinkPanels&&(!re.value||re.value.isAfter(ae.value))&&(ie.value=di.subtract(1,"month"),re.value=ae.value.subtract(1,"month")))}},mi=(ui,$i)=>{Ne.value[$i]=null},yi=(ui,$i)=>{Fe.value[$i]=ui;const di=dayjs(ui,ri.value).locale(j.value);di.isValid()&&($i==="min"?(bi.value=!0,re.value=(re.value||ie.value).hour(di.hour()).minute(di.minute()).second(di.second())):(vi.value=!0,ae.value=(ae.value||oe.value).hour(di.hour()).minute(di.minute()).second(di.second()),oe.value=ae.value))},ti=(ui,$i)=>{Fe.value[$i]=null,$i==="min"?(ie.value=re.value,bi.value=!1,(!ae.value||ae.value.isBefore(re.value))&&(ae.value=re.value)):(oe.value=ae.value,vi.value=!1,ae.value&&ae.value.isBefore(re.value)&&(re.value=ae.value))},Dt=(ui,$i,di)=>{Fe.value.min||(ui&&(ie.value=ui,re.value=(re.value||ie.value).hour(ui.hour()).minute(ui.minute()).second(ui.second())),di||(bi.value=$i),(!ae.value||ae.value.isBefore(re.value))&&(ae.value=re.value,oe.value=ui))},Pt=(ui,$i,di)=>{Fe.value.max||(ui&&(oe.value=ui,ae.value=(ae.value||oe.value).hour(ui.hour()).minute(ui.minute()).second(ui.second())),di||(vi.value=$i),ae.value&&ae.value.isBefore(re.value)&&(re.value=ae.value))},ci=()=>{ie.value=getDefaultValue(unref(z),{lang:unref(j),unit:"month",unlinkPanels:t.unlinkPanels})[0],oe.value=ie.value.add(1,"month"),ae.value=void 0,re.value=void 0,e("pick",null)},Ti=ui=>isArray$2(ui)?ui.map($i=>$i.format(L.value)):ui.format(L.value),Mi=ui=>isArray$2(ui)?ui.map($i=>dayjs($i,L.value).locale(j.value)):dayjs(ui,L.value).locale(j.value);function pi(ui,$i){if(t.unlinkPanels&&$i){const di=(ui==null?void 0:ui.year())||0,Wi=(ui==null?void 0:ui.month())||0,Gi=$i.year(),Zi=$i.month();oe.value=di===Gi&&Wi===Zi?$i.add(1,unit$2):$i}else oe.value=ie.value.add(1,unit$2),$i&&(oe.value=oe.value.hour($i.hour()).minute($i.minute()).second($i.second()))}return e("set-picker-option",["isValidValue",Ci]),e("set-picker-option",["parseUserInput",Mi]),e("set-picker-option",["formatToString",Ti]),e("set-picker-option",["handleClear",ci]),(ui,$i)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(de).b(),unref(ue).b(),{"has-sidebar":ui.$slots.sidebar||unref(At),"has-time":unref(Ai)}])},[createBaseVNode("div",{class:normalizeClass(unref(de).e("body-wrapper"))},[renderSlot(ui.$slots,"sidebar",{class:normalizeClass(unref(de).e("sidebar"))}),unref(At)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(de).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(V),(di,Wi)=>(openBlock(),createElementBlock("button",{key:Wi,type:"button",class:normalizeClass(unref(de).e("shortcut")),onClick:Gi=>unref(Ce)(di)},toDisplayString(di.text),11,["onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(de).e("body"))},[unref(Ai)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(ue).e("time-header"))},[createBaseVNode("span",{class:normalizeClass(unref(ue).e("editors-wrap"))},[createBaseVNode("span",{class:normalizeClass(unref(ue).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",disabled:unref(le).selecting,placeholder:unref(Ie)("el.datepicker.startDate"),class:normalizeClass(unref(ue).e("editor")),"model-value":unref(Lt),"validate-event":!1,onInput:di=>ii(di,"min"),onChange:di=>mi(di,"min")},null,8,["disabled","placeholder","class","model-value","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(ue).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(ue).e("editor")),disabled:unref(le).selecting,placeholder:unref(Ie)("el.datepicker.startTime"),"model-value":unref(ei),"validate-event":!1,onFocus:di=>bi.value=!0,onInput:di=>yi(di,"min"),onChange:di=>ti(di,"min")},null,8,["class","disabled","placeholder","model-value","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{visible:bi.value,format:unref(ri),"datetime-role":"start","parsed-value":ie.value,onPick:Dt},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),Li]])],2),createBaseVNode("span",null,[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})]),createBaseVNode("span",{class:normalizeClass([unref(ue).e("editors-wrap"),"is-right"])},[createBaseVNode("span",{class:normalizeClass(unref(ue).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(ue).e("editor")),disabled:unref(le).selecting,placeholder:unref(Ie)("el.datepicker.endDate"),"model-value":unref(kt),readonly:!unref(re),"validate-event":!1,onInput:di=>ii(di,"max"),onChange:di=>mi(di,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onInput","onChange"])],2),withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(unref(ue).e("time-picker-wrap"))},[createVNode(unref(ElInput),{size:"small",class:normalizeClass(unref(ue).e("editor")),disabled:unref(le).selecting,placeholder:unref(Ie)("el.datepicker.endTime"),"model-value":unref(jt),readonly:!unref(re),"validate-event":!1,onFocus:di=>unref(re)&&(vi.value=!0),onInput:di=>yi(di,"max"),onChange:di=>ti(di,"max")},null,8,["class","disabled","placeholder","model-value","readonly","onFocus","onInput","onChange"]),createVNode(unref(TimePickPanel),{"datetime-role":"end",visible:vi.value,format:unref(ri),"parsed-value":oe.value,onPick:Pt},null,8,["visible","format","parsed-value"])],2)),[[unref(ClickOutside),oi]])],2)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([[unref(de).e("content"),unref(ue).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(ue).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(de).e("icon-btn"),"d-arrow-left"]),"aria-label":unref(Ie)("el.datepicker.prevYear"),onClick:wi},[renderSlot(ui.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["aria-label"]),createBaseVNode("button",{type:"button",class:normalizeClass([unref(de).e("icon-btn"),"arrow-left"]),"aria-label":unref(Ie)("el.datepicker.prevMonth"),onClick:Ri},[renderSlot(ui.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["aria-label"]),ui.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Di),class:normalizeClass([[unref(de).e("icon-btn"),{"is-disabled":!unref(Di)}],"d-arrow-right"]),"aria-label":unref(Ie)("el.datepicker.nextYear"),onClick:xi},[renderSlot(ui.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),ui.unlinkPanels?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(li),class:normalizeClass([[unref(de).e("icon-btn"),{"is-disabled":!unref(li)}],"arrow-right"]),"aria-label":unref(Ie)("el.datepicker.nextMonth"),onClick:Oi},[renderSlot(ui.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,toDisplayString(unref(Ve)),1)],2),createVNode(DateTable,{"selection-mode":"range",date:ie.value,"min-date":unref(re),"max-date":unref(ae),"range-state":unref(le),"disabled-date":unref(r),"cell-class-name":unref(g),onChangerange:unref(he),onPick:zi,onSelect:unref($e)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass([[unref(de).e("content"),unref(ue).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass(unref(ue).e("header"))},[ui.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Di),class:normalizeClass([[unref(de).e("icon-btn"),{"is-disabled":!unref(Di)}],"d-arrow-left"]),"aria-label":unref(Ie)("el.datepicker.prevYear"),onClick:Ei},[renderSlot(ui.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),ui.unlinkPanels?(openBlock(),createElementBlock("button",{key:1,type:"button",disabled:!unref(li),class:normalizeClass([[unref(de).e("icon-btn"),{"is-disabled":!unref(li)}],"arrow-left"]),"aria-label":unref(Ie)("el.datepicker.prevMonth"),onClick:si},[renderSlot(ui.$slots,"prev-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_left_default))]),_:1})])],10,["disabled","aria-label"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button","aria-label":unref(Ie)("el.datepicker.nextYear"),class:normalizeClass([unref(de).e("icon-btn"),"d-arrow-right"]),onClick:ai},[renderSlot(ui.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["aria-label"]),createBaseVNode("button",{type:"button",class:normalizeClass([unref(de).e("icon-btn"),"arrow-right"]),"aria-label":unref(Ie)("el.datepicker.nextMonth"),onClick:hi},[renderSlot(ui.$slots,"next-month",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(arrow_right_default))]),_:1})])],10,["aria-label"]),createBaseVNode("div",null,toDisplayString(unref(Oe)),1)],2),createVNode(DateTable,{"selection-mode":"range",date:oe.value,"min-date":unref(re),"max-date":unref(ae),"range-state":unref(le),"disabled-date":unref(r),"cell-class-name":unref(g),onChangerange:unref(he),onPick:zi,onSelect:unref($e)},null,8,["date","min-date","max-date","range-state","disabled-date","cell-class-name","onChangerange","onSelect"])],2)],2)],2),unref(Ai)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(de).e("footer"))},[unref(k)?(openBlock(),createBlock(unref(ElButton),{key:0,text:"",size:"small",class:normalizeClass(unref(de).e("link-btn")),onClick:ci},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(Ie)("el.datepicker.clear")),1)]),_:1},8,["class"])):createCommentVNode("v-if",!0),createVNode(unref(ElButton),{plain:"",size:"small",class:normalizeClass(unref(de).e("link-btn")),disabled:unref(ki),onClick:di=>unref(pe)(!1)},{default:withCtx(()=>[createTextVNode(toDisplayString(unref(Ie)("el.datepicker.confirm")),1)]),_:1},8,["class","disabled","onClick"])],2)):createCommentVNode("v-if",!0)],2))}});var DateRangePickPanel=_export_sfc(_sfc_main$T,[["__file","panel-date-range.vue"]]);const panelMonthRangeProps=buildProps({...panelRangeSharedProps}),panelMonthRangeEmits=["pick","set-picker-option","calendar-change"],useMonthRangeHeader=({unlinkPanels:n,leftDate:e,rightDate:t})=>{const{t:i}=useLocale(),r=()=>{e.value=e.value.subtract(1,"year"),n.value||(t.value=t.value.subtract(1,"year"))},g=()=>{n.value||(e.value=e.value.add(1,"year")),t.value=t.value.add(1,"year")},y=()=>{e.value=e.value.add(1,"year")},k=()=>{t.value=t.value.subtract(1,"year")},L=computed$1(()=>"".concat(e.value.year()," ").concat(i("el.datepicker.year"))),V=computed$1(()=>"".concat(t.value.year()," ").concat(i("el.datepicker.year"))),z=computed$1(()=>e.value.year()),j=computed$1(()=>t.value.year()===e.value.year()?e.value.year()+1:t.value.year());return{leftPrevYear:r,rightNextYear:g,leftNextYear:y,rightPrevYear:k,leftLabel:L,rightLabel:V,leftYear:z,rightYear:j}},unit$1="year",__default__$r=defineComponent({name:"DatePickerMonthRange"}),_sfc_main$S=defineComponent({...__default__$r,props:panelMonthRangeProps,emits:panelMonthRangeEmits,setup(n,{emit:e}){const t=n,{lang:i}=useLocale(),r=inject("EP_PICKER_BASE"),{shortcuts:g,disabledDate:y}=r.props,k=toRef(r.props,"format"),L=toRef(r.props,"defaultValue"),V=ref$1(dayjs().locale(i.value)),z=ref$1(dayjs().locale(i.value).add(1,unit$1)),{minDate:j,maxDate:ie,rangeState:oe,ppNs:re,drpNs:ae,handleChangeRange:le,handleRangeConfirm:de,handleShortcutClick:ue,onSelect:he}=useRangePicker(t,{defaultValue:L,leftDate:V,rightDate:z,unit:unit$1,onParsedValueChanged:Lt}),pe=computed$1(()=>!!g.length),{leftPrevYear:Ce,rightNextYear:$e,leftNextYear:xe,rightPrevYear:Ie,leftLabel:Ne,rightLabel:Fe,leftYear:Ve,rightYear:Oe}=useMonthRangeHeader({unlinkPanels:toRef(t,"unlinkPanels"),leftDate:V,rightDate:z}),ze=computed$1(()=>t.unlinkPanels&&Oe.value>Ve.value+1),qe=(kt,ei=!0)=>{const jt=kt.minDate,ri=kt.maxDate;ie.value===ri&&j.value===jt||(e("calendar-change",[jt.toDate(),ri&&ri.toDate()]),ie.value=ri,j.value=jt,ei&&de())},Ue=()=>{V.value=getDefaultValue(unref(L),{lang:unref(i),unit:"year",unlinkPanels:t.unlinkPanels})[0],z.value=V.value.add(1,"year"),e("pick",null)},Et=kt=>isArray$2(kt)?kt.map(ei=>ei.format(k.value)):kt.format(k.value),At=kt=>isArray$2(kt)?kt.map(ei=>dayjs(ei,k.value).locale(i.value)):dayjs(kt,k.value).locale(i.value);function Lt(kt,ei){if(t.unlinkPanels&&ei){const jt=(kt==null?void 0:kt.year())||0,ri=ei.year();z.value=jt===ri?ei.add(1,unit$1):ei}else z.value=V.value.add(1,unit$1)}return e("set-picker-option",["isValidValue",isValidRange]),e("set-picker-option",["formatToString",Et]),e("set-picker-option",["parseUserInput",At]),e("set-picker-option",["handleClear",Ue]),(kt,ei)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(re).b(),unref(ae).b(),{"has-sidebar":!!kt.$slots.sidebar||unref(pe)}])},[createBaseVNode("div",{class:normalizeClass(unref(re).e("body-wrapper"))},[renderSlot(kt.$slots,"sidebar",{class:normalizeClass(unref(re).e("sidebar"))}),unref(pe)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(re).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(g),(jt,ri)=>(openBlock(),createElementBlock("button",{key:ri,type:"button",class:normalizeClass(unref(re).e("shortcut")),onClick:ni=>unref(ue)(jt)},toDisplayString(jt.text),11,["onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(re).e("body"))},[createBaseVNode("div",{class:normalizeClass([[unref(re).e("content"),unref(ae).e("content")],"is-left"])},[createBaseVNode("div",{class:normalizeClass(unref(ae).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass([unref(re).e("icon-btn"),"d-arrow-left"]),onClick:unref(Ce)},[renderSlot(kt.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["onClick"]),kt.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(ze),class:normalizeClass([[unref(re).e("icon-btn"),{[unref(re).is("disabled")]:!unref(ze)}],"d-arrow-right"]),onClick:unref(xe)},[renderSlot(kt.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,toDisplayString(unref(Ne)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:V.value,"min-date":unref(j),"max-date":unref(ie),"range-state":unref(oe),"disabled-date":unref(y),onChangerange:unref(le),onPick:qe,onSelect:unref(he)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2),createBaseVNode("div",{class:normalizeClass([[unref(re).e("content"),unref(ae).e("content")],"is-right"])},[createBaseVNode("div",{class:normalizeClass(unref(ae).e("header"))},[kt.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(ze),class:normalizeClass([[unref(re).e("icon-btn"),{"is-disabled":!unref(ze)}],"d-arrow-left"]),onClick:unref(Ie)},[renderSlot(kt.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass([unref(re).e("icon-btn"),"d-arrow-right"]),onClick:unref($e)},[renderSlot(kt.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["onClick"]),createBaseVNode("div",null,toDisplayString(unref(Fe)),1)],2),createVNode(MonthTable,{"selection-mode":"range",date:z.value,"min-date":unref(j),"max-date":unref(ie),"range-state":unref(oe),"disabled-date":unref(y),onChangerange:unref(le),onPick:qe,onSelect:unref(he)},null,8,["date","min-date","max-date","range-state","disabled-date","onChangerange","onSelect"])],2)],2)],2)],2))}});var MonthRangePickPanel=_export_sfc(_sfc_main$S,[["__file","panel-month-range.vue"]]);const panelYearRangeProps=buildProps({...panelRangeSharedProps}),panelYearRangeEmits=["pick","set-picker-option","calendar-change"],useYearRangeHeader=({unlinkPanels:n,leftDate:e,rightDate:t})=>{const i=()=>{e.value=e.value.subtract(10,"year"),n.value||(t.value=t.value.subtract(10,"year"))},r=()=>{n.value||(e.value=e.value.add(10,"year")),t.value=t.value.add(10,"year")},g=()=>{e.value=e.value.add(10,"year")},y=()=>{t.value=t.value.subtract(10,"year")},k=computed$1(()=>{const j=Math.floor(e.value.year()/10)*10;return"".concat(j,"-").concat(j+9)}),L=computed$1(()=>{const j=Math.floor(t.value.year()/10)*10;return"".concat(j,"-").concat(j+9)}),V=computed$1(()=>Math.floor(e.value.year()/10)*10+9),z=computed$1(()=>Math.floor(t.value.year()/10)*10);return{leftPrevYear:i,rightNextYear:r,leftNextYear:g,rightPrevYear:y,leftLabel:k,rightLabel:L,leftYear:V,rightYear:z}},unit="year",__default__$q=defineComponent({name:"DatePickerYearRange"}),_sfc_main$R=defineComponent({...__default__$q,props:panelYearRangeProps,emits:panelYearRangeEmits,setup(n,{emit:e}){const t=n,{lang:i}=useLocale(),r=ref$1(dayjs().locale(i.value)),g=ref$1(r.value.add(10,"year")),{pickerNs:y}=inject(ROOT_PICKER_INJECTION_KEY),k=useNamespace("date-range-picker"),L=computed$1(()=>!!qe.length),V=computed$1(()=>[y.b(),k.b(),{"has-sidebar":!!useSlots().sidebar||L.value}]),z=computed$1(()=>({content:[y.e("content"),k.e("content"),"is-left"],arrowLeftBtn:[y.e("icon-btn"),"d-arrow-left"],arrowRightBtn:[y.e("icon-btn"),{[y.is("disabled")]:!Ce.value},"d-arrow-right"]})),j=computed$1(()=>({content:[y.e("content"),k.e("content"),"is-right"],arrowLeftBtn:[y.e("icon-btn"),{"is-disabled":!Ce.value},"d-arrow-left"],arrowRightBtn:[y.e("icon-btn"),"d-arrow-right"]})),ie=useShortcut(i),{leftPrevYear:oe,rightNextYear:re,leftNextYear:ae,rightPrevYear:le,leftLabel:de,rightLabel:ue,leftYear:he,rightYear:pe}=useYearRangeHeader({unlinkPanels:toRef(t,"unlinkPanels"),leftDate:r,rightDate:g}),Ce=computed$1(()=>t.unlinkPanels&&pe.value>he.value+1),$e=ref$1(),xe=ref$1(),Ie=ref$1({endDate:null,selecting:!1}),Ne=ni=>{Ie.value=ni},Fe=(ni,Ci=!0)=>{const wi=ni.minDate,Ri=ni.maxDate;xe.value===Ri&&$e.value===wi||(e("calendar-change",[wi.toDate(),Ri&&Ri.toDate()]),xe.value=Ri,$e.value=wi,Ci&&Ve())},Ve=(ni=!1)=>{isValidRange([$e.value,xe.value])&&e("pick",[$e.value,xe.value],ni)},Oe=ni=>{Ie.value.selecting=ni,ni||(Ie.value.endDate=null)},ze=inject("EP_PICKER_BASE"),{shortcuts:qe,disabledDate:Ue}=ze.props,Et=toRef(ze.props,"format"),At=toRef(ze.props,"defaultValue"),Lt=()=>{let ni;if(isArray$2(At.value)){const Ci=dayjs(At.value[0]);let wi=dayjs(At.value[1]);return t.unlinkPanels||(wi=Ci.add(10,unit)),[Ci,wi]}else At.value?ni=dayjs(At.value):ni=dayjs();return ni=ni.locale(i.value),[ni,ni.add(10,unit)]};watch(()=>At.value,ni=>{if(ni){const Ci=Lt();r.value=Ci[0],g.value=Ci[1]}},{immediate:!0}),watch(()=>t.parsedValue,ni=>{if(ni&&ni.length===2)if($e.value=ni[0],xe.value=ni[1],r.value=$e.value,t.unlinkPanels&&xe.value){const Ci=$e.value.year(),wi=xe.value.year();g.value=Ci===wi?xe.value.add(10,"year"):xe.value}else g.value=r.value.add(10,"year");else{const Ci=Lt();$e.value=void 0,xe.value=void 0,r.value=Ci[0],g.value=Ci[1]}},{immediate:!0});const kt=ni=>isArray$2(ni)?ni.map(Ci=>dayjs(Ci,Et.value).locale(i.value)):dayjs(ni,Et.value).locale(i.value),ei=ni=>isArray$2(ni)?ni.map(Ci=>Ci.format(Et.value)):ni.format(Et.value),jt=ni=>isValidRange(ni)&&(Ue?!Ue(ni[0].toDate())&&!Ue(ni[1].toDate()):!0),ri=()=>{const ni=Lt();r.value=ni[0],g.value=ni[1],xe.value=void 0,$e.value=void 0,e("pick",null)};return e("set-picker-option",["isValidValue",jt]),e("set-picker-option",["parseUserInput",kt]),e("set-picker-option",["formatToString",ei]),e("set-picker-option",["handleClear",ri]),(ni,Ci)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(V))},[createBaseVNode("div",{class:normalizeClass(unref(y).e("body-wrapper"))},[renderSlot(ni.$slots,"sidebar",{class:normalizeClass(unref(y).e("sidebar"))}),unref(L)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(y).e("sidebar"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(qe),(wi,Ri)=>(openBlock(),createElementBlock("button",{key:Ri,type:"button",class:normalizeClass(unref(y).e("shortcut")),onClick:ai=>unref(ie)(wi)},toDisplayString(wi.text),11,["onClick"]))),128))],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(y).e("body"))},[createBaseVNode("div",{class:normalizeClass(unref(z).content)},[createBaseVNode("div",{class:normalizeClass(unref(k).e("header"))},[createBaseVNode("button",{type:"button",class:normalizeClass(unref(z).arrowLeftBtn),onClick:unref(oe)},[renderSlot(ni.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["onClick"]),ni.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Ce),class:normalizeClass(unref(z).arrowRightBtn),onClick:unref(ae)},[renderSlot(ni.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("div",null,toDisplayString(unref(de)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:r.value,"min-date":$e.value,"max-date":xe.value,"range-state":Ie.value,"disabled-date":unref(Ue),onChangerange:Ne,onPick:Fe,onSelect:Oe},null,8,["date","min-date","max-date","range-state","disabled-date"])],2),createBaseVNode("div",{class:normalizeClass(unref(j).content)},[createBaseVNode("div",{class:normalizeClass(unref(k).e("header"))},[ni.unlinkPanels?(openBlock(),createElementBlock("button",{key:0,type:"button",disabled:!unref(Ce),class:normalizeClass(unref(j).arrowLeftBtn),onClick:unref(le)},[renderSlot(ni.$slots,"prev-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_left_default))]),_:1})])],10,["disabled","onClick"])):createCommentVNode("v-if",!0),createBaseVNode("button",{type:"button",class:normalizeClass(unref(j).arrowRightBtn),onClick:unref(re)},[renderSlot(ni.$slots,"next-year",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[createVNode(unref(d_arrow_right_default))]),_:1})])],10,["onClick"]),createBaseVNode("div",null,toDisplayString(unref(ue)),1)],2),createVNode(YearTable,{"selection-mode":"range",date:g.value,"min-date":$e.value,"max-date":xe.value,"range-state":Ie.value,"disabled-date":unref(Ue),onChangerange:Ne,onPick:Fe,onSelect:Oe},null,8,["date","min-date","max-date","range-state","disabled-date"])],2)],2)],2)],2))}});var YearRangePickPanel=_export_sfc(_sfc_main$R,[["__file","panel-year-range.vue"]]);const getPanel=function(n){switch(n){case"daterange":case"datetimerange":return DateRangePickPanel;case"monthrange":return MonthRangePickPanel;case"yearrange":return YearRangePickPanel;default:return DatePickPanel}};dayjs.extend(localeData);dayjs.extend(advancedFormat);dayjs.extend(customParseFormat);dayjs.extend(weekOfYear);dayjs.extend(weekYear);dayjs.extend(dayOfYear);dayjs.extend(isSameOrAfter);dayjs.extend(isSameOrBefore);var DatePicker=defineComponent({name:"ElDatePicker",install:null,props:datePickerProps,emits:["update:modelValue"],setup(n,{expose:e,emit:t,slots:i}){const r=useNamespace("picker-panel");provide("ElPopperOptions",reactive$1(toRef(n,"popperOptions"))),provide(ROOT_PICKER_INJECTION_KEY,{slots:i,pickerNs:r});const g=ref$1();e({focus:()=>{var L;(L=g.value)==null||L.focus()},blur:()=>{var L;(L=g.value)==null||L.blur()},handleOpen:()=>{var L;(L=g.value)==null||L.handleOpen()},handleClose:()=>{var L;(L=g.value)==null||L.handleClose()}});const k=L=>{t("update:modelValue",L)};return()=>{var L;const V=(L=n.format)!=null?L:DEFAULT_FORMATS_DATEPICKER[n.type]||DEFAULT_FORMATS_DATE,z=getPanel(n.type);return createVNode(CommonPicker,mergeProps(n,{format:V,type:n.type,ref:g,"onUpdate:modelValue":k}),{default:j=>createVNode(z,j,{"prev-month":i["prev-month"],"next-month":i["next-month"],"prev-year":i["prev-year"],"next-year":i["next-year"]}),"range-separator":i["range-separator"]})}}});const ElDatePicker=withInstall(DatePicker),useSameTarget=n=>{if(!n)return{onClick:NOOP,onMousedown:NOOP,onMouseup:NOOP};let e=!1,t=!1;return{onClick:y=>{e&&t&&n(y),e=t=!1},onMousedown:y=>{e=y.target===y.currentTarget},onMouseup:y=>{t=y.target===y.currentTarget}}},overlayProps=buildProps({mask:{type:Boolean,default:!0},customMaskEvent:Boolean,overlayClass:{type:definePropType([String,Array,Object])},zIndex:{type:definePropType([String,Number])}}),overlayEmits={click:n=>n instanceof MouseEvent},BLOCK="overlay";var Overlay=defineComponent({name:"ElOverlay",props:overlayProps,emits:overlayEmits,setup(n,{slots:e,emit:t}){const i=useNamespace(BLOCK),r=L=>{t("click",L)},{onClick:g,onMousedown:y,onMouseup:k}=useSameTarget(n.customMaskEvent?void 0:r);return()=>n.mask?createVNode("div",{class:[i.b(),n.overlayClass],style:{zIndex:n.zIndex},onClick:g,onMousedown:y,onMouseup:k},[renderSlot(e,"default")],PatchFlags.STYLE|PatchFlags.CLASS|PatchFlags.PROPS,["onClick","onMouseup","onMousedown"]):h$3("div",{class:n.overlayClass,style:{zIndex:n.zIndex,position:"fixed",top:"0px",right:"0px",bottom:"0px",left:"0px"}},[renderSlot(e,"default")])}});const ElOverlay=Overlay,dialogInjectionKey=Symbol("dialogInjectionKey"),dialogContentProps=buildProps({center:Boolean,alignCenter:Boolean,closeIcon:{type:iconPropType},draggable:Boolean,overflow:Boolean,fullscreen:Boolean,headerClass:String,bodyClass:String,footerClass:String,showClose:{type:Boolean,default:!0},title:{type:String,default:""},ariaLevel:{type:String,default:"2"}}),dialogContentEmits={close:()=>!0},useDraggable=(n,e,t,i)=>{let r={offsetX:0,offsetY:0};const g=V=>{const z=V.clientX,j=V.clientY,{offsetX:ie,offsetY:oe}=r,re=n.value.getBoundingClientRect(),ae=re.left,le=re.top,de=re.width,ue=re.height,he=document.documentElement.clientWidth,pe=document.documentElement.clientHeight,Ce=-ae+ie,$e=-le+oe,xe=he-ae-de+ie,Ie=pe-le-ue+oe,Ne=Ve=>{let Oe=ie+Ve.clientX-z,ze=oe+Ve.clientY-j;i!=null&&i.value||(Oe=Math.min(Math.max(Oe,Ce),xe),ze=Math.min(Math.max(ze,$e),Ie)),r={offsetX:Oe,offsetY:ze},n.value&&(n.value.style.transform="translate(".concat(addUnit(Oe),", ").concat(addUnit(ze),")"))},Fe=()=>{document.removeEventListener("mousemove",Ne),document.removeEventListener("mouseup",Fe)};document.addEventListener("mousemove",Ne),document.addEventListener("mouseup",Fe)},y=()=>{e.value&&n.value&&e.value.addEventListener("mousedown",g)},k=()=>{e.value&&n.value&&e.value.removeEventListener("mousedown",g)},L=()=>{r={offsetX:0,offsetY:0},n.value&&(n.value.style.transform="none")};return onMounted(()=>{watchEffect(()=>{t.value?y():k()})}),onBeforeUnmount(()=>{k()}),{resetPosition:L}},composeRefs=(...n)=>e=>{n.forEach(t=>{isFunction$4(t)?t(e):t.value=e})},__default__$p=defineComponent({name:"ElDialogContent"}),_sfc_main$Q=defineComponent({...__default__$p,props:dialogContentProps,emits:dialogContentEmits,setup(n,{expose:e}){const t=n,{t:i}=useLocale(),{Close:r}=CloseComponents,{dialogRef:g,headerRef:y,bodyId:k,ns:L,style:V}=inject(dialogInjectionKey),{focusTrapRef:z}=inject(FOCUS_TRAP_INJECTION_KEY),j=computed$1(()=>[L.b(),L.is("fullscreen",t.fullscreen),L.is("draggable",t.draggable),L.is("align-center",t.alignCenter),{[L.m("center")]:t.center}]),ie=composeRefs(z,g),oe=computed$1(()=>t.draggable),re=computed$1(()=>t.overflow),{resetPosition:ae}=useDraggable(g,y,oe,re);return e({resetPosition:ae}),(le,de)=>(openBlock(),createElementBlock("div",{ref:unref(ie),class:normalizeClass(unref(j)),style:normalizeStyle(unref(V)),tabindex:"-1"},[createBaseVNode("header",{ref_key:"headerRef",ref:y,class:normalizeClass([unref(L).e("header"),le.headerClass,{"show-close":le.showClose}])},[renderSlot(le.$slots,"header",{},()=>[createBaseVNode("span",{role:"heading","aria-level":le.ariaLevel,class:normalizeClass(unref(L).e("title"))},toDisplayString(le.title),11,["aria-level"])]),le.showClose?(openBlock(),createElementBlock("button",{key:0,"aria-label":unref(i)("el.dialog.close"),class:normalizeClass(unref(L).e("headerbtn")),type:"button",onClick:ue=>le.$emit("close")},[createVNode(unref(ElIcon),{class:normalizeClass(unref(L).e("close"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(le.closeIcon||unref(r))))]),_:1},8,["class"])],10,["aria-label","onClick"])):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{id:unref(k),class:normalizeClass([unref(L).e("body"),le.bodyClass])},[renderSlot(le.$slots,"default")],10,["id"]),le.$slots.footer?(openBlock(),createElementBlock("footer",{key:0,class:normalizeClass([unref(L).e("footer"),le.footerClass])},[renderSlot(le.$slots,"footer")],2)):createCommentVNode("v-if",!0)],6))}});var ElDialogContent=_export_sfc(_sfc_main$Q,[["__file","dialog-content.vue"]]);const dialogProps=buildProps({...dialogContentProps,appendToBody:Boolean,appendTo:{type:definePropType([String,Object]),default:"body"},beforeClose:{type:definePropType(Function)},destroyOnClose:Boolean,closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},openDelay:{type:Number,default:0},closeDelay:{type:Number,default:0},top:{type:String},modelValue:Boolean,modalClass:String,headerClass:String,bodyClass:String,footerClass:String,width:{type:[String,Number]},zIndex:{type:Number},trapFocus:Boolean,headerAriaLevel:{type:String,default:"2"}}),dialogEmits={open:()=>!0,opened:()=>!0,close:()=>!0,closed:()=>!0,[UPDATE_MODEL_EVENT]:n=>isBoolean(n),openAutoFocus:()=>!0,closeAutoFocus:()=>!0},useLockscreen=(n,e={})=>{isRef(n)||throwError("[useLockscreen]","You need to pass a ref param to this function");const t=e.ns||useNamespace("popup"),i=computed$1(()=>t.bm("parent","hidden"));if(!isClient||hasClass(document.body,i.value))return;let r=0,g=!1,y="0";const k=()=>{setTimeout(()=>{typeof document>"u"||g&&document&&(document.body.style.width=y,removeClass(document.body,i.value))},200)};watch(n,L=>{if(!L){k();return}g=!hasClass(document.body,i.value),g&&(y=document.body.style.width,addClass(document.body,i.value)),r=getScrollBarWidth(t.namespace.value);const V=document.documentElement.clientHeight0&&(V||z==="scroll")&&g&&(document.body.style.width="calc(100% - ".concat(r,"px)"))}),onScopeDispose(()=>k())},useDialog=(n,e)=>{var t;const r=getCurrentInstance$1().emit,{nextZIndex:g}=useZIndex();let y="";const k=useId(),L=useId(),V=ref$1(!1),z=ref$1(!1),j=ref$1(!1),ie=ref$1((t=n.zIndex)!=null?t:g());let oe,re;const ae=useGlobalConfig("namespace",defaultNamespace),le=computed$1(()=>{const Ue={},Et="--".concat(ae.value,"-dialog");return n.fullscreen||(n.top&&(Ue["".concat(Et,"-margin-top")]=n.top),n.width&&(Ue["".concat(Et,"-width")]=addUnit(n.width))),Ue}),de=computed$1(()=>n.alignCenter?{display:"flex"}:{});function ue(){r("opened")}function he(){r("closed"),r(UPDATE_MODEL_EVENT,!1),n.destroyOnClose&&(j.value=!1)}function pe(){r("close")}function Ce(){re==null||re(),oe==null||oe(),n.openDelay&&n.openDelay>0?{stop:oe}=useTimeoutFn(()=>Ne(),n.openDelay):Ne()}function $e(){oe==null||oe(),re==null||re(),n.closeDelay&&n.closeDelay>0?{stop:re}=useTimeoutFn(()=>Fe(),n.closeDelay):Fe()}function xe(){function Ue(Et){Et||(z.value=!0,V.value=!1)}n.beforeClose?n.beforeClose(Ue):$e()}function Ie(){n.closeOnClickModal&&xe()}function Ne(){isClient&&(V.value=!0)}function Fe(){V.value=!1}function Ve(){r("openAutoFocus")}function Oe(){r("closeAutoFocus")}function ze(Ue){var Et;((Et=Ue.detail)==null?void 0:Et.focusReason)==="pointer"&&Ue.preventDefault()}n.lockScroll&&useLockscreen(V);function qe(){n.closeOnPressEscape&&xe()}return watch(()=>n.modelValue,Ue=>{Ue?(z.value=!1,Ce(),j.value=!0,ie.value=isUndefined$4(n.zIndex)?g():ie.value++,nextTick(()=>{r("open"),e.value&&(e.value.parentElement.scrollTop=0,e.value.parentElement.scrollLeft=0,e.value.scrollTop=0)})):V.value&&$e()}),watch(()=>n.fullscreen,Ue=>{e.value&&(Ue?(y=e.value.style.transform,e.value.style.transform=""):e.value.style.transform=y)}),onMounted(()=>{n.modelValue&&(V.value=!0,j.value=!0,Ce())}),{afterEnter:ue,afterLeave:he,beforeLeave:pe,handleClose:xe,onModalClick:Ie,close:$e,doClose:Fe,onOpenAutoFocus:Ve,onCloseAutoFocus:Oe,onCloseRequested:qe,onFocusoutPrevented:ze,titleId:k,bodyId:L,closed:z,style:le,overlayDialogStyle:de,rendered:j,visible:V,zIndex:ie}},__default__$o=defineComponent({name:"ElDialog",inheritAttrs:!1}),_sfc_main$P=defineComponent({...__default__$o,props:dialogProps,emits:dialogEmits,setup(n,{expose:e}){const t=n,i=useSlots();useDeprecated({scope:"el-dialog",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/dialog.html#slots"},computed$1(()=>!!i.title));const r=useNamespace("dialog"),g=ref$1(),y=ref$1(),k=ref$1(),{visible:L,titleId:V,bodyId:z,style:j,overlayDialogStyle:ie,rendered:oe,zIndex:re,afterEnter:ae,afterLeave:le,beforeLeave:de,handleClose:ue,onModalClick:he,onOpenAutoFocus:pe,onCloseAutoFocus:Ce,onCloseRequested:$e,onFocusoutPrevented:xe}=useDialog(t,g);provide(dialogInjectionKey,{dialogRef:g,headerRef:y,bodyId:z,ns:r,rendered:oe,style:j});const Ie=useSameTarget(he),Ne=computed$1(()=>t.draggable&&!t.fullscreen);return e({visible:L,dialogContentRef:k,resetPosition:()=>{var Ve;(Ve=k.value)==null||Ve.resetPosition()}}),(Ve,Oe)=>(openBlock(),createBlock(unref(ElTeleport),{to:Ve.appendTo,disabled:Ve.appendTo!=="body"?!1:!Ve.appendToBody},{default:withCtx(()=>[createVNode(Transition,{name:"dialog-fade",onAfterEnter:unref(ae),onAfterLeave:unref(le),onBeforeLeave:unref(de),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(unref(ElOverlay),{"custom-mask-event":"",mask:Ve.modal,"overlay-class":Ve.modalClass,"z-index":unref(re)},{default:withCtx(()=>[createBaseVNode("div",{role:"dialog","aria-modal":"true","aria-label":Ve.title||void 0,"aria-labelledby":Ve.title?void 0:unref(V),"aria-describedby":unref(z),class:normalizeClass("".concat(unref(r).namespace.value,"-overlay-dialog")),style:normalizeStyle(unref(ie)),onClick:unref(Ie).onClick,onMousedown:unref(Ie).onMousedown,onMouseup:unref(Ie).onMouseup},[createVNode(unref(ElFocusTrap),{loop:"",trapped:unref(L),"focus-start-el":"container",onFocusAfterTrapped:unref(pe),onFocusAfterReleased:unref(Ce),onFocusoutPrevented:unref(xe),onReleaseRequested:unref($e)},{default:withCtx(()=>[unref(oe)?(openBlock(),createBlock(ElDialogContent,mergeProps({key:0,ref_key:"dialogContentRef",ref:k},Ve.$attrs,{center:Ve.center,"align-center":Ve.alignCenter,"close-icon":Ve.closeIcon,draggable:unref(Ne),overflow:Ve.overflow,fullscreen:Ve.fullscreen,"header-class":Ve.headerClass,"body-class":Ve.bodyClass,"footer-class":Ve.footerClass,"show-close":Ve.showClose,title:Ve.title,"aria-level":Ve.headerAriaLevel,onClose:unref(ue)}),createSlots({header:withCtx(()=>[Ve.$slots.title?renderSlot(Ve.$slots,"title",{key:1}):renderSlot(Ve.$slots,"header",{key:0,close:unref(ue),titleId:unref(V),titleClass:unref(r).e("title")})]),default:withCtx(()=>[renderSlot(Ve.$slots,"default")]),_:2},[Ve.$slots.footer?{name:"footer",fn:withCtx(()=>[renderSlot(Ve.$slots,"footer")])}:void 0]),1040,["center","align-center","close-icon","draggable","overflow","fullscreen","header-class","body-class","footer-class","show-close","title","aria-level","onClose"])):createCommentVNode("v-if",!0)]),_:3},8,["trapped","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])],46,["aria-label","aria-labelledby","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["mask","overlay-class","z-index"]),[[vShow,unref(L)]])]),_:3},8,["onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}});var Dialog=_export_sfc(_sfc_main$P,[["__file","dialog.vue"]]);const ElDialog=withInstall(Dialog),dividerProps=buildProps({direction:{type:String,values:["horizontal","vertical"],default:"horizontal"},contentPosition:{type:String,values:["left","center","right"],default:"center"},borderStyle:{type:definePropType(String),default:"solid"}}),__default__$n=defineComponent({name:"ElDivider"}),_sfc_main$O=defineComponent({...__default__$n,props:dividerProps,setup(n){const e=n,t=useNamespace("divider"),i=computed$1(()=>t.cssVar({"border-style":e.borderStyle}));return(r,g)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(t).b(),unref(t).m(r.direction)]),style:normalizeStyle(unref(i)),role:"separator"},[r.$slots.default&&r.direction!=="vertical"?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass([unref(t).e("text"),unref(t).is(r.contentPosition)])},[renderSlot(r.$slots,"default")],2)):createCommentVNode("v-if",!0)],6))}});var Divider=_export_sfc(_sfc_main$O,[["__file","divider.vue"]]);const ElDivider=withInstall(Divider),drawerProps=buildProps({...dialogProps,direction:{type:String,default:"rtl",values:["ltr","rtl","ttb","btt"]},size:{type:[String,Number],default:"30%"},withHeader:{type:Boolean,default:!0},modalFade:{type:Boolean,default:!0},headerAriaLevel:{type:String,default:"2"}}),drawerEmits=dialogEmits,__default__$m=defineComponent({name:"ElDrawer",inheritAttrs:!1}),_sfc_main$N=defineComponent({...__default__$m,props:drawerProps,emits:drawerEmits,setup(n,{expose:e}){const t=n,i=useSlots();useDeprecated({scope:"el-drawer",from:"the title slot",replacement:"the header slot",version:"3.0.0",ref:"https://element-plus.org/en-US/component/drawer.html#slots"},computed$1(()=>!!i.title));const r=ref$1(),g=ref$1(),y=useNamespace("drawer"),{t:k}=useLocale(),{afterEnter:L,afterLeave:V,beforeLeave:z,visible:j,rendered:ie,titleId:oe,bodyId:re,zIndex:ae,onModalClick:le,onOpenAutoFocus:de,onCloseAutoFocus:ue,onFocusoutPrevented:he,onCloseRequested:pe,handleClose:Ce}=useDialog(t,r),$e=computed$1(()=>t.direction==="rtl"||t.direction==="ltr"),xe=computed$1(()=>addUnit(t.size));return e({handleClose:Ce,afterEnter:L,afterLeave:V}),(Ie,Ne)=>(openBlock(),createBlock(unref(ElTeleport),{to:Ie.appendTo,disabled:Ie.appendTo!=="body"?!1:!Ie.appendToBody},{default:withCtx(()=>[createVNode(Transition,{name:unref(y).b("fade"),onAfterEnter:unref(L),onAfterLeave:unref(V),onBeforeLeave:unref(z),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(unref(ElOverlay),{mask:Ie.modal,"overlay-class":Ie.modalClass,"z-index":unref(ae),onClick:unref(le)},{default:withCtx(()=>[createVNode(unref(ElFocusTrap),{loop:"",trapped:unref(j),"focus-trap-el":r.value,"focus-start-el":g.value,onFocusAfterTrapped:unref(de),onFocusAfterReleased:unref(ue),onFocusoutPrevented:unref(he),onReleaseRequested:unref(pe)},{default:withCtx(()=>[createBaseVNode("div",mergeProps({ref_key:"drawerRef",ref:r,"aria-modal":"true","aria-label":Ie.title||void 0,"aria-labelledby":Ie.title?void 0:unref(oe),"aria-describedby":unref(re)},Ie.$attrs,{class:[unref(y).b(),Ie.direction,unref(j)&&"open"],style:unref($e)?"width: "+unref(xe):"height: "+unref(xe),role:"dialog",onClick:withModifiers(()=>{},["stop"])}),[createBaseVNode("span",{ref_key:"focusStartRef",ref:g,class:normalizeClass(unref(y).e("sr-focus")),tabindex:"-1"},null,2),Ie.withHeader?(openBlock(),createElementBlock("header",{key:0,class:normalizeClass([unref(y).e("header"),Ie.headerClass])},[Ie.$slots.title?renderSlot(Ie.$slots,"title",{key:1},()=>[createCommentVNode(" DEPRECATED SLOT ")]):renderSlot(Ie.$slots,"header",{key:0,close:unref(Ce),titleId:unref(oe),titleClass:unref(y).e("title")},()=>[Ie.$slots.title?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,id:unref(oe),role:"heading","aria-level":Ie.headerAriaLevel,class:normalizeClass(unref(y).e("title"))},toDisplayString(Ie.title),11,["id","aria-level"]))]),Ie.showClose?(openBlock(),createElementBlock("button",{key:2,"aria-label":unref(k)("el.drawer.close"),class:normalizeClass(unref(y).e("close-btn")),type:"button",onClick:unref(Ce)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(y).e("close"))},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"])],10,["aria-label","onClick"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),unref(ie)?(openBlock(),createElementBlock("div",{key:1,id:unref(re),class:normalizeClass([unref(y).e("body"),Ie.bodyClass])},[renderSlot(Ie.$slots,"default")],10,["id"])):createCommentVNode("v-if",!0),Ie.$slots.footer?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass([unref(y).e("footer"),Ie.footerClass])},[renderSlot(Ie.$slots,"footer")],2)):createCommentVNode("v-if",!0)],16,["aria-label","aria-labelledby","aria-describedby","onClick"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onFocusAfterTrapped","onFocusAfterReleased","onFocusoutPrevented","onReleaseRequested"])]),_:3},8,["mask","overlay-class","z-index","onClick"]),[[vShow,unref(j)]])]),_:3},8,["name","onAfterEnter","onAfterLeave","onBeforeLeave"])]),_:3},8,["to","disabled"]))}});var Drawer=_export_sfc(_sfc_main$N,[["__file","drawer.vue"]]);const ElDrawer=withInstall(Drawer),_sfc_main$M=defineComponent({inheritAttrs:!1});function _sfc_render$j(n,e,t,i,r,g){return renderSlot(n.$slots,"default")}var Collection=_export_sfc(_sfc_main$M,[["render",_sfc_render$j],["__file","collection.vue"]]);const _sfc_main$L=defineComponent({name:"ElCollectionItem",inheritAttrs:!1});function _sfc_render$i(n,e,t,i,r,g){return renderSlot(n.$slots,"default")}var CollectionItem=_export_sfc(_sfc_main$L,[["render",_sfc_render$i],["__file","collection-item.vue"]]);const COLLECTION_ITEM_SIGN="data-el-collection-item",createCollectionWithScope=n=>{const e="El".concat(n,"Collection"),t="".concat(e,"Item"),i=Symbol(e),r=Symbol(t),g={...Collection,name:e,setup(){const k=ref$1(null),L=new Map;provide(i,{itemMap:L,getItems:()=>{const z=unref(k);if(!z)return[];const j=Array.from(z.querySelectorAll("[".concat(COLLECTION_ITEM_SIGN,"]")));return[...L.values()].sort((oe,re)=>j.indexOf(oe.ref)-j.indexOf(re.ref))},collectionRef:k})}},y={...CollectionItem,name:t,setup(k,{attrs:L}){const V=ref$1(null),z=inject(i,void 0);provide(r,{collectionItemRef:V}),onMounted(()=>{const j=unref(V);j&&z.itemMap.set(j,{ref:j,...L})}),onBeforeUnmount(()=>{const j=unref(V);z.itemMap.delete(j)})}};return{COLLECTION_INJECTION_KEY:i,COLLECTION_ITEM_INJECTION_KEY:r,ElCollection:g,ElCollectionItem:y}},rovingFocusGroupProps=buildProps({style:{type:definePropType([String,Array,Object])},currentTabId:{type:definePropType(String)},defaultCurrentTabId:String,loop:Boolean,dir:{type:String,values:["ltr","rtl"],default:"ltr"},orientation:{type:definePropType(String)},onBlur:Function,onFocus:Function,onMousedown:Function}),{ElCollection:ElCollection$1,ElCollectionItem:ElCollectionItem$1,COLLECTION_INJECTION_KEY:COLLECTION_INJECTION_KEY$1,COLLECTION_ITEM_INJECTION_KEY:COLLECTION_ITEM_INJECTION_KEY$1}=createCollectionWithScope("RovingFocusGroup"),ROVING_FOCUS_GROUP_INJECTION_KEY=Symbol("elRovingFocusGroup"),ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY=Symbol("elRovingFocusGroupItem"),MAP_KEY_TO_FOCUS_INTENT={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"},getDirectionAwareKey=(n,e)=>n,getFocusIntent=(n,e,t)=>{const i=getDirectionAwareKey(n.code);return MAP_KEY_TO_FOCUS_INTENT[i]},reorderArray=(n,e)=>n.map((t,i)=>n[(i+e)%n.length]),focusFirst=n=>{const{activeElement:e}=document;for(const t of n)if(t===e||(t.focus(),e!==document.activeElement))return},CURRENT_TAB_ID_CHANGE_EVT="currentTabIdChange",ENTRY_FOCUS_EVT="rovingFocusGroup.entryFocus",EVT_OPTS={bubbles:!1,cancelable:!0},_sfc_main$K=defineComponent({name:"ElRovingFocusGroupImpl",inheritAttrs:!1,props:rovingFocusGroupProps,emits:[CURRENT_TAB_ID_CHANGE_EVT,"entryFocus"],setup(n,{emit:e}){var t;const i=ref$1((t=n.currentTabId||n.defaultCurrentTabId)!=null?t:null),r=ref$1(!1),g=ref$1(!1),y=ref$1(null),{getItems:k}=inject(COLLECTION_INJECTION_KEY$1,void 0),L=computed$1(()=>[{outline:"none"},n.style]),V=ae=>{e(CURRENT_TAB_ID_CHANGE_EVT,ae)},z=()=>{r.value=!0},j=composeEventHandlers(ae=>{var le;(le=n.onMousedown)==null||le.call(n,ae)},()=>{g.value=!0}),ie=composeEventHandlers(ae=>{var le;(le=n.onFocus)==null||le.call(n,ae)},ae=>{const le=!unref(g),{target:de,currentTarget:ue}=ae;if(de===ue&&le&&!unref(r)){const he=new Event(ENTRY_FOCUS_EVT,EVT_OPTS);if(ue==null||ue.dispatchEvent(he),!he.defaultPrevented){const pe=k().filter(Ne=>Ne.focusable),Ce=pe.find(Ne=>Ne.active),$e=pe.find(Ne=>Ne.id===unref(i)),Ie=[Ce,$e,...pe].filter(Boolean).map(Ne=>Ne.ref);focusFirst(Ie)}}g.value=!1}),oe=composeEventHandlers(ae=>{var le;(le=n.onBlur)==null||le.call(n,ae)},()=>{r.value=!1}),re=(...ae)=>{e("entryFocus",...ae)};provide(ROVING_FOCUS_GROUP_INJECTION_KEY,{currentTabbedId:readonly(i),loop:toRef(n,"loop"),tabIndex:computed$1(()=>unref(r)?-1:0),rovingFocusGroupRef:y,rovingFocusGroupRootStyle:L,orientation:toRef(n,"orientation"),dir:toRef(n,"dir"),onItemFocus:V,onItemShiftTab:z,onBlur:oe,onFocus:ie,onMousedown:j}),watch(()=>n.currentTabId,ae=>{i.value=ae!=null?ae:null}),useEventListener(y,ENTRY_FOCUS_EVT,re)}});function _sfc_render$h(n,e,t,i,r,g){return renderSlot(n.$slots,"default")}var ElRovingFocusGroupImpl=_export_sfc(_sfc_main$K,[["render",_sfc_render$h],["__file","roving-focus-group-impl.vue"]]);const _sfc_main$J=defineComponent({name:"ElRovingFocusGroup",components:{ElFocusGroupCollection:ElCollection$1,ElRovingFocusGroupImpl}});function _sfc_render$g(n,e,t,i,r,g){const y=resolveComponent("el-roving-focus-group-impl"),k=resolveComponent("el-focus-group-collection");return openBlock(),createBlock(k,null,{default:withCtx(()=>[createVNode(y,normalizeProps(guardReactiveProps(n.$attrs)),{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3},16)]),_:3})}var ElRovingFocusGroup=_export_sfc(_sfc_main$J,[["render",_sfc_render$g],["__file","roving-focus-group.vue"]]);const dropdownProps=buildProps({trigger:useTooltipTriggerProps.trigger,triggerKeys:{type:definePropType(Array),default:()=>[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space,EVENT_CODE.down]},effect:{...useTooltipContentProps.effect,default:"light"},type:{type:definePropType(String)},placement:{type:definePropType(String),default:"bottom"},popperOptions:{type:definePropType(Object),default:()=>({})},id:String,size:{type:String,default:""},splitButton:Boolean,hideOnClick:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},showTimeout:{type:Number,default:150},hideTimeout:{type:Number,default:150},tabindex:{type:definePropType([Number,String]),default:0},maxHeight:{type:definePropType([Number,String]),default:""},popperClass:{type:String,default:""},disabled:Boolean,role:{type:String,default:"menu"},buttonProps:{type:definePropType(Object)},teleported:useTooltipContentProps.teleported}),dropdownItemProps=buildProps({command:{type:[Object,String,Number],default:()=>({})},disabled:Boolean,divided:Boolean,textValue:String,icon:{type:iconPropType}}),dropdownMenuProps=buildProps({onKeydown:{type:definePropType(Function)}}),FIRST_KEYS=[EVENT_CODE.down,EVENT_CODE.pageDown,EVENT_CODE.home],LAST_KEYS=[EVENT_CODE.up,EVENT_CODE.pageUp,EVENT_CODE.end],FIRST_LAST_KEYS=[...FIRST_KEYS,...LAST_KEYS],{ElCollection,ElCollectionItem,COLLECTION_INJECTION_KEY,COLLECTION_ITEM_INJECTION_KEY}=createCollectionWithScope("Dropdown"),DROPDOWN_INJECTION_KEY=Symbol("elDropdown"),{ButtonGroup:ElButtonGroup}=ElButton,_sfc_main$I=defineComponent({name:"ElDropdown",components:{ElButton,ElButtonGroup,ElScrollbar,ElDropdownCollection:ElCollection,ElTooltip,ElRovingFocusGroup,ElOnlyChild:OnlyChild,ElIcon,ArrowDown:arrow_down_default},props:dropdownProps,emits:["visible-change","click","command"],setup(n,{emit:e}){const t=getCurrentInstance$1(),i=useNamespace("dropdown"),{t:r}=useLocale(),g=ref$1(),y=ref$1(),k=ref$1(null),L=ref$1(null),V=ref$1(null),z=ref$1(null),j=ref$1(!1),ie=computed$1(()=>({maxHeight:addUnit(n.maxHeight)})),oe=computed$1(()=>[i.m(pe.value)]),re=computed$1(()=>castArray$1(n.trigger)),ae=useId().value,le=computed$1(()=>n.id||ae);watch([g,re],([Et,At],[Lt])=>{var kt,ei,jt;(kt=Lt==null?void 0:Lt.$el)!=null&&kt.removeEventListener&&Lt.$el.removeEventListener("pointerenter",$e),(ei=Et==null?void 0:Et.$el)!=null&&ei.removeEventListener&&Et.$el.removeEventListener("pointerenter",$e),(jt=Et==null?void 0:Et.$el)!=null&&jt.addEventListener&&At.includes("hover")&&Et.$el.addEventListener("pointerenter",$e)},{immediate:!0}),onBeforeUnmount(()=>{var Et,At;(At=(Et=g.value)==null?void 0:Et.$el)!=null&&At.removeEventListener&&g.value.$el.removeEventListener("pointerenter",$e)});function de(){ue()}function ue(){var Et;(Et=k.value)==null||Et.onClose()}function he(){var Et;(Et=k.value)==null||Et.onOpen()}const pe=useFormSize();function Ce(...Et){e("command",...Et)}function $e(){var Et,At;(At=(Et=g.value)==null?void 0:Et.$el)==null||At.focus()}function xe(){}function Ie(){const Et=unref(L);re.value.includes("hover")&&(Et==null||Et.focus()),z.value=null}function Ne(Et){z.value=Et}function Fe(Et){j.value||(Et.preventDefault(),Et.stopImmediatePropagation())}function Ve(){e("visible-change",!0)}function Oe(Et){(Et==null?void 0:Et.type)==="keydown"&&L.value.focus()}function ze(){e("visible-change",!1)}return provide(DROPDOWN_INJECTION_KEY,{contentRef:L,role:computed$1(()=>n.role),triggerId:le,isUsingKeyboard:j,onItemEnter:xe,onItemLeave:Ie}),provide("elDropdown",{instance:t,dropdownSize:pe,handleClick:de,commandHandler:Ce,trigger:toRef(n,"trigger"),hideOnClick:toRef(n,"hideOnClick")}),{t:r,ns:i,scrollbar:V,wrapStyle:ie,dropdownTriggerKls:oe,dropdownSize:pe,triggerId:le,currentTabId:z,handleCurrentTabIdChange:Ne,handlerMainButtonClick:Et=>{e("click",Et)},handleEntryFocus:Fe,handleClose:ue,handleOpen:he,handleBeforeShowTooltip:Ve,handleShowTooltip:Oe,handleBeforeHideTooltip:ze,onFocusAfterTrapped:Et=>{var At,Lt;Et.preventDefault(),(Lt=(At=L.value)==null?void 0:At.focus)==null||Lt.call(At,{preventScroll:!0})},popperRef:k,contentRef:L,triggeringElementRef:g,referenceElementRef:y}}});function _sfc_render$f(n,e,t,i,r,g){var y;const k=resolveComponent("el-dropdown-collection"),L=resolveComponent("el-roving-focus-group"),V=resolveComponent("el-scrollbar"),z=resolveComponent("el-only-child"),j=resolveComponent("el-tooltip"),ie=resolveComponent("el-button"),oe=resolveComponent("arrow-down"),re=resolveComponent("el-icon"),ae=resolveComponent("el-button-group");return openBlock(),createElementBlock("div",{class:normalizeClass([n.ns.b(),n.ns.is("disabled",n.disabled)])},[createVNode(j,{ref:"popperRef",role:n.role,effect:n.effect,"fallback-placements":["bottom","top"],"popper-options":n.popperOptions,"gpu-acceleration":!1,"hide-after":n.trigger==="hover"?n.hideTimeout:0,"manual-mode":!0,placement:n.placement,"popper-class":[n.ns.e("popper"),n.popperClass],"reference-element":(y=n.referenceElementRef)==null?void 0:y.$el,trigger:n.trigger,"trigger-keys":n.triggerKeys,"trigger-target-el":n.contentRef,"show-after":n.trigger==="hover"?n.showTimeout:0,"stop-popper-mouse-event":!1,"virtual-ref":n.triggeringElementRef,"virtual-triggering":n.splitButton,disabled:n.disabled,transition:"".concat(n.ns.namespace.value,"-zoom-in-top"),teleported:n.teleported,pure:"",persistent:"",onBeforeShow:n.handleBeforeShowTooltip,onShow:n.handleShowTooltip,onBeforeHide:n.handleBeforeHideTooltip},createSlots({content:withCtx(()=>[createVNode(V,{ref:"scrollbar","wrap-style":n.wrapStyle,tag:"div","view-class":n.ns.e("list")},{default:withCtx(()=>[createVNode(L,{loop:n.loop,"current-tab-id":n.currentTabId,orientation:"horizontal",onCurrentTabIdChange:n.handleCurrentTabIdChange,onEntryFocus:n.handleEntryFocus},{default:withCtx(()=>[createVNode(k,null,{default:withCtx(()=>[renderSlot(n.$slots,"dropdown")]),_:3})]),_:3},8,["loop","current-tab-id","onCurrentTabIdChange","onEntryFocus"])]),_:3},8,["wrap-style","view-class"])]),_:2},[n.splitButton?void 0:{name:"default",fn:withCtx(()=>[createVNode(z,{id:n.triggerId,ref:"triggeringElementRef",role:"button",tabindex:n.tabindex},{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3},8,["id","tabindex"])])}]),1032,["role","effect","popper-options","hide-after","placement","popper-class","reference-element","trigger","trigger-keys","trigger-target-el","show-after","virtual-ref","virtual-triggering","disabled","transition","teleported","onBeforeShow","onShow","onBeforeHide"]),n.splitButton?(openBlock(),createBlock(ae,{key:0},{default:withCtx(()=>[createVNode(ie,mergeProps({ref:"referenceElementRef"},n.buttonProps,{size:n.dropdownSize,type:n.type,disabled:n.disabled,tabindex:n.tabindex,onClick:n.handlerMainButtonClick}),{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3},16,["size","type","disabled","tabindex","onClick"]),createVNode(ie,mergeProps({id:n.triggerId,ref:"triggeringElementRef"},n.buttonProps,{role:"button",size:n.dropdownSize,type:n.type,class:n.ns.e("caret-button"),disabled:n.disabled,tabindex:n.tabindex,"aria-label":n.t("el.dropdown.toggleDropdown")}),{default:withCtx(()=>[createVNode(re,{class:normalizeClass(n.ns.e("icon"))},{default:withCtx(()=>[createVNode(oe)]),_:1},8,["class"])]),_:1},16,["id","size","type","class","disabled","tabindex","aria-label"])]),_:3})):createCommentVNode("v-if",!0)],2)}var Dropdown=_export_sfc(_sfc_main$I,[["render",_sfc_render$f],["__file","dropdown.vue"]]);const _sfc_main$H=defineComponent({components:{ElRovingFocusCollectionItem:ElCollectionItem$1},props:{focusable:{type:Boolean,default:!0},active:{type:Boolean,default:!1}},emits:["mousedown","focus","keydown"],setup(n,{emit:e}){const{currentTabbedId:t,loop:i,onItemFocus:r,onItemShiftTab:g}=inject(ROVING_FOCUS_GROUP_INJECTION_KEY,void 0),{getItems:y}=inject(COLLECTION_INJECTION_KEY$1,void 0),k=useId(),L=ref$1(null),V=composeEventHandlers(oe=>{e("mousedown",oe)},oe=>{n.focusable?r(unref(k)):oe.preventDefault()}),z=composeEventHandlers(oe=>{e("focus",oe)},()=>{r(unref(k))}),j=composeEventHandlers(oe=>{e("keydown",oe)},oe=>{const{code:re,shiftKey:ae,target:le,currentTarget:de}=oe;if(re===EVENT_CODE.tab&&ae){g();return}if(le!==de)return;const ue=getFocusIntent(oe);if(ue){oe.preventDefault();let pe=y().filter(Ce=>Ce.focusable).map(Ce=>Ce.ref);switch(ue){case"last":{pe.reverse();break}case"prev":case"next":{ue==="prev"&&pe.reverse();const Ce=pe.indexOf(de);pe=i.value?reorderArray(pe,Ce+1):pe.slice(Ce+1);break}}nextTick(()=>{focusFirst(pe)})}}),ie=computed$1(()=>t.value===unref(k));return provide(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,{rovingFocusGroupItemRef:L,tabIndex:computed$1(()=>unref(ie)?0:-1),handleMousedown:V,handleFocus:z,handleKeydown:j}),{id:k,handleKeydown:j,handleFocus:z,handleMousedown:V}}});function _sfc_render$e(n,e,t,i,r,g){const y=resolveComponent("el-roving-focus-collection-item");return openBlock(),createBlock(y,{id:n.id,focusable:n.focusable,active:n.active},{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3},8,["id","focusable","active"])}var ElRovingFocusItem=_export_sfc(_sfc_main$H,[["render",_sfc_render$e],["__file","roving-focus-item.vue"]]);const _sfc_main$G=defineComponent({name:"DropdownItemImpl",components:{ElIcon},props:dropdownItemProps,emits:["pointermove","pointerleave","click","clickimpl"],setup(n,{emit:e}){const t=useNamespace("dropdown"),{role:i}=inject(DROPDOWN_INJECTION_KEY,void 0),{collectionItemRef:r}=inject(COLLECTION_ITEM_INJECTION_KEY,void 0),{collectionItemRef:g}=inject(COLLECTION_ITEM_INJECTION_KEY$1,void 0),{rovingFocusGroupItemRef:y,tabIndex:k,handleFocus:L,handleKeydown:V,handleMousedown:z}=inject(ROVING_FOCUS_GROUP_ITEM_INJECTION_KEY,void 0),j=composeRefs(r,g,y),ie=computed$1(()=>i.value==="menu"?"menuitem":i.value==="navigation"?"link":"button"),oe=composeEventHandlers(re=>{if([EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space].includes(re.code))return re.preventDefault(),re.stopImmediatePropagation(),e("clickimpl",re),!0},V);return{ns:t,itemRef:j,dataset:{[COLLECTION_ITEM_SIGN]:""},role:ie,tabIndex:k,handleFocus:L,handleKeydown:oe,handleMousedown:z}}});function _sfc_render$d(n,e,t,i,r,g){const y=resolveComponent("el-icon");return openBlock(),createElementBlock(Fragment,null,[n.divided?(openBlock(),createElementBlock("li",{key:0,role:"separator",class:normalizeClass(n.ns.bem("menu","item","divided"))},null,2)):createCommentVNode("v-if",!0),createBaseVNode("li",mergeProps({ref:n.itemRef},{...n.dataset,...n.$attrs},{"aria-disabled":n.disabled,class:[n.ns.be("menu","item"),n.ns.is("disabled",n.disabled)],tabindex:n.tabIndex,role:n.role,onClick:k=>n.$emit("clickimpl",k),onFocus:n.handleFocus,onKeydown:withModifiers(n.handleKeydown,["self"]),onMousedown:n.handleMousedown,onPointermove:k=>n.$emit("pointermove",k),onPointerleave:k=>n.$emit("pointerleave",k)}),[n.icon?(openBlock(),createBlock(y,{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.icon)))]),_:1})):createCommentVNode("v-if",!0),renderSlot(n.$slots,"default")],16,["aria-disabled","tabindex","role","onClick","onFocus","onKeydown","onMousedown","onPointermove","onPointerleave"])],64)}var ElDropdownItemImpl=_export_sfc(_sfc_main$G,[["render",_sfc_render$d],["__file","dropdown-item-impl.vue"]]);const useDropdown=()=>{const n=inject("elDropdown",{}),e=computed$1(()=>n==null?void 0:n.dropdownSize);return{elDropdown:n,_elDropdownSize:e}},_sfc_main$F=defineComponent({name:"ElDropdownItem",components:{ElDropdownCollectionItem:ElCollectionItem,ElRovingFocusItem,ElDropdownItemImpl},inheritAttrs:!1,props:dropdownItemProps,emits:["pointermove","pointerleave","click"],setup(n,{emit:e,attrs:t}){const{elDropdown:i}=useDropdown(),r=getCurrentInstance$1(),g=ref$1(null),y=computed$1(()=>{var oe,re;return(re=(oe=unref(g))==null?void 0:oe.textContent)!=null?re:""}),{onItemEnter:k,onItemLeave:L}=inject(DROPDOWN_INJECTION_KEY,void 0),V=composeEventHandlers(oe=>(e("pointermove",oe),oe.defaultPrevented),whenMouse(oe=>{if(n.disabled){L(oe);return}const re=oe.currentTarget;re===document.activeElement||re.contains(document.activeElement)||(k(oe),oe.defaultPrevented||re==null||re.focus())})),z=composeEventHandlers(oe=>(e("pointerleave",oe),oe.defaultPrevented),whenMouse(L)),j=composeEventHandlers(oe=>{if(!n.disabled)return e("click",oe),oe.type!=="keydown"&&oe.defaultPrevented},oe=>{var re,ae,le;if(n.disabled){oe.stopImmediatePropagation();return}(re=i==null?void 0:i.hideOnClick)!=null&&re.value&&((ae=i.handleClick)==null||ae.call(i)),(le=i.commandHandler)==null||le.call(i,n.command,r,oe)}),ie=computed$1(()=>({...n,...t}));return{handleClick:j,handlePointerMove:V,handlePointerLeave:z,textContent:y,propsAndAttrs:ie}}});function _sfc_render$c(n,e,t,i,r,g){var y;const k=resolveComponent("el-dropdown-item-impl"),L=resolveComponent("el-roving-focus-item"),V=resolveComponent("el-dropdown-collection-item");return openBlock(),createBlock(V,{disabled:n.disabled,"text-value":(y=n.textValue)!=null?y:n.textContent},{default:withCtx(()=>[createVNode(L,{focusable:!n.disabled},{default:withCtx(()=>[createVNode(k,mergeProps(n.propsAndAttrs,{onPointerleave:n.handlePointerLeave,onPointermove:n.handlePointerMove,onClickimpl:n.handleClick}),{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3},16,["onPointerleave","onPointermove","onClickimpl"])]),_:3},8,["focusable"])]),_:3},8,["disabled","text-value"])}var DropdownItem=_export_sfc(_sfc_main$F,[["render",_sfc_render$c],["__file","dropdown-item.vue"]]);const _sfc_main$E=defineComponent({name:"ElDropdownMenu",props:dropdownMenuProps,setup(n){const e=useNamespace("dropdown"),{_elDropdownSize:t}=useDropdown(),i=t.value,{focusTrapRef:r,onKeydown:g}=inject(FOCUS_TRAP_INJECTION_KEY,void 0),{contentRef:y,role:k,triggerId:L}=inject(DROPDOWN_INJECTION_KEY,void 0),{collectionRef:V,getItems:z}=inject(COLLECTION_INJECTION_KEY,void 0),{rovingFocusGroupRef:j,rovingFocusGroupRootStyle:ie,tabIndex:oe,onBlur:re,onFocus:ae,onMousedown:le}=inject(ROVING_FOCUS_GROUP_INJECTION_KEY,void 0),{collectionRef:de}=inject(COLLECTION_INJECTION_KEY$1,void 0),ue=computed$1(()=>[e.b("menu"),e.bm("menu",i==null?void 0:i.value)]),he=composeRefs(y,V,r,j,de),pe=composeEventHandlers($e=>{var xe;(xe=n.onKeydown)==null||xe.call(n,$e)},$e=>{const{currentTarget:xe,code:Ie,target:Ne}=$e;if(xe.contains(Ne),EVENT_CODE.tab===Ie&&$e.stopImmediatePropagation(),$e.preventDefault(),Ne!==unref(y)||!FIRST_LAST_KEYS.includes(Ie))return;const Ve=z().filter(Oe=>!Oe.disabled).map(Oe=>Oe.ref);LAST_KEYS.includes(Ie)&&Ve.reverse(),focusFirst(Ve)});return{size:i,rovingFocusGroupRootStyle:ie,tabIndex:oe,dropdownKls:ue,role:k,triggerId:L,dropdownListWrapperRef:he,handleKeydown:$e=>{pe($e),g($e)},onBlur:re,onFocus:ae,onMousedown:le}}});function _sfc_render$b(n,e,t,i,r,g){return openBlock(),createElementBlock("ul",{ref:n.dropdownListWrapperRef,class:normalizeClass(n.dropdownKls),style:normalizeStyle(n.rovingFocusGroupRootStyle),tabindex:-1,role:n.role,"aria-labelledby":n.triggerId,onBlur:n.onBlur,onFocus:n.onFocus,onKeydown:withModifiers(n.handleKeydown,["self"]),onMousedown:withModifiers(n.onMousedown,["self"])},[renderSlot(n.$slots,"default")],46,["role","aria-labelledby","onBlur","onFocus","onKeydown","onMousedown"])}var DropdownMenu=_export_sfc(_sfc_main$E,[["render",_sfc_render$b],["__file","dropdown-menu.vue"]]);const ElDropdown=withInstall(Dropdown,{DropdownItem,DropdownMenu}),ElDropdownItem=withNoopInstall(DropdownItem),ElDropdownMenu=withNoopInstall(DropdownMenu),formMetaProps=buildProps({size:{type:String,values:componentSizes},disabled:Boolean}),formProps=buildProps({...formMetaProps,model:Object,rules:{type:definePropType(Object)},labelPosition:{type:String,values:["left","right","top"],default:"right"},requireAsteriskPosition:{type:String,values:["left","right"],default:"left"},labelWidth:{type:[String,Number],default:""},labelSuffix:{type:String,default:""},inline:Boolean,inlineMessage:Boolean,statusIcon:Boolean,showMessage:{type:Boolean,default:!0},validateOnRuleChange:{type:Boolean,default:!0},hideRequiredAsterisk:Boolean,scrollToError:Boolean,scrollIntoViewOptions:{type:[Object,Boolean]}}),formEmits={validate:(n,e,t)=>(isArray$2(n)||isString$5(n))&&isBoolean(e)&&isString$5(t)};function useFormLabelWidth(){const n=ref$1([]),e=computed$1(()=>{if(!n.value.length)return"0";const g=Math.max(...n.value);return g?"".concat(g,"px"):""});function t(g){const y=n.value.indexOf(g);return y===-1&&e.value,y}function i(g,y){if(g&&y){const k=t(y);n.value.splice(k,1,g)}else g&&n.value.push(g)}function r(g){const y=t(g);y>-1&&n.value.splice(y,1)}return{autoLabelWidth:e,registerLabelWidth:i,deregisterLabelWidth:r}}const filterFields=(n,e)=>{const t=castArray$1(e);return t.length>0?n.filter(i=>i.prop&&t.includes(i.prop)):n},COMPONENT_NAME$7="ElForm",__default__$l=defineComponent({name:COMPONENT_NAME$7}),_sfc_main$D=defineComponent({...__default__$l,props:formProps,emits:formEmits,setup(n,{expose:e,emit:t}){const i=n,r=[],g=useFormSize(),y=useNamespace("form"),k=computed$1(()=>{const{labelPosition:he,inline:pe}=i;return[y.b(),y.m(g.value||"default"),{[y.m("label-".concat(he))]:he,[y.m("inline")]:pe}]}),L=he=>r.find(pe=>pe.prop===he),V=he=>{r.push(he)},z=he=>{he.prop&&r.splice(r.indexOf(he),1)},j=(he=[])=>{i.model&&filterFields(r,he).forEach(pe=>pe.resetField())},ie=(he=[])=>{filterFields(r,he).forEach(pe=>pe.clearValidate())},oe=computed$1(()=>!!i.model),re=he=>{if(r.length===0)return[];const pe=filterFields(r,he);return pe.length?pe:[]},ae=async he=>de(void 0,he),le=async(he=[])=>{if(!oe.value)return!1;const pe=re(he);if(pe.length===0)return!0;let Ce={};for(const $e of pe)try{await $e.validate(""),$e.validateState==="error"&&$e.resetField()}catch(xe){Ce={...Ce,...xe}}return Object.keys(Ce).length===0?!0:Promise.reject(Ce)},de=async(he=[],pe)=>{const Ce=!isFunction$4(pe);try{const $e=await le(he);return $e===!0&&await(pe==null?void 0:pe($e)),$e}catch($e){if($e instanceof Error)throw $e;const xe=$e;return i.scrollToError&&ue(Object.keys(xe)[0]),await(pe==null?void 0:pe(!1,xe)),Ce&&Promise.reject(xe)}},ue=he=>{var pe;const Ce=filterFields(r,he)[0];Ce&&((pe=Ce.$el)==null||pe.scrollIntoView(i.scrollIntoViewOptions))};return watch(()=>i.rules,()=>{i.validateOnRuleChange&&ae().catch(he=>void 0)},{deep:!0,flush:"post"}),provide(formContextKey,reactive$1({...toRefs(i),emit:t,resetFields:j,clearValidate:ie,validateField:de,getField:L,addField:V,removeField:z,...useFormLabelWidth()})),e({validate:ae,validateField:de,resetFields:j,clearValidate:ie,scrollToField:ue,fields:r}),(he,pe)=>(openBlock(),createElementBlock("form",{class:normalizeClass(unref(k))},[renderSlot(he.$slots,"default")],2))}});var Form=_export_sfc(_sfc_main$D,[["__file","form.vue"]]);const formItemValidateStates=["","error","validating","success"],formItemProps=buildProps({label:String,labelWidth:{type:[String,Number],default:""},labelPosition:{type:String,values:["left","right","top",""],default:""},prop:{type:definePropType([String,Array])},required:{type:Boolean,default:void 0},rules:{type:definePropType([Object,Array])},error:String,validateStatus:{type:String,values:formItemValidateStates},for:String,inlineMessage:{type:[String,Boolean],default:""},showMessage:{type:Boolean,default:!0},size:{type:String,values:componentSizes}}),COMPONENT_NAME$6="ElLabelWrap";var FormLabelWrap=defineComponent({name:COMPONENT_NAME$6,props:{isAutoWidth:Boolean,updateAll:Boolean},setup(n,{slots:e}){const t=inject(formContextKey,void 0),i=inject(formItemContextKey);i||throwError(COMPONENT_NAME$6,"usage: ");const r=useNamespace("form"),g=ref$1(),y=ref$1(0),k=()=>{var z;if((z=g.value)!=null&&z.firstElementChild){const j=window.getComputedStyle(g.value.firstElementChild).width;return Math.ceil(Number.parseFloat(j))}else return 0},L=(z="update")=>{nextTick(()=>{e.default&&n.isAutoWidth&&(z==="update"?y.value=k():z==="remove"&&(t==null||t.deregisterLabelWidth(y.value)))})},V=()=>L("update");return onMounted(()=>{V()}),onBeforeUnmount(()=>{L("remove")}),onUpdated(()=>V()),watch(y,(z,j)=>{n.updateAll&&(t==null||t.registerLabelWidth(z,j))}),useResizeObserver(computed$1(()=>{var z,j;return(j=(z=g.value)==null?void 0:z.firstElementChild)!=null?j:null}),V),()=>{var z,j;if(!e)return null;const{isAutoWidth:ie}=n;if(ie){const oe=t==null?void 0:t.autoLabelWidth,re=i==null?void 0:i.hasLabel,ae={};if(re&&oe&&oe!=="auto"){const le=Math.max(0,Number.parseInt(oe,10)-y.value),ue=(i.labelPosition||t.labelPosition)==="left"?"marginRight":"marginLeft";le&&(ae[ue]="".concat(le,"px"))}return createVNode("div",{ref:g,class:[r.be("item","label-wrap")],style:ae},[(z=e.default)==null?void 0:z.call(e)])}else return createVNode(Fragment,{ref:g},[(j=e.default)==null?void 0:j.call(e)])}}});const __default__$k=defineComponent({name:"ElFormItem"}),_sfc_main$C=defineComponent({...__default__$k,props:formItemProps,setup(n,{expose:e}){const t=n,i=useSlots(),r=inject(formContextKey,void 0),g=inject(formItemContextKey,void 0),y=useFormSize(void 0,{formItem:!1}),k=useNamespace("form-item"),L=useId().value,V=ref$1([]),z=ref$1(""),j=refDebounced(z,100),ie=ref$1(""),oe=ref$1();let re,ae=!1;const le=computed$1(()=>t.labelPosition||(r==null?void 0:r.labelPosition)),de=computed$1(()=>{if(le.value==="top")return{};const hi=addUnit(t.labelWidth||(r==null?void 0:r.labelWidth)||"");return hi?{width:hi}:{}}),ue=computed$1(()=>{if(le.value==="top"||r!=null&&r.inline)return{};if(!t.label&&!t.labelWidth&&Fe)return{};const hi=addUnit(t.labelWidth||(r==null?void 0:r.labelWidth)||"");return!t.label&&!i.label?{marginLeft:hi}:{}}),he=computed$1(()=>[k.b(),k.m(y.value),k.is("error",z.value==="error"),k.is("validating",z.value==="validating"),k.is("success",z.value==="success"),k.is("required",Ue.value||t.required),k.is("no-asterisk",r==null?void 0:r.hideRequiredAsterisk),(r==null?void 0:r.requireAsteriskPosition)==="right"?"asterisk-right":"asterisk-left",{[k.m("feedback")]:r==null?void 0:r.statusIcon,[k.m("label-".concat(le.value))]:le.value}]),pe=computed$1(()=>isBoolean(t.inlineMessage)?t.inlineMessage:(r==null?void 0:r.inlineMessage)||!1),Ce=computed$1(()=>[k.e("error"),{[k.em("error","inline")]:pe.value}]),$e=computed$1(()=>t.prop?isString$5(t.prop)?t.prop:t.prop.join("."):""),xe=computed$1(()=>!!(t.label||i.label)),Ie=computed$1(()=>t.for||(V.value.length===1?V.value[0]:void 0)),Ne=computed$1(()=>!Ie.value&&xe.value),Fe=!!g,Ve=computed$1(()=>{const hi=r==null?void 0:r.model;if(!(!hi||!t.prop))return getProp(hi,t.prop).value}),Oe=computed$1(()=>{const{required:hi}=t,xi=[];t.rules&&xi.push(...castArray$1(t.rules));const Oi=r==null?void 0:r.rules;if(Oi&&t.prop){const Ei=getProp(Oi,t.prop).value;Ei&&xi.push(...castArray$1(Ei))}if(hi!==void 0){const Ei=xi.map((si,fi)=>[si,fi]).filter(([si])=>Object.keys(si).includes("required"));if(Ei.length>0)for(const[si,fi]of Ei)si.required!==hi&&(xi[fi]={...si,required:hi});else xi.push({required:hi})}return xi}),ze=computed$1(()=>Oe.value.length>0),qe=hi=>Oe.value.filter(Oi=>!Oi.trigger||!hi?!0:isArray$2(Oi.trigger)?Oi.trigger.includes(hi):Oi.trigger===hi).map(({trigger:Oi,...Ei})=>Ei),Ue=computed$1(()=>Oe.value.some(hi=>hi.required)),Et=computed$1(()=>{var hi;return j.value==="error"&&t.showMessage&&((hi=r==null?void 0:r.showMessage)!=null?hi:!0)}),At=computed$1(()=>"".concat(t.label||"").concat((r==null?void 0:r.labelSuffix)||"")),Lt=hi=>{z.value=hi},kt=hi=>{var xi,Oi;const{errors:Ei,fields:si}=hi;(!Ei||!si)&&console.error(hi),Lt("error"),ie.value=Ei?(Oi=(xi=Ei==null?void 0:Ei[0])==null?void 0:xi.message)!=null?Oi:"".concat(t.prop," is required"):"",r==null||r.emit("validate",t.prop,!1,ie.value)},ei=()=>{Lt("success"),r==null||r.emit("validate",t.prop,!0,"")},jt=async hi=>{const xi=$e.value;return new Schema({[xi]:hi}).validate({[xi]:Ve.value},{firstFields:!0}).then(()=>(ei(),!0)).catch(Ei=>(kt(Ei),Promise.reject(Ei)))},ri=async(hi,xi)=>{if(ae||!t.prop)return!1;const Oi=isFunction$4(xi);if(!ze.value)return xi==null||xi(!1),!1;const Ei=qe(hi);return Ei.length===0?(xi==null||xi(!0),!0):(Lt("validating"),jt(Ei).then(()=>(xi==null||xi(!0),!0)).catch(si=>{const{fields:fi}=si;return xi==null||xi(!1,fi),Oi?!1:Promise.reject(fi)}))},ni=()=>{Lt(""),ie.value="",ae=!1},Ci=async()=>{const hi=r==null?void 0:r.model;if(!hi||!t.prop)return;const xi=getProp(hi,t.prop);ae=!0,xi.value=clone$3(re),await nextTick(),ni(),ae=!1},wi=hi=>{V.value.includes(hi)||V.value.push(hi)},Ri=hi=>{V.value=V.value.filter(xi=>xi!==hi)};watch(()=>t.error,hi=>{ie.value=hi||"",Lt(hi?"error":"")},{immediate:!0}),watch(()=>t.validateStatus,hi=>Lt(hi||""));const ai=reactive$1({...toRefs(t),$el:oe,size:y,validateState:z,labelId:L,inputIds:V,isGroup:Ne,hasLabel:xe,fieldValue:Ve,addInputId:wi,removeInputId:Ri,resetField:Ci,clearValidate:ni,validate:ri});return provide(formItemContextKey,ai),onMounted(()=>{t.prop&&(r==null||r.addField(ai),re=clone$3(Ve.value))}),onBeforeUnmount(()=>{r==null||r.removeField(ai)}),e({size:y,validateMessage:ie,validateState:z,validate:ri,clearValidate:ni,resetField:Ci}),(hi,xi)=>{var Oi;return openBlock(),createElementBlock("div",{ref_key:"formItemRef",ref:oe,class:normalizeClass(unref(he)),role:unref(Ne)?"group":void 0,"aria-labelledby":unref(Ne)?unref(L):void 0},[createVNode(unref(FormLabelWrap),{"is-auto-width":unref(de).width==="auto","update-all":((Oi=unref(r))==null?void 0:Oi.labelWidth)==="auto"},{default:withCtx(()=>[unref(xe)?(openBlock(),createBlock(resolveDynamicComponent(unref(Ie)?"label":"div"),{key:0,id:unref(L),for:unref(Ie),class:normalizeClass(unref(k).e("label")),style:normalizeStyle(unref(de))},{default:withCtx(()=>[renderSlot(hi.$slots,"label",{label:unref(At)},()=>[createTextVNode(toDisplayString(unref(At)),1)])]),_:3},8,["id","for","class","style"])):createCommentVNode("v-if",!0)]),_:3},8,["is-auto-width","update-all"]),createBaseVNode("div",{class:normalizeClass(unref(k).e("content")),style:normalizeStyle(unref(ue))},[renderSlot(hi.$slots,"default"),createVNode(TransitionGroup,{name:"".concat(unref(k).namespace.value,"-zoom-in-top")},{default:withCtx(()=>[unref(Et)?renderSlot(hi.$slots,"error",{key:0,error:ie.value},()=>[createBaseVNode("div",{class:normalizeClass(unref(Ce))},toDisplayString(ie.value),3)]):createCommentVNode("v-if",!0)]),_:3},8,["name"])],6)],10,["role","aria-labelledby"])}}});var FormItem=_export_sfc(_sfc_main$C,[["__file","form-item.vue"]]);const ElForm=withInstall(Form,{FormItem}),ElFormItem=withNoopInstall(FormItem),inputNumberProps=buildProps({id:{type:String,default:void 0},step:{type:Number,default:1},stepStrictly:Boolean,max:{type:Number,default:Number.POSITIVE_INFINITY},min:{type:Number,default:Number.NEGATIVE_INFINITY},modelValue:Number,readonly:Boolean,disabled:Boolean,size:useSizeProp,controls:{type:Boolean,default:!0},controlsPosition:{type:String,default:"",values:["","right"]},valueOnClear:{type:[String,Number,null],validator:n=>n===null||isNumber(n)||["min","max"].includes(n),default:null},name:String,placeholder:String,precision:{type:Number,validator:n=>n>=0&&n===Number.parseInt("".concat(n),10)},validateEvent:{type:Boolean,default:!0},...useAriaProps(["ariaLabel"])}),inputNumberEmits={[CHANGE_EVENT]:(n,e)=>e!==n,blur:n=>n instanceof FocusEvent,focus:n=>n instanceof FocusEvent,[INPUT_EVENT]:n=>isNumber(n)||isNil(n),[UPDATE_MODEL_EVENT]:n=>isNumber(n)||isNil(n)},__default__$j=defineComponent({name:"ElInputNumber"}),_sfc_main$B=defineComponent({...__default__$j,props:inputNumberProps,emits:inputNumberEmits,setup(n,{expose:e,emit:t}){const i=n,{t:r}=useLocale(),g=useNamespace("input-number"),y=ref$1(),k=reactive$1({currentValue:i.modelValue,userInput:null}),{formItem:L}=useFormItem(),V=computed$1(()=>isNumber(i.modelValue)&&i.modelValue<=i.min),z=computed$1(()=>isNumber(i.modelValue)&&i.modelValue>=i.max),j=computed$1(()=>{const Ue=de(i.step);return isUndefined(i.precision)?Math.max(de(i.modelValue),Ue):(Ue>i.precision,i.precision)}),ie=computed$1(()=>i.controls&&i.controlsPosition==="right"),oe=useFormSize(),re=useFormDisabled(),ae=computed$1(()=>{if(k.userInput!==null)return k.userInput;let Ue=k.currentValue;if(isNil(Ue))return"";if(isNumber(Ue)){if(Number.isNaN(Ue))return"";isUndefined(i.precision)||(Ue=Ue.toFixed(i.precision))}return Ue}),le=(Ue,Et)=>{if(isUndefined(Et)&&(Et=j.value),Et===0)return Math.round(Ue);let At=String(Ue);const Lt=At.indexOf(".");if(Lt===-1||!At.replace(".","").split("")[Lt+Et])return Ue;const jt=At.length;return At.charAt(jt-1)==="5"&&(At="".concat(At.slice(0,Math.max(0,jt-1)),"6")),Number.parseFloat(Number(At).toFixed(Et))},de=Ue=>{if(isNil(Ue))return 0;const Et=Ue.toString(),At=Et.indexOf(".");let Lt=0;return At!==-1&&(Lt=Et.length-At-1),Lt},ue=(Ue,Et=1)=>isNumber(Ue)?le(Ue+i.step*Et):k.currentValue,he=()=>{if(i.readonly||re.value||z.value)return;const Ue=Number(ae.value)||0,Et=ue(Ue);$e(Et),t(INPUT_EVENT,k.currentValue),ze()},pe=()=>{if(i.readonly||re.value||V.value)return;const Ue=Number(ae.value)||0,Et=ue(Ue,-1);$e(Et),t(INPUT_EVENT,k.currentValue),ze()},Ce=(Ue,Et)=>{const{max:At,min:Lt,step:kt,precision:ei,stepStrictly:jt,valueOnClear:ri}=i;AtAt||niAt?At:Lt,Et&&t(UPDATE_MODEL_EVENT,ni)),ni},$e=(Ue,Et=!0)=>{var At;const Lt=k.currentValue,kt=Ce(Ue);if(!Et){t(UPDATE_MODEL_EVENT,kt);return}Lt===kt&&Ue||(k.userInput=null,t(UPDATE_MODEL_EVENT,kt),Lt!==kt&&t(CHANGE_EVENT,kt,Lt),i.validateEvent&&((At=L==null?void 0:L.validate)==null||At.call(L,"change").catch(ei=>void 0)),k.currentValue=kt)},xe=Ue=>{k.userInput=Ue;const Et=Ue===""?null:Number(Ue);t(INPUT_EVENT,Et),$e(Et,!1)},Ie=Ue=>{const Et=Ue!==""?Number(Ue):"";(isNumber(Et)&&!Number.isNaN(Et)||Ue==="")&&$e(Et),ze(),k.userInput=null},Ne=()=>{var Ue,Et;(Et=(Ue=y.value)==null?void 0:Ue.focus)==null||Et.call(Ue)},Fe=()=>{var Ue,Et;(Et=(Ue=y.value)==null?void 0:Ue.blur)==null||Et.call(Ue)},Ve=Ue=>{t("focus",Ue)},Oe=Ue=>{var Et,At;k.userInput=null,isFirefox()&&k.currentValue===null&&((Et=y.value)!=null&&Et.input)&&(y.value.input.value=""),t("blur",Ue),i.validateEvent&&((At=L==null?void 0:L.validate)==null||At.call(L,"blur").catch(Lt=>void 0))},ze=()=>{k.currentValue!==i.modelValue&&(k.currentValue=i.modelValue)},qe=Ue=>{document.activeElement===Ue.target&&Ue.preventDefault()};return watch(()=>i.modelValue,(Ue,Et)=>{const At=Ce(Ue,!0);k.userInput===null&&At!==Et&&(k.currentValue=At)},{immediate:!0}),onMounted(()=>{var Ue;const{min:Et,max:At,modelValue:Lt}=i,kt=(Ue=y.value)==null?void 0:Ue.input;if(kt.setAttribute("role","spinbutton"),Number.isFinite(At)?kt.setAttribute("aria-valuemax",String(At)):kt.removeAttribute("aria-valuemax"),Number.isFinite(Et)?kt.setAttribute("aria-valuemin",String(Et)):kt.removeAttribute("aria-valuemin"),kt.setAttribute("aria-valuenow",k.currentValue||k.currentValue===0?String(k.currentValue):""),kt.setAttribute("aria-disabled",String(re.value)),!isNumber(Lt)&&Lt!=null){let ei=Number(Lt);Number.isNaN(ei)&&(ei=null),t(UPDATE_MODEL_EVENT,ei)}kt.addEventListener("wheel",qe,{passive:!1})}),onUpdated(()=>{var Ue,Et;const At=(Ue=y.value)==null?void 0:Ue.input;At==null||At.setAttribute("aria-valuenow","".concat((Et=k.currentValue)!=null?Et:""))}),e({focus:Ne,blur:Fe}),(Ue,Et)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(g).b(),unref(g).m(unref(oe)),unref(g).is("disabled",unref(re)),unref(g).is("without-controls",!Ue.controls),unref(g).is("controls-right",unref(ie))]),onDragstart:withModifiers(()=>{},["prevent"])},[Ue.controls?withDirectives((openBlock(),createElementBlock("span",{key:0,role:"button","aria-label":unref(r)("el.inputNumber.decrease"),class:normalizeClass([unref(g).e("decrease"),unref(g).is("disabled",unref(V))]),onKeydown:withKeys(pe,["enter"])},[renderSlot(Ue.$slots,"decrease-icon",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[unref(ie)?(openBlock(),createBlock(unref(arrow_down_default),{key:0})):(openBlock(),createBlock(unref(minus_default),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[unref(vRepeatClick),pe]]):createCommentVNode("v-if",!0),Ue.controls?withDirectives((openBlock(),createElementBlock("span",{key:1,role:"button","aria-label":unref(r)("el.inputNumber.increase"),class:normalizeClass([unref(g).e("increase"),unref(g).is("disabled",unref(z))]),onKeydown:withKeys(he,["enter"])},[renderSlot(Ue.$slots,"increase-icon",{},()=>[createVNode(unref(ElIcon),null,{default:withCtx(()=>[unref(ie)?(openBlock(),createBlock(unref(arrow_up_default),{key:0})):(openBlock(),createBlock(unref(plus_default),{key:1}))]),_:1})])],42,["aria-label","onKeydown"])),[[unref(vRepeatClick),he]]):createCommentVNode("v-if",!0),createVNode(unref(ElInput),{id:Ue.id,ref_key:"input",ref:y,type:"number",step:Ue.step,"model-value":unref(ae),placeholder:Ue.placeholder,readonly:Ue.readonly,disabled:unref(re),size:unref(oe),max:Ue.max,min:Ue.min,name:Ue.name,"aria-label":Ue.ariaLabel,"validate-event":!1,onKeydown:[withKeys(withModifiers(he,["prevent"]),["up"]),withKeys(withModifiers(pe,["prevent"]),["down"])],onBlur:Oe,onFocus:Ve,onInput:xe,onChange:Ie},createSlots({_:2},[Ue.$slots.prefix?{name:"prefix",fn:withCtx(()=>[renderSlot(Ue.$slots,"prefix")])}:void 0,Ue.$slots.suffix?{name:"suffix",fn:withCtx(()=>[renderSlot(Ue.$slots,"suffix")])}:void 0]),1032,["id","step","model-value","placeholder","readonly","disabled","size","max","min","name","aria-label","onKeydown"])],42,["onDragstart"]))}});var InputNumber=_export_sfc(_sfc_main$B,[["__file","input-number.vue"]]);const ElInputNumber=withInstall(InputNumber);function useCalcInputWidth(){const n=shallowRef(),e=ref$1(0),t=11,i=computed$1(()=>({minWidth:"".concat(Math.max(e.value,t),"px")}));return useResizeObserver(n,()=>{var g,y;e.value=(y=(g=n.value)==null?void 0:g.getBoundingClientRect().width)!=null?y:0}),{calculatorRef:n,calculatorWidth:e,inputStyle:i}}const elPaginationKey=Symbol("elPaginationKey"),paginationPrevProps=buildProps({disabled:Boolean,currentPage:{type:Number,default:1},prevText:{type:String},prevIcon:{type:iconPropType}}),paginationPrevEmits={click:n=>n instanceof MouseEvent},__default__$i=defineComponent({name:"ElPaginationPrev"}),_sfc_main$A=defineComponent({...__default__$i,props:paginationPrevProps,emits:paginationPrevEmits,setup(n){const e=n,{t}=useLocale(),i=computed$1(()=>e.disabled||e.currentPage<=1);return(r,g)=>(openBlock(),createElementBlock("button",{type:"button",class:"btn-prev",disabled:unref(i),"aria-label":r.prevText||unref(t)("el.pagination.prev"),"aria-disabled":unref(i),onClick:y=>r.$emit("click",y)},[r.prevText?(openBlock(),createElementBlock("span",{key:0},toDisplayString(r.prevText),1)):(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(r.prevIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}});var Prev=_export_sfc(_sfc_main$A,[["__file","prev.vue"]]);const paginationNextProps=buildProps({disabled:Boolean,currentPage:{type:Number,default:1},pageCount:{type:Number,default:50},nextText:{type:String},nextIcon:{type:iconPropType}}),__default__$h=defineComponent({name:"ElPaginationNext"}),_sfc_main$z=defineComponent({...__default__$h,props:paginationNextProps,emits:["click"],setup(n){const e=n,{t}=useLocale(),i=computed$1(()=>e.disabled||e.currentPage===e.pageCount||e.pageCount===0);return(r,g)=>(openBlock(),createElementBlock("button",{type:"button",class:"btn-next",disabled:unref(i),"aria-label":r.nextText||unref(t)("el.pagination.next"),"aria-disabled":unref(i),onClick:y=>r.$emit("click",y)},[r.nextText?(openBlock(),createElementBlock("span",{key:0},toDisplayString(r.nextText),1)):(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(r.nextIcon)))]),_:1}))],8,["disabled","aria-label","aria-disabled","onClick"]))}});var Next=_export_sfc(_sfc_main$z,[["__file","next.vue"]]);const selectGroupKey=Symbol("ElSelectGroup"),selectKey=Symbol("ElSelect");function useOption(n,e){const t=inject(selectKey),i=inject(selectGroupKey,{disabled:!1}),r=computed$1(()=>z(castArray$1(t.props.modelValue),n.value)),g=computed$1(()=>{var oe;if(t.props.multiple){const re=castArray$1((oe=t.props.modelValue)!=null?oe:[]);return!r.value&&re.length>=t.props.multipleLimit&&t.props.multipleLimit>0}else return!1}),y=computed$1(()=>n.label||(isObject$4(n.value)?"":n.value)),k=computed$1(()=>n.value||n.label||""),L=computed$1(()=>n.disabled||e.groupDisabled||g.value),V=getCurrentInstance$1(),z=(oe=[],re)=>{if(isObject$4(n.value)){const ae=t.props.valueKey;return oe&&oe.some(le=>toRaw(get(le,ae))===get(re,ae))}else return oe&&oe.includes(re)},j=()=>{!n.disabled&&!i.disabled&&(t.states.hoveringIndex=t.optionsArray.indexOf(V.proxy))},ie=oe=>{const re=new RegExp(escapeStringRegexp(oe),"i");e.visible=re.test(y.value)||n.created};return watch(()=>y.value,()=>{!n.created&&!t.props.remote&&t.setSelected()}),watch(()=>n.value,(oe,re)=>{const{remote:ae,valueKey:le}=t.props;if(oe!==re&&(t.onOptionDestroy(re,V.proxy),t.onOptionCreate(V.proxy)),!n.created&&!ae){if(le&&isObject$4(oe)&&isObject$4(re)&&oe[le]===re[le])return;t.setSelected()}}),watch(()=>i.disabled,()=>{e.groupDisabled=i.disabled},{immediate:!0}),{select:t,currentLabel:y,currentValue:k,itemSelected:r,isDisabled:L,hoverItem:j,updateOption:ie}}const _sfc_main$y=defineComponent({name:"ElOption",componentName:"ElOption",props:{value:{required:!0,type:[String,Number,Boolean,Object]},label:[String,Number],created:Boolean,disabled:Boolean},setup(n){const e=useNamespace("select"),t=useId(),i=computed$1(()=>[e.be("dropdown","item"),e.is("disabled",unref(k)),e.is("selected",unref(y)),e.is("hovering",unref(ie))]),r=reactive$1({index:-1,groupDisabled:!1,visible:!0,hover:!1}),{currentLabel:g,itemSelected:y,isDisabled:k,select:L,hoverItem:V,updateOption:z}=useOption(n,r),{visible:j,hover:ie}=toRefs(r),oe=getCurrentInstance$1().proxy;L.onOptionCreate(oe),onBeforeUnmount(()=>{const ae=oe.value,{selected:le}=L.states,de=le.some(ue=>ue.value===oe.value);nextTick(()=>{L.states.cachedOptions.get(ae)===oe&&!de&&L.states.cachedOptions.delete(ae)}),L.onOptionDestroy(ae,oe)});function re(){k.value||L.handleOptionSelect(oe)}return{ns:e,id:t,containerKls:i,currentLabel:g,itemSelected:y,isDisabled:k,select:L,hoverItem:V,updateOption:z,visible:j,hover:ie,selectOptionClick:re,states:r}}});function _sfc_render$a(n,e,t,i,r,g){return withDirectives((openBlock(),createElementBlock("li",{id:n.id,class:normalizeClass(n.containerKls),role:"option","aria-disabled":n.isDisabled||void 0,"aria-selected":n.itemSelected,onMousemove:n.hoverItem,onClick:withModifiers(n.selectOptionClick,["stop"])},[renderSlot(n.$slots,"default",{},()=>[createBaseVNode("span",null,toDisplayString(n.currentLabel),1)])],42,["id","aria-disabled","aria-selected","onMousemove","onClick"])),[[vShow,n.visible]])}var Option=_export_sfc(_sfc_main$y,[["render",_sfc_render$a],["__file","option.vue"]]);const _sfc_main$x=defineComponent({name:"ElSelectDropdown",componentName:"ElSelectDropdown",setup(){const n=inject(selectKey),e=useNamespace("select"),t=computed$1(()=>n.props.popperClass),i=computed$1(()=>n.props.multiple),r=computed$1(()=>n.props.fitInputWidth),g=ref$1("");function y(){var k;g.value="".concat((k=n.selectRef)==null?void 0:k.offsetWidth,"px")}return onMounted(()=>{y(),useResizeObserver(n.selectRef,y)}),{ns:e,minWidth:g,popperClass:t,isMultiple:i,isFitInputWidth:r}}});function _sfc_render$9(n,e,t,i,r,g){return openBlock(),createElementBlock("div",{class:normalizeClass([n.ns.b("dropdown"),n.ns.is("multiple",n.isMultiple),n.popperClass]),style:normalizeStyle({[n.isFitInputWidth?"width":"minWidth"]:n.minWidth})},[n.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(n.ns.be("dropdown","header"))},[renderSlot(n.$slots,"header")],2)):createCommentVNode("v-if",!0),renderSlot(n.$slots,"default"),n.$slots.footer?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(n.ns.be("dropdown","footer"))},[renderSlot(n.$slots,"footer")],2)):createCommentVNode("v-if",!0)],6)}var ElSelectMenu=_export_sfc(_sfc_main$x,[["render",_sfc_render$9],["__file","select-dropdown.vue"]]);const useSelect=(n,e)=>{const{t}=useLocale(),i=useId(),r=useNamespace("select"),g=useNamespace("input"),y=reactive$1({inputValue:"",options:new Map,cachedOptions:new Map,optionValues:[],selected:[],selectionWidth:0,collapseItemWidth:0,selectedLabel:"",hoveringIndex:-1,previousQuery:null,inputHovering:!1,menuVisibleOnFocus:!1,isBeforeHide:!1}),k=ref$1(null),L=ref$1(null),V=ref$1(null),z=ref$1(null),j=ref$1(null),ie=ref$1(null),oe=ref$1(null),re=ref$1(null),ae=ref$1(null),le=ref$1(null),de=ref$1(null),{isComposing:ue,handleCompositionStart:he,handleCompositionUpdate:pe,handleCompositionEnd:Ce}=useComposition({afterComposition:Hi=>Dt(Hi)}),{wrapperRef:$e,isFocused:xe,handleBlur:Ie}=useFocusController(j,{beforeFocus(){return Et.value},afterFocus(){n.automaticDropdown&&!Ne.value&&(Ne.value=!0,y.menuVisibleOnFocus=!0)},beforeBlur(Hi){var Xi,bn;return((Xi=V.value)==null?void 0:Xi.isFocusInsideContent(Hi))||((bn=z.value)==null?void 0:bn.isFocusInsideContent(Hi))},afterBlur(){Ne.value=!1,y.menuVisibleOnFocus=!1}}),Ne=ref$1(!1),Fe=ref$1(),{form:Ve,formItem:Oe}=useFormItem(),{inputId:ze}=useFormItemInputId(n,{formItemContext:Oe}),{valueOnClear:qe,isEmptyValue:Ue}=useEmptyValues(n),Et=computed$1(()=>n.disabled||(Ve==null?void 0:Ve.disabled)),At=computed$1(()=>isArray$2(n.modelValue)?n.modelValue.length>0:!Ue(n.modelValue)),Lt=computed$1(()=>{var Hi;return(Hi=Ve==null?void 0:Ve.statusIcon)!=null?Hi:!1}),kt=computed$1(()=>n.clearable&&!Et.value&&y.inputHovering&&At.value),ei=computed$1(()=>n.remote&&n.filterable&&!n.remoteShowSuffix?"":n.suffixIcon),jt=computed$1(()=>r.is("reverse",ei.value&&Ne.value)),ri=computed$1(()=>(Oe==null?void 0:Oe.validateState)||""),ni=computed$1(()=>ValidateComponentsMap[ri.value]),Ci=computed$1(()=>n.remote?300:0),wi=computed$1(()=>n.remote&&!y.inputValue&&y.options.size===0),Ri=computed$1(()=>n.loading?n.loadingText||t("el.select.loading"):n.filterable&&y.inputValue&&y.options.size>0&&ai.value===0?n.noMatchText||t("el.select.noMatch"):y.options.size===0?n.noDataText||t("el.select.noData"):null),ai=computed$1(()=>hi.value.filter(Hi=>Hi.visible).length),hi=computed$1(()=>{const Hi=Array.from(y.options.values()),Xi=[];return y.optionValues.forEach(bn=>{const En=Hi.findIndex(Dn=>Dn.value===bn);En>-1&&Xi.push(Hi[En])}),Xi.length>=Hi.length?Xi:Hi}),xi=computed$1(()=>Array.from(y.cachedOptions.values())),Oi=computed$1(()=>{const Hi=hi.value.filter(Xi=>!Xi.created).some(Xi=>Xi.currentLabel===y.inputValue);return n.filterable&&n.allowCreate&&y.inputValue!==""&&!Hi}),Ei=()=>{n.filterable&&isFunction$4(n.filterMethod)||n.filterable&&n.remote&&isFunction$4(n.remoteMethod)||hi.value.forEach(Hi=>{var Xi;(Xi=Hi.updateOption)==null||Xi.call(Hi,y.inputValue)})},si=useFormSize(),fi=computed$1(()=>["small"].includes(si.value)?"small":"default"),li=computed$1({get(){return Ne.value&&!wi.value},set(Hi){Ne.value=Hi}}),Di=computed$1(()=>{if(n.multiple&&!isUndefined(n.modelValue))return castArray$1(n.modelValue).length===0&&!y.inputValue;const Hi=isArray$2(n.modelValue)?n.modelValue[0]:n.modelValue;return n.filterable||isUndefined(Hi)?!y.inputValue:!0}),ki=computed$1(()=>{var Hi;const Xi=(Hi=n.placeholder)!=null?Hi:t("el.select.placeholder");return n.multiple||!At.value?Xi:y.selectedLabel}),Ai=computed$1(()=>isIOS?null:"mouseenter");watch(()=>n.modelValue,(Hi,Xi)=>{n.multiple&&n.filterable&&!n.reserveKeyword&&(y.inputValue="",Ki("")),bi(),!isEqual$1(Hi,Xi)&&n.validateEvent&&(Oe==null||Oe.validate("change").catch(bn=>void 0))},{flush:"post",deep:!0}),watch(()=>Ne.value,Hi=>{Hi?Ki(y.inputValue):(y.inputValue="",y.previousQuery=null,y.isBeforeHide=!0),e("visible-change",Hi)}),watch(()=>y.options.entries(),()=>{isClient&&(bi(),n.defaultFirstOption&&(n.filterable||n.remote)&&ai.value&&zi())},{flush:"post"}),watch(()=>y.hoveringIndex,Hi=>{isNumber(Hi)&&Hi>-1?Fe.value=hi.value[Hi]||{}:Fe.value={},hi.value.forEach(Xi=>{Xi.hover=Fe.value===Xi})}),watchEffect(()=>{y.isBeforeHide||Ei()});const Ki=Hi=>{y.previousQuery===Hi||ue.value||(y.previousQuery=Hi,n.filterable&&isFunction$4(n.filterMethod)?n.filterMethod(Hi):n.filterable&&n.remote&&isFunction$4(n.remoteMethod)&&n.remoteMethod(Hi),n.defaultFirstOption&&(n.filterable||n.remote)&&ai.value?nextTick(zi):nextTick(Li))},zi=()=>{const Hi=hi.value.filter(Dn=>Dn.visible&&!Dn.disabled&&!Dn.states.groupDisabled),Xi=Hi.find(Dn=>Dn.created),bn=Hi[0],En=hi.value.map(Dn=>Dn.value);y.hoveringIndex=di(En,Xi||bn)},bi=()=>{if(n.multiple)y.selectedLabel="";else{const Xi=isArray$2(n.modelValue)?n.modelValue[0]:n.modelValue,bn=vi(Xi);y.selectedLabel=bn.currentLabel,y.selected=[bn];return}const Hi=[];isUndefined(n.modelValue)||castArray$1(n.modelValue).forEach(Xi=>{Hi.push(vi(Xi))}),y.selected=Hi},vi=Hi=>{let Xi;const bn=isPlainObject(Hi);for(let Cn=y.cachedOptions.size-1;Cn>=0;Cn--){const Vi=xi.value[Cn];if(bn?get(Vi.value,n.valueKey)===get(Hi,n.valueKey):Vi.value===Hi){Xi={value:Hi,currentLabel:Vi.currentLabel,get isDisabled(){return Vi.isDisabled}};break}}if(Xi)return Xi;const En=bn?Hi.label:Hi!=null?Hi:"";return{value:Hi,currentLabel:En}},Li=()=>{y.hoveringIndex=hi.value.findIndex(Hi=>y.selected.some(Xi=>Si(Xi)===Si(Hi)))},oi=()=>{y.selectionWidth=L.value.getBoundingClientRect().width},ii=()=>{y.collapseItemWidth=le.value.getBoundingClientRect().width},mi=()=>{var Hi,Xi;(Xi=(Hi=V.value)==null?void 0:Hi.updatePopper)==null||Xi.call(Hi)},yi=()=>{var Hi,Xi;(Xi=(Hi=z.value)==null?void 0:Hi.updatePopper)==null||Xi.call(Hi)},ti=()=>{y.inputValue.length>0&&!Ne.value&&(Ne.value=!0),Ki(y.inputValue)},Dt=Hi=>{if(y.inputValue=Hi.target.value,n.remote)Pt();else return ti()},Pt=debounce(()=>{ti()},Ci.value),ci=Hi=>{isEqual$1(n.modelValue,Hi)||e(CHANGE_EVENT,Hi)},Ti=Hi=>findLastIndex$1(Hi,Xi=>{const bn=y.cachedOptions.get(Xi);return bn&&!bn.disabled&&!bn.states.groupDisabled}),Mi=Hi=>{if(n.multiple&&Hi.code!==EVENT_CODE.delete&&Hi.target.value.length<=0){const Xi=castArray$1(n.modelValue).slice(),bn=Ti(Xi);if(bn<0)return;const En=Xi[bn];Xi.splice(bn,1),e(UPDATE_MODEL_EVENT,Xi),ci(Xi),e("remove-tag",En)}},pi=(Hi,Xi)=>{const bn=y.selected.indexOf(Xi);if(bn>-1&&!Et.value){const En=castArray$1(n.modelValue).slice();En.splice(bn,1),e(UPDATE_MODEL_EVENT,En),ci(En),e("remove-tag",Xi.value)}Hi.stopPropagation(),In()},ui=Hi=>{Hi.stopPropagation();const Xi=n.multiple?[]:qe.value;if(n.multiple)for(const bn of y.selected)bn.isDisabled&&Xi.push(bn.value);e(UPDATE_MODEL_EVENT,Xi),ci(Xi),y.hoveringIndex=-1,Ne.value=!1,e("clear"),In()},$i=Hi=>{var Xi;if(n.multiple){const bn=castArray$1((Xi=n.modelValue)!=null?Xi:[]).slice(),En=di(bn,Hi);En>-1?bn.splice(En,1):(n.multipleLimit<=0||bn.length{Wi(Hi)})},di=(Hi=[],Xi)=>isUndefined(Xi)?-1:isObject$4(Xi.value)?Hi.findIndex(bn=>isEqual$1(get(bn,n.valueKey),Si(Xi))):Hi.indexOf(Xi.value),Wi=Hi=>{var Xi,bn,En,Dn,Cn;const Vi=isArray$2(Hi)?Hi[0]:Hi;let Ji=null;if(Vi!=null&&Vi.value){const Yi=hi.value.filter(Fi=>Fi.value===Vi.value);Yi.length>0&&(Ji=Yi[0].$el)}if(V.value&&Ji){const Yi=(Dn=(En=(bn=(Xi=V.value)==null?void 0:Xi.popperRef)==null?void 0:bn.contentRef)==null?void 0:En.querySelector)==null?void 0:Dn.call(En,".".concat(r.be("dropdown","wrap")));Yi&&scrollIntoView(Yi,Ji)}(Cn=de.value)==null||Cn.handleScroll()},Gi=Hi=>{y.options.set(Hi.value,Hi),y.cachedOptions.set(Hi.value,Hi)},Zi=(Hi,Xi)=>{y.options.get(Hi)===Xi&&y.options.delete(Hi)},vn=computed$1(()=>{var Hi,Xi;return(Xi=(Hi=V.value)==null?void 0:Hi.popperRef)==null?void 0:Xi.contentRef}),Tn=()=>{y.isBeforeHide=!1,nextTick(()=>Wi(y.selected))},In=()=>{var Hi;(Hi=j.value)==null||Hi.focus()},Rn=()=>{var Hi;if(Ne.value){Ne.value=!1,nextTick(()=>{var Xi;return(Xi=j.value)==null?void 0:Xi.blur()});return}(Hi=j.value)==null||Hi.blur()},Bn=Hi=>{ui(Hi)},Ln=Hi=>{if(Ne.value=!1,xe.value){const Xi=new FocusEvent("focus",Hi);nextTick(()=>Ie(Xi))}},Nn=()=>{y.inputValue.length>0?y.inputValue="":Ne.value=!1},wn=()=>{Et.value||(isIOS&&(y.inputHovering=!0),y.menuVisibleOnFocus?y.menuVisibleOnFocus=!1:Ne.value=!Ne.value)},_i=()=>{if(!Ne.value)wn();else{const Hi=hi.value[y.hoveringIndex];Hi&&!Hi.isDisabled&&$i(Hi)}},Si=Hi=>isObject$4(Hi.value)?get(Hi.value,n.valueKey):Hi.value,Ii=computed$1(()=>hi.value.filter(Hi=>Hi.visible).every(Hi=>Hi.isDisabled)),Pi=computed$1(()=>n.multiple?n.collapseTags?y.selected.slice(0,n.maxCollapseTags):y.selected:[]),Bi=computed$1(()=>n.multiple?n.collapseTags?y.selected.slice(n.maxCollapseTags):[]:[]),ji=Hi=>{if(!Ne.value){Ne.value=!0;return}if(!(y.options.size===0||ai.value===0||ue.value)&&!Ii.value){Hi==="next"?(y.hoveringIndex++,y.hoveringIndex===y.options.size&&(y.hoveringIndex=0)):Hi==="prev"&&(y.hoveringIndex--,y.hoveringIndex<0&&(y.hoveringIndex=y.options.size-1));const Xi=hi.value[y.hoveringIndex];(Xi.isDisabled||!Xi.visible)&&ji(Hi),nextTick(()=>Wi(Fe.value))}},qi=()=>{if(!L.value)return 0;const Hi=window.getComputedStyle(L.value);return Number.parseFloat(Hi.gap||"6px")},hn=computed$1(()=>{const Hi=qi(),Xi=le.value&&n.maxCollapseTags===1?y.selectionWidth-y.collapseItemWidth-Hi:y.selectionWidth;return{maxWidth:"".concat(Xi,"px")}}),_n=computed$1(()=>({maxWidth:"".concat(y.selectionWidth,"px")}));return useResizeObserver(L,oi),useResizeObserver(re,mi),useResizeObserver($e,mi),useResizeObserver(ae,yi),useResizeObserver(le,ii),onMounted(()=>{bi()}),{inputId:ze,contentId:i,nsSelect:r,nsInput:g,states:y,isFocused:xe,expanded:Ne,optionsArray:hi,hoverOption:Fe,selectSize:si,filteredOptionsCount:ai,updateTooltip:mi,updateTagTooltip:yi,debouncedOnInputChange:Pt,onInput:Dt,deletePrevTag:Mi,deleteTag:pi,deleteSelected:ui,handleOptionSelect:$i,scrollToOption:Wi,hasModelValue:At,shouldShowPlaceholder:Di,currentPlaceholder:ki,mouseEnterEventName:Ai,needStatusIcon:Lt,showClose:kt,iconComponent:ei,iconReverse:jt,validateState:ri,validateIcon:ni,showNewOption:Oi,updateOptions:Ei,collapseTagSize:fi,setSelected:bi,selectDisabled:Et,emptyText:Ri,handleCompositionStart:he,handleCompositionUpdate:pe,handleCompositionEnd:Ce,onOptionCreate:Gi,onOptionDestroy:Zi,handleMenuEnter:Tn,focus:In,blur:Rn,handleClearClick:Bn,handleClickOutside:Ln,handleEsc:Nn,toggleMenu:wn,selectOption:_i,getValueKey:Si,navigateOptions:ji,dropdownMenuVisible:li,showTagList:Pi,collapseTagList:Bi,tagStyle:hn,collapseTagStyle:_n,popperRef:vn,inputRef:j,tooltipRef:V,tagTooltipRef:z,prefixRef:ie,suffixRef:oe,selectRef:k,wrapperRef:$e,selectionRef:L,scrollbarRef:de,menuRef:re,tagMenuRef:ae,collapseItemRef:le}};var ElOptions=defineComponent({name:"ElOptions",setup(n,{slots:e}){const t=inject(selectKey);let i=[];return()=>{var r,g;const y=(r=e.default)==null?void 0:r.call(e),k=[];function L(V){isArray$2(V)&&V.forEach(z=>{var j,ie,oe,re;const ae=(j=(z==null?void 0:z.type)||{})==null?void 0:j.name;ae==="ElOptionGroup"?L(!isString$5(z.children)&&!isArray$2(z.children)&&isFunction$4((ie=z.children)==null?void 0:ie.default)?(oe=z.children)==null?void 0:oe.default():z.children):ae==="ElOption"?k.push((re=z.props)==null?void 0:re.value):isArray$2(z.children)&&L(z.children)})}return y.length&&L((g=y[0])==null?void 0:g.children),isEqual$1(k,i)||(i=k,t&&(t.states.optionValues=k)),y}}});const SelectProps=buildProps({name:String,id:String,modelValue:{type:[Array,String,Number,Boolean,Object],default:void 0},autocomplete:{type:String,default:"off"},automaticDropdown:Boolean,size:useSizeProp,effect:{type:definePropType(String),default:"light"},disabled:Boolean,clearable:Boolean,filterable:Boolean,allowCreate:Boolean,loading:Boolean,popperClass:{type:String,default:""},popperOptions:{type:definePropType(Object),default:()=>({})},remote:Boolean,loadingText:String,noMatchText:String,noDataText:String,remoteMethod:Function,filterMethod:Function,multiple:Boolean,multipleLimit:{type:Number,default:0},placeholder:{type:String},defaultFirstOption:Boolean,reserveKeyword:{type:Boolean,default:!0},valueKey:{type:String,default:"value"},collapseTags:Boolean,collapseTagsTooltip:Boolean,maxCollapseTags:{type:Number,default:1},teleported:useTooltipContentProps.teleported,persistent:{type:Boolean,default:!0},clearIcon:{type:iconPropType,default:circle_close_default},fitInputWidth:Boolean,suffixIcon:{type:iconPropType,default:arrow_down_default},tagType:{...tagProps.type,default:"info"},tagEffect:{...tagProps.effect,default:"light"},validateEvent:{type:Boolean,default:!0},remoteShowSuffix:Boolean,showArrow:{type:Boolean,default:!0},offset:{type:Number,default:12},placement:{type:definePropType(String),values:Ee,default:"bottom-start"},fallbackPlacements:{type:definePropType(Array),default:["bottom-start","top-start","right","left"]},tabindex:{type:[String,Number],default:0},appendTo:String,...useEmptyValuesProps,...useAriaProps(["ariaLabel"])}),COMPONENT_NAME$5="ElSelect",_sfc_main$w=defineComponent({name:COMPONENT_NAME$5,componentName:COMPONENT_NAME$5,components:{ElSelectMenu,ElOption:Option,ElOptions,ElTag,ElScrollbar,ElTooltip,ElIcon},directives:{ClickOutside},props:SelectProps,emits:[UPDATE_MODEL_EVENT,CHANGE_EVENT,"remove-tag","clear","visible-change","focus","blur"],setup(n,{emit:e}){const t=computed$1(()=>{const{modelValue:L,multiple:V}=n,z=V?[]:void 0;return isArray$2(L)?V?L:z:V?z:L}),i=reactive$1({...toRefs(n),modelValue:t}),r=useSelect(i,e),{calculatorRef:g,inputStyle:y}=useCalcInputWidth();provide(selectKey,reactive$1({props:i,states:r.states,optionsArray:r.optionsArray,handleOptionSelect:r.handleOptionSelect,onOptionCreate:r.onOptionCreate,onOptionDestroy:r.onOptionDestroy,selectRef:r.selectRef,setSelected:r.setSelected}));const k=computed$1(()=>n.multiple?r.states.selected.map(L=>L.currentLabel):r.states.selectedLabel);return{...r,modelValue:t,selectedLabel:k,calculatorRef:g,inputStyle:y}}});function _sfc_render$8(n,e,t,i,r,g){const y=resolveComponent("el-tag"),k=resolveComponent("el-tooltip"),L=resolveComponent("el-icon"),V=resolveComponent("el-option"),z=resolveComponent("el-options"),j=resolveComponent("el-scrollbar"),ie=resolveComponent("el-select-menu"),oe=resolveDirective("click-outside");return withDirectives((openBlock(),createElementBlock("div",{ref:"selectRef",class:normalizeClass([n.nsSelect.b(),n.nsSelect.m(n.selectSize)]),[toHandlerKey(n.mouseEnterEventName)]:re=>n.states.inputHovering=!0,onMouseleave:re=>n.states.inputHovering=!1},[createVNode(k,{ref:"tooltipRef",visible:n.dropdownMenuVisible,placement:n.placement,teleported:n.teleported,"popper-class":[n.nsSelect.e("popper"),n.popperClass],"popper-options":n.popperOptions,"fallback-placements":n.fallbackPlacements,effect:n.effect,pure:"",trigger:"click",transition:"".concat(n.nsSelect.namespace.value,"-zoom-in-top"),"stop-popper-mouse-event":!1,"gpu-acceleration":!1,persistent:n.persistent,"append-to":n.appendTo,"show-arrow":n.showArrow,offset:n.offset,onBeforeShow:n.handleMenuEnter,onHide:re=>n.states.isBeforeHide=!1},{default:withCtx(()=>{var re;return[createBaseVNode("div",{ref:"wrapperRef",class:normalizeClass([n.nsSelect.e("wrapper"),n.nsSelect.is("focused",n.isFocused),n.nsSelect.is("hovering",n.states.inputHovering),n.nsSelect.is("filterable",n.filterable),n.nsSelect.is("disabled",n.selectDisabled)]),onClick:withModifiers(n.toggleMenu,["prevent"])},[n.$slots.prefix?(openBlock(),createElementBlock("div",{key:0,ref:"prefixRef",class:normalizeClass(n.nsSelect.e("prefix"))},[renderSlot(n.$slots,"prefix")],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{ref:"selectionRef",class:normalizeClass([n.nsSelect.e("selection"),n.nsSelect.is("near",n.multiple&&!n.$slots.prefix&&!!n.states.selected.length)])},[n.multiple?renderSlot(n.$slots,"tag",{key:0},()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.showTagList,ae=>(openBlock(),createElementBlock("div",{key:n.getValueKey(ae),class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(y,{closable:!n.selectDisabled&&!ae.isDisabled,size:n.collapseTagSize,type:n.tagType,effect:n.tagEffect,"disable-transitions":"",style:normalizeStyle(n.tagStyle),onClose:le=>n.deleteTag(le,ae)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(n.nsSelect.e("tags-text"))},[renderSlot(n.$slots,"label",{label:ae.currentLabel,value:ae.value},()=>[createTextVNode(toDisplayString(ae.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","style","onClose"])],2))),128)),n.collapseTags&&n.states.selected.length>n.maxCollapseTags?(openBlock(),createBlock(k,{key:0,ref:"tagTooltipRef",disabled:n.dropdownMenuVisible||!n.collapseTagsTooltip,"fallback-placements":["bottom","top","right","left"],effect:n.effect,placement:"bottom",teleported:n.teleported},{default:withCtx(()=>[createBaseVNode("div",{ref:"collapseItemRef",class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(y,{closable:!1,size:n.collapseTagSize,type:n.tagType,effect:n.tagEffect,"disable-transitions":"",style:normalizeStyle(n.collapseTagStyle)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(n.nsSelect.e("tags-text"))}," + "+toDisplayString(n.states.selected.length-n.maxCollapseTags),3)]),_:1},8,["size","type","effect","style"])],2)]),content:withCtx(()=>[createBaseVNode("div",{ref:"tagMenuRef",class:normalizeClass(n.nsSelect.e("selection"))},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.collapseTagList,ae=>(openBlock(),createElementBlock("div",{key:n.getValueKey(ae),class:normalizeClass(n.nsSelect.e("selected-item"))},[createVNode(y,{class:"in-tooltip",closable:!n.selectDisabled&&!ae.isDisabled,size:n.collapseTagSize,type:n.tagType,effect:n.tagEffect,"disable-transitions":"",onClose:le=>n.deleteTag(le,ae)},{default:withCtx(()=>[createBaseVNode("span",{class:normalizeClass(n.nsSelect.e("tags-text"))},[renderSlot(n.$slots,"label",{label:ae.currentLabel,value:ae.value},()=>[createTextVNode(toDisplayString(ae.currentLabel),1)])],2)]),_:2},1032,["closable","size","type","effect","onClose"])],2))),128))],2)]),_:3},8,["disabled","effect","teleported"])):createCommentVNode("v-if",!0)]):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass([n.nsSelect.e("selected-item"),n.nsSelect.e("input-wrapper"),n.nsSelect.is("hidden",!n.filterable)])},[withDirectives(createBaseVNode("input",{id:n.inputId,ref:"inputRef","onUpdate:modelValue":ae=>n.states.inputValue=ae,type:"text",name:n.name,class:normalizeClass([n.nsSelect.e("input"),n.nsSelect.is(n.selectSize)]),disabled:n.selectDisabled,autocomplete:n.autocomplete,style:normalizeStyle(n.inputStyle),tabindex:n.tabindex,role:"combobox",readonly:!n.filterable,spellcheck:"false","aria-activedescendant":((re=n.hoverOption)==null?void 0:re.id)||"","aria-controls":n.contentId,"aria-expanded":n.dropdownMenuVisible,"aria-label":n.ariaLabel,"aria-autocomplete":"none","aria-haspopup":"listbox",onKeydown:[withKeys(withModifiers(ae=>n.navigateOptions("next"),["stop","prevent"]),["down"]),withKeys(withModifiers(ae=>n.navigateOptions("prev"),["stop","prevent"]),["up"]),withKeys(withModifiers(n.handleEsc,["stop","prevent"]),["esc"]),withKeys(withModifiers(n.selectOption,["stop","prevent"]),["enter"]),withKeys(withModifiers(n.deletePrevTag,["stop"]),["delete"])],onCompositionstart:n.handleCompositionStart,onCompositionupdate:n.handleCompositionUpdate,onCompositionend:n.handleCompositionEnd,onInput:n.onInput,onClick:withModifiers(n.toggleMenu,["stop"])},null,46,["id","onUpdate:modelValue","name","disabled","autocomplete","tabindex","readonly","aria-activedescendant","aria-controls","aria-expanded","aria-label","onKeydown","onCompositionstart","onCompositionupdate","onCompositionend","onInput","onClick"]),[[vModelText,n.states.inputValue]]),n.filterable?(openBlock(),createElementBlock("span",{key:0,ref:"calculatorRef","aria-hidden":"true",class:normalizeClass(n.nsSelect.e("input-calculator")),textContent:toDisplayString(n.states.inputValue)},null,10,["textContent"])):createCommentVNode("v-if",!0)],2),n.shouldShowPlaceholder?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([n.nsSelect.e("selected-item"),n.nsSelect.e("placeholder"),n.nsSelect.is("transparent",!n.hasModelValue||n.expanded&&!n.states.inputValue)])},[n.hasModelValue?renderSlot(n.$slots,"label",{key:0,label:n.currentPlaceholder,value:n.modelValue},()=>[createBaseVNode("span",null,toDisplayString(n.currentPlaceholder),1)]):(openBlock(),createElementBlock("span",{key:1},toDisplayString(n.currentPlaceholder),1))],2)):createCommentVNode("v-if",!0)],2),createBaseVNode("div",{ref:"suffixRef",class:normalizeClass(n.nsSelect.e("suffix"))},[n.iconComponent&&!n.showClose?(openBlock(),createBlock(L,{key:0,class:normalizeClass([n.nsSelect.e("caret"),n.nsSelect.e("icon"),n.iconReverse])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),n.showClose&&n.clearIcon?(openBlock(),createBlock(L,{key:1,class:normalizeClass([n.nsSelect.e("caret"),n.nsSelect.e("icon"),n.nsSelect.e("clear")]),onClick:n.handleClearClick},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.clearIcon)))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0),n.validateState&&n.validateIcon&&n.needStatusIcon?(openBlock(),createBlock(L,{key:2,class:normalizeClass([n.nsInput.e("icon"),n.nsInput.e("validateIcon"),n.nsInput.is("loading",n.validateState==="validating")])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.validateIcon)))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2)],10,["onClick"])]}),content:withCtx(()=>[createVNode(ie,{ref:"menuRef"},{default:withCtx(()=>[n.$slots.header?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(n.nsSelect.be("dropdown","header")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(n.$slots,"header")],10,["onClick"])):createCommentVNode("v-if",!0),withDirectives(createVNode(j,{id:n.contentId,ref:"scrollbarRef",tag:"ul","wrap-class":n.nsSelect.be("dropdown","wrap"),"view-class":n.nsSelect.be("dropdown","list"),class:normalizeClass([n.nsSelect.is("empty",n.filteredOptionsCount===0)]),role:"listbox","aria-label":n.ariaLabel,"aria-orientation":"vertical"},{default:withCtx(()=>[n.showNewOption?(openBlock(),createBlock(V,{key:0,value:n.states.inputValue,created:!0},null,8,["value"])):createCommentVNode("v-if",!0),createVNode(z,null,{default:withCtx(()=>[renderSlot(n.$slots,"default")]),_:3})]),_:3},8,["id","wrap-class","view-class","class","aria-label"]),[[vShow,n.states.options.size>0&&!n.loading]]),n.$slots.loading&&n.loading?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(n.nsSelect.be("dropdown","loading"))},[renderSlot(n.$slots,"loading")],2)):n.loading||n.filteredOptionsCount===0?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(n.nsSelect.be("dropdown","empty"))},[renderSlot(n.$slots,"empty",{},()=>[createBaseVNode("span",null,toDisplayString(n.emptyText),1)])],2)):createCommentVNode("v-if",!0),n.$slots.footer?(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(n.nsSelect.be("dropdown","footer")),onClick:withModifiers(()=>{},["stop"])},[renderSlot(n.$slots,"footer")],10,["onClick"])):createCommentVNode("v-if",!0)]),_:3},512)]),_:3},8,["visible","placement","teleported","popper-class","popper-options","fallback-placements","effect","transition","persistent","append-to","show-arrow","offset","onBeforeShow","onHide"])],16,["onMouseleave"])),[[oe,n.handleClickOutside,n.popperRef]])}var Select=_export_sfc(_sfc_main$w,[["render",_sfc_render$8],["__file","select.vue"]]);const _sfc_main$v=defineComponent({name:"ElOptionGroup",componentName:"ElOptionGroup",props:{label:String,disabled:Boolean},setup(n){const e=useNamespace("select"),t=ref$1(null),i=getCurrentInstance$1(),r=ref$1([]);provide(selectGroupKey,reactive$1({...toRefs(n)}));const g=computed$1(()=>r.value.some(V=>V.visible===!0)),y=V=>{var z,j;return((z=V.type)==null?void 0:z.name)==="ElOption"&&!!((j=V.component)!=null&&j.proxy)},k=V=>{const z=castArray$1(V),j=[];return z.forEach(ie=>{var oe,re;y(ie)?j.push(ie.component.proxy):(oe=ie.children)!=null&&oe.length?j.push(...k(ie.children)):(re=ie.component)!=null&&re.subTree&&j.push(...k(ie.component.subTree))}),j},L=()=>{r.value=k(i.subTree)};return onMounted(()=>{L()}),useMutationObserver(t,L,{attributes:!0,subtree:!0,childList:!0}),{groupRef:t,visible:g,ns:e}}});function _sfc_render$7(n,e,t,i,r,g){return withDirectives((openBlock(),createElementBlock("ul",{ref:"groupRef",class:normalizeClass(n.ns.be("group","wrap"))},[createBaseVNode("li",{class:normalizeClass(n.ns.be("group","title"))},toDisplayString(n.label),3),createBaseVNode("li",null,[createBaseVNode("ul",{class:normalizeClass(n.ns.b("group"))},[renderSlot(n.$slots,"default")],2)])],2)),[[vShow,n.visible]])}var OptionGroup=_export_sfc(_sfc_main$v,[["render",_sfc_render$7],["__file","option-group.vue"]]);const ElSelect=withInstall(Select,{Option,OptionGroup}),ElOption=withNoopInstall(Option),ElOptionGroup=withNoopInstall(OptionGroup),usePagination=()=>inject(elPaginationKey,{}),paginationSizesProps=buildProps({pageSize:{type:Number,required:!0},pageSizes:{type:definePropType(Array),default:()=>mutable([10,20,30,40,50,100])},popperClass:{type:String},disabled:Boolean,teleported:Boolean,size:{type:String,values:componentSizes},appendSizeTo:String}),__default__$g=defineComponent({name:"ElPaginationSizes"}),_sfc_main$u=defineComponent({...__default__$g,props:paginationSizesProps,emits:["page-size-change"],setup(n,{emit:e}){const t=n,{t:i}=useLocale(),r=useNamespace("pagination"),g=usePagination(),y=ref$1(t.pageSize);watch(()=>t.pageSizes,(V,z)=>{if(!isEqual$1(V,z)&&isArray$2(V)){const j=V.includes(t.pageSize)?t.pageSize:t.pageSizes[0];e("page-size-change",j)}}),watch(()=>t.pageSize,V=>{y.value=V});const k=computed$1(()=>t.pageSizes);function L(V){var z;V!==y.value&&(y.value=V,(z=g.handleSizeChange)==null||z.call(g,Number(V)))}return(V,z)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(r).e("sizes"))},[createVNode(unref(ElSelect),{"model-value":y.value,disabled:V.disabled,"popper-class":V.popperClass,size:V.size,teleported:V.teleported,"validate-event":!1,"append-to":V.appendSizeTo,onChange:L},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(k),j=>(openBlock(),createBlock(unref(ElOption),{key:j,value:j,label:j+unref(i)("el.pagination.pagesize")},null,8,["value","label"]))),128))]),_:1},8,["model-value","disabled","popper-class","size","teleported","append-to"])],2))}});var Sizes=_export_sfc(_sfc_main$u,[["__file","sizes.vue"]]);const paginationJumperProps=buildProps({size:{type:String,values:componentSizes}}),__default__$f=defineComponent({name:"ElPaginationJumper"}),_sfc_main$t=defineComponent({...__default__$f,props:paginationJumperProps,setup(n){const{t:e}=useLocale(),t=useNamespace("pagination"),{pageCount:i,disabled:r,currentPage:g,changeEvent:y}=usePagination(),k=ref$1(),L=computed$1(()=>{var j;return(j=k.value)!=null?j:g==null?void 0:g.value});function V(j){k.value=j?+j:""}function z(j){j=Math.trunc(+j),y==null||y(j),k.value=void 0}return(j,ie)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(t).e("jump")),disabled:unref(r)},[createBaseVNode("span",{class:normalizeClass([unref(t).e("goto")])},toDisplayString(unref(e)("el.pagination.goto")),3),createVNode(unref(ElInput),{size:j.size,class:normalizeClass([unref(t).e("editor"),unref(t).is("in-pagination")]),min:1,max:unref(i),disabled:unref(r),"model-value":unref(L),"validate-event":!1,"aria-label":unref(e)("el.pagination.page"),type:"number","onUpdate:modelValue":V,onChange:z},null,8,["size","class","max","disabled","model-value","aria-label"]),createBaseVNode("span",{class:normalizeClass([unref(t).e("classifier")])},toDisplayString(unref(e)("el.pagination.pageClassifier")),3)],10,["disabled"]))}});var Jumper=_export_sfc(_sfc_main$t,[["__file","jumper.vue"]]);const paginationTotalProps=buildProps({total:{type:Number,default:1e3}}),__default__$e=defineComponent({name:"ElPaginationTotal"}),_sfc_main$s=defineComponent({...__default__$e,props:paginationTotalProps,setup(n){const{t:e}=useLocale(),t=useNamespace("pagination"),{disabled:i}=usePagination();return(r,g)=>(openBlock(),createElementBlock("span",{class:normalizeClass(unref(t).e("total")),disabled:unref(i)},toDisplayString(unref(e)("el.pagination.total",{total:r.total})),11,["disabled"]))}});var Total=_export_sfc(_sfc_main$s,[["__file","total.vue"]]);const paginationPagerProps=buildProps({currentPage:{type:Number,default:1},pageCount:{type:Number,required:!0},pagerCount:{type:Number,default:7},disabled:Boolean}),__default__$d=defineComponent({name:"ElPaginationPager"}),_sfc_main$r=defineComponent({...__default__$d,props:paginationPagerProps,emits:["change"],setup(n,{emit:e}){const t=n,i=useNamespace("pager"),r=useNamespace("icon"),{t:g}=useLocale(),y=ref$1(!1),k=ref$1(!1),L=ref$1(!1),V=ref$1(!1),z=ref$1(!1),j=ref$1(!1),ie=computed$1(()=>{const pe=t.pagerCount,Ce=(pe-1)/2,$e=Number(t.currentPage),xe=Number(t.pageCount);let Ie=!1,Ne=!1;xe>pe&&($e>pe-Ce&&(Ie=!0),$e["more","btn-quickprev",r.b(),i.is("disabled",t.disabled)]),re=computed$1(()=>["more","btn-quicknext",r.b(),i.is("disabled",t.disabled)]),ae=computed$1(()=>t.disabled?-1:0);watchEffect(()=>{const pe=(t.pagerCount-1)/2;y.value=!1,k.value=!1,t.pageCount>t.pagerCount&&(t.currentPage>t.pagerCount-pe&&(y.value=!0),t.currentPagexe&&($e=xe)),$e!==Ie&&e("change",$e)}return(pe,Ce)=>(openBlock(),createElementBlock("ul",{class:normalizeClass(unref(i).b()),onClick:he,onKeyup:withKeys(ue,["enter"])},[pe.pageCount>0?(openBlock(),createElementBlock("li",{key:0,class:normalizeClass([[unref(i).is("active",pe.currentPage===1),unref(i).is("disabled",pe.disabled)],"number"]),"aria-current":pe.currentPage===1,"aria-label":unref(g)("el.pagination.currentPage",{pager:1}),tabindex:unref(ae)}," 1 ",10,["aria-current","aria-label","tabindex"])):createCommentVNode("v-if",!0),y.value?(openBlock(),createElementBlock("li",{key:1,class:normalizeClass(unref(oe)),tabindex:unref(ae),"aria-label":unref(g)("el.pagination.prevPages",{pager:pe.pagerCount-2}),onMouseenter:$e=>le(!0),onMouseleave:$e=>L.value=!1,onFocus:$e=>de(!0),onBlur:$e=>z.value=!1},[(L.value||z.value)&&!pe.disabled?(openBlock(),createBlock(unref(d_arrow_left_default),{key:0})):(openBlock(),createBlock(unref(more_filled_default),{key:1}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):createCommentVNode("v-if",!0),(openBlock(!0),createElementBlock(Fragment,null,renderList(unref(ie),$e=>(openBlock(),createElementBlock("li",{key:$e,class:normalizeClass([[unref(i).is("active",pe.currentPage===$e),unref(i).is("disabled",pe.disabled)],"number"]),"aria-current":pe.currentPage===$e,"aria-label":unref(g)("el.pagination.currentPage",{pager:$e}),tabindex:unref(ae)},toDisplayString($e),11,["aria-current","aria-label","tabindex"]))),128)),k.value?(openBlock(),createElementBlock("li",{key:2,class:normalizeClass(unref(re)),tabindex:unref(ae),"aria-label":unref(g)("el.pagination.nextPages",{pager:pe.pagerCount-2}),onMouseenter:$e=>le(),onMouseleave:$e=>V.value=!1,onFocus:$e=>de(),onBlur:$e=>j.value=!1},[(V.value||j.value)&&!pe.disabled?(openBlock(),createBlock(unref(d_arrow_right_default),{key:0})):(openBlock(),createBlock(unref(more_filled_default),{key:1}))],42,["tabindex","aria-label","onMouseenter","onMouseleave","onFocus","onBlur"])):createCommentVNode("v-if",!0),pe.pageCount>1?(openBlock(),createElementBlock("li",{key:3,class:normalizeClass([[unref(i).is("active",pe.currentPage===pe.pageCount),unref(i).is("disabled",pe.disabled)],"number"]),"aria-current":pe.currentPage===pe.pageCount,"aria-label":unref(g)("el.pagination.currentPage",{pager:pe.pageCount}),tabindex:unref(ae)},toDisplayString(pe.pageCount),11,["aria-current","aria-label","tabindex"])):createCommentVNode("v-if",!0)],42,["onKeyup"]))}});var Pager=_export_sfc(_sfc_main$r,[["__file","pager.vue"]]);const isAbsent=n=>typeof n!="number",paginationProps=buildProps({pageSize:Number,defaultPageSize:Number,total:Number,pageCount:Number,pagerCount:{type:Number,validator:n=>isNumber(n)&&Math.trunc(n)===n&&n>4&&n<22&&n%2===1,default:7},currentPage:Number,defaultCurrentPage:Number,layout:{type:String,default:["prev","pager","next","jumper","->","total"].join(", ")},pageSizes:{type:definePropType(Array),default:()=>mutable([10,20,30,40,50,100])},popperClass:{type:String,default:""},prevText:{type:String,default:""},prevIcon:{type:iconPropType,default:()=>arrow_left_default},nextText:{type:String,default:""},nextIcon:{type:iconPropType,default:()=>arrow_right_default},teleported:{type:Boolean,default:!0},small:Boolean,size:useSizeProp,background:Boolean,disabled:Boolean,hideOnSinglePage:Boolean,appendSizeTo:String}),paginationEmits={"update:current-page":n=>isNumber(n),"update:page-size":n=>isNumber(n),"size-change":n=>isNumber(n),change:(n,e)=>isNumber(n)&&isNumber(e),"current-change":n=>isNumber(n),"prev-click":n=>isNumber(n),"next-click":n=>isNumber(n)},componentName="ElPagination";var Pagination=defineComponent({name:componentName,props:paginationProps,emits:paginationEmits,setup(n,{emit:e,slots:t}){const{t:i}=useLocale(),r=useNamespace("pagination"),g=getCurrentInstance$1().vnode.props||{},y=useGlobalSize(),k=computed$1(()=>{var Ce;return n.small?"small":(Ce=n.size)!=null?Ce:y.value});useDeprecated({from:"small",replacement:"size",version:"3.0.0",scope:"el-pagination",ref:"https://element-plus.org/zh-CN/component/pagination.html"},computed$1(()=>!!n.small));const L="onUpdate:currentPage"in g||"onUpdate:current-page"in g||"onCurrentChange"in g,V="onUpdate:pageSize"in g||"onUpdate:page-size"in g||"onSizeChange"in g,z=computed$1(()=>{if(isAbsent(n.total)&&isAbsent(n.pageCount)||!isAbsent(n.currentPage)&&!L)return!1;if(n.layout.includes("sizes")){if(isAbsent(n.pageCount)){if(!isAbsent(n.total)&&!isAbsent(n.pageSize)&&!V)return!1}else if(!V)return!1}return!0}),j=ref$1(isAbsent(n.defaultPageSize)?10:n.defaultPageSize),ie=ref$1(isAbsent(n.defaultCurrentPage)?1:n.defaultCurrentPage),oe=computed$1({get(){return isAbsent(n.pageSize)?j.value:n.pageSize},set(Ce){isAbsent(n.pageSize)&&(j.value=Ce),V&&(e("update:page-size",Ce),e("size-change",Ce))}}),re=computed$1(()=>{let Ce=0;return isAbsent(n.pageCount)?isAbsent(n.total)||(Ce=Math.max(1,Math.ceil(n.total/oe.value))):Ce=n.pageCount,Ce}),ae=computed$1({get(){return isAbsent(n.currentPage)?ie.value:n.currentPage},set(Ce){let $e=Ce;Ce<1?$e=1:Ce>re.value&&($e=re.value),isAbsent(n.currentPage)&&(ie.value=$e),L&&(e("update:current-page",$e),e("current-change",$e))}});watch(re,Ce=>{ae.value>Ce&&(ae.value=Ce)}),watch([ae,oe],Ce=>{e("change",...Ce)},{flush:"post"});function le(Ce){ae.value=Ce}function de(Ce){oe.value=Ce;const $e=re.value;ae.value>$e&&(ae.value=$e)}function ue(){n.disabled||(ae.value-=1,e("prev-click",ae.value))}function he(){n.disabled||(ae.value+=1,e("next-click",ae.value))}function pe(Ce,$e){Ce&&(Ce.props||(Ce.props={}),Ce.props.class=[Ce.props.class,$e].join(" "))}return provide(elPaginationKey,{pageCount:re,disabled:computed$1(()=>n.disabled),currentPage:ae,changeEvent:le,handleSizeChange:de}),()=>{var Ce,$e;if(!z.value)return i("el.pagination.deprecationWarning"),null;if(!n.layout||n.hideOnSinglePage&&re.value<=1)return null;const xe=[],Ie=[],Ne=h$3("div",{class:r.e("rightwrapper")},Ie),Fe={prev:h$3(Prev,{disabled:n.disabled,currentPage:ae.value,prevText:n.prevText,prevIcon:n.prevIcon,onClick:ue}),jumper:h$3(Jumper,{size:k.value}),pager:h$3(Pager,{currentPage:ae.value,pageCount:re.value,pagerCount:n.pagerCount,onChange:le,disabled:n.disabled}),next:h$3(Next,{disabled:n.disabled,currentPage:ae.value,pageCount:re.value,nextText:n.nextText,nextIcon:n.nextIcon,onClick:he}),sizes:h$3(Sizes,{pageSize:oe.value,pageSizes:n.pageSizes,popperClass:n.popperClass,disabled:n.disabled,teleported:n.teleported,size:k.value,appendSizeTo:n.appendSizeTo}),slot:($e=(Ce=t==null?void 0:t.default)==null?void 0:Ce.call(t))!=null?$e:null,total:h$3(Total,{total:isAbsent(n.total)?0:n.total})},Ve=n.layout.split(",").map(ze=>ze.trim());let Oe=!1;return Ve.forEach(ze=>{if(ze==="->"){Oe=!0;return}Oe?Ie.push(Fe[ze]):xe.push(Fe[ze])}),pe(xe[0],r.is("first")),pe(xe[xe.length-1],r.is("last")),Oe&&Ie.length>0&&(pe(Ie[0],r.is("first")),pe(Ie[Ie.length-1],r.is("last")),xe.push(Ne)),h$3("div",{class:[r.b(),r.is("background",n.background),r.m(k.value)]},xe)}}});const ElPagination=withInstall(Pagination),progressProps=buildProps({type:{type:String,default:"line",values:["line","circle","dashboard"]},percentage:{type:Number,default:0,validator:n=>n>=0&&n<=100},status:{type:String,default:"",values:["","success","exception","warning"]},indeterminate:Boolean,duration:{type:Number,default:3},strokeWidth:{type:Number,default:6},strokeLinecap:{type:definePropType(String),default:"round"},textInside:Boolean,width:{type:Number,default:126},showText:{type:Boolean,default:!0},color:{type:definePropType([String,Array,Function]),default:""},striped:Boolean,stripedFlow:Boolean,format:{type:definePropType(Function),default:n=>"".concat(n,"%")}}),__default__$c=defineComponent({name:"ElProgress"}),_sfc_main$q=defineComponent({...__default__$c,props:progressProps,setup(n){const e=n,t={success:"#13ce66",exception:"#ff4949",warning:"#e6a23c",default:"#20a0ff"},i=useNamespace("progress"),r=computed$1(()=>{const he={width:"".concat(e.percentage,"%"),animationDuration:"".concat(e.duration,"s")},pe=ue(e.percentage);return pe.includes("gradient")?he.background=pe:he.backgroundColor=pe,he}),g=computed$1(()=>(e.strokeWidth/e.width*100).toFixed(1)),y=computed$1(()=>["circle","dashboard"].includes(e.type)?Number.parseInt("".concat(50-Number.parseFloat(g.value)/2),10):0),k=computed$1(()=>{const he=y.value,pe=e.type==="dashboard";return"\n M 50 50\n m 0 ".concat(pe?"":"-").concat(he,"\n a ").concat(he," ").concat(he," 0 1 1 0 ").concat(pe?"-":"").concat(he*2,"\n a ").concat(he," ").concat(he," 0 1 1 0 ").concat(pe?"":"-").concat(he*2,"\n ")}),L=computed$1(()=>2*Math.PI*y.value),V=computed$1(()=>e.type==="dashboard"?.75:1),z=computed$1(()=>{const he=-1*L.value*(1-V.value)/2;return"".concat(he,"px")}),j=computed$1(()=>({strokeDasharray:"".concat(L.value*V.value,"px, ").concat(L.value,"px"),strokeDashoffset:z.value})),ie=computed$1(()=>({strokeDasharray:"".concat(L.value*V.value*(e.percentage/100),"px, ").concat(L.value,"px"),strokeDashoffset:z.value,transition:"stroke-dasharray 0.6s ease 0s, stroke 0.6s ease, opacity ease 0.6s"})),oe=computed$1(()=>{let he;return e.color?he=ue(e.percentage):he=t[e.status]||t.default,he}),re=computed$1(()=>e.status==="warning"?warning_filled_default:e.type==="line"?e.status==="success"?circle_check_default:circle_close_default:e.status==="success"?check_default:close_default),ae=computed$1(()=>e.type==="line"?12+e.strokeWidth*.4:e.width*.111111+2),le=computed$1(()=>e.format(e.percentage));function de(he){const pe=100/he.length;return he.map(($e,xe)=>isString$5($e)?{color:$e,percentage:(xe+1)*pe}:$e).sort(($e,xe)=>$e.percentage-xe.percentage)}const ue=he=>{var pe;const{color:Ce}=e;if(isFunction$4(Ce))return Ce(he);if(isString$5(Ce))return Ce;{const $e=de(Ce);for(const xe of $e)if(xe.percentage>he)return xe.color;return(pe=$e[$e.length-1])==null?void 0:pe.color}};return(he,pe)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).m(he.type),unref(i).is(he.status),{[unref(i).m("without-text")]:!he.showText,[unref(i).m("text-inside")]:he.textInside}]),role:"progressbar","aria-valuenow":he.percentage,"aria-valuemin":"0","aria-valuemax":"100"},[he.type==="line"?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(i).b("bar"))},[createBaseVNode("div",{class:normalizeClass(unref(i).be("bar","outer")),style:normalizeStyle({height:"".concat(he.strokeWidth,"px")})},[createBaseVNode("div",{class:normalizeClass([unref(i).be("bar","inner"),{[unref(i).bem("bar","inner","indeterminate")]:he.indeterminate},{[unref(i).bem("bar","inner","striped")]:he.striped},{[unref(i).bem("bar","inner","striped-flow")]:he.stripedFlow}]),style:normalizeStyle(unref(r))},[(he.showText||he.$slots.default)&&he.textInside?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(i).be("bar","innerText"))},[renderSlot(he.$slots,"default",{percentage:he.percentage},()=>[createBaseVNode("span",null,toDisplayString(unref(le)),1)])],2)):createCommentVNode("v-if",!0)],6)],6)],2)):(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(i).b("circle")),style:normalizeStyle({height:"".concat(he.width,"px"),width:"".concat(he.width,"px")})},[(openBlock(),createElementBlock("svg",{viewBox:"0 0 100 100"},[createBaseVNode("path",{class:normalizeClass(unref(i).be("circle","track")),d:unref(k),stroke:"var(".concat(unref(i).cssVarName("fill-color-light"),", #e5e9f2)"),"stroke-linecap":he.strokeLinecap,"stroke-width":unref(g),fill:"none",style:normalizeStyle(unref(j))},null,14,["d","stroke","stroke-linecap","stroke-width"]),createBaseVNode("path",{class:normalizeClass(unref(i).be("circle","path")),d:unref(k),stroke:unref(oe),fill:"none",opacity:he.percentage?1:0,"stroke-linecap":he.strokeLinecap,"stroke-width":unref(g),style:normalizeStyle(unref(ie))},null,14,["d","stroke","opacity","stroke-linecap","stroke-width"])]))],6)),(he.showText||he.$slots.default)&&!he.textInside?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(unref(i).e("text")),style:normalizeStyle({fontSize:"".concat(unref(ae),"px")})},[renderSlot(he.$slots,"default",{percentage:he.percentage},()=>[he.status?(openBlock(),createBlock(unref(ElIcon),{key:1},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(re))))]),_:1})):(openBlock(),createElementBlock("span",{key:0},toDisplayString(unref(le)),1))])],6)):createCommentVNode("v-if",!0)],10,["aria-valuenow"]))}});var Progress=_export_sfc(_sfc_main$q,[["__file","progress.vue"]]);const ElProgress=withInstall(Progress),RowJustify=["start","center","end","space-around","space-between","space-evenly"],RowAlign=["top","middle","bottom"],rowProps=buildProps({tag:{type:String,default:"div"},gutter:{type:Number,default:0},justify:{type:String,values:RowJustify,default:"start"},align:{type:String,values:RowAlign}}),__default__$b=defineComponent({name:"ElRow"}),_sfc_main$p=defineComponent({...__default__$b,props:rowProps,setup(n){const e=n,t=useNamespace("row"),i=computed$1(()=>e.gutter);provide(rowContextKey,{gutter:i});const r=computed$1(()=>{const y={};return e.gutter&&(y.marginRight=y.marginLeft="-".concat(e.gutter/2,"px")),y}),g=computed$1(()=>[t.b(),t.is("justify-".concat(e.justify),e.justify!=="start"),t.is("align-".concat(e.align),!!e.align)]);return(y,k)=>(openBlock(),createBlock(resolveDynamicComponent(y.tag),{class:normalizeClass(unref(g)),style:normalizeStyle(unref(r))},{default:withCtx(()=>[renderSlot(y.$slots,"default")]),_:3},8,["class","style"]))}});var Row=_export_sfc(_sfc_main$p,[["__file","row.vue"]]);const ElRow=withInstall(Row),stepsProps=buildProps({space:{type:[Number,String],default:""},active:{type:Number,default:0},direction:{type:String,default:"horizontal",values:["horizontal","vertical"]},alignCenter:{type:Boolean},simple:{type:Boolean},finishStatus:{type:String,values:["wait","process","finish","error","success"],default:"finish"},processStatus:{type:String,values:["wait","process","finish","error","success"],default:"process"}}),stepsEmits={[CHANGE_EVENT]:(n,e)=>[n,e].every(isNumber)},__default__$a=defineComponent({name:"ElSteps"}),_sfc_main$o=defineComponent({...__default__$a,props:stepsProps,emits:stepsEmits,setup(n,{emit:e}){const t=n,i=useNamespace("steps"),{children:r,addChild:g,removeChild:y}=useOrderedChildren(getCurrentInstance$1(),"ElStep");return watch(r,()=>{r.value.forEach((k,L)=>{k.setIndex(L)})}),provide("ElSteps",{props:t,steps:r,addStep:g,removeStep:y}),watch(()=>t.active,(k,L)=>{e(CHANGE_EVENT,k,L)}),(k,L)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).m(k.simple?"simple":k.direction)])},[renderSlot(k.$slots,"default")],2))}});var Steps=_export_sfc(_sfc_main$o,[["__file","steps.vue"]]);const stepProps=buildProps({title:{type:String,default:""},icon:{type:iconPropType},description:{type:String,default:""},status:{type:String,values:["","wait","process","finish","error","success"],default:""}}),__default__$9=defineComponent({name:"ElStep"}),_sfc_main$n=defineComponent({...__default__$9,props:stepProps,setup(n){const e=n,t=useNamespace("step"),i=ref$1(-1),r=ref$1({}),g=ref$1(""),y=inject("ElSteps"),k=getCurrentInstance$1();onMounted(()=>{watch([()=>y.props.active,()=>y.props.processStatus,()=>y.props.finishStatus],([$e])=>{pe($e)},{immediate:!0})}),onBeforeUnmount(()=>{y.removeStep(Ce.uid)});const L=computed$1(()=>e.status||g.value),V=computed$1(()=>{const $e=y.steps.value[i.value-1];return $e?$e.currentStatus:"wait"}),z=computed$1(()=>y.props.alignCenter),j=computed$1(()=>y.props.direction==="vertical"),ie=computed$1(()=>y.props.simple),oe=computed$1(()=>y.steps.value.length),re=computed$1(()=>{var $e;return(($e=y.steps.value[oe.value-1])==null?void 0:$e.uid)===(k==null?void 0:k.uid)}),ae=computed$1(()=>ie.value?"":y.props.space),le=computed$1(()=>[t.b(),t.is(ie.value?"simple":y.props.direction),t.is("flex",re.value&&!ae.value&&!z.value),t.is("center",z.value&&!j.value&&!ie.value)]),de=computed$1(()=>{const $e={flexBasis:isNumber(ae.value)?"".concat(ae.value,"px"):ae.value?ae.value:"".concat(100/(oe.value-(z.value?0:1)),"%")};return j.value||re.value&&($e.maxWidth="".concat(100/oe.value,"%")),$e}),ue=$e=>{i.value=$e},he=$e=>{const xe=$e==="wait",Ie={transitionDelay:"".concat(xe?"-":"").concat(150*i.value,"ms")},Ne=$e===y.props.processStatus||xe?0:100;Ie.borderWidth=Ne&&!ie.value?"1px":0,Ie[y.props.direction==="vertical"?"height":"width"]="".concat(Ne,"%"),r.value=Ie},pe=$e=>{$e>i.value?g.value=y.props.finishStatus:$e===i.value&&V.value!=="error"?g.value=y.props.processStatus:g.value="wait";const xe=y.steps.value[i.value-1];xe&&xe.calcProgress(g.value)},Ce=reactive$1({uid:k.uid,currentStatus:L,setIndex:ue,calcProgress:he});return y.addStep(Ce),($e,xe)=>(openBlock(),createElementBlock("div",{style:normalizeStyle(unref(de)),class:normalizeClass(unref(le))},[createCommentVNode(" icon & line "),createBaseVNode("div",{class:normalizeClass([unref(t).e("head"),unref(t).is(unref(L))])},[unref(ie)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(t).e("line"))},[createBaseVNode("i",{class:normalizeClass(unref(t).e("line-inner")),style:normalizeStyle(r.value)},null,6)],2)),createBaseVNode("div",{class:normalizeClass([unref(t).e("icon"),unref(t).is($e.icon||$e.$slots.icon?"icon":"text")])},[renderSlot($e.$slots,"icon",{},()=>[$e.icon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(t).e("icon-inner"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent($e.icon)))]),_:1},8,["class"])):unref(L)==="success"?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(t).e("icon-inner"),unref(t).is("status")])},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):unref(L)==="error"?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass([unref(t).e("icon-inner"),unref(t).is("status")])},{default:withCtx(()=>[createVNode(unref(close_default))]),_:1},8,["class"])):unref(ie)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("div",{key:3,class:normalizeClass(unref(t).e("icon-inner"))},toDisplayString(i.value+1),3))])],2)],2),createCommentVNode(" title & description "),createBaseVNode("div",{class:normalizeClass(unref(t).e("main"))},[createBaseVNode("div",{class:normalizeClass([unref(t).e("title"),unref(t).is(unref(L))])},[renderSlot($e.$slots,"title",{},()=>[createTextVNode(toDisplayString($e.title),1)])],2),unref(ie)?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(t).e("arrow"))},null,2)):(openBlock(),createElementBlock("div",{key:1,class:normalizeClass([unref(t).e("description"),unref(t).is(unref(L))])},[renderSlot($e.$slots,"description",{},()=>[createTextVNode(toDisplayString($e.description),1)])],2))],2)],6))}});var Step=_export_sfc(_sfc_main$n,[["__file","item.vue"]]);const ElSteps=withInstall(Steps,{Step}),ElStep=withNoopInstall(Step),isValidComponentSize=n=>["",...componentSizes].includes(n),switchProps=buildProps({modelValue:{type:[Boolean,String,Number],default:!1},disabled:Boolean,loading:Boolean,size:{type:String,validator:isValidComponentSize},width:{type:[String,Number],default:""},inlinePrompt:Boolean,inactiveActionIcon:{type:iconPropType},activeActionIcon:{type:iconPropType},activeIcon:{type:iconPropType},inactiveIcon:{type:iconPropType},activeText:{type:String,default:""},inactiveText:{type:String,default:""},activeValue:{type:[Boolean,String,Number],default:!0},inactiveValue:{type:[Boolean,String,Number],default:!1},name:{type:String,default:""},validateEvent:{type:Boolean,default:!0},beforeChange:{type:definePropType(Function)},id:String,tabindex:{type:[String,Number]},...useAriaProps(["ariaLabel"])}),switchEmits={[UPDATE_MODEL_EVENT]:n=>isBoolean(n)||isString$5(n)||isNumber(n),[CHANGE_EVENT]:n=>isBoolean(n)||isString$5(n)||isNumber(n),[INPUT_EVENT]:n=>isBoolean(n)||isString$5(n)||isNumber(n)},COMPONENT_NAME$4="ElSwitch",__default__$8=defineComponent({name:COMPONENT_NAME$4}),_sfc_main$m=defineComponent({...__default__$8,props:switchProps,emits:switchEmits,setup(n,{expose:e,emit:t}){const i=n,{formItem:r}=useFormItem(),g=useFormSize(),y=useNamespace("switch"),{inputId:k}=useFormItemInputId(i,{formItemContext:r}),L=useFormDisabled(computed$1(()=>i.loading)),V=ref$1(i.modelValue!==!1),z=ref$1(),j=ref$1(),ie=computed$1(()=>[y.b(),y.m(g.value),y.is("disabled",L.value),y.is("checked",de.value)]),oe=computed$1(()=>[y.e("label"),y.em("label","left"),y.is("active",!de.value)]),re=computed$1(()=>[y.e("label"),y.em("label","right"),y.is("active",de.value)]),ae=computed$1(()=>({width:addUnit(i.width)}));watch(()=>i.modelValue,()=>{V.value=!0});const le=computed$1(()=>V.value?i.modelValue:!1),de=computed$1(()=>le.value===i.activeValue);[i.activeValue,i.inactiveValue].includes(le.value)||(t(UPDATE_MODEL_EVENT,i.inactiveValue),t(CHANGE_EVENT,i.inactiveValue),t(INPUT_EVENT,i.inactiveValue)),watch(de,Ce=>{var $e;z.value.checked=Ce,i.validateEvent&&(($e=r==null?void 0:r.validate)==null||$e.call(r,"change").catch(xe=>void 0))});const ue=()=>{const Ce=de.value?i.inactiveValue:i.activeValue;t(UPDATE_MODEL_EVENT,Ce),t(CHANGE_EVENT,Ce),t(INPUT_EVENT,Ce),nextTick(()=>{z.value.checked=de.value})},he=()=>{if(L.value)return;const{beforeChange:Ce}=i;if(!Ce){ue();return}const $e=Ce();[isPromise($e),isBoolean($e)].includes(!0)||throwError(COMPONENT_NAME$4,"beforeChange must return type `Promise` or `boolean`"),isPromise($e)?$e.then(Ie=>{Ie&&ue()}).catch(Ie=>{}):$e&&ue()},pe=()=>{var Ce,$e;($e=(Ce=z.value)==null?void 0:Ce.focus)==null||$e.call(Ce)};return onMounted(()=>{z.value.checked=de.value}),e({focus:pe,checked:de}),(Ce,$e)=>(openBlock(),createElementBlock("div",{class:normalizeClass(unref(ie)),onClick:withModifiers(he,["prevent"])},[createBaseVNode("input",{id:unref(k),ref_key:"input",ref:z,class:normalizeClass(unref(y).e("input")),type:"checkbox",role:"switch","aria-checked":unref(de),"aria-disabled":unref(L),"aria-label":Ce.ariaLabel,name:Ce.name,"true-value":Ce.activeValue,"false-value":Ce.inactiveValue,disabled:unref(L),tabindex:Ce.tabindex,onChange:ue,onKeydown:withKeys(he,["enter"])},null,42,["id","aria-checked","aria-disabled","aria-label","name","true-value","false-value","disabled","tabindex","onKeydown"]),!Ce.inlinePrompt&&(Ce.inactiveIcon||Ce.inactiveText)?(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(oe))},[Ce.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(Ce.inactiveIcon)))]),_:1})):createCommentVNode("v-if",!0),!Ce.inactiveIcon&&Ce.inactiveText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":unref(de)},toDisplayString(Ce.inactiveText),9,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("span",{ref_key:"core",ref:j,class:normalizeClass(unref(y).e("core")),style:normalizeStyle(unref(ae))},[Ce.inlinePrompt?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(unref(y).e("inner"))},[Ce.activeIcon||Ce.inactiveIcon?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(y).is("icon"))},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(de)?Ce.activeIcon:Ce.inactiveIcon)))]),_:1},8,["class"])):Ce.activeText||Ce.inactiveText?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(y).is("text")),"aria-hidden":!unref(de)},toDisplayString(unref(de)?Ce.activeText:Ce.inactiveText),11,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{class:normalizeClass(unref(y).e("action"))},[Ce.loading?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass(unref(y).is("loading"))},{default:withCtx(()=>[createVNode(unref(loading_default))]),_:1},8,["class"])):unref(de)?renderSlot(Ce.$slots,"active-action",{key:1},()=>[Ce.activeActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(Ce.activeActionIcon)))]),_:1})):createCommentVNode("v-if",!0)]):unref(de)?createCommentVNode("v-if",!0):renderSlot(Ce.$slots,"inactive-action",{key:2},()=>[Ce.inactiveActionIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(Ce.inactiveActionIcon)))]),_:1})):createCommentVNode("v-if",!0)])],2)],6),!Ce.inlinePrompt&&(Ce.activeIcon||Ce.activeText)?(openBlock(),createElementBlock("span",{key:1,class:normalizeClass(unref(re))},[Ce.activeIcon?(openBlock(),createBlock(unref(ElIcon),{key:0},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(Ce.activeIcon)))]),_:1})):createCommentVNode("v-if",!0),!Ce.activeIcon&&Ce.activeText?(openBlock(),createElementBlock("span",{key:1,"aria-hidden":!unref(de)},toDisplayString(Ce.activeText),9,["aria-hidden"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0)],10,["onClick"]))}});var Switch=_export_sfc(_sfc_main$m,[["__file","switch.vue"]]);const ElSwitch=withInstall(Switch),getCell=function(n){var e;return(e=n.target)==null?void 0:e.closest("td")},orderBy=function(n,e,t,i,r){if(!e&&!i&&(!r||isArray$2(r)&&!r.length))return n;isString$5(t)?t=t==="descending"?-1:1:t=t&&t<0?-1:1;const g=i?null:function(k,L){return r?(isArray$2(r)||(r=[r]),r.map(V=>isString$5(V)?get(k,V):V(k,L,n))):(e!=="$key"&&isObject$4(k)&&"$value"in k&&(k=k.$value),[isObject$4(k)?get(k,e):k])},y=function(k,L){if(i)return i(k.value,L.value);for(let V=0,z=k.key.length;VL.key[V])return 1}return 0};return n.map((k,L)=>({value:k,index:L,key:g?g(k,L):null})).sort((k,L)=>{let V=y(k,L);return V||(V=k.index-L.index),V*+t}).map(k=>k.value)},getColumnById=function(n,e){let t=null;return n.columns.forEach(i=>{i.id===e&&(t=i)}),t},getColumnByKey=function(n,e){let t=null;for(let i=0;i{if(!n)throw new Error("Row is required when get row identity");if(isString$5(e)){if(!e.includes("."))return"".concat(n[e]);const t=e.split(".");let i=n;for(const r of t)i=i[r];return"".concat(i)}else if(isFunction$4(e))return e.call(null,n)},getKeysMap=function(n,e){const t={};return(n||[]).forEach((i,r)=>{t[getRowIdentity(i,e)]={row:i,index:r}}),t};function mergeOptions$1(n,e){const t={};let i;for(i in n)t[i]=n[i];for(i in e)if(hasOwn(e,i)){const r=e[i];isUndefined(r)||(t[i]=r)}return t}function parseWidth(n){return n===""||isUndefined(n)||(n=Number.parseInt(n,10),Number.isNaN(n)&&(n="")),n}function parseMinWidth(n){return n===""||isUndefined(n)||(n=parseWidth(n),Number.isNaN(n)&&(n=80)),n}function parseHeight(n){return isNumber(n)?n:isString$5(n)?/^\d+(?:px)?$/.test(n)?Number.parseInt(n,10):n:null}function compose(...n){return n.length===0?e=>e:n.length===1?n[0]:n.reduce((e,t)=>(...i)=>e(t(...i)))}function toggleRowStatus(n,e,t,i,r,g){let y=g!=null?g:0,k=!1;const L=n.indexOf(e),V=L!==-1,z=r==null?void 0:r.call(null,e,g),j=oe=>{oe==="add"?n.push(e):n.splice(L,1),k=!0},ie=oe=>{let re=0;const ae=(i==null?void 0:i.children)&&oe[i.children];return ae&&isArray$2(ae)&&(re+=ae.length,ae.forEach(le=>{re+=ie(le)})),re};return(!r||z)&&(isBoolean(t)?t&&!V?j("add"):!t&&V&&j("remove"):j(V?"remove":"add")),!(i!=null&&i.checkStrictly)&&(i!=null&&i.children)&&isArray$2(e[i.children])&&e[i.children].forEach(oe=>{toggleRowStatus(n,oe,t!=null?t:!V,i,r,y+1),y+=ie(oe)+1}),k}function walkTreeNode(n,e,t="children",i="hasChildren"){const r=y=>!(isArray$2(y)&&y.length);function g(y,k,L){e(y,k,L),k.forEach(V=>{if(V[i]){e(V,null,L+1);return}const z=V[t];r(z)||g(V,z,L+1)})}n.forEach(y=>{if(y[i]){e(y,null,0);return}const k=y[t];r(k)||g(y,k,0)})}const getTableOverflowTooltipProps=(n,e)=>({content:e,...n,popperOptions:{strategy:"fixed",...n.popperOptions}});let removePopper=null;function createTablePopper(n,e,t,i){if((removePopper==null?void 0:removePopper.trigger)===t){merge$1(removePopper.vm.component.props,getTableOverflowTooltipProps(n,e));return}removePopper==null||removePopper();const r=i==null?void 0:i.refs.tableWrapper,g=r==null?void 0:r.dataset.prefix,y=createVNode(ElTooltip,{virtualTriggering:!0,virtualRef:t,appendTo:r,placement:"top",transition:"none",offset:0,hideAfter:0,...getTableOverflowTooltipProps(n,e)});y.appContext={...i.appContext,...i};const k=document.createElement("div");render(y,k),y.component.exposed.onOpen();const L=r==null?void 0:r.querySelector(".".concat(g,"-scrollbar__wrap"));removePopper=()=>{render(null,k),L==null||L.removeEventListener("scroll",removePopper),removePopper=null},removePopper.trigger=t,removePopper.vm=y,L==null||L.addEventListener("scroll",removePopper)}function getCurrentColumns(n){return n.children?flatMap(n.children,getCurrentColumns):[n]}function getColSpan(n,e){return n+e.colSpan}const isFixedColumn=(n,e,t,i)=>{let r=0,g=n;const y=t.states.columns.value;if(i){const L=getCurrentColumns(i[n]);r=y.slice(0,y.indexOf(L[0])).reduce(getColSpan,0),g=r+L.reduce(getColSpan,0)-1}else r=n;let k;switch(e){case"left":g=y.length-t.states.rightFixedLeafColumnsLength.value&&(k="right");break;default:g=y.length-t.states.rightFixedLeafColumnsLength.value&&(k="right")}return k?{direction:k,start:r,after:g}:{}},getFixedColumnsClass=(n,e,t,i,r,g=0)=>{const y=[],{direction:k,start:L,after:V}=isFixedColumn(e,t,i,r);if(k){const z=k==="left";y.push("".concat(n,"-fixed-column--").concat(k)),z&&V+g===i.states.fixedLeafColumnsLength.value-1?y.push("is-last-column"):!z&&L-g===i.states.columns.value.length-i.states.rightFixedLeafColumnsLength.value&&y.push("is-first-column")}return y};function getOffset(n,e){return n+(isNull(e.realWidth)||Number.isNaN(e.realWidth)?Number(e.width):e.realWidth)}const getFixedColumnOffset=(n,e,t,i)=>{const{direction:r,start:g=0,after:y=0}=isFixedColumn(n,e,t,i);if(!r)return;const k={},L=r==="left",V=t.states.columns.value;return L?k.left=V.slice(0,g).reduce(getOffset,0):k.right=V.slice(y+1).reverse().reduce(getOffset,0),k},ensurePosition=(n,e)=>{n&&(Number.isNaN(n[e])||(n[e]="".concat(n[e],"px")))};function useExpand(n){const e=getCurrentInstance$1(),t=ref$1(!1),i=ref$1([]);return{updateExpandRows:()=>{const L=n.data.value||[],V=n.rowKey.value;if(t.value)i.value=L.slice();else if(V){const z=getKeysMap(i.value,V);i.value=L.reduce((j,ie)=>{const oe=getRowIdentity(ie,V);return z[oe]&&j.push(ie),j},[])}else i.value=[]},toggleRowExpansion:(L,V)=>{toggleRowStatus(i.value,L,V)&&e.emit("expand-change",L,i.value.slice())},setExpandRowKeys:L=>{e.store.assertRowKey();const V=n.data.value||[],z=n.rowKey.value,j=getKeysMap(V,z);i.value=L.reduce((ie,oe)=>{const re=j[oe];return re&&ie.push(re.row),ie},[])},isRowExpanded:L=>{const V=n.rowKey.value;return V?!!getKeysMap(i.value,V)[getRowIdentity(L,V)]:i.value.includes(L)},states:{expandRows:i,defaultExpandAll:t}}}function useCurrent(n){const e=getCurrentInstance$1(),t=ref$1(null),i=ref$1(null),r=V=>{e.store.assertRowKey(),t.value=V,y(V)},g=()=>{t.value=null},y=V=>{const{data:z,rowKey:j}=n;let ie=null;j.value&&(ie=(unref(z)||[]).find(oe=>getRowIdentity(oe,j.value)===V)),i.value=ie,e.emit("current-change",i.value,null)};return{setCurrentRowKey:r,restoreCurrentRowKey:g,setCurrentRowByKey:y,updateCurrentRow:V=>{const z=i.value;if(V&&V!==z){i.value=V,e.emit("current-change",i.value,z);return}!V&&z&&(i.value=null,e.emit("current-change",null,z))},updateCurrentRowData:()=>{const V=n.rowKey.value,z=n.data.value||[],j=i.value;if(!z.includes(j)&&j){if(V){const ie=getRowIdentity(j,V);y(ie)}else i.value=null;isNull(i.value)&&e.emit("current-change",null,j)}else t.value&&(y(t.value),g())},states:{_currentRowKey:t,currentRow:i}}}function useTree(n){const e=ref$1([]),t=ref$1({}),i=ref$1(16),r=ref$1(!1),g=ref$1({}),y=ref$1("hasChildren"),k=ref$1("children"),L=ref$1(!1),V=getCurrentInstance$1(),z=computed$1(()=>{if(!n.rowKey.value)return{};const he=n.data.value||[];return ie(he)}),j=computed$1(()=>{const he=n.rowKey.value,pe=Object.keys(g.value),Ce={};return pe.length&&pe.forEach($e=>{if(g.value[$e].length){const xe={children:[]};g.value[$e].forEach(Ie=>{const Ne=getRowIdentity(Ie,he);xe.children.push(Ne),Ie[y.value]&&!Ce[Ne]&&(Ce[Ne]={children:[]})}),Ce[$e]=xe}}),Ce}),ie=he=>{const pe=n.rowKey.value,Ce={};return walkTreeNode(he,($e,xe,Ie)=>{const Ne=getRowIdentity($e,pe);isArray$2(xe)?Ce[Ne]={children:xe.map(Fe=>getRowIdentity(Fe,pe)),level:Ie}:r.value&&(Ce[Ne]={children:[],lazy:!0,level:Ie})},k.value,y.value),Ce},oe=(he=!1,pe=(Ce=>(Ce=V.store)==null?void 0:Ce.states.defaultExpandAll.value)())=>{var Ce;const $e=z.value,xe=j.value,Ie=Object.keys($e),Ne={};if(Ie.length){const Fe=unref(t),Ve=[],Oe=(qe,Ue)=>{if(he)return e.value?pe||e.value.includes(Ue):!!(pe||qe!=null&&qe.expanded);{const Et=pe||e.value&&e.value.includes(Ue);return!!(qe!=null&&qe.expanded||Et)}};Ie.forEach(qe=>{const Ue=Fe[qe],Et={...$e[qe]};if(Et.expanded=Oe(Ue,qe),Et.lazy){const{loaded:At=!1,loading:Lt=!1}=Ue||{};Et.loaded=!!At,Et.loading=!!Lt,Ve.push(qe)}Ne[qe]=Et});const ze=Object.keys(xe);r.value&&ze.length&&Ve.length&&ze.forEach(qe=>{const Ue=Fe[qe],Et=xe[qe].children;if(Ve.includes(qe)){if(Ne[qe].children.length!==0)throw new Error("[ElTable]children must be an empty array.");Ne[qe].children=Et}else{const{loaded:At=!1,loading:Lt=!1}=Ue||{};Ne[qe]={lazy:!0,loaded:!!At,loading:!!Lt,expanded:Oe(Ue,qe),children:Et,level:""}}})}t.value=Ne,(Ce=V.store)==null||Ce.updateTableScrollY()};watch(()=>e.value,()=>{oe(!0)}),watch(()=>z.value,()=>{oe()}),watch(()=>j.value,()=>{oe()});const re=he=>{e.value=he,oe()},ae=(he,pe)=>{V.store.assertRowKey();const Ce=n.rowKey.value,$e=getRowIdentity(he,Ce),xe=$e&&t.value[$e];if($e&&xe&&"expanded"in xe){const Ie=xe.expanded;pe=isUndefined(pe)?!xe.expanded:pe,t.value[$e].expanded=pe,Ie!==pe&&V.emit("expand-change",he,pe),V.store.updateTableScrollY()}},le=he=>{V.store.assertRowKey();const pe=n.rowKey.value,Ce=getRowIdentity(he,pe),$e=t.value[Ce];r.value&&$e&&"loaded"in $e&&!$e.loaded?de(he,Ce,$e):ae(he,void 0)},de=(he,pe,Ce)=>{const{load:$e}=V.props;$e&&!t.value[pe].loaded&&(t.value[pe].loading=!0,$e(he,Ce,xe=>{if(!isArray$2(xe))throw new TypeError("[ElTable] data must be an array");t.value[pe].loading=!1,t.value[pe].loaded=!0,t.value[pe].expanded=!0,xe.length&&(g.value[pe]=xe),V.emit("expand-change",he,!0)}))};return{loadData:de,loadOrToggle:le,toggleTreeExpansion:ae,updateTreeExpandKeys:re,updateTreeData:oe,updateKeyChildren:(he,pe)=>{const{lazy:Ce,rowKey:$e}=V.props;if(Ce){if(!$e)throw new Error("[Table] rowKey is required in updateKeyChild");g.value[he]&&(g.value[he]=pe)}},normalize:ie,states:{expandRowKeys:e,treeData:t,indent:i,lazy:r,lazyTreeNodeMap:g,lazyColumnIdentifier:y,childrenColumnName:k,checkStrictly:L}}}const sortData=(n,e)=>{const t=e.sortingColumn;return!t||isString$5(t.sortable)?n:orderBy(n,e.sortProp,e.sortOrder,t.sortMethod,t.sortBy)},doFlattenColumns=n=>{const e=[];return n.forEach(t=>{t.children&&t.children.length>0?e.push.apply(e,doFlattenColumns(t.children)):e.push(t)}),e};function useWatcher$1(){var n;const e=getCurrentInstance$1(),{size:t}=toRefs((n=e.proxy)==null?void 0:n.$props),i=ref$1(null),r=ref$1([]),g=ref$1([]),y=ref$1(!1),k=ref$1([]),L=ref$1([]),V=ref$1([]),z=ref$1([]),j=ref$1([]),ie=ref$1([]),oe=ref$1([]),re=ref$1([]),ae=[],le=ref$1(0),de=ref$1(0),ue=ref$1(0),he=ref$1(!1),pe=ref$1([]),Ce=ref$1(!1),$e=ref$1(!1),xe=ref$1(null),Ie=ref$1({}),Ne=ref$1(null),Fe=ref$1(null),Ve=ref$1(null),Oe=ref$1(null),ze=ref$1(null),qe=computed$1(()=>i.value?getKeysMap(pe.value,i.value):void 0);watch(r,()=>{var pi;e.state&&(kt(!1),e.props.tableLayout==="auto"&&((pi=e.refs.tableHeaderRef)==null||pi.updateFixedColumnStyle()))},{deep:!0});const Ue=()=>{if(!i.value)throw new Error("[ElTable] prop row-key is required")},Et=pi=>{var ui;(ui=pi.children)==null||ui.forEach($i=>{$i.fixed=pi.fixed,Et($i)})};let At;const Lt=()=>{k.value.forEach(Wi=>{Et(Wi)}),z.value=k.value.filter(Wi=>Wi.fixed===!0||Wi.fixed==="left"),j.value=k.value.filter(Wi=>Wi.fixed==="right"),isUndefined(At)&&k.value[0]&&k.value[0].type==="selection"&&(At=!!k.value[0].fixed),z.value.length>0&&k.value[0]&&k.value[0].type==="selection"&&(k.value[0].fixed?z.value.some(Gi=>Gi.type!=="selection")?At=void 0:(k.value[0].fixed=At,At||z.value.shift()):(k.value[0].fixed=!0,z.value.unshift(k.value[0])));const pi=k.value.filter(Wi=>!Wi.fixed);L.value=[].concat(z.value).concat(pi).concat(j.value);const ui=doFlattenColumns(pi),$i=doFlattenColumns(z.value),di=doFlattenColumns(j.value);le.value=ui.length,de.value=$i.length,ue.value=di.length,V.value=[].concat($i).concat(ui).concat(di),y.value=z.value.length>0||j.value.length>0},kt=(pi,ui=!1)=>{pi&&Lt(),ui?e.state.doLayout():e.state.debouncedUpdateLayout()},ei=pi=>qe.value?!!qe.value[getRowIdentity(pi,i.value)]:pe.value.includes(pi),jt=()=>{he.value=!1;const pi=pe.value;pe.value=[],pi.length&&e.emit("selection-change",[])},ri=()=>{let pi;if(i.value){pi=[];const ui=getKeysMap(r.value,i.value);for(const $i in qe.value)hasOwn(qe.value,$i)&&!ui[$i]&&pi.push(qe.value[$i].row)}else pi=pe.value.filter(ui=>!r.value.includes(ui));if(pi.length){const ui=pe.value.filter($i=>!pi.includes($i));pe.value=ui,e.emit("selection-change",ui.slice())}},ni=()=>(pe.value||[]).slice(),Ci=(pi,ui,$i=!0,di=!1)=>{var Wi,Gi,Zi,vn;const Tn={children:(Gi=(Wi=e==null?void 0:e.store)==null?void 0:Wi.states)==null?void 0:Gi.childrenColumnName.value,checkStrictly:(vn=(Zi=e==null?void 0:e.store)==null?void 0:Zi.states)==null?void 0:vn.checkStrictly.value};if(toggleRowStatus(pe.value,pi,ui,Tn,di?void 0:xe.value)){const Rn=(pe.value||[]).slice();$i&&e.emit("select",Rn,pi),e.emit("selection-change",Rn)}},wi=()=>{var pi,ui;const $i=$e.value?!he.value:!(he.value||pe.value.length);he.value=$i;let di=!1,Wi=0;const Gi=(ui=(pi=e==null?void 0:e.store)==null?void 0:pi.states)==null?void 0:ui.rowKey.value,{childrenColumnName:Zi}=e.store.states,vn={children:Zi.value,checkStrictly:!1};r.value.forEach((Tn,In)=>{const Rn=In+Wi;toggleRowStatus(pe.value,Tn,$i,vn,xe.value,Rn)&&(di=!0),Wi+=hi(getRowIdentity(Tn,Gi))}),di&&e.emit("selection-change",pe.value?pe.value.slice():[]),e.emit("select-all",(pe.value||[]).slice())},Ri=()=>{r.value.forEach(pi=>{const ui=getRowIdentity(pi,i.value),$i=qe.value[ui];$i&&(pe.value[$i.index]=pi)})},ai=()=>{var pi;if(((pi=r.value)==null?void 0:pi.length)===0){he.value=!1;return}const{childrenColumnName:ui}=e.store.states;let $i=0,di=0;const Wi=Zi=>{var vn;for(const Tn of Zi){const In=xe.value&&xe.value.call(null,Tn,$i);if(ei(Tn))di++;else if(!xe.value||In)return!1;if($i++,(vn=Tn[ui.value])!=null&&vn.length&&!Wi(Tn[ui.value]))return!1}return!0},Gi=Wi(r.value||[]);he.value=di===0?!1:Gi},hi=pi=>{var ui;if(!e||!e.store)return 0;const{treeData:$i}=e.store.states;let di=0;const Wi=(ui=$i.value[pi])==null?void 0:ui.children;return Wi&&(di+=Wi.length,Wi.forEach(Gi=>{di+=hi(Gi)})),di},xi=(pi,ui)=>{isArray$2(pi)||(pi=[pi]);const $i={};return pi.forEach(di=>{Ie.value[di.id]=ui,$i[di.columnKey||di.id]=ui}),$i},Oi=(pi,ui,$i)=>{Fe.value&&Fe.value!==pi&&(Fe.value.order=null),Fe.value=pi,Ve.value=ui,Oe.value=$i},Ei=()=>{let pi=unref(g);Object.keys(Ie.value).forEach(ui=>{const $i=Ie.value[ui];if(!$i||$i.length===0)return;const di=getColumnById({columns:V.value},ui);di&&di.filterMethod&&(pi=pi.filter(Wi=>$i.some(Gi=>di.filterMethod.call(null,Gi,Wi,di))))}),Ne.value=pi},si=()=>{r.value=sortData(Ne.value,{sortingColumn:Fe.value,sortProp:Ve.value,sortOrder:Oe.value})},fi=(pi=void 0)=>{pi&&pi.filter||Ei(),si()},li=pi=>{const{tableHeaderRef:ui}=e.refs;if(!ui)return;const $i=Object.assign({},ui.filterPanels),di=Object.keys($i);if(di.length)if(isString$5(pi)&&(pi=[pi]),isArray$2(pi)){const Wi=pi.map(Gi=>getColumnByKey({columns:V.value},Gi));di.forEach(Gi=>{const Zi=Wi.find(vn=>vn.id===Gi);Zi&&(Zi.filteredValue=[])}),e.store.commit("filterChange",{column:Wi,values:[],silent:!0,multi:!0})}else di.forEach(Wi=>{const Gi=V.value.find(Zi=>Zi.id===Wi);Gi&&(Gi.filteredValue=[])}),Ie.value={},e.store.commit("filterChange",{column:{},values:[],silent:!0})},Di=()=>{Fe.value&&(Oi(null,null,null),e.store.commit("changeSortCondition",{silent:!0}))},{setExpandRowKeys:ki,toggleRowExpansion:Ai,updateExpandRows:Ki,states:zi,isRowExpanded:bi}=useExpand({data:r,rowKey:i}),{updateTreeExpandKeys:vi,toggleTreeExpansion:Li,updateTreeData:oi,updateKeyChildren:ii,loadOrToggle:mi,states:yi}=useTree({data:r,rowKey:i}),{updateCurrentRowData:ti,updateCurrentRow:Dt,setCurrentRowKey:Pt,states:ci}=useCurrent({data:r,rowKey:i});return{assertRowKey:Ue,updateColumns:Lt,scheduleLayout:kt,isSelected:ei,clearSelection:jt,cleanSelection:ri,getSelectionRows:ni,toggleRowSelection:Ci,_toggleAllSelection:wi,toggleAllSelection:null,updateSelectionByRowKey:Ri,updateAllSelected:ai,updateFilters:xi,updateCurrentRow:Dt,updateSort:Oi,execFilter:Ei,execSort:si,execQuery:fi,clearFilter:li,clearSort:Di,toggleRowExpansion:Ai,setExpandRowKeysAdapter:pi=>{ki(pi),vi(pi)},setCurrentRowKey:Pt,toggleRowExpansionAdapter:(pi,ui)=>{V.value.some(({type:di})=>di==="expand")?Ai(pi,ui):Li(pi,ui)},isRowExpanded:bi,updateExpandRows:Ki,updateCurrentRowData:ti,loadOrToggle:mi,updateTreeData:oi,updateKeyChildren:ii,states:{tableSize:t,rowKey:i,data:r,_data:g,isComplex:y,_columns:k,originColumns:L,columns:V,fixedColumns:z,rightFixedColumns:j,leafColumns:ie,fixedLeafColumns:oe,rightFixedLeafColumns:re,updateOrderFns:ae,leafColumnsLength:le,fixedLeafColumnsLength:de,rightFixedLeafColumnsLength:ue,isAllSelected:he,selection:pe,reserveSelection:Ce,selectOnIndeterminate:$e,selectable:xe,filters:Ie,filteredData:Ne,sortingColumn:Fe,sortProp:Ve,sortOrder:Oe,hoverRow:ze,...zi,...yi,...ci}}}function replaceColumn(n,e){return n.map(t=>{var i;return t.id===e.id?e:((i=t.children)!=null&&i.length&&(t.children=replaceColumn(t.children,e)),t)})}function sortColumn(n){n.forEach(e=>{var t,i;e.no=(t=e.getColumnIndex)==null?void 0:t.call(e),(i=e.children)!=null&&i.length&&sortColumn(e.children)}),n.sort((e,t)=>e.no-t.no)}function useStore(){const n=getCurrentInstance$1(),e=useWatcher$1();return{ns:useNamespace("table"),...e,mutations:{setData(y,k){const L=unref(y._data)!==k;y.data.value=k,y._data.value=k,n.store.execQuery(),n.store.updateCurrentRowData(),n.store.updateExpandRows(),n.store.updateTreeData(n.store.states.defaultExpandAll.value),unref(y.reserveSelection)?(n.store.assertRowKey(),n.store.updateSelectionByRowKey()):L?n.store.clearSelection():n.store.cleanSelection(),n.store.updateAllSelected(),n.$ready&&n.store.scheduleLayout()},insertColumn(y,k,L,V){const z=unref(y._columns);let j=[];L?(L&&!L.children&&(L.children=[]),L.children.push(k),j=replaceColumn(z,L)):(z.push(k),j=z),sortColumn(j),y._columns.value=j,y.updateOrderFns.push(V),k.type==="selection"&&(y.selectable.value=k.selectable,y.reserveSelection.value=k.reserveSelection),n.$ready&&(n.store.updateColumns(),n.store.scheduleLayout())},updateColumnOrder(y,k){var L;((L=k.getColumnIndex)==null?void 0:L.call(k))!==k.no&&(sortColumn(y._columns.value),n.$ready&&n.store.updateColumns())},removeColumn(y,k,L,V){const z=unref(y._columns)||[];if(L)L.children.splice(L.children.findIndex(ie=>ie.id===k.id),1),nextTick(()=>{var ie;((ie=L.children)==null?void 0:ie.length)===0&&delete L.children}),y._columns.value=replaceColumn(z,L);else{const ie=z.indexOf(k);ie>-1&&(z.splice(ie,1),y._columns.value=z)}const j=y.updateOrderFns.indexOf(V);j>-1&&y.updateOrderFns.splice(j,1),n.$ready&&(n.store.updateColumns(),n.store.scheduleLayout())},sort(y,k){const{prop:L,order:V,init:z}=k;if(L){const j=unref(y.columns).find(ie=>ie.property===L);j&&(j.order=V,n.store.updateSort(j,L,V),n.store.commit("changeSortCondition",{init:z}))}},changeSortCondition(y,k){const{sortingColumn:L,sortProp:V,sortOrder:z}=y,j=unref(L),ie=unref(V),oe=unref(z);isNull(oe)&&(y.sortingColumn.value=null,y.sortProp.value=null);const re={filter:!0};n.store.execQuery(re),(!k||!(k.silent||k.init))&&n.emit("sort-change",{column:j,prop:ie,order:oe}),n.store.updateTableScrollY()},filterChange(y,k){const{column:L,values:V,silent:z}=k,j=n.store.updateFilters(L,V);n.store.execQuery(),z||n.emit("filter-change",j),n.store.updateTableScrollY()},toggleAllSelection(){n.store.toggleAllSelection()},rowSelectedChanged(y,k){n.store.toggleRowSelection(k),n.store.updateAllSelected()},setHoverRow(y,k){y.hoverRow.value=k},setCurrentRow(y,k){n.store.updateCurrentRow(k)}},commit:function(y,...k){const L=n.store.mutations;if(L[y])L[y].apply(n,[n.store.states].concat(k));else throw new Error("Action not found: ".concat(y))},updateTableScrollY:function(){nextTick(()=>n.layout.updateScrollY.apply(n.layout))}}}const InitialStateMap={rowKey:"rowKey",defaultExpandAll:"defaultExpandAll",selectOnIndeterminate:"selectOnIndeterminate",indent:"indent",lazy:"lazy",data:"data","treeProps.hasChildren":{key:"lazyColumnIdentifier",default:"hasChildren"},"treeProps.children":{key:"childrenColumnName",default:"children"},"treeProps.checkStrictly":{key:"checkStrictly",default:!1}};function createStore(n,e){if(!n)throw new Error("Table is required.");const t=useStore();return t.toggleAllSelection=debounce(t._toggleAllSelection,10),Object.keys(InitialStateMap).forEach(i=>{handleValue(getArrKeysValue(e,i),i,t)}),proxyTableProps(t,e),t}function proxyTableProps(n,e){Object.keys(InitialStateMap).forEach(t=>{watch(()=>getArrKeysValue(e,t),i=>{handleValue(i,t,n)})})}function handleValue(n,e,t){let i=n,r=InitialStateMap[e];isObject$4(InitialStateMap[e])&&(r=r.key,i=i||InitialStateMap[e].default),t.states[r].value=i}function getArrKeysValue(n,e){if(e.includes(".")){const t=e.split(".");let i=n;return t.forEach(r=>{i=i[r]}),i}else return n[e]}class TableLayout{constructor(e){this.observers=[],this.table=null,this.store=null,this.columns=[],this.fit=!0,this.showHeader=!0,this.height=ref$1(null),this.scrollX=ref$1(!1),this.scrollY=ref$1(!1),this.bodyWidth=ref$1(null),this.fixedWidth=ref$1(null),this.rightFixedWidth=ref$1(null),this.gutterWidth=0;for(const t in e)hasOwn(e,t)&&(isRef(this[t])?this[t].value=e[t]:this[t]=e[t]);if(!this.table)throw new Error("Table is required for Table Layout");if(!this.store)throw new Error("Store is required for Table Layout")}updateScrollY(){const e=this.height.value;if(isNull(e))return!1;const t=this.table.refs.scrollBarRef;if(this.table.vnode.el&&(t!=null&&t.wrapRef)){let i=!0;const r=this.scrollY.value;return i=t.wrapRef.scrollHeight>t.wrapRef.clientHeight,this.scrollY.value=i,r!==i}return!1}setHeight(e,t="height"){if(!isClient)return;const i=this.table.vnode.el;if(e=parseHeight(e),this.height.value=Number(e),!i&&(e||e===0))return nextTick(()=>this.setHeight(e,t));isNumber(e)?(i.style[t]="".concat(e,"px"),this.updateElsHeight()):isString$5(e)&&(i.style[t]=e,this.updateElsHeight())}setMaxHeight(e){this.setHeight(e,"max-height")}getFlattenColumns(){const e=[];return this.table.store.states.columns.value.forEach(i=>{i.isColumnGroup?e.push.apply(e,i.columns):e.push(i)}),e}updateElsHeight(){this.updateScrollY(),this.notifyObservers("scrollable")}headerDisplayNone(e){if(!e)return!0;let t=e;for(;t.tagName!=="DIV";){if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}updateColumnsWidth(){if(!isClient)return;const e=this.fit,t=this.table.vnode.el.clientWidth;let i=0;const r=this.getFlattenColumns(),g=r.filter(L=>!isNumber(L.width));if(r.forEach(L=>{isNumber(L.width)&&L.realWidth&&(L.realWidth=null)}),g.length>0&&e){if(r.forEach(L=>{i+=Number(L.width||L.minWidth||80)}),i<=t){this.scrollX.value=!1;const L=t-i;if(g.length===1)g[0].realWidth=Number(g[0].minWidth||80)+L;else{const V=g.reduce((ie,oe)=>ie+Number(oe.minWidth||80),0),z=L/V;let j=0;g.forEach((ie,oe)=>{if(oe===0)return;const re=Math.floor(Number(ie.minWidth||80)*z);j+=re,ie.realWidth=Number(ie.minWidth||80)+re}),g[0].realWidth=Number(g[0].minWidth||80)+L-j}}else this.scrollX.value=!0,g.forEach(L=>{L.realWidth=Number(L.minWidth)});this.bodyWidth.value=Math.max(i,t),this.table.state.resizeState.value.width=this.bodyWidth.value}else r.forEach(L=>{!L.width&&!L.minWidth?L.realWidth=80:L.realWidth=Number(L.width||L.minWidth),i+=L.realWidth}),this.scrollX.value=i>t,this.bodyWidth.value=i;const y=this.store.states.fixedColumns.value;if(y.length>0){let L=0;y.forEach(V=>{L+=Number(V.realWidth||V.width)}),this.fixedWidth.value=L}const k=this.store.states.rightFixedColumns.value;if(k.length>0){let L=0;k.forEach(V=>{L+=Number(V.realWidth||V.width)}),this.rightFixedWidth.value=L}this.notifyObservers("columns")}addObserver(e){this.observers.push(e)}removeObserver(e){const t=this.observers.indexOf(e);t!==-1&&this.observers.splice(t,1)}notifyObservers(e){this.observers.forEach(i=>{var r,g;switch(e){case"columns":(r=i.state)==null||r.onColumnsChange(this);break;case"scrollable":(g=i.state)==null||g.onScrollableChange(this);break;default:throw new Error("Table Layout don't have event ".concat(e,"."))}})}}const{CheckboxGroup:ElCheckboxGroup}=ElCheckbox,_sfc_main$l=defineComponent({name:"ElTableFilterPanel",components:{ElCheckbox,ElCheckboxGroup,ElScrollbar,ElTooltip,ElIcon,ArrowDown:arrow_down_default,ArrowUp:arrow_up_default},directives:{ClickOutside},props:{placement:{type:String,default:"bottom-start"},store:{type:Object},column:{type:Object},upDataColumn:{type:Function},appendTo:{type:String}},setup(n){const e=getCurrentInstance$1(),{t}=useLocale(),i=useNamespace("table-filter"),r=e==null?void 0:e.parent;r.filterPanels.value[n.column.id]||(r.filterPanels.value[n.column.id]=e);const g=ref$1(!1),y=ref$1(null),k=computed$1(()=>n.column&&n.column.filters),L=computed$1(()=>n.column.filterClassName?"".concat(i.b()," ").concat(n.column.filterClassName):i.b()),V=computed$1({get:()=>{var Ce;return(((Ce=n.column)==null?void 0:Ce.filteredValue)||[])[0]},set:Ce=>{z.value&&(isPropAbsent(Ce)?z.value.splice(0,1):z.value.splice(0,1,Ce))}}),z=computed$1({get(){return n.column?n.column.filteredValue||[]:[]},set(Ce){n.column&&n.upDataColumn("filteredValue",Ce)}}),j=computed$1(()=>n.column?n.column.filterMultiple:!0),ie=Ce=>Ce.value===V.value,oe=()=>{g.value=!1},re=Ce=>{Ce.stopPropagation(),g.value=!g.value},ae=()=>{g.value=!1},le=()=>{he(z.value),oe()},de=()=>{z.value=[],he(z.value),oe()},ue=Ce=>{V.value=Ce,isPropAbsent(Ce)?he([]):he(z.value),oe()},he=Ce=>{n.store.commit("filterChange",{column:n.column,values:Ce}),n.store.updateAllSelected()};watch(g,Ce=>{n.column&&n.upDataColumn("filterOpened",Ce)},{immediate:!0});const pe=computed$1(()=>{var Ce,$e;return($e=(Ce=y.value)==null?void 0:Ce.popperRef)==null?void 0:$e.contentRef});return{tooltipVisible:g,multiple:j,filterClassName:L,filteredValue:z,filterValue:V,filters:k,handleConfirm:le,handleReset:de,handleSelect:ue,isPropAbsent,isActive:ie,t,ns:i,showFilterPanel:re,hideFilterPanel:ae,popperPaneRef:pe,tooltip:y}}});function _sfc_render$6(n,e,t,i,r,g){const y=resolveComponent("el-checkbox"),k=resolveComponent("el-checkbox-group"),L=resolveComponent("el-scrollbar"),V=resolveComponent("arrow-up"),z=resolveComponent("arrow-down"),j=resolveComponent("el-icon"),ie=resolveComponent("el-tooltip"),oe=resolveDirective("click-outside");return openBlock(),createBlock(ie,{ref:"tooltip",visible:n.tooltipVisible,offset:0,placement:n.placement,"show-arrow":!1,"stop-popper-mouse-event":!1,teleported:"",effect:"light",pure:"","popper-class":n.filterClassName,persistent:"","append-to":n.appendTo},{content:withCtx(()=>[n.multiple?(openBlock(),createElementBlock("div",{key:0},[createBaseVNode("div",{class:normalizeClass(n.ns.e("content"))},[createVNode(L,{"wrap-class":n.ns.e("wrap")},{default:withCtx(()=>[createVNode(k,{modelValue:n.filteredValue,"onUpdate:modelValue":re=>n.filteredValue=re,class:normalizeClass(n.ns.e("checkbox-group"))},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.filters,re=>(openBlock(),createBlock(y,{key:re.value,value:re.value},{default:withCtx(()=>[createTextVNode(toDisplayString(re.text),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","class"])]),_:1},8,["wrap-class"])],2),createBaseVNode("div",{class:normalizeClass(n.ns.e("bottom"))},[createBaseVNode("button",{class:normalizeClass({[n.ns.is("disabled")]:n.filteredValue.length===0}),disabled:n.filteredValue.length===0,type:"button",onClick:n.handleConfirm},toDisplayString(n.t("el.table.confirmFilter")),11,["disabled","onClick"]),createBaseVNode("button",{type:"button",onClick:n.handleReset},toDisplayString(n.t("el.table.resetFilter")),9,["onClick"])],2)])):(openBlock(),createElementBlock("ul",{key:1,class:normalizeClass(n.ns.e("list"))},[createBaseVNode("li",{class:normalizeClass([n.ns.e("list-item"),{[n.ns.is("active")]:n.isPropAbsent(n.filterValue)}]),onClick:re=>n.handleSelect(null)},toDisplayString(n.t("el.table.clearFilter")),11,["onClick"]),(openBlock(!0),createElementBlock(Fragment,null,renderList(n.filters,re=>(openBlock(),createElementBlock("li",{key:re.value,class:normalizeClass([n.ns.e("list-item"),n.ns.is("active",n.isActive(re))]),label:re.value,onClick:ae=>n.handleSelect(re.value)},toDisplayString(re.text),11,["label","onClick"]))),128))],2))]),default:withCtx(()=>[withDirectives((openBlock(),createElementBlock("span",{class:normalizeClass(["".concat(n.ns.namespace.value,"-table__column-filter-trigger"),"".concat(n.ns.namespace.value,"-none-outline")]),onClick:n.showFilterPanel},[createVNode(j,null,{default:withCtx(()=>[renderSlot(n.$slots,"filter-icon",{},()=>[n.column.filterOpened?(openBlock(),createBlock(V,{key:0})):(openBlock(),createBlock(z,{key:1}))])]),_:3})],10,["onClick"])),[[oe,n.hideFilterPanel,n.popperPaneRef]])]),_:3},8,["visible","placement","popper-class","append-to"])}var FilterPanel=_export_sfc(_sfc_main$l,[["render",_sfc_render$6],["__file","filter-panel.vue"]]);function useLayoutObserver(n){const e=getCurrentInstance$1();onBeforeMount(()=>{t.value.addObserver(e)}),onMounted(()=>{i(t.value),r(t.value)}),onUpdated(()=>{i(t.value),r(t.value)}),onUnmounted(()=>{t.value.removeObserver(e)});const t=computed$1(()=>{const g=n.layout;if(!g)throw new Error("Can not find table layout.");return g}),i=g=>{var y;const k=((y=n.vnode.el)==null?void 0:y.querySelectorAll("colgroup > col"))||[];if(!k.length)return;const L=g.getFlattenColumns(),V={};L.forEach(z=>{V[z.id]=z});for(let z=0,j=k.length;z{var y,k;const L=((y=n.vnode.el)==null?void 0:y.querySelectorAll("colgroup > col[name=gutter]"))||[];for(let z=0,j=L.length;z{ae.stopPropagation()},g=(ae,le)=>{!le.filters&&le.sortable?re(ae,le,!1):le.filterable&&!le.sortable&&r(ae),i==null||i.emit("header-click",le,ae)},y=(ae,le)=>{i==null||i.emit("header-contextmenu",le,ae)},k=ref$1(null),L=ref$1(!1),V=ref$1({}),z=(ae,le)=>{if(isClient&&!(le.children&&le.children.length>0)&&k.value&&n.border){L.value=!0;const de=i;e("set-drag-visible",!0);const he=(de==null?void 0:de.vnode.el).getBoundingClientRect().left,pe=t.vnode.el.querySelector("th.".concat(le.id)),Ce=pe.getBoundingClientRect(),$e=Ce.left-he+30;addClass(pe,"noclick"),V.value={startMouseLeft:ae.clientX,startLeft:Ce.right-he,startColumnLeft:Ce.left-he,tableLeft:he};const xe=de==null?void 0:de.refs.resizeProxy;xe.style.left="".concat(V.value.startLeft,"px"),document.onselectstart=function(){return!1},document.ondragstart=function(){return!1};const Ie=Fe=>{const Ve=Fe.clientX-V.value.startMouseLeft,Oe=V.value.startLeft+Ve;xe.style.left="".concat(Math.max($e,Oe),"px")},Ne=()=>{if(L.value){const{startColumnLeft:Fe,startLeft:Ve}=V.value,ze=Number.parseInt(xe.style.left,10)-Fe;le.width=le.realWidth=ze,de==null||de.emit("header-dragend",le.width,Ve-Fe,le,ae),requestAnimationFrame(()=>{n.store.scheduleLayout(!1,!0)}),document.body.style.cursor="",L.value=!1,k.value=null,V.value={},e("set-drag-visible",!1)}document.removeEventListener("mousemove",Ie),document.removeEventListener("mouseup",Ne),document.onselectstart=null,document.ondragstart=null,setTimeout(()=>{removeClass(pe,"noclick")},0)};document.addEventListener("mousemove",Ie),document.addEventListener("mouseup",Ne)}},j=(ae,le)=>{var de;if(le.children&&le.children.length>0)return;const ue=ae.target;if(!isElement(ue))return;const he=ue==null?void 0:ue.closest("th");if(!(!le||!le.resizable||!he)&&!L.value&&n.border){const pe=he.getBoundingClientRect(),Ce=document.body.style,$e=((de=he.parentNode)==null?void 0:de.lastElementChild)===he,xe=n.allowDragLastColumn||!$e;pe.width>12&&pe.right-ae.pageX<8&&xe?(Ce.cursor="col-resize",hasClass(he,"is-sortable")&&(he.style.cursor="col-resize"),k.value=le):L.value||(Ce.cursor="",hasClass(he,"is-sortable")&&(he.style.cursor="pointer"),k.value=null)}},ie=()=>{isClient&&(document.body.style.cursor="")},oe=({order:ae,sortOrders:le})=>{if(ae==="")return le[0];const de=le.indexOf(ae||null);return le[de>le.length-2?0:de+1]},re=(ae,le,de)=>{var ue;ae.stopPropagation();const he=le.order===de?null:de||oe(le),pe=(ue=ae.target)==null?void 0:ue.closest("th");if(pe&&hasClass(pe,"noclick")){removeClass(pe,"noclick");return}if(!le.sortable)return;const Ce=ae.currentTarget;if(["ascending","descending"].some(Fe=>hasClass(Ce,Fe)&&!le.sortOrders.includes(Fe)))return;const $e=n.store.states;let xe=$e.sortProp.value,Ie;const Ne=$e.sortingColumn.value;(Ne!==le||Ne===le&&isNull(Ne.order))&&(Ne&&(Ne.order=null),$e.sortingColumn.value=le,xe=le.property),he?Ie=le.order=he:Ie=le.order=null,$e.sortProp.value=xe,$e.sortOrder.value=Ie,i==null||i.store.commit("changeSortCondition")};return{handleHeaderClick:g,handleHeaderContextMenu:y,handleMouseDown:z,handleMouseMove:j,handleMouseOut:ie,handleSortClick:re,handleFilterClick:r}}function useStyle$2(n){const e=inject(TABLE_INJECTION_KEY),t=useNamespace("table");return{getHeaderRowStyle:k=>{const L=e==null?void 0:e.props.headerRowStyle;return isFunction$4(L)?L.call(null,{rowIndex:k}):L},getHeaderRowClass:k=>{const L=[],V=e==null?void 0:e.props.headerRowClassName;return isString$5(V)?L.push(V):isFunction$4(V)&&L.push(V.call(null,{rowIndex:k})),L.join(" ")},getHeaderCellStyle:(k,L,V,z)=>{var j;let ie=(j=e==null?void 0:e.props.headerCellStyle)!=null?j:{};isFunction$4(ie)&&(ie=ie.call(null,{rowIndex:k,columnIndex:L,row:V,column:z}));const oe=getFixedColumnOffset(L,z.fixed,n.store,V);return ensurePosition(oe,"left"),ensurePosition(oe,"right"),Object.assign({},ie,oe)},getHeaderCellClass:(k,L,V,z)=>{const j=getFixedColumnsClass(t.b(),L,z.fixed,n.store,V),ie=[z.id,z.order,z.headerAlign,z.className,z.labelClassName,...j];z.children||ie.push("is-leaf"),z.sortable&&ie.push("is-sortable");const oe=e==null?void 0:e.props.headerCellClassName;return isString$5(oe)?ie.push(oe):isFunction$4(oe)&&ie.push(oe.call(null,{rowIndex:k,columnIndex:L,row:V,column:z})),ie.push(t.e("cell")),ie.filter(re=>!!re).join(" ")}}}const getAllColumns=n=>{const e=[];return n.forEach(t=>{t.children?(e.push(t),e.push.apply(e,getAllColumns(t.children))):e.push(t)}),e},convertToRows=n=>{let e=1;const t=(g,y)=>{if(y&&(g.level=y.level+1,e{t(L,g),k+=L.colSpan}),g.colSpan=k}else g.colSpan=1};n.forEach(g=>{g.level=1,t(g,void 0)});const i=[];for(let g=0;g{g.children?(g.rowSpan=1,g.children.forEach(y=>y.isSubColumn=!0)):g.rowSpan=e-g.level+1,i[g.level-1].push(g)}),i};function useUtils$1(n){const e=inject(TABLE_INJECTION_KEY),t=computed$1(()=>convertToRows(n.store.states.originColumns.value));return{isGroup:computed$1(()=>{const g=t.value.length>1;return g&&e&&(e.state.isGroup.value=!0),g}),toggleAllSelection:g=>{g.stopPropagation(),e==null||e.store.commit("toggleAllSelection")},columnRows:t}}var TableHeader=defineComponent({name:"ElTableHeader",components:{ElCheckbox},props:{fixed:{type:String,default:""},store:{required:!0,type:Object},border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})},appendFilterPanelTo:{type:String},allowDragLastColumn:{type:Boolean}},setup(n,{emit:e}){const t=getCurrentInstance$1(),i=inject(TABLE_INJECTION_KEY),r=useNamespace("table"),g=ref$1({}),{onColumnsChange:y,onScrollableChange:k}=useLayoutObserver(i),L=(i==null?void 0:i.props.tableLayout)==="auto",V=reactive$1(new Map),z=ref$1(),j=()=>{setTimeout(()=>{V.size>0&&(V.forEach((Fe,Ve)=>{const Oe=z.value.querySelector(".".concat(Ve.replace(/\s/g,".")));if(Oe){const ze=Oe.getBoundingClientRect().width;Fe.width=ze}}),V.clear())})};watch(V,j),onMounted(async()=>{await nextTick(),await nextTick();const{prop:Fe,order:Ve}=n.defaultSort;i==null||i.store.commit("sort",{prop:Fe,order:Ve,init:!0}),j()});const{handleHeaderClick:ie,handleHeaderContextMenu:oe,handleMouseDown:re,handleMouseMove:ae,handleMouseOut:le,handleSortClick:de,handleFilterClick:ue}=useEvent(n,e),{getHeaderRowStyle:he,getHeaderRowClass:pe,getHeaderCellStyle:Ce,getHeaderCellClass:$e}=useStyle$2(n),{isGroup:xe,toggleAllSelection:Ie,columnRows:Ne}=useUtils$1(n);return t.state={onColumnsChange:y,onScrollableChange:k},t.filterPanels=g,{ns:r,filterPanels:g,onColumnsChange:y,onScrollableChange:k,columnRows:Ne,getHeaderRowClass:pe,getHeaderRowStyle:he,getHeaderCellClass:$e,getHeaderCellStyle:Ce,handleHeaderClick:ie,handleHeaderContextMenu:oe,handleMouseDown:re,handleMouseMove:ae,handleMouseOut:le,handleSortClick:de,handleFilterClick:ue,isGroup:xe,toggleAllSelection:Ie,saveIndexSelection:V,isTableLayoutAuto:L,theadRef:z,updateFixedColumnStyle:j}},render(){const{ns:n,isGroup:e,columnRows:t,getHeaderCellStyle:i,getHeaderCellClass:r,getHeaderRowClass:g,getHeaderRowStyle:y,handleHeaderClick:k,handleHeaderContextMenu:L,handleMouseDown:V,handleMouseMove:z,handleSortClick:j,handleMouseOut:ie,store:oe,$parent:re,saveIndexSelection:ae,isTableLayoutAuto:le}=this;let de=1;return h$3("thead",{ref:"theadRef",class:{[n.is("group")]:e}},t.map((ue,he)=>h$3("tr",{class:g(he),key:he,style:y(he)},ue.map((pe,Ce)=>{pe.rowSpan>de&&(de=pe.rowSpan);const $e=r(he,Ce,ue,pe);return le&&pe.fixed&&ae.set($e,pe),h$3("th",{class:$e,colspan:pe.colSpan,key:"".concat(pe.id,"-thead"),rowspan:pe.rowSpan,style:i(he,Ce,ue,pe),onClick:xe=>{xe.currentTarget.classList.contains("noclick")||k(xe,pe)},onContextmenu:xe=>L(xe,pe),onMousedown:xe=>V(xe,pe),onMousemove:xe=>z(xe,pe),onMouseout:ie},[h$3("div",{class:["cell",pe.filteredValue&&pe.filteredValue.length>0?"highlight":""]},[pe.renderHeader?pe.renderHeader({column:pe,$index:Ce,store:oe,_self:re}):pe.label,pe.sortable&&h$3("span",{onClick:xe=>j(xe,pe),class:"caret-wrapper"},[h$3("i",{onClick:xe=>j(xe,pe,"ascending"),class:"sort-caret ascending"}),h$3("i",{onClick:xe=>j(xe,pe,"descending"),class:"sort-caret descending"})]),pe.filterable&&h$3(FilterPanel,{store:oe,placement:pe.filterPlacement||"bottom-start",appendTo:re.appendFilterPanelTo,column:pe,upDataColumn:(xe,Ie)=>{pe[xe]=Ie}},{"filter-icon":()=>pe.renderFilterIcon?pe.renderFilterIcon({filterOpened:pe.filterOpened}):null})])])}))))}});function isGreaterThan(n,e,t=.03){return n-e>t}function useEvents(n){const e=inject(TABLE_INJECTION_KEY),t=ref$1(""),i=ref$1(h$3("div")),r=(re,ae,le)=>{var de;const ue=e,he=getCell(re);let pe;const Ce=(de=ue==null?void 0:ue.vnode.el)==null?void 0:de.dataset.prefix;he&&(pe=getColumnByCell({columns:n.store.states.columns.value},he,Ce),pe&&(ue==null||ue.emit("cell-".concat(le),ae,pe,he,re))),ue==null||ue.emit("row-".concat(le),ae,pe,re)},g=(re,ae)=>{r(re,ae,"dblclick")},y=(re,ae)=>{n.store.commit("setCurrentRow",ae),r(re,ae,"click")},k=(re,ae)=>{r(re,ae,"contextmenu")},L=debounce(re=>{n.store.commit("setHoverRow",re)},30),V=debounce(()=>{n.store.commit("setHoverRow",null)},30),z=re=>{const ae=window.getComputedStyle(re,null),le=Number.parseInt(ae.paddingLeft,10)||0,de=Number.parseInt(ae.paddingRight,10)||0,ue=Number.parseInt(ae.paddingTop,10)||0,he=Number.parseInt(ae.paddingBottom,10)||0;return{left:le,right:de,top:ue,bottom:he}},j=(re,ae,le)=>{let de=ae.target.parentNode;for(;re>1&&(de=de==null?void 0:de.nextSibling,!(!de||de.nodeName!=="TR"));)le(de,"hover-row hover-fixed-row"),re--};return{handleDoubleClick:g,handleClick:y,handleContextMenu:k,handleMouseEnter:L,handleMouseLeave:V,handleCellMouseEnter:(re,ae,le)=>{var de,ue,he;const pe=e,Ce=getCell(re),$e=(de=pe==null?void 0:pe.vnode.el)==null?void 0:de.dataset.prefix;if(Ce){const kt=getColumnByCell({columns:n.store.states.columns.value},Ce,$e);Ce.rowSpan>1&&j(Ce.rowSpan,re,addClass);const ei=pe.hoverState={cell:Ce,column:kt,row:ae};pe==null||pe.emit("cell-mouse-enter",ei.row,ei.column,ei.cell,re)}if(!le)return;const xe=re.target.querySelector(".cell");if(!(hasClass(xe,"".concat($e,"-tooltip"))&&xe.childNodes.length))return;const Ie=document.createRange();Ie.setStart(xe,0),Ie.setEnd(xe,xe.childNodes.length);const{width:Ne,height:Fe}=Ie.getBoundingClientRect(),{width:Ve,height:Oe}=xe.getBoundingClientRect(),{top:ze,left:qe,right:Ue,bottom:Et}=z(xe),At=qe+Ue,Lt=ze+Et;isGreaterThan(Ne+At,Ve)||isGreaterThan(Fe+Lt,Oe)||isGreaterThan(xe.scrollWidth,Ve)?createTablePopper(le,Ce.innerText||Ce.textContent,Ce,pe):((ue=removePopper)==null?void 0:ue.trigger)===Ce&&((he=removePopper)==null||he())},handleCellMouseLeave:re=>{const ae=getCell(re);if(!ae)return;ae.rowSpan>1&&j(ae.rowSpan,re,removeClass);const le=e==null?void 0:e.hoverState;e==null||e.emit("cell-mouse-leave",le==null?void 0:le.row,le==null?void 0:le.column,le==null?void 0:le.cell,re)},tooltipContent:t,tooltipTrigger:i}}function useStyles(n){const e=inject(TABLE_INJECTION_KEY),t=useNamespace("table");return{getRowStyle:(V,z)=>{const j=e==null?void 0:e.props.rowStyle;return isFunction$4(j)?j.call(null,{row:V,rowIndex:z}):j||null},getRowClass:(V,z)=>{const j=[t.e("row")];e!=null&&e.props.highlightCurrentRow&&V===n.store.states.currentRow.value&&j.push("current-row"),n.stripe&&z%2===1&&j.push(t.em("row","striped"));const ie=e==null?void 0:e.props.rowClassName;return isString$5(ie)?j.push(ie):isFunction$4(ie)&&j.push(ie.call(null,{row:V,rowIndex:z})),j},getCellStyle:(V,z,j,ie)=>{const oe=e==null?void 0:e.props.cellStyle;let re=oe!=null?oe:{};isFunction$4(oe)&&(re=oe.call(null,{rowIndex:V,columnIndex:z,row:j,column:ie}));const ae=getFixedColumnOffset(z,n==null?void 0:n.fixed,n.store);return ensurePosition(ae,"left"),ensurePosition(ae,"right"),Object.assign({},re,ae)},getCellClass:(V,z,j,ie,oe)=>{const re=getFixedColumnsClass(t.b(),z,n==null?void 0:n.fixed,n.store,void 0,oe),ae=[ie.id,ie.align,ie.className,...re],le=e==null?void 0:e.props.cellClassName;return isString$5(le)?ae.push(le):isFunction$4(le)&&ae.push(le.call(null,{rowIndex:V,columnIndex:z,row:j,column:ie})),ae.push(t.e("cell")),ae.filter(de=>!!de).join(" ")},getSpan:(V,z,j,ie)=>{let oe=1,re=1;const ae=e==null?void 0:e.props.spanMethod;if(isFunction$4(ae)){const le=ae({row:V,column:z,rowIndex:j,columnIndex:ie});isArray$2(le)?(oe=le[0],re=le[1]):isObject$4(le)&&(oe=le.rowspan,re=le.colspan)}return{rowspan:oe,colspan:re}},getColspanRealWidth:(V,z,j)=>{if(z<1)return V[j].realWidth;const ie=V.map(({realWidth:oe,width:re})=>oe||re).slice(j,j+z);return Number(ie.reduce((oe,re)=>Number(oe)+Number(re),-1))}}}const __default__$7=defineComponent({name:"TableTdWrapper"}),_sfc_main$k=defineComponent({...__default__$7,props:{colspan:{type:Number,default:1},rowspan:{type:Number,default:1}},setup(n){return(e,t)=>(openBlock(),createElementBlock("td",{colspan:n.colspan,rowspan:n.rowspan},[renderSlot(e.$slots,"default")],8,["colspan","rowspan"]))}});var TdWrapper=_export_sfc(_sfc_main$k,[["__file","td-wrapper.vue"]]);function useRender$1(n){const e=inject(TABLE_INJECTION_KEY),t=useNamespace("table"),{handleDoubleClick:i,handleClick:r,handleContextMenu:g,handleMouseEnter:y,handleMouseLeave:k,handleCellMouseEnter:L,handleCellMouseLeave:V,tooltipContent:z,tooltipTrigger:j}=useEvents(n),{getRowStyle:ie,getRowClass:oe,getCellStyle:re,getCellClass:ae,getSpan:le,getColspanRealWidth:de}=useStyles(n),ue=computed$1(()=>n.store.states.columns.value.findIndex(({type:xe})=>xe==="default")),he=(xe,Ie)=>{const Ne=e.props.rowKey;return Ne?getRowIdentity(xe,Ne):Ie},pe=(xe,Ie,Ne,Fe=!1)=>{const{tooltipEffect:Ve,tooltipOptions:Oe,store:ze}=n,{indent:qe,columns:Ue}=ze.states,Et=oe(xe,Ie);let At=!0;return Ne&&(Et.push(t.em("row","level-".concat(Ne.level))),At=Ne.display),h$3("tr",{style:[At?null:{display:"none"},ie(xe,Ie)],class:Et,key:he(xe,Ie),onDblclick:kt=>i(kt,xe),onClick:kt=>r(kt,xe),onContextmenu:kt=>g(kt,xe),onMouseenter:()=>y(Ie),onMouseleave:k},Ue.value.map((kt,ei)=>{const{rowspan:jt,colspan:ri}=le(xe,kt,Ie,ei);if(!jt||!ri)return null;const ni=Object.assign({},kt);ni.realWidth=de(Ue.value,ri,ei);const Ci={store:n.store,_self:n.context||e,column:ni,row:xe,$index:Ie,cellIndex:ei,expanded:Fe};ei===ue.value&&Ne&&(Ci.treeNode={indent:Ne.level*qe.value,level:Ne.level},isBoolean(Ne.expanded)&&(Ci.treeNode.expanded=Ne.expanded,"loading"in Ne&&(Ci.treeNode.loading=Ne.loading),"noLazyChildren"in Ne&&(Ci.treeNode.noLazyChildren=Ne.noLazyChildren)));const wi="".concat(he(xe,Ie),",").concat(ei),Ri=ni.columnKey||ni.rawColumnKey||"",ai=kt.showOverflowTooltip&&merge$1({effect:Ve},Oe,kt.showOverflowTooltip);return h$3(TdWrapper,{style:re(Ie,ei,xe,kt),class:ae(Ie,ei,xe,kt,ri-1),key:"".concat(Ri).concat(wi),rowspan:jt,colspan:ri,onMouseenter:hi=>L(hi,xe,ai),onMouseleave:V},{default:()=>Ce(ei,kt,Ci)})}))},Ce=(xe,Ie,Ne)=>Ie.renderCell(Ne);return{wrappedRowRender:(xe,Ie)=>{const Ne=n.store,{isRowExpanded:Fe,assertRowKey:Ve}=Ne,{treeData:Oe,lazyTreeNodeMap:ze,childrenColumnName:qe,rowKey:Ue}=Ne.states,Et=Ne.states.columns.value;if(Et.some(({type:Lt})=>Lt==="expand")){const Lt=Fe(xe),kt=pe(xe,Ie,void 0,Lt),ei=e.renderExpanded;return Lt?ei?[[kt,h$3("tr",{key:"expanded-row__".concat(kt.key)},[h$3("td",{colspan:Et.length,class:"".concat(t.e("cell")," ").concat(t.e("expanded-cell"))},[ei({row:xe,$index:Ie,store:Ne,expanded:Lt})])])]]:(console.error("[Element Error]renderExpanded is required."),kt):[[kt]]}else if(Object.keys(Oe.value).length){Ve();const Lt=getRowIdentity(xe,Ue.value);let kt=Oe.value[Lt],ei=null;kt&&(ei={expanded:kt.expanded,level:kt.level,display:!0},isBoolean(kt.lazy)&&(isBoolean(kt.loaded)&&kt.loaded&&(ei.noLazyChildren=!(kt.children&&kt.children.length)),ei.loading=kt.loading));const jt=[pe(xe,Ie,ei)];if(kt){let ri=0;const ni=(wi,Ri)=>{wi&&wi.length&&Ri&&wi.forEach(ai=>{const hi={display:Ri.display&&Ri.expanded,level:Ri.level+1,expanded:!1,noLazyChildren:!1,loading:!1},xi=getRowIdentity(ai,Ue.value);if(isPropAbsent(xi))throw new Error("For nested data item, row-key is required.");if(kt={...Oe.value[xi]},kt&&(hi.expanded=kt.expanded,kt.level=kt.level||hi.level,kt.display=!!(kt.expanded&&hi.display),isBoolean(kt.lazy)&&(isBoolean(kt.loaded)&&kt.loaded&&(hi.noLazyChildren=!(kt.children&&kt.children.length)),hi.loading=kt.loading)),ri++,jt.push(pe(ai,Ie+ri,hi)),kt){const Oi=ze.value[xi]||ai[qe.value];ni(Oi,kt)}})};kt.display=!0;const Ci=ze.value[Lt]||xe[qe.value];ni(Ci,kt)}return jt}else return pe(xe,Ie,void 0)},tooltipContent:z,tooltipTrigger:j}}const defaultProps$2={store:{required:!0,type:Object},stripe:Boolean,tooltipEffect:String,tooltipOptions:{type:Object},context:{default:()=>({}),type:Object},rowClassName:[String,Function],rowStyle:[Object,Function],fixed:{type:String,default:""},highlight:Boolean};var TableBody=defineComponent({name:"ElTableBody",props:defaultProps$2,setup(n){const e=getCurrentInstance$1(),t=inject(TABLE_INJECTION_KEY),i=useNamespace("table"),{wrappedRowRender:r,tooltipContent:g,tooltipTrigger:y}=useRender$1(n),{onColumnsChange:k,onScrollableChange:L}=useLayoutObserver(t),V=[];return watch(n.store.states.hoverRow,(z,j)=>{var ie;const oe=e==null?void 0:e.vnode.el,re=Array.from((oe==null?void 0:oe.children)||[]).filter(de=>de==null?void 0:de.classList.contains("".concat(i.e("row"))));let ae=z;const le=(ie=re[ae])==null?void 0:ie.childNodes;if(le!=null&&le.length){let de=0;Array.from(le).reduce((he,pe,Ce)=>{var $e,xe;return(($e=le[Ce])==null?void 0:$e.colSpan)>1&&(de=(xe=le[Ce])==null?void 0:xe.colSpan),pe.nodeName!=="TD"&&de===0&&he.push(Ce),de>0&&de--,he},[]).forEach(he=>{var pe;for(ae=z;ae>0;){const Ce=(pe=re[ae-1])==null?void 0:pe.childNodes;if(Ce[he]&&Ce[he].nodeName==="TD"&&Ce[he].rowSpan>1){addClass(Ce[he],"hover-cell"),V.push(Ce[he]);break}ae--}})}else V.forEach(de=>removeClass(de,"hover-cell")),V.length=0;!n.store.states.isComplex.value||!isClient||rAF(()=>{const de=re[j],ue=re[z];de&&!de.classList.contains("hover-fixed-row")&&removeClass(de,"hover-row"),ue&&addClass(ue,"hover-row")})}),onUnmounted(()=>{var z;(z=removePopper)==null||z()}),{ns:i,onColumnsChange:k,onScrollableChange:L,wrappedRowRender:r,tooltipContent:g,tooltipTrigger:y}},render(){const{wrappedRowRender:n,store:e}=this,t=e.states.data.value||[];return h$3("tbody",{tabIndex:-1},[t.reduce((i,r)=>i.concat(n(r,i.length)),[])])}});function useMapState(){const n=inject(TABLE_INJECTION_KEY),e=n==null?void 0:n.store,t=computed$1(()=>e.states.fixedLeafColumnsLength.value),i=computed$1(()=>e.states.rightFixedColumns.value.length),r=computed$1(()=>e.states.columns.value.length),g=computed$1(()=>e.states.fixedColumns.value.length),y=computed$1(()=>e.states.rightFixedColumns.value.length);return{leftFixedLeafCount:t,rightFixedLeafCount:i,columnsCount:r,leftFixedCount:g,rightFixedCount:y,columns:e.states.columns}}function useStyle$1(n){const{columns:e}=useMapState(),t=useNamespace("table");return{getCellClasses:(g,y)=>{const k=g[y],L=[t.e("cell"),k.id,k.align,k.labelClassName,...getFixedColumnsClass(t.b(),y,k.fixed,n.store)];return k.className&&L.push(k.className),k.children||L.push(t.is("leaf")),L},getCellStyles:(g,y)=>{const k=getFixedColumnOffset(y,g.fixed,n.store);return ensurePosition(k,"left"),ensurePosition(k,"right"),k},columns:e}}var TableFooter=defineComponent({name:"ElTableFooter",props:{fixed:{type:String,default:""},store:{required:!0,type:Object},summaryMethod:Function,sumText:String,border:Boolean,defaultSort:{type:Object,default:()=>({prop:"",order:""})}},setup(n){const{getCellClasses:e,getCellStyles:t,columns:i}=useStyle$1(n);return{ns:useNamespace("table"),getCellClasses:e,getCellStyles:t,columns:i}},render(){const{columns:n,getCellStyles:e,getCellClasses:t,summaryMethod:i,sumText:r}=this,g=this.store.states.data.value;let y=[];return i?y=i({columns:n,data:g}):n.forEach((k,L)=>{if(L===0){y[L]=r;return}const V=g.map(oe=>Number(oe[k.property])),z=[];let j=!0;V.forEach(oe=>{if(!Number.isNaN(+oe)){j=!1;const re="".concat(oe).split(".")[1];z.push(re?re.length:0)}});const ie=Math.max.apply(null,z);j?y[L]="":y[L]=V.reduce((oe,re)=>{const ae=Number(re);return Number.isNaN(+ae)?oe:Number.parseFloat((oe+re).toFixed(Math.min(ie,20)))},0)}),h$3(h$3("tfoot",[h$3("tr",{},[...n.map((k,L)=>h$3("td",{key:L,colspan:k.colSpan,rowspan:k.rowSpan,class:t(n,L),style:e(k,L)},[h$3("div",{class:["cell",k.labelClassName]},[y[L]])]))])]))}});function useUtils(n){return{setCurrentRow:j=>{n.commit("setCurrentRow",j)},getSelectionRows:()=>n.getSelectionRows(),toggleRowSelection:(j,ie,oe=!0)=>{n.toggleRowSelection(j,ie,!1,oe),n.updateAllSelected()},clearSelection:()=>{n.clearSelection()},clearFilter:j=>{n.clearFilter(j)},toggleAllSelection:()=>{n.commit("toggleAllSelection")},toggleRowExpansion:(j,ie)=>{n.toggleRowExpansionAdapter(j,ie)},clearSort:()=>{n.clearSort()},sort:(j,ie)=>{n.commit("sort",{prop:j,order:ie})},updateKeyChildren:(j,ie)=>{n.updateKeyChildren(j,ie)}}}function useStyle(n,e,t,i){const r=ref$1(!1),g=ref$1(null),y=ref$1(!1),k=Lt=>{y.value=Lt},L=ref$1({width:null,height:null,headerHeight:null}),V=ref$1(!1),z={display:"inline-block",verticalAlign:"middle"},j=ref$1(),ie=ref$1(0),oe=ref$1(0),re=ref$1(0),ae=ref$1(0),le=ref$1(0);watchEffect(()=>{e.setHeight(n.height)}),watchEffect(()=>{e.setMaxHeight(n.maxHeight)}),watch(()=>[n.currentRowKey,t.states.rowKey],([Lt,kt])=>{!unref(kt)||!unref(Lt)||t.setCurrentRowKey("".concat(Lt))},{immediate:!0}),watch(()=>n.data,Lt=>{i.store.commit("setData",Lt)},{immediate:!0,deep:!0}),watchEffect(()=>{n.expandRowKeys&&t.setExpandRowKeysAdapter(n.expandRowKeys)});const de=()=>{i.store.commit("setHoverRow",null),i.hoverState&&(i.hoverState=null)},ue=(Lt,kt)=>{const{pixelX:ei,pixelY:jt}=kt;Math.abs(ei)>=Math.abs(jt)&&(i.refs.bodyWrapper.scrollLeft+=kt.pixelX/5)},he=computed$1(()=>n.height||n.maxHeight||t.states.fixedColumns.value.length>0||t.states.rightFixedColumns.value.length>0),pe=computed$1(()=>({width:e.bodyWidth.value?"".concat(e.bodyWidth.value,"px"):""})),Ce=()=>{he.value&&e.updateElsHeight(),e.updateColumnsWidth(),requestAnimationFrame(Ne)};onMounted(async()=>{await nextTick(),t.updateColumns(),Fe(),requestAnimationFrame(Ce);const Lt=i.vnode.el,kt=i.refs.headerWrapper;n.flexible&&Lt&&Lt.parentElement&&(Lt.parentElement.style.minWidth="0"),L.value={width:j.value=Lt.offsetWidth,height:Lt.offsetHeight,headerHeight:n.showHeader&&kt?kt.offsetHeight:null},t.states.columns.value.forEach(ei=>{ei.filteredValue&&ei.filteredValue.length&&i.store.commit("filterChange",{column:ei,values:ei.filteredValue,silent:!0})}),i.$ready=!0});const $e=(Lt,kt)=>{if(!Lt)return;const ei=Array.from(Lt.classList).filter(jt=>!jt.startsWith("is-scrolling-"));ei.push(e.scrollX.value?kt:"is-scrolling-none"),Lt.className=ei.join(" ")},xe=Lt=>{const{tableWrapper:kt}=i.refs;$e(kt,Lt)},Ie=Lt=>{const{tableWrapper:kt}=i.refs;return!!(kt&&kt.classList.contains(Lt))},Ne=function(){if(!i.refs.scrollBarRef)return;if(!e.scrollX.value){const wi="is-scrolling-none";Ie(wi)||xe(wi);return}const Lt=i.refs.scrollBarRef.wrapRef;if(!Lt)return;const{scrollLeft:kt,offsetWidth:ei,scrollWidth:jt}=Lt,{headerWrapper:ri,footerWrapper:ni}=i.refs;ri&&(ri.scrollLeft=kt),ni&&(ni.scrollLeft=kt);const Ci=jt-ei-1;kt>=Ci?xe("is-scrolling-right"):xe(kt===0?"is-scrolling-left":"is-scrolling-middle")},Fe=()=>{i.refs.scrollBarRef&&(i.refs.scrollBarRef.wrapRef&&useEventListener(i.refs.scrollBarRef.wrapRef,"scroll",Ne,{passive:!0}),n.fit?useResizeObserver(i.vnode.el,Ve):useEventListener(window,"resize",Ve),useResizeObserver(i.refs.bodyWrapper,()=>{var Lt,kt;Ve(),(kt=(Lt=i.refs)==null?void 0:Lt.scrollBarRef)==null||kt.update()}))},Ve=()=>{var Lt,kt,ei,jt;const ri=i.vnode.el;if(!i.$ready||!ri)return;let ni=!1;const{width:Ci,height:wi,headerHeight:Ri}=L.value,ai=j.value=ri.offsetWidth;Ci!==ai&&(ni=!0);const hi=ri.offsetHeight;(n.height||he.value)&&wi!==hi&&(ni=!0);const xi=n.tableLayout==="fixed"?i.refs.headerWrapper:(Lt=i.refs.tableHeaderRef)==null?void 0:Lt.$el;n.showHeader&&(xi==null?void 0:xi.offsetHeight)!==Ri&&(ni=!0),ie.value=((kt=i.refs.tableWrapper)==null?void 0:kt.scrollHeight)||0,re.value=(xi==null?void 0:xi.scrollHeight)||0,ae.value=((ei=i.refs.footerWrapper)==null?void 0:ei.offsetHeight)||0,le.value=((jt=i.refs.appendWrapper)==null?void 0:jt.offsetHeight)||0,oe.value=ie.value-re.value-ae.value-le.value,ni&&(L.value={width:ai,height:hi,headerHeight:n.showHeader&&(xi==null?void 0:xi.offsetHeight)||0},Ce())},Oe=useFormSize(),ze=computed$1(()=>{const{bodyWidth:Lt,scrollY:kt,gutterWidth:ei}=e;return Lt.value?"".concat(Lt.value-(kt.value?ei:0),"px"):""}),qe=computed$1(()=>n.maxHeight?"fixed":n.tableLayout),Ue=computed$1(()=>{if(n.data&&n.data.length)return null;let Lt="100%";n.height&&oe.value&&(Lt="".concat(oe.value,"px"));const kt=j.value;return{width:kt?"".concat(kt,"px"):"",height:Lt}}),Et=computed$1(()=>n.height?{height:"100%"}:n.maxHeight?Number.isNaN(Number(n.maxHeight))?{maxHeight:"calc(".concat(n.maxHeight," - ").concat(re.value+ae.value,"px)")}:{maxHeight:"".concat(n.maxHeight-re.value-ae.value,"px")}:{});return{isHidden:r,renderExpanded:g,setDragVisible:k,isGroup:V,handleMouseLeave:de,handleHeaderFooterMousewheel:ue,tableSize:Oe,emptyBlockStyle:Ue,handleFixedMousewheel:(Lt,kt)=>{const ei=i.refs.bodyWrapper;if(Math.abs(kt.spinY)>0){const jt=ei.scrollTop;kt.pixelY<0&&jt!==0&&Lt.preventDefault(),kt.pixelY>0&&ei.scrollHeight-ei.clientHeight>jt&&Lt.preventDefault(),ei.scrollTop+=Math.ceil(kt.pixelY/5)}else ei.scrollLeft+=Math.ceil(kt.pixelX/5)},resizeProxyVisible:y,bodyWidth:ze,resizeState:L,doLayout:Ce,tableBodyStyles:pe,tableLayout:qe,scrollbarViewStyle:z,scrollbarStyle:Et}}function useKeyRender(n){const e=ref$1(),t=()=>{const r=n.vnode.el.querySelector(".hidden-columns"),g={childList:!0,subtree:!0},y=n.store.states.updateOrderFns;e.value=new MutationObserver(()=>{y.forEach(k=>k())}),e.value.observe(r,g)};onMounted(()=>{t()}),onUnmounted(()=>{var i;(i=e.value)==null||i.disconnect()})}var defaultProps$1={data:{type:Array,default:()=>[]},size:useSizeProp,width:[String,Number],height:[String,Number],maxHeight:[String,Number],fit:{type:Boolean,default:!0},stripe:Boolean,border:Boolean,rowKey:[String,Function],showHeader:{type:Boolean,default:!0},showSummary:Boolean,sumText:String,summaryMethod:Function,rowClassName:[String,Function],rowStyle:[Object,Function],cellClassName:[String,Function],cellStyle:[Object,Function],headerRowClassName:[String,Function],headerRowStyle:[Object,Function],headerCellClassName:[String,Function],headerCellStyle:[Object,Function],highlightCurrentRow:Boolean,currentRowKey:[String,Number],emptyText:String,expandRowKeys:Array,defaultExpandAll:Boolean,defaultSort:Object,tooltipEffect:String,tooltipOptions:Object,spanMethod:Function,selectOnIndeterminate:{type:Boolean,default:!0},indent:{type:Number,default:16},treeProps:{type:Object,default:()=>({hasChildren:"hasChildren",children:"children",checkStrictly:!1})},lazy:Boolean,load:Function,style:{type:Object,default:()=>({})},className:{type:String,default:""},tableLayout:{type:String,default:"fixed"},scrollbarAlwaysOn:Boolean,flexible:Boolean,showOverflowTooltip:[Boolean,Object],appendFilterPanelTo:String,scrollbarTabindex:{type:[Number,String],default:void 0},allowDragLastColumn:{type:Boolean,default:!0}};function hColgroup(n){const e=n.tableLayout==="auto";let t=n.columns||[];e&&t.every(({width:r})=>isUndefined(r))&&(t=[]);const i=r=>{const g={key:"".concat(n.tableLayout,"_").concat(r.id),style:{},name:void 0};return e?g.style={width:"".concat(r.width,"px")}:g.name=r.id,g};return h$3("colgroup",{},t.map(r=>h$3("col",i(r))))}hColgroup.props=["columns","tableLayout"];const useScrollbar=()=>{const n=ref$1(),e=(g,y)=>{const k=n.value;k&&k.scrollTo(g,y)},t=(g,y)=>{const k=n.value;k&&isNumber(y)&&["Top","Left"].includes(g)&&k["setScroll".concat(g)](y)};return{scrollBarRef:n,scrollTo:e,setScrollTop:g=>t("Top",g),setScrollLeft:g=>t("Left",g)}},mousewheel=function(n,e){if(n&&n.addEventListener){const t=function(i){const r=Y(i);e&&Reflect.apply(e,this,[i,r])};n.addEventListener("wheel",t,{passive:!0})}},Mousewheel={beforeMount(n,e){mousewheel(n,e.value)}};let tableIdSeed=1;const _sfc_main$j=defineComponent({name:"ElTable",directives:{Mousewheel},components:{TableHeader,TableBody,TableFooter,ElScrollbar,hColgroup},props:defaultProps$1,emits:["select","select-all","selection-change","cell-mouse-enter","cell-mouse-leave","cell-contextmenu","cell-click","cell-dblclick","row-click","row-contextmenu","row-dblclick","header-click","header-contextmenu","sort-change","filter-change","current-change","header-dragend","expand-change","scroll"],setup(n){const{t:e}=useLocale(),t=useNamespace("table"),i=getCurrentInstance$1();provide(TABLE_INJECTION_KEY,i);const r=createStore(i,n);i.store=r;const g=new TableLayout({store:i.store,table:i,fit:n.fit,showHeader:n.showHeader});i.layout=g;const y=computed$1(()=>(r.states.data.value||[]).length===0),{setCurrentRow:k,getSelectionRows:L,toggleRowSelection:V,clearSelection:z,clearFilter:j,toggleAllSelection:ie,toggleRowExpansion:oe,clearSort:re,sort:ae,updateKeyChildren:le}=useUtils(r),{isHidden:de,renderExpanded:ue,setDragVisible:he,isGroup:pe,handleMouseLeave:Ce,handleHeaderFooterMousewheel:$e,tableSize:xe,emptyBlockStyle:Ie,handleFixedMousewheel:Ne,resizeProxyVisible:Fe,bodyWidth:Ve,resizeState:Oe,doLayout:ze,tableBodyStyles:qe,tableLayout:Ue,scrollbarViewStyle:Et,scrollbarStyle:At}=useStyle(n,g,r,i),{scrollBarRef:Lt,scrollTo:kt,setScrollLeft:ei,setScrollTop:jt}=useScrollbar(),ri=debounce(ze,50),ni="".concat(t.namespace.value,"-table_").concat(tableIdSeed++);i.tableId=ni,i.state={isGroup:pe,resizeState:Oe,doLayout:ze,debouncedUpdateLayout:ri};const Ci=computed$1(()=>{var ai;return(ai=n.sumText)!=null?ai:e("el.table.sumText")}),wi=computed$1(()=>{var ai;return(ai=n.emptyText)!=null?ai:e("el.table.emptyText")}),Ri=computed$1(()=>convertToRows(r.states.originColumns.value)[0]);return useKeyRender(i),onBeforeUnmount(()=>{ri.cancel()}),{ns:t,layout:g,store:r,columns:Ri,handleHeaderFooterMousewheel:$e,handleMouseLeave:Ce,tableId:ni,tableSize:xe,isHidden:de,isEmpty:y,renderExpanded:ue,resizeProxyVisible:Fe,resizeState:Oe,isGroup:pe,bodyWidth:Ve,tableBodyStyles:qe,emptyBlockStyle:Ie,debouncedUpdateLayout:ri,handleFixedMousewheel:Ne,setCurrentRow:k,getSelectionRows:L,toggleRowSelection:V,clearSelection:z,clearFilter:j,toggleAllSelection:ie,toggleRowExpansion:oe,clearSort:re,doLayout:ze,sort:ae,updateKeyChildren:le,t:e,setDragVisible:he,context:i,computedSumText:Ci,computedEmptyText:wi,tableLayout:Ue,scrollbarViewStyle:Et,scrollbarStyle:At,scrollBarRef:Lt,scrollTo:kt,setScrollLeft:ei,setScrollTop:jt,allowDragLastColumn:n.allowDragLastColumn}}});function _sfc_render$5(n,e,t,i,r,g){const y=resolveComponent("hColgroup"),k=resolveComponent("table-header"),L=resolveComponent("table-body"),V=resolveComponent("table-footer"),z=resolveComponent("el-scrollbar"),j=resolveDirective("mousewheel");return openBlock(),createElementBlock("div",{ref:"tableWrapper",class:normalizeClass([{[n.ns.m("fit")]:n.fit,[n.ns.m("striped")]:n.stripe,[n.ns.m("border")]:n.border||n.isGroup,[n.ns.m("hidden")]:n.isHidden,[n.ns.m("group")]:n.isGroup,[n.ns.m("fluid-height")]:n.maxHeight,[n.ns.m("scrollable-x")]:n.layout.scrollX.value,[n.ns.m("scrollable-y")]:n.layout.scrollY.value,[n.ns.m("enable-row-hover")]:!n.store.states.isComplex.value,[n.ns.m("enable-row-transition")]:(n.store.states.data.value||[]).length!==0&&(n.store.states.data.value||[]).length<100,"has-footer":n.showSummary},n.ns.m(n.tableSize),n.className,n.ns.b(),n.ns.m("layout-".concat(n.tableLayout))]),style:normalizeStyle(n.style),"data-prefix":n.ns.namespace.value,onMouseleave:n.handleMouseLeave},[createBaseVNode("div",{class:normalizeClass(n.ns.e("inner-wrapper"))},[createBaseVNode("div",{ref:"hiddenColumns",class:"hidden-columns"},[renderSlot(n.$slots,"default")],512),n.showHeader&&n.tableLayout==="fixed"?withDirectives((openBlock(),createElementBlock("div",{key:0,ref:"headerWrapper",class:normalizeClass(n.ns.e("header-wrapper"))},[createBaseVNode("table",{ref:"tableHeader",class:normalizeClass(n.ns.e("header")),style:normalizeStyle(n.tableBodyStyles),border:"0",cellpadding:"0",cellspacing:"0"},[createVNode(y,{columns:n.store.states.columns.value,"table-layout":n.tableLayout},null,8,["columns","table-layout"]),createVNode(k,{ref:"tableHeaderRef",border:n.border,"default-sort":n.defaultSort,store:n.store,"append-filter-panel-to":n.appendFilterPanelTo,"allow-drag-last-column":n.allowDragLastColumn,onSetDragVisible:n.setDragVisible},null,8,["border","default-sort","store","append-filter-panel-to","allow-drag-last-column","onSetDragVisible"])],6)],2)),[[j,n.handleHeaderFooterMousewheel]]):createCommentVNode("v-if",!0),createBaseVNode("div",{ref:"bodyWrapper",class:normalizeClass(n.ns.e("body-wrapper"))},[createVNode(z,{ref:"scrollBarRef","view-style":n.scrollbarViewStyle,"wrap-style":n.scrollbarStyle,always:n.scrollbarAlwaysOn,tabindex:n.scrollbarTabindex,onScroll:ie=>n.$emit("scroll",ie)},{default:withCtx(()=>[createBaseVNode("table",{ref:"tableBody",class:normalizeClass(n.ns.e("body")),cellspacing:"0",cellpadding:"0",border:"0",style:normalizeStyle({width:n.bodyWidth,tableLayout:n.tableLayout})},[createVNode(y,{columns:n.store.states.columns.value,"table-layout":n.tableLayout},null,8,["columns","table-layout"]),n.showHeader&&n.tableLayout==="auto"?(openBlock(),createBlock(k,{key:0,ref:"tableHeaderRef",class:normalizeClass(n.ns.e("body-header")),border:n.border,"default-sort":n.defaultSort,store:n.store,"append-filter-panel-to":n.appendFilterPanelTo,onSetDragVisible:n.setDragVisible},null,8,["class","border","default-sort","store","append-filter-panel-to","onSetDragVisible"])):createCommentVNode("v-if",!0),createVNode(L,{context:n.context,highlight:n.highlightCurrentRow,"row-class-name":n.rowClassName,"tooltip-effect":n.tooltipEffect,"tooltip-options":n.tooltipOptions,"row-style":n.rowStyle,store:n.store,stripe:n.stripe},null,8,["context","highlight","row-class-name","tooltip-effect","tooltip-options","row-style","store","stripe"]),n.showSummary&&n.tableLayout==="auto"?(openBlock(),createBlock(V,{key:1,class:normalizeClass(n.ns.e("body-footer")),border:n.border,"default-sort":n.defaultSort,store:n.store,"sum-text":n.computedSumText,"summary-method":n.summaryMethod},null,8,["class","border","default-sort","store","sum-text","summary-method"])):createCommentVNode("v-if",!0)],6),n.isEmpty?(openBlock(),createElementBlock("div",{key:0,ref:"emptyBlock",style:normalizeStyle(n.emptyBlockStyle),class:normalizeClass(n.ns.e("empty-block"))},[createBaseVNode("span",{class:normalizeClass(n.ns.e("empty-text"))},[renderSlot(n.$slots,"empty",{},()=>[createTextVNode(toDisplayString(n.computedEmptyText),1)])],2)],6)):createCommentVNode("v-if",!0),n.$slots.append?(openBlock(),createElementBlock("div",{key:1,ref:"appendWrapper",class:normalizeClass(n.ns.e("append-wrapper"))},[renderSlot(n.$slots,"append")],2)):createCommentVNode("v-if",!0)]),_:3},8,["view-style","wrap-style","always","tabindex","onScroll"])],2),n.showSummary&&n.tableLayout==="fixed"?withDirectives((openBlock(),createElementBlock("div",{key:1,ref:"footerWrapper",class:normalizeClass(n.ns.e("footer-wrapper"))},[createBaseVNode("table",{class:normalizeClass(n.ns.e("footer")),cellspacing:"0",cellpadding:"0",border:"0",style:normalizeStyle(n.tableBodyStyles)},[createVNode(y,{columns:n.store.states.columns.value,"table-layout":n.tableLayout},null,8,["columns","table-layout"]),createVNode(V,{border:n.border,"default-sort":n.defaultSort,store:n.store,"sum-text":n.computedSumText,"summary-method":n.summaryMethod},null,8,["border","default-sort","store","sum-text","summary-method"])],6)],2)),[[vShow,!n.isEmpty],[j,n.handleHeaderFooterMousewheel]]):createCommentVNode("v-if",!0),n.border||n.isGroup?(openBlock(),createElementBlock("div",{key:2,class:normalizeClass(n.ns.e("border-left-patch"))},null,2)):createCommentVNode("v-if",!0)],2),withDirectives(createBaseVNode("div",{ref:"resizeProxy",class:normalizeClass(n.ns.e("column-resize-proxy"))},null,2),[[vShow,n.resizeProxyVisible]])],46,["data-prefix","onMouseleave"])}var Table=_export_sfc(_sfc_main$j,[["render",_sfc_render$5],["__file","table.vue"]]);const defaultClassNames={selection:"table-column--selection",expand:"table__expand-column"},cellStarts={default:{order:""},selection:{width:48,minWidth:48,realWidth:48,order:""},expand:{width:48,minWidth:48,realWidth:48,order:""},index:{width:48,minWidth:48,realWidth:48,order:""}},getDefaultClassName=n=>defaultClassNames[n]||"",cellForced={selection:{renderHeader({store:n,column:e}){function t(){return n.states.data.value&&n.states.data.value.length===0}return h$3(ElCheckbox,{disabled:t(),size:n.states.tableSize.value,indeterminate:n.states.selection.value.length>0&&!n.states.isAllSelected.value,"onUpdate:modelValue":n.toggleAllSelection,modelValue:n.states.isAllSelected.value,ariaLabel:e.label})},renderCell({row:n,column:e,store:t,$index:i}){return h$3(ElCheckbox,{disabled:e.selectable?!e.selectable.call(null,n,i):!1,size:t.states.tableSize.value,onChange:()=>{t.commit("rowSelectedChanged",n)},onClick:r=>r.stopPropagation(),modelValue:t.isSelected(n),ariaLabel:e.label})},sortable:!1,resizable:!1},index:{renderHeader({column:n}){return n.label||"#"},renderCell({column:n,$index:e}){let t=e+1;const i=n.index;return isNumber(i)?t=e+i:isFunction$4(i)&&(t=i(e)),h$3("div",{},[t])},sortable:!1},expand:{renderHeader({column:n}){return n.label||""},renderCell({row:n,store:e,expanded:t}){const{ns:i}=e,r=[i.e("expand-icon")];return t&&r.push(i.em("expand-icon","expanded")),h$3("div",{class:r,onClick:function(y){y.stopPropagation(),e.toggleRowExpansion(n)}},{default:()=>[h$3(ElIcon,null,{default:()=>[h$3(arrow_right_default)]})]})},sortable:!1,resizable:!1}};function defaultRenderCell({row:n,column:e,$index:t}){var i;const r=e.property,g=r&&getProp(n,r).value;return e&&e.formatter?e.formatter(n,e,g,t):((i=g==null?void 0:g.toString)==null?void 0:i.call(g))||""}function treeCellPrefix({row:n,treeNode:e,store:t},i=!1){const{ns:r}=t;if(!e)return i?[h$3("span",{class:r.e("placeholder")})]:null;const g=[],y=function(k){k.stopPropagation(),!e.loading&&t.loadOrToggle(n)};if(e.indent&&g.push(h$3("span",{class:r.e("indent"),style:{"padding-left":"".concat(e.indent,"px")}})),isBoolean(e.expanded)&&!e.noLazyChildren){const k=[r.e("expand-icon"),e.expanded?r.em("expand-icon","expanded"):""];let L=arrow_right_default;e.loading&&(L=loading_default),g.push(h$3("div",{class:k,onClick:y},{default:()=>[h$3(ElIcon,{class:{[r.is("loading")]:e.loading}},{default:()=>[h$3(L)]})]}))}else g.push(h$3("span",{class:r.e("placeholder")}));return g}function getAllAliases(n,e){return n.reduce((t,i)=>(t[i]=i,t),e)}function useWatcher(n,e){const t=getCurrentInstance$1();return{registerComplexWatchers:()=>{const g=["fixed"],y={realWidth:"width",realMinWidth:"minWidth"},k=getAllAliases(g,y);Object.keys(k).forEach(L=>{const V=y[L];hasOwn(e,V)&&watch(()=>e[V],z=>{let j=z;V==="width"&&L==="realWidth"&&(j=parseWidth(z)),V==="minWidth"&&L==="realMinWidth"&&(j=parseMinWidth(z)),t.columnConfig.value[V]=j,t.columnConfig.value[L]=j;const ie=V==="fixed";n.value.store.scheduleLayout(ie)})})},registerNormalWatchers:()=>{const g=["label","filters","filterMultiple","filteredValue","sortable","index","formatter","className","labelClassName","filterClassName","showOverflowTooltip"],y={property:"prop",align:"realAlign",headerAlign:"realHeaderAlign"},k=getAllAliases(g,y);Object.keys(k).forEach(L=>{const V=y[L];hasOwn(e,V)&&watch(()=>e[V],z=>{t.columnConfig.value[L]=z})})}}}function useRender(n,e,t){const i=getCurrentInstance$1(),r=ref$1(""),g=ref$1(!1),y=ref$1(),k=ref$1(),L=useNamespace("table");watchEffect(()=>{y.value=n.align?"is-".concat(n.align):null,y.value}),watchEffect(()=>{k.value=n.headerAlign?"is-".concat(n.headerAlign):y.value,k.value});const V=computed$1(()=>{let pe=i.vnode.vParent||i.parent;for(;pe&&!pe.tableId&&!pe.columnId;)pe=pe.vnode.vParent||pe.parent;return pe}),z=computed$1(()=>{const{store:pe}=i.parent;if(!pe)return!1;const{treeData:Ce}=pe.states,$e=Ce.value;return $e&&Object.keys($e).length>0}),j=ref$1(parseWidth(n.width)),ie=ref$1(parseMinWidth(n.minWidth)),oe=pe=>(j.value&&(pe.width=j.value),ie.value&&(pe.minWidth=ie.value),!j.value&&ie.value&&(pe.width=void 0),pe.minWidth||(pe.minWidth=80),pe.realWidth=Number(isUndefined(pe.width)?pe.minWidth:pe.width),pe),re=pe=>{const Ce=pe.type,$e=cellForced[Ce]||{};Object.keys($e).forEach(Ie=>{const Ne=$e[Ie];Ie!=="className"&&!isUndefined(Ne)&&(pe[Ie]=Ne)});const xe=getDefaultClassName(Ce);if(xe){const Ie="".concat(unref(L.namespace),"-").concat(xe);pe.className=pe.className?"".concat(pe.className," ").concat(Ie):Ie}return pe},ae=pe=>{isArray$2(pe)?pe.forEach($e=>Ce($e)):Ce(pe);function Ce($e){var xe;((xe=$e==null?void 0:$e.type)==null?void 0:xe.name)==="ElTableColumn"&&($e.vParent=i)}};return{columnId:r,realAlign:y,isSubColumn:g,realHeaderAlign:k,columnOrTableParent:V,setColumnWidth:oe,setColumnForcedProps:re,setColumnRenders:pe=>{n.renderHeader||pe.type!=="selection"&&(pe.renderHeader=$e=>(i.columnConfig.value.label,renderSlot(e,"header",$e,()=>[pe.label]))),e["filter-icon"]&&(pe.renderFilterIcon=$e=>renderSlot(e,"filter-icon",$e));let Ce=pe.renderCell;return pe.type==="expand"?(pe.renderCell=$e=>h$3("div",{class:"cell"},[Ce($e)]),t.value.renderExpanded=$e=>e.default?e.default($e):e.default):(Ce=Ce||defaultRenderCell,pe.renderCell=$e=>{let xe=null;if(e.default){const ze=e.default($e);xe=ze.some(qe=>qe.type!==Comment)?ze:Ce($e)}else xe=Ce($e);const{columns:Ie}=t.value.store.states,Ne=Ie.value.findIndex(ze=>ze.type==="default"),Fe=z.value&&$e.cellIndex===Ne,Ve=treeCellPrefix($e,Fe),Oe={class:"cell",style:{}};return pe.showOverflowTooltip&&(Oe.class="".concat(Oe.class," ").concat(unref(L.namespace),"-tooltip"),Oe.style={width:"".concat(($e.column.realWidth||Number($e.column.width))-1,"px")}),ae(xe),h$3("div",Oe,[Ve,xe])}),pe},getPropsData:(...pe)=>pe.reduce((Ce,$e)=>(isArray$2($e)&&$e.forEach(xe=>{Ce[xe]=n[xe]}),Ce),{}),getColumnElIndex:(pe,Ce)=>Array.prototype.indexOf.call(pe,Ce),updateColumnOrder:()=>{t.value.store.commit("updateColumnOrder",i.columnConfig.value)}}}var defaultProps={type:{type:String,default:"default"},label:String,className:String,labelClassName:String,property:String,prop:String,width:{type:[String,Number],default:""},minWidth:{type:[String,Number],default:""},renderHeader:Function,sortable:{type:[Boolean,String],default:!1},sortMethod:Function,sortBy:[String,Function,Array],resizable:{type:Boolean,default:!0},columnKey:String,align:String,headerAlign:String,showOverflowTooltip:{type:[Boolean,Object],default:void 0},fixed:[Boolean,String],formatter:Function,selectable:Function,reserveSelection:Boolean,filterMethod:Function,filteredValue:Array,filters:Array,filterPlacement:String,filterMultiple:{type:Boolean,default:!0},filterClassName:String,index:[Number,Function],sortOrders:{type:Array,default:()=>["ascending","descending",null],validator:n=>n.every(e=>["ascending","descending",null].includes(e))}};let columnIdSeed=1;var ElTableColumn$1=defineComponent({name:"ElTableColumn",components:{ElCheckbox},props:defaultProps,setup(n,{slots:e}){const t=getCurrentInstance$1(),i=ref$1({}),r=computed$1(()=>{let he=t.parent;for(;he&&!he.tableId;)he=he.parent;return he}),{registerNormalWatchers:g,registerComplexWatchers:y}=useWatcher(r,n),{columnId:k,isSubColumn:L,realHeaderAlign:V,columnOrTableParent:z,setColumnWidth:j,setColumnForcedProps:ie,setColumnRenders:oe,getPropsData:re,getColumnElIndex:ae,realAlign:le,updateColumnOrder:de}=useRender(n,e,r),ue=z.value;k.value="".concat(ue.tableId||ue.columnId,"_column_").concat(columnIdSeed++),onBeforeMount(()=>{L.value=r.value!==ue;const he=n.type||"default",pe=n.sortable===""?!0:n.sortable,Ce=isUndefined(n.showOverflowTooltip)?ue.props.showOverflowTooltip:n.showOverflowTooltip,$e={...cellStarts[he],id:k.value,type:he,property:n.prop||n.property,align:le,headerAlign:V,showOverflowTooltip:Ce,filterable:n.filters||n.filterMethod,filteredValue:[],filterPlacement:"",filterClassName:"",isColumnGroup:!1,isSubColumn:!1,filterOpened:!1,sortable:pe,index:n.index,rawColumnKey:t.vnode.key};let Ve=re(["columnKey","label","className","labelClassName","type","renderHeader","formatter","fixed","resizable"],["sortMethod","sortBy","sortOrders"],["selectable","reserveSelection"],["filterMethod","filters","filterMultiple","filterOpened","filteredValue","filterPlacement","filterClassName"]);Ve=mergeOptions$1($e,Ve),Ve=compose(oe,j,ie)(Ve),i.value=Ve,g(),y()}),onMounted(()=>{var he;const pe=z.value,Ce=L.value?pe.vnode.el.children:(he=pe.refs.hiddenColumns)==null?void 0:he.children,$e=()=>ae(Ce||[],t.vnode.el);i.value.getColumnIndex=$e,$e()>-1&&r.value.store.commit("insertColumn",i.value,L.value?pe.columnConfig.value:null,de)}),onBeforeUnmount(()=>{const he=i.value.getColumnIndex;(he?he():-1)>-1&&r.value.store.commit("removeColumn",i.value,L.value?ue.columnConfig.value:null,de)}),t.columnId=k.value,t.columnConfig=i},render(){var n,e,t;try{const i=(e=(n=this.$slots).default)==null?void 0:e.call(n,{row:{},column:{},$index:-1}),r=[];if(isArray$2(i))for(const y of i)((t=y.type)==null?void 0:t.name)==="ElTableColumn"||y.shapeFlag&2?r.push(y):y.type===Fragment&&isArray$2(y.children)&&y.children.forEach(k=>{(k==null?void 0:k.patchFlag)!==1024&&!isString$5(k==null?void 0:k.children)&&r.push(k)});return h$3("div",r)}catch(i){return h$3("div",[])}}});const ElTable=withInstall(Table,{TableColumn:ElTableColumn$1}),ElTableColumn=withNoopInstall(ElTableColumn$1),tabsRootContextKey=Symbol("tabsRootContextKey"),tabBarProps=buildProps({tabs:{type:definePropType(Array),default:()=>mutable([])}}),COMPONENT_NAME$3="ElTabBar",__default__$6=defineComponent({name:COMPONENT_NAME$3}),_sfc_main$i=defineComponent({...__default__$6,props:tabBarProps,setup(n,{expose:e}){const t=n,i=getCurrentInstance$1(),r=inject(tabsRootContextKey);r||throwError(COMPONENT_NAME$3,"");const g=useNamespace("tabs"),y=ref$1(),k=ref$1(),L=()=>{let oe=0,re=0;const ae=["top","bottom"].includes(r.props.tabPosition)?"width":"height",le=ae==="width"?"x":"y",de=le==="x"?"left":"top";return t.tabs.every(ue=>{var he,pe;const Ce=(pe=(he=i.parent)==null?void 0:he.refs)==null?void 0:pe["tab-".concat(ue.uid)];if(!Ce)return!1;if(!ue.active)return!0;oe=Ce["offset".concat(capitalize(de))],re=Ce["client".concat(capitalize(ae))];const $e=window.getComputedStyle(Ce);return ae==="width"&&(re-=Number.parseFloat($e.paddingLeft)+Number.parseFloat($e.paddingRight),oe+=Number.parseFloat($e.paddingLeft)),!1}),{[ae]:"".concat(re,"px"),transform:"translate".concat(capitalize(le),"(").concat(oe,"px)")}},V=()=>k.value=L(),z=[],j=()=>{var oe;z.forEach(ae=>ae.stop()),z.length=0;const re=(oe=i.parent)==null?void 0:oe.refs;if(re){for(const ae in re)if(ae.startsWith("tab-")){const le=re[ae];le&&z.push(useResizeObserver(le,V))}}};watch(()=>t.tabs,async()=>{await nextTick(),V(),j()},{immediate:!0});const ie=useResizeObserver(y,()=>V());return onBeforeUnmount(()=>{z.forEach(oe=>oe.stop()),z.length=0,ie.stop()}),e({ref:y,update:V}),(oe,re)=>(openBlock(),createElementBlock("div",{ref_key:"barRef",ref:y,class:normalizeClass([unref(g).e("active-bar"),unref(g).is(unref(r).props.tabPosition)]),style:normalizeStyle(k.value)},null,6))}});var TabBar=_export_sfc(_sfc_main$i,[["__file","tab-bar.vue"]]);const tabNavProps=buildProps({panes:{type:definePropType(Array),default:()=>mutable([])},currentName:{type:[String,Number],default:""},editable:Boolean,type:{type:String,values:["card","border-card",""],default:""},stretch:Boolean}),tabNavEmits={tabClick:(n,e,t)=>t instanceof Event,tabRemove:(n,e)=>e instanceof Event},COMPONENT_NAME$2="ElTabNav",TabNav=defineComponent({name:COMPONENT_NAME$2,props:tabNavProps,emits:tabNavEmits,setup(n,{expose:e,emit:t}){const i=inject(tabsRootContextKey);i||throwError(COMPONENT_NAME$2,"");const r=useNamespace("tabs"),g=useDocumentVisibility(),y=useWindowFocus(),k=ref$1(),L=ref$1(),V=ref$1(),z=ref$1(),j=ref$1(!1),ie=ref$1(0),oe=ref$1(!1),re=ref$1(!0),ae=computed$1(()=>["top","bottom"].includes(i.props.tabPosition)?"width":"height"),le=computed$1(()=>{const Ie=ae.value==="width"?"X":"Y";return{transform:"translate".concat(Ie,"(-").concat(ie.value,"px)")}}),de=()=>{if(!k.value)return;const Ie=k.value["offset".concat(capitalize(ae.value))],Ne=ie.value;if(!Ne)return;const Fe=Ne>Ie?Ne-Ie:0;ie.value=Fe},ue=()=>{if(!k.value||!L.value)return;const Ie=L.value["offset".concat(capitalize(ae.value))],Ne=k.value["offset".concat(capitalize(ae.value))],Fe=ie.value;if(Ie-Fe<=Ne)return;const Ve=Ie-Fe>Ne*2?Fe+Ne:Ie-Ne;ie.value=Ve},he=async()=>{const Ie=L.value;if(!j.value||!V.value||!k.value||!Ie)return;await nextTick();const Ne=V.value.querySelector(".is-active");if(!Ne)return;const Fe=k.value,Ve=["top","bottom"].includes(i.props.tabPosition),Oe=Ne.getBoundingClientRect(),ze=Fe.getBoundingClientRect(),qe=Ve?Ie.offsetWidth-ze.width:Ie.offsetHeight-ze.height,Ue=ie.value;let Et=Ue;Ve?(Oe.leftze.right&&(Et=Ue+Oe.right-ze.right)):(Oe.topze.bottom&&(Et=Ue+(Oe.bottom-ze.bottom))),Et=Math.max(Et,0),ie.value=Math.min(Et,qe)},pe=()=>{var Ie;if(!L.value||!k.value)return;n.stretch&&((Ie=z.value)==null||Ie.update());const Ne=L.value["offset".concat(capitalize(ae.value))],Fe=k.value["offset".concat(capitalize(ae.value))],Ve=ie.value;Fe0&&(ie.value=0))},Ce=Ie=>{let Ne=0;switch(Ie.code){case EVENT_CODE.left:case EVENT_CODE.up:Ne=-1;break;case EVENT_CODE.right:case EVENT_CODE.down:Ne=1;break;default:return}const Fe=Array.from(Ie.currentTarget.querySelectorAll("[role=tab]:not(.is-disabled)"));let Oe=Fe.indexOf(Ie.target)+Ne;Oe<0?Oe=Fe.length-1:Oe>=Fe.length&&(Oe=0),Fe[Oe].focus({preventScroll:!0}),Fe[Oe].click(),$e()},$e=()=>{re.value&&(oe.value=!0)},xe=()=>oe.value=!1;return watch(g,Ie=>{Ie==="hidden"?re.value=!1:Ie==="visible"&&setTimeout(()=>re.value=!0,50)}),watch(y,Ie=>{Ie?setTimeout(()=>re.value=!0,50):re.value=!1}),useResizeObserver(V,pe),onMounted(()=>setTimeout(()=>he(),0)),onUpdated(()=>pe()),e({scrollToActiveTab:he,removeFocus:xe}),()=>{const Ie=j.value?[createVNode("span",{class:[r.e("nav-prev"),r.is("disabled",!j.value.prev)],onClick:de},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_left_default,null,null)]})]),createVNode("span",{class:[r.e("nav-next"),r.is("disabled",!j.value.next)],onClick:ue},[createVNode(ElIcon,null,{default:()=>[createVNode(arrow_right_default,null,null)]})])]:null,Ne=n.panes.map((Fe,Ve)=>{var Oe,ze,qe,Ue;const Et=Fe.uid,At=Fe.props.disabled,Lt=(ze=(Oe=Fe.props.name)!=null?Oe:Fe.index)!=null?ze:"".concat(Ve),kt=!At&&(Fe.isClosable||n.editable);Fe.index="".concat(Ve);const ei=kt?createVNode(ElIcon,{class:"is-icon-close",onClick:ni=>t("tabRemove",Fe,ni)},{default:()=>[createVNode(close_default,null,null)]}):null,jt=((Ue=(qe=Fe.slots).label)==null?void 0:Ue.call(qe))||Fe.props.label,ri=!At&&Fe.active?0:-1;return createVNode("div",{ref:"tab-".concat(Et),class:[r.e("item"),r.is(i.props.tabPosition),r.is("active",Fe.active),r.is("disabled",At),r.is("closable",kt),r.is("focus",oe.value)],id:"tab-".concat(Lt),key:"tab-".concat(Et),"aria-controls":"pane-".concat(Lt),role:"tab","aria-selected":Fe.active,tabindex:ri,onFocus:()=>$e(),onBlur:()=>xe(),onClick:ni=>{xe(),t("tabClick",Fe,Lt,ni)},onKeydown:ni=>{kt&&(ni.code===EVENT_CODE.delete||ni.code===EVENT_CODE.backspace)&&t("tabRemove",Fe,ni)}},[jt,ei])});return createVNode("div",{ref:V,class:[r.e("nav-wrap"),r.is("scrollable",!!j.value),r.is(i.props.tabPosition)]},[Ie,createVNode("div",{class:r.e("nav-scroll"),ref:k},[createVNode("div",{class:[r.e("nav"),r.is(i.props.tabPosition),r.is("stretch",n.stretch&&["top","bottom"].includes(i.props.tabPosition))],ref:L,style:le.value,role:"tablist",onKeydown:Ce},[n.type?null:createVNode(TabBar,{ref:z,tabs:[...n.panes]},null),Ne])])])}}}),tabsProps=buildProps({type:{type:String,values:["card","border-card",""],default:""},closable:Boolean,addable:Boolean,modelValue:{type:[String,Number]},editable:Boolean,tabPosition:{type:String,values:["top","right","bottom","left"],default:"top"},beforeLeave:{type:definePropType(Function),default:()=>!0},stretch:Boolean}),isPaneName=n=>isString$5(n)||isNumber(n),tabsEmits={[UPDATE_MODEL_EVENT]:n=>isPaneName(n),tabClick:(n,e)=>e instanceof Event,tabChange:n=>isPaneName(n),edit:(n,e)=>["remove","add"].includes(e),tabRemove:n=>isPaneName(n),tabAdd:()=>!0},Tabs=defineComponent({name:"ElTabs",props:tabsProps,emits:tabsEmits,setup(n,{emit:e,slots:t,expose:i}){var r;const g=useNamespace("tabs"),y=computed$1(()=>["left","right"].includes(n.tabPosition)),{children:k,addChild:L,removeChild:V}=useOrderedChildren(getCurrentInstance$1(),"ElTabPane"),z=ref$1(),j=ref$1((r=n.modelValue)!=null?r:"0"),ie=async(de,ue=!1)=>{var he,pe;if(!(j.value===de||isUndefined(de)))try{let Ce;if(n.beforeLeave){const $e=n.beforeLeave(de,j.value);Ce=$e instanceof Promise?await $e:$e}else Ce=!0;Ce!==!1&&(j.value=de,ue&&(e(UPDATE_MODEL_EVENT,de),e("tabChange",de)),(pe=(he=z.value)==null?void 0:he.removeFocus)==null||pe.call(he))}catch(Ce){}},oe=(de,ue,he)=>{de.props.disabled||(ie(ue,!0),e("tabClick",de,he))},re=(de,ue)=>{de.props.disabled||isUndefined(de.props.name)||(ue.stopPropagation(),e("edit",de.props.name,"remove"),e("tabRemove",de.props.name))},ae=()=>{e("edit",void 0,"add"),e("tabAdd")};watch(()=>n.modelValue,de=>ie(de)),watch(j,async()=>{var de;await nextTick(),(de=z.value)==null||de.scrollToActiveTab()}),provide(tabsRootContextKey,{props:n,currentName:j,registerPane:de=>{k.value.push(de)},sortPane:L,unregisterPane:V}),i({currentName:j});const le=({render:de})=>de();return()=>{const de=t["add-icon"],ue=n.editable||n.addable?createVNode("div",{class:[g.e("new-tab"),y.value&&g.e("new-tab-vertical")],tabindex:"0",onClick:ae,onKeydown:Ce=>{[EVENT_CODE.enter,EVENT_CODE.numpadEnter].includes(Ce.code)&&ae()}},[de?renderSlot(t,"add-icon"):createVNode(ElIcon,{class:g.is("icon-plus")},{default:()=>[createVNode(plus_default,null,null)]})]):null,he=createVNode("div",{class:[g.e("header"),y.value&&g.e("header-vertical"),g.is(n.tabPosition)]},[createVNode(le,{render:()=>{const Ce=k.value.some($e=>$e.slots.label);return createVNode(TabNav,{ref:z,currentName:j.value,editable:n.editable,type:n.type,panes:k.value,stretch:n.stretch,onTabClick:oe,onTabRemove:re},{$stable:!Ce})}},null),ue]),pe=createVNode("div",{class:g.e("content")},[renderSlot(t,"default")]);return createVNode("div",{class:[g.b(),g.m(n.tabPosition),{[g.m("card")]:n.type==="card",[g.m("border-card")]:n.type==="border-card"}]},[pe,he])}}});var Tabs$1=Tabs;const tabPaneProps=buildProps({label:{type:String,default:""},name:{type:[String,Number]},closable:Boolean,disabled:Boolean,lazy:Boolean}),COMPONENT_NAME$1="ElTabPane",__default__$5=defineComponent({name:COMPONENT_NAME$1}),_sfc_main$h=defineComponent({...__default__$5,props:tabPaneProps,setup(n){const e=n,t=getCurrentInstance$1(),i=useSlots(),r=inject(tabsRootContextKey);r||throwError(COMPONENT_NAME$1,"usage: ");const g=useNamespace("tab-pane"),y=ref$1(),k=computed$1(()=>e.closable||r.props.closable),L=computedEager(()=>{var oe;return r.currentName.value===((oe=e.name)!=null?oe:y.value)}),V=ref$1(L.value),z=computed$1(()=>{var oe;return(oe=e.name)!=null?oe:y.value}),j=computedEager(()=>!e.lazy||V.value||L.value);watch(L,oe=>{oe&&(V.value=!0)});const ie=reactive$1({uid:t.uid,slots:i,props:e,paneName:z,active:L,index:y,isClosable:k});return r.registerPane(ie),onMounted(()=>{r.sortPane(ie)}),onUnmounted(()=>{r.unregisterPane(ie.uid)}),(oe,re)=>unref(j)?withDirectives((openBlock(),createElementBlock("div",{key:0,id:"pane-".concat(unref(z)),class:normalizeClass(unref(g).b()),role:"tabpanel","aria-hidden":!unref(L),"aria-labelledby":"tab-".concat(unref(z))},[renderSlot(oe.$slots,"default")],10,["id","aria-hidden","aria-labelledby"])),[[vShow,unref(L)]]):createCommentVNode("v-if",!0)}});var TabPane=_export_sfc(_sfc_main$h,[["__file","tab-pane.vue"]]);const ElTabs=withInstall(Tabs$1,{TabPane}),ElTabPane=withNoopInstall(TabPane),NODE_KEY="$treeNodeId",markNodeData=function(n,e){!e||e[NODE_KEY]||Object.defineProperty(e,NODE_KEY,{value:n.id,enumerable:!1,configurable:!1,writable:!1})},getNodeKey=function(n,e){return n?e[n]:e[NODE_KEY]},handleCurrentChange=(n,e,t)=>{const i=n.value.currentNode;t();const r=n.value.currentNode;i!==r&&e("current-change",r?r.data:null,r)},getChildState=n=>{let e=!0,t=!0,i=!0;for(let r=0,g=n.length;r0&&e.lazy&&e.defaultExpandAll&&!this.isLeafByUser&&this.expand(),isArray$2(this.data)||markNodeData(this,this.data),!this.data)return;const i=e.defaultExpandedKeys,r=e.key;r&&i&&i.includes(this.key)&&this.expand(null,e.autoExpandParent),r&&e.currentNodeKey!==void 0&&this.key===e.currentNodeKey&&(e.currentNode=this,e.currentNode.isCurrent=!0),e.lazy&&e._initDefaultCheckedNode(this),this.updateLeafState(),this.parent&&(this.level===1||this.parent.expanded===!0)&&(this.canFocus=!0)}setData(e){isArray$2(e)||markNodeData(this,e),this.data=e,this.childNodes=[];let t;this.level===0&&isArray$2(this.data)?t=this.data:t=getPropertyFromData(this,"children")||[];for(let i=0,r=t.length;i-1)return e.childNodes[t+1]}return null}get previousSibling(){const e=this.parent;if(e){const t=e.childNodes.indexOf(this);if(t>-1)return t>0?e.childNodes[t-1]:null}return null}contains(e,t=!0){return(this.childNodes||[]).some(i=>i===e||t&&i.contains(e))}remove(){const e=this.parent;e&&e.removeChild(this)}insertChild(e,t,i){if(!e)throw new Error("InsertChild error: child is required.");if(!(e instanceof ed)){if(!i){const r=this.getChildren(!0);r.includes(e.data)||(isUndefined(t)||t<0?r.push(e.data):r.splice(t,0,e.data))}Object.assign(e,{parent:this,store:this.store}),e=reactive$1(new ed(e)),e instanceof ed&&e.initialize()}e.level=this.level+1,isUndefined(t)||t<0?this.childNodes.push(e):this.childNodes.splice(t,0,e),this.updateLeafState()}insertBefore(e,t){let i;t&&(i=this.childNodes.indexOf(t)),this.insertChild(e,i)}insertAfter(e,t){let i;t&&(i=this.childNodes.indexOf(t),i!==-1&&(i+=1)),this.insertChild(e,i)}removeChild(e){const t=this.getChildren()||[],i=t.indexOf(e.data);i>-1&&t.splice(i,1);const r=this.childNodes.indexOf(e);r>-1&&(this.store&&this.store.deregisterNode(e),e.parent=null,this.childNodes.splice(r,1)),this.updateLeafState()}removeChildByData(e){let t=null;for(let i=0;i{if(t){let r=this.parent;for(;r.level>0;)r.expanded=!0,r=r.parent}this.expanded=!0,e&&e(),this.childNodes.forEach(r=>{r.canFocus=!0})};this.shouldLoadData()?this.loadData(r=>{isArray$2(r)&&(this.checked?this.setChecked(!0,!0):this.store.checkStrictly||reInitChecked(this),i())}):i()}doCreateChildren(e,t={}){e.forEach(i=>{this.insertChild(Object.assign({data:i},t),void 0,!0)})}collapse(){this.expanded=!1,this.childNodes.forEach(e=>{e.canFocus=!1})}shouldLoadData(){return this.store.lazy===!0&&this.store.load&&!this.loaded}updateLeafState(){if(this.store.lazy===!0&&this.loaded!==!0&&typeof this.isLeafByUser<"u"){this.isLeaf=this.isLeafByUser;return}const e=this.childNodes;if(!this.store.lazy||this.store.lazy===!0&&this.loaded===!0){this.isLeaf=!e||e.length===0;return}this.isLeaf=!1}setChecked(e,t,i,r){if(this.indeterminate=e==="half",this.checked=e===!0,this.store.checkStrictly)return;if(!(this.shouldLoadData()&&!this.store.checkDescendants)){const{all:y,allWithoutDisable:k}=getChildState(this.childNodes);!this.isLeaf&&!y&&k&&(this.checked=!1,e=!1);const L=()=>{if(t){const V=this.childNodes;for(let ie=0,oe=V.length;ie{L(),reInitChecked(this)},{checked:e!==!1});return}else L()}const g=this.parent;!g||g.level===0||i||reInitChecked(g)}getChildren(e=!1){if(this.level===0)return this.data;const t=this.data;if(!t)return null;const i=this.store.props;let r="children";return i&&(r=i.children||"children"),t[r]===void 0&&(t[r]=null),e&&!t[r]&&(t[r]=[]),t[r]}updateChildren(){const e=this.getChildren()||[],t=this.childNodes.map(g=>g.data),i={},r=[];e.forEach((g,y)=>{const k=g[NODE_KEY];!!k&&t.findIndex(V=>V[NODE_KEY]===k)>=0?i[k]={index:y,data:g}:r.push({index:y,data:g})}),this.store.lazy||t.forEach(g=>{i[g[NODE_KEY]]||this.removeChildByData(g)}),r.forEach(({index:g,data:y})=>{this.insertChild({data:y},g)}),this.updateLeafState()}loadData(e,t={}){if(this.store.lazy===!0&&this.store.load&&!this.loaded&&(!this.loading||Object.keys(t).length)){this.loading=!0;const i=g=>{this.childNodes=[],this.doCreateChildren(g,t),this.loaded=!0,this.loading=!1,this.updateLeafState(),e&&e.call(this,g)},r=()=>{this.loading=!1};this.store.load(this,i,r)}else e&&e.call(this)}eachNode(e){const t=[this];for(;t.length;){const i=t.shift();t.unshift(...i.childNodes),e(i)}}reInitChecked(){this.store.checkStrictly||reInitChecked(this)}};class TreeStore{constructor(e){this.currentNode=null,this.currentNodeKey=null;for(const t in e)hasOwn(e,t)&&(this[t]=e[t]);this.nodesMap={}}initialize(){if(this.root=new Node$1({data:this.data,store:this}),this.root.initialize(),this.lazy&&this.load){const e=this.load;e(this.root,t=>{this.root.doCreateChildren(t),this._initDefaultCheckedNodes()})}else this._initDefaultCheckedNodes()}filter(e){const t=this.filterNodeMethod,i=this.lazy,r=function(g){const y=g.root?g.root.childNodes:g.childNodes;if(y.forEach(k=>{k.visible=t.call(k,e,k.data,k),r(k)}),!g.visible&&y.length){let k=!0;k=!y.some(L=>L.visible),g.root?g.root.visible=k===!1:g.visible=k===!1}e&&g.visible&&!g.isLeaf&&(!i||g.loaded)&&g.expand()};r(this)}setData(e){e!==this.root.data?(this.nodesMap={},this.root.setData(e),this._initDefaultCheckedNodes(),this.setCurrentNodeKey(this.currentNodeKey)):this.root.updateChildren()}getNode(e){if(e instanceof Node$1)return e;const t=isObject$4(e)?getNodeKey(this.key,e):e;return this.nodesMap[t]||null}insertBefore(e,t){const i=this.getNode(t);i.parent.insertBefore({data:e},i)}insertAfter(e,t){const i=this.getNode(t);i.parent.insertAfter({data:e},i)}remove(e){const t=this.getNode(e);t&&t.parent&&(t===this.currentNode&&(this.currentNode=null),t.parent.removeChild(t))}append(e,t){const i=isPropAbsent(t)?this.root:this.getNode(t);i&&i.insertChild({data:e})}_initDefaultCheckedNodes(){const e=this.defaultCheckedKeys||[],t=this.nodesMap;e.forEach(i=>{const r=t[i];r&&r.setChecked(!0,!this.checkStrictly)})}_initDefaultCheckedNode(e){(this.defaultCheckedKeys||[]).includes(e.key)&&e.setChecked(!0,!this.checkStrictly)}setDefaultCheckedKey(e){e!==this.defaultCheckedKeys&&(this.defaultCheckedKeys=e,this._initDefaultCheckedNodes())}registerNode(e){const t=this.key;!e||!e.data||(t?e.key!==void 0&&(this.nodesMap[e.key]=e):this.nodesMap[e.id]=e)}deregisterNode(e){!this.key||!e||!e.data||(e.childNodes.forEach(i=>{this.deregisterNode(i)}),delete this.nodesMap[e.key])}getCheckedNodes(e=!1,t=!1){const i=[],r=function(g){(g.root?g.root.childNodes:g.childNodes).forEach(k=>{(k.checked||t&&k.indeterminate)&&(!e||e&&k.isLeaf)&&i.push(k.data),r(k)})};return r(this),i}getCheckedKeys(e=!1){return this.getCheckedNodes(e).map(t=>(t||{})[this.key])}getHalfCheckedNodes(){const e=[],t=function(i){(i.root?i.root.childNodes:i.childNodes).forEach(g=>{g.indeterminate&&e.push(g.data),t(g)})};return t(this),e}getHalfCheckedKeys(){return this.getHalfCheckedNodes().map(e=>(e||{})[this.key])}_getAllNodes(){const e=[],t=this.nodesMap;for(const i in t)hasOwn(t,i)&&e.push(t[i]);return e}updateChildren(e,t){const i=this.nodesMap[e];if(!i)return;const r=i.childNodes;for(let g=r.length-1;g>=0;g--){const y=r[g];this.remove(y.data)}for(let g=0,y=t.length;gL.level-V.level),g=Object.create(null),y=Object.keys(i);r.forEach(L=>L.setChecked(!1,!1));const k=L=>{L.childNodes.forEach(V=>{var z;g[V.data[e]]=!0,(z=V.childNodes)!=null&&z.length&&k(V)})};for(let L=0,V=r.length;L{le.isLeaf||le.setChecked(!1,!1),oe(le)})};oe(z)}}}setCheckedNodes(e,t=!1){const i=this.key,r={};e.forEach(g=>{r[(g||{})[i]]=!0}),this._setCheckedKeys(i,t,r)}setCheckedKeys(e,t=!1){this.defaultCheckedKeys=e;const i=this.key,r={};e.forEach(g=>{r[g]=!0}),this._setCheckedKeys(i,t,r)}setDefaultExpandedKeys(e){e=e||[],this.defaultExpandedKeys=e,e.forEach(t=>{const i=this.getNode(t);i&&i.expand(null,this.autoExpandParent)})}setChecked(e,t,i){const r=this.getNode(e);r&&r.setChecked(!!t,i)}getCurrentNode(){return this.currentNode}setCurrentNode(e){const t=this.currentNode;t&&(t.isCurrent=!1),this.currentNode=e,this.currentNode.isCurrent=!0}setUserCurrentNode(e,t=!0){const i=e[this.key],r=this.nodesMap[i];this.setCurrentNode(r),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0)}setCurrentNodeKey(e,t=!0){if(this.currentNodeKey=e,e==null){this.currentNode&&(this.currentNode.isCurrent=!1),this.currentNode=null;return}const i=this.getNode(e);i&&(this.setCurrentNode(i),t&&this.currentNode.level>1&&this.currentNode.parent.expand(null,!0))}}const _sfc_main$g=defineComponent({name:"ElTreeNodeContent",props:{node:{type:Object,required:!0},renderContent:Function},setup(n){const e=useNamespace("tree"),t=inject("NodeInstance"),i=inject("RootTree");return()=>{const r=n.node,{data:g,store:y}=r;return n.renderContent?n.renderContent(h$3,{_self:t,node:r,data:g,store:y}):renderSlot(i.ctx.slots,"default",{node:r,data:g},()=>[h$3("span",{class:e.be("node","label")},[r.label])])}}});var NodeContent=_export_sfc(_sfc_main$g,[["__file","tree-node-content.vue"]]);function useNodeExpandEventBroadcast(n){const e=inject("TreeNodeMap",null),t={treeNodeExpand:i=>{n.node!==i&&n.node.collapse()},children:[]};return e&&e.children.push(t),provide("TreeNodeMap",t),{broadcastExpanded:i=>{if(n.accordion)for(const r of t.children)r.treeNodeExpand(i)}}}const dragEventsKey=Symbol("dragEvents");function useDragNodeHandler({props:n,ctx:e,el$:t,dropIndicator$:i,store:r}){const g=useNamespace("tree"),y=ref$1({showDropIndicator:!1,draggingNode:null,dropNode:null,allowDrop:!0,dropType:null});return provide(dragEventsKey,{treeNodeDragStart:({event:z,treeNode:j})=>{if(isFunction$4(n.allowDrag)&&!n.allowDrag(j.node))return z.preventDefault(),!1;z.dataTransfer.effectAllowed="move";try{z.dataTransfer.setData("text/plain","")}catch(ie){}y.value.draggingNode=j,e.emit("node-drag-start",j.node,z)},treeNodeDragOver:({event:z,treeNode:j})=>{const ie=j,oe=y.value.dropNode;oe&&oe.node.id!==ie.node.id&&removeClass(oe.$el,g.is("drop-inner"));const re=y.value.draggingNode;if(!re||!ie)return;let ae=!0,le=!0,de=!0,ue=!0;isFunction$4(n.allowDrop)&&(ae=n.allowDrop(re.node,ie.node,"prev"),ue=le=n.allowDrop(re.node,ie.node,"inner"),de=n.allowDrop(re.node,ie.node,"next")),z.dataTransfer.dropEffect=le||ae||de?"move":"none",(ae||le||de)&&(oe==null?void 0:oe.node.id)!==ie.node.id&&(oe&&e.emit("node-drag-leave",re.node,oe.node,z),e.emit("node-drag-enter",re.node,ie.node,z)),ae||le||de?y.value.dropNode=ie:y.value.dropNode=null,ie.node.nextSibling===re.node&&(de=!1),ie.node.previousSibling===re.node&&(ae=!1),ie.node.contains(re.node,!1)&&(le=!1),(re.node===ie.node||re.node.contains(ie.node))&&(ae=!1,le=!1,de=!1);const he=ie.$el.querySelector(".".concat(g.be("node","content"))).getBoundingClientRect(),pe=t.value.getBoundingClientRect();let Ce;const $e=ae?le?.25:de?.45:1:-1,xe=de?le?.75:ae?.55:0:1;let Ie=-9999;const Ne=z.clientY-he.top;Nehe.height*xe?Ce="after":le?Ce="inner":Ce="none";const Fe=ie.$el.querySelector(".".concat(g.be("node","expand-icon"))).getBoundingClientRect(),Ve=i.value;Ce==="before"?Ie=Fe.top-pe.top:Ce==="after"&&(Ie=Fe.bottom-pe.top),Ve.style.top="".concat(Ie,"px"),Ve.style.left="".concat(Fe.right-pe.left,"px"),Ce==="inner"?addClass(ie.$el,g.is("drop-inner")):removeClass(ie.$el,g.is("drop-inner")),y.value.showDropIndicator=Ce==="before"||Ce==="after",y.value.allowDrop=y.value.showDropIndicator||ue,y.value.dropType=Ce,e.emit("node-drag-over",re.node,ie.node,z)},treeNodeDragEnd:z=>{const{draggingNode:j,dropType:ie,dropNode:oe}=y.value;if(z.preventDefault(),z.dataTransfer&&(z.dataTransfer.dropEffect="move"),j&&oe){const re={data:j.node.data};ie!=="none"&&j.node.remove(),ie==="before"?oe.node.parent.insertBefore(re,oe.node):ie==="after"?oe.node.parent.insertAfter(re,oe.node):ie==="inner"&&oe.node.insertChild(re),ie!=="none"&&(r.value.registerNode(re),r.value.key&&j.node.eachNode(ae=>{var le;(le=r.value.nodesMap[ae.data[r.value.key]])==null||le.setChecked(ae.checked,!r.value.checkStrictly)})),removeClass(oe.$el,g.is("drop-inner")),e.emit("node-drag-end",j.node,oe.node,ie,z),ie!=="none"&&e.emit("node-drop",j.node,oe.node,ie,z)}j&&!oe&&e.emit("node-drag-end",j.node,null,ie,z),y.value.showDropIndicator=!1,y.value.draggingNode=null,y.value.dropNode=null,y.value.allowDrop=!0}}),{dragState:y}}const _sfc_main$f=defineComponent({name:"ElTreeNode",components:{ElCollapseTransition,ElCheckbox,NodeContent,ElIcon,Loading:loading_default},props:{node:{type:Node$1,default:()=>({})},props:{type:Object,default:()=>({})},accordion:Boolean,renderContent:Function,renderAfterExpand:Boolean,showCheckbox:{type:Boolean,default:!1}},emits:["node-expand"],setup(n,e){const t=useNamespace("tree"),{broadcastExpanded:i}=useNodeExpandEventBroadcast(n),r=inject("RootTree"),g=ref$1(!1),y=ref$1(!1),k=ref$1(null),L=ref$1(null),V=ref$1(null),z=inject(dragEventsKey),j=getCurrentInstance$1();provide("NodeInstance",j),n.node.expanded&&(g.value=!0,y.value=!0);const ie=r.props.props.children||"children";watch(()=>{const Ne=n.node.data[ie];return Ne&&[...Ne]},()=>{n.node.updateChildren()}),watch(()=>n.node.indeterminate,Ne=>{ae(n.node.checked,Ne)}),watch(()=>n.node.checked,Ne=>{ae(Ne,n.node.indeterminate)}),watch(()=>n.node.childNodes.length,()=>n.node.reInitChecked()),watch(()=>n.node.expanded,Ne=>{nextTick(()=>g.value=Ne),Ne&&(y.value=!0)});const oe=Ne=>getNodeKey(r.props.nodeKey,Ne.data),re=Ne=>{const Fe=n.props.class;if(!Fe)return{};let Ve;if(isFunction$4(Fe)){const{data:Oe}=Ne;Ve=Fe(Oe,Ne)}else Ve=Fe;return isString$5(Ve)?{[Ve]:!0}:Ve},ae=(Ne,Fe)=>{(k.value!==Ne||L.value!==Fe)&&r.ctx.emit("check-change",n.node.data,Ne,Fe),k.value=Ne,L.value=Fe},le=Ne=>{handleCurrentChange(r.store,r.ctx.emit,()=>{var Fe;if((Fe=r==null?void 0:r.props)==null?void 0:Fe.nodeKey){const Oe=oe(n.node);r.store.value.setCurrentNodeKey(Oe)}else r.store.value.setCurrentNode(n.node)}),r.currentNode.value=n.node,r.props.expandOnClickNode&&ue(),r.props.checkOnClickNode&&!n.node.disabled&&he(null,{target:{checked:!n.node.checked}}),r.ctx.emit("node-click",n.node.data,n.node,j,Ne)},de=Ne=>{r.instance.vnode.props.onNodeContextmenu&&(Ne.stopPropagation(),Ne.preventDefault()),r.ctx.emit("node-contextmenu",Ne,n.node.data,n.node,j)},ue=()=>{n.node.isLeaf||(g.value?(r.ctx.emit("node-collapse",n.node.data,n.node,j),n.node.collapse()):n.node.expand(()=>{e.emit("node-expand",n.node.data,n.node,j)}))},he=(Ne,Fe)=>{n.node.setChecked(Fe.target.checked,!r.props.checkStrictly),nextTick(()=>{const Ve=r.store.value;r.ctx.emit("check",n.node.data,{checkedNodes:Ve.getCheckedNodes(),checkedKeys:Ve.getCheckedKeys(),halfCheckedNodes:Ve.getHalfCheckedNodes(),halfCheckedKeys:Ve.getHalfCheckedKeys()})})};return{ns:t,node$:V,tree:r,expanded:g,childNodeRendered:y,oldChecked:k,oldIndeterminate:L,getNodeKey:oe,getNodeClass:re,handleSelectChange:ae,handleClick:le,handleContextMenu:de,handleExpandIconClick:ue,handleCheckChange:he,handleChildNodeExpand:(Ne,Fe,Ve)=>{i(Fe),r.ctx.emit("node-expand",Ne,Fe,Ve)},handleDragStart:Ne=>{r.props.draggable&&z.treeNodeDragStart({event:Ne,treeNode:n})},handleDragOver:Ne=>{Ne.preventDefault(),r.props.draggable&&z.treeNodeDragOver({event:Ne,treeNode:{$el:V.value,node:n.node}})},handleDrop:Ne=>{Ne.preventDefault()},handleDragEnd:Ne=>{r.props.draggable&&z.treeNodeDragEnd(Ne)},CaretRight:caret_right_default}}});function _sfc_render$4(n,e,t,i,r,g){const y=resolveComponent("el-icon"),k=resolveComponent("el-checkbox"),L=resolveComponent("loading"),V=resolveComponent("node-content"),z=resolveComponent("el-tree-node"),j=resolveComponent("el-collapse-transition");return withDirectives((openBlock(),createElementBlock("div",{ref:"node$",class:normalizeClass([n.ns.b("node"),n.ns.is("expanded",n.expanded),n.ns.is("current",n.node.isCurrent),n.ns.is("hidden",!n.node.visible),n.ns.is("focusable",!n.node.disabled),n.ns.is("checked",!n.node.disabled&&n.node.checked),n.getNodeClass(n.node)]),role:"treeitem",tabindex:"-1","aria-expanded":n.expanded,"aria-disabled":n.node.disabled,"aria-checked":n.node.checked,draggable:n.tree.props.draggable,"data-key":n.getNodeKey(n.node),onClick:withModifiers(n.handleClick,["stop"]),onContextmenu:n.handleContextMenu,onDragstart:withModifiers(n.handleDragStart,["stop"]),onDragover:withModifiers(n.handleDragOver,["stop"]),onDragend:withModifiers(n.handleDragEnd,["stop"]),onDrop:withModifiers(n.handleDrop,["stop"])},[createBaseVNode("div",{class:normalizeClass(n.ns.be("node","content")),style:normalizeStyle({paddingLeft:(n.node.level-1)*n.tree.props.indent+"px"})},[n.tree.props.icon||n.CaretRight?(openBlock(),createBlock(y,{key:0,class:normalizeClass([n.ns.be("node","expand-icon"),n.ns.is("leaf",n.node.isLeaf),{expanded:!n.node.isLeaf&&n.expanded}]),onClick:withModifiers(n.handleExpandIconClick,["stop"])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.tree.props.icon||n.CaretRight)))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0),n.showCheckbox?(openBlock(),createBlock(k,{key:1,"model-value":n.node.checked,indeterminate:n.node.indeterminate,disabled:!!n.node.disabled,onClick:withModifiers(()=>{},["stop"]),onChange:n.handleCheckChange},null,8,["model-value","indeterminate","disabled","onClick","onChange"])):createCommentVNode("v-if",!0),n.node.loading?(openBlock(),createBlock(y,{key:2,class:normalizeClass([n.ns.be("node","loading-icon"),n.ns.is("loading")])},{default:withCtx(()=>[createVNode(L)]),_:1},8,["class"])):createCommentVNode("v-if",!0),createVNode(V,{node:n.node,"render-content":n.renderContent},null,8,["node","render-content"])],6),createVNode(j,null,{default:withCtx(()=>[!n.renderAfterExpand||n.childNodeRendered?withDirectives((openBlock(),createElementBlock("div",{key:0,class:normalizeClass(n.ns.be("node","children")),role:"group","aria-expanded":n.expanded},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.node.childNodes,ie=>(openBlock(),createBlock(z,{key:n.getNodeKey(ie),"render-content":n.renderContent,"render-after-expand":n.renderAfterExpand,"show-checkbox":n.showCheckbox,node:ie,accordion:n.accordion,props:n.props,onNodeExpand:n.handleChildNodeExpand},null,8,["render-content","render-after-expand","show-checkbox","node","accordion","props","onNodeExpand"]))),128))],10,["aria-expanded"])),[[vShow,n.expanded]]):createCommentVNode("v-if",!0)]),_:1})],42,["aria-expanded","aria-disabled","aria-checked","draggable","data-key","onClick","onContextmenu","onDragstart","onDragover","onDragend","onDrop"])),[[vShow,n.node.visible]])}var ElTreeNode=_export_sfc(_sfc_main$f,[["render",_sfc_render$4],["__file","tree-node.vue"]]);function useKeydown({el$:n},e){const t=useNamespace("tree"),i=shallowRef([]),r=shallowRef([]);onMounted(()=>{y()}),onUpdated(()=>{i.value=Array.from(n.value.querySelectorAll("[role=treeitem]")),r.value=Array.from(n.value.querySelectorAll("input[type=checkbox]"))}),watch(r,k=>{k.forEach(L=>{L.setAttribute("tabindex","-1")})}),useEventListener(n,"keydown",k=>{const L=k.target;if(!L.className.includes(t.b("node")))return;const V=k.code;i.value=Array.from(n.value.querySelectorAll(".".concat(t.is("focusable"),"[role=treeitem]")));const z=i.value.indexOf(L);let j;if([EVENT_CODE.up,EVENT_CODE.down].includes(V)){if(k.preventDefault(),V===EVENT_CODE.up){j=z===-1?0:z!==0?z-1:i.value.length-1;const oe=j;for(;!e.value.getNode(i.value[j].dataset.key).canFocus;){if(j--,j===oe){j=-1;break}j<0&&(j=i.value.length-1)}}else{j=z===-1?0:z=i.value.length&&(j=0)}}j!==-1&&i.value[j].focus()}[EVENT_CODE.left,EVENT_CODE.right].includes(V)&&(k.preventDefault(),L.click());const ie=L.querySelector('[type="checkbox"]');[EVENT_CODE.enter,EVENT_CODE.numpadEnter,EVENT_CODE.space].includes(V)&&ie&&(k.preventDefault(),ie.click())});const y=()=>{var k;i.value=Array.from(n.value.querySelectorAll(".".concat(t.is("focusable"),"[role=treeitem]"))),r.value=Array.from(n.value.querySelectorAll("input[type=checkbox]"));const L=n.value.querySelectorAll(".".concat(t.is("checked"),"[role=treeitem]"));if(L.length){L[0].setAttribute("tabindex","0");return}(k=i.value[0])==null||k.setAttribute("tabindex","0")}}const _sfc_main$e=defineComponent({name:"ElTree",components:{ElTreeNode},props:{data:{type:Array,default:()=>[]},emptyText:{type:String},renderAfterExpand:{type:Boolean,default:!0},nodeKey:String,checkStrictly:Boolean,defaultExpandAll:Boolean,expandOnClickNode:{type:Boolean,default:!0},checkOnClickNode:Boolean,checkDescendants:{type:Boolean,default:!1},autoExpandParent:{type:Boolean,default:!0},defaultCheckedKeys:Array,defaultExpandedKeys:Array,currentNodeKey:[String,Number],renderContent:Function,showCheckbox:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},allowDrag:Function,allowDrop:Function,props:{type:Object,default:()=>({children:"children",label:"label",disabled:"disabled"})},lazy:{type:Boolean,default:!1},highlightCurrent:Boolean,load:Function,filterNodeMethod:Function,accordion:Boolean,indent:{type:Number,default:18},icon:{type:iconPropType}},emits:["check-change","current-change","node-click","node-contextmenu","node-collapse","node-expand","check","node-drag-start","node-drag-end","node-drop","node-drag-leave","node-drag-enter","node-drag-over"],setup(n,e){const{t}=useLocale(),i=useNamespace("tree"),r=inject(selectKey,null),g=ref$1(new TreeStore({key:n.nodeKey,data:n.data,lazy:n.lazy,props:n.props,load:n.load,currentNodeKey:n.currentNodeKey,checkStrictly:n.checkStrictly,checkDescendants:n.checkDescendants,defaultCheckedKeys:n.defaultCheckedKeys,defaultExpandedKeys:n.defaultExpandedKeys,autoExpandParent:n.autoExpandParent,defaultExpandAll:n.defaultExpandAll,filterNodeMethod:n.filterNodeMethod}));g.value.initialize();const y=ref$1(g.value.root),k=ref$1(null),L=ref$1(null),V=ref$1(null),{broadcastExpanded:z}=useNodeExpandEventBroadcast(n),{dragState:j}=useDragNodeHandler({props:n,ctx:e,el$:L,dropIndicator$:V,store:g});useKeydown({el$:L},g);const ie=computed$1(()=>{const{childNodes:Lt}=y.value,kt=r?r.hasFilteredOptions!==0:!1;return(!Lt||Lt.length===0||Lt.every(({visible:ei})=>!ei))&&!kt});watch(()=>n.currentNodeKey,Lt=>{g.value.setCurrentNodeKey(Lt)}),watch(()=>n.defaultCheckedKeys,Lt=>{g.value.setDefaultCheckedKey(Lt)}),watch(()=>n.defaultExpandedKeys,Lt=>{g.value.setDefaultExpandedKeys(Lt)}),watch(()=>n.data,Lt=>{g.value.setData(Lt)},{deep:!0}),watch(()=>n.checkStrictly,Lt=>{g.value.checkStrictly=Lt});const oe=Lt=>{if(!n.filterNodeMethod)throw new Error("[Tree] filterNodeMethod is required when filter");g.value.filter(Lt)},re=Lt=>getNodeKey(n.nodeKey,Lt.data),ae=Lt=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in getNodePath");const kt=g.value.getNode(Lt);if(!kt)return[];const ei=[kt.data];let jt=kt.parent;for(;jt&&jt!==y.value;)ei.push(jt.data),jt=jt.parent;return ei.reverse()},le=(Lt,kt)=>g.value.getCheckedNodes(Lt,kt),de=Lt=>g.value.getCheckedKeys(Lt),ue=()=>{const Lt=g.value.getCurrentNode();return Lt?Lt.data:null},he=()=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in getCurrentKey");const Lt=ue();return Lt?Lt[n.nodeKey]:null},pe=(Lt,kt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedNodes");g.value.setCheckedNodes(Lt,kt)},Ce=(Lt,kt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCheckedKeys");g.value.setCheckedKeys(Lt,kt)},$e=(Lt,kt,ei)=>{g.value.setChecked(Lt,kt,ei)},xe=()=>g.value.getHalfCheckedNodes(),Ie=()=>g.value.getHalfCheckedKeys(),Ne=(Lt,kt=!0)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentNode");handleCurrentChange(g,e.emit,()=>{z(Lt),g.value.setUserCurrentNode(Lt,kt)})},Fe=(Lt,kt=!0)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in setCurrentKey");handleCurrentChange(g,e.emit,()=>{z(),g.value.setCurrentNodeKey(Lt,kt)})},Ve=Lt=>g.value.getNode(Lt),Oe=Lt=>{g.value.remove(Lt)},ze=(Lt,kt)=>{g.value.append(Lt,kt)},qe=(Lt,kt)=>{g.value.insertBefore(Lt,kt)},Ue=(Lt,kt)=>{g.value.insertAfter(Lt,kt)},Et=(Lt,kt,ei)=>{z(kt),e.emit("node-expand",Lt,kt,ei)},At=(Lt,kt)=>{if(!n.nodeKey)throw new Error("[Tree] nodeKey is required in updateKeyChild");g.value.updateChildren(Lt,kt)};return provide("RootTree",{ctx:e,props:n,store:g,root:y,currentNode:k,instance:getCurrentInstance$1()}),provide(formItemContextKey,void 0),{ns:i,store:g,root:y,currentNode:k,dragState:j,el$:L,dropIndicator$:V,isEmpty:ie,filter:oe,getNodeKey:re,getNodePath:ae,getCheckedNodes:le,getCheckedKeys:de,getCurrentNode:ue,getCurrentKey:he,setCheckedNodes:pe,setCheckedKeys:Ce,setChecked:$e,getHalfCheckedNodes:xe,getHalfCheckedKeys:Ie,setCurrentNode:Ne,setCurrentKey:Fe,t,getNode:Ve,remove:Oe,append:ze,insertBefore:qe,insertAfter:Ue,handleNodeExpand:Et,updateKeyChildren:At}}});function _sfc_render$3(n,e,t,i,r,g){const y=resolveComponent("el-tree-node");return openBlock(),createElementBlock("div",{ref:"el$",class:normalizeClass([n.ns.b(),n.ns.is("dragging",!!n.dragState.draggingNode),n.ns.is("drop-not-allow",!n.dragState.allowDrop),n.ns.is("drop-inner",n.dragState.dropType==="inner"),{[n.ns.m("highlight-current")]:n.highlightCurrent}]),role:"tree"},[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.root.childNodes,k=>(openBlock(),createBlock(y,{key:n.getNodeKey(k),node:k,props:n.props,accordion:n.accordion,"render-after-expand":n.renderAfterExpand,"show-checkbox":n.showCheckbox,"render-content":n.renderContent,onNodeExpand:n.handleNodeExpand},null,8,["node","props","accordion","render-after-expand","show-checkbox","render-content","onNodeExpand"]))),128)),n.isEmpty?(openBlock(),createElementBlock("div",{key:0,class:normalizeClass(n.ns.e("empty-block"))},[renderSlot(n.$slots,"empty",{},()=>{var k;return[createBaseVNode("span",{class:normalizeClass(n.ns.e("empty-text"))},toDisplayString((k=n.emptyText)!=null?k:n.t("el.tree.emptyText")),3)]})],2)):createCommentVNode("v-if",!0),withDirectives(createBaseVNode("div",{ref:"dropIndicator$",class:normalizeClass(n.ns.e("drop-indicator"))},null,2),[[vShow,n.dragState.showDropIndicator]])],2)}var Tree=_export_sfc(_sfc_main$e,[["render",_sfc_render$3],["__file","tree.vue"]]);const ElTree=withInstall(Tree),uploadContextKey=Symbol("uploadContextKey"),SCOPE$1="ElUpload";class UploadAjaxError extends Error{constructor(e,t,i,r){super(e),this.name="UploadAjaxError",this.status=t,this.method=i,this.url=r}}function getError(n,e,t){let i;return t.response?i="".concat(t.response.error||t.response):t.responseText?i="".concat(t.responseText):i="fail to ".concat(e.method," ").concat(n," ").concat(t.status),new UploadAjaxError(i,t.status,e.method,n)}function getBody(n){const e=n.responseText||n.response;if(!e)return e;try{return JSON.parse(e)}catch(t){return e}}const ajaxUpload=n=>{typeof XMLHttpRequest>"u"&&throwError(SCOPE$1,"XMLHttpRequest is undefined");const e=new XMLHttpRequest,t=n.action;e.upload&&e.upload.addEventListener("progress",g=>{const y=g;y.percent=g.total>0?g.loaded/g.total*100:0,n.onProgress(y)});const i=new FormData;if(n.data)for(const[g,y]of Object.entries(n.data))isArray$2(y)&&y.length?i.append(g,...y):i.append(g,y);i.append(n.filename,n.file,n.file.name),e.addEventListener("error",()=>{n.onError(getError(t,n,e))}),e.addEventListener("load",()=>{if(e.status<200||e.status>=300)return n.onError(getError(t,n,e));n.onSuccess(getBody(e))}),e.open(n.method,t,!0),n.withCredentials&&"withCredentials"in e&&(e.withCredentials=!0);const r=n.headers||{};if(r instanceof Headers)r.forEach((g,y)=>e.setRequestHeader(y,g));else for(const[g,y]of Object.entries(r))isNil(y)||e.setRequestHeader(g,String(y));return e.send(i),e},uploadListTypes=["text","picture","picture-card"];let fileId=1;const genFileId=()=>Date.now()+fileId++,uploadBaseProps=buildProps({action:{type:String,default:"#"},headers:{type:definePropType(Object)},method:{type:String,default:"post"},data:{type:definePropType([Object,Function,Promise]),default:()=>mutable({})},multiple:Boolean,name:{type:String,default:"file"},drag:Boolean,withCredentials:Boolean,showFileList:{type:Boolean,default:!0},accept:{type:String,default:""},fileList:{type:definePropType(Array),default:()=>mutable([])},autoUpload:{type:Boolean,default:!0},listType:{type:String,values:uploadListTypes,default:"text"},httpRequest:{type:definePropType(Function),default:ajaxUpload},disabled:Boolean,limit:Number}),uploadProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:NOOP},beforeRemove:{type:definePropType(Function)},onRemove:{type:definePropType(Function),default:NOOP},onChange:{type:definePropType(Function),default:NOOP},onPreview:{type:definePropType(Function),default:NOOP},onSuccess:{type:definePropType(Function),default:NOOP},onProgress:{type:definePropType(Function),default:NOOP},onError:{type:definePropType(Function),default:NOOP},onExceed:{type:definePropType(Function),default:NOOP},crossorigin:{type:definePropType(String)}}),uploadListProps=buildProps({files:{type:definePropType(Array),default:()=>mutable([])},disabled:{type:Boolean,default:!1},handlePreview:{type:definePropType(Function),default:NOOP},listType:{type:String,values:uploadListTypes,default:"text"},crossorigin:{type:definePropType(String)}}),uploadListEmits={remove:n=>!!n},__default__$4=defineComponent({name:"ElUploadList"}),_sfc_main$d=defineComponent({...__default__$4,props:uploadListProps,emits:uploadListEmits,setup(n,{emit:e}){const t=n,{t:i}=useLocale(),r=useNamespace("upload"),g=useNamespace("icon"),y=useNamespace("list"),k=useFormDisabled(),L=ref$1(!1),V=computed$1(()=>[r.b("list"),r.bm("list",t.listType),r.is("disabled",t.disabled)]),z=j=>{e("remove",j)};return(j,ie)=>(openBlock(),createBlock(TransitionGroup,{tag:"ul",class:normalizeClass(unref(V)),name:unref(y).b()},{default:withCtx(()=>[(openBlock(!0),createElementBlock(Fragment,null,renderList(j.files,(oe,re)=>(openBlock(),createElementBlock("li",{key:oe.uid||oe.name,class:normalizeClass([unref(r).be("list","item"),unref(r).is(oe.status),{focusing:L.value}]),tabindex:"0",onKeydown:withKeys(ae=>!unref(k)&&z(oe),["delete"]),onFocus:ae=>L.value=!0,onBlur:ae=>L.value=!1,onClick:ae=>L.value=!1},[renderSlot(j.$slots,"default",{file:oe,index:re},()=>[j.listType==="picture"||oe.status!=="uploading"&&j.listType==="picture-card"?(openBlock(),createElementBlock("img",{key:0,class:normalizeClass(unref(r).be("list","item-thumbnail")),src:oe.url,crossorigin:j.crossorigin,alt:""},null,10,["src","crossorigin"])):createCommentVNode("v-if",!0),oe.status==="uploading"||j.listType!=="picture-card"?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(unref(r).be("list","item-info"))},[createBaseVNode("a",{class:normalizeClass(unref(r).be("list","item-name")),onClick:withModifiers(ae=>j.handlePreview(oe),["prevent"])},[createVNode(unref(ElIcon),{class:normalizeClass(unref(g).m("document"))},{default:withCtx(()=>[createVNode(unref(document_default))]),_:1},8,["class"]),createBaseVNode("span",{class:normalizeClass(unref(r).be("list","item-file-name")),title:oe.name},toDisplayString(oe.name),11,["title"])],10,["onClick"]),oe.status==="uploading"?(openBlock(),createBlock(unref(ElProgress),{key:0,type:j.listType==="picture-card"?"circle":"line","stroke-width":j.listType==="picture-card"?6:2,percentage:Number(oe.percentage),style:normalizeStyle(j.listType==="picture-card"?"":"margin-top: 0.5rem")},null,8,["type","stroke-width","percentage","style"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("label",{class:normalizeClass(unref(r).be("list","item-status-label"))},[j.listType==="text"?(openBlock(),createBlock(unref(ElIcon),{key:0,class:normalizeClass([unref(g).m("upload-success"),unref(g).m("circle-check")])},{default:withCtx(()=>[createVNode(unref(circle_check_default))]),_:1},8,["class"])):["picture-card","picture"].includes(j.listType)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(g).m("upload-success"),unref(g).m("check")])},{default:withCtx(()=>[createVNode(unref(check_default))]),_:1},8,["class"])):createCommentVNode("v-if",!0)],2),unref(k)?createCommentVNode("v-if",!0):(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(g).m("close")),onClick:ae=>z(oe)},{default:withCtx(()=>[createVNode(unref(close_default))]),_:2},1032,["class","onClick"])),createCommentVNode(" Due to close btn only appears when li gets focused disappears after li gets blurred, thus keyboard navigation can never reach close btn"),createCommentVNode(" This is a bug which needs to be fixed "),createCommentVNode(" TODO: Fix the incorrect navigation interaction "),unref(k)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("i",{key:3,class:normalizeClass(unref(g).m("close-tip"))},toDisplayString(unref(i)("el.upload.deleteTip")),3)),j.listType==="picture-card"?(openBlock(),createElementBlock("span",{key:4,class:normalizeClass(unref(r).be("list","item-actions"))},[createBaseVNode("span",{class:normalizeClass(unref(r).be("list","item-preview")),onClick:ae=>j.handlePreview(oe)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(g).m("zoom-in"))},{default:withCtx(()=>[createVNode(unref(zoom_in_default))]),_:1},8,["class"])],10,["onClick"]),unref(k)?createCommentVNode("v-if",!0):(openBlock(),createElementBlock("span",{key:0,class:normalizeClass(unref(r).be("list","item-delete")),onClick:ae=>z(oe)},[createVNode(unref(ElIcon),{class:normalizeClass(unref(g).m("delete"))},{default:withCtx(()=>[createVNode(unref(delete_default))]),_:1},8,["class"])],10,["onClick"]))],2)):createCommentVNode("v-if",!0)])],42,["onKeydown","onFocus","onBlur","onClick"]))),128)),renderSlot(j.$slots,"append")]),_:3},8,["class","name"]))}});var UploadList=_export_sfc(_sfc_main$d,[["__file","upload-list.vue"]]);const uploadDraggerProps=buildProps({disabled:{type:Boolean,default:!1}}),uploadDraggerEmits={file:n=>isArray$2(n)},COMPONENT_NAME="ElUploadDrag",__default__$3=defineComponent({name:COMPONENT_NAME}),_sfc_main$c=defineComponent({...__default__$3,props:uploadDraggerProps,emits:uploadDraggerEmits,setup(n,{emit:e}){inject(uploadContextKey)||throwError(COMPONENT_NAME,"usage: ");const i=useNamespace("upload"),r=ref$1(!1),g=useFormDisabled(),y=L=>{if(g.value)return;r.value=!1,L.stopPropagation();const V=Array.from(L.dataTransfer.files);e("file",V)},k=()=>{g.value||(r.value=!0)};return(L,V)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b("dragger"),unref(i).is("dragover",r.value)]),onDrop:withModifiers(y,["prevent"]),onDragover:withModifiers(k,["prevent"]),onDragleave:withModifiers(z=>r.value=!1,["prevent"])},[renderSlot(L.$slots,"default")],42,["onDrop","onDragover","onDragleave"]))}});var UploadDragger=_export_sfc(_sfc_main$c,[["__file","upload-dragger.vue"]]);const uploadContentProps=buildProps({...uploadBaseProps,beforeUpload:{type:definePropType(Function),default:NOOP},onRemove:{type:definePropType(Function),default:NOOP},onStart:{type:definePropType(Function),default:NOOP},onSuccess:{type:definePropType(Function),default:NOOP},onProgress:{type:definePropType(Function),default:NOOP},onError:{type:definePropType(Function),default:NOOP},onExceed:{type:definePropType(Function),default:NOOP}}),__default__$2=defineComponent({name:"ElUploadContent",inheritAttrs:!1}),_sfc_main$b=defineComponent({...__default__$2,props:uploadContentProps,setup(n,{expose:e}){const t=n,i=useNamespace("upload"),r=useFormDisabled(),g=shallowRef({}),y=shallowRef(),k=ae=>{if(ae.length===0)return;const{autoUpload:le,limit:de,fileList:ue,multiple:he,onStart:pe,onExceed:Ce}=t;if(de&&ue.length+ae.length>de){Ce(ae,ue);return}he||(ae=ae.slice(0,1));for(const $e of ae){const xe=$e;xe.uid=genFileId(),pe(xe),le&&L(xe)}},L=async ae=>{if(y.value.value="",!t.beforeUpload)return z(ae);let le,de={};try{const he=t.data,pe=t.beforeUpload(ae);de=isPlainObject(t.data)?cloneDeep(t.data):t.data,le=await pe,isPlainObject(t.data)&&isEqual$1(he,de)&&(de=cloneDeep(t.data))}catch(he){le=!1}if(le===!1){t.onRemove(ae);return}let ue=ae;le instanceof Blob&&(le instanceof File?ue=le:ue=new File([le],ae.name,{type:ae.type})),z(Object.assign(ue,{uid:ae.uid}),de)},V=async(ae,le)=>isFunction$4(ae)?ae(le):ae,z=async(ae,le)=>{const{headers:de,data:ue,method:he,withCredentials:pe,name:Ce,action:$e,onProgress:xe,onSuccess:Ie,onError:Ne,httpRequest:Fe}=t;try{le=await V(le!=null?le:ue,ae)}catch(qe){t.onRemove(ae);return}const{uid:Ve}=ae,Oe={headers:de||{},withCredentials:pe,file:ae,data:le,method:he,filename:Ce,action:$e,onProgress:qe=>{xe(qe,ae)},onSuccess:qe=>{Ie(qe,ae),delete g.value[Ve]},onError:qe=>{Ne(qe,ae),delete g.value[Ve]}},ze=Fe(Oe);g.value[Ve]=ze,ze instanceof Promise&&ze.then(Oe.onSuccess,Oe.onError)},j=ae=>{const le=ae.target.files;le&&k(Array.from(le))},ie=()=>{r.value||(y.value.value="",y.value.click())},oe=()=>{ie()};return e({abort:ae=>{entriesOf(g.value).filter(ae?([de])=>String(ae.uid)===de:()=>!0).forEach(([de,ue])=>{ue instanceof XMLHttpRequest&&ue.abort(),delete g.value[de]})},upload:L}),(ae,le)=>(openBlock(),createElementBlock("div",{class:normalizeClass([unref(i).b(),unref(i).m(ae.listType),unref(i).is("drag",ae.drag),unref(i).is("disabled",unref(r))]),tabindex:unref(r)?"-1":"0",onClick:ie,onKeydown:withKeys(withModifiers(oe,["self"]),["enter","space"])},[ae.drag?(openBlock(),createBlock(UploadDragger,{key:0,disabled:unref(r),onFile:k},{default:withCtx(()=>[renderSlot(ae.$slots,"default")]),_:3},8,["disabled"])):renderSlot(ae.$slots,"default",{key:1}),createBaseVNode("input",{ref_key:"inputRef",ref:y,class:normalizeClass(unref(i).e("input")),name:ae.name,disabled:unref(r),multiple:ae.multiple,accept:ae.accept,type:"file",onChange:j,onClick:withModifiers(()=>{},["stop"])},null,42,["name","disabled","multiple","accept","onClick"])],42,["tabindex","onKeydown"]))}});var UploadContent=_export_sfc(_sfc_main$b,[["__file","upload-content.vue"]]);const SCOPE="ElUpload",revokeFileObjectURL=n=>{var e;(e=n.url)!=null&&e.startsWith("blob:")&&URL.revokeObjectURL(n.url)},useHandlers=(n,e)=>{const t=useVModel(n,"fileList",void 0,{passive:!0}),i=oe=>t.value.find(re=>re.uid===oe.uid);function r(oe){var re;(re=e.value)==null||re.abort(oe)}function g(oe=["ready","uploading","success","fail"]){t.value=t.value.filter(re=>!oe.includes(re.status))}function y(oe){t.value=t.value.filter(re=>re.uid!==oe.uid)}const k=(oe,re)=>{const ae=i(re);ae&&(console.error(oe),ae.status="fail",y(ae),n.onError(oe,ae,t.value),n.onChange(ae,t.value))},L=(oe,re)=>{const ae=i(re);ae&&(n.onProgress(oe,ae,t.value),ae.status="uploading",ae.percentage=Math.round(oe.percent))},V=(oe,re)=>{const ae=i(re);ae&&(ae.status="success",ae.response=oe,n.onSuccess(oe,ae,t.value),n.onChange(ae,t.value))},z=oe=>{isNil(oe.uid)&&(oe.uid=genFileId());const re={name:oe.name,percentage:0,status:"ready",size:oe.size,raw:oe,uid:oe.uid};if(n.listType==="picture-card"||n.listType==="picture")try{re.url=URL.createObjectURL(oe)}catch(ae){ae.message,n.onError(ae,re,t.value)}t.value=[...t.value,re],n.onChange(re,t.value)},j=async oe=>{const re=oe instanceof File?i(oe):oe;re||throwError(SCOPE,"file to be removed not found");const ae=le=>{r(le),y(le),n.onRemove(le,t.value),revokeFileObjectURL(le)};n.beforeRemove?await n.beforeRemove(re,t.value)!==!1&&ae(re):ae(re)};function ie(){t.value.filter(({status:oe})=>oe==="ready").forEach(({raw:oe})=>{var re;return oe&&((re=e.value)==null?void 0:re.upload(oe))})}return watch(()=>n.listType,oe=>{oe!=="picture-card"&&oe!=="picture"||(t.value=t.value.map(re=>{const{raw:ae,url:le}=re;if(!le&&ae)try{re.url=URL.createObjectURL(ae)}catch(de){n.onError(de,re,t.value)}return re}))}),watch(t,oe=>{for(const re of oe)re.uid||(re.uid=genFileId()),re.status||(re.status="success")},{immediate:!0,deep:!0}),{uploadFiles:t,abort:r,clearFiles:g,handleError:k,handleProgress:L,handleStart:z,handleSuccess:V,handleRemove:j,submit:ie,revokeFileObjectURL}},__default__$1=defineComponent({name:"ElUpload"}),_sfc_main$a=defineComponent({...__default__$1,props:uploadProps,setup(n,{expose:e}){const t=n,i=useFormDisabled(),r=shallowRef(),{abort:g,submit:y,clearFiles:k,uploadFiles:L,handleStart:V,handleError:z,handleRemove:j,handleSuccess:ie,handleProgress:oe,revokeFileObjectURL:re}=useHandlers(t,r),ae=computed$1(()=>t.listType==="picture-card"),le=computed$1(()=>({...t,fileList:L.value,onStart:V,onProgress:oe,onSuccess:ie,onError:z,onRemove:j}));return onBeforeUnmount(()=>{L.value.forEach(re)}),provide(uploadContextKey,{accept:toRef(t,"accept")}),e({abort:g,submit:y,clearFiles:k,handleStart:V,handleRemove:j}),(de,ue)=>(openBlock(),createElementBlock("div",null,[unref(ae)&&de.showFileList?(openBlock(),createBlock(UploadList,{key:0,disabled:unref(i),"list-type":de.listType,files:unref(L),crossorigin:de.crossorigin,"handle-preview":de.onPreview,onRemove:unref(j)},createSlots({append:withCtx(()=>[createVNode(UploadContent,mergeProps({ref_key:"uploadRef",ref:r},unref(le)),{default:withCtx(()=>[de.$slots.trigger?renderSlot(de.$slots,"trigger",{key:0}):createCommentVNode("v-if",!0),!de.$slots.trigger&&de.$slots.default?renderSlot(de.$slots,"default",{key:1}):createCommentVNode("v-if",!0)]),_:3},16)]),_:2},[de.$slots.file?{name:"default",fn:withCtx(({file:he,index:pe})=>[renderSlot(de.$slots,"file",{file:he,index:pe})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):createCommentVNode("v-if",!0),!unref(ae)||unref(ae)&&!de.showFileList?(openBlock(),createBlock(UploadContent,mergeProps({key:1,ref_key:"uploadRef",ref:r},unref(le)),{default:withCtx(()=>[de.$slots.trigger?renderSlot(de.$slots,"trigger",{key:0}):createCommentVNode("v-if",!0),!de.$slots.trigger&&de.$slots.default?renderSlot(de.$slots,"default",{key:1}):createCommentVNode("v-if",!0)]),_:3},16)):createCommentVNode("v-if",!0),de.$slots.trigger?renderSlot(de.$slots,"default",{key:2}):createCommentVNode("v-if",!0),renderSlot(de.$slots,"tip"),!unref(ae)&&de.showFileList?(openBlock(),createBlock(UploadList,{key:3,disabled:unref(i),"list-type":de.listType,files:unref(L),crossorigin:de.crossorigin,"handle-preview":de.onPreview,onRemove:unref(j)},createSlots({_:2},[de.$slots.file?{name:"default",fn:withCtx(({file:he,index:pe})=>[renderSlot(de.$slots,"file",{file:he,index:pe})])}:void 0]),1032,["disabled","list-type","files","crossorigin","handle-preview","onRemove"])):createCommentVNode("v-if",!0)]))}});var Upload=_export_sfc(_sfc_main$a,[["__file","upload.vue"]]);const ElUpload=withInstall(Upload);function createLoadingComponent(n){let e;const t=ref$1(!1),i=reactive$1({...n,originalPosition:"",originalOverflow:"",visible:!1});function r(ie){i.text=ie}function g(){const ie=i.parent,oe=j.ns;if(!ie.vLoadingAddClassList){let re=ie.getAttribute("loading-number");re=Number.parseInt(re)-1,re?ie.setAttribute("loading-number",re.toString()):(removeClass(ie,oe.bm("parent","relative")),ie.removeAttribute("loading-number")),removeClass(ie,oe.bm("parent","hidden"))}y(),z.unmount()}function y(){var ie,oe;(oe=(ie=j.$el)==null?void 0:ie.parentNode)==null||oe.removeChild(j.$el)}function k(){var ie;n.beforeClose&&!n.beforeClose()||(t.value=!0,clearTimeout(e),e=setTimeout(L,400),i.visible=!1,(ie=n.closed)==null||ie.call(n))}function L(){if(!t.value)return;const ie=i.parent;t.value=!1,ie.vLoadingAddClassList=void 0,g()}const z=createApp(defineComponent({name:"ElLoading",setup(ie,{expose:oe}){const{ns:re,zIndex:ae}=useGlobalComponentSettings("loading");return oe({ns:re,zIndex:ae}),()=>{const le=i.spinner||i.svg,de=h$3("svg",{class:"circular",viewBox:i.svgViewBox?i.svgViewBox:"0 0 50 50",...le?{innerHTML:le}:{}},[h$3("circle",{class:"path",cx:"25",cy:"25",r:"20",fill:"none"})]),ue=i.text?h$3("p",{class:re.b("text")},[i.text]):void 0;return h$3(Transition,{name:re.b("fade"),onAfterLeave:L},{default:withCtx(()=>[withDirectives(createVNode("div",{style:{backgroundColor:i.background||""},class:[re.b("mask"),i.customClass,i.fullscreen?"is-fullscreen":""]},[h$3("div",{class:re.b("spinner")},[de,ue])]),[[vShow,i.visible]])])})}}})),j=z.mount(document.createElement("div"));return{...toRefs(i),setText:r,removeElLoadingChild:y,close:k,handleAfterLeave:L,vm:j,get $el(){return j.$el}}}let fullscreenInstance;const Loading=function(n={}){if(!isClient)return;const e=resolveOptions(n);if(e.fullscreen&&fullscreenInstance)return fullscreenInstance;const t=createLoadingComponent({...e,closed:()=>{var r;(r=e.closed)==null||r.call(e),e.fullscreen&&(fullscreenInstance=void 0)}});addStyle(e,e.parent,t),addClassList(e,e.parent,t),e.parent.vLoadingAddClassList=()=>addClassList(e,e.parent,t);let i=e.parent.getAttribute("loading-number");return i?i="".concat(Number.parseInt(i)+1):i="1",e.parent.setAttribute("loading-number",i),e.parent.appendChild(t.$el),nextTick(()=>t.visible.value=e.visible),e.fullscreen&&(fullscreenInstance=t),t},resolveOptions=n=>{var e,t,i,r;let g;return isString$5(n.target)?g=(e=document.querySelector(n.target))!=null?e:document.body:g=n.target||document.body,{parent:g===document.body||n.body?document.body:g,background:n.background||"",svg:n.svg||"",svgViewBox:n.svgViewBox||"",spinner:n.spinner||!1,text:n.text||"",fullscreen:g===document.body&&((t=n.fullscreen)!=null?t:!0),lock:(i=n.lock)!=null?i:!1,customClass:n.customClass||"",visible:(r=n.visible)!=null?r:!0,beforeClose:n.beforeClose,closed:n.closed,target:g}},addStyle=async(n,e,t)=>{const{nextZIndex:i}=t.vm.zIndex||t.vm._.exposed.zIndex,r={};if(n.fullscreen)t.originalPosition.value=getStyle(document.body,"position"),t.originalOverflow.value=getStyle(document.body,"overflow"),r.zIndex=i();else if(n.parent===document.body){t.originalPosition.value=getStyle(document.body,"position"),await nextTick();for(const g of["top","left"]){const y=g==="top"?"scrollTop":"scrollLeft";r[g]="".concat(n.target.getBoundingClientRect()[g]+document.body[y]+document.documentElement[y]-Number.parseInt(getStyle(document.body,"margin-".concat(g)),10),"px")}for(const g of["height","width"])r[g]="".concat(n.target.getBoundingClientRect()[g],"px")}else t.originalPosition.value=getStyle(e,"position");for(const[g,y]of Object.entries(r))t.$el.style[g]=y},addClassList=(n,e,t)=>{const i=t.vm.ns||t.vm._.exposed.ns;["absolute","fixed","sticky"].includes(t.originalPosition.value)?removeClass(e,i.bm("parent","relative")):addClass(e,i.bm("parent","relative")),n.fullscreen&&n.lock?addClass(e,i.bm("parent","hidden")):removeClass(e,i.bm("parent","hidden"))},INSTANCE_KEY=Symbol("ElLoading"),createInstance=(n,e)=>{var t,i,r,g;const y=e.instance,k=ie=>isObject$4(e.value)?e.value[ie]:void 0,L=ie=>{const oe=isString$5(ie)&&(y==null?void 0:y[ie])||ie;return oe&&ref$1(oe)},V=ie=>L(k(ie)||n.getAttribute("element-loading-".concat(hyphenate(ie)))),z=(t=k("fullscreen"))!=null?t:e.modifiers.fullscreen,j={text:V("text"),svg:V("svg"),svgViewBox:V("svgViewBox"),spinner:V("spinner"),background:V("background"),customClass:V("customClass"),fullscreen:z,target:(i=k("target"))!=null?i:z?void 0:n,body:(r=k("body"))!=null?r:e.modifiers.body,lock:(g=k("lock"))!=null?g:e.modifiers.lock};n[INSTANCE_KEY]={options:j,instance:Loading(j)}},updateOptions=(n,e)=>{for(const t of Object.keys(e))isRef(e[t])&&(e[t].value=n[t])},vLoading={mounted(n,e){e.value&&createInstance(n,e)},updated(n,e){const t=n[INSTANCE_KEY];e.oldValue!==e.value&&(e.value&&!e.oldValue?createInstance(n,e):e.value&&e.oldValue?isObject$4(e.value)&&updateOptions(e.value,t.options):t==null||t.instance.close())},unmounted(n){var e;(e=n[INSTANCE_KEY])==null||e.instance.close(),n[INSTANCE_KEY]=null}},ElLoading={directive:vLoading},messageTypes=["success","info","warning","error"],messageDefaults=mutable({customClass:"",center:!1,dangerouslyUseHTMLString:!1,duration:3e3,icon:void 0,id:"",message:"",onClose:void 0,showClose:!1,type:"info",plain:!1,offset:16,zIndex:0,grouping:!1,repeatNum:1,appendTo:isClient?document.body:void 0}),messageProps=buildProps({customClass:{type:String,default:messageDefaults.customClass},center:{type:Boolean,default:messageDefaults.center},dangerouslyUseHTMLString:{type:Boolean,default:messageDefaults.dangerouslyUseHTMLString},duration:{type:Number,default:messageDefaults.duration},icon:{type:iconPropType,default:messageDefaults.icon},id:{type:String,default:messageDefaults.id},message:{type:definePropType([String,Object,Function]),default:messageDefaults.message},onClose:{type:definePropType(Function),default:messageDefaults.onClose},showClose:{type:Boolean,default:messageDefaults.showClose},type:{type:String,values:messageTypes,default:messageDefaults.type},plain:{type:Boolean,default:messageDefaults.plain},offset:{type:Number,default:messageDefaults.offset},zIndex:{type:Number,default:messageDefaults.zIndex},grouping:{type:Boolean,default:messageDefaults.grouping},repeatNum:{type:Number,default:messageDefaults.repeatNum}}),messageEmits={destroy:()=>!0},instances=shallowReactive([]),getInstance=n=>{const e=instances.findIndex(r=>r.id===n),t=instances[e];let i;return e>0&&(i=instances[e-1]),{current:t,prev:i}},getLastOffset=n=>{const{prev:e}=getInstance(n);return e?e.vm.exposed.bottom.value:0},getOffsetOrSpace=(n,e)=>instances.findIndex(i=>i.id===n)>0?16:e,__default__=defineComponent({name:"ElMessage"}),_sfc_main$9=defineComponent({...__default__,props:messageProps,emits:messageEmits,setup(n,{expose:e}){const t=n,{Close:i}=TypeComponents,{ns:r,zIndex:g}=useGlobalComponentSettings("message"),{currentZIndex:y,nextZIndex:k}=g,L=ref$1(),V=ref$1(!1),z=ref$1(0);let j;const ie=computed$1(()=>t.type?t.type==="error"?"danger":t.type:"info"),oe=computed$1(()=>{const xe=t.type;return{[r.bm("icon",xe)]:xe&&TypeComponentsMap[xe]}}),re=computed$1(()=>t.icon||TypeComponentsMap[t.type]||""),ae=computed$1(()=>getLastOffset(t.id)),le=computed$1(()=>getOffsetOrSpace(t.id,t.offset)+ae.value),de=computed$1(()=>z.value+le.value),ue=computed$1(()=>({top:"".concat(le.value,"px"),zIndex:y.value}));function he(){t.duration!==0&&({stop:j}=useTimeoutFn(()=>{Ce()},t.duration))}function pe(){j==null||j()}function Ce(){V.value=!1}function $e({code:xe}){xe===EVENT_CODE.esc&&Ce()}return onMounted(()=>{he(),k(),V.value=!0}),watch(()=>t.repeatNum,()=>{pe(),he()}),useEventListener(document,"keydown",$e),useResizeObserver(L,()=>{z.value=L.value.getBoundingClientRect().height}),e({visible:V,bottom:de,close:Ce}),(xe,Ie)=>(openBlock(),createBlock(Transition,{name:unref(r).b("fade"),onBeforeLeave:xe.onClose,onAfterLeave:Ne=>xe.$emit("destroy"),persisted:""},{default:withCtx(()=>[withDirectives(createBaseVNode("div",{id:xe.id,ref_key:"messageRef",ref:L,class:normalizeClass([unref(r).b(),{[unref(r).m(xe.type)]:xe.type},unref(r).is("center",xe.center),unref(r).is("closable",xe.showClose),unref(r).is("plain",xe.plain),xe.customClass]),style:normalizeStyle(unref(ue)),role:"alert",onMouseenter:pe,onMouseleave:he},[xe.repeatNum>1?(openBlock(),createBlock(unref(ElBadge),{key:0,value:xe.repeatNum,type:unref(ie),class:normalizeClass(unref(r).e("badge"))},null,8,["value","type","class"])):createCommentVNode("v-if",!0),unref(re)?(openBlock(),createBlock(unref(ElIcon),{key:1,class:normalizeClass([unref(r).e("icon"),unref(oe)])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(unref(re))))]),_:1},8,["class"])):createCommentVNode("v-if",!0),renderSlot(xe.$slots,"default",{},()=>[xe.dangerouslyUseHTMLString?(openBlock(),createElementBlock(Fragment,{key:1},[createCommentVNode(" Caution here, message could've been compromised, never use user's input as message "),createBaseVNode("p",{class:normalizeClass(unref(r).e("content")),innerHTML:xe.message},null,10,["innerHTML"])],2112)):(openBlock(),createElementBlock("p",{key:0,class:normalizeClass(unref(r).e("content"))},toDisplayString(xe.message),3))]),xe.showClose?(openBlock(),createBlock(unref(ElIcon),{key:2,class:normalizeClass(unref(r).e("closeBtn")),onClick:withModifiers(Ce,["stop"])},{default:withCtx(()=>[createVNode(unref(i))]),_:1},8,["class","onClick"])):createCommentVNode("v-if",!0)],46,["id"]),[[vShow,V.value]])]),_:3},8,["name","onBeforeLeave","onAfterLeave"]))}});var MessageConstructor=_export_sfc(_sfc_main$9,[["__file","message.vue"]]);let seed=1;const normalizeOptions=n=>{const e=!n||isString$5(n)||isVNode(n)||isFunction$4(n)?{message:n}:n,t={...messageDefaults,...e};if(!t.appendTo)t.appendTo=document.body;else if(isString$5(t.appendTo)){let i=document.querySelector(t.appendTo);isElement(i)||(i=document.body),t.appendTo=i}return isBoolean(messageConfig.grouping)&&!t.grouping&&(t.grouping=messageConfig.grouping),isNumber(messageConfig.duration)&&t.duration===3e3&&(t.duration=messageConfig.duration),isNumber(messageConfig.offset)&&t.offset===16&&(t.offset=messageConfig.offset),isBoolean(messageConfig.showClose)&&!t.showClose&&(t.showClose=messageConfig.showClose),t},closeMessage=n=>{const e=instances.indexOf(n);if(e===-1)return;instances.splice(e,1);const{handler:t}=n;t.close()},createMessage=({appendTo:n,...e},t)=>{const i="message_".concat(seed++),r=e.onClose,g=document.createElement("div"),y={...e,id:i,onClose:()=>{r==null||r(),closeMessage(z)},onDestroy:()=>{render(null,g)}},k=createVNode(MessageConstructor,y,isFunction$4(y.message)||isVNode(y.message)?{default:isFunction$4(y.message)?y.message:()=>y.message}:null);k.appContext=t||message._context,render(k,g),n.appendChild(g.firstElementChild);const L=k.component,z={id:i,vnode:k,vm:L,handler:{close:()=>{L.exposed.visible.value=!1}},props:k.component.props};return z},message=(n={},e)=>{if(!isClient)return{close:()=>{}};const t=normalizeOptions(n);if(t.grouping&&instances.length){const r=instances.find(({vnode:g})=>{var y;return((y=g.props)==null?void 0:y.message)===t.message});if(r)return r.props.repeatNum+=1,r.props.type=t.type,r.handler}if(isNumber(messageConfig.max)&&instances.length>=messageConfig.max)return{close:()=>{}};const i=createMessage(t,e);return instances.push(i),i.handler};messageTypes.forEach(n=>{message[n]=(e={},t)=>{const i=normalizeOptions(e);return message({...i,type:n},t)}});function closeAll(n){for(const e of instances)(!n||n===e.props.type)&&e.handler.close()}message.closeAll=closeAll;message._context=null;const ElMessage=withInstallFunction(message,"$message"),FOCUSABLE_CHILDREN="_trap-focus-children",FOCUS_STACK=[],FOCUS_HANDLER=n=>{if(FOCUS_STACK.length===0)return;const e=FOCUS_STACK[FOCUS_STACK.length-1][FOCUSABLE_CHILDREN];if(e.length>0&&n.code===EVENT_CODE.tab){if(e.length===1){n.preventDefault(),document.activeElement!==e[0]&&e[0].focus();return}const t=n.shiftKey,i=n.target===e[0],r=n.target===e[e.length-1];i&&t&&(n.preventDefault(),e[e.length-1].focus()),r&&!t&&(n.preventDefault(),e[0].focus())}},TrapFocus={beforeMount(n){n[FOCUSABLE_CHILDREN]=obtainAllFocusableElements$1(n),FOCUS_STACK.push(n),FOCUS_STACK.length<=1&&document.addEventListener("keydown",FOCUS_HANDLER)},updated(n){nextTick(()=>{n[FOCUSABLE_CHILDREN]=obtainAllFocusableElements$1(n)})},unmounted(){FOCUS_STACK.shift(),FOCUS_STACK.length===0&&document.removeEventListener("keydown",FOCUS_HANDLER)}},_sfc_main$8=defineComponent({name:"ElMessageBox",directives:{TrapFocus},components:{ElButton,ElFocusTrap,ElInput,ElOverlay,ElIcon,...TypeComponents},inheritAttrs:!1,props:{buttonSize:{type:String,validator:isValidComponentSize},modal:{type:Boolean,default:!0},lockScroll:{type:Boolean,default:!0},showClose:{type:Boolean,default:!0},closeOnClickModal:{type:Boolean,default:!0},closeOnPressEscape:{type:Boolean,default:!0},closeOnHashChange:{type:Boolean,default:!0},center:Boolean,draggable:Boolean,overflow:Boolean,roundButton:{default:!1,type:Boolean},container:{type:String,default:"body"},boxType:{type:String,default:""}},emits:["vanish","action"],setup(n,{emit:e}){const{locale:t,zIndex:i,ns:r,size:g}=useGlobalComponentSettings("message-box",computed$1(()=>n.buttonSize)),{t:y}=t,{nextZIndex:k}=i,L=ref$1(!1),V=reactive$1({autofocus:!0,beforeClose:null,callback:null,cancelButtonText:"",cancelButtonClass:"",confirmButtonText:"",confirmButtonClass:"",customClass:"",customStyle:{},dangerouslyUseHTMLString:!1,distinguishCancelAndClose:!1,icon:"",inputPattern:null,inputPlaceholder:"",inputType:"text",inputValue:null,inputValidator:null,inputErrorMessage:"",message:null,modalFade:!0,modalClass:"",showCancelButton:!1,showConfirmButton:!0,type:"",title:void 0,showInput:!1,action:"",confirmButtonLoading:!1,cancelButtonLoading:!1,confirmButtonLoadingIcon:markRaw(loading_default),cancelButtonLoadingIcon:markRaw(loading_default),confirmButtonDisabled:!1,editorErrorMessage:"",validateError:!1,zIndex:k()}),z=computed$1(()=>{const Et=V.type;return{[r.bm("icon",Et)]:Et&&TypeComponentsMap[Et]}}),j=useId(),ie=useId(),oe=computed$1(()=>V.icon||TypeComponentsMap[V.type]||""),re=computed$1(()=>!!V.message),ae=ref$1(),le=ref$1(),de=ref$1(),ue=ref$1(),he=ref$1(),pe=computed$1(()=>V.confirmButtonClass);watch(()=>V.inputValue,async Et=>{await nextTick(),n.boxType==="prompt"&&Et!==null&&Oe()},{immediate:!0}),watch(()=>L.value,Et=>{var At,Lt;Et&&(n.boxType!=="prompt"&&(V.autofocus?de.value=(Lt=(At=he.value)==null?void 0:At.$el)!=null?Lt:ae.value:de.value=ae.value),V.zIndex=k()),n.boxType==="prompt"&&(Et?nextTick().then(()=>{var kt;ue.value&&ue.value.$el&&(V.autofocus?de.value=(kt=ze())!=null?kt:ae.value:de.value=ae.value)}):(V.editorErrorMessage="",V.validateError=!1))});const Ce=computed$1(()=>n.draggable),$e=computed$1(()=>n.overflow);useDraggable(ae,le,Ce,$e),onMounted(async()=>{await nextTick(),n.closeOnHashChange&&window.addEventListener("hashchange",xe)}),onBeforeUnmount(()=>{n.closeOnHashChange&&window.removeEventListener("hashchange",xe)});function xe(){L.value&&(L.value=!1,nextTick(()=>{V.action&&e("action",V.action)}))}const Ie=()=>{n.closeOnClickModal&&Ve(V.distinguishCancelAndClose?"close":"cancel")},Ne=useSameTarget(Ie),Fe=Et=>{if(V.inputType!=="textarea")return Et.preventDefault(),Ve("confirm")},Ve=Et=>{var At;n.boxType==="prompt"&&Et==="confirm"&&!Oe()||(V.action=Et,V.beforeClose?(At=V.beforeClose)==null||At.call(V,Et,V,xe):xe())},Oe=()=>{if(n.boxType==="prompt"){const Et=V.inputPattern;if(Et&&!Et.test(V.inputValue||""))return V.editorErrorMessage=V.inputErrorMessage||y("el.messagebox.error"),V.validateError=!0,!1;const At=V.inputValidator;if(isFunction$4(At)){const Lt=At(V.inputValue);if(Lt===!1)return V.editorErrorMessage=V.inputErrorMessage||y("el.messagebox.error"),V.validateError=!0,!1;if(isString$5(Lt))return V.editorErrorMessage=Lt,V.validateError=!0,!1}}return V.editorErrorMessage="",V.validateError=!1,!0},ze=()=>{const Et=ue.value.$refs;return Et.input||Et.textarea},qe=()=>{Ve("close")},Ue=()=>{n.closeOnPressEscape&&qe()};return n.lockScroll&&useLockscreen(L),{...toRefs(V),ns:r,overlayEvent:Ne,visible:L,hasMessage:re,typeClass:z,contentId:j,inputId:ie,btnSize:g,iconComponent:oe,confirmButtonClasses:pe,rootRef:ae,focusStartRef:de,headerRef:le,inputRef:ue,confirmRef:he,doClose:xe,handleClose:qe,onCloseRequested:Ue,handleWrapperClick:Ie,handleInputEnter:Fe,handleAction:Ve,t:y}}});function _sfc_render$2(n,e,t,i,r,g){const y=resolveComponent("el-icon"),k=resolveComponent("close"),L=resolveComponent("el-input"),V=resolveComponent("el-button"),z=resolveComponent("el-focus-trap"),j=resolveComponent("el-overlay");return openBlock(),createBlock(Transition,{name:"fade-in-linear",onAfterLeave:ie=>n.$emit("vanish"),persisted:""},{default:withCtx(()=>[withDirectives(createVNode(j,{"z-index":n.zIndex,"overlay-class":[n.ns.is("message-box"),n.modalClass],mask:n.modal},{default:withCtx(()=>[createBaseVNode("div",{role:"dialog","aria-label":n.title,"aria-modal":"true","aria-describedby":n.showInput?void 0:n.contentId,class:normalizeClass("".concat(n.ns.namespace.value,"-overlay-message-box")),onClick:n.overlayEvent.onClick,onMousedown:n.overlayEvent.onMousedown,onMouseup:n.overlayEvent.onMouseup},[createVNode(z,{loop:"",trapped:n.visible,"focus-trap-el":n.rootRef,"focus-start-el":n.focusStartRef,onReleaseRequested:n.onCloseRequested},{default:withCtx(()=>[createBaseVNode("div",{ref:"rootRef",class:normalizeClass([n.ns.b(),n.customClass,n.ns.is("draggable",n.draggable),{[n.ns.m("center")]:n.center}]),style:normalizeStyle(n.customStyle),tabindex:"-1",onClick:withModifiers(()=>{},["stop"])},[n.title!==null&&n.title!==void 0?(openBlock(),createElementBlock("div",{key:0,ref:"headerRef",class:normalizeClass([n.ns.e("header"),{"show-close":n.showClose}])},[createBaseVNode("div",{class:normalizeClass(n.ns.e("title"))},[n.iconComponent&&n.center?(openBlock(),createBlock(y,{key:0,class:normalizeClass([n.ns.e("status"),n.typeClass])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),createBaseVNode("span",null,toDisplayString(n.title),1)],2),n.showClose?(openBlock(),createElementBlock("button",{key:0,type:"button",class:normalizeClass(n.ns.e("headerbtn")),"aria-label":n.t("el.messagebox.close"),onClick:ie=>n.handleAction(n.distinguishCancelAndClose?"close":"cancel"),onKeydown:withKeys(withModifiers(ie=>n.handleAction(n.distinguishCancelAndClose?"close":"cancel"),["prevent"]),["enter"])},[createVNode(y,{class:normalizeClass(n.ns.e("close"))},{default:withCtx(()=>[createVNode(k)]),_:1},8,["class"])],42,["aria-label","onClick","onKeydown"])):createCommentVNode("v-if",!0)],2)):createCommentVNode("v-if",!0),createBaseVNode("div",{id:n.contentId,class:normalizeClass(n.ns.e("content"))},[createBaseVNode("div",{class:normalizeClass(n.ns.e("container"))},[n.iconComponent&&!n.center&&n.hasMessage?(openBlock(),createBlock(y,{key:0,class:normalizeClass([n.ns.e("status"),n.typeClass])},{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(n.iconComponent)))]),_:1},8,["class"])):createCommentVNode("v-if",!0),n.hasMessage?(openBlock(),createElementBlock("div",{key:1,class:normalizeClass(n.ns.e("message"))},[renderSlot(n.$slots,"default",{},()=>[n.dangerouslyUseHTMLString?(openBlock(),createBlock(resolveDynamicComponent(n.showInput?"label":"p"),{key:1,for:n.showInput?n.inputId:void 0,innerHTML:n.message},null,8,["for","innerHTML"])):(openBlock(),createBlock(resolveDynamicComponent(n.showInput?"label":"p"),{key:0,for:n.showInput?n.inputId:void 0},{default:withCtx(()=>[createTextVNode(toDisplayString(n.dangerouslyUseHTMLString?"":n.message),1)]),_:1},8,["for"]))])],2)):createCommentVNode("v-if",!0)],2),withDirectives(createBaseVNode("div",{class:normalizeClass(n.ns.e("input"))},[createVNode(L,{id:n.inputId,ref:"inputRef",modelValue:n.inputValue,"onUpdate:modelValue":ie=>n.inputValue=ie,type:n.inputType,placeholder:n.inputPlaceholder,"aria-invalid":n.validateError,class:normalizeClass({invalid:n.validateError}),onKeydown:withKeys(n.handleInputEnter,["enter"])},null,8,["id","modelValue","onUpdate:modelValue","type","placeholder","aria-invalid","class","onKeydown"]),createBaseVNode("div",{class:normalizeClass(n.ns.e("errormsg")),style:normalizeStyle({visibility:n.editorErrorMessage?"visible":"hidden"})},toDisplayString(n.editorErrorMessage),7)],2),[[vShow,n.showInput]])],10,["id"]),createBaseVNode("div",{class:normalizeClass(n.ns.e("btns"))},[n.showCancelButton?(openBlock(),createBlock(V,{key:0,loading:n.cancelButtonLoading,"loading-icon":n.cancelButtonLoadingIcon,class:normalizeClass([n.cancelButtonClass]),round:n.roundButton,size:n.btnSize,onClick:ie=>n.handleAction("cancel"),onKeydown:withKeys(withModifiers(ie=>n.handleAction("cancel"),["prevent"]),["enter"])},{default:withCtx(()=>[createTextVNode(toDisplayString(n.cancelButtonText||n.t("el.messagebox.cancel")),1)]),_:1},8,["loading","loading-icon","class","round","size","onClick","onKeydown"])):createCommentVNode("v-if",!0),withDirectives(createVNode(V,{ref:"confirmRef",type:"primary",loading:n.confirmButtonLoading,"loading-icon":n.confirmButtonLoadingIcon,class:normalizeClass([n.confirmButtonClasses]),round:n.roundButton,disabled:n.confirmButtonDisabled,size:n.btnSize,onClick:ie=>n.handleAction("confirm"),onKeydown:withKeys(withModifiers(ie=>n.handleAction("confirm"),["prevent"]),["enter"])},{default:withCtx(()=>[createTextVNode(toDisplayString(n.confirmButtonText||n.t("el.messagebox.confirm")),1)]),_:1},8,["loading","loading-icon","class","round","disabled","size","onClick","onKeydown"]),[[vShow,n.showConfirmButton]])],2)],14,["onClick"])]),_:3},8,["trapped","focus-trap-el","focus-start-el","onReleaseRequested"])],42,["aria-label","aria-describedby","onClick","onMousedown","onMouseup"])]),_:3},8,["z-index","overlay-class","mask"]),[[vShow,n.visible]])]),_:3},8,["onAfterLeave"])}var MessageBoxConstructor=_export_sfc(_sfc_main$8,[["render",_sfc_render$2],["__file","index.vue"]]);const messageInstance=new Map,getAppendToElement=n=>{let e=document.body;return n.appendTo&&(isString$5(n.appendTo)&&(e=document.querySelector(n.appendTo)),isElement(n.appendTo)&&(e=n.appendTo),isElement(e)||(e=document.body)),e},initInstance=(n,e,t=null)=>{const i=createVNode(MessageBoxConstructor,n,isFunction$4(n.message)||isVNode(n.message)?{default:isFunction$4(n.message)?n.message:()=>n.message}:null);return i.appContext=t,render(i,e),getAppendToElement(n).appendChild(e.firstElementChild),i.component},genContainer=()=>document.createElement("div"),showMessage=(n,e)=>{const t=genContainer();n.onVanish=()=>{render(null,t),messageInstance.delete(r)},n.onAction=g=>{const y=messageInstance.get(r);let k;n.showInput?k={value:r.inputValue,action:g}:k=g,n.callback?n.callback(k,i.proxy):g==="cancel"||g==="close"?n.distinguishCancelAndClose&&g!=="cancel"?y.reject("close"):y.reject("cancel"):y.resolve(k)};const i=initInstance(n,t,e),r=i.proxy;for(const g in n)hasOwn(n,g)&&!hasOwn(r.$props,g)&&(r[g]=n[g]);return r.visible=!0,r};function MessageBox(n,e=null){if(!isClient)return Promise.reject();let t;return isString$5(n)||isVNode(n)?n={message:n}:t=n.callback,new Promise((i,r)=>{const g=showMessage(n,e!=null?e:MessageBox._context);messageInstance.set(g,{options:n,callback:t,resolve:i,reject:r})})}const MESSAGE_BOX_VARIANTS=["alert","confirm","prompt"],MESSAGE_BOX_DEFAULT_OPTS={alert:{closeOnPressEscape:!1,closeOnClickModal:!1},confirm:{showCancelButton:!0},prompt:{showCancelButton:!0,showInput:!0}};MESSAGE_BOX_VARIANTS.forEach(n=>{MessageBox[n]=messageBoxFactory(n)});function messageBoxFactory(n){return(e,t,i,r)=>{let g="";return isObject$4(t)?(i=t,g=""):isUndefined(t)?g="":g=t,MessageBox(Object.assign({title:g,message:e,type:"",...MESSAGE_BOX_DEFAULT_OPTS[n]},i,{boxType:n}),r)}}MessageBox.close=()=>{messageInstance.forEach((n,e)=>{e.doClose()}),messageInstance.clear()};MessageBox._context=null;const _MessageBox=MessageBox;_MessageBox.install=n=>{_MessageBox._context=n._context,n.config.globalProperties.$msgbox=_MessageBox,n.config.globalProperties.$messageBox=_MessageBox,n.config.globalProperties.$alert=_MessageBox.alert,n.config.globalProperties.$confirm=_MessageBox.confirm,n.config.globalProperties.$prompt=_MessageBox.prompt};const ElMessageBox=_MessageBox,adapter={useZIndex,message:ElMessage,messageBox:ElMessageBox,components:{autocomplete:{component:ElAutocomplete,props:n=>n},badge:{component:ElBadge,props:n=>n},button:{component:ElButton,props:n=>n},card:{component:ElCard,props:n=>n},cascader:{component:ElCascader,props:n=>n},checkbox:{component:ElCheckbox,props:n=>n},checkboxGroup:{component:ElCheckboxGroup$1,props:n=>n},col:{component:ElCol,props:n=>n},collapse:{component:ElCollapse,props:n=>n},collapseItem:{component:ElCollapseItem,props:n=>n},colorPicker:{component:ElColorPicker,props:n=>n},datePicker:{component:ElDatePicker,props:n=>n},dialog:{component:ElDialog,props:n=>n},divider:{component:ElDivider,props:n=>n},drawer:{component:ElDrawer,props:n=>n},dropdown:{component:ElDropdown,props:n=>n},dropdownItem:{component:ElDropdownItem,props:n=>n},dropdownMenu:{component:ElDropdownMenu,props:()=>({})},form:{component:ElForm,props:n=>n},formItem:{component:ElFormItem,props:n=>n},icon:{component:ElIcon,props:n=>n},input:{component:ElInput,props:n=>n},inputNumber:{component:ElInputNumber,props:n=>n},option:{component:ElOption,props:n=>n},optionGroup:{component:ElOptionGroup,props:n=>n},pagination:{component:ElPagination,props:n=>n},radio:{component:ElRadio,props:n=>n},radioButton:{component:ElRadioButton,props:n=>n},radioGroup:{component:ElRadioGroup,props:n=>n},row:{component:ElRow,props:()=>({})},scrollbar:{component:ElScrollbar,props:()=>({})},select:{component:ElSelect,props:n=>n},step:{component:ElStep,props:n=>n},steps:{component:ElSteps,props:n=>n},switch:{component:ElSwitch,props:n=>n},table:{component:ElTable,props:n=>n},tableColumn:{component:ElTableColumn,props:n=>n},tabPane:{component:ElTabPane,props:n=>n},tabs:{component:ElTabs,props:n=>n},tag:{component:ElTag,props:n=>n},timePicker:{component:ElTimePicker,props:n=>n},tooltip:{component:ElTooltip,props:n=>n},tree:{component:ElTree,props:n=>n},upload:{component:ElUpload,props:n=>n}},loading:ElLoading.directive},_sfc_main$7={name:"App"};function _sfc_render$1(n,e,t,i,r,g){const y=resolveComponent("router-view");return openBlock(),createBlock(y)}const App=_export_sfc$1(_sfc_main$7,[["render",_sfc_render$1]]);/*! * vue-router v4.5.1 * (c) 2025 Eduardo San Martin Morote * @license MIT */const isBrowser=typeof document<"u";function isRouteComponent(n){return typeof n=="object"||"displayName"in n||"props"in n||"__vccOpts"in n}function isESModule(n){return n.__esModule||n[Symbol.toStringTag]==="Module"||n.default&&isRouteComponent(n.default)}const assign=Object.assign;function applyToParams(n,e){const t={};for(const i in e){const r=e[i];t[i]=isArray(r)?r.map(n):n(r)}return t}const noop=()=>{},isArray=Array.isArray,HASH_RE=/#/g,AMPERSAND_RE=/&/g,SLASH_RE=/\//g,EQUAL_RE=/=/g,IM_RE=/\?/g,PLUS_RE=/\+/g,ENC_BRACKET_OPEN_RE=/%5B/g,ENC_BRACKET_CLOSE_RE=/%5D/g,ENC_CARET_RE=/%5E/g,ENC_BACKTICK_RE=/%60/g,ENC_CURLY_OPEN_RE=/%7B/g,ENC_PIPE_RE=/%7C/g,ENC_CURLY_CLOSE_RE=/%7D/g,ENC_SPACE_RE=/%20/g;function commonEncode(n){return encodeURI(""+n).replace(ENC_PIPE_RE,"|").replace(ENC_BRACKET_OPEN_RE,"[").replace(ENC_BRACKET_CLOSE_RE,"]")}function encodeHash(n){return commonEncode(n).replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryValue(n){return commonEncode(n).replace(PLUS_RE,"%2B").replace(ENC_SPACE_RE,"+").replace(HASH_RE,"%23").replace(AMPERSAND_RE,"%26").replace(ENC_BACKTICK_RE,"`").replace(ENC_CURLY_OPEN_RE,"{").replace(ENC_CURLY_CLOSE_RE,"}").replace(ENC_CARET_RE,"^")}function encodeQueryKey(n){return encodeQueryValue(n).replace(EQUAL_RE,"%3D")}function encodePath(n){return commonEncode(n).replace(HASH_RE,"%23").replace(IM_RE,"%3F")}function encodeParam(n){return n==null?"":encodePath(n).replace(SLASH_RE,"%2F")}function decode(n){try{return decodeURIComponent(""+n)}catch(e){}return""+n}const TRAILING_SLASH_RE=/\/$/,removeTrailingSlash=n=>n.replace(TRAILING_SLASH_RE,"");function parseURL(n,e,t="/"){let i,r={},g="",y="";const k=e.indexOf("#");let L=e.indexOf("?");return k=0&&(L=-1),L>-1&&(i=e.slice(0,L),g=e.slice(L+1,k>-1?k:e.length),r=n(g)),k>-1&&(i=i||e.slice(0,k),y=e.slice(k,e.length)),i=resolveRelativePath(i!=null?i:e,t),{fullPath:i+(g&&"?")+g+y,path:i,query:r,hash:decode(y)}}function stringifyURL(n,e){const t=e.query?n(e.query):"";return e.path+(t&&"?")+t+(e.hash||"")}function stripBase(n,e){return!e||!n.toLowerCase().startsWith(e.toLowerCase())?n:n.slice(e.length)||"/"}function isSameRouteLocation(n,e,t){const i=e.matched.length-1,r=t.matched.length-1;return i>-1&&i===r&&isSameRouteRecord(e.matched[i],t.matched[r])&&isSameRouteLocationParams(e.params,t.params)&&n(e.query)===n(t.query)&&e.hash===t.hash}function isSameRouteRecord(n,e){return(n.aliasOf||n)===(e.aliasOf||e)}function isSameRouteLocationParams(n,e){if(Object.keys(n).length!==Object.keys(e).length)return!1;for(const t in n)if(!isSameRouteLocationParamsValue(n[t],e[t]))return!1;return!0}function isSameRouteLocationParamsValue(n,e){return isArray(n)?isEquivalentArray(n,e):isArray(e)?isEquivalentArray(e,n):n===e}function isEquivalentArray(n,e){return isArray(e)?n.length===e.length&&n.every((t,i)=>t===e[i]):n.length===1&&n[0]===e}function resolveRelativePath(n,e){if(n.startsWith("/"))return n;if(!n)return e;const t=e.split("/"),i=n.split("/"),r=i[i.length-1];(r===".."||r===".")&&i.push("");let g=t.length-1,y,k;for(y=0;y1&&g--;else break;return t.slice(0,g).join("/")+"/"+i.slice(y).join("/")}const START_LOCATION_NORMALIZED={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var NavigationType;(function(n){n.pop="pop",n.push="push"})(NavigationType||(NavigationType={}));var NavigationDirection;(function(n){n.back="back",n.forward="forward",n.unknown=""})(NavigationDirection||(NavigationDirection={}));function normalizeBase(n){if(!n)if(isBrowser){const e=document.querySelector("base");n=e&&e.getAttribute("href")||"/",n=n.replace(/^\w+:\/\/[^\/]+/,"")}else n="/";return n[0]!=="/"&&n[0]!=="#"&&(n="/"+n),removeTrailingSlash(n)}const BEFORE_HASH_RE=/^[^#]+#/;function createHref(n,e){return n.replace(BEFORE_HASH_RE,"#")+e}function getElementPosition(n,e){const t=document.documentElement.getBoundingClientRect(),i=n.getBoundingClientRect();return{behavior:e.behavior,left:i.left-t.left-(e.left||0),top:i.top-t.top-(e.top||0)}}const computeScrollPosition=()=>({left:window.scrollX,top:window.scrollY});function scrollToPosition(n){let e;if("el"in n){const t=n.el,i=typeof t=="string"&&t.startsWith("#"),r=typeof t=="string"?i?document.getElementById(t.slice(1)):document.querySelector(t):t;if(!r)return;e=getElementPosition(r,n)}else e=n;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function getScrollKey(n,e){return(history.state?history.state.position-e:-1)+n}const scrollPositions=new Map;function saveScrollPosition(n,e){scrollPositions.set(n,e)}function getSavedScrollPosition(n){const e=scrollPositions.get(n);return scrollPositions.delete(n),e}let createBaseLocation=()=>location.protocol+"//"+location.host;function createCurrentLocation(n,e){const{pathname:t,search:i,hash:r}=e,g=n.indexOf("#");if(g>-1){let k=r.includes(n.slice(g))?n.slice(g).length:1,L=r.slice(k);return L[0]!=="/"&&(L="/"+L),stripBase(L,"")}return stripBase(t,n)+i+r}function useHistoryListeners(n,e,t,i){let r=[],g=[],y=null;const k=({state:ie})=>{const oe=createCurrentLocation(n,location),re=t.value,ae=e.value;let le=0;if(ie){if(t.value=oe,e.value=ie,y&&y===re){y=null;return}le=ae?ie.position-ae.position:0}else i(oe);r.forEach(de=>{de(t.value,re,{delta:le,type:NavigationType.pop,direction:le?le>0?NavigationDirection.forward:NavigationDirection.back:NavigationDirection.unknown})})};function L(){y=t.value}function V(ie){r.push(ie);const oe=()=>{const re=r.indexOf(ie);re>-1&&r.splice(re,1)};return g.push(oe),oe}function z(){const{history:ie}=window;ie.state&&ie.replaceState(assign({},ie.state,{scroll:computeScrollPosition()}),"")}function j(){for(const ie of g)ie();g=[],window.removeEventListener("popstate",k),window.removeEventListener("beforeunload",z)}return window.addEventListener("popstate",k),window.addEventListener("beforeunload",z,{passive:!0}),{pauseListeners:L,listen:V,destroy:j}}function buildState(n,e,t,i=!1,r=!1){return{back:n,current:e,forward:t,replaced:i,position:window.history.length,scroll:r?computeScrollPosition():null}}function useHistoryStateNavigation(n){const{history:e,location:t}=window,i={value:createCurrentLocation(n,t)},r={value:e.state};r.value||g(i.value,{back:null,current:i.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0);function g(L,V,z){const j=n.indexOf("#"),ie=j>-1?(t.host&&document.querySelector("base")?n:n.slice(j))+L:createBaseLocation()+n+L;try{e[z?"replaceState":"pushState"](V,"",ie),r.value=V}catch(oe){console.error(oe),t[z?"replace":"assign"](ie)}}function y(L,V){const z=assign({},e.state,buildState(r.value.back,L,r.value.forward,!0),V,{position:r.value.position});g(L,z,!0),i.value=L}function k(L,V){const z=assign({},r.value,e.state,{forward:L,scroll:computeScrollPosition()});g(z.current,z,!0);const j=assign({},buildState(i.value,L,null),{position:z.position+1},V);g(L,j,!1),i.value=L}return{location:i,state:r,push:k,replace:y}}function createWebHistory(n){n=normalizeBase(n);const e=useHistoryStateNavigation(n),t=useHistoryListeners(n,e.state,e.location,e.replace);function i(g,y=!0){y||t.pauseListeners(),history.go(g)}const r=assign({location:"",base:n,go:i,createHref:createHref.bind(null,n)},e,t);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>e.state.value}),r}function createWebHashHistory(n){return n=location.host?n||location.pathname+location.search:"",n.includes("#")||(n+="#"),createWebHistory(n)}function isRouteLocation(n){return typeof n=="string"||n&&typeof n=="object"}function isRouteName(n){return typeof n=="string"||typeof n=="symbol"}const NavigationFailureSymbol=Symbol("");var NavigationFailureType;(function(n){n[n.aborted=4]="aborted",n[n.cancelled=8]="cancelled",n[n.duplicated=16]="duplicated"})(NavigationFailureType||(NavigationFailureType={}));function createRouterError(n,e){return assign(new Error,{type:n,[NavigationFailureSymbol]:!0},e)}function isNavigationFailure(n,e){return n instanceof Error&&NavigationFailureSymbol in n&&(e==null||!!(n.type&e))}const BASE_PARAM_PATTERN="[^/]+?",BASE_PATH_PARSER_OPTIONS={sensitive:!1,strict:!1,start:!0,end:!0},REGEX_CHARS_RE=/[.+*?^${}()[\]/\\]/g;function tokensToParser(n,e){const t=assign({},BASE_PATH_PARSER_OPTIONS,e),i=[];let r=t.start?"^":"";const g=[];for(const V of n){const z=V.length?[]:[90];t.strict&&!V.length&&(r+="/");for(let j=0;je.length?e.length===1&&e[0]===80?1:-1:0}function comparePathParserScore(n,e){let t=0;const i=n.score,r=e.score;for(;t0&&e[e.length-1]<0}const ROOT_TOKEN={type:0,value:""},VALID_PARAM_RE=/[a-zA-Z0-9_]/;function tokenizePath(n){if(!n)return[[]];if(n==="/")return[[ROOT_TOKEN]];if(!n.startsWith("/"))throw new Error('Invalid path "'.concat(n,'"'));function e(oe){throw new Error("ERR (".concat(t,')/"').concat(V,'": ').concat(oe))}let t=0,i=t;const r=[];let g;function y(){g&&r.push(g),g=[]}let k=0,L,V="",z="";function j(){V&&(t===0?g.push({type:0,value:V}):t===1||t===2||t===3?(g.length>1&&(L==="*"||L==="+")&&e("A repeatable param (".concat(V,") must be alone in its segment. eg: '/:ids+.")),g.push({type:1,value:V,regexp:z,repeatable:L==="*"||L==="+",optional:L==="*"||L==="?"})):e("Invalid state to consume buffer"),V="")}function ie(){V+=L}for(;k{y(he)}:noop}function y(j){if(isRouteName(j)){const ie=i.get(j);ie&&(i.delete(j),t.splice(t.indexOf(ie),1),ie.children.forEach(y),ie.alias.forEach(y))}else{const ie=t.indexOf(j);ie>-1&&(t.splice(ie,1),j.record.name&&i.delete(j.record.name),j.children.forEach(y),j.alias.forEach(y))}}function k(){return t}function L(j){const ie=findInsertionIndex(j,t);t.splice(ie,0,j),j.record.name&&!isAliasRecord(j)&&i.set(j.record.name,j)}function V(j,ie){let oe,re={},ae,le;if("name"in j&&j.name){if(oe=i.get(j.name),!oe)throw createRouterError(1,{location:j});le=oe.record.name,re=assign(paramsFromLocation(ie.params,oe.keys.filter(he=>!he.optional).concat(oe.parent?oe.parent.keys.filter(he=>he.optional):[]).map(he=>he.name)),j.params&¶msFromLocation(j.params,oe.keys.map(he=>he.name))),ae=oe.stringify(re)}else if(j.path!=null)ae=j.path,oe=t.find(he=>he.re.test(ae)),oe&&(re=oe.parse(ae),le=oe.record.name);else{if(oe=ie.name?i.get(ie.name):t.find(he=>he.re.test(ie.path)),!oe)throw createRouterError(1,{location:j,currentLocation:ie});le=oe.record.name,re=assign({},ie.params,j.params),ae=oe.stringify(re)}const de=[];let ue=oe;for(;ue;)de.unshift(ue.record),ue=ue.parent;return{name:le,path:ae,params:re,matched:de,meta:mergeMetaFields(de)}}n.forEach(j=>g(j));function z(){t.length=0,i.clear()}return{addRoute:g,resolve:V,removeRoute:y,clearRoutes:z,getRoutes:k,getRecordMatcher:r}}function paramsFromLocation(n,e){const t={};for(const i of e)i in n&&(t[i]=n[i]);return t}function normalizeRouteRecord(n){const e={path:n.path,redirect:n.redirect,name:n.name,meta:n.meta||{},aliasOf:n.aliasOf,beforeEnter:n.beforeEnter,props:normalizeRecordProps(n),children:n.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in n?n.components||null:n.component&&{default:n.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function normalizeRecordProps(n){const e={},t=n.props||!1;if("component"in n)e.default=t;else for(const i in n.components)e[i]=typeof t=="object"?t[i]:t;return e}function isAliasRecord(n){for(;n;){if(n.record.aliasOf)return!0;n=n.parent}return!1}function mergeMetaFields(n){return n.reduce((e,t)=>assign(e,t.meta),{})}function mergeOptions(n,e){const t={};for(const i in n)t[i]=i in e?e[i]:n[i];return t}function findInsertionIndex(n,e){let t=0,i=e.length;for(;t!==i;){const g=t+i>>1;comparePathParserScore(n,e[g])<0?i=g:t=g+1}const r=getInsertionAncestor(n);return r&&(i=e.lastIndexOf(r,i-1)),i}function getInsertionAncestor(n){let e=n;for(;e=e.parent;)if(isMatchable(e)&&comparePathParserScore(n,e)===0)return e}function isMatchable({record:n}){return!!(n.name||n.components&&Object.keys(n.components).length||n.redirect)}function parseQuery(n){const e={};if(n===""||n==="?")return e;const i=(n[0]==="?"?n.slice(1):n).split("&");for(let r=0;rg&&encodeQueryValue(g)):[i&&encodeQueryValue(i)]).forEach(g=>{g!==void 0&&(e+=(e.length?"&":"")+t,g!=null&&(e+="="+g))})}return e}function normalizeQuery(n){const e={};for(const t in n){const i=n[t];i!==void 0&&(e[t]=isArray(i)?i.map(r=>r==null?null:""+r):i==null?i:""+i)}return e}const matchedRouteKey=Symbol(""),viewDepthKey=Symbol(""),routerKey=Symbol(""),routeLocationKey=Symbol(""),routerViewLocationKey=Symbol("");function useCallbacks(){let n=[];function e(i){return n.push(i),()=>{const r=n.indexOf(i);r>-1&&n.splice(r,1)}}function t(){n=[]}return{add:e,list:()=>n.slice(),reset:t}}function guardToPromiseFn(n,e,t,i,r,g=y=>y()){const y=i&&(i.enterCallbacks[r]=i.enterCallbacks[r]||[]);return()=>new Promise((k,L)=>{const V=ie=>{ie===!1?L(createRouterError(4,{from:t,to:e})):ie instanceof Error?L(ie):isRouteLocation(ie)?L(createRouterError(2,{from:e,to:ie})):(y&&i.enterCallbacks[r]===y&&typeof ie=="function"&&y.push(ie),k())},z=g(()=>n.call(i&&i.instances[r],e,t,V));let j=Promise.resolve(z);n.length<3&&(j=j.then(V)),j.catch(ie=>L(ie))})}function extractComponentsGuards(n,e,t,i,r=g=>g()){const g=[];for(const y of n)for(const k in y.components){let L=y.components[k];if(!(e!=="beforeRouteEnter"&&!y.instances[k]))if(isRouteComponent(L)){const z=(L.__vccOpts||L)[e];z&&g.push(guardToPromiseFn(z,t,i,y,k,r))}else{let V=L();g.push(()=>V.then(z=>{if(!z)throw new Error("Couldn't resolve component \"".concat(k,'" at "').concat(y.path,'"'));const j=isESModule(z)?z.default:z;y.mods[k]=z,y.components[k]=j;const oe=(j.__vccOpts||j)[e];return oe&&guardToPromiseFn(oe,t,i,y,k,r)()}))}}return g}function useLink(n){const e=inject(routerKey),t=inject(routeLocationKey),i=computed$1(()=>{const L=unref(n.to);return e.resolve(L)}),r=computed$1(()=>{const{matched:L}=i.value,{length:V}=L,z=L[V-1],j=t.matched;if(!z||!j.length)return-1;const ie=j.findIndex(isSameRouteRecord.bind(null,z));if(ie>-1)return ie;const oe=getOriginalPath(L[V-2]);return V>1&&getOriginalPath(z)===oe&&j[j.length-1].path!==oe?j.findIndex(isSameRouteRecord.bind(null,L[V-2])):ie}),g=computed$1(()=>r.value>-1&&includesParams(t.params,i.value.params)),y=computed$1(()=>r.value>-1&&r.value===t.matched.length-1&&isSameRouteLocationParams(t.params,i.value.params));function k(L={}){if(guardEvent(L)){const V=e[unref(n.replace)?"replace":"push"](unref(n.to)).catch(noop);return n.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>V),V}return Promise.resolve()}return{route:i,href:computed$1(()=>i.value.href),isActive:g,isExactActive:y,navigate:k}}function preferSingleVNode(n){return n.length===1?n[0]:n}const RouterLinkImpl=defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink,setup(n,{slots:e}){const t=reactive$1(useLink(n)),{options:i}=inject(routerKey),r=computed$1(()=>({[getLinkClass(n.activeClass,i.linkActiveClass,"router-link-active")]:t.isActive,[getLinkClass(n.exactActiveClass,i.linkExactActiveClass,"router-link-exact-active")]:t.isExactActive}));return()=>{const g=e.default&&preferSingleVNode(e.default(t));return n.custom?g:h$3("a",{"aria-current":t.isExactActive?n.ariaCurrentValue:null,href:t.href,onClick:t.navigate,class:r.value},g)}}}),RouterLink=RouterLinkImpl;function guardEvent(n){if(!(n.metaKey||n.altKey||n.ctrlKey||n.shiftKey)&&!n.defaultPrevented&&!(n.button!==void 0&&n.button!==0)){if(n.currentTarget&&n.currentTarget.getAttribute){const e=n.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return n.preventDefault&&n.preventDefault(),!0}}function includesParams(n,e){for(const t in e){const i=e[t],r=n[t];if(typeof i=="string"){if(i!==r)return!1}else if(!isArray(r)||r.length!==i.length||i.some((g,y)=>g!==r[y]))return!1}return!0}function getOriginalPath(n){return n?n.aliasOf?n.aliasOf.path:n.path:""}const getLinkClass=(n,e,t)=>n!=null?n:e!=null?e:t,RouterViewImpl=defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(n,{attrs:e,slots:t}){const i=inject(routerViewLocationKey),r=computed$1(()=>n.route||i.value),g=inject(viewDepthKey,0),y=computed$1(()=>{let V=unref(g);const{matched:z}=r.value;let j;for(;(j=z[V])&&!j.components;)V++;return V}),k=computed$1(()=>r.value.matched[y.value]);provide(viewDepthKey,computed$1(()=>y.value+1)),provide(matchedRouteKey,k),provide(routerViewLocationKey,r);const L=ref$1();return watch(()=>[L.value,k.value,n.name],([V,z,j],[ie,oe,re])=>{z&&(z.instances[j]=V,oe&&oe!==z&&V&&V===ie&&(z.leaveGuards.size||(z.leaveGuards=oe.leaveGuards),z.updateGuards.size||(z.updateGuards=oe.updateGuards))),V&&z&&(!oe||!isSameRouteRecord(z,oe)||!ie)&&(z.enterCallbacks[j]||[]).forEach(ae=>ae(V))},{flush:"post"}),()=>{const V=r.value,z=n.name,j=k.value,ie=j&&j.components[z];if(!ie)return normalizeSlot(t.default,{Component:ie,route:V});const oe=j.props[z],re=oe?oe===!0?V.params:typeof oe=="function"?oe(V):oe:null,le=h$3(ie,assign({},re,e,{onVnodeUnmounted:de=>{de.component.isUnmounted&&(j.instances[z]=null)},ref:L}));return normalizeSlot(t.default,{Component:le,route:V})||le}}});function normalizeSlot(n,e){if(!n)return null;const t=n(e);return t.length===1?t[0]:t}const RouterView=RouterViewImpl;function createRouter(n){const e=createRouterMatcher(n.routes,n),t=n.parseQuery||parseQuery,i=n.stringifyQuery||stringifyQuery,r=n.history,g=useCallbacks(),y=useCallbacks(),k=useCallbacks(),L=shallowRef(START_LOCATION_NORMALIZED);let V=START_LOCATION_NORMALIZED;isBrowser&&n.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const z=applyToParams.bind(null,ai=>""+ai),j=applyToParams.bind(null,encodeParam),ie=applyToParams.bind(null,decode);function oe(ai,hi){let xi,Oi;return isRouteName(ai)?(xi=e.getRecordMatcher(ai),Oi=hi):Oi=ai,e.addRoute(Oi,xi)}function re(ai){const hi=e.getRecordMatcher(ai);hi&&e.removeRoute(hi)}function ae(){return e.getRoutes().map(ai=>ai.record)}function le(ai){return!!e.getRecordMatcher(ai)}function de(ai,hi){if(hi=assign({},hi||L.value),typeof ai=="string"){const li=parseURL(t,ai,hi.path),Di=e.resolve({path:li.path},hi),ki=r.createHref(li.fullPath);return assign(li,Di,{params:ie(Di.params),hash:decode(li.hash),redirectedFrom:void 0,href:ki})}let xi;if(ai.path!=null)xi=assign({},ai,{path:parseURL(t,ai.path,hi.path).path});else{const li=assign({},ai.params);for(const Di in li)li[Di]==null&&delete li[Di];xi=assign({},ai,{params:j(li)}),hi.params=j(hi.params)}const Oi=e.resolve(xi,hi),Ei=ai.hash||"";Oi.params=z(ie(Oi.params));const si=stringifyURL(i,assign({},ai,{hash:encodeHash(Ei),path:Oi.path})),fi=r.createHref(si);return assign({fullPath:si,hash:Ei,query:i===stringifyQuery?normalizeQuery(ai.query):ai.query||{}},Oi,{redirectedFrom:void 0,href:fi})}function ue(ai){return typeof ai=="string"?parseURL(t,ai,L.value.path):assign({},ai)}function he(ai,hi){if(V!==ai)return createRouterError(8,{from:hi,to:ai})}function pe(ai){return xe(ai)}function Ce(ai){return pe(assign(ue(ai),{replace:!0}))}function $e(ai){const hi=ai.matched[ai.matched.length-1];if(hi&&hi.redirect){const{redirect:xi}=hi;let Oi=typeof xi=="function"?xi(ai):xi;return typeof Oi=="string"&&(Oi=Oi.includes("?")||Oi.includes("#")?Oi=ue(Oi):{path:Oi},Oi.params={}),assign({query:ai.query,hash:ai.hash,params:Oi.path!=null?{}:ai.params},Oi)}}function xe(ai,hi){const xi=V=de(ai),Oi=L.value,Ei=ai.state,si=ai.force,fi=ai.replace===!0,li=$e(xi);if(li)return xe(assign(ue(li),{state:typeof li=="object"?assign({},Ei,li.state):Ei,force:si,replace:fi}),hi||xi);const Di=xi;Di.redirectedFrom=hi;let ki;return!si&&isSameRouteLocation(i,Oi,xi)&&(ki=createRouterError(16,{to:Di,from:Oi}),jt(Oi,Oi,!0,!1)),(ki?Promise.resolve(ki):Fe(Di,Oi)).catch(Ai=>isNavigationFailure(Ai)?isNavigationFailure(Ai,2)?Ai:ei(Ai):Lt(Ai,Di,Oi)).then(Ai=>{if(Ai){if(isNavigationFailure(Ai,2))return xe(assign({replace:fi},ue(Ai.to),{state:typeof Ai.to=="object"?assign({},Ei,Ai.to.state):Ei,force:si}),hi||Di)}else Ai=Oe(Di,Oi,!0,fi,Ei);return Ve(Di,Oi,Ai),Ai})}function Ie(ai,hi){const xi=he(ai,hi);return xi?Promise.reject(xi):Promise.resolve()}function Ne(ai){const hi=Ci.values().next().value;return hi&&typeof hi.runWithContext=="function"?hi.runWithContext(ai):ai()}function Fe(ai,hi){let xi;const[Oi,Ei,si]=extractChangingRecords(ai,hi);xi=extractComponentsGuards(Oi.reverse(),"beforeRouteLeave",ai,hi);for(const li of Oi)li.leaveGuards.forEach(Di=>{xi.push(guardToPromiseFn(Di,ai,hi))});const fi=Ie.bind(null,ai,hi);return xi.push(fi),Ri(xi).then(()=>{xi=[];for(const li of g.list())xi.push(guardToPromiseFn(li,ai,hi));return xi.push(fi),Ri(xi)}).then(()=>{xi=extractComponentsGuards(Ei,"beforeRouteUpdate",ai,hi);for(const li of Ei)li.updateGuards.forEach(Di=>{xi.push(guardToPromiseFn(Di,ai,hi))});return xi.push(fi),Ri(xi)}).then(()=>{xi=[];for(const li of si)if(li.beforeEnter)if(isArray(li.beforeEnter))for(const Di of li.beforeEnter)xi.push(guardToPromiseFn(Di,ai,hi));else xi.push(guardToPromiseFn(li.beforeEnter,ai,hi));return xi.push(fi),Ri(xi)}).then(()=>(ai.matched.forEach(li=>li.enterCallbacks={}),xi=extractComponentsGuards(si,"beforeRouteEnter",ai,hi,Ne),xi.push(fi),Ri(xi))).then(()=>{xi=[];for(const li of y.list())xi.push(guardToPromiseFn(li,ai,hi));return xi.push(fi),Ri(xi)}).catch(li=>isNavigationFailure(li,8)?li:Promise.reject(li))}function Ve(ai,hi,xi){k.list().forEach(Oi=>Ne(()=>Oi(ai,hi,xi)))}function Oe(ai,hi,xi,Oi,Ei){const si=he(ai,hi);if(si)return si;const fi=hi===START_LOCATION_NORMALIZED,li=isBrowser?history.state:{};xi&&(Oi||fi?r.replace(ai.fullPath,assign({scroll:fi&&li&&li.scroll},Ei)):r.push(ai.fullPath,Ei)),L.value=ai,jt(ai,hi,xi,fi),ei()}let ze;function qe(){ze||(ze=r.listen((ai,hi,xi)=>{if(!wi.listening)return;const Oi=de(ai),Ei=$e(Oi);if(Ei){xe(assign(Ei,{replace:!0,force:!0}),Oi).catch(noop);return}V=Oi;const si=L.value;isBrowser&&saveScrollPosition(getScrollKey(si.fullPath,xi.delta),computeScrollPosition()),Fe(Oi,si).catch(fi=>isNavigationFailure(fi,12)?fi:isNavigationFailure(fi,2)?(xe(assign(ue(fi.to),{force:!0}),Oi).then(li=>{isNavigationFailure(li,20)&&!xi.delta&&xi.type===NavigationType.pop&&r.go(-1,!1)}).catch(noop),Promise.reject()):(xi.delta&&r.go(-xi.delta,!1),Lt(fi,Oi,si))).then(fi=>{fi=fi||Oe(Oi,si,!1),fi&&(xi.delta&&!isNavigationFailure(fi,8)?r.go(-xi.delta,!1):xi.type===NavigationType.pop&&isNavigationFailure(fi,20)&&r.go(-1,!1)),Ve(Oi,si,fi)}).catch(noop)}))}let Ue=useCallbacks(),Et=useCallbacks(),At;function Lt(ai,hi,xi){ei(ai);const Oi=Et.list();return Oi.length?Oi.forEach(Ei=>Ei(ai,hi,xi)):console.error(ai),Promise.reject(ai)}function kt(){return At&&L.value!==START_LOCATION_NORMALIZED?Promise.resolve():new Promise((ai,hi)=>{Ue.add([ai,hi])})}function ei(ai){return At||(At=!ai,qe(),Ue.list().forEach(([hi,xi])=>ai?xi(ai):hi()),Ue.reset()),ai}function jt(ai,hi,xi,Oi){const{scrollBehavior:Ei}=n;if(!isBrowser||!Ei)return Promise.resolve();const si=!xi&&getSavedScrollPosition(getScrollKey(ai.fullPath,0))||(Oi||!xi)&&history.state&&history.state.scroll||null;return nextTick().then(()=>Ei(ai,hi,si)).then(fi=>fi&&scrollToPosition(fi)).catch(fi=>Lt(fi,ai,hi))}const ri=ai=>r.go(ai);let ni;const Ci=new Set,wi={currentRoute:L,listening:!0,addRoute:oe,removeRoute:re,clearRoutes:e.clearRoutes,hasRoute:le,getRoutes:ae,resolve:de,options:n,push:pe,replace:Ce,go:ri,back:()=>ri(-1),forward:()=>ri(1),beforeEach:g.add,beforeResolve:y.add,afterEach:k.add,onError:Et.add,isReady:kt,install(ai){const hi=this;ai.component("RouterLink",RouterLink),ai.component("RouterView",RouterView),ai.config.globalProperties.$router=hi,Object.defineProperty(ai.config.globalProperties,"$route",{enumerable:!0,get:()=>unref(L)}),isBrowser&&!ni&&L.value===START_LOCATION_NORMALIZED&&(ni=!0,pe(r.location).catch(Ei=>{}));const xi={};for(const Ei in START_LOCATION_NORMALIZED)Object.defineProperty(xi,Ei,{get:()=>L.value[Ei],enumerable:!0});ai.provide(routerKey,hi),ai.provide(routeLocationKey,shallowReactive(xi)),ai.provide(routerViewLocationKey,L);const Oi=ai.unmount;Ci.add(ai),ai.unmount=function(){Ci.delete(ai),Ci.size<1&&(V=START_LOCATION_NORMALIZED,ze&&ze(),ze=null,L.value=START_LOCATION_NORMALIZED,ni=!1,At=!1),Oi()}}};function Ri(ai){return ai.reduce((hi,xi)=>hi.then(()=>Ne(xi)),Promise.resolve())}return wi}function extractChangingRecords(n,e){const t=[],i=[],r=[],g=Math.max(e.matched.length,n.matched.length);for(let y=0;yisSameRouteRecord(V,k))?i.push(k):t.push(k));const L=n.matched[y];L&&(e.matched.find(V=>isSameRouteRecord(V,L))||r.push(L))}return[t,i,r]}function useRouter(){return inject(routerKey)}var DeviceType=(n=>(n.Phone="phone",n.Pad="pad",n.PC="pc",n))(DeviceType||{});const uaMap={phone:"Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1",pad:"Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1",pc:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"},_sfc_main$6=defineComponent({__name:"DeviceGroup",props:{modelValue:{default:()=>({width:375,height:817})},modelModifiers:{}},emits:["update:modelValue"],setup(n,{expose:e}){const t=inject("services"),i={phone:817,pad:1024,pc:"100%"},r={phone:375,pad:768,pc:"100%"},g=ie=>i[ie],y=ie=>r[ie],k=useModel(n,"modelValue"),L=computed$1(()=>t==null?void 0:t.uiService.get("stageContainerRect")),V=()=>{var re,ae,le;if(!t)return;const ie=(ae=(re=t.editorService.get("stage"))==null?void 0:re.renderer)==null?void 0:ae.iframe;if(!(ie!=null&&ie.contentWindow))return;const oe=ie.contentWindow.appInstance;if(oe)if(oe.setEnv(uaMap[z.value]),oe.env.isWeb){const de=t.uiService.get("stageRect"),ue=convertToNumber(de.width,convertToNumber(((le=L.value)==null?void 0:le.width)||0));oe.setDesignWidth(ue)}else oe.setDesignWidth(375)},z=ref$1(DeviceType.Phone),j=async ie=>{const oe=y(ie),re=g(ie);k.value={width:oe,height:re},await nextTick(),V()};return e({viewerDevice:z}),(ie,oe)=>(openBlock(),createBlock(unref(_sfc_main$42),{size:"small",modelValue:z.value,"onUpdate:modelValue":oe[0]||(oe[0]=re=>z.value=re),class:normalizeClass(z.value),onChange:j},{default:withCtx(()=>[createVNode(unref(_sfc_main$43),{value:"phone"},{default:withCtx(()=>oe[1]||(oe[1]=[createTextVNode("Phone")])),_:1,__:[1]}),createVNode(unref(_sfc_main$43),{value:"pad"},{default:withCtx(()=>oe[2]||(oe[2]=[createTextVNode("Pad")])),_:1,__:[2]}),createVNode(unref(_sfc_main$43),{value:"pc"},{default:withCtx(()=>oe[3]||(oe[3]=[createTextVNode("PC")])),_:1,__:[3]})]),_:1},8,["modelValue","class"]))}}),componentGroupList=[{title:"示例容器",items:[{icon:folder_opened_default,text:"组",type:"container"},{icon:folder_opened_default,text:"蒙层",type:"overlay"},{icon:ticket_default,text:"页面片容器",type:"page-fragment-container"},{icon:files_default,text:"迭代器容器",type:"iterator-container"}]},{title:"示例组件",items:[{icon:tickets_default,text:"文本",type:"text"},{icon:switch_button_default,text:"按钮",type:"button"},{icon:picture_filled_default,text:"图片",type:"img"},{icon:grid_default,text:"二维码",type:"qrcode"}]},{title:"组合",items:[{icon:tickets_default,text:"弹窗",data:{type:"overlay",style:{position:"fixed",width:"100%",height:"100%",top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.8)"},name:"弹窗",items:[{type:"container",style:{position:"absolute",width:"80%",height:"400",top:"143.87",left:37.5,backgroundColor:"rgba(255, 255, 255, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%"},name:"组",items:[],layout:"absolute"}]}}]}],dsl={id:"1",name:"test",type:NodeType.ROOT,codeBlocks:{code_5336:{name:"getData",content:({app:n,params:e})=>{console.log("this is getData function",e,n)},params:[{name:"age",type:"number",tip:"年纪"},{name:"studentName",type:"text",tip:"学生姓名"}]},code_5316:{name:"getList",content:()=>{console.log("this is getList function")},params:[]},code_5317:{name:"code1",content:({flowState:n})=>{console.log("code1: set flowState.name=lisa"),n.name="lisa"},params:[]},code_5318:{name:"code2",content:({flowState:n})=>{console.log("print flowState.name",n.name),n.abort()},params:[]},code_6778:{name:"toOtherPage",desc:"",timing:"",params:[{name:"pageId",extra:"",type:""}],content:({app:n,params:e})=>{n.setPage(e.pageId)}}},items:[{type:NodeType.PAGE,id:"page_299",name:"index",title:"",layout:"absolute",style:{position:"relative",left:0,top:0,right:"",bottom:"",width:"100%",height:"1728",backgroundImage:"",backgroundColor:"rgba(248, 218, 218, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_5336",params:{age:12}}]},{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_5316",params:{}}]}],created:{hookType:"code",hookData:[{codeId:"code_5336",params:{studentName:"lisa",age:14}},{codeId:"code_5316",params:{}}]},items:[{type:"text",id:"text_9027",style:{width:"280.75",height:"38.97",position:"absolute",top:"107.90",left:"46.96",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"20",fontWeight:""},name:"文本",text:"Tmagic editor 营销活动编辑器",multiple:!0,events:[],displayConds:[]},{type:"qrcode",id:"qrcode_4738",style:{position:"absolute",left:"91.92",width:"176",height:"176",top:"565.50",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"二维码",url:"https://github.com/Tencent/tmagic-editor",events:[],created:[],displayConds:[]},{type:"img",id:"img_3877",style:{position:"absolute",left:"95.91",width:"176",height:"176",top:"325.71",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"图片",src:"https://vfiles.gtimg.cn/vupload/20210811/388ed01628667545737.png",url:"",events:[],created:[],displayConds:[]},{type:"button",id:"button_430",style:{position:"absolute",width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",top:"206.82",left:"55.95",right:"",bottom:"",backgroundImage:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:"",borderWidth:"0",borderColor:"",borderStyle:"none",transform:{rotate:"",scale:""}},name:"按钮",text:"${ds_b64c92b5.text}",multiple:!0,events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.COMP,to:"overlay_2159",method:"openOverlay"}]}],created:[],displayConds:[]},{id:"button_1cb163ad",text:"前往page2",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",position:"absolute",left:56,top:266},type:"button",name:"按钮",events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_6778",params:{pageId:"page_171ff161"}}]}],displayConds:[]},{type:"overlay",id:"overlay_2159",style:{position:"fixed",width:"100%",height:"100%",top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.8)"},name:"蒙层",items:[{type:"container",id:"container_607",style:{position:"absolute",width:"80%",height:"400",top:"143.87",left:37.5,right:"",bottom:"",backgroundImage:"",backgroundColor:"rgba(255, 255, 255, 1)",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:""},name:"组",items:[{type:"button",id:"button_7265",style:{position:"absolute",width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",top:"322.71",left:"15.99",right:"",bottom:"",backgroundImage:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"",fontWeight:"",borderWidth:"0",borderColor:"",borderStyle:"none",transform:{rotate:"",scale:""}},name:"按钮",text:"关闭弹窗",multiple:!0,events:[{name:"magic:common:events:click",actions:[{actionType:"comp",to:"overlay_2159",method:"closeOverlay"}]}],created:[]},{type:"img",id:"img_3291",style:{position:"absolute",left:"63.94",width:"176",height:"176",top:"105.91"},name:"图片",src:"https://puui.qpic.cn/vupload/0/1573555382625_bhp0wud8l6w.png/0",url:""},{type:"text",id:"text_8598",style:{position:"absolute",width:"86.92",height:"37.97",left:"106.90",top:"35.97",right:"",bottom:"",backgroundImage:"",backgroundColor:"",backgroundRepeat:"no-repeat",backgroundSize:"100% 100%",color:"",fontSize:"24",fontWeight:""},name:"文本",text:"Tmagic",multiple:!1,events:[],created:[]}],layout:"absolute",events:[],created:[]}]}]},{id:"page_171ff161",items:[{id:"button_80ca1076",text:"返回",multiple:!0,style:{width:"270",height:"37.5",border:0,backgroundColor:"#fb6f00",position:"absolute",left:48,top:297},type:"button",name:"按钮",events:[{name:"magic:common:events:click",actions:[{actionType:ActionType.CODE,codeId:"code_6778",params:{pageId:"page_299"}}]}],displayConds:[]}],style:{width:"100%",height:"100%",position:"relative",top:0,left:0},type:NodeType.PAGE,name:"page2",title:"",layout:"absolute"}],dataSources:[{id:"ds_b64c92b5",type:"base",title:"button",description:"按钮",fields:[{name:"text",title:"按钮文案",type:"string",description:"",enable:!0,defaultValue:"打开弹窗",fields:[]},{name:"array",title:"array",type:"array",description:"",enable:!0,defaultValue:[{a:1},{a:2}],fields:[{name:"a",title:"a",type:"number",description:"",enable:!0,defaultValue:1,fields:[]}]},{name:"object",title:"object",type:"object",description:"",enable:!0,defaultValue:{a:1},fields:[{name:"a",title:"a",type:"number",description:"",enable:!0,defaultValue:1,fields:[]}]}],methods:[],events:[],mocks:[],beforeRequest:"",afterResponse:""},{id:"ds_d1a460c5",type:"base",title:"style",description:"",fields:[{name:"color",title:"color",type:"string",description:"",enable:!0,defaultValue:"#fff",fields:[]}],methods:[{name:"setCorlor",desc:"",timing:"",params:[],content:({dataSource:n})=>{setTimeout(()=>{n.setData("red","color")},1e3)}}],events:[],mocks:[],beforeRequest:"",afterResponse:""}]},useEditorContentMenuData=()=>{const n={id:"",name:"蒙层",isTarget:(i,r)=>typeof i=="string"&&typeof r=="string"&&i.includes("events")&&r.startsWith("overlay_"),isCollectByDefault:!1},e=i=>({type:"button",text:"粘贴(带关联信息)",icon:markRaw(document_copy_default),display:r=>{var g;return!!((g=r==null?void 0:r.storageService)!=null&&g.getItem(COPY_STORAGE_KEY))},handler:r=>{var y,k,L,V;const g=(y=r==null?void 0:r.editorService)==null?void 0:y.get("nodes");!g||g.length===0||((k=r==null?void 0:r.editorService)==null||k.paste({},n),(L=r==null?void 0:r.codeBlockService)==null||L.paste(),(V=r==null?void 0:r.dataSourceService)==null||V.paste())}});return{contentMenuData:computed$1(()=>[{type:"button",text:"复制(带关联信息)",icon:markRaw(copy_document_default),handler:i=>{var g,y,k,L;const r=(g=i==null?void 0:i.editorService)==null?void 0:g.get("nodes");r&&((y=i==null?void 0:i.editorService)==null||y.copyWithRelated(cloneDeep(r),n)),r&&((k=i==null?void 0:i.codeBlockService)==null||k.copyWithRelated(cloneDeep(r))),r&&((L=i==null?void 0:i.dataSourceService)==null||L.copyWithRelated(cloneDeep(r)))}},e()])}},useEditorMenu=(n,e)=>{const t=useRouter(),i=shallowRef(),r=shallowRef(),g=ref$1(!1);return{menu:{left:[{type:"text",text:"魔方"}],center:["delete","undo","redo","guides","rule","zoom"],right:[{type:"button",text:"Form Playground",handler:()=>t.push("form")},{type:"button",text:"Form Editor Playground",handler:()=>t.push("form-editor")},{type:"button",text:"Table Playground",handler:()=>t.push("table")},"/",{type:"button",text:"预览",icon:connection_default,handler:async k=>{var L,V;if((k==null?void 0:k.editorService.get("modifiedNodeIds").size)>0)try{await tMagicMessageBox.confirm("有修改未保存,是否先保存再预览","提示",{confirmButtonText:"保存并预览",cancelButtonText:"预览",type:"warning"}),e(),tMagicMessage.success("保存成功")}catch(z){console.error(z)}g.value=!0,await nextTick(),!(!((L=r.value)!=null&&L.contentWindow)||!((V=i.value)!=null&&V.viewerDevice))&&Object.defineProperty(r.value.contentWindow.navigator,"userAgent",{value:uaMap[i.value.viewerDevice],writable:!0})}},{type:"button",text:"保存",icon:coin_default,handler:()=>{e(),tMagicMessage.success("保存成功")}},"/",{type:"button",icon:document_default$1,tooltip:"源码",handler:k=>k==null?void 0:k.uiService.set("showSrc",!(k!=null&&k.uiService.get("showSrc")))}]},deviceGroup:i,iframe:r,previewVisible:g,save:e}},useEditorMoveableOptions=n=>{let e=!1;const t=i=>{var L,V;const r={};if(!n.value)return r;const g=n.value.editorService.get("page"),y=(i==null?void 0:i.targetElIds)||[];let k=g&&y.includes("".concat(g.id));if(!k){const z=i==null?void 0:i.targetElId;if(z){const j=n.value.editorService.getNodeById(z);k=(j==null?void 0:j.type)===NodeType.PAGE}}return r.draggable=!k,r.resizable=!k,r.rotatable=!k,r.keepRatio=e,(V=(L=i==null?void 0:i.targetEl)==null?void 0:L.parentElement)!=null&&V.classList.contains("tmagic-editor-sub-stage-wrap")&&(r.draggable=!1,r.resizable=!1,r.rotatable=!1),r};return onMounted(()=>{if(!n.value)return;const i=()=>{var r;(r=n.value)==null||r.keybindingService.registerCommand("moveable-options-rotatable-endable",()=>{var g,y,k,L;e=!0,(k=(y=(g=n.value)==null?void 0:g.editorService.get("stage"))==null?void 0:y.actionManager)==null||k.updateMoveableOptions(),(L=n.value)==null||L.keybindingService.unregisterCommand("moveable-options-rotatable-endable")})};i(),n.value.keybindingService.registerCommand("moveable-options-rotatable-disable",()=>{var r,g,y;e=!1,(y=(g=(r=n.value)==null?void 0:r.editorService.get("stage"))==null?void 0:g.actionManager)==null||y.updateMoveableOptions(),i()}),n.value.keybindingService.register([{command:"moveable-options-rotatable-endable",keybinding:"shift",when:[["stage","keydown"]]},{command:"moveable-options-rotatable-disable",keybinding:"shift",when:[["stage","keyup"]]}])}),{moveableOptions:t}},__vite_import_meta_env__$1={LEGACY:!1,VITE_ENTRY_PATH:"./entry/vue3"},{VITE_ENTRY_PATH}=__vite_import_meta_env__$1,useEditorRes=()=>{const n=ref$1({}),e=ref$1({}),t=ref$1({}),i=ref$1({}),r=ref$1({}),g=ref$1({base:{events:[],methods:[]}});return asyncLoadJs("".concat(VITE_ENTRY_PATH,"/config/index.umd.cjs")).then(()=>{e.value=globalThis.magicPresetConfigs}),asyncLoadJs("".concat(VITE_ENTRY_PATH,"/value/index.umd.cjs")).then(()=>{n.value=globalThis.magicPresetValues}),asyncLoadJs("".concat(VITE_ENTRY_PATH,"/event/index.umd.cjs")).then(()=>{t.value=globalThis.magicPresetEvents}),asyncLoadJs("".concat(VITE_ENTRY_PATH,"/ds-config/index.umd.cjs")).then(()=>{i.value=globalThis.magicPresetDsConfigs}),asyncLoadJs("".concat(VITE_ENTRY_PATH,"/ds-value/index.umd.cjs")).then(()=>{r.value=globalThis.magicPresetDsValues}),{propsValues:n,propsConfigs:e,eventMethodList:t,datasourceConfigs:i,datasourceValues:r,datasourceEventMethodList:g}},__vite_import_meta_env__={LEGACY:!1,VITE_RUNTIME_PATH:"/tmagic-editor/playground/runtime/vue3"},_hoisted_1$3={class:"editor-app"},_hoisted_2$2=["height","src"],_sfc_main$5=defineComponent({__name:"Editor",setup(__props){const{VITE_RUNTIME_PATH}=__vite_import_meta_env__,datasourceList=[],runtimeUrl="".concat(VITE_RUNTIME_PATH,"/playground/index.html"),{propsValues,propsConfigs,eventMethodList,datasourceConfigs,datasourceValues,datasourceEventMethodList}=useEditorRes(),{contentMenuData}=useEditorContentMenuData(),editor=shallowRef(),value=ref$1(dsl),defaultSelected=ref$1(dsl.items[0].id),stageRect=ref$1({width:375,height:817}),previewUrl=computed$1(()=>{var n,e;return"".concat(VITE_RUNTIME_PATH,"/page/index.html?localPreview=1&page=").concat((e=(n=editor.value)==null?void 0:n.editorService.get("page"))==null?void 0:e.id)}),{moveableOptions}=useEditorMoveableOptions(editor),save=()=>{var n;localStorage.setItem("magicDSL",serialize(toRaw(value.value),{space:2,unsafe:!0}).replace(/"(\w+)":\s/g,"$1: ")),(n=editor.value)==null||n.editorService.resetModifiedNodeId()},{menu,deviceGroup,iframe,previewVisible}=useEditorMenu(value,save);try{const magicDSL=eval("(".concat(localStorage.getItem("magicDSL"),")"));magicDSL?value.value=magicDSL:save()}catch(n){console.error(n),save()}editorService.usePlugin({beforeDoAdd:(n,e)=>n.type==="overlay"?(n.style={...n.style,left:0,top:0},[n,editorService.get("page")]):[n,e]}),propsService.usePlugin({beforeFillConfig:n=>[n,"100px"]}),onBeforeUnmount(()=>{editorService.removeAllPlugins()});const propsSubmitErrorHandler=async n=>{console.error(n),tMagicMessage.closeAll(),tMagicMessage.error(n.message)};return(n,e)=>{var t;return openBlock(),createElementBlock("div",_hoisted_1$3,[createVNode(unref(_sfc_main$1E),{modelValue:value.value,"onUpdate:modelValue":e[1]||(e[1]=i=>value.value=i),ref_key:"editor",ref:editor,menu:unref(menu),"runtime-url":runtimeUrl,"props-configs":unref(propsConfigs),"props-values":unref(propsValues),"event-method-list":unref(eventMethodList),"datasource-event-method-list":unref(datasourceEventMethodList),"datasource-configs":unref(datasourceConfigs),"datasource-values":unref(datasourceValues),"component-group-list":unref(componentGroupList),"datasource-list":datasourceList,"default-selected":defaultSelected.value,"moveable-options":unref(moveableOptions),"auto-scroll-into-view":!0,"stage-rect":stageRect.value,layerContentMenu:unref(contentMenuData),stageContentMenu:unref(contentMenuData),onPropsSubmitError:propsSubmitErrorHandler},{"workspace-content":withCtx(()=>[createVNode(_sfc_main$6,{ref_key:"deviceGroup",ref:deviceGroup,modelValue:stageRect.value,"onUpdate:modelValue":e[0]||(e[0]=i=>stageRect.value=i)},null,8,["modelValue"])]),_:1},8,["modelValue","menu","props-configs","props-values","event-method-list","datasource-event-method-list","datasource-configs","datasource-values","component-group-list","default-selected","moveable-options","stage-rect","layerContentMenu","stageContentMenu"]),createVNode(unref(_sfc_main$4g),{modelValue:unref(previewVisible),"onUpdate:modelValue":e[2]||(e[2]=i=>isRef(previewVisible)?previewVisible.value=i:null),"destroy-on-close":"",class:"pre-viewer",title:"预览",width:(t=stageRect.value)==null?void 0:t.width},{default:withCtx(()=>{var i;return[unref(previewVisible)?(openBlock(),createElementBlock("iframe",{key:0,ref_key:"iframe",ref:iframe,width:"100%",style:{border:"none"},height:(i=stageRect.value)==null?void 0:i.height,src:previewUrl.value},null,8,_hoisted_2$2)):createCommentVNode("",!0)]}),_:1},8,["modelValue","width"])])}}}),_sfc_main$4=defineComponent({name:"nav-menu",props:{data:{type:Array,default:()=>[]}},components:{TMagicIcon:_sfc_main$49,TMagicButton:_sfc_main$4q}}),_hoisted_1$2={class:"m-editor-nav-menu"};function _sfc_render(n,e,t,i,r,g){const y=resolveComponent("TMagicIcon"),k=resolveComponent("TMagicButton");return openBlock(),createElementBlock("div",_hoisted_1$2,[(openBlock(!0),createElementBlock(Fragment,null,renderList(n.data,(L,V)=>(openBlock(),createBlock(k,{class:"menu-item button",key:V,size:"small",link:"",onClick:L.handler},{default:withCtx(()=>[createVNode(y,null,{default:withCtx(()=>[(openBlock(),createBlock(resolveDynamicComponent(L.icon)))]),_:2},1024),createBaseVNode("span",null,toDisplayString(L.text),1)]),_:2},1032,["onClick"]))),128))])}const NavMenu=_export_sfc$1(_sfc_main$4,[["render",_sfc_render],["__scopeId","data-v-67f3d725"]]),formDsl=createForm([{text:"文本",name:"text",tooltip:(n,{model:e})=>e.text,extra:(n,{model:e})=>"".concat(e.text,"extra"),rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{type:"checkbox",text:"checkbox",name:"option",activeValue:1,inactiveValue:0,defaultValue:1},{type:"link",displayText:"链接",text:"link",name:"link",href:"",tooltip:"element-ui"},{type:"display",text:"展示",name:"display",initValue:"display",tooltip:"hello"},{type:"number",text:"计数器",name:"number"},{type:"textarea",text:"输入框",name:"textarea1"},{type:"datetime",text:"日期",name:"datetime"},{type:"switch",text:"开关",name:"switch",filter:"number",defaultValue:1},{type:"daterange",text:"日期范围",name:"daterange"},{type:"time",text:"日期选择",name:"time"},{type:"colorPicker",text:"取色器",name:"colorPicker"},{type:"checkbox-group",text:"选项组",name:"checkGroup",options:[{value:1,text:"one"},{value:2,text:"two"}]},{type:"radio-group",text:"单选框",name:"radioGroup",options:[{value:1,text:"one"},{value:2,text:"two"}]},{type:"cascader",text:"级联选择",placeholder:"test",name:"cascader",options:[{value:1,label:"one",children:[{value:3,label:"three",children:[{value:8,label:"eight"}]},{value:4,label:"four"},{value:6,label:"six"}]},{value:2,label:"two",children:[{value:5,label:"five"},{value:7,label:"seven"}]}]},{type:"dynamic-field",name:"dynamic-field",dynamicKey:"textarea",text:"动态表单",returnFields:()=>[{name:"one",label:"number",defaultValue:"yes"}]},{type:"row",items:[{type:"date",text:"日期",name:"date"},{type:"checkbox",text:"多选框",name:"checkbox",tooltip:"分组xxxxxxxxxxxx",extra:"extra"}]},{type:"fieldset",name:"fieldset",legend:"分组",extra:"extra",checkbox:!0,expand:!0,items:[{type:"select",text:"下拉选项",name:"select",options:[{text:"选项1",value:1},{text:"选项2",value:2}]}]},{type:"tab",name:"tab",editable:!0,dynamic:!0,active:"0",tabType:"border-card",items:[{name:"xx",items:[{name:"text",text:"text"}]}]},{type:"table",name:"table",copyable:!0,defautSort:{prop:"name",order:"descending"},extra:"extra",itemExtra:(n,{model:e})=>"".concat(e.text,"itemExtra"),items:[{label:"id",name:"id",sortable:!0,tooltip:"分组xxxxxxxxxxxx",rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{label:"名称",name:"name"}]},{type:"groupList",name:"groupList",extra:"分组xxxxxxxxxxxx",copyable:!0,moveSpecifyLocation:!0,itemExtra:(n,{model:e})=>"".concat(e.name,"extra"),items:[{text:"id",name:"id",rules:[{required:!0,message:"请输入活动名称",trigger:"blur"}]},{text:"名称",name:"name"}]},{type:"panel",title:"panel",extra:"panel",schematic:"https://vfiles.gtimg.cn/vupload/20210329/9712631617027075445.png",items:[{text:"名称",name:"name"}]},{type:"step",items:[{name:"step1",title:"step1",items:[{text:"名称",name:"name"}]},{name:"step2",title:"step2",items:[{text:"名称2",name:"name"}]}]}]),_hoisted_1$1={style:{width:"100%","overflow-y":"auto"}},_hoisted_2$1={class:"diff-form"},_hoisted_3={class:"form-content"},_hoisted_4=["innerHTML"],_sfc_main$3=defineComponent({__name:"Form",setup(__props){const router=useRouter(),resultVisible=ref$1(!1),result=ref$1(""),form=ref$1(),diffFormConfig=ref$1([{type:"tab",items:[{title:"tab1",labelWidth:"80px",items:[{name:"text1",text:"文本字段1"},{name:"text2",text:"文本字段2"},{type:"number",text:"计数器",name:"number"}]},{title:"tab2",labelWidth:"80px",items:[{type:"colorPicker",text:"取色器",name:"colorPicker"}]}]}]),currentVersion=ref$1({text1:"当前版本的文本内容",text2:"你好",number:10,colorPicker:"#ffffff"}),lastVersion=ref$1({text1:"上一版本的文本内容",text2:"你好",number:12,colorPicker:"#000000"}),config=ref$1(formDsl),initValue=ref$1({text:"文本",number:10,fieldset:{select:1},table:[{id:1,name:"a"},{id:2,name:"b"}]}),menu=[{type:"button",text:"Editor Playground",handler:()=>router.push("/")},{type:"button",text:"Form Editor Playground",handler:()=>router.push("form-editor")},{type:"button",text:"Table Playground",handler:()=>router.push("table")},{type:"button",text:"提交",icon:markRaw(coin_default),handler:()=>{submit()}}];async function submit(){var n;try{const e=await((n=form.value)==null?void 0:n.submitForm());resultVisible.value=!0,result.value=JSON.stringify(e,null,2)}catch(e){console.error(e),tMagicMessage.error(e.message)}}function change(value){try{config.value=eval(value),tMagicMessage.success("更新成功")}catch(n){tMagicMessage.error(n.message)}}return(n,e)=>{const t=resolveComponent("magic-code-editor");return openBlock(),createElementBlock(Fragment,null,[createBaseVNode("div",_hoisted_1$1,[createVNode(NavMenu,{data:menu}),createBaseVNode("div",_hoisted_2$1,[e[1]||(e[1]=createBaseVNode("div",null,"开启表单对比功能",-1)),createVNode(unref(_sfc_main$3v),{ref_key:"form",ref:form,config:diffFormConfig.value,"is-compare":!0,"init-values":currentVersion.value,"last-values":lastVersion.value,size:"small",height:"100%"},null,8,["config","init-values","last-values"])]),e[2]||(e[2]=createBaseVNode("div",{class:"title"},"表单字段展示",-1)),createBaseVNode("div",_hoisted_3,[createVNode(unref(_sfc_main$3v),{ref_key:"form",ref:form,config:config.value,"init-values":initValue.value,size:"small",height:"100%"},null,8,["config","init-values"]),createVNode(t,{class:"code-editor-content","init-values":config.value,onSave:change},null,8,["init-values"])])]),createVNode(unref(_sfc_main$4g),{modelValue:resultVisible.value,"onUpdate:modelValue":e[0]||(e[0]=i=>resultVisible.value=i),title:"result","append-to-body":""},{default:withCtx(()=>[createBaseVNode("pre",null,[createBaseVNode("code",{class:"language-javascript hljs",innerHTML:result.value},null,8,_hoisted_4)])]),_:1},8,["modelValue"])],64)}}}),cssStyle='@charset "UTF-8";:root{--el-color-white:#ffffff;--el-color-black:#000000;--el-color-primary-rgb:64,158,255;--el-color-success-rgb:103,194,58;--el-color-warning-rgb:230,162,60;--el-color-danger-rgb:245,108,108;--el-color-error-rgb:245,108,108;--el-color-info-rgb:144,147,153;--el-font-size-extra-large:20px;--el-font-size-large:18px;--el-font-size-medium:16px;--el-font-size-base:14px;--el-font-size-small:13px;--el-font-size-extra-small:12px;--el-font-family:"Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;--el-font-weight-primary:500;--el-font-line-height-primary:24px;--el-index-normal:1;--el-index-top:1000;--el-index-popper:2000;--el-border-radius-base:4px;--el-border-radius-small:2px;--el-border-radius-round:20px;--el-border-radius-circle:100%;--el-transition-duration:0.3s;--el-transition-duration-fast:0.2s;--el-transition-function-ease-in-out-bezier:cubic-bezier(0.645,0.045,0.355,1);--el-transition-function-fast-bezier:cubic-bezier(0.23,1,0.32,1);--el-transition-all:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);--el-transition-fade:opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-md-fade:transform var(--el-transition-duration) var(--el-transition-function-fast-bezier),opacity var(--el-transition-duration) var(--el-transition-function-fast-bezier);--el-transition-fade-linear:opacity var(--el-transition-duration-fast) linear;--el-transition-border:border-color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-box-shadow:box-shadow var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-transition-color:color var(--el-transition-duration-fast) var(--el-transition-function-ease-in-out-bezier);--el-component-size-large:40px;--el-component-size:32px;--el-component-size-small:24px;color-scheme:light;--el-color-primary:#409eff;--el-color-primary-light-3:rgb(121.3,187.1,255);--el-color-primary-light-5:rgb(159.5,206.5,255);--el-color-primary-light-7:rgb(197.7,225.9,255);--el-color-primary-light-8:rgb(216.8,235.6,255);--el-color-primary-light-9:rgb(235.9,245.3,255);--el-color-primary-dark-2:rgb(51.2,126.4,204);--el-color-success:#67c23a;--el-color-success-light-3:rgb(148.6,212.3,117.1);--el-color-success-light-5:rgb(179,224.5,156.5);--el-color-success-light-7:rgb(209.4,236.7,195.9);--el-color-success-light-8:rgb(224.6,242.8,215.6);--el-color-success-light-9:rgb(239.8,248.9,235.3);--el-color-success-dark-2:rgb(82.4,155.2,46.4);--el-color-warning:#e6a23c;--el-color-warning-light-3:rgb(237.5,189.9,118.5);--el-color-warning-light-5:rgb(242.5,208.5,157.5);--el-color-warning-light-7:rgb(247.5,227.1,196.5);--el-color-warning-light-8:rgb(250,236.4,216);--el-color-warning-light-9:rgb(252.5,245.7,235.5);--el-color-warning-dark-2:rgb(184,129.6,48);--el-color-danger:#f56c6c;--el-color-danger-light-3:rgb(248,152.1,152.1);--el-color-danger-light-5:rgb(250,181.5,181.5);--el-color-danger-light-7:rgb(252,210.9,210.9);--el-color-danger-light-8:rgb(253,225.6,225.6);--el-color-danger-light-9:rgb(254,240.3,240.3);--el-color-danger-dark-2:rgb(196,86.4,86.4);--el-color-error:#f56c6c;--el-color-error-light-3:rgb(248,152.1,152.1);--el-color-error-light-5:rgb(250,181.5,181.5);--el-color-error-light-7:rgb(252,210.9,210.9);--el-color-error-light-8:rgb(253,225.6,225.6);--el-color-error-light-9:rgb(254,240.3,240.3);--el-color-error-dark-2:rgb(196,86.4,86.4);--el-color-info:#909399;--el-color-info-light-3:rgb(177.3,179.4,183.6);--el-color-info-light-5:rgb(199.5,201,204);--el-color-info-light-7:rgb(221.7,222.6,224.4);--el-color-info-light-8:rgb(232.8,233.4,234.6);--el-color-info-light-9:rgb(243.9,244.2,244.8);--el-color-info-dark-2:rgb(115.2,117.6,122.4);--el-bg-color:#ffffff;--el-bg-color-page:#f2f3f5;--el-bg-color-overlay:#ffffff;--el-text-color-primary:#303133;--el-text-color-regular:#606266;--el-text-color-secondary:#909399;--el-text-color-placeholder:#a8abb2;--el-text-color-disabled:#c0c4cc;--el-border-color:#dcdfe6;--el-border-color-light:#e4e7ed;--el-border-color-lighter:#ebeef5;--el-border-color-extra-light:#f2f6fc;--el-border-color-dark:#d4d7de;--el-border-color-darker:#cdd0d6;--el-fill-color:#f0f2f5;--el-fill-color-light:#f5f7fa;--el-fill-color-lighter:#fafafa;--el-fill-color-extra-light:#fafcff;--el-fill-color-dark:#ebedf0;--el-fill-color-darker:#e6e8eb;--el-fill-color-blank:#ffffff;--el-box-shadow:0px 12px 32px 4px rgba(0,0,0,0.04),0px 8px 20px rgba(0,0,0,0.08);--el-box-shadow-light:0px 0px 12px rgba(0,0,0,0.12);--el-box-shadow-lighter:0px 0px 6px rgba(0,0,0,0.12);--el-box-shadow-dark:0px 16px 48px 16px rgba(0,0,0,0.08),0px 12px 32px rgba(0,0,0,0.12),0px 8px 16px -8px rgba(0,0,0,0.16);--el-disabled-bg-color:var(--el-fill-color-light);--el-disabled-text-color:var(--el-text-color-placeholder);--el-disabled-border-color:var(--el-border-color-light);--el-overlay-color:rgba(0,0,0,0.8);--el-overlay-color-light:rgba(0,0,0,0.7);--el-overlay-color-lighter:rgba(0,0,0,0.5);--el-mask-color:rgba(255,255,255,0.9);--el-mask-color-extra-light:rgba(255,255,255,0.3);--el-border-width:1px;--el-border-style:solid;--el-border-color-hover:var(--el-text-color-disabled);--el-border:var(--el-border-width) var(--el-border-style) var(--el-border-color);--el-svg-monochrome-grey:var(--el-border-color)}.fade-in-linear-enter-active,.fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.fade-in-linear-enter-from,.fade-in-linear-leave-to{opacity:0}.el-fade-in-linear-enter-active,.el-fade-in-linear-leave-active{transition:var(--el-transition-fade-linear)}.el-fade-in-linear-enter-from,.el-fade-in-linear-leave-to{opacity:0}.el-fade-in-enter-active,.el-fade-in-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-fade-in-enter-from,.el-fade-in-leave-active{opacity:0}.el-zoom-in-center-enter-active,.el-zoom-in-center-leave-active{transition:all var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-zoom-in-center-enter-from,.el-zoom-in-center-leave-active{opacity:0;transform:scaleX(0)}.el-zoom-in-top-enter-active,.el-zoom-in-top-leave-active{opacity:1;transform:scaleY(1);transform-origin:center top;transition:var(--el-transition-md-fade)}.el-zoom-in-top-enter-active[data-popper-placement^=top],.el-zoom-in-top-leave-active[data-popper-placement^=top]{transform-origin:center bottom}.el-zoom-in-top-enter-from,.el-zoom-in-top-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-bottom-enter-active,.el-zoom-in-bottom-leave-active{opacity:1;transform:scaleY(1);transform-origin:center bottom;transition:var(--el-transition-md-fade)}.el-zoom-in-bottom-enter-from,.el-zoom-in-bottom-leave-active{opacity:0;transform:scaleY(0)}.el-zoom-in-left-enter-active,.el-zoom-in-left-leave-active{opacity:1;transform:scale(1);transform-origin:top left;transition:var(--el-transition-md-fade)}.el-zoom-in-left-enter-from,.el-zoom-in-left-leave-active{opacity:0;transform:scale(.45)}.collapse-transition{transition:var(--el-transition-duration) height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.el-collapse-transition-enter-active,.el-collapse-transition-leave-active{transition:var(--el-transition-duration) max-height ease-in-out,var(--el-transition-duration) padding-top ease-in-out,var(--el-transition-duration) padding-bottom ease-in-out}.horizontal-collapse-transition{transition:var(--el-transition-duration) width ease-in-out,var(--el-transition-duration) padding-left ease-in-out,var(--el-transition-duration) padding-right ease-in-out}.el-list-enter-active,.el-list-leave-active{transition:all 1s}.el-list-enter-from,.el-list-leave-to{opacity:0;transform:translateY(-30px)}.el-list-leave-active{position:absolute!important}.el-opacity-transition{transition:opacity var(--el-transition-duration) cubic-bezier(.55,0,.1,1)}.el-icon-loading{animation:rotating 2s linear infinite}.el-icon--right{margin-left:5px}.el-icon--left{margin-right:5px}@keyframes rotating{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.el-icon{--color:inherit;align-items:center;display:inline-flex;height:1em;justify-content:center;line-height:1em;position:relative;width:1em;fill:currentColor;color:var(--color);font-size:inherit}.el-icon.is-loading{animation:rotating 2s linear infinite}.el-icon svg{height:1em;width:1em}.el-affix--fixed{position:fixed}.el-alert{--el-alert-padding:8px 16px;--el-alert-border-radius-base:var(--el-border-radius-base);--el-alert-title-font-size:14px;--el-alert-title-with-description-font-size:16px;--el-alert-description-font-size:14px;--el-alert-close-font-size:16px;--el-alert-close-customed-font-size:14px;--el-alert-icon-size:16px;--el-alert-icon-large-size:28px;align-items:center;background-color:var(--el-color-white);border-radius:var(--el-alert-border-radius-base);box-sizing:border-box;display:flex;margin:0;opacity:1;overflow:hidden;padding:var(--el-alert-padding);position:relative;transition:opacity var(--el-transition-duration-fast);width:100%}.el-alert.is-light .el-alert__close-btn{color:var(--el-text-color-placeholder)}.el-alert.is-dark .el-alert__close-btn,.el-alert.is-dark .el-alert__description{color:var(--el-color-white)}.el-alert.is-center{justify-content:center}.el-alert--success{--el-alert-bg-color:var(--el-color-success-light-9)}.el-alert--success.is-light{background-color:var(--el-alert-bg-color)}.el-alert--success.is-light,.el-alert--success.is-light .el-alert__description{color:var(--el-color-success)}.el-alert--success.is-dark{background-color:var(--el-color-success);color:var(--el-color-white)}.el-alert--info{--el-alert-bg-color:var(--el-color-info-light-9)}.el-alert--info.is-light{background-color:var(--el-alert-bg-color)}.el-alert--info.is-light,.el-alert--info.is-light .el-alert__description{color:var(--el-color-info)}.el-alert--info.is-dark{background-color:var(--el-color-info);color:var(--el-color-white)}.el-alert--warning{--el-alert-bg-color:var(--el-color-warning-light-9)}.el-alert--warning.is-light{background-color:var(--el-alert-bg-color)}.el-alert--warning.is-light,.el-alert--warning.is-light .el-alert__description{color:var(--el-color-warning)}.el-alert--warning.is-dark{background-color:var(--el-color-warning);color:var(--el-color-white)}.el-alert--error{--el-alert-bg-color:var(--el-color-error-light-9)}.el-alert--error.is-light{background-color:var(--el-alert-bg-color)}.el-alert--error.is-light,.el-alert--error.is-light .el-alert__description{color:var(--el-color-error)}.el-alert--error.is-dark{background-color:var(--el-color-error);color:var(--el-color-white)}.el-alert__content{display:flex;flex-direction:column;gap:4px}.el-alert .el-alert__icon{font-size:var(--el-alert-icon-size);margin-right:8px;width:var(--el-alert-icon-size)}.el-alert .el-alert__icon.is-big{font-size:var(--el-alert-icon-large-size);margin-right:12px;width:var(--el-alert-icon-large-size)}.el-alert__title{font-size:var(--el-alert-title-font-size);line-height:24px}.el-alert__title.with-description{font-size:var(--el-alert-title-with-description-font-size)}.el-alert .el-alert__description{font-size:var(--el-alert-description-font-size);margin:0}.el-alert .el-alert__close-btn{cursor:pointer;font-size:var(--el-alert-close-font-size);opacity:1;position:absolute;right:16px;top:12px}.el-alert .el-alert__close-btn.is-customed{font-size:var(--el-alert-close-customed-font-size);font-style:normal;line-height:24px;top:8px}.el-alert-fade-enter-from,.el-alert-fade-leave-active{opacity:0}.el-aside{box-sizing:border-box;flex-shrink:0;overflow:auto;width:var(--el-aside-width,300px)}.el-autocomplete{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;position:relative;width:var(--el-input-width)}.el-autocomplete__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-autocomplete__popper.el-popper,.el-autocomplete__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-autocomplete__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-autocomplete__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-autocomplete-suggestion{border-radius:var(--el-border-radius-base);box-sizing:border-box}.el-autocomplete-suggestion__wrap{box-sizing:border-box;max-height:280px;padding:10px 0}.el-autocomplete-suggestion__list{margin:0;padding:0}.el-autocomplete-suggestion li{color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);line-height:34px;list-style:none;margin:0;overflow:hidden;padding:0 20px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-autocomplete-suggestion li.highlighted,.el-autocomplete-suggestion li:hover{background-color:var(--el-fill-color-light)}.el-autocomplete-suggestion li.divider{border-top:1px solid var(--el-color-black);margin-top:6px}.el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.el-autocomplete-suggestion.is-loading li{color:var(--el-text-color-secondary);font-size:20px;height:100px;line-height:100px;text-align:center}.el-autocomplete-suggestion.is-loading li:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-autocomplete-suggestion.is-loading li:hover{background-color:var(--el-bg-color-overlay)}.el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.el-avatar{--el-avatar-text-color:var(--el-color-white);--el-avatar-bg-color:var(--el-text-color-disabled);--el-avatar-text-size:14px;--el-avatar-icon-size:18px;--el-avatar-border-radius:var(--el-border-radius-base);--el-avatar-size-large:56px;--el-avatar-size-small:24px;--el-avatar-size:40px;align-items:center;background:var(--el-avatar-bg-color);box-sizing:border-box;color:var(--el-avatar-text-color);display:inline-flex;font-size:var(--el-avatar-text-size);height:var(--el-avatar-size);justify-content:center;outline:none;overflow:hidden;text-align:center;width:var(--el-avatar-size)}.el-avatar>img{display:block;height:100%;width:100%}.el-avatar--circle{border-radius:50%}.el-avatar--square{border-radius:var(--el-avatar-border-radius)}.el-avatar--icon{font-size:var(--el-avatar-icon-size)}.el-avatar--small{--el-avatar-size:24px}.el-avatar--large{--el-avatar-size:56px}.el-backtop{--el-backtop-bg-color:var(--el-bg-color-overlay);--el-backtop-text-color:var(--el-color-primary);--el-backtop-hover-bg-color:var(--el-border-color-extra-light);align-items:center;background-color:var(--el-backtop-bg-color);border-radius:50%;box-shadow:var(--el-box-shadow-lighter);color:var(--el-backtop-text-color);cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:fixed;width:40px;z-index:5}.el-backtop:hover{background-color:var(--el-backtop-hover-bg-color)}.el-backtop__icon{font-size:20px}.el-badge{--el-badge-bg-color:var(--el-color-danger);--el-badge-radius:10px;--el-badge-font-size:12px;--el-badge-padding:6px;--el-badge-size:18px;display:inline-block;position:relative;vertical-align:middle;width:-moz-fit-content;width:fit-content}.el-badge__content{align-items:center;background-color:var(--el-badge-bg-color);border:1px solid var(--el-bg-color);border-radius:var(--el-badge-radius);color:var(--el-color-white);display:inline-flex;font-size:var(--el-badge-font-size);height:var(--el-badge-size);justify-content:center;padding:0 var(--el-badge-padding);white-space:nowrap}.el-badge__content.is-fixed{position:absolute;right:calc(1px + var(--el-badge-size)/2);top:0;transform:translateY(-50%) translateX(100%);z-index:var(--el-index-normal)}.el-badge__content.is-fixed.is-dot{right:5px}.el-badge__content.is-dot{border-radius:50%;height:8px;padding:0;right:0;width:8px}.el-badge__content.is-hide-zero{display:none}.el-badge__content--primary{background-color:var(--el-color-primary)}.el-badge__content--success{background-color:var(--el-color-success)}.el-badge__content--warning{background-color:var(--el-color-warning)}.el-badge__content--info{background-color:var(--el-color-info)}.el-badge__content--danger{background-color:var(--el-color-danger)}.el-breadcrumb{font-size:14px;line-height:1}.el-breadcrumb:after,.el-breadcrumb:before{content:"";display:table}.el-breadcrumb:after{clear:both}.el-breadcrumb__separator{color:var(--el-text-color-placeholder);font-weight:bold;margin:0 9px}.el-breadcrumb__separator.el-icon{font-weight:normal;margin:0 6px}.el-breadcrumb__separator.el-icon svg{vertical-align:middle}.el-breadcrumb__item{align-items:center;display:inline-flex;float:left}.el-breadcrumb__inner{color:var(--el-text-color-regular)}.el-breadcrumb__inner a,.el-breadcrumb__inner.is-link{color:var(--el-text-color-primary);font-weight:bold;text-decoration:none;transition:var(--el-transition-color)}.el-breadcrumb__inner a:hover,.el-breadcrumb__inner.is-link:hover{color:var(--el-color-primary);cursor:pointer}.el-breadcrumb__item:last-child .el-breadcrumb__inner,.el-breadcrumb__item:last-child .el-breadcrumb__inner a,.el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{color:var(--el-text-color-regular);cursor:text;font-weight:normal}.el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.el-button-group{display:inline-block;vertical-align:middle}.el-button-group:after,.el-button-group:before{content:"";display:table}.el-button-group:after{clear:both}.el-button-group>.el-button{float:left;position:relative}.el-button-group>.el-button+.el-button{margin-left:0}.el-button-group>.el-button:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.el-button-group>.el-button:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.el-button-group>.el-button:first-child:last-child{border-bottom-left-radius:var(--el-border-radius-base);border-bottom-right-radius:var(--el-border-radius-base);border-top-left-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-button-group>.el-button:first-child:last-child.is-round{border-radius:var(--el-border-radius-round)}.el-button-group>.el-button:first-child:last-child.is-circle{border-radius:50%}.el-button-group>.el-button:not(:first-child):not(:last-child){border-radius:0}.el-button-group>.el-button:not(:last-child){margin-right:-1px}.el-button-group>.el-button.is-active,.el-button-group>.el-button:active,.el-button-group>.el-button:focus,.el-button-group>.el-button:hover{z-index:1}.el-button-group>.el-dropdown>.el-button{border-bottom-left-radius:0;border-left-color:var(--el-button-divide-border-color);border-top-left-radius:0}.el-button-group .el-button--primary:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:first-child{border-right-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:last-child{border-left-color:var(--el-button-divide-border-color)}.el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:var(--el-button-divide-border-color);border-right-color:var(--el-button-divide-border-color)}.el-button{--el-button-font-weight:var(--el-font-weight-primary);--el-button-border-color:var(--el-border-color);--el-button-bg-color:var(--el-fill-color-blank);--el-button-text-color:var(--el-text-color-regular);--el-button-disabled-text-color:var(--el-disabled-text-color);--el-button-disabled-bg-color:var(--el-fill-color-blank);--el-button-disabled-border-color:var(--el-border-color-light);--el-button-divide-border-color:rgba(255,255,255,0.5);--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-color-primary-light-9);--el-button-hover-border-color:var(--el-color-primary-light-7);--el-button-active-text-color:var(--el-button-hover-text-color);--el-button-active-border-color:var(--el-color-primary);--el-button-active-bg-color:var(--el-button-hover-bg-color);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-hover-link-text-color:var(--el-text-color-secondary);--el-button-active-color:var(--el-text-color-primary);align-items:center;-webkit-appearance:none;background-color:var(--el-button-bg-color);border:var(--el-border);border-color:var(--el-button-border-color);box-sizing:border-box;color:var(--el-button-text-color);cursor:pointer;display:inline-flex;font-weight:var(--el-button-font-weight);height:32px;justify-content:center;line-height:1;outline:none;text-align:center;transition:.1s;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-button:hover{background-color:var(--el-button-hover-bg-color);border-color:var(--el-button-hover-border-color);color:var(--el-button-hover-text-color);outline:none}.el-button:active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button:focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button>span{align-items:center;display:inline-flex}.el-button+.el-button{margin-left:12px}.el-button{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base)}.el-button,.el-button.is-round{padding:8px 15px}.el-button::-moz-focus-inner{border:0}.el-button [class*=el-icon]+span{margin-left:6px}.el-button [class*=el-icon] svg{vertical-align:bottom}.el-button.is-plain{--el-button-hover-text-color:var(--el-color-primary);--el-button-hover-bg-color:var(--el-fill-color-blank);--el-button-hover-border-color:var(--el-color-primary)}.el-button.is-active{background-color:var(--el-button-active-bg-color);border-color:var(--el-button-active-border-color);color:var(--el-button-active-text-color);outline:none}.el-button.is-disabled,.el-button.is-disabled:hover{background-color:var(--el-button-disabled-bg-color);background-image:none;border-color:var(--el-button-disabled-border-color);color:var(--el-button-disabled-text-color);cursor:not-allowed}.el-button.is-loading{pointer-events:none;position:relative}.el-button.is-loading:before{background-color:var(--el-mask-color-extra-light);border-radius:inherit;bottom:-1px;content:"";left:-1px;pointer-events:none;position:absolute;right:-1px;top:-1px;z-index:1}.el-button.is-round{border-radius:var(--el-border-radius-round)}.el-button.is-circle{border-radius:50%;padding:8px;width:32px}.el-button.is-text{background-color:transparent;border:0 solid transparent;color:var(--el-button-text-color)}.el-button.is-text.is-disabled{background-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-text:not(.is-disabled):hover{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled):focus-visible{outline:2px solid var(--el-button-outline-color);outline-offset:1px;transition:outline-offset 0s,outline 0s}.el-button.is-text:not(.is-disabled):active{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg{background-color:var(--el-fill-color-light)}.el-button.is-text:not(.is-disabled).is-has-bg:hover{background-color:var(--el-fill-color)}.el-button.is-text:not(.is-disabled).is-has-bg:active{background-color:var(--el-fill-color-dark)}.el-button__text--expand{letter-spacing:.3em;margin-right:-.3em}.el-button.is-link{background:transparent;border-color:transparent;color:var(--el-button-text-color);height:auto;padding:2px}.el-button.is-link:hover{color:var(--el-button-hover-link-text-color)}.el-button.is-link.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button.is-link:not(.is-disabled):active,.el-button.is-link:not(.is-disabled):hover{background-color:transparent;border-color:transparent}.el-button.is-link:not(.is-disabled):active{color:var(--el-button-active-color)}.el-button--text{background:transparent;border-color:transparent;color:var(--el-color-primary);padding-left:0;padding-right:0}.el-button--text.is-disabled{background-color:transparent!important;border-color:transparent!important;color:var(--el-button-disabled-text-color)}.el-button--text:not(.is-disabled):hover{background-color:transparent;border-color:transparent;color:var(--el-color-primary-light-3)}.el-button--text:not(.is-disabled):active{background-color:transparent;border-color:transparent;color:var(--el-color-primary-dark-2)}.el-button__link--expand{letter-spacing:.3em;margin-right:-.3em}.el-button--primary{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-primary);--el-button-border-color:var(--el-color-primary);--el-button-outline-color:var(--el-color-primary-light-5);--el-button-active-color:var(--el-color-primary-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-primary-light-5);--el-button-hover-bg-color:var(--el-color-primary-light-3);--el-button-hover-border-color:var(--el-color-primary-light-3);--el-button-active-bg-color:var(--el-color-primary-dark-2);--el-button-active-border-color:var(--el-color-primary-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-primary-light-5);--el-button-disabled-border-color:var(--el-color-primary-light-5)}.el-button--primary.is-link,.el-button--primary.is-plain,.el-button--primary.is-text{--el-button-text-color:var(--el-color-primary);--el-button-bg-color:var(--el-color-primary-light-9);--el-button-border-color:var(--el-color-primary-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-primary);--el-button-hover-border-color:var(--el-color-primary);--el-button-active-text-color:var(--el-color-white)}.el-button--primary.is-link.is-disabled,.el-button--primary.is-link.is-disabled:active,.el-button--primary.is-link.is-disabled:focus,.el-button--primary.is-link.is-disabled:hover,.el-button--primary.is-plain.is-disabled,.el-button--primary.is-plain.is-disabled:active,.el-button--primary.is-plain.is-disabled:focus,.el-button--primary.is-plain.is-disabled:hover,.el-button--primary.is-text.is-disabled,.el-button--primary.is-text.is-disabled:active,.el-button--primary.is-text.is-disabled:focus,.el-button--primary.is-text.is-disabled:hover{background-color:var(--el-color-primary-light-9);border-color:var(--el-color-primary-light-8);color:var(--el-color-primary-light-5)}.el-button--success{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-success);--el-button-border-color:var(--el-color-success);--el-button-outline-color:var(--el-color-success-light-5);--el-button-active-color:var(--el-color-success-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-success-light-5);--el-button-hover-bg-color:var(--el-color-success-light-3);--el-button-hover-border-color:var(--el-color-success-light-3);--el-button-active-bg-color:var(--el-color-success-dark-2);--el-button-active-border-color:var(--el-color-success-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-success-light-5);--el-button-disabled-border-color:var(--el-color-success-light-5)}.el-button--success.is-link,.el-button--success.is-plain,.el-button--success.is-text{--el-button-text-color:var(--el-color-success);--el-button-bg-color:var(--el-color-success-light-9);--el-button-border-color:var(--el-color-success-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-success);--el-button-hover-border-color:var(--el-color-success);--el-button-active-text-color:var(--el-color-white)}.el-button--success.is-link.is-disabled,.el-button--success.is-link.is-disabled:active,.el-button--success.is-link.is-disabled:focus,.el-button--success.is-link.is-disabled:hover,.el-button--success.is-plain.is-disabled,.el-button--success.is-plain.is-disabled:active,.el-button--success.is-plain.is-disabled:focus,.el-button--success.is-plain.is-disabled:hover,.el-button--success.is-text.is-disabled,.el-button--success.is-text.is-disabled:active,.el-button--success.is-text.is-disabled:focus,.el-button--success.is-text.is-disabled:hover{background-color:var(--el-color-success-light-9);border-color:var(--el-color-success-light-8);color:var(--el-color-success-light-5)}.el-button--warning{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-warning);--el-button-border-color:var(--el-color-warning);--el-button-outline-color:var(--el-color-warning-light-5);--el-button-active-color:var(--el-color-warning-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-warning-light-5);--el-button-hover-bg-color:var(--el-color-warning-light-3);--el-button-hover-border-color:var(--el-color-warning-light-3);--el-button-active-bg-color:var(--el-color-warning-dark-2);--el-button-active-border-color:var(--el-color-warning-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-warning-light-5);--el-button-disabled-border-color:var(--el-color-warning-light-5)}.el-button--warning.is-link,.el-button--warning.is-plain,.el-button--warning.is-text{--el-button-text-color:var(--el-color-warning);--el-button-bg-color:var(--el-color-warning-light-9);--el-button-border-color:var(--el-color-warning-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-warning);--el-button-hover-border-color:var(--el-color-warning);--el-button-active-text-color:var(--el-color-white)}.el-button--warning.is-link.is-disabled,.el-button--warning.is-link.is-disabled:active,.el-button--warning.is-link.is-disabled:focus,.el-button--warning.is-link.is-disabled:hover,.el-button--warning.is-plain.is-disabled,.el-button--warning.is-plain.is-disabled:active,.el-button--warning.is-plain.is-disabled:focus,.el-button--warning.is-plain.is-disabled:hover,.el-button--warning.is-text.is-disabled,.el-button--warning.is-text.is-disabled:active,.el-button--warning.is-text.is-disabled:focus,.el-button--warning.is-text.is-disabled:hover{background-color:var(--el-color-warning-light-9);border-color:var(--el-color-warning-light-8);color:var(--el-color-warning-light-5)}.el-button--danger{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-danger);--el-button-border-color:var(--el-color-danger);--el-button-outline-color:var(--el-color-danger-light-5);--el-button-active-color:var(--el-color-danger-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-danger-light-5);--el-button-hover-bg-color:var(--el-color-danger-light-3);--el-button-hover-border-color:var(--el-color-danger-light-3);--el-button-active-bg-color:var(--el-color-danger-dark-2);--el-button-active-border-color:var(--el-color-danger-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-danger-light-5);--el-button-disabled-border-color:var(--el-color-danger-light-5)}.el-button--danger.is-link,.el-button--danger.is-plain,.el-button--danger.is-text{--el-button-text-color:var(--el-color-danger);--el-button-bg-color:var(--el-color-danger-light-9);--el-button-border-color:var(--el-color-danger-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-danger);--el-button-hover-border-color:var(--el-color-danger);--el-button-active-text-color:var(--el-color-white)}.el-button--danger.is-link.is-disabled,.el-button--danger.is-link.is-disabled:active,.el-button--danger.is-link.is-disabled:focus,.el-button--danger.is-link.is-disabled:hover,.el-button--danger.is-plain.is-disabled,.el-button--danger.is-plain.is-disabled:active,.el-button--danger.is-plain.is-disabled:focus,.el-button--danger.is-plain.is-disabled:hover,.el-button--danger.is-text.is-disabled,.el-button--danger.is-text.is-disabled:active,.el-button--danger.is-text.is-disabled:focus,.el-button--danger.is-text.is-disabled:hover{background-color:var(--el-color-danger-light-9);border-color:var(--el-color-danger-light-8);color:var(--el-color-danger-light-5)}.el-button--info{--el-button-text-color:var(--el-color-white);--el-button-bg-color:var(--el-color-info);--el-button-border-color:var(--el-color-info);--el-button-outline-color:var(--el-color-info-light-5);--el-button-active-color:var(--el-color-info-dark-2);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-link-text-color:var(--el-color-info-light-5);--el-button-hover-bg-color:var(--el-color-info-light-3);--el-button-hover-border-color:var(--el-color-info-light-3);--el-button-active-bg-color:var(--el-color-info-dark-2);--el-button-active-border-color:var(--el-color-info-dark-2);--el-button-disabled-text-color:var(--el-color-white);--el-button-disabled-bg-color:var(--el-color-info-light-5);--el-button-disabled-border-color:var(--el-color-info-light-5)}.el-button--info.is-link,.el-button--info.is-plain,.el-button--info.is-text{--el-button-text-color:var(--el-color-info);--el-button-bg-color:var(--el-color-info-light-9);--el-button-border-color:var(--el-color-info-light-5);--el-button-hover-text-color:var(--el-color-white);--el-button-hover-bg-color:var(--el-color-info);--el-button-hover-border-color:var(--el-color-info);--el-button-active-text-color:var(--el-color-white)}.el-button--info.is-link.is-disabled,.el-button--info.is-link.is-disabled:active,.el-button--info.is-link.is-disabled:focus,.el-button--info.is-link.is-disabled:hover,.el-button--info.is-plain.is-disabled,.el-button--info.is-plain.is-disabled:active,.el-button--info.is-plain.is-disabled:focus,.el-button--info.is-plain.is-disabled:hover,.el-button--info.is-text.is-disabled,.el-button--info.is-text.is-disabled:active,.el-button--info.is-text.is-disabled:focus,.el-button--info.is-text.is-disabled:hover{background-color:var(--el-color-info-light-9);border-color:var(--el-color-info-light-8);color:var(--el-color-info-light-5)}.el-button--large{--el-button-size:40px;height:var(--el-button-size)}.el-button--large [class*=el-icon]+span{margin-left:8px}.el-button--large{border-radius:var(--el-border-radius-base);font-size:var(--el-font-size-base);padding:12px 19px}.el-button--large.is-round{padding:12px 19px}.el-button--large.is-circle{padding:12px;width:var(--el-button-size)}.el-button--small{--el-button-size:24px;height:var(--el-button-size)}.el-button--small [class*=el-icon]+span{margin-left:4px}.el-button--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:12px;padding:5px 11px}.el-button--small.is-round{padding:5px 11px}.el-button--small.is-circle{padding:5px;width:var(--el-button-size)}.el-calendar{--el-calendar-border:var(--el-table-border,1px solid var(--el-border-color-lighter));--el-calendar-header-border-bottom:var(--el-calendar-border);--el-calendar-selected-bg-color:var(--el-color-primary-light-9);--el-calendar-cell-width:85px;background-color:var(--el-fill-color-blank)}.el-calendar__header{border-bottom:var(--el-calendar-header-border-bottom);display:flex;justify-content:space-between;padding:12px 20px}.el-calendar__title{align-self:center;color:var(--el-text-color)}.el-calendar__body{padding:12px 20px 35px}.el-calendar-table{table-layout:fixed;width:100%}.el-calendar-table thead th{color:var(--el-text-color-regular);font-weight:normal;padding:12px 0}.el-calendar-table:not(.is-range) td.next,.el-calendar-table:not(.is-range) td.prev{color:var(--el-text-color-placeholder)}.el-calendar-table td{border-bottom:var(--el-calendar-border);border-right:var(--el-calendar-border);transition:background-color var(--el-transition-duration-fast) ease;vertical-align:top}.el-calendar-table td.is-selected{background-color:var(--el-calendar-selected-bg-color)}.el-calendar-table td.is-today{color:var(--el-color-primary)}.el-calendar-table tr:first-child td{border-top:var(--el-calendar-border)}.el-calendar-table tr td:first-child{border-left:var(--el-calendar-border)}.el-calendar-table tr.el-calendar-table__row--hide-border td{border-top:none}.el-calendar-table .el-calendar-day{box-sizing:border-box;height:var(--el-calendar-cell-width);padding:8px}.el-calendar-table .el-calendar-day:hover{background-color:var(--el-calendar-selected-bg-color);cursor:pointer}.el-card{--el-card-border-color:var(--el-border-color-light);--el-card-border-radius:4px;--el-card-padding:20px;--el-card-bg-color:var(--el-fill-color-blank);background-color:var(--el-card-bg-color);border:1px solid var(--el-card-border-color);border-radius:var(--el-card-border-radius);color:var(--el-text-color-primary);overflow:hidden;transition:var(--el-transition-duration)}.el-card.is-always-shadow,.el-card.is-hover-shadow:focus,.el-card.is-hover-shadow:hover{box-shadow:var(--el-box-shadow-light)}.el-card__header{border-bottom:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-card__body{padding:var(--el-card-padding)}.el-card__footer{border-top:1px solid var(--el-card-border-color);box-sizing:border-box;padding:calc(var(--el-card-padding) - 2px) var(--el-card-padding)}.el-carousel__item{display:inline-block;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%}.el-carousel__item,.el-carousel__item.is-active{z-index:calc(var(--el-index-normal) - 1)}.el-carousel__item--card,.el-carousel__item.is-animating{transition:transform .4s ease-in-out}.el-carousel__item--card{width:50%}.el-carousel__item--card.is-in-stage{cursor:pointer;z-index:var(--el-index-normal)}.el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.el-carousel__item--card.is-active{z-index:calc(var(--el-index-normal) + 1)}.el-carousel__item--card-vertical{height:50%;width:100%}.el-carousel__mask{background-color:var(--el-color-white);height:100%;left:0;opacity:.24;position:absolute;top:0;transition:var(--el-transition-duration-fast);width:100%}.el-carousel{--el-carousel-arrow-font-size:12px;--el-carousel-arrow-size:36px;--el-carousel-arrow-background:rgba(31,45,61,0.11);--el-carousel-arrow-hover-background:rgba(31,45,61,0.23);--el-carousel-indicator-width:30px;--el-carousel-indicator-height:2px;--el-carousel-indicator-padding-horizontal:4px;--el-carousel-indicator-padding-vertical:12px;--el-carousel-indicator-out-color:var(--el-border-color-hover);position:relative}.el-carousel--horizontal,.el-carousel--vertical{overflow:hidden}.el-carousel__container{height:300px;position:relative}.el-carousel__arrow{align-items:center;background-color:var(--el-carousel-arrow-background);border:none;border-radius:50%;color:#ffffff;cursor:pointer;display:inline-flex;font-size:var(--el-carousel-arrow-font-size);height:var(--el-carousel-arrow-size);justify-content:center;margin:0;outline:none;padding:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);transition:var(--el-transition-duration);width:var(--el-carousel-arrow-size);z-index:10}.el-carousel__arrow--left{left:16px}.el-carousel__arrow--right{right:16px}.el-carousel__arrow:hover{background-color:var(--el-carousel-arrow-hover-background)}.el-carousel__arrow i{cursor:pointer}.el-carousel__indicators{list-style:none;margin:0;padding:0;position:absolute;z-index:calc(var(--el-index-normal) + 1)}.el-carousel__indicators--horizontal{bottom:0;left:50%;transform:translateX(-50%)}.el-carousel__indicators--vertical{right:0;top:50%;transform:translateY(-50%)}.el-carousel__indicators--outside{bottom:calc(var(--el-carousel-indicator-height) + var(--el-carousel-indicator-padding-vertical)*2);position:static;text-align:center;transform:none}.el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.el-carousel__indicators--outside button{background-color:var(--el-carousel-indicator-out-color);opacity:.24}.el-carousel__indicators--right{right:0}.el-carousel__indicators--labels{left:0;right:0;text-align:center;transform:none}.el-carousel__indicators--labels .el-carousel__button{color:#000000;font-size:12px;height:auto;padding:2px 18px;width:auto}.el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.el-carousel__indicator{background-color:transparent;cursor:pointer}.el-carousel__indicator:hover button{opacity:.72}.el-carousel__indicator--horizontal{display:inline-block;padding:var(--el-carousel-indicator-padding-vertical) var(--el-carousel-indicator-padding-horizontal)}.el-carousel__indicator--vertical{padding:var(--el-carousel-indicator-padding-horizontal) var(--el-carousel-indicator-padding-vertical)}.el-carousel__indicator--vertical .el-carousel__button{height:calc(var(--el-carousel-indicator-width)/2);width:var(--el-carousel-indicator-height)}.el-carousel__indicator.is-active button{opacity:1}.el-carousel__button{background-color:#ffffff;border:none;cursor:pointer;display:block;height:var(--el-carousel-indicator-height);margin:0;opacity:.48;outline:none;padding:0;transition:var(--el-transition-duration);width:var(--el-carousel-indicator-width)}.carousel-arrow-left-enter-from,.carousel-arrow-left-leave-active{opacity:0;transform:translateY(-50%) translateX(-10px)}.carousel-arrow-right-enter-from,.carousel-arrow-right-leave-active{opacity:0;transform:translateY(-50%) translateX(10px)}.el-transitioning{filter:url(#elCarouselHorizontal)}.el-transitioning-vertical{filter:url(#elCarouselVertical)}.el-cascader-panel{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);display:flex;font-size:var(--el-cascader-menu-font-size)}.el-cascader-panel.is-bordered{border:var(--el-cascader-menu-border);border-radius:var(--el-cascader-menu-radius)}.el-cascader-menu{border-right:var(--el-cascader-menu-border);box-sizing:border-box;color:var(--el-cascader-menu-text-color);min-width:180px}.el-cascader-menu:last-child{border-right:none}.el-cascader-menu:last-child .el-cascader-node{padding-right:20px}.el-cascader-menu__wrap.el-scrollbar__wrap{height:204px}.el-cascader-menu__list{box-sizing:border-box;list-style:none;margin:0;min-height:100%;padding:6px 0;position:relative}.el-cascader-menu__hover-zone{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.el-cascader-menu__empty-text{align-items:center;color:var(--el-cascader-color-empty);display:flex;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-cascader-menu__empty-text .is-loading{margin-right:2px}.el-cascader-node{align-items:center;display:flex;height:34px;line-height:34px;outline:none;padding:0 30px 0 20px;position:relative}.el-cascader-node.is-selectable.in-active-path{color:var(--el-cascader-menu-text-color)}.el-cascader-node.in-active-path,.el-cascader-node.is-active,.el-cascader-node.is-selectable.in-checked-path{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader-node:not(.is-disabled){cursor:pointer}.el-cascader-node:not(.is-disabled):focus,.el-cascader-node:not(.is-disabled):hover{background:var(--el-cascader-node-background-hover)}.el-cascader-node.is-disabled{color:var(--el-cascader-node-color-disabled);cursor:not-allowed}.el-cascader-node__prefix{left:10px;position:absolute}.el-cascader-node__postfix{position:absolute;right:10px}.el-cascader-node__label{flex:1;overflow:hidden;padding:0 8px;text-align:left;text-overflow:ellipsis;white-space:nowrap}.el-cascader-node>.el-checkbox,.el-cascader-node>.el-radio{margin-right:0}.el-cascader-node>.el-radio .el-radio__label{padding-left:0}.el-cascader{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);display:inline-block;font-size:var(--el-font-size-base);line-height:32px;outline:none;position:relative;vertical-align:middle}.el-cascader:not(.is-disabled):hover .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset;cursor:pointer}.el-cascader .el-input{cursor:pointer;display:flex}.el-cascader .el-input .el-input__inner{cursor:pointer;text-overflow:ellipsis}.el-cascader .el-input .el-input__suffix-inner .el-icon{height:calc(100% - 2px)}.el-cascader .el-input .el-input__suffix-inner .el-icon svg{vertical-align:middle}.el-cascader .el-input .icon-arrow-down{font-size:14px;transition:transform var(--el-transition-duration)}.el-cascader .el-input .icon-arrow-down.is-reverse{transform:rotate(180deg)}.el-cascader .el-input .icon-circle-close:hover{color:var(--el-input-clear-hover-color,var(--el-text-color-secondary))}.el-cascader .el-input.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-cascader--large{font-size:14px;line-height:40px}.el-cascader--large .el-cascader__tags{gap:6px;padding:8px}.el-cascader--large .el-cascader__search-input{height:24px;margin-left:7px}.el-cascader--small{font-size:12px;line-height:24px}.el-cascader--small .el-cascader__tags{gap:4px;padding:2px}.el-cascader--small .el-cascader__search-input{height:20px;margin-left:5px}.el-cascader.is-disabled .el-cascader__label{color:var(--el-disabled-text-color);z-index:calc(var(--el-index-normal) + 1)}.el-cascader__dropdown{--el-cascader-menu-text-color:var(--el-text-color-regular);--el-cascader-menu-selected-text-color:var(--el-color-primary);--el-cascader-menu-fill:var(--el-bg-color-overlay);--el-cascader-menu-font-size:var(--el-font-size-base);--el-cascader-menu-radius:var(--el-border-radius-base);--el-cascader-menu-border:solid 1px var(--el-border-color-light);--el-cascader-menu-shadow:var(--el-box-shadow-light);--el-cascader-node-background-hover:var(--el-fill-color-light);--el-cascader-node-color-disabled:var(--el-text-color-placeholder);--el-cascader-color-empty:var(--el-text-color-placeholder);--el-cascader-tag-background:var(--el-fill-color);border-radius:var(--el-cascader-menu-radius);font-size:var(--el-cascader-menu-font-size)}.el-cascader__dropdown.el-popper{background:var(--el-cascader-menu-fill)}.el-cascader__dropdown.el-popper,.el-cascader__dropdown.el-popper .el-popper__arrow:before{border:var(--el-cascader-menu-border)}.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-cascader__dropdown.el-popper{box-shadow:var(--el-cascader-menu-shadow)}.el-cascader__tags{box-sizing:border-box;display:flex;flex-wrap:wrap;gap:6px;left:0;line-height:normal;padding:4px;position:absolute;right:30px;text-align:left;top:50%;transform:translateY(-50%)}.el-cascader__tags .el-tag{align-items:center;background:var(--el-cascader-tag-background);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__tags .el-tag.el-tag--dark,.el-cascader__tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__tags .el-tag+input{margin-left:0}.el-cascader__tags.is-validate{right:55px}.el-cascader__collapse-tags{white-space:normal;z-index:var(--el-index-normal)}.el-cascader__collapse-tags .el-tag{align-items:center;background:var(--el-fill-color);display:inline-flex;max-width:100%;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag.el-tag--dark,.el-cascader__collapse-tags .el-tag.el-tag--plain{background-color:var(--el-tag-bg-color)}.el-cascader__collapse-tags .el-tag:not(.is-hit){border-color:transparent}.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain{border-color:var(--el-tag-border-color)}.el-cascader__collapse-tags .el-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis}.el-cascader__collapse-tags .el-tag .el-icon-close{background-color:var(--el-text-color-placeholder);color:var(--el-color-white);flex:none}.el-cascader__collapse-tags .el-tag .el-icon-close:hover{background-color:var(--el-text-color-secondary)}.el-cascader__collapse-tags .el-tag+input{margin-left:0}.el-cascader__suggestion-panel{border-radius:var(--el-cascader-menu-radius)}.el-cascader__suggestion-list{color:var(--el-cascader-menu-text-color);font-size:var(--el-font-size-base);margin:0;max-height:204px;padding:6px 0;text-align:center}.el-cascader__suggestion-item{align-items:center;cursor:pointer;display:flex;height:34px;justify-content:space-between;outline:none;padding:0 15px;text-align:left}.el-cascader__suggestion-item:focus,.el-cascader__suggestion-item:hover{background:var(--el-cascader-node-background-hover)}.el-cascader__suggestion-item.is-checked{color:var(--el-cascader-menu-selected-text-color);font-weight:bold}.el-cascader__suggestion-item>span{margin-right:10px}.el-cascader__empty-text{color:var(--el-cascader-color-empty);margin:10px 0}.el-cascader__search-input{background:transparent;border:none;box-sizing:border-box;color:var(--el-cascader-menu-text-color);flex:1;height:24px;margin-left:7px;min-width:60px;outline:none;padding:0}.el-cascader__search-input::-moz-placeholder{color:transparent}.el-cascader__search-input::placeholder{color:transparent}.el-check-tag{background-color:var(--el-color-info-light-9);border-radius:var(--el-border-radius-base);color:var(--el-color-info);cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:bold;line-height:var(--el-font-size-base);padding:7px 15px;transition:var(--el-transition-all)}.el-check-tag:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--primary.is-checked{background-color:var(--el-color-primary-light-8);color:var(--el-color-primary)}.el-check-tag.el-check-tag--primary.is-checked:hover{background-color:var(--el-color-primary-light-7)}.el-check-tag.el-check-tag--primary.is-checked.is-disabled{background-color:var(--el-color-primary-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-checked.is-disabled:hover{background-color:var(--el-color-primary-light-8)}.el-check-tag.el-check-tag--primary.is-disabled{background-color:var(--el-color-info-light-9);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--primary.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-check-tag.el-check-tag--success.is-checked{background-color:var(--el-color-success-light-8);color:var(--el-color-success)}.el-check-tag.el-check-tag--success.is-checked:hover{background-color:var(--el-color-success-light-7)}.el-check-tag.el-check-tag--success.is-checked.is-disabled{background-color:var(--el-color-success-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-checked.is-disabled:hover{background-color:var(--el-color-success-light-8)}.el-check-tag.el-check-tag--success.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--success.is-disabled,.el-check-tag.el-check-tag--success.is-disabled:hover{background-color:var(--el-color-success-light-9)}.el-check-tag.el-check-tag--warning.is-checked{background-color:var(--el-color-warning-light-8);color:var(--el-color-warning)}.el-check-tag.el-check-tag--warning.is-checked:hover{background-color:var(--el-color-warning-light-7)}.el-check-tag.el-check-tag--warning.is-checked.is-disabled{background-color:var(--el-color-warning-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-checked.is-disabled:hover{background-color:var(--el-color-warning-light-8)}.el-check-tag.el-check-tag--warning.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--warning.is-disabled,.el-check-tag.el-check-tag--warning.is-disabled:hover{background-color:var(--el-color-warning-light-9)}.el-check-tag.el-check-tag--danger.is-checked{background-color:var(--el-color-danger-light-8);color:var(--el-color-danger)}.el-check-tag.el-check-tag--danger.is-checked:hover{background-color:var(--el-color-danger-light-7)}.el-check-tag.el-check-tag--danger.is-checked.is-disabled{background-color:var(--el-color-danger-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-checked.is-disabled:hover{background-color:var(--el-color-danger-light-8)}.el-check-tag.el-check-tag--danger.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--danger.is-disabled,.el-check-tag.el-check-tag--danger.is-disabled:hover{background-color:var(--el-color-danger-light-9)}.el-check-tag.el-check-tag--error.is-checked{background-color:var(--el-color-error-light-8);color:var(--el-color-error)}.el-check-tag.el-check-tag--error.is-checked:hover{background-color:var(--el-color-error-light-7)}.el-check-tag.el-check-tag--error.is-checked.is-disabled{background-color:var(--el-color-error-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-checked.is-disabled:hover{background-color:var(--el-color-error-light-8)}.el-check-tag.el-check-tag--error.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--error.is-disabled,.el-check-tag.el-check-tag--error.is-disabled:hover{background-color:var(--el-color-error-light-9)}.el-check-tag.el-check-tag--info.is-checked{background-color:var(--el-color-info-light-8);color:var(--el-color-info)}.el-check-tag.el-check-tag--info.is-checked:hover{background-color:var(--el-color-info-light-7)}.el-check-tag.el-check-tag--info.is-checked.is-disabled{background-color:var(--el-color-info-light-8);color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-checked.is-disabled:hover{background-color:var(--el-color-info-light-8)}.el-check-tag.el-check-tag--info.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-check-tag.el-check-tag--info.is-disabled,.el-check-tag.el-check-tag--info.is-disabled:hover{background-color:var(--el-color-info-light-9)}.el-checkbox-button{--el-checkbox-button-checked-bg-color:var(--el-color-primary);--el-checkbox-button-checked-text-color:var(--el-color-white);--el-checkbox-button-checked-border-color:var(--el-color-primary);display:inline-block;position:relative}.el-checkbox-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left-color:transparent;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;display:inline-block;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);line-height:1;margin:0;outline:none;padding:8px 15px;position:relative;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-checkbox-button__inner.is-round{padding:8px 15px}.el-checkbox-button__inner:hover{color:var(--el-color-primary)}.el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.el-checkbox-button__original{margin:0;opacity:0;outline:none;position:absolute;z-index:-1}.el-checkbox-button.is-checked .el-checkbox-button__inner{background-color:var(--el-checkbox-button-checked-bg-color);border-color:var(--el-checkbox-button-checked-border-color);box-shadow:-1px 0 0 0 var(--el-color-primary-light-7);color:var(--el-checkbox-button-checked-text-color)}.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner{border-left-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button.is-disabled .el-checkbox-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox-button.is-disabled:first-child .el-checkbox-button__inner{border-left-color:var(--el-button-disabled-border-color,var(--el-border-color-light))}.el-checkbox-button:first-child .el-checkbox-button__inner{border-bottom-left-radius:var(--el-border-radius-base);border-left:var(--el-border);border-top-left-radius:var(--el-border-radius-base);box-shadow:none!important}.el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:var(--el-checkbox-button-checked-border-color)}.el-checkbox-button:last-child .el-checkbox-button__inner{border-bottom-right-radius:var(--el-border-radius-base);border-top-right-radius:var(--el-border-radius-base)}.el-checkbox-button--large .el-checkbox-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-checkbox-button--large .el-checkbox-button__inner.is-round{padding:12px 19px}.el-checkbox-button--small .el-checkbox-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:5px 11px}.el-checkbox-group{font-size:0;line-height:0}.el-checkbox{--el-checkbox-font-size:14px;--el-checkbox-font-weight:var(--el-font-weight-primary);--el-checkbox-text-color:var(--el-text-color-regular);--el-checkbox-input-height:14px;--el-checkbox-input-width:14px;--el-checkbox-border-radius:var(--el-border-radius-small);--el-checkbox-bg-color:var(--el-fill-color-blank);--el-checkbox-input-border:var(--el-border);--el-checkbox-disabled-border-color:var(--el-border-color);--el-checkbox-disabled-input-fill:var(--el-fill-color-light);--el-checkbox-disabled-icon-color:var(--el-text-color-placeholder);--el-checkbox-disabled-checked-input-fill:var(--el-border-color-extra-light);--el-checkbox-disabled-checked-input-border-color:var(--el-border-color);--el-checkbox-disabled-checked-icon-color:var(--el-text-color-placeholder);--el-checkbox-checked-text-color:var(--el-color-primary);--el-checkbox-checked-input-border-color:var(--el-color-primary);--el-checkbox-checked-bg-color:var(--el-color-primary);--el-checkbox-checked-icon-color:var(--el-color-white);--el-checkbox-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-checkbox-font-weight);height:var(--el-checkbox-height,32px);margin-right:30px;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-checkbox.is-disabled{cursor:not-allowed}.el-checkbox.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-checkbox.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-checkbox.is-bordered.is-disabled{border-color:var(--el-border-color-lighter)}.el-checkbox.is-bordered.el-checkbox--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__label{font-size:var(--el-font-size-base)}.el-checkbox.is-bordered.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.is-bordered.el-checkbox--small{border-radius:calc(var(--el-border-radius-base) - 1px);padding:0 11px 0 7px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox input:focus-visible+.el-checkbox__inner{border-radius:var(--el-checkbox-border-radius);outline:2px solid var(--el-checkbox-input-border-color-hover);outline-offset:1px}.el-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;white-space:nowrap}.el-checkbox__input.is-disabled .el-checkbox__inner{background-color:var(--el-checkbox-disabled-input-fill);border-color:var(--el-checkbox-disabled-border-color);cursor:not-allowed}.el-checkbox__input.is-disabled .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-icon-color);cursor:not-allowed}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-disabled-checked-input-fill);border-color:var(--el-checkbox-disabled-checked-input-border-color)}.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-disabled-checked-icon-color);border-color:var(--el-checkbox-disabled-checked-icon-color)}.el-checkbox__input.is-disabled+span.el-checkbox__label{color:var(--el-disabled-text-color);cursor:not-allowed}.el-checkbox__input.is-checked .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-checked .el-checkbox__inner:after{border-color:var(--el-checkbox-checked-icon-color);transform:rotate(45deg) scaleY(1)}.el-checkbox__input.is-checked+.el-checkbox__label{color:var(--el-checkbox-checked-text-color)}.el-checkbox__input.is-focus:not(.is-checked) .el-checkbox__original:not(:focus-visible){border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:var(--el-checkbox-checked-bg-color);border-color:var(--el-checkbox-checked-input-border-color)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:before{background-color:var(--el-checkbox-checked-icon-color);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scale(.5)}.el-checkbox__input.is-indeterminate .el-checkbox__inner:after{display:none}.el-checkbox__inner{background-color:var(--el-checkbox-bg-color);border:var(--el-checkbox-input-border);border-radius:var(--el-checkbox-border-radius);box-sizing:border-box;display:inline-block;height:var(--el-checkbox-input-height);position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46),outline .25s cubic-bezier(.71,-.46,.29,1.46);width:var(--el-checkbox-input-width);z-index:var(--el-index-normal)}.el-checkbox__inner:hover{border-color:var(--el-checkbox-input-border-color-hover)}.el-checkbox__inner:after{border:1px solid transparent;border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg) scaleY(0);transform-origin:center;transition:transform .15s ease-in .05s;width:3px}.el-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.el-checkbox__label{display:inline-block;font-size:var(--el-checkbox-font-size);line-height:1;padding-left:8px}.el-checkbox.el-checkbox--large{height:40px}.el-checkbox.el-checkbox--large .el-checkbox__label{font-size:14px}.el-checkbox.el-checkbox--large .el-checkbox__inner{height:14px;width:14px}.el-checkbox.el-checkbox--small{height:24px}.el-checkbox.el-checkbox--small .el-checkbox__label{font-size:12px}.el-checkbox.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.el-checkbox.el-checkbox--small .el-checkbox__input.is-indeterminate .el-checkbox__inner:before{top:4px}.el-checkbox.el-checkbox--small .el-checkbox__inner:after{height:6px;width:2px}.el-checkbox:last-of-type{margin-right:0}[class*=el-col-]{box-sizing:border-box}[class*=el-col-].is-guttered{display:block;min-height:1px}.el-col-0{flex:0 0 0%;max-width:0}.el-col-0,.el-col-0.is-guttered{display:none}.el-col-offset-0{margin-left:0}.el-col-pull-0{position:relative;right:0}.el-col-push-0{left:0;position:relative}.el-col-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-1,.el-col-1.is-guttered{display:block}.el-col-offset-1{margin-left:4.1666666667%}.el-col-pull-1{position:relative;right:4.1666666667%}.el-col-push-1{left:4.1666666667%;position:relative}.el-col-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-2,.el-col-2.is-guttered{display:block}.el-col-offset-2{margin-left:8.3333333333%}.el-col-pull-2{position:relative;right:8.3333333333%}.el-col-push-2{left:8.3333333333%;position:relative}.el-col-3{flex:0 0 12.5%;max-width:12.5%}.el-col-3,.el-col-3.is-guttered{display:block}.el-col-offset-3{margin-left:12.5%}.el-col-pull-3{position:relative;right:12.5%}.el-col-push-3{left:12.5%;position:relative}.el-col-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-4,.el-col-4.is-guttered{display:block}.el-col-offset-4{margin-left:16.6666666667%}.el-col-pull-4{position:relative;right:16.6666666667%}.el-col-push-4{left:16.6666666667%;position:relative}.el-col-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-5,.el-col-5.is-guttered{display:block}.el-col-offset-5{margin-left:20.8333333333%}.el-col-pull-5{position:relative;right:20.8333333333%}.el-col-push-5{left:20.8333333333%;position:relative}.el-col-6{flex:0 0 25%;max-width:25%}.el-col-6,.el-col-6.is-guttered{display:block}.el-col-offset-6{margin-left:25%}.el-col-pull-6{position:relative;right:25%}.el-col-push-6{left:25%;position:relative}.el-col-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-7,.el-col-7.is-guttered{display:block}.el-col-offset-7{margin-left:29.1666666667%}.el-col-pull-7{position:relative;right:29.1666666667%}.el-col-push-7{left:29.1666666667%;position:relative}.el-col-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-8,.el-col-8.is-guttered{display:block}.el-col-offset-8{margin-left:33.3333333333%}.el-col-pull-8{position:relative;right:33.3333333333%}.el-col-push-8{left:33.3333333333%;position:relative}.el-col-9{flex:0 0 37.5%;max-width:37.5%}.el-col-9,.el-col-9.is-guttered{display:block}.el-col-offset-9{margin-left:37.5%}.el-col-pull-9{position:relative;right:37.5%}.el-col-push-9{left:37.5%;position:relative}.el-col-10{flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-10,.el-col-10.is-guttered{display:block}.el-col-offset-10{margin-left:41.6666666667%}.el-col-pull-10{position:relative;right:41.6666666667%}.el-col-push-10{left:41.6666666667%;position:relative}.el-col-11{flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-11,.el-col-11.is-guttered{display:block}.el-col-offset-11{margin-left:45.8333333333%}.el-col-pull-11{position:relative;right:45.8333333333%}.el-col-push-11{left:45.8333333333%;position:relative}.el-col-12{flex:0 0 50%;max-width:50%}.el-col-12,.el-col-12.is-guttered{display:block}.el-col-offset-12{margin-left:50%}.el-col-pull-12{position:relative;right:50%}.el-col-push-12{left:50%;position:relative}.el-col-13{flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-13,.el-col-13.is-guttered{display:block}.el-col-offset-13{margin-left:54.1666666667%}.el-col-pull-13{position:relative;right:54.1666666667%}.el-col-push-13{left:54.1666666667%;position:relative}.el-col-14{flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-14,.el-col-14.is-guttered{display:block}.el-col-offset-14{margin-left:58.3333333333%}.el-col-pull-14{position:relative;right:58.3333333333%}.el-col-push-14{left:58.3333333333%;position:relative}.el-col-15{flex:0 0 62.5%;max-width:62.5%}.el-col-15,.el-col-15.is-guttered{display:block}.el-col-offset-15{margin-left:62.5%}.el-col-pull-15{position:relative;right:62.5%}.el-col-push-15{left:62.5%;position:relative}.el-col-16{flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-16,.el-col-16.is-guttered{display:block}.el-col-offset-16{margin-left:66.6666666667%}.el-col-pull-16{position:relative;right:66.6666666667%}.el-col-push-16{left:66.6666666667%;position:relative}.el-col-17{flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-17,.el-col-17.is-guttered{display:block}.el-col-offset-17{margin-left:70.8333333333%}.el-col-pull-17{position:relative;right:70.8333333333%}.el-col-push-17{left:70.8333333333%;position:relative}.el-col-18{flex:0 0 75%;max-width:75%}.el-col-18,.el-col-18.is-guttered{display:block}.el-col-offset-18{margin-left:75%}.el-col-pull-18{position:relative;right:75%}.el-col-push-18{left:75%;position:relative}.el-col-19{flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-19,.el-col-19.is-guttered{display:block}.el-col-offset-19{margin-left:79.1666666667%}.el-col-pull-19{position:relative;right:79.1666666667%}.el-col-push-19{left:79.1666666667%;position:relative}.el-col-20{flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-20,.el-col-20.is-guttered{display:block}.el-col-offset-20{margin-left:83.3333333333%}.el-col-pull-20{position:relative;right:83.3333333333%}.el-col-push-20{left:83.3333333333%;position:relative}.el-col-21{flex:0 0 87.5%;max-width:87.5%}.el-col-21,.el-col-21.is-guttered{display:block}.el-col-offset-21{margin-left:87.5%}.el-col-pull-21{position:relative;right:87.5%}.el-col-push-21{left:87.5%;position:relative}.el-col-22{flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-22,.el-col-22.is-guttered{display:block}.el-col-offset-22{margin-left:91.6666666667%}.el-col-pull-22{position:relative;right:91.6666666667%}.el-col-push-22{left:91.6666666667%;position:relative}.el-col-23{flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-23,.el-col-23.is-guttered{display:block}.el-col-offset-23{margin-left:95.8333333333%}.el-col-pull-23{position:relative;right:95.8333333333%}.el-col-push-23{left:95.8333333333%;position:relative}.el-col-24{flex:0 0 100%;max-width:100%}.el-col-24,.el-col-24.is-guttered{display:block}.el-col-offset-24{margin-left:100%}.el-col-pull-24{position:relative;right:100%}.el-col-push-24{left:100%;position:relative}@media only screen and (max-width:767px){.el-col-xs-0{display:none;flex:0 0 0%;max-width:0}.el-col-xs-0.is-guttered{display:none}.el-col-xs-offset-0{margin-left:0}.el-col-xs-pull-0{position:relative;right:0}.el-col-xs-push-0{left:0;position:relative}.el-col-xs-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xs-1,.el-col-xs-1.is-guttered{display:block}.el-col-xs-offset-1{margin-left:4.1666666667%}.el-col-xs-pull-1{position:relative;right:4.1666666667%}.el-col-xs-push-1{left:4.1666666667%;position:relative}.el-col-xs-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xs-2,.el-col-xs-2.is-guttered{display:block}.el-col-xs-offset-2{margin-left:8.3333333333%}.el-col-xs-pull-2{position:relative;right:8.3333333333%}.el-col-xs-push-2{left:8.3333333333%;position:relative}.el-col-xs-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xs-3,.el-col-xs-3.is-guttered{display:block}.el-col-xs-offset-3{margin-left:12.5%}.el-col-xs-pull-3{position:relative;right:12.5%}.el-col-xs-push-3{left:12.5%;position:relative}.el-col-xs-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xs-4,.el-col-xs-4.is-guttered{display:block}.el-col-xs-offset-4{margin-left:16.6666666667%}.el-col-xs-pull-4{position:relative;right:16.6666666667%}.el-col-xs-push-4{left:16.6666666667%;position:relative}.el-col-xs-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xs-5,.el-col-xs-5.is-guttered{display:block}.el-col-xs-offset-5{margin-left:20.8333333333%}.el-col-xs-pull-5{position:relative;right:20.8333333333%}.el-col-xs-push-5{left:20.8333333333%;position:relative}.el-col-xs-6{flex:0 0 25%;max-width:25%}.el-col-xs-6,.el-col-xs-6.is-guttered{display:block}.el-col-xs-offset-6{margin-left:25%}.el-col-xs-pull-6{position:relative;right:25%}.el-col-xs-push-6{left:25%;position:relative}.el-col-xs-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xs-7,.el-col-xs-7.is-guttered{display:block}.el-col-xs-offset-7{margin-left:29.1666666667%}.el-col-xs-pull-7{position:relative;right:29.1666666667%}.el-col-xs-push-7{left:29.1666666667%;position:relative}.el-col-xs-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xs-8,.el-col-xs-8.is-guttered{display:block}.el-col-xs-offset-8{margin-left:33.3333333333%}.el-col-xs-pull-8{position:relative;right:33.3333333333%}.el-col-xs-push-8{left:33.3333333333%;position:relative}.el-col-xs-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xs-9,.el-col-xs-9.is-guttered{display:block}.el-col-xs-offset-9{margin-left:37.5%}.el-col-xs-pull-9{position:relative;right:37.5%}.el-col-xs-push-9{left:37.5%;position:relative}.el-col-xs-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xs-10.is-guttered{display:block}.el-col-xs-offset-10{margin-left:41.6666666667%}.el-col-xs-pull-10{position:relative;right:41.6666666667%}.el-col-xs-push-10{left:41.6666666667%;position:relative}.el-col-xs-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xs-11.is-guttered{display:block}.el-col-xs-offset-11{margin-left:45.8333333333%}.el-col-xs-pull-11{position:relative;right:45.8333333333%}.el-col-xs-push-11{left:45.8333333333%;position:relative}.el-col-xs-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xs-12.is-guttered{display:block}.el-col-xs-offset-12{margin-left:50%}.el-col-xs-pull-12{position:relative;right:50%}.el-col-xs-push-12{left:50%;position:relative}.el-col-xs-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xs-13.is-guttered{display:block}.el-col-xs-offset-13{margin-left:54.1666666667%}.el-col-xs-pull-13{position:relative;right:54.1666666667%}.el-col-xs-push-13{left:54.1666666667%;position:relative}.el-col-xs-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xs-14.is-guttered{display:block}.el-col-xs-offset-14{margin-left:58.3333333333%}.el-col-xs-pull-14{position:relative;right:58.3333333333%}.el-col-xs-push-14{left:58.3333333333%;position:relative}.el-col-xs-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xs-15.is-guttered{display:block}.el-col-xs-offset-15{margin-left:62.5%}.el-col-xs-pull-15{position:relative;right:62.5%}.el-col-xs-push-15{left:62.5%;position:relative}.el-col-xs-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xs-16.is-guttered{display:block}.el-col-xs-offset-16{margin-left:66.6666666667%}.el-col-xs-pull-16{position:relative;right:66.6666666667%}.el-col-xs-push-16{left:66.6666666667%;position:relative}.el-col-xs-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xs-17.is-guttered{display:block}.el-col-xs-offset-17{margin-left:70.8333333333%}.el-col-xs-pull-17{position:relative;right:70.8333333333%}.el-col-xs-push-17{left:70.8333333333%;position:relative}.el-col-xs-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xs-18.is-guttered{display:block}.el-col-xs-offset-18{margin-left:75%}.el-col-xs-pull-18{position:relative;right:75%}.el-col-xs-push-18{left:75%;position:relative}.el-col-xs-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xs-19.is-guttered{display:block}.el-col-xs-offset-19{margin-left:79.1666666667%}.el-col-xs-pull-19{position:relative;right:79.1666666667%}.el-col-xs-push-19{left:79.1666666667%;position:relative}.el-col-xs-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xs-20.is-guttered{display:block}.el-col-xs-offset-20{margin-left:83.3333333333%}.el-col-xs-pull-20{position:relative;right:83.3333333333%}.el-col-xs-push-20{left:83.3333333333%;position:relative}.el-col-xs-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xs-21.is-guttered{display:block}.el-col-xs-offset-21{margin-left:87.5%}.el-col-xs-pull-21{position:relative;right:87.5%}.el-col-xs-push-21{left:87.5%;position:relative}.el-col-xs-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xs-22.is-guttered{display:block}.el-col-xs-offset-22{margin-left:91.6666666667%}.el-col-xs-pull-22{position:relative;right:91.6666666667%}.el-col-xs-push-22{left:91.6666666667%;position:relative}.el-col-xs-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xs-23.is-guttered{display:block}.el-col-xs-offset-23{margin-left:95.8333333333%}.el-col-xs-pull-23{position:relative;right:95.8333333333%}.el-col-xs-push-23{left:95.8333333333%;position:relative}.el-col-xs-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xs-24.is-guttered{display:block}.el-col-xs-offset-24{margin-left:100%}.el-col-xs-pull-24{position:relative;right:100%}.el-col-xs-push-24{left:100%;position:relative}}@media only screen and (min-width:768px){.el-col-sm-0{display:none;flex:0 0 0%;max-width:0}.el-col-sm-0.is-guttered{display:none}.el-col-sm-offset-0{margin-left:0}.el-col-sm-pull-0{position:relative;right:0}.el-col-sm-push-0{left:0;position:relative}.el-col-sm-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-sm-1,.el-col-sm-1.is-guttered{display:block}.el-col-sm-offset-1{margin-left:4.1666666667%}.el-col-sm-pull-1{position:relative;right:4.1666666667%}.el-col-sm-push-1{left:4.1666666667%;position:relative}.el-col-sm-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-sm-2,.el-col-sm-2.is-guttered{display:block}.el-col-sm-offset-2{margin-left:8.3333333333%}.el-col-sm-pull-2{position:relative;right:8.3333333333%}.el-col-sm-push-2{left:8.3333333333%;position:relative}.el-col-sm-3{flex:0 0 12.5%;max-width:12.5%}.el-col-sm-3,.el-col-sm-3.is-guttered{display:block}.el-col-sm-offset-3{margin-left:12.5%}.el-col-sm-pull-3{position:relative;right:12.5%}.el-col-sm-push-3{left:12.5%;position:relative}.el-col-sm-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-sm-4,.el-col-sm-4.is-guttered{display:block}.el-col-sm-offset-4{margin-left:16.6666666667%}.el-col-sm-pull-4{position:relative;right:16.6666666667%}.el-col-sm-push-4{left:16.6666666667%;position:relative}.el-col-sm-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-sm-5,.el-col-sm-5.is-guttered{display:block}.el-col-sm-offset-5{margin-left:20.8333333333%}.el-col-sm-pull-5{position:relative;right:20.8333333333%}.el-col-sm-push-5{left:20.8333333333%;position:relative}.el-col-sm-6{flex:0 0 25%;max-width:25%}.el-col-sm-6,.el-col-sm-6.is-guttered{display:block}.el-col-sm-offset-6{margin-left:25%}.el-col-sm-pull-6{position:relative;right:25%}.el-col-sm-push-6{left:25%;position:relative}.el-col-sm-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-sm-7,.el-col-sm-7.is-guttered{display:block}.el-col-sm-offset-7{margin-left:29.1666666667%}.el-col-sm-pull-7{position:relative;right:29.1666666667%}.el-col-sm-push-7{left:29.1666666667%;position:relative}.el-col-sm-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-sm-8,.el-col-sm-8.is-guttered{display:block}.el-col-sm-offset-8{margin-left:33.3333333333%}.el-col-sm-pull-8{position:relative;right:33.3333333333%}.el-col-sm-push-8{left:33.3333333333%;position:relative}.el-col-sm-9{flex:0 0 37.5%;max-width:37.5%}.el-col-sm-9,.el-col-sm-9.is-guttered{display:block}.el-col-sm-offset-9{margin-left:37.5%}.el-col-sm-pull-9{position:relative;right:37.5%}.el-col-sm-push-9{left:37.5%;position:relative}.el-col-sm-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-sm-10.is-guttered{display:block}.el-col-sm-offset-10{margin-left:41.6666666667%}.el-col-sm-pull-10{position:relative;right:41.6666666667%}.el-col-sm-push-10{left:41.6666666667%;position:relative}.el-col-sm-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-sm-11.is-guttered{display:block}.el-col-sm-offset-11{margin-left:45.8333333333%}.el-col-sm-pull-11{position:relative;right:45.8333333333%}.el-col-sm-push-11{left:45.8333333333%;position:relative}.el-col-sm-12{display:block;flex:0 0 50%;max-width:50%}.el-col-sm-12.is-guttered{display:block}.el-col-sm-offset-12{margin-left:50%}.el-col-sm-pull-12{position:relative;right:50%}.el-col-sm-push-12{left:50%;position:relative}.el-col-sm-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-sm-13.is-guttered{display:block}.el-col-sm-offset-13{margin-left:54.1666666667%}.el-col-sm-pull-13{position:relative;right:54.1666666667%}.el-col-sm-push-13{left:54.1666666667%;position:relative}.el-col-sm-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-sm-14.is-guttered{display:block}.el-col-sm-offset-14{margin-left:58.3333333333%}.el-col-sm-pull-14{position:relative;right:58.3333333333%}.el-col-sm-push-14{left:58.3333333333%;position:relative}.el-col-sm-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-sm-15.is-guttered{display:block}.el-col-sm-offset-15{margin-left:62.5%}.el-col-sm-pull-15{position:relative;right:62.5%}.el-col-sm-push-15{left:62.5%;position:relative}.el-col-sm-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-sm-16.is-guttered{display:block}.el-col-sm-offset-16{margin-left:66.6666666667%}.el-col-sm-pull-16{position:relative;right:66.6666666667%}.el-col-sm-push-16{left:66.6666666667%;position:relative}.el-col-sm-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-sm-17.is-guttered{display:block}.el-col-sm-offset-17{margin-left:70.8333333333%}.el-col-sm-pull-17{position:relative;right:70.8333333333%}.el-col-sm-push-17{left:70.8333333333%;position:relative}.el-col-sm-18{display:block;flex:0 0 75%;max-width:75%}.el-col-sm-18.is-guttered{display:block}.el-col-sm-offset-18{margin-left:75%}.el-col-sm-pull-18{position:relative;right:75%}.el-col-sm-push-18{left:75%;position:relative}.el-col-sm-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-sm-19.is-guttered{display:block}.el-col-sm-offset-19{margin-left:79.1666666667%}.el-col-sm-pull-19{position:relative;right:79.1666666667%}.el-col-sm-push-19{left:79.1666666667%;position:relative}.el-col-sm-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-sm-20.is-guttered{display:block}.el-col-sm-offset-20{margin-left:83.3333333333%}.el-col-sm-pull-20{position:relative;right:83.3333333333%}.el-col-sm-push-20{left:83.3333333333%;position:relative}.el-col-sm-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-sm-21.is-guttered{display:block}.el-col-sm-offset-21{margin-left:87.5%}.el-col-sm-pull-21{position:relative;right:87.5%}.el-col-sm-push-21{left:87.5%;position:relative}.el-col-sm-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-sm-22.is-guttered{display:block}.el-col-sm-offset-22{margin-left:91.6666666667%}.el-col-sm-pull-22{position:relative;right:91.6666666667%}.el-col-sm-push-22{left:91.6666666667%;position:relative}.el-col-sm-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-sm-23.is-guttered{display:block}.el-col-sm-offset-23{margin-left:95.8333333333%}.el-col-sm-pull-23{position:relative;right:95.8333333333%}.el-col-sm-push-23{left:95.8333333333%;position:relative}.el-col-sm-24{display:block;flex:0 0 100%;max-width:100%}.el-col-sm-24.is-guttered{display:block}.el-col-sm-offset-24{margin-left:100%}.el-col-sm-pull-24{position:relative;right:100%}.el-col-sm-push-24{left:100%;position:relative}}@media only screen and (min-width:992px){.el-col-md-0{display:none;flex:0 0 0%;max-width:0}.el-col-md-0.is-guttered{display:none}.el-col-md-offset-0{margin-left:0}.el-col-md-pull-0{position:relative;right:0}.el-col-md-push-0{left:0;position:relative}.el-col-md-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-md-1,.el-col-md-1.is-guttered{display:block}.el-col-md-offset-1{margin-left:4.1666666667%}.el-col-md-pull-1{position:relative;right:4.1666666667%}.el-col-md-push-1{left:4.1666666667%;position:relative}.el-col-md-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-md-2,.el-col-md-2.is-guttered{display:block}.el-col-md-offset-2{margin-left:8.3333333333%}.el-col-md-pull-2{position:relative;right:8.3333333333%}.el-col-md-push-2{left:8.3333333333%;position:relative}.el-col-md-3{flex:0 0 12.5%;max-width:12.5%}.el-col-md-3,.el-col-md-3.is-guttered{display:block}.el-col-md-offset-3{margin-left:12.5%}.el-col-md-pull-3{position:relative;right:12.5%}.el-col-md-push-3{left:12.5%;position:relative}.el-col-md-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-md-4,.el-col-md-4.is-guttered{display:block}.el-col-md-offset-4{margin-left:16.6666666667%}.el-col-md-pull-4{position:relative;right:16.6666666667%}.el-col-md-push-4{left:16.6666666667%;position:relative}.el-col-md-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-md-5,.el-col-md-5.is-guttered{display:block}.el-col-md-offset-5{margin-left:20.8333333333%}.el-col-md-pull-5{position:relative;right:20.8333333333%}.el-col-md-push-5{left:20.8333333333%;position:relative}.el-col-md-6{flex:0 0 25%;max-width:25%}.el-col-md-6,.el-col-md-6.is-guttered{display:block}.el-col-md-offset-6{margin-left:25%}.el-col-md-pull-6{position:relative;right:25%}.el-col-md-push-6{left:25%;position:relative}.el-col-md-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-md-7,.el-col-md-7.is-guttered{display:block}.el-col-md-offset-7{margin-left:29.1666666667%}.el-col-md-pull-7{position:relative;right:29.1666666667%}.el-col-md-push-7{left:29.1666666667%;position:relative}.el-col-md-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-md-8,.el-col-md-8.is-guttered{display:block}.el-col-md-offset-8{margin-left:33.3333333333%}.el-col-md-pull-8{position:relative;right:33.3333333333%}.el-col-md-push-8{left:33.3333333333%;position:relative}.el-col-md-9{flex:0 0 37.5%;max-width:37.5%}.el-col-md-9,.el-col-md-9.is-guttered{display:block}.el-col-md-offset-9{margin-left:37.5%}.el-col-md-pull-9{position:relative;right:37.5%}.el-col-md-push-9{left:37.5%;position:relative}.el-col-md-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-md-10.is-guttered{display:block}.el-col-md-offset-10{margin-left:41.6666666667%}.el-col-md-pull-10{position:relative;right:41.6666666667%}.el-col-md-push-10{left:41.6666666667%;position:relative}.el-col-md-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-md-11.is-guttered{display:block}.el-col-md-offset-11{margin-left:45.8333333333%}.el-col-md-pull-11{position:relative;right:45.8333333333%}.el-col-md-push-11{left:45.8333333333%;position:relative}.el-col-md-12{display:block;flex:0 0 50%;max-width:50%}.el-col-md-12.is-guttered{display:block}.el-col-md-offset-12{margin-left:50%}.el-col-md-pull-12{position:relative;right:50%}.el-col-md-push-12{left:50%;position:relative}.el-col-md-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-md-13.is-guttered{display:block}.el-col-md-offset-13{margin-left:54.1666666667%}.el-col-md-pull-13{position:relative;right:54.1666666667%}.el-col-md-push-13{left:54.1666666667%;position:relative}.el-col-md-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-md-14.is-guttered{display:block}.el-col-md-offset-14{margin-left:58.3333333333%}.el-col-md-pull-14{position:relative;right:58.3333333333%}.el-col-md-push-14{left:58.3333333333%;position:relative}.el-col-md-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-md-15.is-guttered{display:block}.el-col-md-offset-15{margin-left:62.5%}.el-col-md-pull-15{position:relative;right:62.5%}.el-col-md-push-15{left:62.5%;position:relative}.el-col-md-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-md-16.is-guttered{display:block}.el-col-md-offset-16{margin-left:66.6666666667%}.el-col-md-pull-16{position:relative;right:66.6666666667%}.el-col-md-push-16{left:66.6666666667%;position:relative}.el-col-md-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-md-17.is-guttered{display:block}.el-col-md-offset-17{margin-left:70.8333333333%}.el-col-md-pull-17{position:relative;right:70.8333333333%}.el-col-md-push-17{left:70.8333333333%;position:relative}.el-col-md-18{display:block;flex:0 0 75%;max-width:75%}.el-col-md-18.is-guttered{display:block}.el-col-md-offset-18{margin-left:75%}.el-col-md-pull-18{position:relative;right:75%}.el-col-md-push-18{left:75%;position:relative}.el-col-md-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-md-19.is-guttered{display:block}.el-col-md-offset-19{margin-left:79.1666666667%}.el-col-md-pull-19{position:relative;right:79.1666666667%}.el-col-md-push-19{left:79.1666666667%;position:relative}.el-col-md-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-md-20.is-guttered{display:block}.el-col-md-offset-20{margin-left:83.3333333333%}.el-col-md-pull-20{position:relative;right:83.3333333333%}.el-col-md-push-20{left:83.3333333333%;position:relative}.el-col-md-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-md-21.is-guttered{display:block}.el-col-md-offset-21{margin-left:87.5%}.el-col-md-pull-21{position:relative;right:87.5%}.el-col-md-push-21{left:87.5%;position:relative}.el-col-md-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-md-22.is-guttered{display:block}.el-col-md-offset-22{margin-left:91.6666666667%}.el-col-md-pull-22{position:relative;right:91.6666666667%}.el-col-md-push-22{left:91.6666666667%;position:relative}.el-col-md-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-md-23.is-guttered{display:block}.el-col-md-offset-23{margin-left:95.8333333333%}.el-col-md-pull-23{position:relative;right:95.8333333333%}.el-col-md-push-23{left:95.8333333333%;position:relative}.el-col-md-24{display:block;flex:0 0 100%;max-width:100%}.el-col-md-24.is-guttered{display:block}.el-col-md-offset-24{margin-left:100%}.el-col-md-pull-24{position:relative;right:100%}.el-col-md-push-24{left:100%;position:relative}}@media only screen and (min-width:1200px){.el-col-lg-0{display:none;flex:0 0 0%;max-width:0}.el-col-lg-0.is-guttered{display:none}.el-col-lg-offset-0{margin-left:0}.el-col-lg-pull-0{position:relative;right:0}.el-col-lg-push-0{left:0;position:relative}.el-col-lg-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-lg-1,.el-col-lg-1.is-guttered{display:block}.el-col-lg-offset-1{margin-left:4.1666666667%}.el-col-lg-pull-1{position:relative;right:4.1666666667%}.el-col-lg-push-1{left:4.1666666667%;position:relative}.el-col-lg-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-lg-2,.el-col-lg-2.is-guttered{display:block}.el-col-lg-offset-2{margin-left:8.3333333333%}.el-col-lg-pull-2{position:relative;right:8.3333333333%}.el-col-lg-push-2{left:8.3333333333%;position:relative}.el-col-lg-3{flex:0 0 12.5%;max-width:12.5%}.el-col-lg-3,.el-col-lg-3.is-guttered{display:block}.el-col-lg-offset-3{margin-left:12.5%}.el-col-lg-pull-3{position:relative;right:12.5%}.el-col-lg-push-3{left:12.5%;position:relative}.el-col-lg-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-lg-4,.el-col-lg-4.is-guttered{display:block}.el-col-lg-offset-4{margin-left:16.6666666667%}.el-col-lg-pull-4{position:relative;right:16.6666666667%}.el-col-lg-push-4{left:16.6666666667%;position:relative}.el-col-lg-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-lg-5,.el-col-lg-5.is-guttered{display:block}.el-col-lg-offset-5{margin-left:20.8333333333%}.el-col-lg-pull-5{position:relative;right:20.8333333333%}.el-col-lg-push-5{left:20.8333333333%;position:relative}.el-col-lg-6{flex:0 0 25%;max-width:25%}.el-col-lg-6,.el-col-lg-6.is-guttered{display:block}.el-col-lg-offset-6{margin-left:25%}.el-col-lg-pull-6{position:relative;right:25%}.el-col-lg-push-6{left:25%;position:relative}.el-col-lg-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-lg-7,.el-col-lg-7.is-guttered{display:block}.el-col-lg-offset-7{margin-left:29.1666666667%}.el-col-lg-pull-7{position:relative;right:29.1666666667%}.el-col-lg-push-7{left:29.1666666667%;position:relative}.el-col-lg-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-lg-8,.el-col-lg-8.is-guttered{display:block}.el-col-lg-offset-8{margin-left:33.3333333333%}.el-col-lg-pull-8{position:relative;right:33.3333333333%}.el-col-lg-push-8{left:33.3333333333%;position:relative}.el-col-lg-9{flex:0 0 37.5%;max-width:37.5%}.el-col-lg-9,.el-col-lg-9.is-guttered{display:block}.el-col-lg-offset-9{margin-left:37.5%}.el-col-lg-pull-9{position:relative;right:37.5%}.el-col-lg-push-9{left:37.5%;position:relative}.el-col-lg-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-lg-10.is-guttered{display:block}.el-col-lg-offset-10{margin-left:41.6666666667%}.el-col-lg-pull-10{position:relative;right:41.6666666667%}.el-col-lg-push-10{left:41.6666666667%;position:relative}.el-col-lg-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-lg-11.is-guttered{display:block}.el-col-lg-offset-11{margin-left:45.8333333333%}.el-col-lg-pull-11{position:relative;right:45.8333333333%}.el-col-lg-push-11{left:45.8333333333%;position:relative}.el-col-lg-12{display:block;flex:0 0 50%;max-width:50%}.el-col-lg-12.is-guttered{display:block}.el-col-lg-offset-12{margin-left:50%}.el-col-lg-pull-12{position:relative;right:50%}.el-col-lg-push-12{left:50%;position:relative}.el-col-lg-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-lg-13.is-guttered{display:block}.el-col-lg-offset-13{margin-left:54.1666666667%}.el-col-lg-pull-13{position:relative;right:54.1666666667%}.el-col-lg-push-13{left:54.1666666667%;position:relative}.el-col-lg-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-lg-14.is-guttered{display:block}.el-col-lg-offset-14{margin-left:58.3333333333%}.el-col-lg-pull-14{position:relative;right:58.3333333333%}.el-col-lg-push-14{left:58.3333333333%;position:relative}.el-col-lg-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-lg-15.is-guttered{display:block}.el-col-lg-offset-15{margin-left:62.5%}.el-col-lg-pull-15{position:relative;right:62.5%}.el-col-lg-push-15{left:62.5%;position:relative}.el-col-lg-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-lg-16.is-guttered{display:block}.el-col-lg-offset-16{margin-left:66.6666666667%}.el-col-lg-pull-16{position:relative;right:66.6666666667%}.el-col-lg-push-16{left:66.6666666667%;position:relative}.el-col-lg-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-lg-17.is-guttered{display:block}.el-col-lg-offset-17{margin-left:70.8333333333%}.el-col-lg-pull-17{position:relative;right:70.8333333333%}.el-col-lg-push-17{left:70.8333333333%;position:relative}.el-col-lg-18{display:block;flex:0 0 75%;max-width:75%}.el-col-lg-18.is-guttered{display:block}.el-col-lg-offset-18{margin-left:75%}.el-col-lg-pull-18{position:relative;right:75%}.el-col-lg-push-18{left:75%;position:relative}.el-col-lg-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-lg-19.is-guttered{display:block}.el-col-lg-offset-19{margin-left:79.1666666667%}.el-col-lg-pull-19{position:relative;right:79.1666666667%}.el-col-lg-push-19{left:79.1666666667%;position:relative}.el-col-lg-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-lg-20.is-guttered{display:block}.el-col-lg-offset-20{margin-left:83.3333333333%}.el-col-lg-pull-20{position:relative;right:83.3333333333%}.el-col-lg-push-20{left:83.3333333333%;position:relative}.el-col-lg-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-lg-21.is-guttered{display:block}.el-col-lg-offset-21{margin-left:87.5%}.el-col-lg-pull-21{position:relative;right:87.5%}.el-col-lg-push-21{left:87.5%;position:relative}.el-col-lg-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-lg-22.is-guttered{display:block}.el-col-lg-offset-22{margin-left:91.6666666667%}.el-col-lg-pull-22{position:relative;right:91.6666666667%}.el-col-lg-push-22{left:91.6666666667%;position:relative}.el-col-lg-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-lg-23.is-guttered{display:block}.el-col-lg-offset-23{margin-left:95.8333333333%}.el-col-lg-pull-23{position:relative;right:95.8333333333%}.el-col-lg-push-23{left:95.8333333333%;position:relative}.el-col-lg-24{display:block;flex:0 0 100%;max-width:100%}.el-col-lg-24.is-guttered{display:block}.el-col-lg-offset-24{margin-left:100%}.el-col-lg-pull-24{position:relative;right:100%}.el-col-lg-push-24{left:100%;position:relative}}@media only screen and (min-width:1920px){.el-col-xl-0{display:none;flex:0 0 0%;max-width:0}.el-col-xl-0.is-guttered{display:none}.el-col-xl-offset-0{margin-left:0}.el-col-xl-pull-0{position:relative;right:0}.el-col-xl-push-0{left:0;position:relative}.el-col-xl-1{flex:0 0 4.1666666667%;max-width:4.1666666667%}.el-col-xl-1,.el-col-xl-1.is-guttered{display:block}.el-col-xl-offset-1{margin-left:4.1666666667%}.el-col-xl-pull-1{position:relative;right:4.1666666667%}.el-col-xl-push-1{left:4.1666666667%;position:relative}.el-col-xl-2{flex:0 0 8.3333333333%;max-width:8.3333333333%}.el-col-xl-2,.el-col-xl-2.is-guttered{display:block}.el-col-xl-offset-2{margin-left:8.3333333333%}.el-col-xl-pull-2{position:relative;right:8.3333333333%}.el-col-xl-push-2{left:8.3333333333%;position:relative}.el-col-xl-3{flex:0 0 12.5%;max-width:12.5%}.el-col-xl-3,.el-col-xl-3.is-guttered{display:block}.el-col-xl-offset-3{margin-left:12.5%}.el-col-xl-pull-3{position:relative;right:12.5%}.el-col-xl-push-3{left:12.5%;position:relative}.el-col-xl-4{flex:0 0 16.6666666667%;max-width:16.6666666667%}.el-col-xl-4,.el-col-xl-4.is-guttered{display:block}.el-col-xl-offset-4{margin-left:16.6666666667%}.el-col-xl-pull-4{position:relative;right:16.6666666667%}.el-col-xl-push-4{left:16.6666666667%;position:relative}.el-col-xl-5{flex:0 0 20.8333333333%;max-width:20.8333333333%}.el-col-xl-5,.el-col-xl-5.is-guttered{display:block}.el-col-xl-offset-5{margin-left:20.8333333333%}.el-col-xl-pull-5{position:relative;right:20.8333333333%}.el-col-xl-push-5{left:20.8333333333%;position:relative}.el-col-xl-6{flex:0 0 25%;max-width:25%}.el-col-xl-6,.el-col-xl-6.is-guttered{display:block}.el-col-xl-offset-6{margin-left:25%}.el-col-xl-pull-6{position:relative;right:25%}.el-col-xl-push-6{left:25%;position:relative}.el-col-xl-7{flex:0 0 29.1666666667%;max-width:29.1666666667%}.el-col-xl-7,.el-col-xl-7.is-guttered{display:block}.el-col-xl-offset-7{margin-left:29.1666666667%}.el-col-xl-pull-7{position:relative;right:29.1666666667%}.el-col-xl-push-7{left:29.1666666667%;position:relative}.el-col-xl-8{flex:0 0 33.3333333333%;max-width:33.3333333333%}.el-col-xl-8,.el-col-xl-8.is-guttered{display:block}.el-col-xl-offset-8{margin-left:33.3333333333%}.el-col-xl-pull-8{position:relative;right:33.3333333333%}.el-col-xl-push-8{left:33.3333333333%;position:relative}.el-col-xl-9{flex:0 0 37.5%;max-width:37.5%}.el-col-xl-9,.el-col-xl-9.is-guttered{display:block}.el-col-xl-offset-9{margin-left:37.5%}.el-col-xl-pull-9{position:relative;right:37.5%}.el-col-xl-push-9{left:37.5%;position:relative}.el-col-xl-10{display:block;flex:0 0 41.6666666667%;max-width:41.6666666667%}.el-col-xl-10.is-guttered{display:block}.el-col-xl-offset-10{margin-left:41.6666666667%}.el-col-xl-pull-10{position:relative;right:41.6666666667%}.el-col-xl-push-10{left:41.6666666667%;position:relative}.el-col-xl-11{display:block;flex:0 0 45.8333333333%;max-width:45.8333333333%}.el-col-xl-11.is-guttered{display:block}.el-col-xl-offset-11{margin-left:45.8333333333%}.el-col-xl-pull-11{position:relative;right:45.8333333333%}.el-col-xl-push-11{left:45.8333333333%;position:relative}.el-col-xl-12{display:block;flex:0 0 50%;max-width:50%}.el-col-xl-12.is-guttered{display:block}.el-col-xl-offset-12{margin-left:50%}.el-col-xl-pull-12{position:relative;right:50%}.el-col-xl-push-12{left:50%;position:relative}.el-col-xl-13{display:block;flex:0 0 54.1666666667%;max-width:54.1666666667%}.el-col-xl-13.is-guttered{display:block}.el-col-xl-offset-13{margin-left:54.1666666667%}.el-col-xl-pull-13{position:relative;right:54.1666666667%}.el-col-xl-push-13{left:54.1666666667%;position:relative}.el-col-xl-14{display:block;flex:0 0 58.3333333333%;max-width:58.3333333333%}.el-col-xl-14.is-guttered{display:block}.el-col-xl-offset-14{margin-left:58.3333333333%}.el-col-xl-pull-14{position:relative;right:58.3333333333%}.el-col-xl-push-14{left:58.3333333333%;position:relative}.el-col-xl-15{display:block;flex:0 0 62.5%;max-width:62.5%}.el-col-xl-15.is-guttered{display:block}.el-col-xl-offset-15{margin-left:62.5%}.el-col-xl-pull-15{position:relative;right:62.5%}.el-col-xl-push-15{left:62.5%;position:relative}.el-col-xl-16{display:block;flex:0 0 66.6666666667%;max-width:66.6666666667%}.el-col-xl-16.is-guttered{display:block}.el-col-xl-offset-16{margin-left:66.6666666667%}.el-col-xl-pull-16{position:relative;right:66.6666666667%}.el-col-xl-push-16{left:66.6666666667%;position:relative}.el-col-xl-17{display:block;flex:0 0 70.8333333333%;max-width:70.8333333333%}.el-col-xl-17.is-guttered{display:block}.el-col-xl-offset-17{margin-left:70.8333333333%}.el-col-xl-pull-17{position:relative;right:70.8333333333%}.el-col-xl-push-17{left:70.8333333333%;position:relative}.el-col-xl-18{display:block;flex:0 0 75%;max-width:75%}.el-col-xl-18.is-guttered{display:block}.el-col-xl-offset-18{margin-left:75%}.el-col-xl-pull-18{position:relative;right:75%}.el-col-xl-push-18{left:75%;position:relative}.el-col-xl-19{display:block;flex:0 0 79.1666666667%;max-width:79.1666666667%}.el-col-xl-19.is-guttered{display:block}.el-col-xl-offset-19{margin-left:79.1666666667%}.el-col-xl-pull-19{position:relative;right:79.1666666667%}.el-col-xl-push-19{left:79.1666666667%;position:relative}.el-col-xl-20{display:block;flex:0 0 83.3333333333%;max-width:83.3333333333%}.el-col-xl-20.is-guttered{display:block}.el-col-xl-offset-20{margin-left:83.3333333333%}.el-col-xl-pull-20{position:relative;right:83.3333333333%}.el-col-xl-push-20{left:83.3333333333%;position:relative}.el-col-xl-21{display:block;flex:0 0 87.5%;max-width:87.5%}.el-col-xl-21.is-guttered{display:block}.el-col-xl-offset-21{margin-left:87.5%}.el-col-xl-pull-21{position:relative;right:87.5%}.el-col-xl-push-21{left:87.5%;position:relative}.el-col-xl-22{display:block;flex:0 0 91.6666666667%;max-width:91.6666666667%}.el-col-xl-22.is-guttered{display:block}.el-col-xl-offset-22{margin-left:91.6666666667%}.el-col-xl-pull-22{position:relative;right:91.6666666667%}.el-col-xl-push-22{left:91.6666666667%;position:relative}.el-col-xl-23{display:block;flex:0 0 95.8333333333%;max-width:95.8333333333%}.el-col-xl-23.is-guttered{display:block}.el-col-xl-offset-23{margin-left:95.8333333333%}.el-col-xl-pull-23{position:relative;right:95.8333333333%}.el-col-xl-push-23{left:95.8333333333%;position:relative}.el-col-xl-24{display:block;flex:0 0 100%;max-width:100%}.el-col-xl-24.is-guttered{display:block}.el-col-xl-offset-24{margin-left:100%}.el-col-xl-pull-24{position:relative;right:100%}.el-col-xl-push-24{left:100%;position:relative}}.el-collapse{--el-collapse-border-color:var(--el-border-color-lighter);--el-collapse-header-height:48px;--el-collapse-header-bg-color:var(--el-fill-color-blank);--el-collapse-header-text-color:var(--el-text-color-primary);--el-collapse-header-font-size:13px;--el-collapse-content-bg-color:var(--el-fill-color-blank);--el-collapse-content-font-size:13px;--el-collapse-content-text-color:var(--el-text-color-primary);border-bottom:1px solid var(--el-collapse-border-color);border-top:1px solid var(--el-collapse-border-color)}.el-collapse-item.is-disabled .el-collapse-item__header{color:var(--el-text-color-disabled);cursor:not-allowed}.el-collapse-item__header{align-items:center;background-color:var(--el-collapse-header-bg-color);border:none;border-bottom:1px solid var(--el-collapse-border-color);color:var(--el-collapse-header-text-color);cursor:pointer;display:flex;font-size:var(--el-collapse-header-font-size);font-weight:500;height:var(--el-collapse-header-height);line-height:var(--el-collapse-header-height);outline:none;padding:0;transition:border-bottom-color var(--el-transition-duration);width:100%}.el-collapse-item__arrow{font-weight:300;margin:0 8px 0 auto;transition:transform var(--el-transition-duration)}.el-collapse-item__arrow.is-active{transform:rotate(90deg)}.el-collapse-item__header.focusing:focus:not(:hover){color:var(--el-color-primary)}.el-collapse-item__header.is-active{border-bottom-color:transparent}.el-collapse-item__wrap{background-color:var(--el-collapse-content-bg-color);border-bottom:1px solid var(--el-collapse-border-color);box-sizing:border-box;overflow:hidden;will-change:height}.el-collapse-item__content{color:var(--el-collapse-content-text-color);font-size:var(--el-collapse-content-font-size);line-height:1.7692307692;padding-bottom:25px}.el-collapse-item:last-child{margin-bottom:-1px}.el-color-predefine{display:flex;font-size:12px;margin-top:8px;width:280px}.el-color-predefine__colors{display:flex;flex:1;flex-wrap:wrap}.el-color-predefine__color-selector{border-radius:4px;cursor:pointer;height:20px;margin:0 0 8px 8px;width:20px}.el-color-predefine__color-selector:nth-child(10n+1){margin-left:0}.el-color-predefine__color-selector.selected{box-shadow:0 0 3px 2px var(--el-color-primary)}.el-color-predefine__color-selector>div{border-radius:3px;display:flex;height:100%}.el-color-predefine__color-selector.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.el-color-hue-slider{background-color:#f00;box-sizing:border-box;float:right;height:12px;padding:0 2px;position:relative;width:280px}.el-color-hue-slider__bar{background:linear-gradient(90deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00);height:100%;position:relative}.el-color-hue-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-hue-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-hue-slider.is-vertical{height:180px;padding:2px 0;width:12px}.el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:linear-gradient(180deg,#f00 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,#f00)}.el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-svpanel{height:180px;position:relative;width:280px}.el-color-svpanel__black,.el-color-svpanel__white{bottom:0;left:0;position:absolute;right:0;top:0}.el-color-svpanel__white{background:linear-gradient(90deg,#fff,rgba(255,255,255,0))}.el-color-svpanel__black{background:linear-gradient(0deg,#000,rgba(0,0,0,0))}.el-color-svpanel__cursor{position:absolute}.el-color-svpanel__cursor>div{border-radius:50%;box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);cursor:head;height:4px;transform:translate(-2px,-2px);width:4px}.el-color-alpha-slider{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px;box-sizing:border-box;height:12px;position:relative;width:280px}.el-color-alpha-slider__bar{background:linear-gradient(to right,rgba(255,255,255,0) 0,var(--el-bg-color) 100%);height:100%;position:relative}.el-color-alpha-slider__thumb{background:#fff;border:1px solid var(--el-border-color-lighter);border-radius:1px;box-shadow:0 0 2px rgba(0,0,0,.6);box-sizing:border-box;cursor:pointer;height:100%;left:0;position:absolute;top:0;width:4px;z-index:1}.el-color-alpha-slider__thumb:focus-visible{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-alpha-slider.is-vertical{height:180px;width:20px}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:linear-gradient(180deg,rgba(255,255,255,0) 0,rgb(255,255,255))}.el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{height:4px;left:0;top:0;width:100%}.el-color-dropdown{width:300px}.el-color-dropdown__main-wrapper{margin-bottom:6px}.el-color-dropdown__main-wrapper:after{clear:both;content:"";display:table}.el-color-dropdown__btns{margin-top:12px;text-align:right}.el-color-dropdown__value{color:#000000;float:left;font-size:12px;line-height:26px;width:160px}.el-color-picker{display:inline-block;line-height:normal;outline:none;position:relative}.el-color-picker:hover:not(.is-disabled,.is-focused) .el-color-picker__trigger{border-color:var(--el-border-color-hover)}.el-color-picker:focus-visible:not(.is-disabled) .el-color-picker__trigger{outline:2px solid var(--el-color-primary);outline-offset:1px}.el-color-picker.is-focused .el-color-picker__trigger{border-color:var(--el-color-primary)}.el-color-picker.is-disabled{pointer-events:none}.el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.el-color-picker--large{height:40px}.el-color-picker--large .el-color-picker__trigger{height:40px;width:40px}.el-color-picker--large .el-color-picker__mask{height:38px;width:38px}.el-color-picker--small{height:24px}.el-color-picker--small .el-color-picker__trigger{height:24px;width:24px}.el-color-picker--small .el-color-picker__mask{height:22px;width:22px}.el-color-picker--small .el-color-picker__empty,.el-color-picker--small .el-color-picker__icon{transform:scale(.8)}.el-color-picker__mask{background-color:rgba(255,255,255,.7);border-radius:4px;cursor:not-allowed;height:30px;left:1px;position:absolute;top:1px;width:30px;z-index:1}.el-color-picker__trigger{align-items:center;border:1px solid var(--el-border-color);border-radius:4px;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:0;height:32px;justify-content:center;padding:4px;position:relative;width:32px}.el-color-picker__color{border:1px solid var(--el-text-color-secondary);border-radius:var(--el-border-radius-small);box-sizing:border-box;display:block;height:100%;position:relative;text-align:center;width:100%}.el-color-picker__color.is-alpha{background-image:linear-gradient(45deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-a) 25%,var(--el-color-picker-alpha-bg-b) 25%),linear-gradient(45deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%),linear-gradient(135deg,var(--el-color-picker-alpha-bg-b) 75%,var(--el-color-picker-alpha-bg-a) 75%);background-position:0 0,6px 0,6px -6px,0 6px;background-size:12px 12px}.el-color-picker__color-inner{align-items:center;display:inline-flex;height:100%;justify-content:center;width:100%}.el-color-picker .el-color-picker__empty{color:var(--el-text-color-secondary);font-size:12px}.el-color-picker .el-color-picker__icon{align-items:center;color:#ffffff;display:inline-flex;font-size:12px;justify-content:center}.el-color-picker__panel{background-color:#ffffff;border-radius:var(--el-border-radius-base);box-shadow:var(--el-box-shadow-light);box-sizing:content-box;padding:6px;position:absolute;z-index:10}.el-color-picker__panel.el-popper{border:1px solid var(--el-border-color-lighter)}.el-color-picker,.el-color-picker__panel{--el-color-picker-alpha-bg-a:#ccc;--el-color-picker-alpha-bg-b:transparent}.dark .el-color-picker,.dark .el-color-picker__panel{--el-color-picker-alpha-bg-a:#333333}.el-container{box-sizing:border-box;display:flex;flex:1;flex-basis:auto;flex-direction:row;min-width:0}.el-container.is-vertical{flex-direction:column}.el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-date-table.is-week-mode .el-date-table__row:hover .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:var(--el-datepicker-text-color)}.el-date-table.is-week-mode .el-date-table__row:hover td:first-child .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table.is-week-mode .el-date-table__row:hover td:last-child .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table.is-week-mode .el-date-table__row.current .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td{box-sizing:border-box;cursor:pointer;height:30px;padding:4px 0;position:relative;text-align:center;width:32px}.el-date-table td .el-date-table-cell{box-sizing:border-box;height:30px;padding:3px 0}.el-date-table td .el-date-table-cell .el-date-table-cell__text{border-radius:50%;display:block;height:24px;left:50%;line-height:24px;margin:0 auto;position:absolute;transform:translateX(-50%);width:24px}.el-date-table td.next-month,.el-date-table td.prev-month{color:var(--el-datepicker-off-text-color)}.el-date-table td.today{position:relative}.el-date-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-date-table td.today.end-date .el-date-table-cell__text,.el-date-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-date-table td.available:hover{color:var(--el-datepicker-hover-text-color)}.el-date-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-date-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-date-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-date-table td.current:not(.disabled):focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-date-table td.end-date .el-date-table-cell,.el-date-table td.start-date .el-date-table-cell{color:#ffffff}.el-date-table td.end-date .el-date-table-cell__text,.el-date-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color)}.el-date-table td.start-date .el-date-table-cell{border-bottom-left-radius:15px;border-top-left-radius:15px;margin-left:5px}.el-date-table td.end-date .el-date-table-cell{border-bottom-right-radius:15px;border-top-right-radius:15px;margin-right:5px}.el-date-table td.disabled .el-date-table-cell{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;opacity:1}.el-date-table td.selected .el-date-table-cell{border-radius:15px;margin-left:5px;margin-right:5px}.el-date-table td.selected .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);border-radius:15px;color:#ffffff}.el-date-table td.week{color:var(--el-datepicker-header-text-color);font-size:80%}.el-date-table td:focus{outline:none}.el-date-table th{border-bottom:1px solid var(--el-border-color-lighter);color:var(--el-datepicker-header-text-color);font-weight:400;padding:5px}.el-month-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-month-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-month-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-month-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-month-table td.today.end-date .el-date-table-cell__text,.el-month-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-month-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-month-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-month-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:54px}.el-month-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-month-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-month-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-month-table td.end-date .el-date-table-cell,.el-month-table td.start-date .el-date-table-cell{color:#ffffff}.el-month-table td.end-date .el-date-table-cell__text,.el-month-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px;margin-left:3px}.el-month-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell{border-radius:24px;margin-left:3px;margin-right:3px}.el-month-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-month-table td:focus-visible{outline:none}.el-month-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-year-table{border-collapse:collapse;font-size:12px;margin:-1px}.el-year-table .el-icon{color:var(--el-datepicker-icon-color)}.el-year-table td{cursor:pointer;padding:8px 0;position:relative;text-align:center;width:68px}.el-year-table td .el-date-table-cell{box-sizing:border-box;height:48px;padding:6px 0}.el-year-table td.today .el-date-table-cell__text{color:var(--el-color-primary);font-weight:bold}.el-year-table td.today.end-date .el-date-table-cell__text,.el-year-table td.today.start-date .el-date-table-cell__text{color:#ffffff}.el-year-table td.disabled .el-date-table-cell__text{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed}.el-year-table td.disabled .el-date-table-cell__text:hover{color:var(--el-text-color-placeholder)}.el-year-table td .el-date-table-cell__text{border-radius:18px;color:var(--el-datepicker-text-color);display:block;height:36px;left:50%;line-height:36px;margin:0 auto;position:absolute;transform:translateX(-50%);width:60px}.el-year-table td .el-date-table-cell__text:hover{color:var(--el-datepicker-hover-text-color)}.el-year-table td.in-range .el-date-table-cell{background-color:var(--el-datepicker-inrange-bg-color)}.el-year-table td.in-range .el-date-table-cell:hover{background-color:var(--el-datepicker-inrange-hover-bg-color)}.el-year-table td.end-date .el-date-table-cell,.el-year-table td.start-date .el-date-table-cell{color:#ffffff}.el-year-table td.end-date .el-date-table-cell__text,.el-year-table td.start-date .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td.start-date .el-date-table-cell{border-bottom-left-radius:24px;border-top-left-radius:24px}.el-year-table td.end-date .el-date-table-cell{border-bottom-right-radius:24px;border-top-right-radius:24px}.el-year-table td.current:not(.disabled) .el-date-table-cell__text{background-color:var(--el-datepicker-active-color);color:#ffffff}.el-year-table td:focus-visible{outline:none}.el-year-table td:focus-visible .el-date-table-cell__text{outline:2px solid var(--el-datepicker-active-color);outline-offset:1px}.el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.el-time-spinner__wrapper{display:inline-block;max-height:192px;overflow:auto;position:relative;vertical-align:top;width:50%}.el-time-spinner__wrapper.el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.el-time-spinner__wrapper.is-arrow{box-sizing:border-box;overflow:hidden;text-align:center}.el-time-spinner__wrapper.is-arrow .el-time-spinner__list{transform:translateY(-32px)}.el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:default}.el-time-spinner__arrow{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;height:30px;left:0;line-height:30px;position:absolute;text-align:center;width:100%;z-index:var(--el-index-normal)}.el-time-spinner__arrow:hover{color:var(--el-color-primary)}.el-time-spinner__arrow.arrow-up{top:10px}.el-time-spinner__arrow.arrow-down{bottom:10px}.el-time-spinner__input.el-input{width:70%}.el-time-spinner__input.el-input .el-input__inner,.el-time-spinner__list{padding:0;text-align:center}.el-time-spinner__list{list-style:none;margin:0}.el-time-spinner__list:after,.el-time-spinner__list:before{content:"";display:block;height:80px;width:100%}.el-time-spinner__item{color:var(--el-text-color-regular);font-size:12px;height:32px;line-height:32px}.el-time-spinner__item:hover:not(.is-disabled):not(.is-active){background:var(--el-fill-color-light);cursor:pointer}.el-time-spinner__item.is-active:not(.is-disabled){color:var(--el-text-color-primary);font-weight:bold}.el-time-spinner__item.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-picker__popper{--el-datepicker-border-color:var(--el-disabled-border-color)}.el-picker__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-picker__popper.el-popper,.el-picker__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-datepicker-border-color)}.el-picker__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-picker__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-date-editor{--el-date-editor-width:220px;--el-date-editor-monthrange-width:300px;--el-date-editor-daterange-width:350px;--el-date-editor-datetimerange-width:400px;--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;position:relative;text-align:left;vertical-align:middle}.el-date-editor.el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset}.el-date-editor.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-date-editor.el-input,.el-date-editor.el-input__wrapper{height:var(--el-input-height,var(--el-component-size));width:var(--el-date-editor-width)}.el-date-editor--monthrange{--el-date-editor-width:var(--el-date-editor-monthrange-width)}.el-date-editor--daterange,.el-date-editor--timerange{--el-date-editor-width:var(--el-date-editor-daterange-width)}.el-date-editor--datetimerange{--el-date-editor-width:var(--el-date-editor-datetimerange-width)}.el-date-editor--dates .el-input__wrapper{text-overflow:ellipsis;white-space:nowrap}.el-date-editor .clear-icon,.el-date-editor .close-icon{cursor:pointer}.el-date-editor .clear-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__icon{color:var(--el-text-color-placeholder);float:left;font-size:14px;height:inherit}.el-date-editor .el-range__icon svg{vertical-align:middle}.el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-text-color-regular);display:inline-block;font-size:var(--el-font-size-base);height:30px;line-height:30px;margin:0;outline:none;padding:0;text-align:center;width:39%}.el-date-editor .el-range-input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-input::placeholder{color:var(--el-text-color-placeholder)}.el-date-editor .el-range-separator{align-items:center;color:var(--el-text-color-primary);display:inline-flex;flex:1;font-size:14px;height:100%;justify-content:center;margin:0;overflow-wrap:break-word;padding:0 5px}.el-date-editor .el-range__close-icon{color:var(--el-text-color-placeholder);cursor:pointer;font-size:14px;height:inherit;width:unset}.el-date-editor .el-range__close-icon:hover{color:var(--el-text-color-secondary)}.el-date-editor .el-range__close-icon svg{vertical-align:middle}.el-date-editor .el-range__close-icon--hidden{opacity:0;visibility:hidden}.el-range-editor.el-input__wrapper{align-items:center;display:inline-flex;padding:0 10px;vertical-align:middle}.el-range-editor.is-active,.el-range-editor.is-active:hover{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-range-editor--large{line-height:var(--el-component-size-large)}.el-range-editor--large.el-input__wrapper{height:var(--el-component-size-large)}.el-range-editor--large .el-range-separator{font-size:14px;line-height:40px}.el-range-editor--large .el-range-input{font-size:14px;height:38px;line-height:38px}.el-range-editor--small{line-height:var(--el-component-size-small)}.el-range-editor--small.el-input__wrapper{height:var(--el-component-size-small)}.el-range-editor--small .el-range-separator{font-size:12px;line-height:24px}.el-range-editor--small .el-range-input{font-size:12px;height:22px;line-height:22px}.el-range-editor.is-disabled{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed;pointer-events:none}.el-range-editor.is-disabled,.el-range-editor.is-disabled:focus,.el-range-editor.is-disabled:hover{border-color:var(--el-disabled-border-color)}.el-range-editor.is-disabled input{background-color:var(--el-disabled-bg-color);color:var(--el-disabled-text-color);cursor:not-allowed}.el-range-editor.is-disabled input::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled input::placeholder{color:var(--el-text-color-placeholder)}.el-range-editor.is-disabled .el-range-separator{color:var(--el-disabled-text-color)}.el-picker-panel{background:var(--el-bg-color-overlay);border-radius:var(--el-border-radius-base);color:var(--el-text-color-regular);line-height:30px}.el-picker-panel .el-time-panel{background-color:var(--el-bg-color-overlay);border:1px solid var(--el-datepicker-border-color);box-shadow:var(--el-box-shadow-light);margin:5px 0}.el-picker-panel__body-wrapper:after,.el-picker-panel__body:after{clear:both;content:"";display:table}.el-picker-panel__content{margin:15px;position:relative}.el-picker-panel__footer{background-color:var(--el-bg-color-overlay);border-top:1px solid var(--el-datepicker-inner-border-color);font-size:0;padding:4px 12px;position:relative;text-align:right}.el-picker-panel__shortcut{background-color:transparent;border:0;color:var(--el-datepicker-text-color);cursor:pointer;display:block;font-size:14px;line-height:28px;outline:none;padding-left:12px;text-align:left;width:100%}.el-picker-panel__shortcut:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__shortcut.active{background-color:#e6f1fe;color:var(--el-datepicker-active-color)}.el-picker-panel__btn{background-color:transparent;border:1px solid var(--el-fill-color-darker);border-radius:2px;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:24px;outline:none;padding:0 20px}.el-picker-panel__btn[disabled]{color:var(--el-text-color-disabled);cursor:not-allowed}.el-picker-panel__icon-btn{background:transparent;border:0;color:var(--el-datepicker-icon-color);cursor:pointer;font-size:12px;margin-top:8px;outline:none}.el-picker-panel__icon-btn:hover{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn:focus-visible{color:var(--el-datepicker-hover-text-color)}.el-picker-panel__icon-btn.is-disabled{color:var(--el-text-color-disabled)}.el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.el-picker-panel__icon-btn .el-icon{cursor:pointer;font-size:inherit}.el-picker-panel__link-btn{vertical-align:middle}.el-picker-panel [slot=sidebar],.el-picker-panel__sidebar{background-color:var(--el-bg-color-overlay);border-right:1px solid var(--el-datepicker-inner-border-color);bottom:0;box-sizing:border-box;overflow:auto;padding-top:6px;position:absolute;top:0;width:110px}.el-picker-panel [slot=sidebar]+.el-picker-panel__body,.el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.el-date-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:322px}.el-date-picker.has-sidebar.has-time{width:434px}.el-date-picker.has-sidebar{width:438px}.el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-picker .el-picker-panel__content{width:292px}.el-date-picker table{table-layout:fixed;width:100%}.el-date-picker__editor-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-picker__header{padding:12px 12px 0;text-align:center}.el-date-picker__header--bordered{border-bottom:1px solid var(--el-border-color-lighter);margin-bottom:0;padding-bottom:12px}.el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.el-date-picker__header-label{color:var(--el-text-color-regular);cursor:pointer;font-size:16px;font-weight:500;line-height:22px;padding:0 5px;text-align:center}.el-date-picker__header-label:hover{color:var(--el-datepicker-hover-text-color)}.el-date-picker__header-label:focus-visible{color:var(--el-datepicker-hover-text-color);outline:none}.el-date-picker__header-label.active{color:var(--el-datepicker-active-color)}.el-date-picker__prev-btn{float:left}.el-date-picker__next-btn{float:right}.el-date-picker__time-wrap{padding:10px;text-align:center}.el-date-picker__time-label{cursor:pointer;float:left;line-height:30px;margin-left:10px}.el-date-picker .el-time-panel{position:absolute}.el-date-range-picker{--el-datepicker-text-color:var(--el-text-color-regular);--el-datepicker-off-text-color:var(--el-text-color-placeholder);--el-datepicker-header-text-color:var(--el-text-color-regular);--el-datepicker-icon-color:var(--el-text-color-primary);--el-datepicker-border-color:var(--el-disabled-border-color);--el-datepicker-inner-border-color:var(--el-border-color-light);--el-datepicker-inrange-bg-color:var(--el-border-color-extra-light);--el-datepicker-inrange-hover-bg-color:var(--el-border-color-extra-light);--el-datepicker-active-color:var(--el-color-primary);--el-datepicker-hover-text-color:var(--el-color-primary);width:646px}.el-date-range-picker.has-sidebar{width:756px}.el-date-range-picker.has-time .el-picker-panel__body-wrapper{position:relative}.el-date-range-picker table{table-layout:fixed;width:100%}.el-date-range-picker .el-picker-panel__body{min-width:513px}.el-date-range-picker .el-picker-panel__content{margin:0}.el-date-range-picker__header{height:28px;position:relative;text-align:center}.el-date-range-picker__header [class*=arrow-left]{float:left}.el-date-range-picker__header [class*=arrow-right]{float:right}.el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.el-date-range-picker__content{box-sizing:border-box;float:left;margin:0;padding:16px;width:50%}.el-date-range-picker__content.is-left{border-right:1px solid var(--el-datepicker-inner-border-color)}.el-date-range-picker__content .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.el-date-range-picker__editors-wrap{box-sizing:border-box;display:table-cell}.el-date-range-picker__editors-wrap.is-right{text-align:right}.el-date-range-picker__time-header{border-bottom:1px solid var(--el-datepicker-inner-border-color);box-sizing:border-box;display:table;font-size:12px;padding:8px 5px 5px;position:relative;width:100%}.el-date-range-picker__time-header>.el-icon-arrow-right{color:var(--el-datepicker-icon-color);display:table-cell;font-size:20px;vertical-align:middle}.el-date-range-picker__time-picker-wrap{display:table-cell;padding:0 5px;position:relative}.el-date-range-picker__time-picker-wrap .el-picker-panel{background:#ffffff;position:absolute;right:0;top:13px;z-index:1}.el-date-range-picker__time-picker-wrap .el-time-panel{position:absolute}.el-time-range-picker{overflow:visible;width:354px}.el-time-range-picker__content{padding:10px;position:relative;text-align:center;z-index:1}.el-time-range-picker__cell{box-sizing:border-box;display:inline-block;margin:0;padding:4px 7px 7px;width:50%}.el-time-range-picker__header{font-size:14px;margin-bottom:5px;text-align:center}.el-time-range-picker__body{border:1px solid var(--el-datepicker-border-color);border-radius:2px}.el-time-panel{border-radius:2px;box-sizing:content-box;left:0;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:180px;z-index:var(--el-index-top)}.el-time-panel__content{font-size:0;overflow:hidden;position:relative}.el-time-panel__content:after,.el-time-panel__content:before{box-sizing:border-box;content:"";height:32px;left:0;margin-top:-16px;padding-top:6px;position:absolute;right:0;text-align:left;top:50%;z-index:-1}.el-time-panel__content:after{left:50%;margin-left:12%;margin-right:12%}.el-time-panel__content:before{border-bottom:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);margin-left:12%;margin-right:12%;padding-left:50%}.el-time-panel__content.has-seconds:after{left:66.6666666667%}.el-time-panel__content.has-seconds:before{padding-left:33.3333333333%}.el-time-panel__footer{border-top:1px solid var(--el-timepicker-inner-border-color,var(--el-border-color-light));box-sizing:border-box;height:36px;line-height:25px;padding:4px;text-align:right}.el-time-panel__btn{background-color:transparent;border:none;color:var(--el-text-color-primary);cursor:pointer;font-size:12px;line-height:28px;margin:0 5px;outline:none;padding:0 5px}.el-time-panel__btn.confirm{color:var(--el-timepicker-active-color,var(--el-color-primary));font-weight:800}.el-descriptions{--el-descriptions-table-border:1px solid var(--el-border-color-lighter);--el-descriptions-item-bordered-label-background:var(--el-fill-color-light);box-sizing:border-box;color:var(--el-text-color-primary);font-size:var(--el-font-size-base)}.el-descriptions__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.el-descriptions__title{color:var(--el-text-color-primary);font-size:16px;font-weight:bold}.el-descriptions__body{background-color:var(--el-fill-color-blank)}.el-descriptions__body .el-descriptions__table{border-collapse:collapse;width:100%}.el-descriptions__body .el-descriptions__table .el-descriptions__cell{box-sizing:border-box;font-size:14px;font-weight:normal;line-height:23px;text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-left{text-align:left}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-center{text-align:center}.el-descriptions__body .el-descriptions__table .el-descriptions__cell.is-right{text-align:right}.el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{border:var(--el-descriptions-table-border);padding:8px 11px}.el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:12px}.el-descriptions--large{font-size:14px}.el-descriptions--large .el-descriptions__header{margin-bottom:20px}.el-descriptions--large .el-descriptions__header .el-descriptions__title{font-size:16px}.el-descriptions--large .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:14px}.el-descriptions--large .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:12px 15px}.el-descriptions--large .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:16px}.el-descriptions--small{font-size:12px}.el-descriptions--small .el-descriptions__header{margin-bottom:12px}.el-descriptions--small .el-descriptions__header .el-descriptions__title{font-size:14px}.el-descriptions--small .el-descriptions__body .el-descriptions__table .el-descriptions__cell{font-size:12px}.el-descriptions--small .el-descriptions__body .el-descriptions__table.is-bordered .el-descriptions__cell{padding:4px 7px}.el-descriptions--small .el-descriptions__body .el-descriptions__table:not(.is-bordered) .el-descriptions__cell{padding-bottom:8px}.el-descriptions__label.el-descriptions__cell.is-bordered-label{background:var(--el-descriptions-item-bordered-label-background);color:var(--el-text-color-regular);font-weight:bold}.el-descriptions__label:not(.is-bordered-label){color:var(--el-text-color-primary);margin-right:16px}.el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:6px}.el-descriptions__content.el-descriptions__cell.is-bordered-content{color:var(--el-text-color-primary)}.el-descriptions__content:not(.is-bordered-label){color:var(--el-text-color-regular)}.el-descriptions--large .el-descriptions__label:not(.is-bordered-label){margin-right:16px}.el-descriptions--large .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:8px}.el-descriptions--small .el-descriptions__label:not(.is-bordered-label){margin-right:12px}.el-descriptions--small .el-descriptions__label.el-descriptions__cell:not(.is-bordered-label).is-vertical-label{padding-bottom:4px}:root{--el-popup-modal-bg-color:var(--el-color-black);--el-popup-modal-opacity:0.5}.v-modal-enter{animation:v-modal-in var(--el-transition-duration-fast) ease}.v-modal-leave{animation:v-modal-out var(--el-transition-duration-fast) ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{to{opacity:0}}.v-modal{background:var(--el-popup-modal-bg-color);height:100%;left:0;opacity:var(--el-popup-modal-opacity);position:fixed;top:0;width:100%}.el-popup-parent--hidden{overflow:hidden}.el-dialog{--el-dialog-width:50%;--el-dialog-margin-top:15vh;--el-dialog-bg-color:var(--el-bg-color);--el-dialog-box-shadow:var(--el-box-shadow);--el-dialog-title-font-size:var(--el-font-size-large);--el-dialog-content-font-size:14px;--el-dialog-font-line-height:var(--el-font-line-height-primary);--el-dialog-padding-primary:16px;--el-dialog-border-radius:var(--el-border-radius-base);background:var(--el-dialog-bg-color);border-radius:var(--el-dialog-border-radius);box-shadow:var(--el-dialog-box-shadow);box-sizing:border-box;margin:var(--el-dialog-margin-top,15vh) auto 50px;overflow-wrap:break-word;padding:var(--el-dialog-padding-primary);position:relative;width:var(--el-dialog-width,50%)}.el-dialog:focus{outline:none!important}.el-dialog.is-align-center{margin:auto}.el-dialog.is-fullscreen{--el-dialog-width:100%;--el-dialog-margin-top:0;border-radius:0;height:100%;margin-bottom:0;overflow:auto}.el-dialog__wrapper{bottom:0;left:0;margin:0;overflow:auto;position:fixed;right:0;top:0}.el-dialog.is-draggable .el-dialog__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-dialog__header{padding-bottom:var(--el-dialog-padding-primary)}.el-dialog__header.show-close{padding-right:calc(var(--el-dialog-padding-primary) + var(--el-message-close-size, 16px))}.el-dialog__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:48px;outline:none;padding:0;position:absolute;right:0;top:0;width:48px}.el-dialog__headerbtn .el-dialog__close{color:var(--el-color-info);font-size:inherit}.el-dialog__headerbtn:focus .el-dialog__close,.el-dialog__headerbtn:hover .el-dialog__close{color:var(--el-color-primary)}.el-dialog__title{color:var(--el-text-color-primary);font-size:var(--el-dialog-title-font-size);line-height:var(--el-dialog-font-line-height)}.el-dialog__body{color:var(--el-text-color-regular);font-size:var(--el-dialog-content-font-size)}.el-dialog__footer{box-sizing:border-box;padding-top:var(--el-dialog-padding-primary);text-align:right}.el-dialog--center{text-align:center}.el-dialog--center .el-dialog__body{text-align:initial}.el-dialog--center .el-dialog__footer{text-align:inherit}.el-overlay-dialog{bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0}.dialog-fade-enter-active{animation:modal-fade-in var(--el-transition-duration)}.dialog-fade-enter-active .el-overlay-dialog{animation:dialog-fade-in var(--el-transition-duration)}.dialog-fade-leave-active{animation:modal-fade-out var(--el-transition-duration)}.dialog-fade-leave-active .el-overlay-dialog{animation:dialog-fade-out var(--el-transition-duration)}@keyframes dialog-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes dialog-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.el-divider{position:relative}.el-divider--horizontal{border-top:1px var(--el-border-color) var(--el-border-style);display:block;height:1px;margin:24px 0;width:100%}.el-divider--vertical{border-left:1px var(--el-border-color) var(--el-border-style);display:inline-block;height:1em;margin:0 8px;position:relative;vertical-align:middle;width:1px}.el-divider__text{background-color:var(--el-bg-color);color:var(--el-text-color-primary);font-size:14px;font-weight:500;padding:0 20px;position:absolute}.el-divider__text.is-left{left:20px;transform:translateY(-50%)}.el-divider__text.is-center{left:50%;transform:translateX(-50%) translateY(-50%)}.el-divider__text.is-right{right:20px;transform:translateY(-50%)}.el-drawer{--el-drawer-bg-color:var(--el-dialog-bg-color,var(--el-bg-color));--el-drawer-padding-primary:var(--el-dialog-padding-primary,20px);background-color:var(--el-drawer-bg-color);box-shadow:var(--el-box-shadow-dark);box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;position:absolute;transition:all var(--el-transition-duration)}.el-drawer .btt,.el-drawer .ltr,.el-drawer .rtl,.el-drawer .ttb{transform:translate(0)}.el-drawer__sr-focus:focus{outline:none!important}.el-drawer__header{align-items:center;color:rgb(114,118,123);display:flex;margin-bottom:32px;padding:var(--el-drawer-padding-primary);padding-bottom:0}.el-drawer__header>:first-child{flex:1}.el-drawer__title{flex:1;font-size:16px;line-height:inherit;margin:0}.el-drawer__footer{padding:var(--el-drawer-padding-primary);padding-top:10px;text-align:right}.el-drawer__close-btn{background-color:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font-size:var(--el-font-size-extra-large);outline:none}.el-drawer__close-btn:focus i,.el-drawer__close-btn:hover i{color:var(--el-color-primary)}.el-drawer__body{flex:1;overflow:auto;padding:var(--el-drawer-padding-primary)}.el-drawer__body>*{box-sizing:border-box}.el-drawer.ltr,.el-drawer.rtl{bottom:0;height:100%;top:0}.el-drawer.btt,.el-drawer.ttb{left:0;right:0;width:100%}.el-drawer.ltr{left:0}.el-drawer.rtl{right:0}.el-drawer.ttb{top:0}.el-drawer.btt{bottom:0}.el-drawer-fade-enter-active,.el-drawer-fade-leave-active{transition:all var(--el-transition-duration)}.el-drawer-fade-enter-active,.el-drawer-fade-enter-from,.el-drawer-fade-enter-to,.el-drawer-fade-leave-active,.el-drawer-fade-leave-from,.el-drawer-fade-leave-to{overflow:hidden!important}.el-drawer-fade-enter-from,.el-drawer-fade-leave-to{background-color:transparent!important}.el-drawer-fade-enter-from .rtl,.el-drawer-fade-leave-to .rtl{transform:translateX(100%)}.el-drawer-fade-enter-from .ltr,.el-drawer-fade-leave-to .ltr{transform:translateX(-100%)}.el-drawer-fade-enter-from .ttb,.el-drawer-fade-leave-to .ttb{transform:translateY(-100%)}.el-drawer-fade-enter-from .btt,.el-drawer-fade-leave-to .btt{transform:translateY(100%)}.el-dropdown{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);line-height:1;position:relative;vertical-align:top}.el-dropdown.is-disabled{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-dropdown__popper{--el-dropdown-menu-box-shadow:var(--el-box-shadow-light);--el-dropdown-menuItem-hover-fill:var(--el-color-primary-light-9);--el-dropdown-menuItem-hover-color:var(--el-color-primary);--el-dropdown-menu-index:10}.el-dropdown__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-dropdown-menu-box-shadow)}.el-dropdown__popper.el-popper,.el-dropdown__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-dropdown__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-dropdown__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-dropdown__popper .el-dropdown-menu{border:none}.el-dropdown__popper .el-dropdown__popper-selfdefine{outline:none}.el-dropdown__popper .el-scrollbar__bar{z-index:calc(var(--el-dropdown-menu-index) + 1)}.el-dropdown__popper .el-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:0}.el-dropdown .el-dropdown__caret-button{align-items:center;border-left:none;display:inline-flex;justify-content:center;padding-left:0;padding-right:0;width:32px}.el-dropdown .el-dropdown__caret-button>span{display:inline-flex}.el-dropdown .el-dropdown__caret-button:before{background:var(--el-overlay-color-lighter);bottom:-1px;content:"";display:block;left:0;position:absolute;top:-1px;width:1px}.el-dropdown .el-dropdown__caret-button.el-button:before{background:var(--el-border-color);opacity:.5}.el-dropdown .el-dropdown__caret-button .el-dropdown__icon{font-size:inherit;padding-left:0}.el-dropdown .el-dropdown-selfdefine{outline:none}.el-dropdown--large .el-dropdown__caret-button{width:40px}.el-dropdown--small .el-dropdown__caret-button{width:24px}.el-dropdown-menu{background-color:var(--el-bg-color-overlay);border:none;border-radius:var(--el-border-radius-base);box-shadow:none;left:0;list-style:none;margin:0;padding:5px 0;position:relative;top:0;z-index:var(--el-dropdown-menu-index)}.el-dropdown-menu__item{align-items:center;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:var(--el-font-size-base);line-height:22px;list-style:none;margin:0;outline:none;padding:5px 16px;white-space:nowrap}.el-dropdown-menu__item:not(.is-disabled):focus,.el-dropdown-menu__item:not(.is-disabled):hover{background-color:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}.el-dropdown-menu__item i{margin-right:5px}.el-dropdown-menu__item--divided{border-top:1px solid var(--el-border-color-lighter);margin:6px 0}.el-dropdown-menu__item.is-disabled{color:var(--el-text-color-disabled);cursor:not-allowed}.el-dropdown-menu--large{padding:7px 0}.el-dropdown-menu--large .el-dropdown-menu__item{font-size:14px;line-height:22px;padding:7px 20px}.el-dropdown-menu--large .el-dropdown-menu__item--divided{margin:8px 0}.el-dropdown-menu--small{padding:3px 0}.el-dropdown-menu--small .el-dropdown-menu__item{font-size:12px;line-height:20px;padding:2px 12px}.el-dropdown-menu--small .el-dropdown-menu__item--divided{margin:4px 0}.el-empty{--el-empty-padding:40px 0;--el-empty-image-width:160px;--el-empty-description-margin-top:20px;--el-empty-bottom-margin-top:20px;--el-empty-fill-color-0:var(--el-color-white);--el-empty-fill-color-1:#fcfcfd;--el-empty-fill-color-2:#f8f9fb;--el-empty-fill-color-3:#f7f8fc;--el-empty-fill-color-4:#eeeff3;--el-empty-fill-color-5:#edeef2;--el-empty-fill-color-6:#e9ebef;--el-empty-fill-color-7:#e5e7e9;--el-empty-fill-color-8:#e0e3e9;--el-empty-fill-color-9:#d5d7de;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-empty-padding);text-align:center}.el-empty__image{width:var(--el-empty-image-width)}.el-empty__image img{height:100%;-o-object-fit:contain;object-fit:contain;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top;width:100%}.el-empty__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:100%;vertical-align:top;width:100%}.el-empty__description{margin-top:var(--el-empty-description-margin-top)}.el-empty__description p{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);margin:0}.el-empty__bottom{margin-top:var(--el-empty-bottom-margin-top)}.el-footer{--el-footer-padding:0 20px;--el-footer-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-footer-height);padding:var(--el-footer-padding)}.el-form{--el-form-label-font-size:var(--el-font-size-base);--el-form-inline-content-width:220px}.el-form--inline .el-form-item{display:inline-flex;margin-right:32px;vertical-align:middle}.el-form--inline.el-form--label-top{display:flex;flex-wrap:wrap}.el-form--inline.el-form--label-top .el-form-item{display:block}.el-form-item{display:flex;--font-size:14px;margin-bottom:18px}.el-form-item .el-form-item{margin-bottom:0}.el-form-item .el-input__validateIcon{display:none}.el-form-item--large{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:22px}.el-form-item--large .el-form-item__label{height:40px;line-height:40px}.el-form-item--large .el-form-item__content{line-height:40px}.el-form-item--large .el-form-item__error{padding-top:4px}.el-form-item--default{--font-size:14px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--default .el-form-item__label{height:32px;line-height:32px}.el-form-item--default .el-form-item__content{line-height:32px}.el-form-item--default .el-form-item__error{padding-top:2px}.el-form-item--small{--font-size:12px;--el-form-label-font-size:var(--font-size);margin-bottom:18px}.el-form-item--small .el-form-item__label{height:24px;line-height:24px}.el-form-item--small .el-form-item__content{line-height:24px}.el-form-item--small .el-form-item__error{padding-top:2px}.el-form-item--label-left .el-form-item__label{justify-content:flex-start}.el-form-item--label-top{display:block}.el-form-item--label-top .el-form-item__label{display:inline-block;height:auto;line-height:22px;margin-bottom:8px;text-align:left;vertical-align:middle}.el-form-item__label-wrap{display:flex}.el-form-item__label{align-items:flex-start;box-sizing:border-box;color:var(--el-text-color-regular);display:inline-flex;flex:0 0 auto;font-size:var(--el-form-label-font-size);height:32px;justify-content:flex-end;line-height:32px;padding:0 12px 0 0}.el-form-item__content{align-items:center;display:flex;flex:1;flex-wrap:wrap;font-size:var(--font-size);line-height:32px;min-width:0;position:relative}.el-form-item__content .el-input-group{vertical-align:top}.el-form-item__error{color:var(--el-color-danger);font-size:12px;left:0;line-height:1;padding-top:2px;position:absolute;top:100%}.el-form-item__error--inline{display:inline-block;left:auto;margin-left:10px;position:relative;top:auto}.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label-wrap>.el-form-item__label:before,.el-form-item.is-required:not(.is-no-asterisk).asterisk-left>.el-form-item__label:before{color:var(--el-color-danger);content:"*";margin-right:4px}.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label-wrap>.el-form-item__label:after,.el-form-item.is-required:not(.is-no-asterisk).asterisk-right>.el-form-item__label:after{color:var(--el-color-danger);content:"*";margin-left:4px}.el-form-item.is-error .el-input-tag__wrapper,.el-form-item.is-error .el-input-tag__wrapper.is-focus,.el-form-item.is-error .el-input-tag__wrapper:focus,.el-form-item.is-error .el-input-tag__wrapper:hover,.el-form-item.is-error .el-input__wrapper,.el-form-item.is-error .el-input__wrapper.is-focus,.el-form-item.is-error .el-input__wrapper:focus,.el-form-item.is-error .el-input__wrapper:hover,.el-form-item.is-error .el-select__wrapper,.el-form-item.is-error .el-select__wrapper.is-focus,.el-form-item.is-error .el-select__wrapper:focus,.el-form-item.is-error .el-select__wrapper:hover,.el-form-item.is-error .el-textarea__inner,.el-form-item.is-error .el-textarea__inner.is-focus,.el-form-item.is-error .el-textarea__inner:focus,.el-form-item.is-error .el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-form-item.is-error .el-input-group__append .el-input__wrapper,.el-form-item.is-error .el-input-group__prepend .el-input__wrapper{box-shadow:inset 0 0 0 1px transparent}.el-form-item.is-error .el-input-group__append .el-input__validateIcon,.el-form-item.is-error .el-input-group__prepend .el-input__validateIcon{display:none}.el-form-item.is-error .el-input__validateIcon{color:var(--el-color-danger)}.el-form-item--feedback .el-input__validateIcon{display:inline-flex}.el-header{--el-header-padding:0 20px;--el-header-height:60px;box-sizing:border-box;flex-shrink:0;height:var(--el-header-height);padding:var(--el-header-padding)}.el-image-viewer__wrapper{bottom:0;left:0;position:fixed;right:0;top:0}.el-image-viewer__wrapper:focus{outline:none!important}.el-image-viewer__btn{align-items:center;border-radius:50%;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;opacity:.8;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.el-image-viewer__btn .el-icon{cursor:pointer;font-size:inherit}.el-image-viewer__close{font-size:40px;height:40px;right:40px;top:40px;width:40px}.el-image-viewer__canvas{align-items:center;display:flex;height:100%;justify-content:center;position:static;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.el-image-viewer__actions{background-color:var(--el-text-color-regular);border-color:#fff;border-radius:22px;bottom:30px;height:44px;left:50%;padding:0 23px;transform:translateX(-50%);width:282px}.el-image-viewer__actions__inner{align-items:center;color:#fff;cursor:default;display:flex;font-size:23px;height:100%;justify-content:space-around;width:100%}.el-image-viewer__prev{left:40px}.el-image-viewer__next,.el-image-viewer__prev{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;top:50%;transform:translateY(-50%);width:44px}.el-image-viewer__next{right:40px;text-indent:2px}.el-image-viewer__close{background-color:var(--el-text-color-regular);border-color:#fff;color:#fff;font-size:24px;height:44px;width:44px}.el-image-viewer__mask{background:#000;height:100%;left:0;opacity:.5;position:absolute;top:0;width:100%}.viewer-fade-enter-active{animation:viewer-fade-in var(--el-transition-duration)}.viewer-fade-leave-active{animation:viewer-fade-out var(--el-transition-duration)}@keyframes viewer-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes viewer-fade-out{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20px,0)}}.el-image__error,.el-image__inner,.el-image__placeholder,.el-image__wrapper{height:100%;width:100%}.el-image{display:inline-block;overflow:hidden;position:relative}.el-image__inner{opacity:1;vertical-align:top}.el-image__inner.is-loading{opacity:0}.el-image__wrapper{left:0;position:absolute;top:0}.el-image__error,.el-image__placeholder{background:var(--el-fill-color-light)}.el-image__error{align-items:center;color:var(--el-text-color-placeholder);display:flex;font-size:14px;justify-content:center;vertical-align:middle}.el-image__preview{cursor:pointer}.el-textarea{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;display:inline-block;font-size:var(--el-font-size-base);position:relative;vertical-align:bottom;width:100%}.el-textarea__inner{-webkit-appearance:none;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));display:block;font-family:inherit;font-size:inherit;line-height:1.5;padding:5px 11px;position:relative;resize:vertical;transition:var(--el-transition-box-shadow);width:100%}.el-textarea__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-textarea__inner:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-textarea__inner:focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset;outline:none}.el-textarea .el-input__count{background:var(--el-fill-color-blank);bottom:5px;color:var(--el-color-info);font-size:12px;line-height:14px;position:absolute;right:10px}.el-textarea.is-disabled .el-textarea__inner{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;color:var(--el-disabled-text-color);cursor:not-allowed}.el-textarea.is-disabled .el-textarea__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-disabled .el-textarea__inner::placeholder{color:var(--el-text-color-placeholder)}.el-textarea.is-exceed .el-textarea__inner{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-textarea.is-exceed .el-input__count{color:var(--el-color-danger)}.el-input{--el-input-text-color:var(--el-text-color-regular);--el-input-border:var(--el-border);--el-input-hover-border:var(--el-border-color-hover);--el-input-focus-border:var(--el-color-primary);--el-input-transparent-border:0 0 0 1px transparent inset;--el-input-border-color:var(--el-border-color);--el-input-border-radius:var(--el-border-radius-base);--el-input-bg-color:var(--el-fill-color-blank);--el-input-icon-color:var(--el-text-color-placeholder);--el-input-placeholder-color:var(--el-text-color-placeholder);--el-input-hover-border-color:var(--el-border-color-hover);--el-input-clear-hover-color:var(--el-text-color-secondary);--el-input-focus-border-color:var(--el-color-primary);--el-input-width:100%;--el-input-height:var(--el-component-size);box-sizing:border-box;display:inline-flex;font-size:var(--el-font-size-base);line-height:var(--el-input-height);position:relative;vertical-align:middle;width:var(--el-input-width)}.el-input::-webkit-scrollbar{width:6px;z-index:11}.el-input::-webkit-scrollbar:horizontal{height:6px}.el-input::-webkit-scrollbar-thumb{background:var(--el-text-color-disabled);border-radius:5px;width:6px}.el-input::-webkit-scrollbar-corner,.el-input::-webkit-scrollbar-track{background:var(--el-fill-color-blank)}.el-input::-webkit-scrollbar-track-piece{background:var(--el-fill-color-blank);width:6px}.el-input .el-input__clear,.el-input .el-input__password{color:var(--el-input-icon-color);cursor:pointer;font-size:14px}.el-input .el-input__clear:hover,.el-input .el-input__password:hover{color:var(--el-input-clear-hover-color)}.el-input .el-input__count{align-items:center;color:var(--el-color-info);display:inline-flex;font-size:12px;height:100%}.el-input .el-input__count .el-input__count-inner{background:var(--el-fill-color-blank);display:inline-block;line-height:normal;padding-left:8px}.el-input__wrapper{align-items:center;background-color:var(--el-input-bg-color,var(--el-fill-color-blank));background-image:none;border-radius:var(--el-input-border-radius,var(--el-border-radius-base));box-shadow:0 0 0 1px var(--el-input-border-color,var(--el-border-color)) inset;cursor:text;display:inline-flex;flex-grow:1;justify-content:center;padding:1px 11px;transform:translateZ(0);transition:var(--el-transition-box-shadow)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--el-input-hover-border-color) inset}.el-input__wrapper.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input{--el-input-inner-height:calc(var(--el-input-height, 32px) - 2px)}.el-input__inner{-webkit-appearance:none;background:none;border:none;box-sizing:border-box;color:var(--el-input-text-color,var(--el-text-color-regular));flex-grow:1;font-size:inherit;height:var(--el-input-inner-height);line-height:var(--el-input-inner-height);outline:none;padding:0;width:100%}.el-input__inner:focus{outline:none}.el-input__inner::-moz-placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner::placeholder{color:var(--el-input-placeholder-color,var(--el-text-color-placeholder))}.el-input__inner[type=password]::-ms-reveal{display:none}.el-input__inner[type=number]{line-height:1}.el-input__prefix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__prefix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__prefix-inner>:last-child{margin-right:8px}.el-input__prefix-inner>:first-child,.el-input__prefix-inner>:first-child.el-input__icon{margin-left:0}.el-input__suffix{color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:inline-flex;flex-shrink:0;flex-wrap:nowrap;height:100%;line-height:var(--el-input-inner-height);pointer-events:none;text-align:center;transition:all var(--el-transition-duration);white-space:nowrap}.el-input__suffix-inner{align-items:center;display:inline-flex;justify-content:center;pointer-events:all}.el-input__suffix-inner>:first-child{margin-left:8px}.el-input .el-input__icon{align-items:center;display:flex;height:inherit;justify-content:center;line-height:inherit;margin-left:8px;transition:all var(--el-transition-duration)}.el-input__validateIcon{pointer-events:none}.el-input.is-active .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-color, ) inset}.el-input.is-disabled{cursor:not-allowed}.el-input.is-disabled .el-input__wrapper{background-color:var(--el-disabled-bg-color);box-shadow:0 0 0 1px var(--el-disabled-border-color) inset;cursor:not-allowed;pointer-events:none}.el-input.is-disabled .el-input__inner{color:var(--el-disabled-text-color);-webkit-text-fill-color:var(--el-disabled-text-color);cursor:not-allowed}.el-input.is-disabled .el-input__inner::-moz-placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__inner::placeholder{color:var(--el-text-color-placeholder)}.el-input.is-disabled .el-input__icon{cursor:not-allowed}.el-input.is-exceed .el-input__wrapper{box-shadow:0 0 0 1px var(--el-color-danger) inset}.el-input.is-exceed .el-input__suffix .el-input__count{color:var(--el-color-danger)}.el-input--large{--el-input-height:var(--el-component-size-large);font-size:14px}.el-input--large .el-input__wrapper{padding:1px 15px}.el-input--large{--el-input-inner-height:calc(var(--el-input-height, 40px) - 2px)}.el-input--small{--el-input-height:var(--el-component-size-small);font-size:12px}.el-input--small .el-input__wrapper{padding:1px 7px}.el-input--small{--el-input-inner-height:calc(var(--el-input-height, 24px) - 2px)}.el-input-group{align-items:stretch;display:inline-flex;width:100%}.el-input-group__append,.el-input-group__prepend{align-items:center;background-color:var(--el-fill-color-light);border-radius:var(--el-input-border-radius);color:var(--el-color-info);display:inline-flex;justify-content:center;min-height:100%;padding:0 20px;position:relative;white-space:nowrap}.el-input-group__append:focus,.el-input-group__prepend:focus{outline:none}.el-input-group__append .el-button,.el-input-group__append .el-select,.el-input-group__prepend .el-button,.el-input-group__prepend .el-select{display:inline-block;margin:0 -20px}.el-input-group__append button.el-button,.el-input-group__append button.el-button:hover,.el-input-group__append div.el-select .el-select__wrapper,.el-input-group__append div.el-select:hover .el-select__wrapper,.el-input-group__prepend button.el-button,.el-input-group__prepend button.el-button:hover,.el-input-group__prepend div.el-select .el-select__wrapper,.el-input-group__prepend div.el-select:hover .el-select__wrapper{background-color:transparent;border-color:transparent;color:inherit}.el-input-group__append .el-button,.el-input-group__append .el-input,.el-input-group__prepend .el-button,.el-input-group__prepend .el-input{font-size:inherit}.el-input-group__prepend{border-bottom-right-radius:0;border-right:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group__append{border-left:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-group--prepend>.el-input__wrapper,.el-input-group__append{border-bottom-left-radius:0;border-top-left-radius:0}.el-input-group--prepend .el-input-group__prepend .el-select .el-select__wrapper{border-bottom-right-radius:0;border-top-right-radius:0;box-shadow:1px 0 0 0 var(--el-input-border-color) inset,0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset}.el-input-group--append>.el-input__wrapper{border-bottom-right-radius:0;border-top-right-radius:0}.el-input-group--append .el-input-group__append .el-select .el-select__wrapper{border-bottom-left-radius:0;border-top-left-radius:0;box-shadow:0 1px 0 0 var(--el-input-border-color) inset,0 -1px 0 0 var(--el-input-border-color) inset,-1px 0 0 0 var(--el-input-border-color) inset}.el-input-hidden{display:none!important}.el-input-number{display:inline-flex;line-height:30px;position:relative;vertical-align:middle;width:150px}.el-input-number .el-input__wrapper{padding-left:42px;padding-right:42px}.el-input-number .el-input__inner{-webkit-appearance:none;-moz-appearance:textfield;line-height:1;text-align:center}.el-input-number .el-input__inner::-webkit-inner-spin-button,.el-input-number .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-input-number__decrease,.el-input-number__increase{align-items:center;background:var(--el-fill-color-light);bottom:1px;color:var(--el-text-color-regular);cursor:pointer;display:flex;font-size:13px;height:auto;justify-content:center;position:absolute;top:1px;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:32px;z-index:1}.el-input-number__decrease:hover,.el-input-number__increase:hover{color:var(--el-color-primary)}.el-input-number__decrease:hover~.el-input:not(.is-disabled) .el-input__wrapper,.el-input-number__increase:hover~.el-input:not(.is-disabled) .el-input__wrapper{box-shadow:0 0 0 1px var(--el-input-focus-border-color,var(--el-color-primary)) inset}.el-input-number__decrease.is-disabled,.el-input-number__increase.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-input-number__increase{border-left:var(--el-border);border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0;right:1px}.el-input-number__decrease{border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);border-right:var(--el-border);left:1px}.el-input-number.is-disabled .el-input-number__decrease,.el-input-number.is-disabled .el-input-number__increase{border-color:var(--el-disabled-border-color);color:var(--el-disabled-border-color)}.el-input-number.is-disabled .el-input-number__decrease:hover,.el-input-number.is-disabled .el-input-number__increase:hover{color:var(--el-disabled-border-color);cursor:not-allowed}.el-input-number--large{line-height:38px;width:180px}.el-input-number--large .el-input-number__decrease,.el-input-number--large .el-input-number__increase{font-size:14px;width:40px}.el-input-number--large.is-controls-right .el-input--large .el-input__wrapper{padding-right:47px}.el-input-number--large .el-input--large .el-input__wrapper{padding-left:47px;padding-right:47px}.el-input-number--small{line-height:22px;width:120px}.el-input-number--small .el-input-number__decrease,.el-input-number--small .el-input-number__increase{font-size:12px;width:24px}.el-input-number--small.is-controls-right .el-input--small .el-input__wrapper{padding-right:31px}.el-input-number--small .el-input--small .el-input__wrapper{padding-left:31px;padding-right:31px}.el-input-number--small .el-input-number__decrease [class*=el-icon],.el-input-number--small .el-input-number__increase [class*=el-icon]{transform:scale(.9)}.el-input-number.is-without-controls .el-input__wrapper{padding-left:15px;padding-right:15px}.el-input-number.is-controls-right .el-input__wrapper{padding-left:15px;padding-right:42px}.el-input-number.is-controls-right .el-input-number__decrease,.el-input-number.is-controls-right .el-input-number__increase{--el-input-number-controls-height:15px;height:var(--el-input-number-controls-height);line-height:var(--el-input-number-controls-height)}.el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{transform:scale(.8)}.el-input-number.is-controls-right .el-input-number__increase{border-bottom:var(--el-border);border-radius:0 var(--el-border-radius-base) 0 0;bottom:auto;left:auto}.el-input-number.is-controls-right .el-input-number__decrease{border-left:var(--el-border);border-radius:0 0 var(--el-border-radius-base) 0;border-right:none;left:auto;right:1px;top:auto}.el-input-number.is-controls-right[class*=large] [class*=decrease],.el-input-number.is-controls-right[class*=large] [class*=increase]{--el-input-number-controls-height:19px}.el-input-number.is-controls-right[class*=small] [class*=decrease],.el-input-number.is-controls-right[class*=small] [class*=increase]{--el-input-number-controls-height:11px}.el-input-tag{--el-input-tag-border-color-hover:var(--el-border-color-hover);--el-input-tag-placeholder-color:var(--el-text-color-placeholder);--el-input-tag-disabled-color:var(--el-disabled-text-color);--el-input-tag-disabled-border:var(--el-disabled-border-color);--el-input-tag-font-size:var(--el-font-size-base);--el-input-tag-close-hover-color:var(--el-text-color-secondary);--el-input-tag-text-color:var(--el-text-color-regular);--el-input-tag-input-focus-border-color:var(--el-color-primary);--el-input-tag-width:100%;--el-input-tag-mini-height:var(--el-component-size);--el-input-tag-gap:6px;--el-input-tag-padding:4px;--el-input-tag-inner-padding:8px;--el-input-tag-line-height:24px;align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:var(--el-input-tag-font-size);line-height:var(--el-input-tag-line-height);min-height:var(--el-input-tag-mini-height);padding:var(--el-input-tag-padding);transform:translateZ(0);transition:var(--el-transition-duration);width:var(--el-input-tag-width)}.el-input-tag.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-input-tag.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-input-tag.is-disabled{background-color:var(--el-fill-color-light);cursor:not-allowed;pointer-events:none}.el-input-tag.is-disabled,.el-input-tag.is-disabled:hover{box-shadow:0 0 0 1px var(--el-input-tag-disabled-border) inset}.el-input-tag.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-input-tag.is-disabled .el-input-tag__inner .el-input-tag__input,.el-input-tag.is-disabled .el-input-tag__inner .el-tag{cursor:not-allowed}.el-input-tag__prefix,.el-input-tag__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;padding:0 var(--el-input-tag-inner-padding)}.el-input-tag__suffix{gap:8px}.el-input-tag__inner{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:var(--el-input-tag-gap);max-width:100%;min-width:0;position:relative}.el-input-tag__inner.is-left-space{margin-left:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-right-space{margin-right:var(--el-input-tag-inner-padding)}.el-input-tag__inner.is-draggable .el-tag{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-input-tag__drop-indicator{background-color:var(--el-color-primary);height:var(--el-input-tag-line-height);position:absolute;top:0;width:1px}.el-input-tag__inner .el-tag{border-color:transparent;cursor:pointer;max-width:100%}.el-input-tag__inner .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-input-tag__inner .el-tag .el-tag__content{line-height:normal;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-input-tag__input-wrapper{flex:1}.el-input-tag__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-input-tag-text-color);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding:0;width:100%}.el-input-tag__input::-moz-placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input::placeholder{color:var(--el-input-tag-placeholder-color)}.el-input-tag__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-input-tag--large{--el-input-tag-gap:6px;--el-input-tag-padding:8px;--el-input-tag-padding-left:8px;--el-input-tag-font-size:14px}.el-input-tag--small{--el-input-tag-gap:4px;--el-input-tag-padding:2px;--el-input-tag-padding-left:6px;--el-input-tag-font-size:12px;--el-input-tag-line-height:20px;--el-input-tag-mini-height:var(--el-component-size-small)}.el-link{--el-link-font-size:var(--el-font-size-base);--el-link-font-weight:var(--el-font-weight-primary);--el-link-text-color:var(--el-text-color-regular);--el-link-hover-text-color:var(--el-color-primary);--el-link-disabled-text-color:var(--el-text-color-placeholder);align-items:center;color:var(--el-link-text-color);cursor:pointer;display:inline-flex;flex-direction:row;font-size:var(--el-link-font-size);font-weight:var(--el-link-font-weight);justify-content:center;outline:none;padding:0;position:relative;text-decoration:none;vertical-align:middle}.el-link:hover{color:var(--el-link-hover-text-color)}.el-link.is-underline:hover:after{border-bottom:1px solid var(--el-link-hover-text-color);bottom:0;content:"";height:0;left:0;position:absolute;right:0}.el-link.is-disabled{color:var(--el-link-disabled-text-color);cursor:not-allowed}.el-link [class*=el-icon-]+span{margin-left:5px}.el-link.el-link--default:after{border-color:var(--el-link-hover-text-color)}.el-link__inner{align-items:center;display:inline-flex;justify-content:center}.el-link.el-link--primary{--el-link-text-color:var(--el-color-primary);--el-link-hover-text-color:var(--el-color-primary-light-3);--el-link-disabled-text-color:var(--el-color-primary-light-5)}.el-link.el-link--primary.is-underline:hover:after,.el-link.el-link--primary:after{border-color:var(--el-link-text-color)}.el-link.el-link--success{--el-link-text-color:var(--el-color-success);--el-link-hover-text-color:var(--el-color-success-light-3);--el-link-disabled-text-color:var(--el-color-success-light-5)}.el-link.el-link--success.is-underline:hover:after,.el-link.el-link--success:after{border-color:var(--el-link-text-color)}.el-link.el-link--warning{--el-link-text-color:var(--el-color-warning);--el-link-hover-text-color:var(--el-color-warning-light-3);--el-link-disabled-text-color:var(--el-color-warning-light-5)}.el-link.el-link--warning.is-underline:hover:after,.el-link.el-link--warning:after{border-color:var(--el-link-text-color)}.el-link.el-link--danger{--el-link-text-color:var(--el-color-danger);--el-link-hover-text-color:var(--el-color-danger-light-3);--el-link-disabled-text-color:var(--el-color-danger-light-5)}.el-link.el-link--danger.is-underline:hover:after,.el-link.el-link--danger:after{border-color:var(--el-link-text-color)}.el-link.el-link--error{--el-link-text-color:var(--el-color-error);--el-link-hover-text-color:var(--el-color-error-light-3);--el-link-disabled-text-color:var(--el-color-error-light-5)}.el-link.el-link--error.is-underline:hover:after,.el-link.el-link--error:after{border-color:var(--el-link-text-color)}.el-link.el-link--info{--el-link-text-color:var(--el-color-info);--el-link-hover-text-color:var(--el-color-info-light-3);--el-link-disabled-text-color:var(--el-color-info-light-5)}.el-link.el-link--info.is-underline:hover:after,.el-link.el-link--info:after{border-color:var(--el-link-text-color)}:root{--el-loading-spinner-size:42px;--el-loading-fullscreen-spinner-size:50px}.el-loading-parent--relative{position:relative!important}.el-loading-parent--hidden{overflow:hidden!important}.el-loading-mask{background-color:var(--el-mask-color);bottom:0;left:0;margin:0;position:absolute;right:0;top:0;transition:opacity var(--el-transition-duration);z-index:2000}.el-loading-mask.is-fullscreen{position:fixed}.el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:calc((0px - var(--el-loading-fullscreen-spinner-size))/2)}.el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:var(--el-loading-fullscreen-spinner-size);width:var(--el-loading-fullscreen-spinner-size)}.el-loading-spinner{margin-top:calc((0px - var(--el-loading-spinner-size))/2);position:absolute;text-align:center;top:50%;width:100%}.el-loading-spinner .el-loading-text{color:var(--el-color-primary);font-size:14px;margin:3px 0}.el-loading-spinner .circular{animation:loading-rotate 2s linear infinite;display:inline;height:var(--el-loading-spinner-size);width:var(--el-loading-spinner-size)}.el-loading-spinner .path{animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:var(--el-color-primary);stroke-linecap:round}.el-loading-spinner i{color:var(--el-color-primary)}.el-loading-fade-enter-from,.el-loading-fade-leave-to{opacity:0}@keyframes loading-rotate{to{transform:rotate(1turn)}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}to{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.el-main{--el-main-padding:20px;box-sizing:border-box;display:block;flex:1;flex-basis:auto;overflow:auto;padding:var(--el-main-padding)}:root{--el-menu-active-color:var(--el-color-primary);--el-menu-text-color:var(--el-text-color-primary);--el-menu-hover-text-color:var(--el-color-primary);--el-menu-bg-color:var(--el-fill-color-blank);--el-menu-hover-bg-color:var(--el-color-primary-light-9);--el-menu-item-height:56px;--el-menu-sub-item-height:calc(var(--el-menu-item-height) - 6px);--el-menu-horizontal-height:60px;--el-menu-horizontal-sub-item-height:36px;--el-menu-item-font-size:var(--el-font-size-base);--el-menu-item-hover-fill:var(--el-color-primary-light-9);--el-menu-border-color:var(--el-border-color);--el-menu-base-level-padding:20px;--el-menu-level-padding:20px;--el-menu-icon-width:24px}.el-menu{background-color:var(--el-menu-bg-color);border-right:1px solid var(--el-menu-border-color);box-sizing:border-box;list-style:none;margin:0;padding-left:0;position:relative}.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-menu-item-group__title,.el-menu--vertical:not(.el-menu--collapse):not(.el-menu--popup-container) .el-sub-menu__title{padding-left:calc(var(--el-menu-base-level-padding) + var(--el-menu-level)*var(--el-menu-level-padding));white-space:nowrap}.el-menu:not(.el-menu--collapse) .el-sub-menu__title{padding-right:calc(var(--el-menu-base-level-padding) + var(--el-menu-icon-width))}.el-menu--horizontal{border-right:none;display:flex;flex-wrap:nowrap;height:var(--el-menu-horizontal-height)}.el-menu--horizontal.el-menu--popup-container{height:unset}.el-menu--horizontal.el-menu{border-bottom:1px solid var(--el-menu-border-color)}.el-menu--horizontal>.el-menu-item{align-items:center;border-bottom:2px solid transparent;color:var(--el-menu-text-color);display:inline-flex;height:100%;justify-content:center;margin:0}.el-menu--horizontal>.el-menu-item a,.el-menu--horizontal>.el-menu-item a:hover{color:inherit}.el-menu--horizontal>.el-sub-menu:focus,.el-menu--horizontal>.el-sub-menu:hover{outline:none}.el-menu--horizontal>.el-sub-menu:hover .el-sub-menu__title{color:var(--el-menu-hover-text-color)}.el-menu--horizontal>.el-sub-menu.is-active .el-sub-menu__title{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title{border-bottom:2px solid transparent;color:var(--el-menu-text-color);height:100%}.el-menu--horizontal>.el-sub-menu .el-sub-menu__title:hover{background-color:var(--el-menu-bg-color)}.el-menu--horizontal .el-menu .el-menu-item,.el-menu--horizontal .el-menu .el-sub-menu__title{align-items:center;background-color:var(--el-menu-bg-color);color:var(--el-menu-text-color);display:flex;height:var(--el-menu-horizontal-sub-item-height);line-height:var(--el-menu-horizontal-sub-item-height);padding:0 10px}.el-menu--horizontal .el-menu .el-sub-menu__title{padding-right:40px}.el-menu--horizontal .el-menu .el-menu-item.is-active,.el-menu--horizontal .el-menu .el-sub-menu.is-active>.el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--horizontal .el-menu-item:not(.is-disabled):focus,.el-menu--horizontal .el-menu-item:not(.is-disabled):hover{background-color:var(--el-menu-hover-bg-color);color:var(--el-menu-hover-text-color);outline:none}.el-menu--horizontal>.el-menu-item.is-active{border-bottom:2px solid var(--el-menu-active-color);color:var(--el-menu-active-color)!important}.el-menu--collapse{width:calc(var(--el-menu-icon-width) + var(--el-menu-base-level-padding)*2)}.el-menu--collapse>.el-menu-item [class^=el-icon],.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title [class^=el-icon],.el-menu--collapse>.el-sub-menu>.el-sub-menu__title [class^=el-icon]{margin:0;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu--collapse>.el-menu-item .el-sub-menu__icon-arrow,.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title .el-sub-menu__icon-arrow{display:none}.el-menu--collapse>.el-menu-item-group>ul>.el-sub-menu>.el-sub-menu__title>span,.el-menu--collapse>.el-menu-item>span,.el-menu--collapse>.el-sub-menu>.el-sub-menu__title>span{display:inline-block;height:0;overflow:hidden;visibility:hidden;width:0}.el-menu--collapse>.el-menu-item.is-active i{color:inherit}.el-menu--collapse .el-menu .el-sub-menu{min-width:200px}.el-menu--collapse .el-sub-menu.is-active .el-sub-menu__title{color:var(--el-menu-active-color)}.el-menu--popup{border:none;border-radius:var(--el-border-radius-small);box-shadow:var(--el-box-shadow-light);min-width:200px;padding:5px 0;z-index:100}.el-menu .el-icon{flex-shrink:0}.el-menu-item{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-menu-item *{vertical-align:bottom}.el-menu-item i{color:inherit}.el-menu-item:focus,.el-menu-item:hover{outline:none}.el-menu-item:hover{background-color:var(--el-menu-hover-bg-color)}.el-menu-item.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-menu-item [class^=el-icon]{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-menu-item.is-active{color:var(--el-menu-active-color)}.el-menu-item.is-active i{color:inherit}.el-menu-item .el-menu-tooltip__trigger{align-items:center;box-sizing:border-box;display:inline-flex;height:100%;left:0;padding:0 var(--el-menu-base-level-padding);position:absolute;top:0;width:100%}.el-sub-menu{list-style:none;margin:0;padding-left:0}.el-sub-menu__title{align-items:center;box-sizing:border-box;color:var(--el-menu-text-color);cursor:pointer;display:flex;font-size:var(--el-menu-item-font-size);height:var(--el-menu-item-height);line-height:var(--el-menu-item-height);list-style:none;padding:0 var(--el-menu-base-level-padding);position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration),color var(--el-transition-duration);white-space:nowrap}.el-sub-menu__title *{vertical-align:bottom}.el-sub-menu__title i{color:inherit}.el-sub-menu__title:focus,.el-sub-menu__title:hover{outline:none}.el-sub-menu__title.is-disabled{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu__title:hover{background-color:var(--el-menu-hover-bg-color)}.el-sub-menu .el-menu{border:none}.el-sub-menu .el-menu-item{height:var(--el-menu-sub-item-height);line-height:var(--el-menu-sub-item-height)}.el-sub-menu__hide-arrow .el-sub-menu__icon-arrow{display:none!important}.el-sub-menu.is-active .el-sub-menu__title{border-bottom-color:var(--el-menu-active-color)}.el-sub-menu.is-disabled .el-menu-item,.el-sub-menu.is-disabled .el-sub-menu__title{background:none!important;cursor:not-allowed;opacity:.25}.el-sub-menu .el-icon{font-size:18px;margin-right:5px;text-align:center;vertical-align:middle;width:var(--el-menu-icon-width)}.el-sub-menu .el-icon.el-sub-menu__icon-more{margin-right:0!important}.el-sub-menu .el-sub-menu__icon-arrow{font-size:12px;margin-right:0;margin-top:-6px;position:absolute;right:var(--el-menu-base-level-padding);top:50%;transition:transform var(--el-transition-duration);width:inherit}.el-menu-item-group>ul{padding:0}.el-menu-item-group__title{color:var(--el-text-color-secondary);font-size:12px;line-height:normal;padding:7px 0 7px var(--el-menu-base-level-padding)}.horizontal-collapse-transition .el-sub-menu__title .el-sub-menu__icon-arrow{opacity:0;transition:var(--el-transition-duration-fast)}.el-message-box{--el-messagebox-title-color:var(--el-text-color-primary);--el-messagebox-width:420px;--el-messagebox-border-radius:4px;--el-messagebox-box-shadow:var(--el-box-shadow);--el-messagebox-font-size:var(--el-font-size-large);--el-messagebox-content-font-size:var(--el-font-size-base);--el-messagebox-content-color:var(--el-text-color-regular);--el-messagebox-error-font-size:12px;--el-messagebox-padding-primary:12px;--el-messagebox-font-line-height:var(--el-font-line-height-primary);backface-visibility:hidden;background-color:var(--el-bg-color);border-radius:var(--el-messagebox-border-radius);box-shadow:var(--el-messagebox-box-shadow);box-sizing:border-box;display:inline-block;font-size:var(--el-messagebox-font-size);max-width:var(--el-messagebox-width);overflow:hidden;overflow-wrap:break-word;padding:var(--el-messagebox-padding-primary);position:relative;text-align:left;vertical-align:middle;width:100%}.el-message-box:focus{outline:none!important}.el-overlay.is-message-box .el-overlay-message-box{bottom:0;left:0;overflow:auto;padding:16px;position:fixed;right:0;text-align:center;top:0}.el-overlay.is-message-box .el-overlay-message-box:after{content:"";display:inline-block;height:100%;vertical-align:middle;width:0}.el-message-box.is-draggable .el-message-box__header{cursor:move;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-message-box__header{padding-bottom:var(--el-messagebox-padding-primary)}.el-message-box__header.show-close{padding-right:calc(var(--el-messagebox-padding-primary) + var(--el-message-close-size, 16px))}.el-message-box__title{color:var(--el-messagebox-title-color);font-size:var(--el-messagebox-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__headerbtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-message-box__headerbtn .el-message-box__close{color:var(--el-color-info);font-size:inherit}.el-message-box__headerbtn:focus .el-message-box__close,.el-message-box__headerbtn:hover .el-message-box__close{color:var(--el-color-primary)}.el-message-box__content{color:var(--el-messagebox-content-color);font-size:var(--el-messagebox-content-font-size)}.el-message-box__container{align-items:center;display:flex;gap:12px}.el-message-box__input{padding-top:12px}.el-message-box__input div.invalid>input,.el-message-box__input div.invalid>input:focus{border-color:var(--el-color-error)}.el-message-box__status{font-size:24px}.el-message-box__status.el-message-box-icon--success{--el-messagebox-color:var(--el-color-success);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--info{--el-messagebox-color:var(--el-color-info);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--warning{--el-messagebox-color:var(--el-color-warning);color:var(--el-messagebox-color)}.el-message-box__status.el-message-box-icon--error{--el-messagebox-color:var(--el-color-error);color:var(--el-messagebox-color)}.el-message-box__message{margin:0}.el-message-box__message p{line-height:var(--el-messagebox-font-line-height);margin:0}.el-message-box__errormsg{color:var(--el-color-error);font-size:var(--el-messagebox-error-font-size);line-height:var(--el-messagebox-font-line-height)}.el-message-box__btns{align-items:center;display:flex;flex-wrap:wrap;justify-content:flex-end;padding-top:var(--el-messagebox-padding-primary)}.el-message-box--center .el-message-box__title{align-items:center;display:flex;gap:6px;justify-content:center}.el-message-box--center .el-message-box__status{font-size:inherit}.el-message-box--center .el-message-box__btns,.el-message-box--center .el-message-box__container{justify-content:center}.fade-in-linear-enter-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration)}.fade-in-linear-leave-active .el-overlay-message-box{animation:msgbox-fade-in var(--el-transition-duration) reverse}@keyframes msgbox-fade-in{0%{opacity:0;transform:translate3d(0,-20px,0)}to{opacity:1;transform:translateZ(0)}}.el-message{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-border-color-lighter);--el-message-padding:11px 15px;--el-message-close-size:16px;--el-message-close-icon-color:var(--el-text-color-placeholder);--el-message-close-hover-color:var(--el-text-color-secondary);align-items:center;background-color:var(--el-message-bg-color);border-color:var(--el-message-border-color);border-radius:var(--el-border-radius-base);border-style:var(--el-border-style);border-width:var(--el-border-width);box-sizing:border-box;display:flex;gap:8px;left:50%;max-width:calc(100% - 32px);padding:var(--el-message-padding);position:fixed;top:20px;transform:translateX(-50%);transition:opacity var(--el-transition-duration),transform .4s,top .4s;width:-moz-fit-content;width:fit-content}.el-message.is-center{justify-content:center}.el-message.is-plain{background-color:var(--el-bg-color-overlay);border-color:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-message p{margin:0}.el-message--success{--el-message-bg-color:var(--el-color-success-light-9);--el-message-border-color:var(--el-color-success-light-8);--el-message-text-color:var(--el-color-success)}.el-message--success .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--success{color:var(--el-message-text-color)}.el-message--info{--el-message-bg-color:var(--el-color-info-light-9);--el-message-border-color:var(--el-color-info-light-8);--el-message-text-color:var(--el-color-info)}.el-message--info .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--info{color:var(--el-message-text-color)}.el-message--warning{--el-message-bg-color:var(--el-color-warning-light-9);--el-message-border-color:var(--el-color-warning-light-8);--el-message-text-color:var(--el-color-warning)}.el-message--warning .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--warning{color:var(--el-message-text-color)}.el-message--error{--el-message-bg-color:var(--el-color-error-light-9);--el-message-border-color:var(--el-color-error-light-8);--el-message-text-color:var(--el-color-error)}.el-message--error .el-message__content{color:var(--el-message-text-color);overflow-wrap:break-word}.el-message .el-message-icon--error{color:var(--el-message-text-color)}.el-message .el-message__badge{position:absolute;right:-8px;top:-8px}.el-message__content{font-size:14px;line-height:1;padding:0}.el-message__content:focus{outline-width:0}.el-message .el-message__closeBtn{color:var(--el-message-close-icon-color);cursor:pointer;font-size:var(--el-message-close-size)}.el-message .el-message__closeBtn:focus{outline-width:0}.el-message .el-message__closeBtn:hover{color:var(--el-message-close-hover-color)}.el-message-fade-enter-from,.el-message-fade-leave-to{opacity:0;transform:translate(-50%,-100%)}.el-notification{--el-notification-width:330px;--el-notification-padding:14px 26px 14px 13px;--el-notification-radius:8px;--el-notification-shadow:var(--el-box-shadow-light);--el-notification-border-color:var(--el-border-color-lighter);--el-notification-icon-size:24px;--el-notification-close-font-size:var(--el-message-close-size,16px);--el-notification-group-margin-left:13px;--el-notification-group-margin-right:8px;--el-notification-content-font-size:var(--el-font-size-base);--el-notification-content-color:var(--el-text-color-regular);--el-notification-title-font-size:16px;--el-notification-title-color:var(--el-text-color-primary);--el-notification-close-color:var(--el-text-color-secondary);--el-notification-close-hover-color:var(--el-text-color-regular);background-color:var(--el-bg-color-overlay);border:1px solid var(--el-notification-border-color);border-radius:var(--el-notification-radius);box-shadow:var(--el-notification-shadow);box-sizing:border-box;display:flex;overflow:hidden;overflow-wrap:break-word;padding:var(--el-notification-padding);position:fixed;transition:opacity var(--el-transition-duration),transform var(--el-transition-duration),left var(--el-transition-duration),right var(--el-transition-duration),top .4s,bottom var(--el-transition-duration);width:var(--el-notification-width);z-index:9999}.el-notification.right{right:16px}.el-notification.left{left:16px}.el-notification__group{flex:1;margin-left:var(--el-notification-group-margin-left);margin-right:var(--el-notification-group-margin-right);min-width:0}.el-notification__title{color:var(--el-notification-title-color);font-size:var(--el-notification-title-font-size);font-weight:bold;line-height:var(--el-notification-icon-size);margin:0}.el-notification__content{color:var(--el-notification-content-color);font-size:var(--el-notification-content-font-size);line-height:24px;margin:6px 0 0}.el-notification__content p{margin:0}.el-notification .el-notification__icon{flex-shrink:0;font-size:var(--el-notification-icon-size);height:var(--el-notification-icon-size);width:var(--el-notification-icon-size)}.el-notification .el-notification__closeBtn{color:var(--el-notification-close-color);cursor:pointer;font-size:var(--el-notification-close-font-size);position:absolute;right:15px;top:18px}.el-notification .el-notification__closeBtn:hover{color:var(--el-notification-close-hover-color)}.el-notification .el-notification--success{--el-notification-icon-color:var(--el-color-success);color:var(--el-notification-icon-color)}.el-notification .el-notification--info{--el-notification-icon-color:var(--el-color-info);color:var(--el-notification-icon-color)}.el-notification .el-notification--warning{--el-notification-icon-color:var(--el-color-warning);color:var(--el-notification-icon-color)}.el-notification .el-notification--error{--el-notification-icon-color:var(--el-color-error);color:var(--el-notification-icon-color)}.el-notification-fade-enter-from.right{right:0;transform:translateX(100%)}.el-notification-fade-enter-from.left{left:0;transform:translateX(-100%)}.el-notification-fade-leave-to{opacity:0}.el-overlay{background-color:var(--el-overlay-color-lighter);bottom:0;height:100%;left:0;overflow:auto;position:fixed;right:0;top:0;z-index:2000}.el-overlay .el-overlay-root{height:0}.el-page-header.is-contentful .el-page-header__main{border-top:1px solid var(--el-border-color-light);margin-top:16px}.el-page-header__header{align-items:center;display:flex;justify-content:space-between;line-height:24px}.el-page-header__left{align-items:center;display:flex;margin-right:40px;position:relative}.el-page-header__back{align-items:center;cursor:pointer;display:flex}.el-page-header__left .el-divider--vertical{margin:0 16px}.el-page-header__icon{align-items:center;display:flex;font-size:16px;margin-right:10px}.el-page-header__icon .el-icon{font-size:inherit}.el-page-header__title{font-size:14px;font-weight:500}.el-page-header__content{color:var(--el-text-color-primary);font-size:18px}.el-page-header__breadcrumb{margin-bottom:16px}.el-pagination{--el-pagination-font-size:14px;--el-pagination-bg-color:var(--el-fill-color-blank);--el-pagination-text-color:var(--el-text-color-primary);--el-pagination-border-radius:2px;--el-pagination-button-color:var(--el-text-color-primary);--el-pagination-button-width:32px;--el-pagination-button-height:32px;--el-pagination-button-disabled-color:var(--el-text-color-placeholder);--el-pagination-button-disabled-bg-color:var(--el-fill-color-blank);--el-pagination-button-bg-color:var(--el-fill-color);--el-pagination-hover-color:var(--el-color-primary);--el-pagination-font-size-small:12px;--el-pagination-button-width-small:24px;--el-pagination-button-height-small:24px;--el-pagination-button-width-large:40px;--el-pagination-button-height-large:40px;--el-pagination-item-gap:16px;align-items:center;color:var(--el-pagination-text-color);display:flex;font-size:var(--el-pagination-font-size);font-weight:normal;white-space:nowrap}.el-pagination .el-input__inner{-moz-appearance:textfield;text-align:center}.el-pagination .el-select{width:128px}.el-pagination button{align-items:center;background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;display:flex;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pagination button *{pointer-events:none}.el-pagination button:focus{outline:none}.el-pagination button.is-active,.el-pagination button:hover{color:var(--el-pagination-hover-color)}.el-pagination button.is-active{cursor:default;font-weight:bold}.el-pagination button.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pagination button.is-disabled,.el-pagination button:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pagination button:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-pagination .btn-next .el-icon,.el-pagination .btn-prev .el-icon{display:block;font-size:12px;font-weight:bold;width:inherit}.el-pagination>.is-first{margin-left:0!important}.el-pagination>.is-last{margin-right:0!important}.el-pagination .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination__sizes,.el-pagination__total{color:var(--el-text-color-regular);font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__total[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__jump{align-items:center;color:var(--el-text-color-regular);display:flex;font-weight:normal;margin-left:var(--el-pagination-item-gap)}.el-pagination__jump[disabled=true]{color:var(--el-text-color-placeholder)}.el-pagination__goto{margin-right:8px}.el-pagination__editor{box-sizing:border-box;text-align:center}.el-pagination__editor.el-input{width:56px}.el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.el-pagination__classifier{margin-left:8px}.el-pagination__rightwrapper{align-items:center;display:flex;flex:1;justify-content:flex-end}.el-pagination.is-background .btn-next,.el-pagination.is-background .btn-prev,.el-pagination.is-background .el-pager li{background-color:var(--el-pagination-button-bg-color);margin:0 4px}.el-pagination.is-background .btn-next.is-active,.el-pagination.is-background .btn-prev.is-active,.el-pagination.is-background .el-pager li.is-active{background-color:var(--el-color-primary);color:var(--el-color-white)}.el-pagination.is-background .btn-next.is-disabled,.el-pagination.is-background .btn-next:disabled,.el-pagination.is-background .btn-prev.is-disabled,.el-pagination.is-background .btn-prev:disabled,.el-pagination.is-background .el-pager li.is-disabled,.el-pagination.is-background .el-pager li:disabled{background-color:var(--el-disabled-bg-color);color:var(--el-text-color-placeholder)}.el-pagination.is-background .btn-next.is-disabled.is-active,.el-pagination.is-background .btn-next:disabled.is-active,.el-pagination.is-background .btn-prev.is-disabled.is-active,.el-pagination.is-background .btn-prev:disabled.is-active,.el-pagination.is-background .el-pager li.is-disabled.is-active,.el-pagination.is-background .el-pager li:disabled.is-active{background-color:var(--el-fill-color-dark);color:var(--el-text-color-secondary)}.el-pagination.is-background .btn-prev{margin-left:var(--el-pagination-item-gap)}.el-pagination--small .btn-next,.el-pagination--small .btn-prev,.el-pagination--small .el-pager li{font-size:var(--el-pagination-font-size-small);height:var(--el-pagination-button-height-small);line-height:var(--el-pagination-button-height-small);min-width:var(--el-pagination-button-width-small)}.el-pagination--small button,.el-pagination--small span:not([class*=suffix]){font-size:var(--el-pagination-font-size-small)}.el-pagination--small .el-select{width:100px}.el-pagination--large .btn-next,.el-pagination--large .btn-prev,.el-pagination--large .el-pager li{height:var(--el-pagination-button-height-large);line-height:var(--el-pagination-button-height-large);min-width:var(--el-pagination-button-width-large)}.el-pagination--large .el-select .el-input{width:160px}.el-pager{font-size:0;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-pager,.el-pager li{align-items:center;display:flex}.el-pager li{background:var(--el-pagination-bg-color);border:none;border-radius:var(--el-pagination-border-radius);box-sizing:border-box;color:var(--el-pagination-button-color);cursor:pointer;font-size:var(--el-pagination-font-size);height:var(--el-pagination-button-height);justify-content:center;line-height:var(--el-pagination-button-height);min-width:var(--el-pagination-button-width);padding:0 4px;text-align:center}.el-pager li *{pointer-events:none}.el-pager li:focus{outline:none}.el-pager li.is-active,.el-pager li:hover{color:var(--el-pagination-hover-color)}.el-pager li.is-active{cursor:default;font-weight:bold}.el-pager li.is-active.is-disabled{color:var(--el-text-color-secondary);font-weight:bold}.el-pager li.is-disabled,.el-pager li:disabled{background-color:var(--el-pagination-button-disabled-bg-color);color:var(--el-pagination-button-disabled-color);cursor:not-allowed}.el-pager li:focus-visible{outline:1px solid var(--el-pagination-hover-color);outline-offset:-1px}.el-popconfirm__main{align-items:center;display:flex}.el-popconfirm__icon{margin-right:5px}.el-popconfirm__action{margin-top:8px;text-align:right}.el-popover{--el-popover-bg-color:var(--el-bg-color-overlay);--el-popover-font-size:var(--el-font-size-base);--el-popover-border-color:var(--el-border-color-lighter);--el-popover-padding:12px;--el-popover-padding-large:18px 20px;--el-popover-title-font-size:16px;--el-popover-title-text-color:var(--el-text-color-primary);--el-popover-border-radius:4px}.el-popover.el-popper{background:var(--el-popover-bg-color);border:1px solid var(--el-popover-border-color);border-radius:var(--el-popover-border-radius);box-shadow:var(--el-box-shadow-light);box-sizing:border-box;color:var(--el-text-color-regular);font-size:var(--el-popover-font-size);line-height:1.4;min-width:150px;overflow-wrap:break-word;padding:var(--el-popover-padding);z-index:var(--el-index-popper)}.el-popover.el-popper--plain{padding:var(--el-popover-padding-large)}.el-popover__title{color:var(--el-popover-title-text-color);font-size:var(--el-popover-title-font-size);line-height:1;margin-bottom:12px}.el-popover__reference:focus:hover,.el-popover__reference:focus:not(.focusing){outline-width:0}.el-popover.el-popper.is-dark{--el-popover-bg-color:var(--el-text-color-primary);--el-popover-border-color:var(--el-text-color-primary);--el-popover-title-text-color:var(--el-bg-color);color:var(--el-bg-color)}.el-popover.el-popper:focus,.el-popover.el-popper:focus:active{outline-width:0}.el-progress{align-items:center;display:flex;line-height:1;position:relative}.el-progress__text{color:var(--el-text-color-regular);font-size:14px;line-height:1;margin-left:5px;min-width:50px}.el-progress__text i{display:block;vertical-align:middle}.el-progress--circle,.el-progress--dashboard{display:inline-block}.el-progress--circle .el-progress__text,.el-progress--dashboard .el-progress__text{left:0;margin:0;position:absolute;text-align:center;top:50%;transform:translateY(-50%);width:100%}.el-progress--circle .el-progress__text i,.el-progress--dashboard .el-progress__text i{display:inline-block;vertical-align:middle}.el-progress--without-text .el-progress__text{display:none}.el-progress--without-text .el-progress-bar{display:block;margin-right:0;padding-right:0}.el-progress--text-inside .el-progress-bar{margin-right:0;padding-right:0}.el-progress.is-success .el-progress-bar__inner{background-color:var(--el-color-success)}.el-progress.is-success .el-progress__text{color:var(--el-color-success)}.el-progress.is-warning .el-progress-bar__inner{background-color:var(--el-color-warning)}.el-progress.is-warning .el-progress__text{color:var(--el-color-warning)}.el-progress.is-exception .el-progress-bar__inner{background-color:var(--el-color-danger)}.el-progress.is-exception .el-progress__text{color:var(--el-color-danger)}.el-progress-bar{box-sizing:border-box;flex-grow:1}.el-progress-bar__outer{background-color:var(--el-border-color-lighter);border-radius:100px;height:6px;overflow:hidden;position:relative;vertical-align:middle}.el-progress-bar__inner{background-color:var(--el-color-primary);border-radius:100px;height:100%;left:0;line-height:1;position:absolute;text-align:right;top:0;transition:width .6s ease;white-space:nowrap}.el-progress-bar__inner:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-progress-bar__inner--indeterminate{animation:indeterminate 3s infinite;transform:translateZ(0)}.el-progress-bar__inner--striped{background-image:linear-gradient(45deg,rgba(0,0,0,.1) 25%,transparent 0,transparent 50%,rgba(0,0,0,.1) 0,rgba(0,0,0,.1) 75%,transparent 0,transparent);background-size:1.25em 1.25em}.el-progress-bar__inner--striped.el-progress-bar__inner--striped-flow{animation:striped-flow 3s linear infinite}.el-progress-bar__innerText{color:#ffffff;display:inline-block;font-size:12px;margin:0 5px;vertical-align:middle}@keyframes progress{0%{background-position:0 0}to{background-position:32px 0}}@keyframes indeterminate{0%{left:-100%}to{left:100%}}@keyframes striped-flow{0%{background-position:-100%}to{background-position:100%}}.el-radio-button{--el-radio-button-checked-bg-color:var(--el-color-primary);--el-radio-button-checked-text-color:var(--el-color-white);--el-radio-button-checked-border-color:var(--el-color-primary);--el-radio-button-disabled-checked-fill:var(--el-border-color-extra-light)}.el-radio-button,.el-radio-button__inner{display:inline-block;outline:none;position:relative}.el-radio-button__inner{-webkit-appearance:none;background:var(--el-button-bg-color,var(--el-fill-color-blank));border:var(--el-border);border-left:0;border-radius:0;box-sizing:border-box;color:var(--el-button-text-color,var(--el-text-color-regular));cursor:pointer;font-size:var(--el-font-size-base);font-weight:var(--el-button-font-weight,var(--el-font-weight-primary));line-height:1;margin:0;padding:8px 15px;text-align:center;transition:var(--el-transition-all);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.el-radio-button__inner.is-round{padding:8px 15px}.el-radio-button__inner:hover{color:var(--el-color-primary)}.el-radio-button__inner [class*=el-icon-]{line-height:.9}.el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.el-radio-button:first-child .el-radio-button__inner{border-left:var(--el-border);border-radius:var(--el-border-radius-base) 0 0 var(--el-border-radius-base);box-shadow:none!important}.el-radio-button.is-active .el-radio-button__original-radio:not(:disabled)+.el-radio-button__inner{background-color:var(--el-radio-button-checked-bg-color,var(--el-color-primary));border-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));box-shadow:-1px 0 0 0 var(--el-radio-button-checked-border-color,var(--el-color-primary));color:var(--el-radio-button-checked-text-color,var(--el-color-white))}.el-radio-button__original-radio{opacity:0;outline:none;position:absolute;z-index:-1}.el-radio-button__original-radio:focus-visible+.el-radio-button__inner{border-left:var(--el-border);border-left-color:var(--el-radio-button-checked-border-color,var(--el-color-primary));border-radius:var(--el-border-radius-base);box-shadow:none;outline:2px solid var(--el-radio-button-checked-border-color);outline-offset:1px;z-index:2}.el-radio-button__original-radio:disabled+.el-radio-button__inner{background-color:var(--el-button-disabled-bg-color,var(--el-fill-color-blank));background-image:none;border-color:var(--el-button-disabled-border-color,var(--el-border-color-light));box-shadow:none;color:var(--el-disabled-text-color);cursor:not-allowed}.el-radio-button__original-radio:disabled:checked+.el-radio-button__inner{background-color:var(--el-radio-button-disabled-checked-fill)}.el-radio-button:last-child .el-radio-button__inner{border-radius:0 var(--el-border-radius-base) var(--el-border-radius-base) 0}.el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:var(--el-border-radius-base)}.el-radio-button--large .el-radio-button__inner{border-radius:0;font-size:var(--el-font-size-base);padding:12px 19px}.el-radio-button--large .el-radio-button__inner.is-round{padding:12px 19px}.el-radio-button--small .el-radio-button__inner{border-radius:0;font-size:12px;padding:5px 11px}.el-radio-button--small .el-radio-button__inner.is-round{padding:5px 11px}.el-radio-group{align-items:center;display:inline-flex;flex-wrap:wrap;font-size:0}.el-radio{--el-radio-font-size:var(--el-font-size-base);--el-radio-text-color:var(--el-text-color-regular);--el-radio-font-weight:var(--el-font-weight-primary);--el-radio-input-height:14px;--el-radio-input-width:14px;--el-radio-input-border-radius:var(--el-border-radius-circle);--el-radio-input-bg-color:var(--el-fill-color-blank);--el-radio-input-border:var(--el-border);--el-radio-input-border-color:var(--el-border-color);--el-radio-input-border-color-hover:var(--el-color-primary);align-items:center;color:var(--el-radio-text-color);cursor:pointer;display:inline-flex;font-size:var(--el-font-size-base);font-weight:var(--el-radio-font-weight);height:32px;margin-right:30px;outline:none;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-radio.el-radio--large{height:40px}.el-radio.el-radio--small{height:24px}.el-radio.is-bordered{border:var(--el-border);border-radius:var(--el-border-radius-base);box-sizing:border-box;padding:0 15px 0 9px}.el-radio.is-bordered.is-checked{border-color:var(--el-color-primary)}.el-radio.is-bordered.is-disabled{border-color:var(--el-border-color-lighter);cursor:not-allowed}.el-radio.is-bordered.el-radio--large{border-radius:var(--el-border-radius-base);padding:0 19px 0 11px}.el-radio.is-bordered.el-radio--large .el-radio__label{font-size:var(--el-font-size-base)}.el-radio.is-bordered.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.is-bordered.el-radio--small{border-radius:var(--el-border-radius-base);padding:0 11px 0 7px}.el-radio.is-bordered.el-radio--small .el-radio__label{font-size:12px}.el-radio.is-bordered.el-radio--small .el-radio__inner{height:12px;width:12px}.el-radio:last-child{margin-right:0}.el-radio__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.el-radio__input.is-disabled .el-radio__inner{border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled .el-radio__inner,.el-radio__input.is-disabled .el-radio__inner:after{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:var(--el-disabled-bg-color);border-color:var(--el-disabled-border-color)}.el-radio__input.is-disabled.is-checked .el-radio__inner:after{background-color:var(--el-text-color-placeholder)}.el-radio__input.is-disabled+span.el-radio__label{color:var(--el-text-color-placeholder);cursor:not-allowed}.el-radio__input.is-checked .el-radio__inner{background:var(--el-color-primary);border-color:var(--el-color-primary)}.el-radio__input.is-checked .el-radio__inner:after{transform:translate(-50%,-50%) scale(1)}.el-radio__input.is-checked+.el-radio__label{color:var(--el-color-primary)}.el-radio__input.is-focus .el-radio__inner{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner{background-color:var(--el-radio-input-bg-color);border:var(--el-radio-input-border);border-radius:var(--el-radio-input-border-radius);box-sizing:border-box;cursor:pointer;display:inline-block;height:var(--el-radio-input-height);position:relative;width:var(--el-radio-input-width)}.el-radio__inner:hover{border-color:var(--el-radio-input-border-color-hover)}.el-radio__inner:after{background-color:var(--el-color-white);border-radius:var(--el-radio-input-border-radius);content:"";height:4px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:transform .15s ease-in;width:4px}.el-radio__original{bottom:0;left:0;margin:0;opacity:0;outline:none;position:absolute;right:0;top:0;z-index:-1}.el-radio__original:focus-visible+.el-radio__inner{border-radius:var(--el-radio-input-border-radius);outline:2px solid var(--el-radio-input-border-color-hover);outline-offset:1px}.el-radio:focus:not(:focus-visible):not(.is-focus):not(:active):not(.is-disabled) .el-radio__inner{box-shadow:0 0 2px 2px var(--el-radio-input-border-color-hover)}.el-radio__label{font-size:var(--el-radio-font-size);padding-left:8px}.el-radio.el-radio--large .el-radio__label{font-size:14px}.el-radio.el-radio--large .el-radio__inner{height:14px;width:14px}.el-radio.el-radio--small .el-radio__label{font-size:12px}.el-radio.el-radio--small .el-radio__inner{height:12px;width:12px}.el-rate{--el-rate-height:20px;--el-rate-font-size:var(--el-font-size-base);--el-rate-icon-size:18px;--el-rate-icon-margin:6px;--el-rate-void-color:var(--el-border-color-darker);--el-rate-fill-color:#f7ba2a;--el-rate-disabled-void-color:var(--el-fill-color);--el-rate-text-color:var(--el-text-color-primary);align-items:center;display:inline-flex;height:32px}.el-rate:active,.el-rate:focus{outline:none}.el-rate__item{color:var(--el-rate-void-color);cursor:pointer;display:inline-block;font-size:0;line-height:normal;position:relative;vertical-align:middle}.el-rate .el-rate__icon{display:inline-block;font-size:var(--el-rate-icon-size);margin-right:var(--el-rate-icon-margin);position:relative;transition:var(--el-transition-duration)}.el-rate .el-rate__icon.hover{transform:scale(1.15)}.el-rate .el-rate__icon .path2{left:0;position:absolute;top:0}.el-rate .el-rate__icon.is-active{color:var(--el-rate-fill-color)}.el-rate__decimal{color:var(--el-rate-fill-color);display:inline-block;overflow:hidden}.el-rate__decimal,.el-rate__decimal--box{left:0;position:absolute;top:0}.el-rate__text{color:var(--el-rate-text-color);font-size:var(--el-rate-font-size);vertical-align:middle}.el-rate--large{height:40px}.el-rate--small{height:24px}.el-rate--small .el-rate__icon{font-size:14px}.el-rate.is-disabled .el-rate__item{color:var(--el-rate-disabled-void-color);cursor:auto}.el-result{--el-result-padding:40px 30px;--el-result-icon-font-size:64px;--el-result-title-font-size:20px;--el-result-title-margin-top:20px;--el-result-subtitle-margin-top:10px;--el-result-extra-margin-top:30px;align-items:center;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:var(--el-result-padding);text-align:center}.el-result__icon svg{height:var(--el-result-icon-font-size);width:var(--el-result-icon-font-size)}.el-result__title{margin-top:var(--el-result-title-margin-top)}.el-result__title p{color:var(--el-text-color-primary);font-size:var(--el-result-title-font-size);line-height:1.3;margin:0}.el-result__subtitle{margin-top:var(--el-result-subtitle-margin-top)}.el-result__subtitle p{color:var(--el-text-color-regular);font-size:var(--el-font-size-base);line-height:1.3;margin:0}.el-result__extra{margin-top:var(--el-result-extra-margin-top)}.el-result .icon-primary{--el-result-color:var(--el-color-primary);color:var(--el-result-color)}.el-result .icon-success{--el-result-color:var(--el-color-success);color:var(--el-result-color)}.el-result .icon-warning{--el-result-color:var(--el-color-warning);color:var(--el-result-color)}.el-result .icon-danger{--el-result-color:var(--el-color-danger);color:var(--el-result-color)}.el-result .icon-error{--el-result-color:var(--el-color-error);color:var(--el-result-color)}.el-result .icon-info{--el-result-color:var(--el-color-info);color:var(--el-result-color)}.el-row{box-sizing:border-box;display:flex;flex-wrap:wrap;position:relative}.el-row.is-justify-center{justify-content:center}.el-row.is-justify-end{justify-content:flex-end}.el-row.is-justify-space-between{justify-content:space-between}.el-row.is-justify-space-around{justify-content:space-around}.el-row.is-justify-space-evenly{justify-content:space-evenly}.el-row.is-align-top{align-items:flex-start}.el-row.is-align-middle{align-items:center}.el-row.is-align-bottom{align-items:flex-end}.el-scrollbar{--el-scrollbar-opacity:0.3;--el-scrollbar-bg-color:var(--el-text-color-secondary);--el-scrollbar-hover-opacity:0.5;--el-scrollbar-hover-bg-color:var(--el-text-color-secondary);height:100%;overflow:hidden;position:relative}.el-scrollbar__wrap{height:100%;overflow:auto}.el-scrollbar__wrap--hidden-default{scrollbar-width:none}.el-scrollbar__wrap--hidden-default::-webkit-scrollbar{display:none}.el-scrollbar__thumb{background-color:var(--el-scrollbar-bg-color,var(--el-text-color-secondary));border-radius:inherit;cursor:pointer;display:block;height:0;opacity:var(--el-scrollbar-opacity,.3);position:relative;transition:var(--el-transition-duration) background-color;width:0}.el-scrollbar__thumb:hover{background-color:var(--el-scrollbar-hover-bg-color,var(--el-text-color-secondary));opacity:var(--el-scrollbar-hover-opacity,.5)}.el-scrollbar__bar{border-radius:4px;bottom:2px;position:absolute;right:2px;z-index:1}.el-scrollbar__bar.is-vertical{top:2px;width:6px}.el-scrollbar__bar.is-vertical>div{width:100%}.el-scrollbar__bar.is-horizontal{height:6px;left:2px}.el-scrollbar__bar.is-horizontal>div{height:100%}.el-scrollbar-fade-enter-active{transition:opacity .34s ease-out}.el-scrollbar-fade-leave-active{transition:opacity .12s ease-out}.el-scrollbar-fade-enter-from,.el-scrollbar-fade-leave-active{opacity:0}.el-select-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.el-select-dropdown__empty,.el-select-dropdown__loading{color:var(--el-text-color-secondary);font-size:var(--el-select-font-size);margin:0;padding:10px 0;text-align:center}.el-select-dropdown__wrap{max-height:274px}.el-select-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:6px 0}.el-select-dropdown__list.el-vl__window{margin:6px 0;padding:0}.el-select-dropdown__header{border-bottom:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__footer{border-top:1px solid var(--el-border-color-light);padding:10px}.el-select-dropdown__item{box-sizing:border-box;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-base);height:34px;line-height:34px;overflow:hidden;padding:0 32px 0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-select-dropdown__item.is-hovering{background-color:var(--el-fill-color-light)}.el-select-dropdown__item.is-selected{color:var(--el-color-primary);font-weight:bold}.el-select-dropdown__item.is-disabled{background-color:unset;color:var(--el-text-color-placeholder);cursor:not-allowed}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-selected:after{background-color:var(--el-color-primary);background-position:50%;background-repeat:no-repeat;border-right:none;border-top:none;content:"";height:12px;mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;mask-size:100% 100%;-webkit-mask:url("data:image/svg+xml;utf8,%3Csvg class=\'icon\' width=\'200\' height=\'200\' viewBox=\'0 0 1024 1024\' xmlns=\'http://www.w3.org/2000/svg\'%3E%3Cpath fill=\'currentColor\' d=\'M406.656 706.944L195.84 496.256a32 32 0 10-45.248 45.248l256 256 512-512a32 32 0 00-45.248-45.248L406.592 706.944z\'%3E%3C/path%3E%3C/svg%3E") no-repeat;-webkit-mask-size:100% 100%;position:absolute;right:20px;top:50%;transform:translateY(-50%);width:12px}.el-select-dropdown.is-multiple .el-select-dropdown__item.is-disabled:after{background-color:var(--el-text-color-placeholder)}.el-select-group{margin:0;padding:0}.el-select-group__wrap{list-style:none;margin:0;padding:0;position:relative}.el-select-group__title{box-sizing:border-box;color:var(--el-color-info);font-size:12px;line-height:34px;overflow:hidden;padding:0 20px;text-overflow:ellipsis;white-space:nowrap}.el-select-group .el-select-dropdown__item{padding-left:20px}.el-select{--el-select-border-color-hover:var(--el-border-color-hover);--el-select-disabled-color:var(--el-disabled-text-color);--el-select-disabled-border:var(--el-disabled-border-color);--el-select-font-size:var(--el-font-size-base);--el-select-close-hover-color:var(--el-text-color-secondary);--el-select-input-color:var(--el-text-color-placeholder);--el-select-multiple-input-color:var(--el-text-color-regular);--el-select-input-focus-border-color:var(--el-color-primary);--el-select-input-font-size:14px;--el-select-width:100%;display:inline-block;position:relative;vertical-align:middle;width:var(--el-select-width)}.el-select__wrapper{align-items:center;background-color:var(--el-fill-color-blank);border-radius:var(--el-border-radius-base);box-shadow:0 0 0 1px var(--el-border-color) inset;box-sizing:border-box;cursor:pointer;display:flex;font-size:14px;gap:6px;line-height:24px;min-height:32px;padding:4px 12px;position:relative;text-align:left;transform:translateZ(0);transition:var(--el-transition-duration)}.el-select__wrapper.is-filterable{cursor:text}.el-select__wrapper.is-focused{box-shadow:0 0 0 1px var(--el-color-primary) inset}.el-select__wrapper.is-hovering:not(.is-focused){box-shadow:0 0 0 1px var(--el-border-color-hover) inset}.el-select__wrapper.is-disabled{background-color:var(--el-fill-color-light);color:var(--el-text-color-placeholder);cursor:not-allowed;pointer-events:none}.el-select__wrapper.is-disabled,.el-select__wrapper.is-disabled:hover{box-shadow:0 0 0 1px var(--el-select-disabled-border) inset}.el-select__wrapper.is-disabled.is-focus{box-shadow:0 0 0 1px var(--el-input-focus-border-color) inset}.el-select__wrapper.is-disabled .el-select__selected-item{color:var(--el-select-disabled-color)}.el-select__wrapper.is-disabled .el-select__caret,.el-select__wrapper.is-disabled .el-tag{cursor:not-allowed}.el-select__prefix,.el-select__suffix{align-items:center;color:var(--el-input-icon-color,var(--el-text-color-placeholder));display:flex;flex-shrink:0;gap:6px}.el-select__caret{color:var(--el-select-input-color);cursor:pointer;font-size:var(--el-select-input-font-size);transform:rotate(0deg);transition:var(--el-transition-duration)}.el-select__caret.is-reverse{transform:rotate(180deg)}.el-select__selection{align-items:center;display:flex;flex:1;flex-wrap:wrap;gap:6px;min-width:0;position:relative}.el-select__selection.is-near{margin-left:-8px}.el-select__selection .el-tag{border-color:transparent;cursor:pointer}.el-select__selection .el-tag.el-tag--plain{border-color:var(--el-tag-border-color)}.el-select__selection .el-tag .el-tag__content{min-width:0}.el-select__selected-item{display:flex;flex-wrap:wrap;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__tags-text{line-height:normal}.el-select__placeholder,.el-select__tags-text{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-select__placeholder{color:var(--el-input-text-color,var(--el-text-color-regular));position:absolute;top:50%;transform:translateY(-50%);width:100%;z-index:-1}.el-select__placeholder.is-transparent{color:var(--el-text-color-placeholder);-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-select__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-select__popper.el-popper,.el-select__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-select__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-select__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-select__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-select__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-select__input-wrapper{flex:1}.el-select__input-wrapper.is-hidden{opacity:0;position:absolute;z-index:-1}.el-select__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;border:none;color:var(--el-select-multiple-input-color);font-family:inherit;font-size:inherit;height:24px;outline:none;padding:0;width:100%}.el-select__input.is-disabled{cursor:not-allowed}.el-select__input-calculator{left:0;max-width:100%;overflow:hidden;position:absolute;top:0;visibility:hidden;white-space:pre}.el-select--large .el-select__wrapper{font-size:14px;gap:6px;line-height:24px;min-height:40px;padding:8px 16px}.el-select--large .el-select__selection{gap:6px}.el-select--large .el-select__selection.is-near{margin-left:-8px}.el-select--large .el-select__prefix,.el-select--large .el-select__suffix{gap:6px}.el-select--large .el-select__input{height:24px}.el-select--small .el-select__wrapper{font-size:12px;gap:4px;line-height:20px;min-height:24px;padding:2px 8px}.el-select--small .el-select__selection{gap:4px}.el-select--small .el-select__selection.is-near{margin-left:-6px}.el-select--small .el-select__prefix,.el-select--small .el-select__suffix{gap:4px}.el-select--small .el-select__input{height:20px}.el-skeleton{--el-skeleton-circle-size:var(--el-avatar-size)}.el-skeleton__item{background:var(--el-skeleton-color);border-radius:var(--el-border-radius-base);display:inline-block;height:16px;width:100%}.el-skeleton__circle{border-radius:50%;height:var(--el-skeleton-circle-size);line-height:var(--el-skeleton-circle-size);width:var(--el-skeleton-circle-size)}.el-skeleton__button{border-radius:4px;height:40px;width:64px}.el-skeleton__p{width:100%}.el-skeleton__p.is-last{width:61%}.el-skeleton__p.is-first{width:33%}.el-skeleton__text{height:var(--el-font-size-small);width:100%}.el-skeleton__caption{height:var(--el-font-size-extra-small)}.el-skeleton__h1{height:var(--el-font-size-extra-large)}.el-skeleton__h3{height:var(--el-font-size-large)}.el-skeleton__h5{height:var(--el-font-size-medium)}.el-skeleton__image{align-items:center;border-radius:0;display:flex;justify-content:center;width:unset}.el-skeleton__image svg{color:var(--el-svg-monochrome-grey);fill:currentColor;height:22%;width:22%}.el-skeleton{--el-skeleton-color:var(--el-fill-color);--el-skeleton-to-color:var(--el-fill-color-darker)}@keyframes el-skeleton-loading{0%{background-position:100% 50%}to{background-position:0 50%}}.el-skeleton{width:100%}.el-skeleton__first-line,.el-skeleton__paragraph{background:var(--el-skeleton-color);height:16px;margin-top:16px}.el-skeleton.is-animated .el-skeleton__item{animation:el-skeleton-loading 1.4s ease infinite;background:linear-gradient(90deg,var(--el-skeleton-color) 25%,var(--el-skeleton-to-color) 37%,var(--el-skeleton-color) 63%);background-size:400% 100%}.el-slider{--el-slider-main-bg-color:var(--el-color-primary);--el-slider-runway-bg-color:var(--el-border-color-light);--el-slider-stop-bg-color:var(--el-color-white);--el-slider-disabled-color:var(--el-text-color-placeholder);--el-slider-border-radius:3px;--el-slider-height:6px;--el-slider-button-size:20px;--el-slider-button-wrapper-size:36px;--el-slider-button-wrapper-offset:-15px;align-items:center;display:flex;height:32px;width:100%}.el-slider__runway{background-color:var(--el-slider-runway-bg-color);border-radius:var(--el-slider-border-radius);cursor:pointer;flex:1;height:var(--el-slider-height);position:relative}.el-slider__runway.show-input{margin-right:30px;width:auto}.el-slider__runway.is-disabled{cursor:default}.el-slider__runway.is-disabled .el-slider__bar{background-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button{border-color:var(--el-slider-disabled-color)}.el-slider__runway.is-disabled .el-slider__button-wrapper.dragging,.el-slider__runway.is-disabled .el-slider__button-wrapper.hover,.el-slider__runway.is-disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{transform:scale(1)}.el-slider__runway.is-disabled .el-slider__button.dragging,.el-slider__runway.is-disabled .el-slider__button.hover,.el-slider__runway.is-disabled .el-slider__button:hover{cursor:not-allowed}.el-slider__input{flex-shrink:0;width:130px}.el-slider__bar{background-color:var(--el-slider-main-bg-color);border-bottom-left-radius:var(--el-slider-border-radius);border-top-left-radius:var(--el-slider-border-radius);height:var(--el-slider-height);position:absolute}.el-slider__button-wrapper{background-color:transparent;height:var(--el-slider-button-wrapper-size);line-height:normal;outline:none;position:absolute;text-align:center;top:var(--el-slider-button-wrapper-offset);transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:var(--el-slider-button-wrapper-size);z-index:1}.el-slider__button-wrapper:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-slider__button-wrapper.hover,.el-slider__button-wrapper:hover{cursor:grab}.el-slider__button-wrapper.dragging{cursor:grabbing}.el-slider__button{background-color:var(--el-color-white);border:2px solid var(--el-slider-main-bg-color);border-radius:50%;box-sizing:border-box;display:inline-block;height:var(--el-slider-button-size);transition:var(--el-transition-duration-fast);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:var(--el-slider-button-size)}.el-slider__button.dragging,.el-slider__button.hover,.el-slider__button:hover{transform:scale(1.2)}.el-slider__button.hover,.el-slider__button:hover{cursor:grab}.el-slider__button.dragging{cursor:grabbing}.el-slider__stop{background-color:var(--el-slider-stop-bg-color);border-radius:var(--el-border-radius-circle);height:var(--el-slider-height);position:absolute;transform:translateX(-50%);width:var(--el-slider-height)}.el-slider__marks{height:100%;left:12px;top:0;width:18px}.el-slider__marks-text{color:var(--el-color-info);font-size:14px;margin-top:15px;position:absolute;transform:translateX(-50%);white-space:pre}.el-slider.is-vertical{display:inline-flex;flex:0;height:100%;position:relative;width:auto}.el-slider.is-vertical .el-slider__runway{height:100%;margin:0 16px;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__bar{border-radius:0 0 3px 3px;height:auto;width:var(--el-slider-height)}.el-slider.is-vertical .el-slider__button-wrapper{left:var(--el-slider-button-wrapper-offset);top:auto;transform:translateY(50%)}.el-slider.is-vertical .el-slider__stop{transform:translateY(50%)}.el-slider.is-vertical .el-slider__marks-text{left:15px;margin-top:0;transform:translateY(50%)}.el-slider--large{height:40px}.el-slider--small{height:24px}.el-space{display:inline-flex;vertical-align:top}.el-space__item{display:flex;flex-wrap:wrap}.el-space__item>*{flex:1}.el-space--vertical{flex-direction:column}.el-time-spinner{white-space:nowrap;width:100%}.el-spinner{display:inline-block;vertical-align:middle}.el-spinner-inner{animation:rotate 2s linear infinite;height:50px;width:50px}.el-spinner-inner .path{stroke:var(--el-border-color-lighter);stroke-linecap:round;animation:dash 1.5s ease-in-out infinite}@keyframes rotate{to{transform:rotate(1turn)}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.el-step{flex-shrink:1;position:relative}.el-step:last-of-type .el-step__line{display:none}.el-step:last-of-type.is-flex{flex-basis:auto!important;flex-grow:0;flex-shrink:0}.el-step:last-of-type .el-step__description,.el-step:last-of-type .el-step__main{padding-right:0}.el-step__head{position:relative;width:100%}.el-step__head.is-process{border-color:var(--el-text-color-primary);color:var(--el-text-color-primary)}.el-step__head.is-wait{border-color:var(--el-text-color-placeholder);color:var(--el-text-color-placeholder)}.el-step__head.is-success{border-color:var(--el-color-success);color:var(--el-color-success)}.el-step__head.is-error{border-color:var(--el-color-danger);color:var(--el-color-danger)}.el-step__head.is-finish{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-step__icon{align-items:center;background:var(--el-bg-color);box-sizing:border-box;display:inline-flex;font-size:14px;height:24px;justify-content:center;position:relative;transition:.15s ease-out;width:24px;z-index:1}.el-step__icon.is-text{border:2px solid;border-color:inherit;border-radius:50%}.el-step__icon.is-icon{width:40px}.el-step__icon-inner{color:inherit;display:inline-block;font-weight:bold;line-height:1;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:normal}.el-step__icon-inner.is-status{transform:translateY(1px)}.el-step__line{background-color:var(--el-text-color-placeholder);border-color:inherit;position:absolute}.el-step__line-inner{border:1px solid;border-color:inherit;box-sizing:border-box;display:block;height:0;transition:.15s ease-out;width:0}.el-step__main{text-align:left;white-space:normal}.el-step__title{font-size:16px;line-height:38px}.el-step__title.is-process{color:var(--el-text-color-primary);font-weight:bold}.el-step__title.is-wait{color:var(--el-text-color-placeholder)}.el-step__title.is-success{color:var(--el-color-success)}.el-step__title.is-error{color:var(--el-color-danger)}.el-step__title.is-finish{color:var(--el-color-primary)}.el-step__description{font-size:12px;font-weight:normal;line-height:20px;margin-top:-5px;padding-right:10%}.el-step__description.is-process{color:var(--el-text-color-primary)}.el-step__description.is-wait{color:var(--el-text-color-placeholder)}.el-step__description.is-success{color:var(--el-color-success)}.el-step__description.is-error{color:var(--el-color-danger)}.el-step__description.is-finish{color:var(--el-color-primary)}.el-step.is-horizontal{display:inline-block}.el-step.is-horizontal .el-step__line{height:2px;left:0;right:0;top:11px}.el-step.is-vertical{display:flex}.el-step.is-vertical .el-step__head{flex-grow:0;width:24px}.el-step.is-vertical .el-step__main{flex-grow:1;padding-left:10px}.el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.el-step.is-vertical .el-step__line{bottom:0;left:11px;top:0;width:2px}.el-step.is-vertical .el-step__icon.is-icon{width:24px}.el-step.is-center .el-step__head,.el-step.is-center .el-step__main{text-align:center}.el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.el-step.is-center .el-step__line{left:50%;right:-50%}.el-step.is-simple{align-items:center;display:flex}.el-step.is-simple .el-step__head{font-size:0;padding-right:10px;width:auto}.el-step.is-simple .el-step__icon{background:transparent;font-size:12px;height:16px;width:16px}.el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.el-step.is-simple .el-step__icon-inner.is-status{transform:scale(.8) translateY(1px)}.el-step.is-simple .el-step__main{align-items:stretch;display:flex;flex-grow:1;position:relative}.el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;overflow-wrap:break-word}.el-step.is-simple .el-step__arrow{align-items:center;display:flex;flex-grow:1;justify-content:center}.el-step.is-simple .el-step__arrow:after,.el-step.is-simple .el-step__arrow:before{background:var(--el-text-color-placeholder);content:"";display:inline-block;height:15px;position:absolute;width:1px}.el-step.is-simple .el-step__arrow:before{transform:rotate(-45deg) translateY(-4px);transform-origin:0 0}.el-step.is-simple .el-step__arrow:after{transform:rotate(45deg) translateY(4px);transform-origin:100% 100%}.el-step.is-simple:last-of-type .el-step__arrow{display:none}.el-steps{display:flex}.el-steps--simple{background:var(--el-fill-color-light);border-radius:4px;padding:13px 8%}.el-steps--horizontal{white-space:nowrap}.el-steps--vertical{flex-flow:column;height:100%}.el-switch{--el-switch-on-color:var(--el-color-primary);--el-switch-off-color:var(--el-border-color);align-items:center;display:inline-flex;font-size:14px;height:32px;line-height:20px;position:relative;vertical-align:middle}.el-switch.is-disabled .el-switch__core,.el-switch.is-disabled .el-switch__label{cursor:not-allowed}.el-switch__label{color:var(--el-text-color-primary);cursor:pointer;display:inline-block;font-size:14px;font-weight:500;height:20px;transition:var(--el-transition-duration-fast);vertical-align:middle}.el-switch__label.is-active{color:var(--el-color-primary)}.el-switch__label--left{margin-right:10px}.el-switch__label--right{margin-left:10px}.el-switch__label *{display:inline-block;font-size:14px;line-height:1}.el-switch__label .el-icon{height:inherit}.el-switch__label .el-icon svg{vertical-align:middle}.el-switch__input{height:0;margin:0;opacity:0;position:absolute;width:0}.el-switch__input:focus-visible~.el-switch__core{outline:2px solid var(--el-switch-on-color);outline-offset:1px}.el-switch__core{align-items:center;background:var(--el-switch-off-color);border:1px solid var(--el-switch-border-color,var(--el-switch-off-color));border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:20px;min-width:40px;outline:none;position:relative;transition:border-color var(--el-transition-duration),background-color var(--el-transition-duration)}.el-switch__core .el-switch__inner{align-items:center;display:flex;height:16px;justify-content:center;overflow:hidden;padding:0 4px 0 18px;transition:all var(--el-transition-duration);width:100%}.el-switch__core .el-switch__inner .is-icon,.el-switch__core .el-switch__inner .is-text{color:var(--el-color-white);font-size:12px;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.el-switch__core .el-switch__action{align-items:center;background-color:var(--el-color-white);border-radius:var(--el-border-radius-circle);color:var(--el-switch-off-color);display:flex;height:16px;justify-content:center;left:1px;position:absolute;transition:all var(--el-transition-duration);width:16px}.el-switch.is-checked .el-switch__core{background-color:var(--el-switch-on-color);border-color:var(--el-switch-border-color,var(--el-switch-on-color))}.el-switch.is-checked .el-switch__core .el-switch__action{color:var(--el-switch-on-color);left:calc(100% - 17px)}.el-switch.is-checked .el-switch__core .el-switch__inner{padding:0 18px 0 4px}.el-switch.is-disabled{opacity:.6}.el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.el-switch .label-fade-enter-from,.el-switch .label-fade-leave-active{opacity:0}.el-switch--large{font-size:14px;height:40px;line-height:24px}.el-switch--large .el-switch__label{font-size:14px;height:24px}.el-switch--large .el-switch__label *{font-size:14px}.el-switch--large .el-switch__core{border-radius:12px;height:24px;min-width:50px}.el-switch--large .el-switch__core .el-switch__inner{height:20px;padding:0 6px 0 22px}.el-switch--large .el-switch__core .el-switch__action{height:20px;width:20px}.el-switch--large.is-checked .el-switch__core .el-switch__action{left:calc(100% - 21px)}.el-switch--large.is-checked .el-switch__core .el-switch__inner{padding:0 22px 0 6px}.el-switch--small{font-size:12px;height:24px;line-height:16px}.el-switch--small .el-switch__label{font-size:12px;height:16px}.el-switch--small .el-switch__label *{font-size:12px}.el-switch--small .el-switch__core{border-radius:8px;height:16px;min-width:30px}.el-switch--small .el-switch__core .el-switch__inner{height:12px;padding:0 2px 0 14px}.el-switch--small .el-switch__core .el-switch__action{height:12px;width:12px}.el-switch--small.is-checked .el-switch__core .el-switch__action{left:calc(100% - 13px)}.el-switch--small.is-checked .el-switch__core .el-switch__inner{padding:0 14px 0 2px}.el-table-column--selection .cell{padding-left:14px;padding-right:14px}.el-table-filter{background-color:#ffffff;border:1px solid var(--el-border-color-lighter);border-radius:2px;box-shadow:var(--el-box-shadow-light);box-sizing:border-box}.el-table-filter__list{list-style:none;margin:0;min-width:100px;padding:5px 0}.el-table-filter__list-item{cursor:pointer;font-size:var(--el-font-size-base);line-height:36px;padding:0 10px}.el-table-filter__list-item:hover{background-color:var(--el-color-primary-light-9);color:var(--el-color-primary)}.el-table-filter__list-item.is-active{background-color:var(--el-color-primary);color:#ffffff}.el-table-filter__content{min-width:100px}.el-table-filter__bottom{border-top:1px solid var(--el-border-color-lighter);padding:8px}.el-table-filter__bottom button{background:transparent;border:none;color:var(--el-text-color-regular);cursor:pointer;font-size:var(--el-font-size-small);padding:0 3px}.el-table-filter__bottom button:hover{color:var(--el-color-primary)}.el-table-filter__bottom button:focus{outline:none}.el-table-filter__bottom button.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-table-filter__wrap{max-height:280px}.el-table-filter__checkbox-group{padding:10px}.el-table-filter__checkbox-group label.el-checkbox{align-items:center;display:flex;height:unset;margin-bottom:12px;margin-left:5px;margin-right:5px}.el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.el-table{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);background-color:var(--el-table-bg-color);box-sizing:border-box;color:var(--el-table-text-color);font-size:var(--el-font-size-base);height:-moz-fit-content;height:fit-content;max-width:100%;overflow:hidden;position:relative;width:100%}.el-table__inner-wrapper{display:flex;flex-direction:column;height:100%;position:relative}.el-table__inner-wrapper:before{bottom:0;height:1px;left:0}.el-table tbody:focus-visible{outline:none}.el-table.has-footer.el-table--fluid-height tr:last-child td.el-table__cell,.el-table.has-footer.el-table--scrollable-y tr:last-child td.el-table__cell{border-bottom-color:transparent}.el-table__empty-block{align-items:center;display:flex;justify-content:center;left:0;min-height:60px;position:sticky;text-align:center;width:100%}.el-table__empty-text{color:var(--el-text-color-secondary);line-height:60px;width:50%}.el-table__expand-column .cell{padding:0;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table__expand-icon{color:var(--el-text-color-regular);cursor:pointer;font-size:12px;height:20px;position:relative;transition:transform var(--el-transition-duration-fast) ease-in-out}.el-table__expand-icon--expanded{transform:rotate(90deg)}.el-table__expand-icon>.el-icon{font-size:12px}.el-table__expanded-cell{background-color:var(--el-table-expanded-cell-bg-color)}.el-table__expanded-cell[class*=cell]{padding:20px 50px}.el-table__expanded-cell:hover{background-color:transparent!important}.el-table__placeholder{display:inline-block;width:20px}.el-table__append-wrapper{overflow:hidden}.el-table--fit{border-bottom:0;border-right:0}.el-table--fit .el-table__cell.gutter{border-right-width:1px}.el-table--fit .el-table__inner-wrapper:before{width:100%}.el-table thead{color:var(--el-table-header-text-color)}.el-table thead th{font-weight:600}.el-table thead.is-group th.el-table__cell{background:var(--el-fill-color-light)}.el-table .el-table__cell{box-sizing:border-box;min-width:0;padding:8px 0;position:relative;text-align:left;text-overflow:ellipsis;vertical-align:middle;z-index:var(--el-table-index)}.el-table .el-table__cell.is-center{text-align:center}.el-table .el-table__cell.is-right{text-align:right}.el-table .el-table__cell.gutter{border-bottom-width:0;border-right-width:0;padding:0;width:15px}.el-table .el-table__cell.is-hidden>*{visibility:hidden}.el-table .cell{box-sizing:border-box;line-height:23px;overflow:hidden;overflow-wrap:break-word;padding:0 12px;text-overflow:ellipsis;white-space:normal}.el-table .cell.el-tooltip{min-width:50px;white-space:nowrap}.el-table--large{font-size:var(--el-font-size-base)}.el-table--large .el-table__cell{padding:12px 0}.el-table--large .cell{padding:0 16px}.el-table--default{font-size:var(--el-font-size-base)}.el-table--default .el-table__cell{padding:8px 0}.el-table--default .cell{padding:0 12px}.el-table--small{font-size:var(--el-font-size-extra-small)}.el-table--small .el-table__cell{padding:4px 0}.el-table--small .cell{padding:0 8px}.el-table tr{background-color:var(--el-table-tr-bg-color)}.el-table tr input[type=checkbox]{margin:0}.el-table td.el-table__cell,.el-table th.el-table__cell.is-leaf{border-bottom:var(--el-table-border)}.el-table th.el-table__cell.is-sortable{cursor:pointer}.el-table th.el-table__cell{background-color:var(--el-table-header-bg-color)}.el-table th.el-table__cell>.cell.highlight{color:var(--el-color-primary)}.el-table th.el-table__cell.required>div:before{background:#ff4d51;border-radius:50%;content:"";display:inline-block;height:8px;margin-right:5px;vertical-align:middle;width:8px}.el-table td.el-table__cell div{box-sizing:border-box}.el-table td.el-table__cell.gutter{width:0}.el-table--border .el-table__inner-wrapper:after,.el-table--border:after,.el-table--border:before,.el-table__inner-wrapper:before{background-color:var(--el-table-border-color);content:"";position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table--border .el-table__inner-wrapper:after{height:1px;left:0;top:0;width:100%;z-index:calc(var(--el-table-index) + 2)}.el-table--border:before{height:100%;left:0;top:-1px;width:1px}.el-table--border:after{height:100%;right:0;top:-1px;width:1px}.el-table--border .el-table__inner-wrapper{border-bottom:none;border-right:none}.el-table--border .el-table__footer-wrapper{flex-shrink:0;position:relative}.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table--border th.el-table__cell.gutter:last-of-type{border-bottom:var(--el-table-border);border-bottom-width:1px}.el-table--border th.el-table__cell{border-bottom:var(--el-table-border)}.el-table--hidden{visibility:hidden}.el-table__body-wrapper,.el-table__footer-wrapper,.el-table__header-wrapper{width:100%}.el-table__body-wrapper tr td.el-table-fixed-column--left,.el-table__body-wrapper tr td.el-table-fixed-column--right,.el-table__body-wrapper tr th.el-table-fixed-column--left,.el-table__body-wrapper tr th.el-table-fixed-column--right,.el-table__footer-wrapper tr td.el-table-fixed-column--left,.el-table__footer-wrapper tr td.el-table-fixed-column--right,.el-table__footer-wrapper tr th.el-table-fixed-column--left,.el-table__footer-wrapper tr th.el-table-fixed-column--right,.el-table__header-wrapper tr td.el-table-fixed-column--left,.el-table__header-wrapper tr td.el-table-fixed-column--right,.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background:inherit;position:sticky!important;z-index:calc(var(--el-table-index) + 1)}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{bottom:-1px;box-shadow:none;content:"";overflow-x:hidden;overflow-y:hidden;pointer-events:none;position:absolute;top:0;touch-action:none;width:10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-first-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-first-column:before{left:-10px}.el-table__body-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__body-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__footer-wrapper tr th.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr td.el-table-fixed-column--right.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--left.is-last-column:before,.el-table__header-wrapper tr th.el-table-fixed-column--right.is-last-column:before{box-shadow:none;right:-10px}.el-table__body-wrapper tr td.el-table__fixed-right-patch,.el-table__body-wrapper tr th.el-table__fixed-right-patch,.el-table__footer-wrapper tr td.el-table__fixed-right-patch,.el-table__footer-wrapper tr th.el-table__fixed-right-patch,.el-table__header-wrapper tr td.el-table__fixed-right-patch,.el-table__header-wrapper tr th.el-table__fixed-right-patch{background:#fff;position:sticky!important;right:0;z-index:calc(var(--el-table-index) + 1)}.el-table__header-wrapper{flex-shrink:0}.el-table__header-wrapper tr th.el-table-fixed-column--left,.el-table__header-wrapper tr th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body,.el-table__footer,.el-table__header{border-collapse:separate;table-layout:fixed}.el-table__header-wrapper{overflow:hidden}.el-table__header-wrapper tbody td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__footer-wrapper{flex-shrink:0;overflow:hidden}.el-table__footer-wrapper tfoot td.el-table__cell{background-color:var(--el-table-row-hover-bg-color);color:var(--el-table-text-color)}.el-table__body-wrapper .el-table-column--selection>.cell,.el-table__header-wrapper .el-table-column--selection>.cell{align-items:center;display:inline-flex;height:23px}.el-table__body-wrapper .el-table-column--selection .el-checkbox,.el-table__header-wrapper .el-table-column--selection .el-checkbox{height:unset}.el-table.is-scrolling-left .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-left.el-table--border .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:var(--el-table-border)}.el-table.is-scrolling-left th.el-table-fixed-column--left{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-right .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-right th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column.el-table__cell{border-right:none}.el-table.is-scrolling-middle .el-table-fixed-column--right.is-first-column:before{box-shadow:var(--el-table-fixed-right-column)}.el-table.is-scrolling-middle .el-table-fixed-column--left.is-last-column:before{box-shadow:var(--el-table-fixed-left-column)}.el-table.is-scrolling-none .el-table-fixed-column--left.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--left.is-last-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-first-column:before,.el-table.is-scrolling-none .el-table-fixed-column--right.is-last-column:before{box-shadow:none}.el-table.is-scrolling-none th.el-table-fixed-column--left,.el-table.is-scrolling-none th.el-table-fixed-column--right{background-color:var(--el-table-header-bg-color)}.el-table__body-wrapper{flex:1;overflow:hidden;position:relative}.el-table__body-wrapper .el-scrollbar__bar{z-index:calc(var(--el-table-index) + 2)}.el-table .caret-wrapper{align-items:center;cursor:pointer;display:inline-flex;flex-direction:column;height:14px;overflow:initial;position:relative;vertical-align:middle;width:24px}.el-table .sort-caret{border:5px solid transparent;height:0;left:7px;position:absolute;width:0}.el-table .sort-caret.ascending{border-bottom-color:var(--el-text-color-placeholder);top:-5px}.el-table .sort-caret.descending{border-top-color:var(--el-text-color-placeholder);bottom:-3px}.el-table .ascending .sort-caret.ascending{border-bottom-color:var(--el-color-primary)}.el-table .descending .sort-caret.descending{border-top-color:var(--el-color-primary)}.el-table .hidden-columns{position:absolute;visibility:hidden;z-index:-1}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background:var(--el-fill-color-lighter)}.el-table--striped .el-table__body tr.el-table__row--striped.current-row td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table__body tr.hover-row.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped.current-row>td.el-table__cell,.el-table__body tr.hover-row.el-table__row--striped>td.el-table__cell,.el-table__body tr.hover-row>td.el-table__cell,.el-table__body tr>td.hover-cell{background-color:var(--el-table-row-hover-bg-color)}.el-table__body tr.current-row>td.el-table__cell{background-color:var(--el-table-current-row-bg-color)}.el-table.el-table--scrollable-y .el-table__body-header{position:sticky;top:0;z-index:calc(var(--el-table-index) + 2)}.el-table.el-table--scrollable-y .el-table__body-footer{bottom:0;position:sticky;z-index:calc(var(--el-table-index) + 2)}.el-table__column-resize-proxy{border-left:var(--el-table-border);bottom:0;left:200px;position:absolute;top:0;width:0;z-index:calc(var(--el-table-index) + 9)}.el-table__column-filter-trigger{cursor:pointer;display:inline-block}.el-table__column-filter-trigger i{color:var(--el-color-info);font-size:14px;vertical-align:middle}.el-table__border-left-patch{height:100%;top:0;width:1px}.el-table__border-bottom-patch,.el-table__border-left-patch{background-color:var(--el-table-border-color);left:0;position:absolute;z-index:calc(var(--el-table-index) + 2)}.el-table__border-bottom-patch{height:1px}.el-table__border-right-patch{background-color:var(--el-table-border-color);height:100%;position:absolute;top:0;width:1px;z-index:calc(var(--el-table-index) + 2)}.el-table--enable-row-transition .el-table__body td.el-table__cell{transition:background-color .25s ease}.el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell{background-color:var(--el-table-row-hover-bg-color)}.el-table [class*=el-table__row--level] .el-table__expand-icon{display:inline-block;height:12px;line-height:12px;margin-right:8px;text-align:center;width:12px}.el-table .el-table.el-table--border .el-table__cell{border-right:var(--el-table-border)}.el-table:not(.el-table--border) .el-table__cell{border-right:none}.el-table:not(.el-table--border)>.el-table__inner-wrapper:after{content:none}.el-table-v2{--el-table-border-color:var(--el-border-color-lighter);--el-table-border:1px solid var(--el-table-border-color);--el-table-text-color:var(--el-text-color-regular);--el-table-header-text-color:var(--el-text-color-secondary);--el-table-row-hover-bg-color:var(--el-fill-color-light);--el-table-current-row-bg-color:var(--el-color-primary-light-9);--el-table-header-bg-color:var(--el-bg-color);--el-table-fixed-box-shadow:var(--el-box-shadow-light);--el-table-bg-color:var(--el-fill-color-blank);--el-table-tr-bg-color:var(--el-bg-color);--el-table-expanded-cell-bg-color:var(--el-fill-color-blank);--el-table-fixed-left-column:inset 10px 0 10px -10px rgba(0,0,0,0.15);--el-table-fixed-right-column:inset -10px 0 10px -10px rgba(0,0,0,0.15);--el-table-index:var(--el-index-normal);font-size:var(--el-font-size-base)}.el-table-v2 *{box-sizing:border-box}.el-table-v2__root{position:relative}.el-table-v2__root:hover .el-table-v2__main .el-virtual-scrollbar{opacity:1}.el-table-v2__main{background-color:var(--el-bg-color);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__main .el-vl__horizontal,.el-table-v2__main .el-vl__vertical{z-index:2}.el-table-v2__left{background-color:var(--el-bg-color);box-shadow:2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;left:0;overflow:hidden;position:absolute;top:0}.el-table-v2__left .el-virtual-scrollbar{opacity:0}.el-table-v2__left .el-vl__horizontal,.el-table-v2__left .el-vl__vertical{z-index:-1}.el-table-v2__right{background-color:var(--el-bg-color);box-shadow:-2px 0 4px 0 rgba(0,0,0,.06);display:flex;flex-direction:column-reverse;overflow:hidden;position:absolute;right:0;top:0}.el-table-v2__right .el-virtual-scrollbar{opacity:0}.el-table-v2__right .el-vl__horizontal,.el-table-v2__right .el-vl__vertical{z-index:-1}.el-table-v2__header-row,.el-table-v2__row{padding-inline-end:var(--el-table-scrollbar-size)}.el-table-v2__header-wrapper{overflow:hidden}.el-table-v2__header{overflow:hidden;position:relative}.el-table-v2__header .el-checkbox{z-index:0}.el-table-v2__footer{bottom:0;overflow:hidden;right:0}.el-table-v2__empty,.el-table-v2__footer,.el-table-v2__overlay{left:0;position:absolute}.el-table-v2__overlay{bottom:0;right:0;top:0;z-index:9999}.el-table-v2__header-row{border-bottom:var(--el-table-border);display:flex}.el-table-v2__header-cell{align-items:center;background-color:var(--el-table-header-bg-color);color:var(--el-table-header-text-color);display:flex;font-weight:bold;height:100%;overflow:hidden;padding:0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__header-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__header-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__header-cell.is-sortable{cursor:pointer}.el-table-v2__header-cell:hover .el-icon{display:block}.el-table-v2__sort-icon{display:none;opacity:.6;transition:opacity,display var(--el-transition-duration)}.el-table-v2__sort-icon.is-sorting{display:block;opacity:1}.el-table-v2__row{align-items:center;border-bottom:var(--el-table-border);display:flex;transition:background-color var(--el-transition-duration)}.el-table-v2__row.is-hovered,.el-table-v2__row:hover{background-color:var(--el-table-row-hover-bg-color)}.el-table-v2__row-cell{align-items:center;display:flex;height:100%;overflow:hidden;padding:0 8px}.el-table-v2__row-cell.is-align-center{justify-content:center;text-align:center}.el-table-v2__row-cell.is-align-right{justify-content:flex-end;text-align:right}.el-table-v2__expand-icon{cursor:pointer;margin:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.el-table-v2__expand-icon svg{transition:transform var(--el-transition-duration)}.el-table-v2__expand-icon.is-expanded svg{transform:rotate(90deg)}.el-table-v2:not(.is-dynamic) .el-table-v2__cell-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-table-v2.is-dynamic .el-table-v2__row{align-items:stretch;overflow:hidden}.el-table-v2.is-dynamic .el-table-v2__row .el-table-v2__row-cell{overflow-wrap:break-word}.el-tabs{--el-tabs-header-height:40px;display:flex}.el-tabs__header{align-items:center;display:flex;justify-content:space-between;margin:0 0 15px;padding:0;position:relative}.el-tabs__header-vertical{flex-direction:column}.el-tabs__active-bar{background-color:var(--el-color-primary);bottom:0;height:2px;left:0;list-style:none;position:absolute;transition:width var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),transform var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier);z-index:1}.el-tabs__new-tab{align-items:center;border:1px solid var(--el-border-color);border-radius:3px;color:var(--el-text-color-primary);cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;line-height:20px;margin:10px 0 10px 10px;text-align:center;transition:all .15s;width:20px}.el-tabs__new-tab .is-icon-plus{height:inherit;transform:scale(.8);width:inherit}.el-tabs__new-tab .is-icon-plus svg{vertical-align:middle}.el-tabs__new-tab:hover{color:var(--el-color-primary)}.el-tabs__new-tab-vertical{margin-left:0}.el-tabs__nav-wrap{flex:1 auto;margin-bottom:-1px;overflow:hidden;position:relative}.el-tabs__nav-wrap:after{background-color:var(--el-border-color-light);bottom:0;content:"";height:2px;left:0;position:absolute;width:100%;z-index:var(--el-index-normal)}.el-tabs__nav-wrap.is-scrollable{box-sizing:border-box;padding:0 20px}.el-tabs__nav-scroll{overflow:hidden}.el-tabs__nav-next,.el-tabs__nav-prev{color:var(--el-text-color-secondary);cursor:pointer;font-size:12px;line-height:44px;position:absolute;text-align:center;width:20px}.el-tabs__nav-next{right:0}.el-tabs__nav-prev{left:0}.el-tabs__nav{display:flex;float:left;position:relative;transition:transform var(--el-transition-duration);white-space:nowrap;z-index:calc(var(--el-index-normal) + 1)}.el-tabs__nav.is-stretch{display:flex;min-width:100%}.el-tabs__nav.is-stretch>*{flex:1;text-align:center}.el-tabs__item{align-items:center;box-sizing:border-box;color:var(--el-text-color-primary);display:flex;font-size:var(--el-font-size-base);font-weight:500;height:var(--el-tabs-header-height);justify-content:center;list-style:none;padding:0 20px;position:relative}.el-tabs__item:focus,.el-tabs__item:focus:active{outline:none}.el-tabs__item:focus-visible{border-radius:3px;box-shadow:0 0 2px 2px var(--el-color-primary) inset}.el-tabs__item .is-icon-close{border-radius:50%;margin-left:5px;text-align:center;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs__item .is-icon-close:before{display:inline-block;transform:scale(.9)}.el-tabs__item .is-icon-close:hover{background-color:var(--el-text-color-placeholder);color:#ffffff}.el-tabs__item.is-active,.el-tabs__item:hover{color:var(--el-color-primary)}.el-tabs__item:hover{cursor:pointer}.el-tabs__item.is-disabled{color:var(--el-disabled-text-color);cursor:not-allowed}.el-tabs__content{flex-grow:1;overflow:hidden;position:relative}.el-tabs--bottom>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:0}.el-tabs--bottom>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top>.el-tabs__header .el-tabs__item:last-child{padding-right:0}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:nth-child(2),.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:nth-child(2){padding-left:20px}.el-tabs--bottom.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--bottom.el-tabs--card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--border-card>.el-tabs__header .el-tabs__item:last-child,.el-tabs--top.el-tabs--card>.el-tabs__header .el-tabs__item:last-child{padding-right:20px}.el-tabs--card>.el-tabs__header{border-bottom:1px solid var(--el-border-color-light);height:var(--el-tabs-header-height)}.el-tabs--card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid var(--el-border-color-light);border-bottom:none;border-radius:4px 4px 0 0;box-sizing:border-box}.el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.el-tabs--card>.el-tabs__header .el-tabs__item .is-icon-close{font-size:12px;height:14px;overflow:hidden;position:relative;right:-2px;transform-origin:100% 50%;width:0}.el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid var(--el-border-color-light);transition:color var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier),padding var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .is-icon-close{width:14px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:var(--el-bg-color)}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .is-icon-close{width:14px}.el-tabs--border-card{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color)}.el-tabs--border-card>.el-tabs__content{padding:15px}.el-tabs--border-card>.el-tabs__header{background-color:var(--el-fill-color-light);border-bottom:1px solid var(--el-border-color-light);margin:0}.el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap:after{content:none}.el-tabs--border-card>.el-tabs__header .el-tabs__item{border:1px solid transparent;color:var(--el-text-color-secondary);margin-top:-1px;transition:all var(--el-transition-duration) var(--el-transition-function-ease-in-out-bezier)}.el-tabs--border-card>.el-tabs__header .el-tabs__item+.el-tabs__item,.el-tabs--border-card>.el-tabs__header .el-tabs__item:first-child{margin-left:-1px}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{background-color:var(--el-bg-color-overlay);border-left-color:var(--el-border-color);border-right-color:var(--el-border-color);color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item:not(.is-disabled):hover{color:var(--el-color-primary)}.el-tabs--border-card>.el-tabs__header .el-tabs__item.is-disabled{color:var(--el-disabled-text-color)}.el-tabs--border-card>.el-tabs__header .is-scrollable .el-tabs__item:first-child{margin-left:0}.el-tabs--bottom{flex-direction:column}.el-tabs--bottom .el-tabs__header.is-bottom{margin-bottom:0;margin-top:10px}.el-tabs--bottom.el-tabs--border-card .el-tabs__header.is-bottom{border-bottom:0;border-top:1px solid var(--el-border-color)}.el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap.is-bottom{margin-bottom:0;margin-top:-1px}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom:not(.is-active){border:1px solid transparent}.el-tabs--bottom.el-tabs--border-card .el-tabs__item.is-bottom{margin:0 -1px -1px}.el-tabs--left,.el-tabs--right{overflow:hidden}.el-tabs--left .el-tabs__header.is-left,.el-tabs--left .el-tabs__header.is-right,.el-tabs--left .el-tabs__nav-scroll,.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__header.is-left,.el-tabs--right .el-tabs__header.is-right,.el-tabs--right .el-tabs__nav-scroll,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{height:100%}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__active-bar.is-right,.el-tabs--right .el-tabs__active-bar.is-left,.el-tabs--right .el-tabs__active-bar.is-right{bottom:auto;height:auto;top:0;width:2px}.el-tabs--left .el-tabs__nav-wrap.is-left,.el-tabs--left .el-tabs__nav-wrap.is-right,.el-tabs--right .el-tabs__nav-wrap.is-left,.el-tabs--right .el-tabs__nav-wrap.is-right{margin-bottom:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{cursor:pointer;height:30px;line-height:30px;text-align:center;width:100%}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next i,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev i{transform:rotate(90deg)}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-prev,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-prev{left:auto;top:0}.el-tabs--left .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--left .el-tabs__nav-wrap.is-right>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-left>.el-tabs__nav-next,.el-tabs--right .el-tabs__nav-wrap.is-right>.el-tabs__nav-next{bottom:0;right:auto}.el-tabs--left .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--left .el-tabs__nav-wrap.is-right.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-left.is-scrollable,.el-tabs--right .el-tabs__nav-wrap.is-right.is-scrollable{padding:30px 0}.el-tabs--left .el-tabs__nav-wrap.is-left:after,.el-tabs--left .el-tabs__nav-wrap.is-right:after,.el-tabs--right .el-tabs__nav-wrap.is-left:after,.el-tabs--right .el-tabs__nav-wrap.is-right:after{bottom:auto;height:100%;top:0;width:2px}.el-tabs--left .el-tabs__nav.is-left,.el-tabs--left .el-tabs__nav.is-right,.el-tabs--right .el-tabs__nav.is-left,.el-tabs--right .el-tabs__nav.is-right{flex-direction:column}.el-tabs--left .el-tabs__item.is-left,.el-tabs--right .el-tabs__item.is-left{justify-content:flex-end}.el-tabs--left .el-tabs__item.is-right,.el-tabs--right .el-tabs__item.is-right{justify-content:flex-start}.el-tabs--left{flex-direction:row-reverse}.el-tabs--left .el-tabs__header.is-left{margin-bottom:0;margin-right:10px}.el-tabs--left .el-tabs__nav-wrap.is-left{margin-right:-1px}.el-tabs--left .el-tabs__active-bar.is-left,.el-tabs--left .el-tabs__nav-wrap.is-left:after{left:auto;right:0}.el-tabs--left .el-tabs__item.is-left{text-align:right}.el-tabs--left.el-tabs--card .el-tabs__active-bar.is-left{display:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left{border-bottom:none;border-left:none;border-right:1px solid var(--el-border-color-light);border-top:1px solid var(--el-border-color-light);text-align:left}.el-tabs--left.el-tabs--card .el-tabs__item.is-left:first-child{border-right:1px solid var(--el-border-color-light);border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:none;border-right:1px solid #fff}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:first-child{border-top:none}.el-tabs--left.el-tabs--card .el-tabs__item.is-left.is-active:last-child{border-bottom:none}.el-tabs--left.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-radius:4px 0 0 4px;border-right:none}.el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.el-tabs--left.el-tabs--border-card .el-tabs__header.is-left{border-right:1px solid var(--el-border-color)}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left{border:1px solid transparent;margin:-1px 0 -1px -1px}.el-tabs--left.el-tabs--border-card .el-tabs__item.is-left.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--right .el-tabs__header.is-right{margin-bottom:0;margin-left:10px}.el-tabs--right .el-tabs__nav-wrap.is-right{margin-left:-1px}.el-tabs--right .el-tabs__nav-wrap.is-right:after{left:0;right:auto}.el-tabs--right .el-tabs__active-bar.is-right{left:0}.el-tabs--right.el-tabs--card .el-tabs__active-bar.is-right{display:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right{border-bottom:none;border-top:1px solid var(--el-border-color-light)}.el-tabs--right.el-tabs--card .el-tabs__item.is-right:first-child{border-left:1px solid var(--el-border-color-light);border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active{border:1px solid var(--el-border-color-light);border-bottom:none;border-left:1px solid #fff;border-right:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:first-child{border-top:none}.el-tabs--right.el-tabs--card .el-tabs__item.is-right.is-active:last-child{border-bottom:none}.el-tabs--right.el-tabs--card .el-tabs__nav{border-bottom:1px solid var(--el-border-color-light);border-left:none;border-radius:0 4px 4px 0}.el-tabs--right.el-tabs--border-card .el-tabs__header.is-right{border-left:1px solid var(--el-border-color)}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right{border:1px solid transparent;margin:-1px -1px -1px 0}.el-tabs--right.el-tabs--border-card .el-tabs__item.is-right.is-active{border-color:rgb(209,219,229) transparent}.el-tabs--top{flex-direction:column-reverse}.slideInLeft-transition,.slideInRight-transition{display:inline-block}.slideInRight-enter{animation:slideInRight-enter var(--el-transition-duration)}.slideInRight-leave{animation:slideInRight-leave var(--el-transition-duration);left:0;position:absolute;right:0}.slideInLeft-enter{animation:slideInLeft-enter var(--el-transition-duration)}.slideInLeft-leave{animation:slideInLeft-leave var(--el-transition-duration);left:0;position:absolute;right:0}@keyframes slideInRight-enter{0%{opacity:0;transform:translateX(100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInRight-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(100%);transform-origin:0 0}}@keyframes slideInLeft-enter{0%{opacity:0;transform:translateX(-100%);transform-origin:0 0}to{opacity:1;transform:translateX(0);transform-origin:0 0}}@keyframes slideInLeft-leave{0%{opacity:1;transform:translateX(0);transform-origin:0 0}to{opacity:0;transform:translateX(-100%);transform-origin:0 0}}.el-tag{--el-tag-font-size:12px;--el-tag-border-radius:4px;--el-tag-border-radius-rounded:9999px;align-items:center;background-color:var(--el-tag-bg-color);border-color:var(--el-tag-border-color);border-radius:var(--el-tag-border-radius);border-style:solid;border-width:1px;box-sizing:border-box;color:var(--el-tag-text-color);display:inline-flex;font-size:var(--el-tag-font-size);height:24px;justify-content:center;line-height:1;padding:0 9px;vertical-align:middle;white-space:nowrap;--el-icon-size:14px}.el-tag,.el-tag.el-tag--primary{--el-tag-bg-color:var(--el-color-primary-light-9);--el-tag-border-color:var(--el-color-primary-light-8);--el-tag-hover-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-bg-color:var(--el-color-success-light-9);--el-tag-border-color:var(--el-color-success-light-8);--el-tag-hover-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-bg-color:var(--el-color-warning-light-9);--el-tag-border-color:var(--el-color-warning-light-8);--el-tag-hover-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-bg-color:var(--el-color-danger-light-9);--el-tag-border-color:var(--el-color-danger-light-8);--el-tag-hover-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-bg-color:var(--el-color-error-light-9);--el-tag-border-color:var(--el-color-error-light-8);--el-tag-hover-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-bg-color:var(--el-color-info-light-9);--el-tag-border-color:var(--el-color-info-light-8);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-hit{border-color:var(--el-color-primary)}.el-tag.is-round{border-radius:var(--el-tag-border-radius-rounded)}.el-tag .el-tag__close{color:var(--el-tag-text-color);flex-shrink:0}.el-tag .el-tag__close:hover{background-color:var(--el-tag-hover-color);color:var(--el-color-white)}.el-tag.el-tag--primary{--el-tag-text-color:var(--el-color-primary)}.el-tag.el-tag--success{--el-tag-text-color:var(--el-color-success)}.el-tag.el-tag--warning{--el-tag-text-color:var(--el-color-warning)}.el-tag.el-tag--danger{--el-tag-text-color:var(--el-color-danger)}.el-tag.el-tag--error{--el-tag-text-color:var(--el-color-error)}.el-tag.el-tag--info{--el-tag-text-color:var(--el-color-info)}.el-tag .el-icon{border-radius:50%;cursor:pointer;font-size:calc(var(--el-icon-size) - 2px);height:var(--el-icon-size);width:var(--el-icon-size)}.el-tag .el-tag__close{margin-left:6px}.el-tag--dark{--el-tag-text-color:var(--el-color-white)}.el-tag--dark,.el-tag--dark.el-tag--primary{--el-tag-bg-color:var(--el-color-primary);--el-tag-border-color:var(--el-color-primary);--el-tag-hover-color:var(--el-color-primary-light-3)}.el-tag--dark.el-tag--success{--el-tag-bg-color:var(--el-color-success);--el-tag-border-color:var(--el-color-success);--el-tag-hover-color:var(--el-color-success-light-3)}.el-tag--dark.el-tag--warning{--el-tag-bg-color:var(--el-color-warning);--el-tag-border-color:var(--el-color-warning);--el-tag-hover-color:var(--el-color-warning-light-3)}.el-tag--dark.el-tag--danger{--el-tag-bg-color:var(--el-color-danger);--el-tag-border-color:var(--el-color-danger);--el-tag-hover-color:var(--el-color-danger-light-3)}.el-tag--dark.el-tag--error{--el-tag-bg-color:var(--el-color-error);--el-tag-border-color:var(--el-color-error);--el-tag-hover-color:var(--el-color-error-light-3)}.el-tag--dark.el-tag--info{--el-tag-bg-color:var(--el-color-info);--el-tag-border-color:var(--el-color-info);--el-tag-hover-color:var(--el-color-info-light-3)}.el-tag--dark.el-tag--danger,.el-tag--dark.el-tag--error,.el-tag--dark.el-tag--info,.el-tag--dark.el-tag--primary,.el-tag--dark.el-tag--success,.el-tag--dark.el-tag--warning{--el-tag-text-color:var(--el-color-white)}.el-tag--plain,.el-tag--plain.el-tag--primary{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-primary-light-5);--el-tag-hover-color:var(--el-color-primary)}.el-tag--plain.el-tag--success{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-success-light-5);--el-tag-hover-color:var(--el-color-success)}.el-tag--plain.el-tag--warning{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-warning-light-5);--el-tag-hover-color:var(--el-color-warning)}.el-tag--plain.el-tag--danger{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-danger-light-5);--el-tag-hover-color:var(--el-color-danger)}.el-tag--plain.el-tag--error{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-error-light-5);--el-tag-hover-color:var(--el-color-error)}.el-tag--plain.el-tag--info{--el-tag-bg-color:var(--el-fill-color-blank);--el-tag-border-color:var(--el-color-info-light-5);--el-tag-hover-color:var(--el-color-info)}.el-tag.is-closable{padding-right:5px}.el-tag--large{height:32px;padding:0 11px;--el-icon-size:16px}.el-tag--large .el-tag__close{margin-left:8px}.el-tag--large.is-closable{padding-right:7px}.el-tag--small{height:20px;padding:0 7px;--el-icon-size:12px}.el-tag--small .el-tag__close{margin-left:4px}.el-tag--small.is-closable{padding-right:3px}.el-tag--small .el-icon-close{transform:scale(.8)}.el-tag.el-tag--primary.is-hit{border-color:var(--el-color-primary)}.el-tag.el-tag--success.is-hit{border-color:var(--el-color-success)}.el-tag.el-tag--warning.is-hit{border-color:var(--el-color-warning)}.el-tag.el-tag--danger.is-hit{border-color:var(--el-color-danger)}.el-tag.el-tag--error.is-hit{border-color:var(--el-color-error)}.el-tag.el-tag--info.is-hit{border-color:var(--el-color-info)}.el-text{--el-text-font-size:var(--el-font-size-base);--el-text-color:var(--el-text-color-regular);align-self:center;color:var(--el-text-color);font-size:var(--el-text-font-size);margin:0;overflow-wrap:break-word;padding:0}.el-text.is-truncated{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-text.is-line-clamp{display:-webkit-inline-box;-webkit-box-orient:vertical;overflow:hidden}.el-text--large{--el-text-font-size:var(--el-font-size-medium)}.el-text--default{--el-text-font-size:var(--el-font-size-base)}.el-text--small{--el-text-font-size:var(--el-font-size-extra-small)}.el-text.el-text--primary{--el-text-color:var(--el-color-primary)}.el-text.el-text--success{--el-text-color:var(--el-color-success)}.el-text.el-text--warning{--el-text-color:var(--el-color-warning)}.el-text.el-text--danger{--el-text-color:var(--el-color-danger)}.el-text.el-text--error{--el-text-color:var(--el-color-error)}.el-text.el-text--info{--el-text-color:var(--el-color-info)}.el-text>.el-icon{vertical-align:-2px}.time-select{margin:5px 0;min-width:0}.time-select .el-picker-panel__content{margin:0;max-height:200px}.time-select-item{font-size:14px;line-height:20px;padding:8px 10px}.time-select-item.disabled{color:var(--el-datepicker-border-color);cursor:not-allowed}.time-select-item:hover{background-color:var(--el-fill-color-light);cursor:pointer;font-weight:bold}.time-select .time-select-item.selected:not(.disabled){color:var(--el-color-primary);font-weight:bold}.el-timeline-item{padding-bottom:20px;position:relative}.el-timeline-item__wrapper{padding-left:28px;position:relative;top:-3px}.el-timeline-item__tail{border-left:2px solid var(--el-timeline-node-color);height:100%;left:4px;position:absolute}.el-timeline-item .el-timeline-item__icon{color:var(--el-color-white);font-size:var(--el-font-size-small)}.el-timeline-item__node{align-items:center;background-color:var(--el-timeline-node-color);border-color:var(--el-timeline-node-color);border-radius:50%;box-sizing:border-box;display:flex;justify-content:center;position:absolute}.el-timeline-item__node--normal{height:var(--el-timeline-node-size-normal);left:-1px;width:var(--el-timeline-node-size-normal)}.el-timeline-item__node--large{height:var(--el-timeline-node-size-large);left:-2px;width:var(--el-timeline-node-size-large)}.el-timeline-item__node.is-hollow{background:var(--el-color-white);border-style:solid;border-width:2px}.el-timeline-item__node--primary{background-color:var(--el-color-primary);border-color:var(--el-color-primary)}.el-timeline-item__node--success{background-color:var(--el-color-success);border-color:var(--el-color-success)}.el-timeline-item__node--warning{background-color:var(--el-color-warning);border-color:var(--el-color-warning)}.el-timeline-item__node--danger{background-color:var(--el-color-danger);border-color:var(--el-color-danger)}.el-timeline-item__node--info{background-color:var(--el-color-info);border-color:var(--el-color-info)}.el-timeline-item__dot{align-items:center;display:flex;justify-content:center;position:absolute}.el-timeline-item__content{color:var(--el-text-color-primary)}.el-timeline-item__timestamp{color:var(--el-text-color-secondary);font-size:var(--el-font-size-small);line-height:1}.el-timeline-item__timestamp.is-top{margin-bottom:8px;padding-top:4px}.el-timeline-item__timestamp.is-bottom{margin-top:8px}.el-timeline{--el-timeline-node-size-normal:12px;--el-timeline-node-size-large:14px;--el-timeline-node-color:var(--el-border-color-light);font-size:var(--el-font-size-base);list-style:none;margin:0}.el-timeline .el-timeline-item:last-child .el-timeline-item__tail{display:none}.el-timeline .el-timeline-item__center{align-items:center;display:flex}.el-timeline .el-timeline-item__center .el-timeline-item__wrapper{width:100%}.el-timeline .el-timeline-item__center .el-timeline-item__tail{top:0}.el-timeline .el-timeline-item__center:first-child .el-timeline-item__tail{height:calc(50% + 10px);top:calc(50% - 10px)}.el-timeline .el-timeline-item__center:last-child .el-timeline-item__tail{display:block;height:calc(50% - 10px)}.el-tooltip-v2__content{--el-tooltip-v2-padding:5px 10px;--el-tooltip-v2-border-radius:4px;--el-tooltip-v2-border-color:var(--el-border-color);background-color:var(--el-color-white);border:1px solid var(--el-border-color);border-radius:var(--el-tooltip-v2-border-radius);color:var(--el-color-black);padding:var(--el-tooltip-v2-padding)}.el-tooltip-v2__arrow{color:var(--el-color-white);height:var(--el-tooltip-v2-arrow-height);left:var(--el-tooltip-v2-arrow-x);pointer-events:none;position:absolute;top:var(--el-tooltip-v2-arrow-y);width:var(--el-tooltip-v2-arrow-width)}.el-tooltip-v2__arrow:after,.el-tooltip-v2__arrow:before{border:var(--el-tooltip-v2-arrow-border-width) solid transparent;content:"";height:0;position:absolute;width:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow{bottom:0}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:before{border-bottom:0;border-top-color:var(--el-color-white);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=top] .el-tooltip-v2__arrow:after{border-bottom:0;border-top-color:var(--el-border-color);border-top-width:var(--el-tooltip-v2-arrow-border-width);top:100%;z-index:-1}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow{top:0}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:before{border-bottom-color:var(--el-color-white);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=bottom] .el-tooltip-v2__arrow:after{border-bottom-color:var(--el-border-color);border-bottom-width:var(--el-tooltip-v2-arrow-border-width);border-top:0;bottom:100%;z-index:-1}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow{right:0}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:before{border-left-color:var(--el-color-white);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=left] .el-tooltip-v2__arrow:after{border-left-color:var(--el-border-color);border-left-width:var(--el-tooltip-v2-arrow-border-width);border-right:0;left:100%;z-index:-1}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow{left:0}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:before{border-left:0;border-right-color:var(--el-color-white);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:calc(100% - 1px)}.el-tooltip-v2__content[data-side^=right] .el-tooltip-v2__arrow:after{border-left:0;border-right-color:var(--el-border-color);border-right-width:var(--el-tooltip-v2-arrow-border-width);right:100%;z-index:-1}.el-tooltip-v2__content.is-dark{--el-tooltip-v2-border-color:transparent;color:var(--el-color-white)}.el-tooltip-v2__content.is-dark,.el-tooltip-v2__content.is-dark .el-tooltip-v2__arrow{background-color:var(--el-color-black);border-color:transparent}.el-transfer{--el-transfer-border-color:var(--el-border-color-lighter);--el-transfer-border-radius:var(--el-border-radius-base);--el-transfer-panel-width:200px;--el-transfer-panel-header-height:40px;--el-transfer-panel-header-bg-color:var(--el-fill-color-light);--el-transfer-panel-footer-height:40px;--el-transfer-panel-body-height:278px;--el-transfer-item-height:30px;--el-transfer-filter-height:32px;font-size:var(--el-font-size-base)}.el-transfer__buttons{display:inline-block;padding:0 30px;vertical-align:middle}.el-transfer__button{vertical-align:top}.el-transfer__button:nth-child(2){margin:0 0 0 10px}.el-transfer__button i,.el-transfer__button span{font-size:14px}.el-transfer__button .el-icon+span{margin-left:0}.el-transfer-panel{background:var(--el-bg-color-overlay);box-sizing:border-box;display:inline-block;max-height:100%;overflow:hidden;position:relative;text-align:left;vertical-align:middle;width:var(--el-transfer-panel-width)}.el-transfer-panel__body{border-bottom:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);border-left:1px solid var(--el-transfer-border-color);border-right:1px solid var(--el-transfer-border-color);height:var(--el-transfer-panel-body-height);overflow:hidden}.el-transfer-panel__body.is-with-footer{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.el-transfer-panel__list{box-sizing:border-box;height:var(--el-transfer-panel-body-height);list-style:none;margin:0;overflow:auto;padding:6px 0}.el-transfer-panel__list.is-filterable{height:calc(100% - var(--el-transfer-filter-height) - 30px);padding-top:0}.el-transfer-panel__item{display:block!important;height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);padding-left:15px}.el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.el-transfer-panel__item.el-checkbox{color:var(--el-text-color-regular)}.el-transfer-panel__item:hover{color:var(--el-color-primary)}.el-transfer-panel__item.el-checkbox .el-checkbox__label{box-sizing:border-box;display:block;line-height:var(--el-transfer-item-height);overflow:hidden;padding-left:22px;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.el-transfer-panel__filter{box-sizing:border-box;padding:15px;text-align:center}.el-transfer-panel__filter .el-input__inner{box-sizing:border-box;display:inline-block;font-size:12px;height:var(--el-transfer-filter-height);width:100%}.el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.el-transfer-panel .el-transfer-panel__header{align-items:center;background:var(--el-transfer-panel-header-bg-color);border:1px solid var(--el-transfer-border-color);border-top-left-radius:var(--el-transfer-border-radius);border-top-right-radius:var(--el-transfer-border-radius);box-sizing:border-box;color:var(--el-color-black);display:flex;height:var(--el-transfer-panel-header-height);margin:0;padding-left:15px}.el-transfer-panel .el-transfer-panel__header .el-checkbox{align-items:center;display:flex;position:relative;width:100%}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{color:var(--el-text-color-primary);font-size:16px;font-weight:normal}.el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{color:var(--el-text-color-secondary);font-size:12px;font-weight:normal;position:absolute;right:15px;top:50%;transform:translate3d(0,-50%,0)}.el-transfer-panel .el-transfer-panel__footer{background:var(--el-bg-color-overlay);border:1px solid var(--el-transfer-border-color);border-bottom-left-radius:var(--el-transfer-border-radius);border-bottom-right-radius:var(--el-transfer-border-radius);height:var(--el-transfer-panel-footer-height);margin:0;padding:0}.el-transfer-panel .el-transfer-panel__footer:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-transfer-panel .el-transfer-panel__footer .el-checkbox{color:var(--el-text-color-regular);padding-left:20px}.el-transfer-panel .el-transfer-panel__empty{color:var(--el-text-color-secondary);height:var(--el-transfer-item-height);line-height:var(--el-transfer-item-height);margin:0;padding:6px 15px 0;text-align:center}.el-transfer-panel .el-checkbox__label{padding-left:8px}.el-transfer-panel .el-checkbox__inner{border-radius:3px;height:14px;width:14px}.el-transfer-panel .el-checkbox__inner:after{height:6px;left:4px;width:3px}.el-tree{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder);background:var(--el-fill-color-blank);color:var(--el-tree-text-color);cursor:default;font-size:var(--el-font-size-base);position:relative}.el-tree__empty-block{height:100%;min-height:60px;position:relative;text-align:center;width:100%}.el-tree__empty-text{color:var(--el-text-color-secondary);font-size:var(--el-font-size-base);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.el-tree__drop-indicator{background-color:var(--el-color-primary);height:1px;left:0;position:absolute;right:0}.el-tree-node{outline:none;white-space:nowrap}.el-tree-node:focus>.el-tree-node__content{background-color:var(--el-tree-node-hover-bg-color)}.el-tree-node.is-drop-inner>.el-tree-node__content .el-tree-node__label{background-color:var(--el-color-primary);color:#fff}.el-tree-node__content{--el-checkbox-height:var(--el-tree-node-content-height);align-items:center;cursor:pointer;display:flex;height:var(--el-tree-node-content-height)}.el-tree-node__content>.el-tree-node__expand-icon{box-sizing:content-box;padding:6px}.el-tree-node__content>label.el-checkbox{margin-right:8px}.el-tree-node__content:hover{background-color:var(--el-tree-node-hover-bg-color)}.el-tree.is-dragging .el-tree-node__content{cursor:move}.el-tree.is-dragging .el-tree-node__content *{pointer-events:none}.el-tree.is-dragging.is-drop-not-allow .el-tree-node__content{cursor:not-allowed}.el-tree-node__expand-icon{color:var(--el-tree-expand-icon-color);cursor:pointer;font-size:12px;transform:rotate(0deg);transition:transform var(--el-transition-duration) ease-in-out}.el-tree-node__expand-icon.expanded{transform:rotate(90deg)}.el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default;visibility:hidden}.el-tree-node__expand-icon.is-hidden{visibility:hidden}.el-tree-node__loading-icon{color:var(--el-tree-expand-icon-color);font-size:var(--el-font-size-base);margin-right:8px}.el-tree-node>.el-tree-node__children{background-color:transparent;overflow:hidden}.el-tree-node.is-expanded>.el-tree-node__children{display:block}.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:var(--el-color-primary-light-9)}.el-tree-select{--el-tree-node-content-height:26px;--el-tree-node-hover-bg-color:var(--el-fill-color-light);--el-tree-text-color:var(--el-text-color-regular);--el-tree-expand-icon-color:var(--el-text-color-placeholder)}.el-tree-select__popper .el-tree-node__expand-icon{margin-left:8px}.el-tree-select__popper .el-tree-node.is-checked>.el-tree-node__content .el-select-dropdown__item.selected:after{content:none}.el-tree-select__popper .el-select-dropdown__list>.el-select-dropdown__item{padding-left:32px}.el-tree-select__popper .el-select-dropdown__item{background:transparent!important;flex:1;height:20px;line-height:20px;padding-left:0}.el-upload{--el-upload-dragger-padding-horizontal:40px;--el-upload-dragger-padding-vertical:10px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center;outline:none}.el-upload.is-disabled{cursor:not-allowed}.el-upload.is-disabled:focus{color:inherit}.el-upload.is-disabled:focus,.el-upload.is-disabled:focus .el-upload-dragger{border-color:var(--el-border-color-darker)}.el-upload.is-disabled .el-upload-dragger{background-color:var(--el-disabled-bg-color);cursor:not-allowed}.el-upload.is-disabled .el-upload-dragger .el-upload__text{color:var(--el-text-color-placeholder)}.el-upload.is-disabled .el-upload-dragger .el-upload__text em{color:var(--el-disabled-text-color)}.el-upload.is-disabled .el-upload-dragger:hover{border-color:var(--el-border-color-darker)}.el-upload__input{display:none}.el-upload__tip{color:var(--el-text-color-regular);font-size:12px;margin-top:7px}.el-upload iframe{filter:alpha(opacity=0);left:0;opacity:0;position:absolute;top:0;z-index:-1}.el-upload--picture-card{--el-upload-picture-card-size:148px;align-items:center;background-color:var(--el-fill-color-lighter);border:1px dashed var(--el-border-color-darker);border-radius:6px;box-sizing:border-box;cursor:pointer;display:inline-flex;height:var(--el-upload-picture-card-size);justify-content:center;vertical-align:top;width:var(--el-upload-picture-card-size)}.el-upload--picture-card>i{color:var(--el-text-color-secondary);font-size:28px}.el-upload--picture-card:hover{border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-upload.is-drag{display:block}.el-upload:focus{color:var(--el-color-primary)}.el-upload:focus,.el-upload:focus .el-upload-dragger{border-color:var(--el-color-primary)}.el-upload-dragger{background-color:var(--el-fill-color-blank);border:1px dashed var(--el-border-color);border-radius:6px;box-sizing:border-box;cursor:pointer;overflow:hidden;padding:var(--el-upload-dragger-padding-horizontal) var(--el-upload-dragger-padding-vertical);position:relative;text-align:center}.el-upload-dragger .el-icon--upload{color:var(--el-text-color-placeholder);font-size:67px;line-height:50px;margin-bottom:16px}.el-upload-dragger+.el-upload__tip{text-align:center}.el-upload-dragger~.el-upload__files{border-top:var(--el-border);margin-top:7px;padding-top:5px}.el-upload-dragger .el-upload__text{color:var(--el-text-color-regular);font-size:14px;text-align:center}.el-upload-dragger .el-upload__text em{color:var(--el-color-primary);font-style:normal}.el-upload-dragger:hover{border-color:var(--el-color-primary)}.el-upload-dragger.is-dragover{background-color:var(--el-color-primary-light-9);border:2px dashed var(--el-color-primary);padding:calc(var(--el-upload-dragger-padding-horizontal) - 1px) calc(var(--el-upload-dragger-padding-vertical) - 1px)}.el-upload-list{list-style:none;margin:10px 0 0;padding:0;position:relative}.el-upload-list__item{border-radius:4px;box-sizing:border-box;color:var(--el-text-color-regular);font-size:14px;margin-bottom:5px;position:relative;transition:all .5s cubic-bezier(.55,0,.1,1);width:100%}.el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.el-upload-list__item .el-icon--upload-success{color:var(--el-color-success)}.el-upload-list__item .el-icon--close{color:var(--el-text-color-regular);cursor:pointer;display:none;opacity:.75;position:absolute;right:5px;top:50%;transform:translateY(-50%);transition:opacity var(--el-transition-duration)}.el-upload-list__item .el-icon--close:hover{color:var(--el-color-primary);opacity:1}.el-upload-list__item .el-icon--close-tip{color:var(--el-color-primary);cursor:pointer;display:none;font-size:12px;font-style:normal;opacity:1;position:absolute;right:5px;top:1px}.el-upload-list__item:hover{background-color:var(--el-fill-color-light)}.el-upload-list__item:hover .el-icon--close{display:inline-flex}.el-upload-list__item:hover .el-progress__text{display:none}.el-upload-list__item .el-upload-list__item-info{display:inline-flex;flex-direction:column;justify-content:center;margin-left:4px;width:calc(100% - 30px)}.el-upload-list__item.is-success .el-upload-list__item-status-label{display:inline-flex}.el-upload-list__item.is-success .el-upload-list__item-name:focus,.el-upload-list__item.is-success .el-upload-list__item-name:hover{color:var(--el-color-primary);cursor:pointer}.el-upload-list__item.is-success:focus:not(:hover) .el-icon--close-tip{display:inline-block}.el-upload-list__item.is-success:active,.el-upload-list__item.is-success:not(.focusing):focus{outline-width:0}.el-upload-list__item.is-success:active .el-icon--close-tip,.el-upload-list__item.is-success:not(.focusing):focus .el-icon--close-tip{display:none}.el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none;opacity:0}.el-upload-list__item-name{align-items:center;color:var(--el-text-color-regular);display:inline-flex;font-size:var(--el-font-size-base);padding:0 4px;text-align:center;transition:color var(--el-transition-duration)}.el-upload-list__item-name .el-icon{color:var(--el-text-color-secondary);margin-right:6px}.el-upload-list__item-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.el-upload-list__item-status-label{align-items:center;display:none;height:100%;justify-content:center;line-height:inherit;position:absolute;right:5px;top:0;transition:opacity var(--el-transition-duration)}.el-upload-list__item-delete{color:var(--el-text-color-regular);display:none;font-size:12px;position:absolute;right:10px;top:0}.el-upload-list__item-delete:hover{color:var(--el-color-primary)}.el-upload-list--picture-card{--el-upload-list-picture-card-size:148px;display:inline-flex;flex-wrap:wrap;margin:0}.el-upload-list--picture-card .el-upload-list__item{background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:inline-flex;height:var(--el-upload-list-picture-card-size);margin:0 8px 8px 0;overflow:hidden;padding:0;width:var(--el-upload-list-picture-card-size)}.el-upload-list--picture-card .el-upload-list__item .el-icon--check,.el-upload-list--picture-card .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture-card .el-upload-list__item .el-icon--close{display:none}.el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:block;opacity:0}.el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture-card .el-upload-list__item .el-upload-list__item-name{display:none}.el-upload-list--picture-card .el-upload-list__item-thumbnail{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.el-upload-list--picture-card .el-upload-list__item-status-label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-list--picture-card .el-upload-list__item-actions{align-items:center;background-color:var(--el-overlay-color-lighter);color:#fff;cursor:default;display:inline-flex;font-size:20px;height:100%;justify-content:center;left:0;opacity:0;position:absolute;top:0;transition:opacity var(--el-transition-duration);width:100%}.el-upload-list--picture-card .el-upload-list__item-actions span{cursor:pointer;display:none}.el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:16px}.el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{color:inherit;font-size:inherit;position:static}.el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-flex}.el-upload-list--picture-card .el-progress{bottom:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:126px}.el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.el-upload-list--picture .el-upload-list__item{align-items:center;background-color:var(--el-fill-color-blank);border:1px solid var(--el-border-color);border-radius:6px;box-sizing:border-box;display:flex;margin-top:10px;overflow:hidden;padding:10px;z-index:0}.el-upload-list--picture .el-upload-list__item .el-icon--check,.el-upload-list--picture .el-upload-list__item .el-icon--circle-check{color:#ffffff}.el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{display:inline-flex;opacity:0}.el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.el-upload-list--picture .el-upload-list__item .el-icon--close{top:5px;transform:translateY(0)}.el-upload-list--picture .el-upload-list__item-thumbnail{align-items:center;background-color:var(--el-color-white);display:inline-flex;height:70px;justify-content:center;-o-object-fit:contain;object-fit:contain;position:relative;width:70px;z-index:1}.el-upload-list--picture .el-upload-list__item-status-label{background:var(--el-color-success);height:26px;position:absolute;right:-17px;text-align:center;top:-7px;transform:rotate(45deg);width:46px}.el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;transform:rotate(-45deg)}.el-upload-list--picture .el-progress{position:relative;top:-7px}.el-upload-cover{cursor:default;height:100%;left:0;overflow:hidden;position:absolute;top:0;width:100%;z-index:10}.el-upload-cover:after{content:"";display:inline-block;height:100%;vertical-align:middle}.el-upload-cover img{display:block;height:100%;width:100%}.el-upload-cover__label{background:var(--el-color-success);height:24px;right:-15px;text-align:center;top:-6px;transform:rotate(45deg);width:40px}.el-upload-cover__label i{color:#fff;font-size:12px;margin-top:11px;transform:rotate(-45deg)}.el-upload-cover__progress{display:inline-block;position:static;vertical-align:middle;width:243px}.el-upload-cover__progress+.el-upload__inner{opacity:0}.el-upload-cover__content{height:100%;left:0;position:absolute;top:0;width:100%}.el-upload-cover__interact{background-color:var(--el-overlay-color-light);bottom:0;height:100%;left:0;position:absolute;text-align:center;width:100%}.el-upload-cover__interact .btn{color:#ffffff;cursor:pointer;display:inline-block;font-size:14px;margin-top:60px;transition:var(--el-transition-md-fade);vertical-align:middle}.el-upload-cover__interact .btn i{margin-top:0}.el-upload-cover__interact .btn span{opacity:0;transition:opacity .15s linear}.el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.el-upload-cover__interact .btn:hover{transform:translateY(-13px)}.el-upload-cover__interact .btn:hover span{opacity:1}.el-upload-cover__interact .btn i{color:#ffffff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.el-upload-cover__title{background-color:#ffffff;bottom:0;color:var(--el-text-color-primary);font-size:14px;font-weight:normal;height:36px;left:0;line-height:36px;margin:0;overflow:hidden;padding:0 10px;position:absolute;text-align:left;text-overflow:ellipsis;white-space:nowrap;width:100%}.el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.el-vl__wrapper{position:relative}.el-vl__wrapper.always-on .el-virtual-scrollbar,.el-vl__wrapper:hover .el-virtual-scrollbar{opacity:1}.el-vl__window{scrollbar-width:none}.el-vl__window::-webkit-scrollbar{display:none}.el-virtual-scrollbar{opacity:0;transition:opacity .34s ease-out}.el-virtual-scrollbar.always-on{opacity:1}.el-vg__wrapper{position:relative}.el-popper{--el-popper-border-radius:var(--el-popover-border-radius,4px);border-radius:var(--el-popper-border-radius);font-size:12px;line-height:20px;min-width:10px;overflow-wrap:break-word;padding:5px 11px;position:absolute;visibility:visible;z-index:2000}.el-popper.is-dark{color:var(--el-bg-color)}.el-popper.is-dark,.el-popper.is-dark>.el-popper__arrow:before{background:var(--el-text-color-primary);border:1px solid var(--el-text-color-primary)}.el-popper.is-dark>.el-popper__arrow:before{right:0}.el-popper.is-light,.el-popper.is-light>.el-popper__arrow:before{background:var(--el-bg-color-overlay);border:1px solid var(--el-border-color-light)}.el-popper.is-light>.el-popper__arrow:before{right:0}.el-popper.is-pure{padding:0}.el-popper__arrow,.el-popper__arrow:before{height:10px;position:absolute;width:10px;z-index:-1}.el-popper__arrow:before{background:var(--el-text-color-primary);box-sizing:border-box;content:" ";transform:rotate(45deg)}.el-popper[data-popper-placement^=top]>.el-popper__arrow{bottom:-5px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-bottom-right-radius:2px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow{top:-5px}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-top-left-radius:2px}.el-popper[data-popper-placement^=left]>.el-popper__arrow{right:-5px}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-top-right-radius:2px}.el-popper[data-popper-placement^=right]>.el-popper__arrow{left:-5px}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-bottom-left-radius:2px}.el-popper[data-popper-placement^=top]>.el-popper__arrow:before{border-left-color:transparent!important;border-top-color:transparent!important}.el-popper[data-popper-placement^=bottom]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-right-color:transparent!important}.el-popper[data-popper-placement^=left]>.el-popper__arrow:before{border-bottom-color:transparent!important;border-left-color:transparent!important}.el-popper[data-popper-placement^=right]>.el-popper__arrow:before{border-right-color:transparent!important;border-top-color:transparent!important}.el-statistic{--el-statistic-title-font-weight:400;--el-statistic-title-font-size:var(--el-font-size-extra-small);--el-statistic-title-color:var(--el-text-color-regular);--el-statistic-content-font-weight:400;--el-statistic-content-font-size:var(--el-font-size-extra-large);--el-statistic-content-color:var(--el-text-color-primary)}.el-statistic__head{color:var(--el-statistic-title-color);font-size:var(--el-statistic-title-font-size);font-weight:var(--el-statistic-title-font-weight);line-height:20px;margin-bottom:4px}.el-statistic__content{color:var(--el-statistic-content-color);font-size:var(--el-statistic-content-font-size);font-weight:var(--el-statistic-content-font-weight)}.el-statistic__value{display:inline-block}.el-statistic__prefix{display:inline-block;margin-right:4px}.el-statistic__suffix{display:inline-block;margin-left:4px}.el-tour{--el-tour-width:520px;--el-tour-padding-primary:12px;--el-tour-font-line-height:var(--el-font-line-height-primary);--el-tour-title-font-size:16px;--el-tour-title-text-color:var(--el-text-color-primary);--el-tour-title-font-weight:400;--el-tour-close-color:var(--el-color-info);--el-tour-font-size:14px;--el-tour-color:var(--el-text-color-primary);--el-tour-bg-color:var(--el-bg-color);--el-tour-border-radius:4px}.el-tour__hollow{transition:all var(--el-transition-duration) ease}.el-tour__content{border-radius:var(--el-tour-border-radius);box-shadow:var(--el-box-shadow-light);outline:none;overflow-wrap:break-word;padding:var(--el-tour-padding-primary);width:var(--el-tour-width)}.el-tour__arrow,.el-tour__content{background:var(--el-tour-bg-color);box-sizing:border-box}.el-tour__arrow{height:10px;pointer-events:none;position:absolute;transform:rotate(45deg);width:10px}.el-tour__content[data-side^=top] .el-tour__arrow{border-left-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=bottom] .el-tour__arrow{border-bottom-color:transparent;border-right-color:transparent}.el-tour__content[data-side^=left] .el-tour__arrow{border-bottom-color:transparent;border-left-color:transparent}.el-tour__content[data-side^=right] .el-tour__arrow{border-right-color:transparent;border-top-color:transparent}.el-tour__content[data-side^=top] .el-tour__arrow{bottom:-5px}.el-tour__content[data-side^=bottom] .el-tour__arrow{top:-5px}.el-tour__content[data-side^=left] .el-tour__arrow{right:-5px}.el-tour__content[data-side^=right] .el-tour__arrow{left:-5px}.el-tour__closebtn{background:transparent;border:none;cursor:pointer;font-size:var(--el-message-close-size,16px);height:40px;outline:none;padding:0;position:absolute;right:0;top:0;width:40px}.el-tour__closebtn .el-tour__close{color:var(--el-tour-close-color);font-size:inherit}.el-tour__closebtn:focus .el-tour__close,.el-tour__closebtn:hover .el-tour__close{color:var(--el-color-primary)}.el-tour__header{padding-bottom:var(--el-tour-padding-primary)}.el-tour__header.show-close{padding-right:calc(var(--el-tour-padding-primary) + var(--el-message-close-size, 16px))}.el-tour__title{color:var(--el-tour-title-text-color);font-size:var(--el-tour-title-font-size);font-weight:var(--el-tour-title-font-weight);line-height:var(--el-tour-font-line-height)}.el-tour__body{color:var(--el-tour-text-color);font-size:var(--el-tour-font-size)}.el-tour__body img,.el-tour__body video{max-width:100%}.el-tour__footer{box-sizing:border-box;display:flex;justify-content:space-between;padding-top:var(--el-tour-padding-primary)}.el-tour__content .el-tour-indicators{display:inline-block;flex:1}.el-tour__content .el-tour-indicator{background:var(--el-color-info-light-9);border-radius:50%;display:inline-block;height:6px;margin-right:6px;width:6px}.el-tour__content .el-tour-indicator.is-active{background:var(--el-color-primary)}.el-tour.el-tour--primary{--el-tour-title-text-color:#fff;--el-tour-text-color:#fff;--el-tour-bg-color:var(--el-color-primary);--el-tour-close-color:#fff}.el-tour.el-tour--primary .el-tour__closebtn:focus .el-tour__close,.el-tour.el-tour--primary .el-tour__closebtn:hover .el-tour__close{color:var(--el-tour-title-text-color)}.el-tour.el-tour--primary .el-button--default{background:#fff;border-color:var(--el-color-primary);color:var(--el-color-primary)}.el-tour.el-tour--primary .el-button--primary{border-color:#fff}.el-tour.el-tour--primary .el-tour-indicator{background:rgba(255,255,255,.15)}.el-tour.el-tour--primary .el-tour-indicator.is-active{background:#fff}.el-tour-parent--hidden{overflow:hidden}.el-anchor{--el-anchor-bg-color:var(--el-bg-color);--el-anchor-padding-indent:14px;--el-anchor-line-height:22px;--el-anchor-font-size:12px;--el-anchor-color:var(--el-text-color-secondary);--el-anchor-active-color:var(--el-color-primary);--el-anchor-marker-bg-color:var(--el-color-primary);background-color:var(--el-anchor-bg-color);position:relative}.el-anchor__marker{background-color:var(--el-anchor-marker-bg-color);border-radius:4px;opacity:0;position:absolute;z-index:0}.el-anchor.el-anchor--vertical .el-anchor__marker{height:14px;left:0;top:8px;transition:top .25s ease-in-out,opacity .25s;width:4px}.el-anchor.el-anchor--vertical .el-anchor__list{padding-left:var(--el-anchor-padding-indent)}.el-anchor.el-anchor--vertical.el-anchor--underline:before{background-color:rgba(5,5,5,.06);content:"";height:100%;left:0;position:absolute;width:2px}.el-anchor.el-anchor--vertical.el-anchor--underline .el-anchor__marker{border-radius:unset;width:2px}.el-anchor.el-anchor--horizontal .el-anchor__marker{bottom:0;height:2px;transition:left .25s ease-in-out,opacity .25s,width .25s;width:20px}.el-anchor.el-anchor--horizontal .el-anchor__list{display:flex;padding-bottom:4px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item{padding-left:16px}.el-anchor.el-anchor--horizontal .el-anchor__list .el-anchor__item:first-child{padding-left:0}.el-anchor.el-anchor--horizontal.el-anchor--underline:before{background-color:rgba(5,5,5,.06);bottom:0;content:"";height:2px;position:absolute;width:100%}.el-anchor.el-anchor--horizontal.el-anchor--underline .el-anchor__marker{border-radius:unset;height:2px}.el-anchor__item{display:flex;flex-direction:column;overflow:hidden}.el-anchor__link{cursor:pointer;font-size:var(--el-anchor-font-size);line-height:var(--el-anchor-line-height);max-width:100%;outline:none;overflow:hidden;padding:4px 0;text-decoration:none;text-overflow:ellipsis;transition:color var(--el-transition-duration);white-space:nowrap}.el-anchor__link,.el-anchor__link:focus,.el-anchor__link:hover{color:var(--el-anchor-color)}.el-anchor__link.is-active{color:var(--el-anchor-active-color)}.el-anchor .el-anchor__list .el-anchor__item a{display:inline-block}.el-segmented--vertical{flex-direction:column}.el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented{--el-segmented-color:var(--el-text-color-regular);--el-segmented-bg-color:var(--el-fill-color-light);--el-segmented-padding:2px;--el-segmented-item-selected-color:var(--el-color-white);--el-segmented-item-selected-bg-color:var(--el-color-primary);--el-segmented-item-selected-disabled-bg-color:var(--el-color-primary-light-5);--el-segmented-item-hover-color:var(--el-text-color-primary);--el-segmented-item-hover-bg-color:var(--el-fill-color-dark);--el-segmented-item-active-bg-color:var(--el-fill-color-darker);--el-segmented-item-disabled-color:var(--el-text-color-placeholder);align-items:stretch;background:var(--el-segmented-bg-color);border-radius:var(--el-border-radius-base);box-sizing:border-box;color:var(--el-segmented-color);display:inline-flex;font-size:14px;min-height:32px;padding:var(--el-segmented-padding)}.el-segmented__group{align-items:stretch;display:flex;position:relative;width:100%}.el-segmented__item-selected{background:var(--el-segmented-item-selected-bg-color);border-radius:calc(var(--el-border-radius-base) - 2px);height:100%;left:0;pointer-events:none;position:absolute;top:0;transition:all .3s;width:10px}.el-segmented__item-selected.is-disabled{background:var(--el-segmented-item-selected-disabled-bg-color)}.el-segmented__item-selected.is-focus-visible:before{border-radius:inherit;content:"";inset:0;outline:2px solid var(--el-segmented-item-selected-bg-color);outline-offset:1px;position:absolute}.el-segmented__item{align-items:center;border-radius:calc(var(--el-border-radius-base) - 2px);cursor:pointer;display:flex;flex:1;padding:0 11px}.el-segmented__item:not(.is-disabled):not(.is-selected):hover{background:var(--el-segmented-item-hover-bg-color);color:var(--el-segmented-item-hover-color)}.el-segmented__item:not(.is-disabled):not(.is-selected):active{background:var(--el-segmented-item-active-bg-color)}.el-segmented__item.is-selected,.el-segmented__item.is-selected.is-disabled{color:var(--el-segmented-item-selected-color)}.el-segmented__item.is-disabled{color:var(--el-segmented-item-disabled-color);cursor:not-allowed}.el-segmented__item-input{height:0;margin:0;opacity:0;pointer-events:none;position:absolute;width:0}.el-segmented__item-label{flex:1;line-height:normal;overflow:hidden;text-align:center;text-overflow:ellipsis;transition:color .3s;white-space:nowrap;z-index:1}.el-segmented.is-block{display:flex}.el-segmented.is-block .el-segmented__item{min-width:0}.el-segmented--large{border-radius:var(--el-border-radius-base);font-size:16px;min-height:40px}.el-segmented--large .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 2px)}.el-segmented--large .el-segmented--vertical .el-segmented__item{padding:11px}.el-segmented--large .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 2px);padding:0 11px}.el-segmented--small{border-radius:calc(var(--el-border-radius-base) - 1px);font-size:14px;min-height:24px}.el-segmented--small .el-segmented__item-selected{border-radius:calc(var(--el-border-radius-base) - 3px)}.el-segmented--small .el-segmented--vertical .el-segmented__item{padding:7px}.el-segmented--small .el-segmented__item{border-radius:calc(var(--el-border-radius-base) - 3px);padding:0 7px}.el-mention{position:relative;width:100%}.el-mention__popper.el-popper{background:var(--el-bg-color-overlay);box-shadow:var(--el-box-shadow-light)}.el-mention__popper.el-popper,.el-mention__popper.el-popper .el-popper__arrow:before{border:1px solid var(--el-border-color-light)}.el-mention__popper.el-popper[data-popper-placement^=top] .el-popper__arrow:before{border-left-color:transparent;border-top-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before{border-bottom-color:transparent;border-right-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=left] .el-popper__arrow:before{border-bottom-color:transparent;border-left-color:transparent}.el-mention__popper.el-popper[data-popper-placement^=right] .el-popper__arrow:before{border-right-color:transparent;border-top-color:transparent}.el-mention.is-disabled{pointer-events:none}.el-mention-dropdown{--el-mention-font-size:var(--el-font-size-base);--el-mention-bg-color:var(--el-bg-color-overlay);--el-mention-shadow:var(--el-box-shadow-light);--el-mention-border:1px solid var(--el-border-color-light);--el-mention-option-color:var(--el-text-color-regular);--el-mention-option-height:34px;--el-mention-option-min-width:100px;--el-mention-option-hover-background:var(--el-fill-color-light);--el-mention-option-selected-color:var(--el-color-primary);--el-mention-option-disabled-color:var(--el-text-color-placeholder);--el-mention-option-loading-color:var(--el-text-color-secondary);--el-mention-option-loading-padding:10px 0;--el-mention-max-height:174px;--el-mention-padding:6px 0;--el-mention-header-padding:10px;--el-mention-footer-padding:10px}.el-mention-dropdown__item{box-sizing:border-box;color:var(--el-mention-option-color);cursor:pointer;font-size:var(--el-mention-font-size);height:var(--el-mention-option-height);line-height:var(--el-mention-option-height);min-width:var(--el-mention-option-min-width);overflow:hidden;padding:0 20px;position:relative;text-overflow:ellipsis;white-space:nowrap}.el-mention-dropdown__item.is-hovering{background-color:var(--el-mention-option-hover-background)}.el-mention-dropdown__item.is-selected{color:var(--el-mention-option-selected-color);font-weight:bold}.el-mention-dropdown__item.is-disabled{background-color:unset;color:var(--el-mention-option-disabled-color);cursor:not-allowed}.el-mention-dropdown{border-radius:var(--el-border-radius-base);box-sizing:border-box;z-index:calc(var(--el-index-top) + 1)}.el-mention-dropdown__loading{color:var(--el-mention-option-loading-color);font-size:12px;margin:0;min-width:var(--el-mention-option-min-width);padding:10px 0;text-align:center}.el-mention-dropdown__wrap{max-height:var(--el-mention-max-height)}.el-mention-dropdown__list{box-sizing:border-box;list-style:none;margin:0;padding:var(--el-mention-padding)}.el-mention-dropdown__header{border-bottom:var(--el-mention-border);padding:var(--el-mention-header-padding)}.el-mention-dropdown__footer{border-top:var(--el-mention-border);padding:var(--el-mention-footer-padding)}',commonConfig=createForm([{name:"id",type:"hidden"},{name:"type",type:"hidden"},{name:"name",text:"表单key",extra:"字段名"},{name:"text",text:"标签文本",extra:"label 标签的文本"},{name:"labelWidth",text:"标签宽度",extra:'表单域标签的的宽度,例如 "50px"。支持 auto。'},{name:"disabled",text:"是否禁用",type:"switch",defaultValue:!1}]),useFormConfig=n=>{const{contentWindow:e}=n.stage.renderer,t=ref$1(),i=ref$1(),r=ref$1({}),g=ref$1(),y=ref$1(),k=computed$1(()=>{var ie,oe,re,ae;return((oe=(ie=i.value)==null?void 0:ie.items)==null?void 0:oe.find(le=>le.id===g.value))||((ae=(re=i.value)==null?void 0:re.items)==null?void 0:ae[0])}),L=computed$1(()=>{var ie;return n.fillConfig(((ie=k.value)==null?void 0:ie.items)||[],t)});let V=new App$1({ua:e==null?void 0:e.navigator.userAgent,disabledFlexible:!0,platform:"editor"});V.mForm=t;const z=()=>{var ie;initValue((ie=t.value)==null?void 0:ie.formState,{initValues:{},config:L.value}).then(oe=>{r.value=oe})},j=({data:ie})=>{var oe;ie.tmagicRuntimeReady&&((oe=e==null?void 0:e.magic)==null||oe.onRuntimeReady({getApp(){return V},updateRootConfig(re){i.value=re,V==null||V.setConfig(re,g.value)},updatePageId(re){g.value=re,V==null||V.setPage(re)},select(re){var le;y.value=re,V!=null&&V.getPage(re)&&((le=this.updatePageId)==null||le.call(this,re));const ae=getElById()(document,"".concat(re));return ae||nextTick().then(()=>getElById()(document,"".concat(re)))},add({config:re,parentId:ae}){var de,ue,he,pe,Ce;if(!i.value)throw new Error("error");if(!y.value)throw new Error("error");if(!ae)throw new Error("error");const le=getNodePath(ae,[i.value]).pop();if(!le)throw new Error("未找到父节点");if(re.type!=="page"){const $e=(de=V==null?void 0:V.page)==null?void 0:de.getNode(le.id);$e&&((ue=V==null?void 0:V.page)==null||ue.initNode(re,$e))}if(le.id!==y.value){const $e=(he=le.items)==null?void 0:he.findIndex(xe=>xe.id===y.value);(pe=le.items)==null||pe.splice($e+1,0,re)}else(Ce=le.items)==null||Ce.push(re);z()},update({config:re,parentId:ae}){var ue,he;if(!i.value||!V)throw new Error("error");const le=((ue=V.dataSourceManager)==null?void 0:ue.compiledNode(re))||re;replaceChildNode(reactive$1(le),[i.value],ae);const de=(he=V.page)==null?void 0:he.getNode(re.id);de&&de.setData(re),z()},remove({id:re,parentId:ae}){var he,pe;if(!i.value)throw new Error("error");const le=getNodePath(re,[i.value]).pop();if(!le)throw new Error("未找到目标元素");const de=getNodePath(ae,[i.value]).pop();if(!de)throw new Error("未找到父元素");le.type==="page"?V==null||V.deletePage():(he=V==null?void 0:V.page)==null||he.deleteNode(le.id);const ue=(pe=de.items)==null?void 0:pe.findIndex(Ce=>Ce.id===le.id);de.items.splice(ue,1),z()}}))};return e==null||e.addEventListener("message",j),onBeforeUnmount(()=>{V==null||V.destroy(),V=void 0,e==null||e.removeEventListener("message",j)}),{mForm:t,config:k,formConfig:L,values:r}},_sfc_main$2=defineComponent({__name:"App",props:{stage:{},fillConfig:{type:Function}},setup(n){const e=n,{mForm:t,formConfig:i,config:r,values:g}=useFormConfig(e);return watch(i,async()=>{setTimeout(()=>{var k,L,V,z;const y=(L=(k=e.stage.renderer)==null?void 0:k.getDocument())==null?void 0:L.querySelector(".m-form");y&&((z=(V=e.stage.renderer)==null?void 0:V.contentWindow)==null||z.magic.onPageElUpdate(y))})}),(y,k)=>{var L,V;return openBlock(),createBlock(unref(_sfc_main$3v),{ref_key:"mForm",ref:t,key:(L=unref(r))==null?void 0:L.id,"data-tmagic-id":(V=unref(r))==null?void 0:V.id,config:unref(i),"init-values":unref(g)},null,8,["data-tmagic-id","config","init-values"])}}}),checkbox=createForm([{name:"activeValue",text:"选中时的值",defaultValue:!0},{name:"inactiveValue",text:"没有选中时的值",defaultValue:!1}]),display=createForm([]),number=createForm([{type:"number",name:"min",text:"最小值"},{type:"number",name:"max",text:"最大值"},{type:"number",name:"step",text:"步数"},{name:"placeholder",text:"placeholder"}]),switchConfig=createForm([]),text=createForm([{name:"placeholder",text:"placeholder"},{name:"append",legend:"后置按钮",type:"fieldset",labelWidth:"80px",checkbox:!0,expand:!0,items:[{name:"type",type:"hidden",defaultValue:"button"},{name:"text",text:"按钮文案"},{name:"handler",type:"vs-code",height:"400px",text:"点击"}]}]),configs={text,checkbox,display,number,switch:switchConfig},COMPONENT_GROUP_LIST=[{title:"容器",items:[{text:"普通容器",type:"container",data:{items:[]}},{text:"表格",type:"table",data:{items:[]}},{text:"组列表",type:"group-list",data:{items:[]}},{text:"面板",type:"panel",data:{items:[]}},{text:"行",type:"row",data:{items:[]}}]},{title:"表单组件",items:[{text:"输入框",type:"text",data:{text:"输入框",name:"text"}},{text:"数字输入框",type:"number",data:{text:"数字输入框",name:"number"}},{text:"文本域",type:"textarea",data:{text:"文本域",name:"textarea"}},{text:"链接",type:"link",data:{text:"链接",name:"link"}},{text:"日期",type:"datetime",data:{text:"日期",name:"datetime"}},{text:"时间",type:"time",data:{text:"时间",name:"time"}},{text:"选中器",type:"select",data:{text:"选中器",name:"select"}},{text:"级联选择器",type:"cascader",data:{text:"级联选择器",name:"cascader"}},{text:"开关",type:"switch",data:{text:"开关",name:"switch"}},{text:"多选框",type:"checkbox",data:{text:"多选框",name:"checkbox"}},{text:"多选组",type:"checkboxGroup",data:{text:"多选组",name:"checkboxGroup"}},{text:"单选框",type:"radio",data:{text:"单选框",name:"radio"}},{text:"单选组",type:"radioGroup",data:{text:"单选组",name:"radioGroup"}},{text:"取色器",type:"colorPicker",data:{text:"取色器",name:"colorPicker"}}]}],propsConfigs=configs,useRuntime=({plugins:n=[],fillConfig:e=t=>t}={})=>{const t=i=>{var k;const r=(k=i.renderer)==null?void 0:k.getDocument();r&&(injectStyle$1(r,cssStyle),injectStyle$1(r,"html,\n body,\n #app {\n width: 100%;\n height: 100%;\n margin: 0;\n }\n ::-webkit-scrollbar {\n width: 0;\n }\n "));const g=globalThis.document.createElement("div");g.id="app",g.style.overflow="auto";const y=createApp(_sfc_main$2,{stage:i,fillConfig:e});return y.use(formPlugin),n.forEach(L=>y.use(L)),y.mount(g),setTimeout(()=>{uiService.set("showRule",!1)}),g};return propsService.usePlugin({async afterFillConfig(i,r,g="80px"){return[{type:"tab",items:[{title:"属性",labelWidth:g,items:[...commonConfig,...r]}]}]}}),editorService.usePlugin({async afterGetLayout(){return Layout.RELATIVE}}),onBeforeUnmount(()=>{propsService.removeAllPlugins(),editorService.removeAllPlugins()}),{render:t}},_sfc_main$1=defineComponent({__name:"FormEditor",setup(n){formDsl.forEach(y=>{traverseNode(y,k=>{k.type=k.type||(k.items?"container":"text"),k.id="".concat(k.type,"_").concat(guid()),k.style={left:0,top:0,position:"relative"}})});const e=ref$1({type:NodeType.ROOT,id:"app_form",items:[]}),{render:t}=useRuntime(),i=useRouter(),r={left:[{type:"text",text:"魔方"}],center:["delete","undo","redo","zoom"],right:[{type:"button",text:"Editor Playground",handler:()=>i.push("/")},{type:"button",text:"Form Playground",handler:()=>i.push("form")},{type:"button",text:"Table Playground",handler:()=>i.push("table")},"/",{type:"button",icon:document_default$1,tooltip:"源码",handler:y=>y==null?void 0:y.uiService.set("showSrc",!(y!=null&&y.uiService.get("showSrc")))}]},g={type:"tabs",status:"组件",items:["component-list","layer"]};return(y,k)=>(openBlock(),createBlock(unref(_sfc_main$1E),{modelValue:e.value,"onUpdate:modelValue":k[0]||(k[0]=L=>e.value=L),menu:r,sidebar:g,"component-group-list":unref(COMPONENT_GROUP_LIST),"props-configs":unref(propsConfigs),render:unref(t),"disabled-page-fragment":!0,"disabled-stage-overlay":!0,"stage-rect":{width:"calc(100% - 70px)",height:"100%"},"moveable-options":{resizable:!1}},{"layer-node-label":withCtx(({data:L})=>[createTextVNode(toDisplayString(L.text||L.name||"container"),1)]),_:1},8,["modelValue","component-group-list","props-configs","render"]))}}),_hoisted_1={style:{width:"100%"}},_hoisted_2={class:"table-content"},_sfc_main=defineComponent({__name:"Table",setup(__props){const router=useRouter(),columns=ref$1([{type:"expand",prop:"b",table:[{prop:"a",label:"1"}]},{prop:"a",label:"1231"}]),data=ref$1([{a:"a1",b:[{a:1}]}]),menu=[{type:"button",text:"Editor Playground",handler:()=>router.push("/")},{type:"button",text:"Form Editor Playground",handler:()=>router.push("form-editor")},{type:"button",text:"Form Playground",handler:()=>router.push("form")}];function change(value){try{columns.value=eval(value),tMagicMessage.success("更新成功")}catch(n){tMagicMessage.error(n.message)}}function changeData(value){try{data.value=eval(value),tMagicMessage.success("更新成功")}catch(n){tMagicMessage.error(n.message)}}return(n,e)=>(openBlock(),createElementBlock("div",_hoisted_1,[createVNode(NavMenu,{data:menu}),createBaseVNode("div",_hoisted_2,[createVNode(unref(_sfc_main$34),{class:"left-panel",columns:columns.value,data:data.value,"show-header":!0},null,8,["columns","data"]),createVNode(unref(_sfc_main$3U),{class:"right-panel",modelValue:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$3V),{label:"columns",name:"columns"},{default:withCtx(()=>[createVNode(unref(_sfc_main$32),{class:"code-editor-content","init-values":columns.value,onSave:change},null,8,["init-values"])]),_:1}),createVNode(unref(_sfc_main$3V),{label:"data",name:"data"},{default:withCtx(()=>[createVNode(unref(_sfc_main$32),{class:"code-editor-content","init-values":data.value,onSave:changeData},null,8,["init-values"])]),_:1})]),_:1})])]))}}),routes=[{path:"/",component:_sfc_main$5},{path:"/form",component:_sfc_main$3},{path:"/form-editor",component:_sfc_main$1},{path:"/table",component:_sfc_main}],router=createRouter({history:createWebHashHistory(),routes});globalThis.MonacoEnvironment={getWorker(n,e){return e==="json"?new WorkerWrapper$2:e==="css"||e==="scss"||e==="less"?new WorkerWrapper$4:e==="html"||e==="handlebars"||e==="razor"?new WorkerWrapper$3:e==="typescript"||e==="javascript"?new WorkerWrapper$1:new WorkerWrapper$5}};languages$1.typescript.typescriptDefaults.setEagerModelSync(!0);const app=createApp(App);app.use(router);app.use(editorPlugin,adapter);app.mount("#app");export{__vite_legacy_guard,monaco_editor_core_star as a,typescriptDefaults as b,monaco_editor_core_star$1 as m,typescriptDefaults$1 as t}; //# sourceMappingURL=index-Uf_psesi.js.map